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/satori/go.uuid"
29	"net/http"
30)
31
32// The package's fully qualified name.
33const fqdn = "github.com/Azure/azure-sdk-for-go/services/datafactory/mgmt/2018-06-01/datafactory"
34
35// AuthenticationType enumerates the values for authentication type.
36type AuthenticationType string
37
38const (
39	// AuthenticationTypeAnonymous ...
40	AuthenticationTypeAnonymous AuthenticationType = "Anonymous"
41	// AuthenticationTypeBasic ...
42	AuthenticationTypeBasic AuthenticationType = "Basic"
43	// AuthenticationTypeClientCertificate ...
44	AuthenticationTypeClientCertificate AuthenticationType = "ClientCertificate"
45	// AuthenticationTypeWebLinkedServiceTypeProperties ...
46	AuthenticationTypeWebLinkedServiceTypeProperties AuthenticationType = "WebLinkedServiceTypeProperties"
47)
48
49// PossibleAuthenticationTypeValues returns an array of possible values for the AuthenticationType const type.
50func PossibleAuthenticationTypeValues() []AuthenticationType {
51	return []AuthenticationType{AuthenticationTypeAnonymous, AuthenticationTypeBasic, AuthenticationTypeClientCertificate, AuthenticationTypeWebLinkedServiceTypeProperties}
52}
53
54// AuthorizationType enumerates the values for authorization type.
55type AuthorizationType string
56
57const (
58	// AuthorizationTypeKey ...
59	AuthorizationTypeKey AuthorizationType = "Key"
60	// AuthorizationTypeLinkedIntegrationRuntimeType ...
61	AuthorizationTypeLinkedIntegrationRuntimeType AuthorizationType = "LinkedIntegrationRuntimeType"
62	// AuthorizationTypeRBAC ...
63	AuthorizationTypeRBAC AuthorizationType = "RBAC"
64)
65
66// PossibleAuthorizationTypeValues returns an array of possible values for the AuthorizationType const type.
67func PossibleAuthorizationTypeValues() []AuthorizationType {
68	return []AuthorizationType{AuthorizationTypeKey, AuthorizationTypeLinkedIntegrationRuntimeType, AuthorizationTypeRBAC}
69}
70
71// AzureFunctionActivityMethod enumerates the values for azure function activity method.
72type AzureFunctionActivityMethod string
73
74const (
75	// DELETE ...
76	DELETE AzureFunctionActivityMethod = "DELETE"
77	// GET ...
78	GET AzureFunctionActivityMethod = "GET"
79	// HEAD ...
80	HEAD AzureFunctionActivityMethod = "HEAD"
81	// OPTIONS ...
82	OPTIONS AzureFunctionActivityMethod = "OPTIONS"
83	// POST ...
84	POST AzureFunctionActivityMethod = "POST"
85	// PUT ...
86	PUT AzureFunctionActivityMethod = "PUT"
87	// TRACE ...
88	TRACE AzureFunctionActivityMethod = "TRACE"
89)
90
91// PossibleAzureFunctionActivityMethodValues returns an array of possible values for the AzureFunctionActivityMethod const type.
92func PossibleAzureFunctionActivityMethodValues() []AzureFunctionActivityMethod {
93	return []AzureFunctionActivityMethod{DELETE, GET, HEAD, OPTIONS, POST, PUT, TRACE}
94}
95
96// AzureSearchIndexWriteBehaviorType enumerates the values for azure search index write behavior type.
97type AzureSearchIndexWriteBehaviorType string
98
99const (
100	// Merge ...
101	Merge AzureSearchIndexWriteBehaviorType = "Merge"
102	// Upload ...
103	Upload AzureSearchIndexWriteBehaviorType = "Upload"
104)
105
106// PossibleAzureSearchIndexWriteBehaviorTypeValues returns an array of possible values for the AzureSearchIndexWriteBehaviorType const type.
107func PossibleAzureSearchIndexWriteBehaviorTypeValues() []AzureSearchIndexWriteBehaviorType {
108	return []AzureSearchIndexWriteBehaviorType{Merge, Upload}
109}
110
111// BlobEventTypes enumerates the values for blob event types.
112type BlobEventTypes string
113
114const (
115	// MicrosoftStorageBlobCreated ...
116	MicrosoftStorageBlobCreated BlobEventTypes = "Microsoft.Storage.BlobCreated"
117	// MicrosoftStorageBlobDeleted ...
118	MicrosoftStorageBlobDeleted BlobEventTypes = "Microsoft.Storage.BlobDeleted"
119)
120
121// PossibleBlobEventTypesValues returns an array of possible values for the BlobEventTypes const type.
122func PossibleBlobEventTypesValues() []BlobEventTypes {
123	return []BlobEventTypes{MicrosoftStorageBlobCreated, MicrosoftStorageBlobDeleted}
124}
125
126// CassandraSourceReadConsistencyLevels enumerates the values for cassandra source read consistency levels.
127type CassandraSourceReadConsistencyLevels string
128
129const (
130	// ALL ...
131	ALL CassandraSourceReadConsistencyLevels = "ALL"
132	// EACHQUORUM ...
133	EACHQUORUM CassandraSourceReadConsistencyLevels = "EACH_QUORUM"
134	// LOCALONE ...
135	LOCALONE CassandraSourceReadConsistencyLevels = "LOCAL_ONE"
136	// LOCALQUORUM ...
137	LOCALQUORUM CassandraSourceReadConsistencyLevels = "LOCAL_QUORUM"
138	// LOCALSERIAL ...
139	LOCALSERIAL CassandraSourceReadConsistencyLevels = "LOCAL_SERIAL"
140	// ONE ...
141	ONE CassandraSourceReadConsistencyLevels = "ONE"
142	// QUORUM ...
143	QUORUM CassandraSourceReadConsistencyLevels = "QUORUM"
144	// SERIAL ...
145	SERIAL CassandraSourceReadConsistencyLevels = "SERIAL"
146	// THREE ...
147	THREE CassandraSourceReadConsistencyLevels = "THREE"
148	// TWO ...
149	TWO CassandraSourceReadConsistencyLevels = "TWO"
150)
151
152// PossibleCassandraSourceReadConsistencyLevelsValues returns an array of possible values for the CassandraSourceReadConsistencyLevels const type.
153func PossibleCassandraSourceReadConsistencyLevelsValues() []CassandraSourceReadConsistencyLevels {
154	return []CassandraSourceReadConsistencyLevels{ALL, EACHQUORUM, LOCALONE, LOCALQUORUM, LOCALSERIAL, ONE, QUORUM, SERIAL, THREE, TWO}
155}
156
157// DayOfWeek enumerates the values for day of week.
158type DayOfWeek string
159
160const (
161	// Friday ...
162	Friday DayOfWeek = "Friday"
163	// Monday ...
164	Monday DayOfWeek = "Monday"
165	// Saturday ...
166	Saturday DayOfWeek = "Saturday"
167	// Sunday ...
168	Sunday DayOfWeek = "Sunday"
169	// Thursday ...
170	Thursday DayOfWeek = "Thursday"
171	// Tuesday ...
172	Tuesday DayOfWeek = "Tuesday"
173	// Wednesday ...
174	Wednesday DayOfWeek = "Wednesday"
175)
176
177// PossibleDayOfWeekValues returns an array of possible values for the DayOfWeek const type.
178func PossibleDayOfWeekValues() []DayOfWeek {
179	return []DayOfWeek{Friday, Monday, Saturday, Sunday, Thursday, Tuesday, Wednesday}
180}
181
182// DaysOfWeek enumerates the values for days of week.
183type DaysOfWeek string
184
185const (
186	// DaysOfWeekFriday ...
187	DaysOfWeekFriday DaysOfWeek = "Friday"
188	// DaysOfWeekMonday ...
189	DaysOfWeekMonday DaysOfWeek = "Monday"
190	// DaysOfWeekSaturday ...
191	DaysOfWeekSaturday DaysOfWeek = "Saturday"
192	// DaysOfWeekSunday ...
193	DaysOfWeekSunday DaysOfWeek = "Sunday"
194	// DaysOfWeekThursday ...
195	DaysOfWeekThursday DaysOfWeek = "Thursday"
196	// DaysOfWeekTuesday ...
197	DaysOfWeekTuesday DaysOfWeek = "Tuesday"
198	// DaysOfWeekWednesday ...
199	DaysOfWeekWednesday DaysOfWeek = "Wednesday"
200)
201
202// PossibleDaysOfWeekValues returns an array of possible values for the DaysOfWeek const type.
203func PossibleDaysOfWeekValues() []DaysOfWeek {
204	return []DaysOfWeek{DaysOfWeekFriday, DaysOfWeekMonday, DaysOfWeekSaturday, DaysOfWeekSunday, DaysOfWeekThursday, DaysOfWeekTuesday, DaysOfWeekWednesday}
205}
206
207// Db2AuthenticationType enumerates the values for db 2 authentication type.
208type Db2AuthenticationType string
209
210const (
211	// Basic ...
212	Basic Db2AuthenticationType = "Basic"
213)
214
215// PossibleDb2AuthenticationTypeValues returns an array of possible values for the Db2AuthenticationType const type.
216func PossibleDb2AuthenticationTypeValues() []Db2AuthenticationType {
217	return []Db2AuthenticationType{Basic}
218}
219
220// DependencyCondition enumerates the values for dependency condition.
221type DependencyCondition string
222
223const (
224	// Completed ...
225	Completed DependencyCondition = "Completed"
226	// Failed ...
227	Failed DependencyCondition = "Failed"
228	// Skipped ...
229	Skipped DependencyCondition = "Skipped"
230	// Succeeded ...
231	Succeeded DependencyCondition = "Succeeded"
232)
233
234// PossibleDependencyConditionValues returns an array of possible values for the DependencyCondition const type.
235func PossibleDependencyConditionValues() []DependencyCondition {
236	return []DependencyCondition{Completed, Failed, Skipped, Succeeded}
237}
238
239// DynamicsAuthenticationType enumerates the values for dynamics authentication type.
240type DynamicsAuthenticationType string
241
242const (
243	// Ifd ...
244	Ifd DynamicsAuthenticationType = "Ifd"
245	// Office365 ...
246	Office365 DynamicsAuthenticationType = "Office365"
247)
248
249// PossibleDynamicsAuthenticationTypeValues returns an array of possible values for the DynamicsAuthenticationType const type.
250func PossibleDynamicsAuthenticationTypeValues() []DynamicsAuthenticationType {
251	return []DynamicsAuthenticationType{Ifd, Office365}
252}
253
254// DynamicsDeploymentType enumerates the values for dynamics deployment type.
255type DynamicsDeploymentType string
256
257const (
258	// Online ...
259	Online DynamicsDeploymentType = "Online"
260	// OnPremisesWithIfd ...
261	OnPremisesWithIfd DynamicsDeploymentType = "OnPremisesWithIfd"
262)
263
264// PossibleDynamicsDeploymentTypeValues returns an array of possible values for the DynamicsDeploymentType const type.
265func PossibleDynamicsDeploymentTypeValues() []DynamicsDeploymentType {
266	return []DynamicsDeploymentType{Online, OnPremisesWithIfd}
267}
268
269// FtpAuthenticationType enumerates the values for ftp authentication type.
270type FtpAuthenticationType string
271
272const (
273	// FtpAuthenticationTypeAnonymous ...
274	FtpAuthenticationTypeAnonymous FtpAuthenticationType = "Anonymous"
275	// FtpAuthenticationTypeBasic ...
276	FtpAuthenticationTypeBasic FtpAuthenticationType = "Basic"
277)
278
279// PossibleFtpAuthenticationTypeValues returns an array of possible values for the FtpAuthenticationType const type.
280func PossibleFtpAuthenticationTypeValues() []FtpAuthenticationType {
281	return []FtpAuthenticationType{FtpAuthenticationTypeAnonymous, FtpAuthenticationTypeBasic}
282}
283
284// GoogleAdWordsAuthenticationType enumerates the values for google ad words authentication type.
285type GoogleAdWordsAuthenticationType string
286
287const (
288	// ServiceAuthentication ...
289	ServiceAuthentication GoogleAdWordsAuthenticationType = "ServiceAuthentication"
290	// UserAuthentication ...
291	UserAuthentication GoogleAdWordsAuthenticationType = "UserAuthentication"
292)
293
294// PossibleGoogleAdWordsAuthenticationTypeValues returns an array of possible values for the GoogleAdWordsAuthenticationType const type.
295func PossibleGoogleAdWordsAuthenticationTypeValues() []GoogleAdWordsAuthenticationType {
296	return []GoogleAdWordsAuthenticationType{ServiceAuthentication, UserAuthentication}
297}
298
299// GoogleBigQueryAuthenticationType enumerates the values for google big query authentication type.
300type GoogleBigQueryAuthenticationType string
301
302const (
303	// GoogleBigQueryAuthenticationTypeServiceAuthentication ...
304	GoogleBigQueryAuthenticationTypeServiceAuthentication GoogleBigQueryAuthenticationType = "ServiceAuthentication"
305	// GoogleBigQueryAuthenticationTypeUserAuthentication ...
306	GoogleBigQueryAuthenticationTypeUserAuthentication GoogleBigQueryAuthenticationType = "UserAuthentication"
307)
308
309// PossibleGoogleBigQueryAuthenticationTypeValues returns an array of possible values for the GoogleBigQueryAuthenticationType const type.
310func PossibleGoogleBigQueryAuthenticationTypeValues() []GoogleBigQueryAuthenticationType {
311	return []GoogleBigQueryAuthenticationType{GoogleBigQueryAuthenticationTypeServiceAuthentication, GoogleBigQueryAuthenticationTypeUserAuthentication}
312}
313
314// HBaseAuthenticationType enumerates the values for h base authentication type.
315type HBaseAuthenticationType string
316
317const (
318	// HBaseAuthenticationTypeAnonymous ...
319	HBaseAuthenticationTypeAnonymous HBaseAuthenticationType = "Anonymous"
320	// HBaseAuthenticationTypeBasic ...
321	HBaseAuthenticationTypeBasic HBaseAuthenticationType = "Basic"
322)
323
324// PossibleHBaseAuthenticationTypeValues returns an array of possible values for the HBaseAuthenticationType const type.
325func PossibleHBaseAuthenticationTypeValues() []HBaseAuthenticationType {
326	return []HBaseAuthenticationType{HBaseAuthenticationTypeAnonymous, HBaseAuthenticationTypeBasic}
327}
328
329// HDInsightActivityDebugInfoOption enumerates the values for hd insight activity debug info option.
330type HDInsightActivityDebugInfoOption string
331
332const (
333	// Always ...
334	Always HDInsightActivityDebugInfoOption = "Always"
335	// Failure ...
336	Failure HDInsightActivityDebugInfoOption = "Failure"
337	// None ...
338	None HDInsightActivityDebugInfoOption = "None"
339)
340
341// PossibleHDInsightActivityDebugInfoOptionValues returns an array of possible values for the HDInsightActivityDebugInfoOption const type.
342func PossibleHDInsightActivityDebugInfoOptionValues() []HDInsightActivityDebugInfoOption {
343	return []HDInsightActivityDebugInfoOption{Always, Failure, None}
344}
345
346// HiveAuthenticationType enumerates the values for hive authentication type.
347type HiveAuthenticationType string
348
349const (
350	// Anonymous ...
351	Anonymous HiveAuthenticationType = "Anonymous"
352	// Username ...
353	Username HiveAuthenticationType = "Username"
354	// UsernameAndPassword ...
355	UsernameAndPassword HiveAuthenticationType = "UsernameAndPassword"
356	// WindowsAzureHDInsightService ...
357	WindowsAzureHDInsightService HiveAuthenticationType = "WindowsAzureHDInsightService"
358)
359
360// PossibleHiveAuthenticationTypeValues returns an array of possible values for the HiveAuthenticationType const type.
361func PossibleHiveAuthenticationTypeValues() []HiveAuthenticationType {
362	return []HiveAuthenticationType{Anonymous, Username, UsernameAndPassword, WindowsAzureHDInsightService}
363}
364
365// HiveServerType enumerates the values for hive server type.
366type HiveServerType string
367
368const (
369	// HiveServer1 ...
370	HiveServer1 HiveServerType = "HiveServer1"
371	// HiveServer2 ...
372	HiveServer2 HiveServerType = "HiveServer2"
373	// HiveThriftServer ...
374	HiveThriftServer HiveServerType = "HiveThriftServer"
375)
376
377// PossibleHiveServerTypeValues returns an array of possible values for the HiveServerType const type.
378func PossibleHiveServerTypeValues() []HiveServerType {
379	return []HiveServerType{HiveServer1, HiveServer2, HiveThriftServer}
380}
381
382// HiveThriftTransportProtocol enumerates the values for hive thrift transport protocol.
383type HiveThriftTransportProtocol string
384
385const (
386	// Binary ...
387	Binary HiveThriftTransportProtocol = "Binary"
388	// HTTP ...
389	HTTP HiveThriftTransportProtocol = "HTTP "
390	// SASL ...
391	SASL HiveThriftTransportProtocol = "SASL"
392)
393
394// PossibleHiveThriftTransportProtocolValues returns an array of possible values for the HiveThriftTransportProtocol const type.
395func PossibleHiveThriftTransportProtocolValues() []HiveThriftTransportProtocol {
396	return []HiveThriftTransportProtocol{Binary, HTTP, SASL}
397}
398
399// HTTPAuthenticationType enumerates the values for http authentication type.
400type HTTPAuthenticationType string
401
402const (
403	// HTTPAuthenticationTypeAnonymous ...
404	HTTPAuthenticationTypeAnonymous HTTPAuthenticationType = "Anonymous"
405	// HTTPAuthenticationTypeBasic ...
406	HTTPAuthenticationTypeBasic HTTPAuthenticationType = "Basic"
407	// HTTPAuthenticationTypeClientCertificate ...
408	HTTPAuthenticationTypeClientCertificate HTTPAuthenticationType = "ClientCertificate"
409	// HTTPAuthenticationTypeDigest ...
410	HTTPAuthenticationTypeDigest HTTPAuthenticationType = "Digest"
411	// HTTPAuthenticationTypeWindows ...
412	HTTPAuthenticationTypeWindows HTTPAuthenticationType = "Windows"
413)
414
415// PossibleHTTPAuthenticationTypeValues returns an array of possible values for the HTTPAuthenticationType const type.
416func PossibleHTTPAuthenticationTypeValues() []HTTPAuthenticationType {
417	return []HTTPAuthenticationType{HTTPAuthenticationTypeAnonymous, HTTPAuthenticationTypeBasic, HTTPAuthenticationTypeClientCertificate, HTTPAuthenticationTypeDigest, HTTPAuthenticationTypeWindows}
418}
419
420// ImpalaAuthenticationType enumerates the values for impala authentication type.
421type ImpalaAuthenticationType string
422
423const (
424	// ImpalaAuthenticationTypeAnonymous ...
425	ImpalaAuthenticationTypeAnonymous ImpalaAuthenticationType = "Anonymous"
426	// ImpalaAuthenticationTypeSASLUsername ...
427	ImpalaAuthenticationTypeSASLUsername ImpalaAuthenticationType = "SASLUsername"
428	// ImpalaAuthenticationTypeUsernameAndPassword ...
429	ImpalaAuthenticationTypeUsernameAndPassword ImpalaAuthenticationType = "UsernameAndPassword"
430)
431
432// PossibleImpalaAuthenticationTypeValues returns an array of possible values for the ImpalaAuthenticationType const type.
433func PossibleImpalaAuthenticationTypeValues() []ImpalaAuthenticationType {
434	return []ImpalaAuthenticationType{ImpalaAuthenticationTypeAnonymous, ImpalaAuthenticationTypeSASLUsername, ImpalaAuthenticationTypeUsernameAndPassword}
435}
436
437// IntegrationRuntimeAuthKeyName enumerates the values for integration runtime auth key name.
438type IntegrationRuntimeAuthKeyName string
439
440const (
441	// AuthKey1 ...
442	AuthKey1 IntegrationRuntimeAuthKeyName = "authKey1"
443	// AuthKey2 ...
444	AuthKey2 IntegrationRuntimeAuthKeyName = "authKey2"
445)
446
447// PossibleIntegrationRuntimeAuthKeyNameValues returns an array of possible values for the IntegrationRuntimeAuthKeyName const type.
448func PossibleIntegrationRuntimeAuthKeyNameValues() []IntegrationRuntimeAuthKeyName {
449	return []IntegrationRuntimeAuthKeyName{AuthKey1, AuthKey2}
450}
451
452// IntegrationRuntimeAutoUpdate enumerates the values for integration runtime auto update.
453type IntegrationRuntimeAutoUpdate string
454
455const (
456	// Off ...
457	Off IntegrationRuntimeAutoUpdate = "Off"
458	// On ...
459	On IntegrationRuntimeAutoUpdate = "On"
460)
461
462// PossibleIntegrationRuntimeAutoUpdateValues returns an array of possible values for the IntegrationRuntimeAutoUpdate const type.
463func PossibleIntegrationRuntimeAutoUpdateValues() []IntegrationRuntimeAutoUpdate {
464	return []IntegrationRuntimeAutoUpdate{Off, On}
465}
466
467// IntegrationRuntimeEdition enumerates the values for integration runtime edition.
468type IntegrationRuntimeEdition string
469
470const (
471	// Enterprise ...
472	Enterprise IntegrationRuntimeEdition = "Enterprise"
473	// Standard ...
474	Standard IntegrationRuntimeEdition = "Standard"
475)
476
477// PossibleIntegrationRuntimeEditionValues returns an array of possible values for the IntegrationRuntimeEdition const type.
478func PossibleIntegrationRuntimeEditionValues() []IntegrationRuntimeEdition {
479	return []IntegrationRuntimeEdition{Enterprise, Standard}
480}
481
482// IntegrationRuntimeEntityReferenceType enumerates the values for integration runtime entity reference type.
483type IntegrationRuntimeEntityReferenceType string
484
485const (
486	// IntegrationRuntimeEntityReferenceTypeIntegrationRuntimeReference ...
487	IntegrationRuntimeEntityReferenceTypeIntegrationRuntimeReference IntegrationRuntimeEntityReferenceType = "IntegrationRuntimeReference"
488	// IntegrationRuntimeEntityReferenceTypeLinkedServiceReference ...
489	IntegrationRuntimeEntityReferenceTypeLinkedServiceReference IntegrationRuntimeEntityReferenceType = "LinkedServiceReference"
490)
491
492// PossibleIntegrationRuntimeEntityReferenceTypeValues returns an array of possible values for the IntegrationRuntimeEntityReferenceType const type.
493func PossibleIntegrationRuntimeEntityReferenceTypeValues() []IntegrationRuntimeEntityReferenceType {
494	return []IntegrationRuntimeEntityReferenceType{IntegrationRuntimeEntityReferenceTypeIntegrationRuntimeReference, IntegrationRuntimeEntityReferenceTypeLinkedServiceReference}
495}
496
497// IntegrationRuntimeInternalChannelEncryptionMode enumerates the values for integration runtime internal
498// channel encryption mode.
499type IntegrationRuntimeInternalChannelEncryptionMode string
500
501const (
502	// NotEncrypted ...
503	NotEncrypted IntegrationRuntimeInternalChannelEncryptionMode = "NotEncrypted"
504	// NotSet ...
505	NotSet IntegrationRuntimeInternalChannelEncryptionMode = "NotSet"
506	// SslEncrypted ...
507	SslEncrypted IntegrationRuntimeInternalChannelEncryptionMode = "SslEncrypted"
508)
509
510// PossibleIntegrationRuntimeInternalChannelEncryptionModeValues returns an array of possible values for the IntegrationRuntimeInternalChannelEncryptionMode const type.
511func PossibleIntegrationRuntimeInternalChannelEncryptionModeValues() []IntegrationRuntimeInternalChannelEncryptionMode {
512	return []IntegrationRuntimeInternalChannelEncryptionMode{NotEncrypted, NotSet, SslEncrypted}
513}
514
515// IntegrationRuntimeLicenseType enumerates the values for integration runtime license type.
516type IntegrationRuntimeLicenseType string
517
518const (
519	// BasePrice ...
520	BasePrice IntegrationRuntimeLicenseType = "BasePrice"
521	// LicenseIncluded ...
522	LicenseIncluded IntegrationRuntimeLicenseType = "LicenseIncluded"
523)
524
525// PossibleIntegrationRuntimeLicenseTypeValues returns an array of possible values for the IntegrationRuntimeLicenseType const type.
526func PossibleIntegrationRuntimeLicenseTypeValues() []IntegrationRuntimeLicenseType {
527	return []IntegrationRuntimeLicenseType{BasePrice, LicenseIncluded}
528}
529
530// IntegrationRuntimeSsisCatalogPricingTier enumerates the values for integration runtime ssis catalog pricing
531// tier.
532type IntegrationRuntimeSsisCatalogPricingTier string
533
534const (
535	// IntegrationRuntimeSsisCatalogPricingTierBasic ...
536	IntegrationRuntimeSsisCatalogPricingTierBasic IntegrationRuntimeSsisCatalogPricingTier = "Basic"
537	// IntegrationRuntimeSsisCatalogPricingTierPremium ...
538	IntegrationRuntimeSsisCatalogPricingTierPremium IntegrationRuntimeSsisCatalogPricingTier = "Premium"
539	// IntegrationRuntimeSsisCatalogPricingTierPremiumRS ...
540	IntegrationRuntimeSsisCatalogPricingTierPremiumRS IntegrationRuntimeSsisCatalogPricingTier = "PremiumRS"
541	// IntegrationRuntimeSsisCatalogPricingTierStandard ...
542	IntegrationRuntimeSsisCatalogPricingTierStandard IntegrationRuntimeSsisCatalogPricingTier = "Standard"
543)
544
545// PossibleIntegrationRuntimeSsisCatalogPricingTierValues returns an array of possible values for the IntegrationRuntimeSsisCatalogPricingTier const type.
546func PossibleIntegrationRuntimeSsisCatalogPricingTierValues() []IntegrationRuntimeSsisCatalogPricingTier {
547	return []IntegrationRuntimeSsisCatalogPricingTier{IntegrationRuntimeSsisCatalogPricingTierBasic, IntegrationRuntimeSsisCatalogPricingTierPremium, IntegrationRuntimeSsisCatalogPricingTierPremiumRS, IntegrationRuntimeSsisCatalogPricingTierStandard}
548}
549
550// IntegrationRuntimeState enumerates the values for integration runtime state.
551type IntegrationRuntimeState string
552
553const (
554	// IntegrationRuntimeStateAccessDenied ...
555	IntegrationRuntimeStateAccessDenied IntegrationRuntimeState = "AccessDenied"
556	// IntegrationRuntimeStateInitial ...
557	IntegrationRuntimeStateInitial IntegrationRuntimeState = "Initial"
558	// IntegrationRuntimeStateLimited ...
559	IntegrationRuntimeStateLimited IntegrationRuntimeState = "Limited"
560	// IntegrationRuntimeStateNeedRegistration ...
561	IntegrationRuntimeStateNeedRegistration IntegrationRuntimeState = "NeedRegistration"
562	// IntegrationRuntimeStateOffline ...
563	IntegrationRuntimeStateOffline IntegrationRuntimeState = "Offline"
564	// IntegrationRuntimeStateOnline ...
565	IntegrationRuntimeStateOnline IntegrationRuntimeState = "Online"
566	// IntegrationRuntimeStateStarted ...
567	IntegrationRuntimeStateStarted IntegrationRuntimeState = "Started"
568	// IntegrationRuntimeStateStarting ...
569	IntegrationRuntimeStateStarting IntegrationRuntimeState = "Starting"
570	// IntegrationRuntimeStateStopped ...
571	IntegrationRuntimeStateStopped IntegrationRuntimeState = "Stopped"
572	// IntegrationRuntimeStateStopping ...
573	IntegrationRuntimeStateStopping IntegrationRuntimeState = "Stopping"
574)
575
576// PossibleIntegrationRuntimeStateValues returns an array of possible values for the IntegrationRuntimeState const type.
577func PossibleIntegrationRuntimeStateValues() []IntegrationRuntimeState {
578	return []IntegrationRuntimeState{IntegrationRuntimeStateAccessDenied, IntegrationRuntimeStateInitial, IntegrationRuntimeStateLimited, IntegrationRuntimeStateNeedRegistration, IntegrationRuntimeStateOffline, IntegrationRuntimeStateOnline, IntegrationRuntimeStateStarted, IntegrationRuntimeStateStarting, IntegrationRuntimeStateStopped, IntegrationRuntimeStateStopping}
579}
580
581// IntegrationRuntimeType enumerates the values for integration runtime type.
582type IntegrationRuntimeType string
583
584const (
585	// Managed ...
586	Managed IntegrationRuntimeType = "Managed"
587	// SelfHosted ...
588	SelfHosted IntegrationRuntimeType = "SelfHosted"
589)
590
591// PossibleIntegrationRuntimeTypeValues returns an array of possible values for the IntegrationRuntimeType const type.
592func PossibleIntegrationRuntimeTypeValues() []IntegrationRuntimeType {
593	return []IntegrationRuntimeType{Managed, SelfHosted}
594}
595
596// IntegrationRuntimeUpdateResult enumerates the values for integration runtime update result.
597type IntegrationRuntimeUpdateResult string
598
599const (
600	// IntegrationRuntimeUpdateResultFail ...
601	IntegrationRuntimeUpdateResultFail IntegrationRuntimeUpdateResult = "Fail"
602	// IntegrationRuntimeUpdateResultNone ...
603	IntegrationRuntimeUpdateResultNone IntegrationRuntimeUpdateResult = "None"
604	// IntegrationRuntimeUpdateResultSucceed ...
605	IntegrationRuntimeUpdateResultSucceed IntegrationRuntimeUpdateResult = "Succeed"
606)
607
608// PossibleIntegrationRuntimeUpdateResultValues returns an array of possible values for the IntegrationRuntimeUpdateResult const type.
609func PossibleIntegrationRuntimeUpdateResultValues() []IntegrationRuntimeUpdateResult {
610	return []IntegrationRuntimeUpdateResult{IntegrationRuntimeUpdateResultFail, IntegrationRuntimeUpdateResultNone, IntegrationRuntimeUpdateResultSucceed}
611}
612
613// ManagedIntegrationRuntimeNodeStatus enumerates the values for managed integration runtime node status.
614type ManagedIntegrationRuntimeNodeStatus string
615
616const (
617	// Available ...
618	Available ManagedIntegrationRuntimeNodeStatus = "Available"
619	// Recycling ...
620	Recycling ManagedIntegrationRuntimeNodeStatus = "Recycling"
621	// Starting ...
622	Starting ManagedIntegrationRuntimeNodeStatus = "Starting"
623	// Unavailable ...
624	Unavailable ManagedIntegrationRuntimeNodeStatus = "Unavailable"
625)
626
627// PossibleManagedIntegrationRuntimeNodeStatusValues returns an array of possible values for the ManagedIntegrationRuntimeNodeStatus const type.
628func PossibleManagedIntegrationRuntimeNodeStatusValues() []ManagedIntegrationRuntimeNodeStatus {
629	return []ManagedIntegrationRuntimeNodeStatus{Available, Recycling, Starting, Unavailable}
630}
631
632// MongoDbAuthenticationType enumerates the values for mongo db authentication type.
633type MongoDbAuthenticationType string
634
635const (
636	// MongoDbAuthenticationTypeAnonymous ...
637	MongoDbAuthenticationTypeAnonymous MongoDbAuthenticationType = "Anonymous"
638	// MongoDbAuthenticationTypeBasic ...
639	MongoDbAuthenticationTypeBasic MongoDbAuthenticationType = "Basic"
640)
641
642// PossibleMongoDbAuthenticationTypeValues returns an array of possible values for the MongoDbAuthenticationType const type.
643func PossibleMongoDbAuthenticationTypeValues() []MongoDbAuthenticationType {
644	return []MongoDbAuthenticationType{MongoDbAuthenticationTypeAnonymous, MongoDbAuthenticationTypeBasic}
645}
646
647// NetezzaPartitionOption enumerates the values for netezza partition option.
648type NetezzaPartitionOption string
649
650const (
651	// NetezzaPartitionOptionDataSlice ...
652	NetezzaPartitionOptionDataSlice NetezzaPartitionOption = "DataSlice"
653	// NetezzaPartitionOptionDynamicRange ...
654	NetezzaPartitionOptionDynamicRange NetezzaPartitionOption = "DynamicRange"
655	// NetezzaPartitionOptionNone ...
656	NetezzaPartitionOptionNone NetezzaPartitionOption = "None"
657)
658
659// PossibleNetezzaPartitionOptionValues returns an array of possible values for the NetezzaPartitionOption const type.
660func PossibleNetezzaPartitionOptionValues() []NetezzaPartitionOption {
661	return []NetezzaPartitionOption{NetezzaPartitionOptionDataSlice, NetezzaPartitionOptionDynamicRange, NetezzaPartitionOptionNone}
662}
663
664// ODataAadServicePrincipalCredentialType enumerates the values for o data aad service principal credential
665// type.
666type ODataAadServicePrincipalCredentialType string
667
668const (
669	// ServicePrincipalCert ...
670	ServicePrincipalCert ODataAadServicePrincipalCredentialType = "ServicePrincipalCert"
671	// ServicePrincipalKey ...
672	ServicePrincipalKey ODataAadServicePrincipalCredentialType = "ServicePrincipalKey"
673)
674
675// PossibleODataAadServicePrincipalCredentialTypeValues returns an array of possible values for the ODataAadServicePrincipalCredentialType const type.
676func PossibleODataAadServicePrincipalCredentialTypeValues() []ODataAadServicePrincipalCredentialType {
677	return []ODataAadServicePrincipalCredentialType{ServicePrincipalCert, ServicePrincipalKey}
678}
679
680// ODataAuthenticationType enumerates the values for o data authentication type.
681type ODataAuthenticationType string
682
683const (
684	// ODataAuthenticationTypeAadServicePrincipal ...
685	ODataAuthenticationTypeAadServicePrincipal ODataAuthenticationType = "AadServicePrincipal"
686	// ODataAuthenticationTypeAnonymous ...
687	ODataAuthenticationTypeAnonymous ODataAuthenticationType = "Anonymous"
688	// ODataAuthenticationTypeBasic ...
689	ODataAuthenticationTypeBasic ODataAuthenticationType = "Basic"
690	// ODataAuthenticationTypeManagedServiceIdentity ...
691	ODataAuthenticationTypeManagedServiceIdentity ODataAuthenticationType = "ManagedServiceIdentity"
692	// ODataAuthenticationTypeWindows ...
693	ODataAuthenticationTypeWindows ODataAuthenticationType = "Windows"
694)
695
696// PossibleODataAuthenticationTypeValues returns an array of possible values for the ODataAuthenticationType const type.
697func PossibleODataAuthenticationTypeValues() []ODataAuthenticationType {
698	return []ODataAuthenticationType{ODataAuthenticationTypeAadServicePrincipal, ODataAuthenticationTypeAnonymous, ODataAuthenticationTypeBasic, ODataAuthenticationTypeManagedServiceIdentity, ODataAuthenticationTypeWindows}
699}
700
701// OraclePartitionOption enumerates the values for oracle partition option.
702type OraclePartitionOption string
703
704const (
705	// OraclePartitionOptionDynamicRange ...
706	OraclePartitionOptionDynamicRange OraclePartitionOption = "DynamicRange"
707	// OraclePartitionOptionNone ...
708	OraclePartitionOptionNone OraclePartitionOption = "None"
709	// OraclePartitionOptionPhysicalPartitionsOfTable ...
710	OraclePartitionOptionPhysicalPartitionsOfTable OraclePartitionOption = "PhysicalPartitionsOfTable"
711)
712
713// PossibleOraclePartitionOptionValues returns an array of possible values for the OraclePartitionOption const type.
714func PossibleOraclePartitionOptionValues() []OraclePartitionOption {
715	return []OraclePartitionOption{OraclePartitionOptionDynamicRange, OraclePartitionOptionNone, OraclePartitionOptionPhysicalPartitionsOfTable}
716}
717
718// ParameterType enumerates the values for parameter type.
719type ParameterType string
720
721const (
722	// ParameterTypeArray ...
723	ParameterTypeArray ParameterType = "Array"
724	// ParameterTypeBool ...
725	ParameterTypeBool ParameterType = "Bool"
726	// ParameterTypeFloat ...
727	ParameterTypeFloat ParameterType = "Float"
728	// ParameterTypeInt ...
729	ParameterTypeInt ParameterType = "Int"
730	// ParameterTypeObject ...
731	ParameterTypeObject ParameterType = "Object"
732	// ParameterTypeSecureString ...
733	ParameterTypeSecureString ParameterType = "SecureString"
734	// ParameterTypeString ...
735	ParameterTypeString ParameterType = "String"
736)
737
738// PossibleParameterTypeValues returns an array of possible values for the ParameterType const type.
739func PossibleParameterTypeValues() []ParameterType {
740	return []ParameterType{ParameterTypeArray, ParameterTypeBool, ParameterTypeFloat, ParameterTypeInt, ParameterTypeObject, ParameterTypeSecureString, ParameterTypeString}
741}
742
743// PhoenixAuthenticationType enumerates the values for phoenix authentication type.
744type PhoenixAuthenticationType string
745
746const (
747	// PhoenixAuthenticationTypeAnonymous ...
748	PhoenixAuthenticationTypeAnonymous PhoenixAuthenticationType = "Anonymous"
749	// PhoenixAuthenticationTypeUsernameAndPassword ...
750	PhoenixAuthenticationTypeUsernameAndPassword PhoenixAuthenticationType = "UsernameAndPassword"
751	// PhoenixAuthenticationTypeWindowsAzureHDInsightService ...
752	PhoenixAuthenticationTypeWindowsAzureHDInsightService PhoenixAuthenticationType = "WindowsAzureHDInsightService"
753)
754
755// PossiblePhoenixAuthenticationTypeValues returns an array of possible values for the PhoenixAuthenticationType const type.
756func PossiblePhoenixAuthenticationTypeValues() []PhoenixAuthenticationType {
757	return []PhoenixAuthenticationType{PhoenixAuthenticationTypeAnonymous, PhoenixAuthenticationTypeUsernameAndPassword, PhoenixAuthenticationTypeWindowsAzureHDInsightService}
758}
759
760// PolybaseSettingsRejectType enumerates the values for polybase settings reject type.
761type PolybaseSettingsRejectType string
762
763const (
764	// Percentage ...
765	Percentage PolybaseSettingsRejectType = "percentage"
766	// Value ...
767	Value PolybaseSettingsRejectType = "value"
768)
769
770// PossiblePolybaseSettingsRejectTypeValues returns an array of possible values for the PolybaseSettingsRejectType const type.
771func PossiblePolybaseSettingsRejectTypeValues() []PolybaseSettingsRejectType {
772	return []PolybaseSettingsRejectType{Percentage, Value}
773}
774
775// PrestoAuthenticationType enumerates the values for presto authentication type.
776type PrestoAuthenticationType string
777
778const (
779	// PrestoAuthenticationTypeAnonymous ...
780	PrestoAuthenticationTypeAnonymous PrestoAuthenticationType = "Anonymous"
781	// PrestoAuthenticationTypeLDAP ...
782	PrestoAuthenticationTypeLDAP PrestoAuthenticationType = "LDAP"
783)
784
785// PossiblePrestoAuthenticationTypeValues returns an array of possible values for the PrestoAuthenticationType const type.
786func PossiblePrestoAuthenticationTypeValues() []PrestoAuthenticationType {
787	return []PrestoAuthenticationType{PrestoAuthenticationTypeAnonymous, PrestoAuthenticationTypeLDAP}
788}
789
790// RecurrenceFrequency enumerates the values for recurrence frequency.
791type RecurrenceFrequency string
792
793const (
794	// Day ...
795	Day RecurrenceFrequency = "Day"
796	// Hour ...
797	Hour RecurrenceFrequency = "Hour"
798	// Minute ...
799	Minute RecurrenceFrequency = "Minute"
800	// Month ...
801	Month RecurrenceFrequency = "Month"
802	// NotSpecified ...
803	NotSpecified RecurrenceFrequency = "NotSpecified"
804	// Week ...
805	Week RecurrenceFrequency = "Week"
806	// Year ...
807	Year RecurrenceFrequency = "Year"
808)
809
810// PossibleRecurrenceFrequencyValues returns an array of possible values for the RecurrenceFrequency const type.
811func PossibleRecurrenceFrequencyValues() []RecurrenceFrequency {
812	return []RecurrenceFrequency{Day, Hour, Minute, Month, NotSpecified, Week, Year}
813}
814
815// RestServiceAuthenticationType enumerates the values for rest service authentication type.
816type RestServiceAuthenticationType string
817
818const (
819	// RestServiceAuthenticationTypeAadServicePrincipal ...
820	RestServiceAuthenticationTypeAadServicePrincipal RestServiceAuthenticationType = "AadServicePrincipal"
821	// RestServiceAuthenticationTypeAnonymous ...
822	RestServiceAuthenticationTypeAnonymous RestServiceAuthenticationType = "Anonymous"
823	// RestServiceAuthenticationTypeBasic ...
824	RestServiceAuthenticationTypeBasic RestServiceAuthenticationType = "Basic"
825	// RestServiceAuthenticationTypeManagedServiceIdentity ...
826	RestServiceAuthenticationTypeManagedServiceIdentity RestServiceAuthenticationType = "ManagedServiceIdentity"
827)
828
829// PossibleRestServiceAuthenticationTypeValues returns an array of possible values for the RestServiceAuthenticationType const type.
830func PossibleRestServiceAuthenticationTypeValues() []RestServiceAuthenticationType {
831	return []RestServiceAuthenticationType{RestServiceAuthenticationTypeAadServicePrincipal, RestServiceAuthenticationTypeAnonymous, RestServiceAuthenticationTypeBasic, RestServiceAuthenticationTypeManagedServiceIdentity}
832}
833
834// RunQueryFilterOperand enumerates the values for run query filter operand.
835type RunQueryFilterOperand string
836
837const (
838	// ActivityName ...
839	ActivityName RunQueryFilterOperand = "ActivityName"
840	// ActivityRunEnd ...
841	ActivityRunEnd RunQueryFilterOperand = "ActivityRunEnd"
842	// ActivityRunStart ...
843	ActivityRunStart RunQueryFilterOperand = "ActivityRunStart"
844	// ActivityType ...
845	ActivityType RunQueryFilterOperand = "ActivityType"
846	// LatestOnly ...
847	LatestOnly RunQueryFilterOperand = "LatestOnly"
848	// PipelineName ...
849	PipelineName RunQueryFilterOperand = "PipelineName"
850	// RunEnd ...
851	RunEnd RunQueryFilterOperand = "RunEnd"
852	// RunGroupID ...
853	RunGroupID RunQueryFilterOperand = "RunGroupId"
854	// RunStart ...
855	RunStart RunQueryFilterOperand = "RunStart"
856	// Status ...
857	Status RunQueryFilterOperand = "Status"
858	// TriggerName ...
859	TriggerName RunQueryFilterOperand = "TriggerName"
860	// TriggerRunTimestamp ...
861	TriggerRunTimestamp RunQueryFilterOperand = "TriggerRunTimestamp"
862)
863
864// PossibleRunQueryFilterOperandValues returns an array of possible values for the RunQueryFilterOperand const type.
865func PossibleRunQueryFilterOperandValues() []RunQueryFilterOperand {
866	return []RunQueryFilterOperand{ActivityName, ActivityRunEnd, ActivityRunStart, ActivityType, LatestOnly, PipelineName, RunEnd, RunGroupID, RunStart, Status, TriggerName, TriggerRunTimestamp}
867}
868
869// RunQueryFilterOperator enumerates the values for run query filter operator.
870type RunQueryFilterOperator string
871
872const (
873	// Equals ...
874	Equals RunQueryFilterOperator = "Equals"
875	// In ...
876	In RunQueryFilterOperator = "In"
877	// NotEquals ...
878	NotEquals RunQueryFilterOperator = "NotEquals"
879	// NotIn ...
880	NotIn RunQueryFilterOperator = "NotIn"
881)
882
883// PossibleRunQueryFilterOperatorValues returns an array of possible values for the RunQueryFilterOperator const type.
884func PossibleRunQueryFilterOperatorValues() []RunQueryFilterOperator {
885	return []RunQueryFilterOperator{Equals, In, NotEquals, NotIn}
886}
887
888// RunQueryOrder enumerates the values for run query order.
889type RunQueryOrder string
890
891const (
892	// ASC ...
893	ASC RunQueryOrder = "ASC"
894	// DESC ...
895	DESC RunQueryOrder = "DESC"
896)
897
898// PossibleRunQueryOrderValues returns an array of possible values for the RunQueryOrder const type.
899func PossibleRunQueryOrderValues() []RunQueryOrder {
900	return []RunQueryOrder{ASC, DESC}
901}
902
903// RunQueryOrderByField enumerates the values for run query order by field.
904type RunQueryOrderByField string
905
906const (
907	// RunQueryOrderByFieldActivityName ...
908	RunQueryOrderByFieldActivityName RunQueryOrderByField = "ActivityName"
909	// RunQueryOrderByFieldActivityRunEnd ...
910	RunQueryOrderByFieldActivityRunEnd RunQueryOrderByField = "ActivityRunEnd"
911	// RunQueryOrderByFieldActivityRunStart ...
912	RunQueryOrderByFieldActivityRunStart RunQueryOrderByField = "ActivityRunStart"
913	// RunQueryOrderByFieldPipelineName ...
914	RunQueryOrderByFieldPipelineName RunQueryOrderByField = "PipelineName"
915	// RunQueryOrderByFieldRunEnd ...
916	RunQueryOrderByFieldRunEnd RunQueryOrderByField = "RunEnd"
917	// RunQueryOrderByFieldRunStart ...
918	RunQueryOrderByFieldRunStart RunQueryOrderByField = "RunStart"
919	// RunQueryOrderByFieldStatus ...
920	RunQueryOrderByFieldStatus RunQueryOrderByField = "Status"
921	// RunQueryOrderByFieldTriggerName ...
922	RunQueryOrderByFieldTriggerName RunQueryOrderByField = "TriggerName"
923	// RunQueryOrderByFieldTriggerRunTimestamp ...
924	RunQueryOrderByFieldTriggerRunTimestamp RunQueryOrderByField = "TriggerRunTimestamp"
925)
926
927// PossibleRunQueryOrderByFieldValues returns an array of possible values for the RunQueryOrderByField const type.
928func PossibleRunQueryOrderByFieldValues() []RunQueryOrderByField {
929	return []RunQueryOrderByField{RunQueryOrderByFieldActivityName, RunQueryOrderByFieldActivityRunEnd, RunQueryOrderByFieldActivityRunStart, RunQueryOrderByFieldPipelineName, RunQueryOrderByFieldRunEnd, RunQueryOrderByFieldRunStart, RunQueryOrderByFieldStatus, RunQueryOrderByFieldTriggerName, RunQueryOrderByFieldTriggerRunTimestamp}
930}
931
932// SalesforceSinkWriteBehavior enumerates the values for salesforce sink write behavior.
933type SalesforceSinkWriteBehavior string
934
935const (
936	// Insert ...
937	Insert SalesforceSinkWriteBehavior = "Insert"
938	// Upsert ...
939	Upsert SalesforceSinkWriteBehavior = "Upsert"
940)
941
942// PossibleSalesforceSinkWriteBehaviorValues returns an array of possible values for the SalesforceSinkWriteBehavior const type.
943func PossibleSalesforceSinkWriteBehaviorValues() []SalesforceSinkWriteBehavior {
944	return []SalesforceSinkWriteBehavior{Insert, Upsert}
945}
946
947// SalesforceSourceReadBehavior enumerates the values for salesforce source read behavior.
948type SalesforceSourceReadBehavior string
949
950const (
951	// Query ...
952	Query SalesforceSourceReadBehavior = "Query"
953	// QueryAll ...
954	QueryAll SalesforceSourceReadBehavior = "QueryAll"
955)
956
957// PossibleSalesforceSourceReadBehaviorValues returns an array of possible values for the SalesforceSourceReadBehavior const type.
958func PossibleSalesforceSourceReadBehaviorValues() []SalesforceSourceReadBehavior {
959	return []SalesforceSourceReadBehavior{Query, QueryAll}
960}
961
962// SapCloudForCustomerSinkWriteBehavior enumerates the values for sap cloud for customer sink write behavior.
963type SapCloudForCustomerSinkWriteBehavior string
964
965const (
966	// SapCloudForCustomerSinkWriteBehaviorInsert ...
967	SapCloudForCustomerSinkWriteBehaviorInsert SapCloudForCustomerSinkWriteBehavior = "Insert"
968	// SapCloudForCustomerSinkWriteBehaviorUpdate ...
969	SapCloudForCustomerSinkWriteBehaviorUpdate SapCloudForCustomerSinkWriteBehavior = "Update"
970)
971
972// PossibleSapCloudForCustomerSinkWriteBehaviorValues returns an array of possible values for the SapCloudForCustomerSinkWriteBehavior const type.
973func PossibleSapCloudForCustomerSinkWriteBehaviorValues() []SapCloudForCustomerSinkWriteBehavior {
974	return []SapCloudForCustomerSinkWriteBehavior{SapCloudForCustomerSinkWriteBehaviorInsert, SapCloudForCustomerSinkWriteBehaviorUpdate}
975}
976
977// SapHanaAuthenticationType enumerates the values for sap hana authentication type.
978type SapHanaAuthenticationType string
979
980const (
981	// SapHanaAuthenticationTypeBasic ...
982	SapHanaAuthenticationTypeBasic SapHanaAuthenticationType = "Basic"
983	// SapHanaAuthenticationTypeWindows ...
984	SapHanaAuthenticationTypeWindows SapHanaAuthenticationType = "Windows"
985)
986
987// PossibleSapHanaAuthenticationTypeValues returns an array of possible values for the SapHanaAuthenticationType const type.
988func PossibleSapHanaAuthenticationTypeValues() []SapHanaAuthenticationType {
989	return []SapHanaAuthenticationType{SapHanaAuthenticationTypeBasic, SapHanaAuthenticationTypeWindows}
990}
991
992// SapTablePartitionOption enumerates the values for sap table partition option.
993type SapTablePartitionOption string
994
995const (
996	// SapTablePartitionOptionNone ...
997	SapTablePartitionOptionNone SapTablePartitionOption = "None"
998	// SapTablePartitionOptionPartitionOnCalendarDate ...
999	SapTablePartitionOptionPartitionOnCalendarDate SapTablePartitionOption = "PartitionOnCalendarDate"
1000	// SapTablePartitionOptionPartitionOnCalendarMonth ...
1001	SapTablePartitionOptionPartitionOnCalendarMonth SapTablePartitionOption = "PartitionOnCalendarMonth"
1002	// SapTablePartitionOptionPartitionOnCalendarYear ...
1003	SapTablePartitionOptionPartitionOnCalendarYear SapTablePartitionOption = "PartitionOnCalendarYear"
1004	// SapTablePartitionOptionPartitionOnInt ...
1005	SapTablePartitionOptionPartitionOnInt SapTablePartitionOption = "PartitionOnInt"
1006	// SapTablePartitionOptionPartitionOnTime ...
1007	SapTablePartitionOptionPartitionOnTime SapTablePartitionOption = "PartitionOnTime"
1008)
1009
1010// PossibleSapTablePartitionOptionValues returns an array of possible values for the SapTablePartitionOption const type.
1011func PossibleSapTablePartitionOptionValues() []SapTablePartitionOption {
1012	return []SapTablePartitionOption{SapTablePartitionOptionNone, SapTablePartitionOptionPartitionOnCalendarDate, SapTablePartitionOptionPartitionOnCalendarMonth, SapTablePartitionOptionPartitionOnCalendarYear, SapTablePartitionOptionPartitionOnInt, SapTablePartitionOptionPartitionOnTime}
1013}
1014
1015// SelfHostedIntegrationRuntimeNodeStatus enumerates the values for self hosted integration runtime node
1016// status.
1017type SelfHostedIntegrationRuntimeNodeStatus string
1018
1019const (
1020	// SelfHostedIntegrationRuntimeNodeStatusInitializeFailed ...
1021	SelfHostedIntegrationRuntimeNodeStatusInitializeFailed SelfHostedIntegrationRuntimeNodeStatus = "InitializeFailed"
1022	// SelfHostedIntegrationRuntimeNodeStatusInitializing ...
1023	SelfHostedIntegrationRuntimeNodeStatusInitializing SelfHostedIntegrationRuntimeNodeStatus = "Initializing"
1024	// SelfHostedIntegrationRuntimeNodeStatusLimited ...
1025	SelfHostedIntegrationRuntimeNodeStatusLimited SelfHostedIntegrationRuntimeNodeStatus = "Limited"
1026	// SelfHostedIntegrationRuntimeNodeStatusNeedRegistration ...
1027	SelfHostedIntegrationRuntimeNodeStatusNeedRegistration SelfHostedIntegrationRuntimeNodeStatus = "NeedRegistration"
1028	// SelfHostedIntegrationRuntimeNodeStatusOffline ...
1029	SelfHostedIntegrationRuntimeNodeStatusOffline SelfHostedIntegrationRuntimeNodeStatus = "Offline"
1030	// SelfHostedIntegrationRuntimeNodeStatusOnline ...
1031	SelfHostedIntegrationRuntimeNodeStatusOnline SelfHostedIntegrationRuntimeNodeStatus = "Online"
1032	// SelfHostedIntegrationRuntimeNodeStatusUpgrading ...
1033	SelfHostedIntegrationRuntimeNodeStatusUpgrading SelfHostedIntegrationRuntimeNodeStatus = "Upgrading"
1034)
1035
1036// PossibleSelfHostedIntegrationRuntimeNodeStatusValues returns an array of possible values for the SelfHostedIntegrationRuntimeNodeStatus const type.
1037func PossibleSelfHostedIntegrationRuntimeNodeStatusValues() []SelfHostedIntegrationRuntimeNodeStatus {
1038	return []SelfHostedIntegrationRuntimeNodeStatus{SelfHostedIntegrationRuntimeNodeStatusInitializeFailed, SelfHostedIntegrationRuntimeNodeStatusInitializing, SelfHostedIntegrationRuntimeNodeStatusLimited, SelfHostedIntegrationRuntimeNodeStatusNeedRegistration, SelfHostedIntegrationRuntimeNodeStatusOffline, SelfHostedIntegrationRuntimeNodeStatusOnline, SelfHostedIntegrationRuntimeNodeStatusUpgrading}
1039}
1040
1041// ServiceNowAuthenticationType enumerates the values for service now authentication type.
1042type ServiceNowAuthenticationType string
1043
1044const (
1045	// ServiceNowAuthenticationTypeBasic ...
1046	ServiceNowAuthenticationTypeBasic ServiceNowAuthenticationType = "Basic"
1047	// ServiceNowAuthenticationTypeOAuth2 ...
1048	ServiceNowAuthenticationTypeOAuth2 ServiceNowAuthenticationType = "OAuth2"
1049)
1050
1051// PossibleServiceNowAuthenticationTypeValues returns an array of possible values for the ServiceNowAuthenticationType const type.
1052func PossibleServiceNowAuthenticationTypeValues() []ServiceNowAuthenticationType {
1053	return []ServiceNowAuthenticationType{ServiceNowAuthenticationTypeBasic, ServiceNowAuthenticationTypeOAuth2}
1054}
1055
1056// SftpAuthenticationType enumerates the values for sftp authentication type.
1057type SftpAuthenticationType string
1058
1059const (
1060	// SftpAuthenticationTypeBasic ...
1061	SftpAuthenticationTypeBasic SftpAuthenticationType = "Basic"
1062	// SftpAuthenticationTypeSSHPublicKey ...
1063	SftpAuthenticationTypeSSHPublicKey SftpAuthenticationType = "SshPublicKey"
1064)
1065
1066// PossibleSftpAuthenticationTypeValues returns an array of possible values for the SftpAuthenticationType const type.
1067func PossibleSftpAuthenticationTypeValues() []SftpAuthenticationType {
1068	return []SftpAuthenticationType{SftpAuthenticationTypeBasic, SftpAuthenticationTypeSSHPublicKey}
1069}
1070
1071// SparkAuthenticationType enumerates the values for spark authentication type.
1072type SparkAuthenticationType string
1073
1074const (
1075	// SparkAuthenticationTypeAnonymous ...
1076	SparkAuthenticationTypeAnonymous SparkAuthenticationType = "Anonymous"
1077	// SparkAuthenticationTypeUsername ...
1078	SparkAuthenticationTypeUsername SparkAuthenticationType = "Username"
1079	// SparkAuthenticationTypeUsernameAndPassword ...
1080	SparkAuthenticationTypeUsernameAndPassword SparkAuthenticationType = "UsernameAndPassword"
1081	// SparkAuthenticationTypeWindowsAzureHDInsightService ...
1082	SparkAuthenticationTypeWindowsAzureHDInsightService SparkAuthenticationType = "WindowsAzureHDInsightService"
1083)
1084
1085// PossibleSparkAuthenticationTypeValues returns an array of possible values for the SparkAuthenticationType const type.
1086func PossibleSparkAuthenticationTypeValues() []SparkAuthenticationType {
1087	return []SparkAuthenticationType{SparkAuthenticationTypeAnonymous, SparkAuthenticationTypeUsername, SparkAuthenticationTypeUsernameAndPassword, SparkAuthenticationTypeWindowsAzureHDInsightService}
1088}
1089
1090// SparkServerType enumerates the values for spark server type.
1091type SparkServerType string
1092
1093const (
1094	// SharkServer ...
1095	SharkServer SparkServerType = "SharkServer"
1096	// SharkServer2 ...
1097	SharkServer2 SparkServerType = "SharkServer2"
1098	// SparkThriftServer ...
1099	SparkThriftServer SparkServerType = "SparkThriftServer"
1100)
1101
1102// PossibleSparkServerTypeValues returns an array of possible values for the SparkServerType const type.
1103func PossibleSparkServerTypeValues() []SparkServerType {
1104	return []SparkServerType{SharkServer, SharkServer2, SparkThriftServer}
1105}
1106
1107// SparkThriftTransportProtocol enumerates the values for spark thrift transport protocol.
1108type SparkThriftTransportProtocol string
1109
1110const (
1111	// SparkThriftTransportProtocolBinary ...
1112	SparkThriftTransportProtocolBinary SparkThriftTransportProtocol = "Binary"
1113	// SparkThriftTransportProtocolHTTP ...
1114	SparkThriftTransportProtocolHTTP SparkThriftTransportProtocol = "HTTP "
1115	// SparkThriftTransportProtocolSASL ...
1116	SparkThriftTransportProtocolSASL SparkThriftTransportProtocol = "SASL"
1117)
1118
1119// PossibleSparkThriftTransportProtocolValues returns an array of possible values for the SparkThriftTransportProtocol const type.
1120func PossibleSparkThriftTransportProtocolValues() []SparkThriftTransportProtocol {
1121	return []SparkThriftTransportProtocol{SparkThriftTransportProtocolBinary, SparkThriftTransportProtocolHTTP, SparkThriftTransportProtocolSASL}
1122}
1123
1124// SsisObjectMetadataType enumerates the values for ssis object metadata type.
1125type SsisObjectMetadataType string
1126
1127const (
1128	// Environment ...
1129	Environment SsisObjectMetadataType = "Environment"
1130	// Folder ...
1131	Folder SsisObjectMetadataType = "Folder"
1132	// Package ...
1133	Package SsisObjectMetadataType = "Package"
1134	// Project ...
1135	Project SsisObjectMetadataType = "Project"
1136)
1137
1138// PossibleSsisObjectMetadataTypeValues returns an array of possible values for the SsisObjectMetadataType const type.
1139func PossibleSsisObjectMetadataTypeValues() []SsisObjectMetadataType {
1140	return []SsisObjectMetadataType{Environment, Folder, Package, Project}
1141}
1142
1143// SsisPackageLocationType enumerates the values for ssis package location type.
1144type SsisPackageLocationType string
1145
1146const (
1147	// File ...
1148	File SsisPackageLocationType = "File"
1149	// SSISDB ...
1150	SSISDB SsisPackageLocationType = "SSISDB"
1151)
1152
1153// PossibleSsisPackageLocationTypeValues returns an array of possible values for the SsisPackageLocationType const type.
1154func PossibleSsisPackageLocationTypeValues() []SsisPackageLocationType {
1155	return []SsisPackageLocationType{File, SSISDB}
1156}
1157
1158// StoredProcedureParameterType enumerates the values for stored procedure parameter type.
1159type StoredProcedureParameterType string
1160
1161const (
1162	// Boolean ...
1163	Boolean StoredProcedureParameterType = "Boolean"
1164	// Date ...
1165	Date StoredProcedureParameterType = "Date"
1166	// Decimal ...
1167	Decimal StoredProcedureParameterType = "Decimal"
1168	// GUID ...
1169	GUID StoredProcedureParameterType = "Guid"
1170	// Int ...
1171	Int StoredProcedureParameterType = "Int"
1172	// Int64 ...
1173	Int64 StoredProcedureParameterType = "Int64"
1174	// String ...
1175	String StoredProcedureParameterType = "String"
1176)
1177
1178// PossibleStoredProcedureParameterTypeValues returns an array of possible values for the StoredProcedureParameterType const type.
1179func PossibleStoredProcedureParameterTypeValues() []StoredProcedureParameterType {
1180	return []StoredProcedureParameterType{Boolean, Date, Decimal, GUID, Int, Int64, String}
1181}
1182
1183// SybaseAuthenticationType enumerates the values for sybase authentication type.
1184type SybaseAuthenticationType string
1185
1186const (
1187	// SybaseAuthenticationTypeBasic ...
1188	SybaseAuthenticationTypeBasic SybaseAuthenticationType = "Basic"
1189	// SybaseAuthenticationTypeWindows ...
1190	SybaseAuthenticationTypeWindows SybaseAuthenticationType = "Windows"
1191)
1192
1193// PossibleSybaseAuthenticationTypeValues returns an array of possible values for the SybaseAuthenticationType const type.
1194func PossibleSybaseAuthenticationTypeValues() []SybaseAuthenticationType {
1195	return []SybaseAuthenticationType{SybaseAuthenticationTypeBasic, SybaseAuthenticationTypeWindows}
1196}
1197
1198// TeradataAuthenticationType enumerates the values for teradata authentication type.
1199type TeradataAuthenticationType string
1200
1201const (
1202	// TeradataAuthenticationTypeBasic ...
1203	TeradataAuthenticationTypeBasic TeradataAuthenticationType = "Basic"
1204	// TeradataAuthenticationTypeWindows ...
1205	TeradataAuthenticationTypeWindows TeradataAuthenticationType = "Windows"
1206)
1207
1208// PossibleTeradataAuthenticationTypeValues returns an array of possible values for the TeradataAuthenticationType const type.
1209func PossibleTeradataAuthenticationTypeValues() []TeradataAuthenticationType {
1210	return []TeradataAuthenticationType{TeradataAuthenticationTypeBasic, TeradataAuthenticationTypeWindows}
1211}
1212
1213// TeradataPartitionOption enumerates the values for teradata partition option.
1214type TeradataPartitionOption string
1215
1216const (
1217	// TeradataPartitionOptionDynamicRange ...
1218	TeradataPartitionOptionDynamicRange TeradataPartitionOption = "DynamicRange"
1219	// TeradataPartitionOptionHash ...
1220	TeradataPartitionOptionHash TeradataPartitionOption = "Hash"
1221	// TeradataPartitionOptionNone ...
1222	TeradataPartitionOptionNone TeradataPartitionOption = "None"
1223)
1224
1225// PossibleTeradataPartitionOptionValues returns an array of possible values for the TeradataPartitionOption const type.
1226func PossibleTeradataPartitionOptionValues() []TeradataPartitionOption {
1227	return []TeradataPartitionOption{TeradataPartitionOptionDynamicRange, TeradataPartitionOptionHash, TeradataPartitionOptionNone}
1228}
1229
1230// TriggerRunStatus enumerates the values for trigger run status.
1231type TriggerRunStatus string
1232
1233const (
1234	// TriggerRunStatusFailed ...
1235	TriggerRunStatusFailed TriggerRunStatus = "Failed"
1236	// TriggerRunStatusInprogress ...
1237	TriggerRunStatusInprogress TriggerRunStatus = "Inprogress"
1238	// TriggerRunStatusSucceeded ...
1239	TriggerRunStatusSucceeded TriggerRunStatus = "Succeeded"
1240)
1241
1242// PossibleTriggerRunStatusValues returns an array of possible values for the TriggerRunStatus const type.
1243func PossibleTriggerRunStatusValues() []TriggerRunStatus {
1244	return []TriggerRunStatus{TriggerRunStatusFailed, TriggerRunStatusInprogress, TriggerRunStatusSucceeded}
1245}
1246
1247// TriggerRuntimeState enumerates the values for trigger runtime state.
1248type TriggerRuntimeState string
1249
1250const (
1251	// Disabled ...
1252	Disabled TriggerRuntimeState = "Disabled"
1253	// Started ...
1254	Started TriggerRuntimeState = "Started"
1255	// Stopped ...
1256	Stopped TriggerRuntimeState = "Stopped"
1257)
1258
1259// PossibleTriggerRuntimeStateValues returns an array of possible values for the TriggerRuntimeState const type.
1260func PossibleTriggerRuntimeStateValues() []TriggerRuntimeState {
1261	return []TriggerRuntimeState{Disabled, Started, Stopped}
1262}
1263
1264// TumblingWindowFrequency enumerates the values for tumbling window frequency.
1265type TumblingWindowFrequency string
1266
1267const (
1268	// TumblingWindowFrequencyHour ...
1269	TumblingWindowFrequencyHour TumblingWindowFrequency = "Hour"
1270	// TumblingWindowFrequencyMinute ...
1271	TumblingWindowFrequencyMinute TumblingWindowFrequency = "Minute"
1272)
1273
1274// PossibleTumblingWindowFrequencyValues returns an array of possible values for the TumblingWindowFrequency const type.
1275func PossibleTumblingWindowFrequencyValues() []TumblingWindowFrequency {
1276	return []TumblingWindowFrequency{TumblingWindowFrequencyHour, TumblingWindowFrequencyMinute}
1277}
1278
1279// Type enumerates the values for type.
1280type Type string
1281
1282const (
1283	// TypeAzureKeyVaultSecret ...
1284	TypeAzureKeyVaultSecret Type = "AzureKeyVaultSecret"
1285	// TypeSecretBase ...
1286	TypeSecretBase Type = "SecretBase"
1287	// TypeSecureString ...
1288	TypeSecureString Type = "SecureString"
1289)
1290
1291// PossibleTypeValues returns an array of possible values for the Type const type.
1292func PossibleTypeValues() []Type {
1293	return []Type{TypeAzureKeyVaultSecret, TypeSecretBase, TypeSecureString}
1294}
1295
1296// TypeBasicActivity enumerates the values for type basic activity.
1297type TypeBasicActivity string
1298
1299const (
1300	// TypeActivity ...
1301	TypeActivity TypeBasicActivity = "Activity"
1302	// TypeAppendVariable ...
1303	TypeAppendVariable TypeBasicActivity = "AppendVariable"
1304	// TypeAzureDataExplorerCommand ...
1305	TypeAzureDataExplorerCommand TypeBasicActivity = "AzureDataExplorerCommand"
1306	// TypeAzureFunctionActivity ...
1307	TypeAzureFunctionActivity TypeBasicActivity = "AzureFunctionActivity"
1308	// TypeAzureMLBatchExecution ...
1309	TypeAzureMLBatchExecution TypeBasicActivity = "AzureMLBatchExecution"
1310	// TypeAzureMLUpdateResource ...
1311	TypeAzureMLUpdateResource TypeBasicActivity = "AzureMLUpdateResource"
1312	// TypeContainer ...
1313	TypeContainer TypeBasicActivity = "Container"
1314	// TypeCopy ...
1315	TypeCopy TypeBasicActivity = "Copy"
1316	// TypeCustom ...
1317	TypeCustom TypeBasicActivity = "Custom"
1318	// TypeDatabricksNotebook ...
1319	TypeDatabricksNotebook TypeBasicActivity = "DatabricksNotebook"
1320	// TypeDatabricksSparkJar ...
1321	TypeDatabricksSparkJar TypeBasicActivity = "DatabricksSparkJar"
1322	// TypeDatabricksSparkPython ...
1323	TypeDatabricksSparkPython TypeBasicActivity = "DatabricksSparkPython"
1324	// TypeDataLakeAnalyticsUSQL ...
1325	TypeDataLakeAnalyticsUSQL TypeBasicActivity = "DataLakeAnalyticsU-SQL"
1326	// TypeDelete ...
1327	TypeDelete TypeBasicActivity = "Delete"
1328	// TypeExecutePipeline ...
1329	TypeExecutePipeline TypeBasicActivity = "ExecutePipeline"
1330	// TypeExecuteSSISPackage ...
1331	TypeExecuteSSISPackage TypeBasicActivity = "ExecuteSSISPackage"
1332	// TypeExecution ...
1333	TypeExecution TypeBasicActivity = "Execution"
1334	// TypeFilter ...
1335	TypeFilter TypeBasicActivity = "Filter"
1336	// TypeForEach ...
1337	TypeForEach TypeBasicActivity = "ForEach"
1338	// TypeGetMetadata ...
1339	TypeGetMetadata TypeBasicActivity = "GetMetadata"
1340	// TypeHDInsightHive ...
1341	TypeHDInsightHive TypeBasicActivity = "HDInsightHive"
1342	// TypeHDInsightMapReduce ...
1343	TypeHDInsightMapReduce TypeBasicActivity = "HDInsightMapReduce"
1344	// TypeHDInsightPig ...
1345	TypeHDInsightPig TypeBasicActivity = "HDInsightPig"
1346	// TypeHDInsightSpark ...
1347	TypeHDInsightSpark TypeBasicActivity = "HDInsightSpark"
1348	// TypeHDInsightStreaming ...
1349	TypeHDInsightStreaming TypeBasicActivity = "HDInsightStreaming"
1350	// TypeIfCondition ...
1351	TypeIfCondition TypeBasicActivity = "IfCondition"
1352	// TypeLookup ...
1353	TypeLookup TypeBasicActivity = "Lookup"
1354	// TypeSetVariable ...
1355	TypeSetVariable TypeBasicActivity = "SetVariable"
1356	// TypeSQLServerStoredProcedure ...
1357	TypeSQLServerStoredProcedure TypeBasicActivity = "SqlServerStoredProcedure"
1358	// TypeUntil ...
1359	TypeUntil TypeBasicActivity = "Until"
1360	// TypeValidation ...
1361	TypeValidation TypeBasicActivity = "Validation"
1362	// TypeWait ...
1363	TypeWait TypeBasicActivity = "Wait"
1364	// TypeWebActivity ...
1365	TypeWebActivity TypeBasicActivity = "WebActivity"
1366	// TypeWebHook ...
1367	TypeWebHook TypeBasicActivity = "WebHook"
1368)
1369
1370// PossibleTypeBasicActivityValues returns an array of possible values for the TypeBasicActivity const type.
1371func PossibleTypeBasicActivityValues() []TypeBasicActivity {
1372	return []TypeBasicActivity{TypeActivity, TypeAppendVariable, TypeAzureDataExplorerCommand, TypeAzureFunctionActivity, TypeAzureMLBatchExecution, TypeAzureMLUpdateResource, TypeContainer, TypeCopy, TypeCustom, TypeDatabricksNotebook, TypeDatabricksSparkJar, TypeDatabricksSparkPython, TypeDataLakeAnalyticsUSQL, TypeDelete, TypeExecutePipeline, TypeExecuteSSISPackage, TypeExecution, TypeFilter, TypeForEach, TypeGetMetadata, TypeHDInsightHive, TypeHDInsightMapReduce, TypeHDInsightPig, TypeHDInsightSpark, TypeHDInsightStreaming, TypeIfCondition, TypeLookup, TypeSetVariable, TypeSQLServerStoredProcedure, TypeUntil, TypeValidation, TypeWait, TypeWebActivity, TypeWebHook}
1373}
1374
1375// TypeBasicCopySink enumerates the values for type basic copy sink.
1376type TypeBasicCopySink string
1377
1378const (
1379	// TypeAzureBlobFSSink ...
1380	TypeAzureBlobFSSink TypeBasicCopySink = "AzureBlobFSSink"
1381	// TypeAzureDataExplorerSink ...
1382	TypeAzureDataExplorerSink TypeBasicCopySink = "AzureDataExplorerSink"
1383	// TypeAzureDataLakeStoreSink ...
1384	TypeAzureDataLakeStoreSink TypeBasicCopySink = "AzureDataLakeStoreSink"
1385	// TypeAzurePostgreSQLSink ...
1386	TypeAzurePostgreSQLSink TypeBasicCopySink = "AzurePostgreSqlSink"
1387	// TypeAzureQueueSink ...
1388	TypeAzureQueueSink TypeBasicCopySink = "AzureQueueSink"
1389	// TypeAzureSearchIndexSink ...
1390	TypeAzureSearchIndexSink TypeBasicCopySink = "AzureSearchIndexSink"
1391	// TypeAzureSQLSink ...
1392	TypeAzureSQLSink TypeBasicCopySink = "AzureSqlSink"
1393	// TypeAzureTableSink ...
1394	TypeAzureTableSink TypeBasicCopySink = "AzureTableSink"
1395	// TypeBinarySink ...
1396	TypeBinarySink TypeBasicCopySink = "BinarySink"
1397	// TypeBlobSink ...
1398	TypeBlobSink TypeBasicCopySink = "BlobSink"
1399	// TypeCommonDataServiceForAppsSink ...
1400	TypeCommonDataServiceForAppsSink TypeBasicCopySink = "CommonDataServiceForAppsSink"
1401	// TypeCopySink ...
1402	TypeCopySink TypeBasicCopySink = "CopySink"
1403	// TypeCosmosDbMongoDbAPISink ...
1404	TypeCosmosDbMongoDbAPISink TypeBasicCopySink = "CosmosDbMongoDbApiSink"
1405	// TypeDelimitedTextSink ...
1406	TypeDelimitedTextSink TypeBasicCopySink = "DelimitedTextSink"
1407	// TypeDocumentDbCollectionSink ...
1408	TypeDocumentDbCollectionSink TypeBasicCopySink = "DocumentDbCollectionSink"
1409	// TypeDynamicsCrmSink ...
1410	TypeDynamicsCrmSink TypeBasicCopySink = "DynamicsCrmSink"
1411	// TypeDynamicsSink ...
1412	TypeDynamicsSink TypeBasicCopySink = "DynamicsSink"
1413	// TypeFileSystemSink ...
1414	TypeFileSystemSink TypeBasicCopySink = "FileSystemSink"
1415	// TypeInformixSink ...
1416	TypeInformixSink TypeBasicCopySink = "InformixSink"
1417	// TypeMicrosoftAccessSink ...
1418	TypeMicrosoftAccessSink TypeBasicCopySink = "MicrosoftAccessSink"
1419	// TypeOdbcSink ...
1420	TypeOdbcSink TypeBasicCopySink = "OdbcSink"
1421	// TypeOracleSink ...
1422	TypeOracleSink TypeBasicCopySink = "OracleSink"
1423	// TypeParquetSink ...
1424	TypeParquetSink TypeBasicCopySink = "ParquetSink"
1425	// TypeSalesforceServiceCloudSink ...
1426	TypeSalesforceServiceCloudSink TypeBasicCopySink = "SalesforceServiceCloudSink"
1427	// TypeSalesforceSink ...
1428	TypeSalesforceSink TypeBasicCopySink = "SalesforceSink"
1429	// TypeSapCloudForCustomerSink ...
1430	TypeSapCloudForCustomerSink TypeBasicCopySink = "SapCloudForCustomerSink"
1431	// TypeSQLDWSink ...
1432	TypeSQLDWSink TypeBasicCopySink = "SqlDWSink"
1433	// TypeSQLMISink ...
1434	TypeSQLMISink TypeBasicCopySink = "SqlMISink"
1435	// TypeSQLServerSink ...
1436	TypeSQLServerSink TypeBasicCopySink = "SqlServerSink"
1437	// TypeSQLSink ...
1438	TypeSQLSink TypeBasicCopySink = "SqlSink"
1439)
1440
1441// PossibleTypeBasicCopySinkValues returns an array of possible values for the TypeBasicCopySink const type.
1442func PossibleTypeBasicCopySinkValues() []TypeBasicCopySink {
1443	return []TypeBasicCopySink{TypeAzureBlobFSSink, TypeAzureDataExplorerSink, TypeAzureDataLakeStoreSink, TypeAzurePostgreSQLSink, TypeAzureQueueSink, TypeAzureSearchIndexSink, TypeAzureSQLSink, TypeAzureTableSink, TypeBinarySink, TypeBlobSink, TypeCommonDataServiceForAppsSink, TypeCopySink, TypeCosmosDbMongoDbAPISink, TypeDelimitedTextSink, TypeDocumentDbCollectionSink, TypeDynamicsCrmSink, TypeDynamicsSink, TypeFileSystemSink, TypeInformixSink, TypeMicrosoftAccessSink, TypeOdbcSink, TypeOracleSink, TypeParquetSink, TypeSalesforceServiceCloudSink, TypeSalesforceSink, TypeSapCloudForCustomerSink, TypeSQLDWSink, TypeSQLMISink, TypeSQLServerSink, TypeSQLSink}
1444}
1445
1446// TypeBasicCopySource enumerates the values for type basic copy source.
1447type TypeBasicCopySource string
1448
1449const (
1450	// TypeAmazonMWSSource ...
1451	TypeAmazonMWSSource TypeBasicCopySource = "AmazonMWSSource"
1452	// TypeAmazonRedshiftSource ...
1453	TypeAmazonRedshiftSource TypeBasicCopySource = "AmazonRedshiftSource"
1454	// TypeAzureBlobFSSource ...
1455	TypeAzureBlobFSSource TypeBasicCopySource = "AzureBlobFSSource"
1456	// TypeAzureDataExplorerSource ...
1457	TypeAzureDataExplorerSource TypeBasicCopySource = "AzureDataExplorerSource"
1458	// TypeAzureDataLakeStoreSource ...
1459	TypeAzureDataLakeStoreSource TypeBasicCopySource = "AzureDataLakeStoreSource"
1460	// TypeAzureMySQLSource ...
1461	TypeAzureMySQLSource TypeBasicCopySource = "AzureMySqlSource"
1462	// TypeAzurePostgreSQLSource ...
1463	TypeAzurePostgreSQLSource TypeBasicCopySource = "AzurePostgreSqlSource"
1464	// TypeAzureSQLSource ...
1465	TypeAzureSQLSource TypeBasicCopySource = "AzureSqlSource"
1466	// TypeAzureTableSource ...
1467	TypeAzureTableSource TypeBasicCopySource = "AzureTableSource"
1468	// TypeBinarySource ...
1469	TypeBinarySource TypeBasicCopySource = "BinarySource"
1470	// TypeBlobSource ...
1471	TypeBlobSource TypeBasicCopySource = "BlobSource"
1472	// TypeCassandraSource ...
1473	TypeCassandraSource TypeBasicCopySource = "CassandraSource"
1474	// TypeCommonDataServiceForAppsSource ...
1475	TypeCommonDataServiceForAppsSource TypeBasicCopySource = "CommonDataServiceForAppsSource"
1476	// TypeConcurSource ...
1477	TypeConcurSource TypeBasicCopySource = "ConcurSource"
1478	// TypeCopySource ...
1479	TypeCopySource TypeBasicCopySource = "CopySource"
1480	// TypeCosmosDbMongoDbAPISource ...
1481	TypeCosmosDbMongoDbAPISource TypeBasicCopySource = "CosmosDbMongoDbApiSource"
1482	// TypeCouchbaseSource ...
1483	TypeCouchbaseSource TypeBasicCopySource = "CouchbaseSource"
1484	// TypeDb2Source ...
1485	TypeDb2Source TypeBasicCopySource = "Db2Source"
1486	// TypeDelimitedTextSource ...
1487	TypeDelimitedTextSource TypeBasicCopySource = "DelimitedTextSource"
1488	// TypeDocumentDbCollectionSource ...
1489	TypeDocumentDbCollectionSource TypeBasicCopySource = "DocumentDbCollectionSource"
1490	// TypeDrillSource ...
1491	TypeDrillSource TypeBasicCopySource = "DrillSource"
1492	// TypeDynamicsAXSource ...
1493	TypeDynamicsAXSource TypeBasicCopySource = "DynamicsAXSource"
1494	// TypeDynamicsCrmSource ...
1495	TypeDynamicsCrmSource TypeBasicCopySource = "DynamicsCrmSource"
1496	// TypeDynamicsSource ...
1497	TypeDynamicsSource TypeBasicCopySource = "DynamicsSource"
1498	// TypeEloquaSource ...
1499	TypeEloquaSource TypeBasicCopySource = "EloquaSource"
1500	// TypeFileSystemSource ...
1501	TypeFileSystemSource TypeBasicCopySource = "FileSystemSource"
1502	// TypeGoogleAdWordsSource ...
1503	TypeGoogleAdWordsSource TypeBasicCopySource = "GoogleAdWordsSource"
1504	// TypeGoogleBigQuerySource ...
1505	TypeGoogleBigQuerySource TypeBasicCopySource = "GoogleBigQuerySource"
1506	// TypeGreenplumSource ...
1507	TypeGreenplumSource TypeBasicCopySource = "GreenplumSource"
1508	// TypeHBaseSource ...
1509	TypeHBaseSource TypeBasicCopySource = "HBaseSource"
1510	// TypeHdfsSource ...
1511	TypeHdfsSource TypeBasicCopySource = "HdfsSource"
1512	// TypeHiveSource ...
1513	TypeHiveSource TypeBasicCopySource = "HiveSource"
1514	// TypeHTTPSource ...
1515	TypeHTTPSource TypeBasicCopySource = "HttpSource"
1516	// TypeHubspotSource ...
1517	TypeHubspotSource TypeBasicCopySource = "HubspotSource"
1518	// TypeImpalaSource ...
1519	TypeImpalaSource TypeBasicCopySource = "ImpalaSource"
1520	// TypeInformixSource ...
1521	TypeInformixSource TypeBasicCopySource = "InformixSource"
1522	// TypeJiraSource ...
1523	TypeJiraSource TypeBasicCopySource = "JiraSource"
1524	// TypeMagentoSource ...
1525	TypeMagentoSource TypeBasicCopySource = "MagentoSource"
1526	// TypeMariaDBSource ...
1527	TypeMariaDBSource TypeBasicCopySource = "MariaDBSource"
1528	// TypeMarketoSource ...
1529	TypeMarketoSource TypeBasicCopySource = "MarketoSource"
1530	// TypeMicrosoftAccessSource ...
1531	TypeMicrosoftAccessSource TypeBasicCopySource = "MicrosoftAccessSource"
1532	// TypeMongoDbSource ...
1533	TypeMongoDbSource TypeBasicCopySource = "MongoDbSource"
1534	// TypeMongoDbV2Source ...
1535	TypeMongoDbV2Source TypeBasicCopySource = "MongoDbV2Source"
1536	// TypeMySQLSource ...
1537	TypeMySQLSource TypeBasicCopySource = "MySqlSource"
1538	// TypeNetezzaSource ...
1539	TypeNetezzaSource TypeBasicCopySource = "NetezzaSource"
1540	// TypeODataSource ...
1541	TypeODataSource TypeBasicCopySource = "ODataSource"
1542	// TypeOdbcSource ...
1543	TypeOdbcSource TypeBasicCopySource = "OdbcSource"
1544	// TypeOffice365Source ...
1545	TypeOffice365Source TypeBasicCopySource = "Office365Source"
1546	// TypeOracleServiceCloudSource ...
1547	TypeOracleServiceCloudSource TypeBasicCopySource = "OracleServiceCloudSource"
1548	// TypeOracleSource ...
1549	TypeOracleSource TypeBasicCopySource = "OracleSource"
1550	// TypeParquetSource ...
1551	TypeParquetSource TypeBasicCopySource = "ParquetSource"
1552	// TypePaypalSource ...
1553	TypePaypalSource TypeBasicCopySource = "PaypalSource"
1554	// TypePhoenixSource ...
1555	TypePhoenixSource TypeBasicCopySource = "PhoenixSource"
1556	// TypePostgreSQLSource ...
1557	TypePostgreSQLSource TypeBasicCopySource = "PostgreSqlSource"
1558	// TypePrestoSource ...
1559	TypePrestoSource TypeBasicCopySource = "PrestoSource"
1560	// TypeQuickBooksSource ...
1561	TypeQuickBooksSource TypeBasicCopySource = "QuickBooksSource"
1562	// TypeRelationalSource ...
1563	TypeRelationalSource TypeBasicCopySource = "RelationalSource"
1564	// TypeResponsysSource ...
1565	TypeResponsysSource TypeBasicCopySource = "ResponsysSource"
1566	// TypeRestSource ...
1567	TypeRestSource TypeBasicCopySource = "RestSource"
1568	// TypeSalesforceMarketingCloudSource ...
1569	TypeSalesforceMarketingCloudSource TypeBasicCopySource = "SalesforceMarketingCloudSource"
1570	// TypeSalesforceServiceCloudSource ...
1571	TypeSalesforceServiceCloudSource TypeBasicCopySource = "SalesforceServiceCloudSource"
1572	// TypeSalesforceSource ...
1573	TypeSalesforceSource TypeBasicCopySource = "SalesforceSource"
1574	// TypeSapCloudForCustomerSource ...
1575	TypeSapCloudForCustomerSource TypeBasicCopySource = "SapCloudForCustomerSource"
1576	// TypeSapEccSource ...
1577	TypeSapEccSource TypeBasicCopySource = "SapEccSource"
1578	// TypeSapHanaSource ...
1579	TypeSapHanaSource TypeBasicCopySource = "SapHanaSource"
1580	// TypeSapOpenHubSource ...
1581	TypeSapOpenHubSource TypeBasicCopySource = "SapOpenHubSource"
1582	// TypeSapTableSource ...
1583	TypeSapTableSource TypeBasicCopySource = "SapTableSource"
1584	// TypeServiceNowSource ...
1585	TypeServiceNowSource TypeBasicCopySource = "ServiceNowSource"
1586	// TypeShopifySource ...
1587	TypeShopifySource TypeBasicCopySource = "ShopifySource"
1588	// TypeSparkSource ...
1589	TypeSparkSource TypeBasicCopySource = "SparkSource"
1590	// TypeSQLDWSource ...
1591	TypeSQLDWSource TypeBasicCopySource = "SqlDWSource"
1592	// TypeSQLMISource ...
1593	TypeSQLMISource TypeBasicCopySource = "SqlMISource"
1594	// TypeSQLServerSource ...
1595	TypeSQLServerSource TypeBasicCopySource = "SqlServerSource"
1596	// TypeSQLSource ...
1597	TypeSQLSource TypeBasicCopySource = "SqlSource"
1598	// TypeSquareSource ...
1599	TypeSquareSource TypeBasicCopySource = "SquareSource"
1600	// TypeSybaseSource ...
1601	TypeSybaseSource TypeBasicCopySource = "SybaseSource"
1602	// TypeTeradataSource ...
1603	TypeTeradataSource TypeBasicCopySource = "TeradataSource"
1604	// TypeVerticaSource ...
1605	TypeVerticaSource TypeBasicCopySource = "VerticaSource"
1606	// TypeWebSource ...
1607	TypeWebSource TypeBasicCopySource = "WebSource"
1608	// TypeXeroSource ...
1609	TypeXeroSource TypeBasicCopySource = "XeroSource"
1610	// TypeZohoSource ...
1611	TypeZohoSource TypeBasicCopySource = "ZohoSource"
1612)
1613
1614// PossibleTypeBasicCopySourceValues returns an array of possible values for the TypeBasicCopySource const type.
1615func PossibleTypeBasicCopySourceValues() []TypeBasicCopySource {
1616	return []TypeBasicCopySource{TypeAmazonMWSSource, TypeAmazonRedshiftSource, TypeAzureBlobFSSource, TypeAzureDataExplorerSource, TypeAzureDataLakeStoreSource, TypeAzureMySQLSource, TypeAzurePostgreSQLSource, TypeAzureSQLSource, TypeAzureTableSource, TypeBinarySource, TypeBlobSource, TypeCassandraSource, TypeCommonDataServiceForAppsSource, TypeConcurSource, TypeCopySource, TypeCosmosDbMongoDbAPISource, TypeCouchbaseSource, TypeDb2Source, TypeDelimitedTextSource, TypeDocumentDbCollectionSource, TypeDrillSource, TypeDynamicsAXSource, TypeDynamicsCrmSource, TypeDynamicsSource, TypeEloquaSource, TypeFileSystemSource, TypeGoogleAdWordsSource, TypeGoogleBigQuerySource, TypeGreenplumSource, TypeHBaseSource, TypeHdfsSource, TypeHiveSource, TypeHTTPSource, TypeHubspotSource, TypeImpalaSource, TypeInformixSource, TypeJiraSource, TypeMagentoSource, TypeMariaDBSource, TypeMarketoSource, TypeMicrosoftAccessSource, TypeMongoDbSource, TypeMongoDbV2Source, TypeMySQLSource, TypeNetezzaSource, TypeODataSource, TypeOdbcSource, TypeOffice365Source, TypeOracleServiceCloudSource, TypeOracleSource, TypeParquetSource, TypePaypalSource, TypePhoenixSource, TypePostgreSQLSource, TypePrestoSource, TypeQuickBooksSource, TypeRelationalSource, TypeResponsysSource, TypeRestSource, TypeSalesforceMarketingCloudSource, TypeSalesforceServiceCloudSource, TypeSalesforceSource, TypeSapCloudForCustomerSource, TypeSapEccSource, TypeSapHanaSource, TypeSapOpenHubSource, TypeSapTableSource, TypeServiceNowSource, TypeShopifySource, TypeSparkSource, TypeSQLDWSource, TypeSQLMISource, TypeSQLServerSource, TypeSQLSource, TypeSquareSource, TypeSybaseSource, TypeTeradataSource, TypeVerticaSource, TypeWebSource, TypeXeroSource, TypeZohoSource}
1617}
1618
1619// TypeBasicDataset enumerates the values for type basic dataset.
1620type TypeBasicDataset string
1621
1622const (
1623	// TypeAmazonMWSObject ...
1624	TypeAmazonMWSObject TypeBasicDataset = "AmazonMWSObject"
1625	// TypeAmazonS3Object ...
1626	TypeAmazonS3Object TypeBasicDataset = "AmazonS3Object"
1627	// TypeAzureBlob ...
1628	TypeAzureBlob TypeBasicDataset = "AzureBlob"
1629	// TypeAzureBlobFSFile ...
1630	TypeAzureBlobFSFile TypeBasicDataset = "AzureBlobFSFile"
1631	// TypeAzureDataExplorerTable ...
1632	TypeAzureDataExplorerTable TypeBasicDataset = "AzureDataExplorerTable"
1633	// TypeAzureDataLakeStoreFile ...
1634	TypeAzureDataLakeStoreFile TypeBasicDataset = "AzureDataLakeStoreFile"
1635	// TypeAzureMySQLTable ...
1636	TypeAzureMySQLTable TypeBasicDataset = "AzureMySqlTable"
1637	// TypeAzurePostgreSQLTable ...
1638	TypeAzurePostgreSQLTable TypeBasicDataset = "AzurePostgreSqlTable"
1639	// TypeAzureSearchIndex ...
1640	TypeAzureSearchIndex TypeBasicDataset = "AzureSearchIndex"
1641	// TypeAzureSQLDWTable ...
1642	TypeAzureSQLDWTable TypeBasicDataset = "AzureSqlDWTable"
1643	// TypeAzureSQLMITable ...
1644	TypeAzureSQLMITable TypeBasicDataset = "AzureSqlMITable"
1645	// TypeAzureSQLTable ...
1646	TypeAzureSQLTable TypeBasicDataset = "AzureSqlTable"
1647	// TypeAzureTable ...
1648	TypeAzureTable TypeBasicDataset = "AzureTable"
1649	// TypeBinary ...
1650	TypeBinary TypeBasicDataset = "Binary"
1651	// TypeCassandraTable ...
1652	TypeCassandraTable TypeBasicDataset = "CassandraTable"
1653	// TypeCommonDataServiceForAppsEntity ...
1654	TypeCommonDataServiceForAppsEntity TypeBasicDataset = "CommonDataServiceForAppsEntity"
1655	// TypeConcurObject ...
1656	TypeConcurObject TypeBasicDataset = "ConcurObject"
1657	// TypeCosmosDbMongoDbAPICollection ...
1658	TypeCosmosDbMongoDbAPICollection TypeBasicDataset = "CosmosDbMongoDbApiCollection"
1659	// TypeCouchbaseTable ...
1660	TypeCouchbaseTable TypeBasicDataset = "CouchbaseTable"
1661	// TypeCustomDataset ...
1662	TypeCustomDataset TypeBasicDataset = "CustomDataset"
1663	// TypeDataset ...
1664	TypeDataset TypeBasicDataset = "Dataset"
1665	// TypeDelimitedText ...
1666	TypeDelimitedText TypeBasicDataset = "DelimitedText"
1667	// TypeDocumentDbCollection ...
1668	TypeDocumentDbCollection TypeBasicDataset = "DocumentDbCollection"
1669	// TypeDrillTable ...
1670	TypeDrillTable TypeBasicDataset = "DrillTable"
1671	// TypeDynamicsAXResource ...
1672	TypeDynamicsAXResource TypeBasicDataset = "DynamicsAXResource"
1673	// TypeDynamicsCrmEntity ...
1674	TypeDynamicsCrmEntity TypeBasicDataset = "DynamicsCrmEntity"
1675	// TypeDynamicsEntity ...
1676	TypeDynamicsEntity TypeBasicDataset = "DynamicsEntity"
1677	// TypeEloquaObject ...
1678	TypeEloquaObject TypeBasicDataset = "EloquaObject"
1679	// TypeFileShare ...
1680	TypeFileShare TypeBasicDataset = "FileShare"
1681	// TypeGoogleAdWordsObject ...
1682	TypeGoogleAdWordsObject TypeBasicDataset = "GoogleAdWordsObject"
1683	// TypeGoogleBigQueryObject ...
1684	TypeGoogleBigQueryObject TypeBasicDataset = "GoogleBigQueryObject"
1685	// TypeGreenplumTable ...
1686	TypeGreenplumTable TypeBasicDataset = "GreenplumTable"
1687	// TypeHBaseObject ...
1688	TypeHBaseObject TypeBasicDataset = "HBaseObject"
1689	// TypeHiveObject ...
1690	TypeHiveObject TypeBasicDataset = "HiveObject"
1691	// TypeHTTPFile ...
1692	TypeHTTPFile TypeBasicDataset = "HttpFile"
1693	// TypeHubspotObject ...
1694	TypeHubspotObject TypeBasicDataset = "HubspotObject"
1695	// TypeImpalaObject ...
1696	TypeImpalaObject TypeBasicDataset = "ImpalaObject"
1697	// TypeInformixTable ...
1698	TypeInformixTable TypeBasicDataset = "InformixTable"
1699	// TypeJiraObject ...
1700	TypeJiraObject TypeBasicDataset = "JiraObject"
1701	// TypeMagentoObject ...
1702	TypeMagentoObject TypeBasicDataset = "MagentoObject"
1703	// TypeMariaDBTable ...
1704	TypeMariaDBTable TypeBasicDataset = "MariaDBTable"
1705	// TypeMarketoObject ...
1706	TypeMarketoObject TypeBasicDataset = "MarketoObject"
1707	// TypeMicrosoftAccessTable ...
1708	TypeMicrosoftAccessTable TypeBasicDataset = "MicrosoftAccessTable"
1709	// TypeMongoDbCollection ...
1710	TypeMongoDbCollection TypeBasicDataset = "MongoDbCollection"
1711	// TypeMongoDbV2Collection ...
1712	TypeMongoDbV2Collection TypeBasicDataset = "MongoDbV2Collection"
1713	// TypeMySQLTable ...
1714	TypeMySQLTable TypeBasicDataset = "MySqlTable"
1715	// TypeNetezzaTable ...
1716	TypeNetezzaTable TypeBasicDataset = "NetezzaTable"
1717	// TypeODataResource ...
1718	TypeODataResource TypeBasicDataset = "ODataResource"
1719	// TypeOdbcTable ...
1720	TypeOdbcTable TypeBasicDataset = "OdbcTable"
1721	// TypeOffice365Table ...
1722	TypeOffice365Table TypeBasicDataset = "Office365Table"
1723	// TypeOracleServiceCloudObject ...
1724	TypeOracleServiceCloudObject TypeBasicDataset = "OracleServiceCloudObject"
1725	// TypeOracleTable ...
1726	TypeOracleTable TypeBasicDataset = "OracleTable"
1727	// TypeParquet ...
1728	TypeParquet TypeBasicDataset = "Parquet"
1729	// TypePaypalObject ...
1730	TypePaypalObject TypeBasicDataset = "PaypalObject"
1731	// TypePhoenixObject ...
1732	TypePhoenixObject TypeBasicDataset = "PhoenixObject"
1733	// TypePostgreSQLTable ...
1734	TypePostgreSQLTable TypeBasicDataset = "PostgreSqlTable"
1735	// TypePrestoObject ...
1736	TypePrestoObject TypeBasicDataset = "PrestoObject"
1737	// TypeQuickBooksObject ...
1738	TypeQuickBooksObject TypeBasicDataset = "QuickBooksObject"
1739	// TypeRelationalTable ...
1740	TypeRelationalTable TypeBasicDataset = "RelationalTable"
1741	// TypeResponsysObject ...
1742	TypeResponsysObject TypeBasicDataset = "ResponsysObject"
1743	// TypeRestResource ...
1744	TypeRestResource TypeBasicDataset = "RestResource"
1745	// TypeSalesforceMarketingCloudObject ...
1746	TypeSalesforceMarketingCloudObject TypeBasicDataset = "SalesforceMarketingCloudObject"
1747	// TypeSalesforceObject ...
1748	TypeSalesforceObject TypeBasicDataset = "SalesforceObject"
1749	// TypeSalesforceServiceCloudObject ...
1750	TypeSalesforceServiceCloudObject TypeBasicDataset = "SalesforceServiceCloudObject"
1751	// TypeSapCloudForCustomerResource ...
1752	TypeSapCloudForCustomerResource TypeBasicDataset = "SapCloudForCustomerResource"
1753	// TypeSapEccResource ...
1754	TypeSapEccResource TypeBasicDataset = "SapEccResource"
1755	// TypeSapHanaTable ...
1756	TypeSapHanaTable TypeBasicDataset = "SapHanaTable"
1757	// TypeSapOpenHubTable ...
1758	TypeSapOpenHubTable TypeBasicDataset = "SapOpenHubTable"
1759	// TypeSapTableResource ...
1760	TypeSapTableResource TypeBasicDataset = "SapTableResource"
1761	// TypeServiceNowObject ...
1762	TypeServiceNowObject TypeBasicDataset = "ServiceNowObject"
1763	// TypeShopifyObject ...
1764	TypeShopifyObject TypeBasicDataset = "ShopifyObject"
1765	// TypeSparkObject ...
1766	TypeSparkObject TypeBasicDataset = "SparkObject"
1767	// TypeSQLServerTable ...
1768	TypeSQLServerTable TypeBasicDataset = "SqlServerTable"
1769	// TypeSquareObject ...
1770	TypeSquareObject TypeBasicDataset = "SquareObject"
1771	// TypeTeradataTable ...
1772	TypeTeradataTable TypeBasicDataset = "TeradataTable"
1773	// TypeVerticaTable ...
1774	TypeVerticaTable TypeBasicDataset = "VerticaTable"
1775	// TypeWebTable ...
1776	TypeWebTable TypeBasicDataset = "WebTable"
1777	// TypeXeroObject ...
1778	TypeXeroObject TypeBasicDataset = "XeroObject"
1779	// TypeZohoObject ...
1780	TypeZohoObject TypeBasicDataset = "ZohoObject"
1781)
1782
1783// PossibleTypeBasicDatasetValues returns an array of possible values for the TypeBasicDataset const type.
1784func PossibleTypeBasicDatasetValues() []TypeBasicDataset {
1785	return []TypeBasicDataset{TypeAmazonMWSObject, TypeAmazonS3Object, TypeAzureBlob, TypeAzureBlobFSFile, TypeAzureDataExplorerTable, TypeAzureDataLakeStoreFile, TypeAzureMySQLTable, TypeAzurePostgreSQLTable, TypeAzureSearchIndex, TypeAzureSQLDWTable, TypeAzureSQLMITable, TypeAzureSQLTable, TypeAzureTable, TypeBinary, TypeCassandraTable, TypeCommonDataServiceForAppsEntity, TypeConcurObject, TypeCosmosDbMongoDbAPICollection, TypeCouchbaseTable, TypeCustomDataset, TypeDataset, TypeDelimitedText, TypeDocumentDbCollection, TypeDrillTable, TypeDynamicsAXResource, TypeDynamicsCrmEntity, TypeDynamicsEntity, TypeEloquaObject, TypeFileShare, TypeGoogleAdWordsObject, TypeGoogleBigQueryObject, TypeGreenplumTable, TypeHBaseObject, TypeHiveObject, TypeHTTPFile, TypeHubspotObject, TypeImpalaObject, TypeInformixTable, TypeJiraObject, TypeMagentoObject, TypeMariaDBTable, TypeMarketoObject, TypeMicrosoftAccessTable, TypeMongoDbCollection, TypeMongoDbV2Collection, TypeMySQLTable, TypeNetezzaTable, TypeODataResource, TypeOdbcTable, TypeOffice365Table, TypeOracleServiceCloudObject, TypeOracleTable, TypeParquet, TypePaypalObject, TypePhoenixObject, TypePostgreSQLTable, TypePrestoObject, TypeQuickBooksObject, TypeRelationalTable, TypeResponsysObject, TypeRestResource, TypeSalesforceMarketingCloudObject, TypeSalesforceObject, TypeSalesforceServiceCloudObject, TypeSapCloudForCustomerResource, TypeSapEccResource, TypeSapHanaTable, TypeSapOpenHubTable, TypeSapTableResource, TypeServiceNowObject, TypeShopifyObject, TypeSparkObject, TypeSQLServerTable, TypeSquareObject, TypeTeradataTable, TypeVerticaTable, TypeWebTable, TypeXeroObject, TypeZohoObject}
1786}
1787
1788// TypeBasicDatasetCompression enumerates the values for type basic dataset compression.
1789type TypeBasicDatasetCompression string
1790
1791const (
1792	// TypeBZip2 ...
1793	TypeBZip2 TypeBasicDatasetCompression = "BZip2"
1794	// TypeDatasetCompression ...
1795	TypeDatasetCompression TypeBasicDatasetCompression = "DatasetCompression"
1796	// TypeDeflate ...
1797	TypeDeflate TypeBasicDatasetCompression = "Deflate"
1798	// TypeGZip ...
1799	TypeGZip TypeBasicDatasetCompression = "GZip"
1800	// TypeZipDeflate ...
1801	TypeZipDeflate TypeBasicDatasetCompression = "ZipDeflate"
1802)
1803
1804// PossibleTypeBasicDatasetCompressionValues returns an array of possible values for the TypeBasicDatasetCompression const type.
1805func PossibleTypeBasicDatasetCompressionValues() []TypeBasicDatasetCompression {
1806	return []TypeBasicDatasetCompression{TypeBZip2, TypeDatasetCompression, TypeDeflate, TypeGZip, TypeZipDeflate}
1807}
1808
1809// TypeBasicDatasetStorageFormat enumerates the values for type basic dataset storage format.
1810type TypeBasicDatasetStorageFormat string
1811
1812const (
1813	// TypeAvroFormat ...
1814	TypeAvroFormat TypeBasicDatasetStorageFormat = "AvroFormat"
1815	// TypeDatasetStorageFormat ...
1816	TypeDatasetStorageFormat TypeBasicDatasetStorageFormat = "DatasetStorageFormat"
1817	// TypeJSONFormat ...
1818	TypeJSONFormat TypeBasicDatasetStorageFormat = "JsonFormat"
1819	// TypeOrcFormat ...
1820	TypeOrcFormat TypeBasicDatasetStorageFormat = "OrcFormat"
1821	// TypeParquetFormat ...
1822	TypeParquetFormat TypeBasicDatasetStorageFormat = "ParquetFormat"
1823	// TypeTextFormat ...
1824	TypeTextFormat TypeBasicDatasetStorageFormat = "TextFormat"
1825)
1826
1827// PossibleTypeBasicDatasetStorageFormatValues returns an array of possible values for the TypeBasicDatasetStorageFormat const type.
1828func PossibleTypeBasicDatasetStorageFormatValues() []TypeBasicDatasetStorageFormat {
1829	return []TypeBasicDatasetStorageFormat{TypeAvroFormat, TypeDatasetStorageFormat, TypeJSONFormat, TypeOrcFormat, TypeParquetFormat, TypeTextFormat}
1830}
1831
1832// TypeBasicDependencyReference enumerates the values for type basic dependency reference.
1833type TypeBasicDependencyReference string
1834
1835const (
1836	// TypeDependencyReference ...
1837	TypeDependencyReference TypeBasicDependencyReference = "DependencyReference"
1838	// TypeSelfDependencyTumblingWindowTriggerReference ...
1839	TypeSelfDependencyTumblingWindowTriggerReference TypeBasicDependencyReference = "SelfDependencyTumblingWindowTriggerReference"
1840	// TypeTriggerDependencyReference ...
1841	TypeTriggerDependencyReference TypeBasicDependencyReference = "TriggerDependencyReference"
1842	// TypeTumblingWindowTriggerDependencyReference ...
1843	TypeTumblingWindowTriggerDependencyReference TypeBasicDependencyReference = "TumblingWindowTriggerDependencyReference"
1844)
1845
1846// PossibleTypeBasicDependencyReferenceValues returns an array of possible values for the TypeBasicDependencyReference const type.
1847func PossibleTypeBasicDependencyReferenceValues() []TypeBasicDependencyReference {
1848	return []TypeBasicDependencyReference{TypeDependencyReference, TypeSelfDependencyTumblingWindowTriggerReference, TypeTriggerDependencyReference, TypeTumblingWindowTriggerDependencyReference}
1849}
1850
1851// TypeBasicFactoryRepoConfiguration enumerates the values for type basic factory repo configuration.
1852type TypeBasicFactoryRepoConfiguration string
1853
1854const (
1855	// TypeFactoryGitHubConfiguration ...
1856	TypeFactoryGitHubConfiguration TypeBasicFactoryRepoConfiguration = "FactoryGitHubConfiguration"
1857	// TypeFactoryRepoConfiguration ...
1858	TypeFactoryRepoConfiguration TypeBasicFactoryRepoConfiguration = "FactoryRepoConfiguration"
1859	// TypeFactoryVSTSConfiguration ...
1860	TypeFactoryVSTSConfiguration TypeBasicFactoryRepoConfiguration = "FactoryVSTSConfiguration"
1861)
1862
1863// PossibleTypeBasicFactoryRepoConfigurationValues returns an array of possible values for the TypeBasicFactoryRepoConfiguration const type.
1864func PossibleTypeBasicFactoryRepoConfigurationValues() []TypeBasicFactoryRepoConfiguration {
1865	return []TypeBasicFactoryRepoConfiguration{TypeFactoryGitHubConfiguration, TypeFactoryRepoConfiguration, TypeFactoryVSTSConfiguration}
1866}
1867
1868// TypeBasicIntegrationRuntime enumerates the values for type basic integration runtime.
1869type TypeBasicIntegrationRuntime string
1870
1871const (
1872	// TypeIntegrationRuntime ...
1873	TypeIntegrationRuntime TypeBasicIntegrationRuntime = "IntegrationRuntime"
1874	// TypeManaged ...
1875	TypeManaged TypeBasicIntegrationRuntime = "Managed"
1876	// TypeSelfHosted ...
1877	TypeSelfHosted TypeBasicIntegrationRuntime = "SelfHosted"
1878)
1879
1880// PossibleTypeBasicIntegrationRuntimeValues returns an array of possible values for the TypeBasicIntegrationRuntime const type.
1881func PossibleTypeBasicIntegrationRuntimeValues() []TypeBasicIntegrationRuntime {
1882	return []TypeBasicIntegrationRuntime{TypeIntegrationRuntime, TypeManaged, TypeSelfHosted}
1883}
1884
1885// TypeBasicIntegrationRuntimeStatus enumerates the values for type basic integration runtime status.
1886type TypeBasicIntegrationRuntimeStatus string
1887
1888const (
1889	// TypeBasicIntegrationRuntimeStatusTypeIntegrationRuntimeStatus ...
1890	TypeBasicIntegrationRuntimeStatusTypeIntegrationRuntimeStatus TypeBasicIntegrationRuntimeStatus = "IntegrationRuntimeStatus"
1891	// TypeBasicIntegrationRuntimeStatusTypeManaged ...
1892	TypeBasicIntegrationRuntimeStatusTypeManaged TypeBasicIntegrationRuntimeStatus = "Managed"
1893	// TypeBasicIntegrationRuntimeStatusTypeSelfHosted ...
1894	TypeBasicIntegrationRuntimeStatusTypeSelfHosted TypeBasicIntegrationRuntimeStatus = "SelfHosted"
1895)
1896
1897// PossibleTypeBasicIntegrationRuntimeStatusValues returns an array of possible values for the TypeBasicIntegrationRuntimeStatus const type.
1898func PossibleTypeBasicIntegrationRuntimeStatusValues() []TypeBasicIntegrationRuntimeStatus {
1899	return []TypeBasicIntegrationRuntimeStatus{TypeBasicIntegrationRuntimeStatusTypeIntegrationRuntimeStatus, TypeBasicIntegrationRuntimeStatusTypeManaged, TypeBasicIntegrationRuntimeStatusTypeSelfHosted}
1900}
1901
1902// TypeBasicLinkedService enumerates the values for type basic linked service.
1903type TypeBasicLinkedService string
1904
1905const (
1906	// TypeAmazonMWS ...
1907	TypeAmazonMWS TypeBasicLinkedService = "AmazonMWS"
1908	// TypeAmazonRedshift ...
1909	TypeAmazonRedshift TypeBasicLinkedService = "AmazonRedshift"
1910	// TypeAmazonS3 ...
1911	TypeAmazonS3 TypeBasicLinkedService = "AmazonS3"
1912	// TypeAzureBatch ...
1913	TypeAzureBatch TypeBasicLinkedService = "AzureBatch"
1914	// TypeAzureBlobFS ...
1915	TypeAzureBlobFS TypeBasicLinkedService = "AzureBlobFS"
1916	// TypeAzureBlobStorage ...
1917	TypeAzureBlobStorage TypeBasicLinkedService = "AzureBlobStorage"
1918	// TypeAzureDatabricks ...
1919	TypeAzureDatabricks TypeBasicLinkedService = "AzureDatabricks"
1920	// TypeAzureDataExplorer ...
1921	TypeAzureDataExplorer TypeBasicLinkedService = "AzureDataExplorer"
1922	// TypeAzureDataLakeAnalytics ...
1923	TypeAzureDataLakeAnalytics TypeBasicLinkedService = "AzureDataLakeAnalytics"
1924	// TypeAzureDataLakeStore ...
1925	TypeAzureDataLakeStore TypeBasicLinkedService = "AzureDataLakeStore"
1926	// TypeAzureFunction ...
1927	TypeAzureFunction TypeBasicLinkedService = "AzureFunction"
1928	// TypeAzureKeyVault ...
1929	TypeAzureKeyVault TypeBasicLinkedService = "AzureKeyVault"
1930	// TypeAzureML ...
1931	TypeAzureML TypeBasicLinkedService = "AzureML"
1932	// TypeAzureMySQL ...
1933	TypeAzureMySQL TypeBasicLinkedService = "AzureMySql"
1934	// TypeAzurePostgreSQL ...
1935	TypeAzurePostgreSQL TypeBasicLinkedService = "AzurePostgreSql"
1936	// TypeAzureSearch ...
1937	TypeAzureSearch TypeBasicLinkedService = "AzureSearch"
1938	// TypeAzureSQLDatabase ...
1939	TypeAzureSQLDatabase TypeBasicLinkedService = "AzureSqlDatabase"
1940	// TypeAzureSQLDW ...
1941	TypeAzureSQLDW TypeBasicLinkedService = "AzureSqlDW"
1942	// TypeAzureSQLMI ...
1943	TypeAzureSQLMI TypeBasicLinkedService = "AzureSqlMI"
1944	// TypeAzureStorage ...
1945	TypeAzureStorage TypeBasicLinkedService = "AzureStorage"
1946	// TypeAzureTableStorage ...
1947	TypeAzureTableStorage TypeBasicLinkedService = "AzureTableStorage"
1948	// TypeCassandra ...
1949	TypeCassandra TypeBasicLinkedService = "Cassandra"
1950	// TypeCommonDataServiceForApps ...
1951	TypeCommonDataServiceForApps TypeBasicLinkedService = "CommonDataServiceForApps"
1952	// TypeConcur ...
1953	TypeConcur TypeBasicLinkedService = "Concur"
1954	// TypeCosmosDb ...
1955	TypeCosmosDb TypeBasicLinkedService = "CosmosDb"
1956	// TypeCosmosDbMongoDbAPI ...
1957	TypeCosmosDbMongoDbAPI TypeBasicLinkedService = "CosmosDbMongoDbApi"
1958	// TypeCouchbase ...
1959	TypeCouchbase TypeBasicLinkedService = "Couchbase"
1960	// TypeCustomDataSource ...
1961	TypeCustomDataSource TypeBasicLinkedService = "CustomDataSource"
1962	// TypeDb2 ...
1963	TypeDb2 TypeBasicLinkedService = "Db2"
1964	// TypeDrill ...
1965	TypeDrill TypeBasicLinkedService = "Drill"
1966	// TypeDynamics ...
1967	TypeDynamics TypeBasicLinkedService = "Dynamics"
1968	// TypeDynamicsAX ...
1969	TypeDynamicsAX TypeBasicLinkedService = "DynamicsAX"
1970	// TypeDynamicsCrm ...
1971	TypeDynamicsCrm TypeBasicLinkedService = "DynamicsCrm"
1972	// TypeEloqua ...
1973	TypeEloqua TypeBasicLinkedService = "Eloqua"
1974	// TypeFileServer ...
1975	TypeFileServer TypeBasicLinkedService = "FileServer"
1976	// TypeFtpServer ...
1977	TypeFtpServer TypeBasicLinkedService = "FtpServer"
1978	// TypeGoogleAdWords ...
1979	TypeGoogleAdWords TypeBasicLinkedService = "GoogleAdWords"
1980	// TypeGoogleBigQuery ...
1981	TypeGoogleBigQuery TypeBasicLinkedService = "GoogleBigQuery"
1982	// TypeGreenplum ...
1983	TypeGreenplum TypeBasicLinkedService = "Greenplum"
1984	// TypeHBase ...
1985	TypeHBase TypeBasicLinkedService = "HBase"
1986	// TypeHdfs ...
1987	TypeHdfs TypeBasicLinkedService = "Hdfs"
1988	// TypeHDInsight ...
1989	TypeHDInsight TypeBasicLinkedService = "HDInsight"
1990	// TypeHDInsightOnDemand ...
1991	TypeHDInsightOnDemand TypeBasicLinkedService = "HDInsightOnDemand"
1992	// TypeHive ...
1993	TypeHive TypeBasicLinkedService = "Hive"
1994	// TypeHTTPServer ...
1995	TypeHTTPServer TypeBasicLinkedService = "HttpServer"
1996	// TypeHubspot ...
1997	TypeHubspot TypeBasicLinkedService = "Hubspot"
1998	// TypeImpala ...
1999	TypeImpala TypeBasicLinkedService = "Impala"
2000	// TypeInformix ...
2001	TypeInformix TypeBasicLinkedService = "Informix"
2002	// TypeJira ...
2003	TypeJira TypeBasicLinkedService = "Jira"
2004	// TypeLinkedService ...
2005	TypeLinkedService TypeBasicLinkedService = "LinkedService"
2006	// TypeMagento ...
2007	TypeMagento TypeBasicLinkedService = "Magento"
2008	// TypeMariaDB ...
2009	TypeMariaDB TypeBasicLinkedService = "MariaDB"
2010	// TypeMarketo ...
2011	TypeMarketo TypeBasicLinkedService = "Marketo"
2012	// TypeMicrosoftAccess ...
2013	TypeMicrosoftAccess TypeBasicLinkedService = "MicrosoftAccess"
2014	// TypeMongoDb ...
2015	TypeMongoDb TypeBasicLinkedService = "MongoDb"
2016	// TypeMongoDbV2 ...
2017	TypeMongoDbV2 TypeBasicLinkedService = "MongoDbV2"
2018	// TypeMySQL ...
2019	TypeMySQL TypeBasicLinkedService = "MySql"
2020	// TypeNetezza ...
2021	TypeNetezza TypeBasicLinkedService = "Netezza"
2022	// TypeOData ...
2023	TypeOData TypeBasicLinkedService = "OData"
2024	// TypeOdbc ...
2025	TypeOdbc TypeBasicLinkedService = "Odbc"
2026	// TypeOffice365 ...
2027	TypeOffice365 TypeBasicLinkedService = "Office365"
2028	// TypeOracle ...
2029	TypeOracle TypeBasicLinkedService = "Oracle"
2030	// TypeOracleServiceCloud ...
2031	TypeOracleServiceCloud TypeBasicLinkedService = "OracleServiceCloud"
2032	// TypePaypal ...
2033	TypePaypal TypeBasicLinkedService = "Paypal"
2034	// TypePhoenix ...
2035	TypePhoenix TypeBasicLinkedService = "Phoenix"
2036	// TypePostgreSQL ...
2037	TypePostgreSQL TypeBasicLinkedService = "PostgreSql"
2038	// TypePresto ...
2039	TypePresto TypeBasicLinkedService = "Presto"
2040	// TypeQuickBooks ...
2041	TypeQuickBooks TypeBasicLinkedService = "QuickBooks"
2042	// TypeResponsys ...
2043	TypeResponsys TypeBasicLinkedService = "Responsys"
2044	// TypeRestService ...
2045	TypeRestService TypeBasicLinkedService = "RestService"
2046	// TypeSalesforce ...
2047	TypeSalesforce TypeBasicLinkedService = "Salesforce"
2048	// TypeSalesforceMarketingCloud ...
2049	TypeSalesforceMarketingCloud TypeBasicLinkedService = "SalesforceMarketingCloud"
2050	// TypeSalesforceServiceCloud ...
2051	TypeSalesforceServiceCloud TypeBasicLinkedService = "SalesforceServiceCloud"
2052	// TypeSapBW ...
2053	TypeSapBW TypeBasicLinkedService = "SapBW"
2054	// TypeSapCloudForCustomer ...
2055	TypeSapCloudForCustomer TypeBasicLinkedService = "SapCloudForCustomer"
2056	// TypeSapEcc ...
2057	TypeSapEcc TypeBasicLinkedService = "SapEcc"
2058	// TypeSapHana ...
2059	TypeSapHana TypeBasicLinkedService = "SapHana"
2060	// TypeSapOpenHub ...
2061	TypeSapOpenHub TypeBasicLinkedService = "SapOpenHub"
2062	// TypeSapTable ...
2063	TypeSapTable TypeBasicLinkedService = "SapTable"
2064	// TypeServiceNow ...
2065	TypeServiceNow TypeBasicLinkedService = "ServiceNow"
2066	// TypeSftp ...
2067	TypeSftp TypeBasicLinkedService = "Sftp"
2068	// TypeShopify ...
2069	TypeShopify TypeBasicLinkedService = "Shopify"
2070	// TypeSpark ...
2071	TypeSpark TypeBasicLinkedService = "Spark"
2072	// TypeSQLServer ...
2073	TypeSQLServer TypeBasicLinkedService = "SqlServer"
2074	// TypeSquare ...
2075	TypeSquare TypeBasicLinkedService = "Square"
2076	// TypeSybase ...
2077	TypeSybase TypeBasicLinkedService = "Sybase"
2078	// TypeTeradata ...
2079	TypeTeradata TypeBasicLinkedService = "Teradata"
2080	// TypeVertica ...
2081	TypeVertica TypeBasicLinkedService = "Vertica"
2082	// TypeWeb ...
2083	TypeWeb TypeBasicLinkedService = "Web"
2084	// TypeXero ...
2085	TypeXero TypeBasicLinkedService = "Xero"
2086	// TypeZoho ...
2087	TypeZoho TypeBasicLinkedService = "Zoho"
2088)
2089
2090// PossibleTypeBasicLinkedServiceValues returns an array of possible values for the TypeBasicLinkedService const type.
2091func PossibleTypeBasicLinkedServiceValues() []TypeBasicLinkedService {
2092	return []TypeBasicLinkedService{TypeAmazonMWS, TypeAmazonRedshift, TypeAmazonS3, TypeAzureBatch, TypeAzureBlobFS, TypeAzureBlobStorage, TypeAzureDatabricks, TypeAzureDataExplorer, TypeAzureDataLakeAnalytics, TypeAzureDataLakeStore, TypeAzureFunction, TypeAzureKeyVault, TypeAzureML, TypeAzureMySQL, TypeAzurePostgreSQL, TypeAzureSearch, TypeAzureSQLDatabase, TypeAzureSQLDW, TypeAzureSQLMI, TypeAzureStorage, TypeAzureTableStorage, TypeCassandra, TypeCommonDataServiceForApps, TypeConcur, TypeCosmosDb, TypeCosmosDbMongoDbAPI, TypeCouchbase, TypeCustomDataSource, TypeDb2, TypeDrill, TypeDynamics, TypeDynamicsAX, TypeDynamicsCrm, TypeEloqua, TypeFileServer, TypeFtpServer, TypeGoogleAdWords, TypeGoogleBigQuery, TypeGreenplum, TypeHBase, TypeHdfs, TypeHDInsight, TypeHDInsightOnDemand, TypeHive, TypeHTTPServer, TypeHubspot, TypeImpala, TypeInformix, TypeJira, TypeLinkedService, TypeMagento, TypeMariaDB, TypeMarketo, TypeMicrosoftAccess, TypeMongoDb, TypeMongoDbV2, TypeMySQL, TypeNetezza, TypeOData, TypeOdbc, TypeOffice365, TypeOracle, TypeOracleServiceCloud, TypePaypal, TypePhoenix, TypePostgreSQL, TypePresto, TypeQuickBooks, TypeResponsys, TypeRestService, TypeSalesforce, TypeSalesforceMarketingCloud, TypeSalesforceServiceCloud, TypeSapBW, TypeSapCloudForCustomer, TypeSapEcc, TypeSapHana, TypeSapOpenHub, TypeSapTable, TypeServiceNow, TypeSftp, TypeShopify, TypeSpark, TypeSQLServer, TypeSquare, TypeSybase, TypeTeradata, TypeVertica, TypeWeb, TypeXero, TypeZoho}
2093}
2094
2095// TypeBasicSsisObjectMetadata enumerates the values for type basic ssis object metadata.
2096type TypeBasicSsisObjectMetadata string
2097
2098const (
2099	// TypeEnvironment ...
2100	TypeEnvironment TypeBasicSsisObjectMetadata = "Environment"
2101	// TypeFolder ...
2102	TypeFolder TypeBasicSsisObjectMetadata = "Folder"
2103	// TypePackage ...
2104	TypePackage TypeBasicSsisObjectMetadata = "Package"
2105	// TypeProject ...
2106	TypeProject TypeBasicSsisObjectMetadata = "Project"
2107	// TypeSsisObjectMetadata ...
2108	TypeSsisObjectMetadata TypeBasicSsisObjectMetadata = "SsisObjectMetadata"
2109)
2110
2111// PossibleTypeBasicSsisObjectMetadataValues returns an array of possible values for the TypeBasicSsisObjectMetadata const type.
2112func PossibleTypeBasicSsisObjectMetadataValues() []TypeBasicSsisObjectMetadata {
2113	return []TypeBasicSsisObjectMetadata{TypeEnvironment, TypeFolder, TypePackage, TypeProject, TypeSsisObjectMetadata}
2114}
2115
2116// TypeBasicTrigger enumerates the values for type basic trigger.
2117type TypeBasicTrigger string
2118
2119const (
2120	// TypeBlobEventsTrigger ...
2121	TypeBlobEventsTrigger TypeBasicTrigger = "BlobEventsTrigger"
2122	// TypeBlobTrigger ...
2123	TypeBlobTrigger TypeBasicTrigger = "BlobTrigger"
2124	// TypeMultiplePipelineTrigger ...
2125	TypeMultiplePipelineTrigger TypeBasicTrigger = "MultiplePipelineTrigger"
2126	// TypeRerunTumblingWindowTrigger ...
2127	TypeRerunTumblingWindowTrigger TypeBasicTrigger = "RerunTumblingWindowTrigger"
2128	// TypeScheduleTrigger ...
2129	TypeScheduleTrigger TypeBasicTrigger = "ScheduleTrigger"
2130	// TypeTrigger ...
2131	TypeTrigger TypeBasicTrigger = "Trigger"
2132	// TypeTumblingWindowTrigger ...
2133	TypeTumblingWindowTrigger TypeBasicTrigger = "TumblingWindowTrigger"
2134)
2135
2136// PossibleTypeBasicTriggerValues returns an array of possible values for the TypeBasicTrigger const type.
2137func PossibleTypeBasicTriggerValues() []TypeBasicTrigger {
2138	return []TypeBasicTrigger{TypeBlobEventsTrigger, TypeBlobTrigger, TypeMultiplePipelineTrigger, TypeRerunTumblingWindowTrigger, TypeScheduleTrigger, TypeTrigger, TypeTumblingWindowTrigger}
2139}
2140
2141// VariableType enumerates the values for variable type.
2142type VariableType string
2143
2144const (
2145	// VariableTypeArray ...
2146	VariableTypeArray VariableType = "Array"
2147	// VariableTypeBool ...
2148	VariableTypeBool VariableType = "Bool"
2149	// VariableTypeString ...
2150	VariableTypeString VariableType = "String"
2151)
2152
2153// PossibleVariableTypeValues returns an array of possible values for the VariableType const type.
2154func PossibleVariableTypeValues() []VariableType {
2155	return []VariableType{VariableTypeArray, VariableTypeBool, VariableTypeString}
2156}
2157
2158// WebActivityMethod enumerates the values for web activity method.
2159type WebActivityMethod string
2160
2161const (
2162	// WebActivityMethodDELETE ...
2163	WebActivityMethodDELETE WebActivityMethod = "DELETE"
2164	// WebActivityMethodGET ...
2165	WebActivityMethodGET WebActivityMethod = "GET"
2166	// WebActivityMethodPOST ...
2167	WebActivityMethodPOST WebActivityMethod = "POST"
2168	// WebActivityMethodPUT ...
2169	WebActivityMethodPUT WebActivityMethod = "PUT"
2170)
2171
2172// PossibleWebActivityMethodValues returns an array of possible values for the WebActivityMethod const type.
2173func PossibleWebActivityMethodValues() []WebActivityMethod {
2174	return []WebActivityMethod{WebActivityMethodDELETE, WebActivityMethodGET, WebActivityMethodPOST, WebActivityMethodPUT}
2175}
2176
2177// WebHookActivityMethod enumerates the values for web hook activity method.
2178type WebHookActivityMethod string
2179
2180const (
2181	// WebHookActivityMethodPOST ...
2182	WebHookActivityMethodPOST WebHookActivityMethod = "POST"
2183)
2184
2185// PossibleWebHookActivityMethodValues returns an array of possible values for the WebHookActivityMethod const type.
2186func PossibleWebHookActivityMethodValues() []WebHookActivityMethod {
2187	return []WebHookActivityMethod{WebHookActivityMethodPOST}
2188}
2189
2190// AccessPolicyResponse get Data Plane read only token response definition.
2191type AccessPolicyResponse struct {
2192	autorest.Response `json:"-"`
2193	// Policy - The user access policy.
2194	Policy *UserAccessPolicy `json:"policy,omitempty"`
2195	// AccessToken - Data Plane read only access token.
2196	AccessToken *string `json:"accessToken,omitempty"`
2197	// DataPlaneURL - Data Plane service base URL.
2198	DataPlaneURL *string `json:"dataPlaneUrl,omitempty"`
2199}
2200
2201// BasicActivity a pipeline activity.
2202type BasicActivity interface {
2203	AsAzureFunctionActivity() (*AzureFunctionActivity, bool)
2204	AsDatabricksSparkPythonActivity() (*DatabricksSparkPythonActivity, bool)
2205	AsDatabricksSparkJarActivity() (*DatabricksSparkJarActivity, bool)
2206	AsDatabricksNotebookActivity() (*DatabricksNotebookActivity, bool)
2207	AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalyticsUSQLActivity, bool)
2208	AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool)
2209	AsAzureMLBatchExecutionActivity() (*AzureMLBatchExecutionActivity, bool)
2210	AsGetMetadataActivity() (*GetMetadataActivity, bool)
2211	AsWebActivity() (*WebActivity, bool)
2212	AsLookupActivity() (*LookupActivity, bool)
2213	AsAzureDataExplorerCommandActivity() (*AzureDataExplorerCommandActivity, bool)
2214	AsDeleteActivity() (*DeleteActivity, bool)
2215	AsSQLServerStoredProcedureActivity() (*SQLServerStoredProcedureActivity, bool)
2216	AsCustomActivity() (*CustomActivity, bool)
2217	AsExecuteSSISPackageActivity() (*ExecuteSSISPackageActivity, bool)
2218	AsHDInsightSparkActivity() (*HDInsightSparkActivity, bool)
2219	AsHDInsightStreamingActivity() (*HDInsightStreamingActivity, bool)
2220	AsHDInsightMapReduceActivity() (*HDInsightMapReduceActivity, bool)
2221	AsHDInsightPigActivity() (*HDInsightPigActivity, bool)
2222	AsHDInsightHiveActivity() (*HDInsightHiveActivity, bool)
2223	AsCopyActivity() (*CopyActivity, bool)
2224	AsExecutionActivity() (*ExecutionActivity, bool)
2225	AsBasicExecutionActivity() (BasicExecutionActivity, bool)
2226	AsWebHookActivity() (*WebHookActivity, bool)
2227	AsAppendVariableActivity() (*AppendVariableActivity, bool)
2228	AsSetVariableActivity() (*SetVariableActivity, bool)
2229	AsFilterActivity() (*FilterActivity, bool)
2230	AsValidationActivity() (*ValidationActivity, bool)
2231	AsUntilActivity() (*UntilActivity, bool)
2232	AsWaitActivity() (*WaitActivity, bool)
2233	AsForEachActivity() (*ForEachActivity, bool)
2234	AsIfConditionActivity() (*IfConditionActivity, bool)
2235	AsExecutePipelineActivity() (*ExecutePipelineActivity, bool)
2236	AsControlActivity() (*ControlActivity, bool)
2237	AsBasicControlActivity() (BasicControlActivity, bool)
2238	AsActivity() (*Activity, bool)
2239}
2240
2241// Activity a pipeline activity.
2242type Activity struct {
2243	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
2244	AdditionalProperties map[string]interface{} `json:""`
2245	// Name - Activity name.
2246	Name *string `json:"name,omitempty"`
2247	// Description - Activity description.
2248	Description *string `json:"description,omitempty"`
2249	// DependsOn - Activity depends on condition.
2250	DependsOn *[]ActivityDependency `json:"dependsOn,omitempty"`
2251	// UserProperties - Activity user properties.
2252	UserProperties *[]UserProperty `json:"userProperties,omitempty"`
2253	// Type - Possible values include: 'TypeActivity', 'TypeAzureFunctionActivity', 'TypeDatabricksSparkPython', 'TypeDatabricksSparkJar', 'TypeDatabricksNotebook', 'TypeDataLakeAnalyticsUSQL', 'TypeAzureMLUpdateResource', 'TypeAzureMLBatchExecution', 'TypeGetMetadata', 'TypeWebActivity', 'TypeLookup', 'TypeAzureDataExplorerCommand', 'TypeDelete', 'TypeSQLServerStoredProcedure', 'TypeCustom', 'TypeExecuteSSISPackage', 'TypeHDInsightSpark', 'TypeHDInsightStreaming', 'TypeHDInsightMapReduce', 'TypeHDInsightPig', 'TypeHDInsightHive', 'TypeCopy', 'TypeExecution', 'TypeWebHook', 'TypeAppendVariable', 'TypeSetVariable', 'TypeFilter', 'TypeValidation', 'TypeUntil', 'TypeWait', 'TypeForEach', 'TypeIfCondition', 'TypeExecutePipeline', 'TypeContainer'
2254	Type TypeBasicActivity `json:"type,omitempty"`
2255}
2256
2257func unmarshalBasicActivity(body []byte) (BasicActivity, error) {
2258	var m map[string]interface{}
2259	err := json.Unmarshal(body, &m)
2260	if err != nil {
2261		return nil, err
2262	}
2263
2264	switch m["type"] {
2265	case string(TypeAzureFunctionActivity):
2266		var afa AzureFunctionActivity
2267		err := json.Unmarshal(body, &afa)
2268		return afa, err
2269	case string(TypeDatabricksSparkPython):
2270		var dspa DatabricksSparkPythonActivity
2271		err := json.Unmarshal(body, &dspa)
2272		return dspa, err
2273	case string(TypeDatabricksSparkJar):
2274		var dsja DatabricksSparkJarActivity
2275		err := json.Unmarshal(body, &dsja)
2276		return dsja, err
2277	case string(TypeDatabricksNotebook):
2278		var dna DatabricksNotebookActivity
2279		err := json.Unmarshal(body, &dna)
2280		return dna, err
2281	case string(TypeDataLakeAnalyticsUSQL):
2282		var dlaua DataLakeAnalyticsUSQLActivity
2283		err := json.Unmarshal(body, &dlaua)
2284		return dlaua, err
2285	case string(TypeAzureMLUpdateResource):
2286		var amura AzureMLUpdateResourceActivity
2287		err := json.Unmarshal(body, &amura)
2288		return amura, err
2289	case string(TypeAzureMLBatchExecution):
2290		var ambea AzureMLBatchExecutionActivity
2291		err := json.Unmarshal(body, &ambea)
2292		return ambea, err
2293	case string(TypeGetMetadata):
2294		var gma GetMetadataActivity
2295		err := json.Unmarshal(body, &gma)
2296		return gma, err
2297	case string(TypeWebActivity):
2298		var wa WebActivity
2299		err := json.Unmarshal(body, &wa)
2300		return wa, err
2301	case string(TypeLookup):
2302		var la LookupActivity
2303		err := json.Unmarshal(body, &la)
2304		return la, err
2305	case string(TypeAzureDataExplorerCommand):
2306		var adeca AzureDataExplorerCommandActivity
2307		err := json.Unmarshal(body, &adeca)
2308		return adeca, err
2309	case string(TypeDelete):
2310		var da DeleteActivity
2311		err := json.Unmarshal(body, &da)
2312		return da, err
2313	case string(TypeSQLServerStoredProcedure):
2314		var ssspa SQLServerStoredProcedureActivity
2315		err := json.Unmarshal(body, &ssspa)
2316		return ssspa, err
2317	case string(TypeCustom):
2318		var ca CustomActivity
2319		err := json.Unmarshal(body, &ca)
2320		return ca, err
2321	case string(TypeExecuteSSISPackage):
2322		var espa ExecuteSSISPackageActivity
2323		err := json.Unmarshal(body, &espa)
2324		return espa, err
2325	case string(TypeHDInsightSpark):
2326		var hisa HDInsightSparkActivity
2327		err := json.Unmarshal(body, &hisa)
2328		return hisa, err
2329	case string(TypeHDInsightStreaming):
2330		var hisa HDInsightStreamingActivity
2331		err := json.Unmarshal(body, &hisa)
2332		return hisa, err
2333	case string(TypeHDInsightMapReduce):
2334		var himra HDInsightMapReduceActivity
2335		err := json.Unmarshal(body, &himra)
2336		return himra, err
2337	case string(TypeHDInsightPig):
2338		var hipa HDInsightPigActivity
2339		err := json.Unmarshal(body, &hipa)
2340		return hipa, err
2341	case string(TypeHDInsightHive):
2342		var hiha HDInsightHiveActivity
2343		err := json.Unmarshal(body, &hiha)
2344		return hiha, err
2345	case string(TypeCopy):
2346		var ca CopyActivity
2347		err := json.Unmarshal(body, &ca)
2348		return ca, err
2349	case string(TypeExecution):
2350		var ea ExecutionActivity
2351		err := json.Unmarshal(body, &ea)
2352		return ea, err
2353	case string(TypeWebHook):
2354		var wha WebHookActivity
2355		err := json.Unmarshal(body, &wha)
2356		return wha, err
2357	case string(TypeAppendVariable):
2358		var ava AppendVariableActivity
2359		err := json.Unmarshal(body, &ava)
2360		return ava, err
2361	case string(TypeSetVariable):
2362		var sva SetVariableActivity
2363		err := json.Unmarshal(body, &sva)
2364		return sva, err
2365	case string(TypeFilter):
2366		var fa FilterActivity
2367		err := json.Unmarshal(body, &fa)
2368		return fa, err
2369	case string(TypeValidation):
2370		var va ValidationActivity
2371		err := json.Unmarshal(body, &va)
2372		return va, err
2373	case string(TypeUntil):
2374		var ua UntilActivity
2375		err := json.Unmarshal(body, &ua)
2376		return ua, err
2377	case string(TypeWait):
2378		var wa WaitActivity
2379		err := json.Unmarshal(body, &wa)
2380		return wa, err
2381	case string(TypeForEach):
2382		var fea ForEachActivity
2383		err := json.Unmarshal(body, &fea)
2384		return fea, err
2385	case string(TypeIfCondition):
2386		var ica IfConditionActivity
2387		err := json.Unmarshal(body, &ica)
2388		return ica, err
2389	case string(TypeExecutePipeline):
2390		var epa ExecutePipelineActivity
2391		err := json.Unmarshal(body, &epa)
2392		return epa, err
2393	case string(TypeContainer):
2394		var ca ControlActivity
2395		err := json.Unmarshal(body, &ca)
2396		return ca, err
2397	default:
2398		var a Activity
2399		err := json.Unmarshal(body, &a)
2400		return a, err
2401	}
2402}
2403func unmarshalBasicActivityArray(body []byte) ([]BasicActivity, error) {
2404	var rawMessages []*json.RawMessage
2405	err := json.Unmarshal(body, &rawMessages)
2406	if err != nil {
2407		return nil, err
2408	}
2409
2410	aArray := make([]BasicActivity, len(rawMessages))
2411
2412	for index, rawMessage := range rawMessages {
2413		a, err := unmarshalBasicActivity(*rawMessage)
2414		if err != nil {
2415			return nil, err
2416		}
2417		aArray[index] = a
2418	}
2419	return aArray, nil
2420}
2421
2422// MarshalJSON is the custom marshaler for Activity.
2423func (a Activity) MarshalJSON() ([]byte, error) {
2424	a.Type = TypeActivity
2425	objectMap := make(map[string]interface{})
2426	if a.Name != nil {
2427		objectMap["name"] = a.Name
2428	}
2429	if a.Description != nil {
2430		objectMap["description"] = a.Description
2431	}
2432	if a.DependsOn != nil {
2433		objectMap["dependsOn"] = a.DependsOn
2434	}
2435	if a.UserProperties != nil {
2436		objectMap["userProperties"] = a.UserProperties
2437	}
2438	if a.Type != "" {
2439		objectMap["type"] = a.Type
2440	}
2441	for k, v := range a.AdditionalProperties {
2442		objectMap[k] = v
2443	}
2444	return json.Marshal(objectMap)
2445}
2446
2447// AsAzureFunctionActivity is the BasicActivity implementation for Activity.
2448func (a Activity) AsAzureFunctionActivity() (*AzureFunctionActivity, bool) {
2449	return nil, false
2450}
2451
2452// AsDatabricksSparkPythonActivity is the BasicActivity implementation for Activity.
2453func (a Activity) AsDatabricksSparkPythonActivity() (*DatabricksSparkPythonActivity, bool) {
2454	return nil, false
2455}
2456
2457// AsDatabricksSparkJarActivity is the BasicActivity implementation for Activity.
2458func (a Activity) AsDatabricksSparkJarActivity() (*DatabricksSparkJarActivity, bool) {
2459	return nil, false
2460}
2461
2462// AsDatabricksNotebookActivity is the BasicActivity implementation for Activity.
2463func (a Activity) AsDatabricksNotebookActivity() (*DatabricksNotebookActivity, bool) {
2464	return nil, false
2465}
2466
2467// AsDataLakeAnalyticsUSQLActivity is the BasicActivity implementation for Activity.
2468func (a Activity) AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalyticsUSQLActivity, bool) {
2469	return nil, false
2470}
2471
2472// AsAzureMLUpdateResourceActivity is the BasicActivity implementation for Activity.
2473func (a Activity) AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool) {
2474	return nil, false
2475}
2476
2477// AsAzureMLBatchExecutionActivity is the BasicActivity implementation for Activity.
2478func (a Activity) AsAzureMLBatchExecutionActivity() (*AzureMLBatchExecutionActivity, bool) {
2479	return nil, false
2480}
2481
2482// AsGetMetadataActivity is the BasicActivity implementation for Activity.
2483func (a Activity) AsGetMetadataActivity() (*GetMetadataActivity, bool) {
2484	return nil, false
2485}
2486
2487// AsWebActivity is the BasicActivity implementation for Activity.
2488func (a Activity) AsWebActivity() (*WebActivity, bool) {
2489	return nil, false
2490}
2491
2492// AsLookupActivity is the BasicActivity implementation for Activity.
2493func (a Activity) AsLookupActivity() (*LookupActivity, bool) {
2494	return nil, false
2495}
2496
2497// AsAzureDataExplorerCommandActivity is the BasicActivity implementation for Activity.
2498func (a Activity) AsAzureDataExplorerCommandActivity() (*AzureDataExplorerCommandActivity, bool) {
2499	return nil, false
2500}
2501
2502// AsDeleteActivity is the BasicActivity implementation for Activity.
2503func (a Activity) AsDeleteActivity() (*DeleteActivity, bool) {
2504	return nil, false
2505}
2506
2507// AsSQLServerStoredProcedureActivity is the BasicActivity implementation for Activity.
2508func (a Activity) AsSQLServerStoredProcedureActivity() (*SQLServerStoredProcedureActivity, bool) {
2509	return nil, false
2510}
2511
2512// AsCustomActivity is the BasicActivity implementation for Activity.
2513func (a Activity) AsCustomActivity() (*CustomActivity, bool) {
2514	return nil, false
2515}
2516
2517// AsExecuteSSISPackageActivity is the BasicActivity implementation for Activity.
2518func (a Activity) AsExecuteSSISPackageActivity() (*ExecuteSSISPackageActivity, bool) {
2519	return nil, false
2520}
2521
2522// AsHDInsightSparkActivity is the BasicActivity implementation for Activity.
2523func (a Activity) AsHDInsightSparkActivity() (*HDInsightSparkActivity, bool) {
2524	return nil, false
2525}
2526
2527// AsHDInsightStreamingActivity is the BasicActivity implementation for Activity.
2528func (a Activity) AsHDInsightStreamingActivity() (*HDInsightStreamingActivity, bool) {
2529	return nil, false
2530}
2531
2532// AsHDInsightMapReduceActivity is the BasicActivity implementation for Activity.
2533func (a Activity) AsHDInsightMapReduceActivity() (*HDInsightMapReduceActivity, bool) {
2534	return nil, false
2535}
2536
2537// AsHDInsightPigActivity is the BasicActivity implementation for Activity.
2538func (a Activity) AsHDInsightPigActivity() (*HDInsightPigActivity, bool) {
2539	return nil, false
2540}
2541
2542// AsHDInsightHiveActivity is the BasicActivity implementation for Activity.
2543func (a Activity) AsHDInsightHiveActivity() (*HDInsightHiveActivity, bool) {
2544	return nil, false
2545}
2546
2547// AsCopyActivity is the BasicActivity implementation for Activity.
2548func (a Activity) AsCopyActivity() (*CopyActivity, bool) {
2549	return nil, false
2550}
2551
2552// AsExecutionActivity is the BasicActivity implementation for Activity.
2553func (a Activity) AsExecutionActivity() (*ExecutionActivity, bool) {
2554	return nil, false
2555}
2556
2557// AsBasicExecutionActivity is the BasicActivity implementation for Activity.
2558func (a Activity) AsBasicExecutionActivity() (BasicExecutionActivity, bool) {
2559	return nil, false
2560}
2561
2562// AsWebHookActivity is the BasicActivity implementation for Activity.
2563func (a Activity) AsWebHookActivity() (*WebHookActivity, bool) {
2564	return nil, false
2565}
2566
2567// AsAppendVariableActivity is the BasicActivity implementation for Activity.
2568func (a Activity) AsAppendVariableActivity() (*AppendVariableActivity, bool) {
2569	return nil, false
2570}
2571
2572// AsSetVariableActivity is the BasicActivity implementation for Activity.
2573func (a Activity) AsSetVariableActivity() (*SetVariableActivity, bool) {
2574	return nil, false
2575}
2576
2577// AsFilterActivity is the BasicActivity implementation for Activity.
2578func (a Activity) AsFilterActivity() (*FilterActivity, bool) {
2579	return nil, false
2580}
2581
2582// AsValidationActivity is the BasicActivity implementation for Activity.
2583func (a Activity) AsValidationActivity() (*ValidationActivity, bool) {
2584	return nil, false
2585}
2586
2587// AsUntilActivity is the BasicActivity implementation for Activity.
2588func (a Activity) AsUntilActivity() (*UntilActivity, bool) {
2589	return nil, false
2590}
2591
2592// AsWaitActivity is the BasicActivity implementation for Activity.
2593func (a Activity) AsWaitActivity() (*WaitActivity, bool) {
2594	return nil, false
2595}
2596
2597// AsForEachActivity is the BasicActivity implementation for Activity.
2598func (a Activity) AsForEachActivity() (*ForEachActivity, bool) {
2599	return nil, false
2600}
2601
2602// AsIfConditionActivity is the BasicActivity implementation for Activity.
2603func (a Activity) AsIfConditionActivity() (*IfConditionActivity, bool) {
2604	return nil, false
2605}
2606
2607// AsExecutePipelineActivity is the BasicActivity implementation for Activity.
2608func (a Activity) AsExecutePipelineActivity() (*ExecutePipelineActivity, bool) {
2609	return nil, false
2610}
2611
2612// AsControlActivity is the BasicActivity implementation for Activity.
2613func (a Activity) AsControlActivity() (*ControlActivity, bool) {
2614	return nil, false
2615}
2616
2617// AsBasicControlActivity is the BasicActivity implementation for Activity.
2618func (a Activity) AsBasicControlActivity() (BasicControlActivity, bool) {
2619	return nil, false
2620}
2621
2622// AsActivity is the BasicActivity implementation for Activity.
2623func (a Activity) AsActivity() (*Activity, bool) {
2624	return &a, true
2625}
2626
2627// AsBasicActivity is the BasicActivity implementation for Activity.
2628func (a Activity) AsBasicActivity() (BasicActivity, bool) {
2629	return &a, true
2630}
2631
2632// UnmarshalJSON is the custom unmarshaler for Activity struct.
2633func (a *Activity) UnmarshalJSON(body []byte) error {
2634	var m map[string]*json.RawMessage
2635	err := json.Unmarshal(body, &m)
2636	if err != nil {
2637		return err
2638	}
2639	for k, v := range m {
2640		switch k {
2641		default:
2642			if v != nil {
2643				var additionalProperties interface{}
2644				err = json.Unmarshal(*v, &additionalProperties)
2645				if err != nil {
2646					return err
2647				}
2648				if a.AdditionalProperties == nil {
2649					a.AdditionalProperties = make(map[string]interface{})
2650				}
2651				a.AdditionalProperties[k] = additionalProperties
2652			}
2653		case "name":
2654			if v != nil {
2655				var name string
2656				err = json.Unmarshal(*v, &name)
2657				if err != nil {
2658					return err
2659				}
2660				a.Name = &name
2661			}
2662		case "description":
2663			if v != nil {
2664				var description string
2665				err = json.Unmarshal(*v, &description)
2666				if err != nil {
2667					return err
2668				}
2669				a.Description = &description
2670			}
2671		case "dependsOn":
2672			if v != nil {
2673				var dependsOn []ActivityDependency
2674				err = json.Unmarshal(*v, &dependsOn)
2675				if err != nil {
2676					return err
2677				}
2678				a.DependsOn = &dependsOn
2679			}
2680		case "userProperties":
2681			if v != nil {
2682				var userProperties []UserProperty
2683				err = json.Unmarshal(*v, &userProperties)
2684				if err != nil {
2685					return err
2686				}
2687				a.UserProperties = &userProperties
2688			}
2689		case "type":
2690			if v != nil {
2691				var typeVar TypeBasicActivity
2692				err = json.Unmarshal(*v, &typeVar)
2693				if err != nil {
2694					return err
2695				}
2696				a.Type = typeVar
2697			}
2698		}
2699	}
2700
2701	return nil
2702}
2703
2704// ActivityDependency activity dependency information.
2705type ActivityDependency struct {
2706	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
2707	AdditionalProperties map[string]interface{} `json:""`
2708	// Activity - Activity name.
2709	Activity *string `json:"activity,omitempty"`
2710	// DependencyConditions - Match-Condition for the dependency.
2711	DependencyConditions *[]DependencyCondition `json:"dependencyConditions,omitempty"`
2712}
2713
2714// MarshalJSON is the custom marshaler for ActivityDependency.
2715func (ad ActivityDependency) MarshalJSON() ([]byte, error) {
2716	objectMap := make(map[string]interface{})
2717	if ad.Activity != nil {
2718		objectMap["activity"] = ad.Activity
2719	}
2720	if ad.DependencyConditions != nil {
2721		objectMap["dependencyConditions"] = ad.DependencyConditions
2722	}
2723	for k, v := range ad.AdditionalProperties {
2724		objectMap[k] = v
2725	}
2726	return json.Marshal(objectMap)
2727}
2728
2729// UnmarshalJSON is the custom unmarshaler for ActivityDependency struct.
2730func (ad *ActivityDependency) UnmarshalJSON(body []byte) error {
2731	var m map[string]*json.RawMessage
2732	err := json.Unmarshal(body, &m)
2733	if err != nil {
2734		return err
2735	}
2736	for k, v := range m {
2737		switch k {
2738		default:
2739			if v != nil {
2740				var additionalProperties interface{}
2741				err = json.Unmarshal(*v, &additionalProperties)
2742				if err != nil {
2743					return err
2744				}
2745				if ad.AdditionalProperties == nil {
2746					ad.AdditionalProperties = make(map[string]interface{})
2747				}
2748				ad.AdditionalProperties[k] = additionalProperties
2749			}
2750		case "activity":
2751			if v != nil {
2752				var activity string
2753				err = json.Unmarshal(*v, &activity)
2754				if err != nil {
2755					return err
2756				}
2757				ad.Activity = &activity
2758			}
2759		case "dependencyConditions":
2760			if v != nil {
2761				var dependencyConditions []DependencyCondition
2762				err = json.Unmarshal(*v, &dependencyConditions)
2763				if err != nil {
2764					return err
2765				}
2766				ad.DependencyConditions = &dependencyConditions
2767			}
2768		}
2769	}
2770
2771	return nil
2772}
2773
2774// ActivityPolicy execution policy for an activity.
2775type ActivityPolicy struct {
2776	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
2777	AdditionalProperties map[string]interface{} `json:""`
2778	// 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])).
2779	Timeout interface{} `json:"timeout,omitempty"`
2780	// Retry - Maximum ordinary retry attempts. Default is 0. Type: integer (or Expression with resultType integer), minimum: 0.
2781	Retry interface{} `json:"retry,omitempty"`
2782	// RetryIntervalInSeconds - Interval between each retry attempt (in seconds). The default is 30 sec.
2783	RetryIntervalInSeconds *int32 `json:"retryIntervalInSeconds,omitempty"`
2784	// SecureInput - When set to true, Input from activity is considered as secure and will not be logged to monitoring.
2785	SecureInput *bool `json:"secureInput,omitempty"`
2786	// SecureOutput - When set to true, Output from activity is considered as secure and will not be logged to monitoring.
2787	SecureOutput *bool `json:"secureOutput,omitempty"`
2788}
2789
2790// MarshalJSON is the custom marshaler for ActivityPolicy.
2791func (ap ActivityPolicy) MarshalJSON() ([]byte, error) {
2792	objectMap := make(map[string]interface{})
2793	if ap.Timeout != nil {
2794		objectMap["timeout"] = ap.Timeout
2795	}
2796	if ap.Retry != nil {
2797		objectMap["retry"] = ap.Retry
2798	}
2799	if ap.RetryIntervalInSeconds != nil {
2800		objectMap["retryIntervalInSeconds"] = ap.RetryIntervalInSeconds
2801	}
2802	if ap.SecureInput != nil {
2803		objectMap["secureInput"] = ap.SecureInput
2804	}
2805	if ap.SecureOutput != nil {
2806		objectMap["secureOutput"] = ap.SecureOutput
2807	}
2808	for k, v := range ap.AdditionalProperties {
2809		objectMap[k] = v
2810	}
2811	return json.Marshal(objectMap)
2812}
2813
2814// UnmarshalJSON is the custom unmarshaler for ActivityPolicy struct.
2815func (ap *ActivityPolicy) UnmarshalJSON(body []byte) error {
2816	var m map[string]*json.RawMessage
2817	err := json.Unmarshal(body, &m)
2818	if err != nil {
2819		return err
2820	}
2821	for k, v := range m {
2822		switch k {
2823		default:
2824			if v != nil {
2825				var additionalProperties interface{}
2826				err = json.Unmarshal(*v, &additionalProperties)
2827				if err != nil {
2828					return err
2829				}
2830				if ap.AdditionalProperties == nil {
2831					ap.AdditionalProperties = make(map[string]interface{})
2832				}
2833				ap.AdditionalProperties[k] = additionalProperties
2834			}
2835		case "timeout":
2836			if v != nil {
2837				var timeout interface{}
2838				err = json.Unmarshal(*v, &timeout)
2839				if err != nil {
2840					return err
2841				}
2842				ap.Timeout = timeout
2843			}
2844		case "retry":
2845			if v != nil {
2846				var retry interface{}
2847				err = json.Unmarshal(*v, &retry)
2848				if err != nil {
2849					return err
2850				}
2851				ap.Retry = retry
2852			}
2853		case "retryIntervalInSeconds":
2854			if v != nil {
2855				var retryIntervalInSeconds int32
2856				err = json.Unmarshal(*v, &retryIntervalInSeconds)
2857				if err != nil {
2858					return err
2859				}
2860				ap.RetryIntervalInSeconds = &retryIntervalInSeconds
2861			}
2862		case "secureInput":
2863			if v != nil {
2864				var secureInput bool
2865				err = json.Unmarshal(*v, &secureInput)
2866				if err != nil {
2867					return err
2868				}
2869				ap.SecureInput = &secureInput
2870			}
2871		case "secureOutput":
2872			if v != nil {
2873				var secureOutput bool
2874				err = json.Unmarshal(*v, &secureOutput)
2875				if err != nil {
2876					return err
2877				}
2878				ap.SecureOutput = &secureOutput
2879			}
2880		}
2881	}
2882
2883	return nil
2884}
2885
2886// ActivityRun information about an activity run in a pipeline.
2887type ActivityRun struct {
2888	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
2889	AdditionalProperties map[string]interface{} `json:""`
2890	// PipelineName - READ-ONLY; The name of the pipeline.
2891	PipelineName *string `json:"pipelineName,omitempty"`
2892	// PipelineRunID - READ-ONLY; The id of the pipeline run.
2893	PipelineRunID *string `json:"pipelineRunId,omitempty"`
2894	// ActivityName - READ-ONLY; The name of the activity.
2895	ActivityName *string `json:"activityName,omitempty"`
2896	// ActivityType - READ-ONLY; The type of the activity.
2897	ActivityType *string `json:"activityType,omitempty"`
2898	// ActivityRunID - READ-ONLY; The id of the activity run.
2899	ActivityRunID *string `json:"activityRunId,omitempty"`
2900	// LinkedServiceName - READ-ONLY; The name of the compute linked service.
2901	LinkedServiceName *string `json:"linkedServiceName,omitempty"`
2902	// Status - READ-ONLY; The status of the activity run.
2903	Status *string `json:"status,omitempty"`
2904	// ActivityRunStart - READ-ONLY; The start time of the activity run in 'ISO 8601' format.
2905	ActivityRunStart *date.Time `json:"activityRunStart,omitempty"`
2906	// ActivityRunEnd - READ-ONLY; The end time of the activity run in 'ISO 8601' format.
2907	ActivityRunEnd *date.Time `json:"activityRunEnd,omitempty"`
2908	// DurationInMs - READ-ONLY; The duration of the activity run.
2909	DurationInMs *int32 `json:"durationInMs,omitempty"`
2910	// Input - READ-ONLY; The input for the activity.
2911	Input interface{} `json:"input,omitempty"`
2912	// Output - READ-ONLY; The output for the activity.
2913	Output interface{} `json:"output,omitempty"`
2914	// Error - READ-ONLY; The error if any from the activity run.
2915	Error interface{} `json:"error,omitempty"`
2916}
2917
2918// MarshalJSON is the custom marshaler for ActivityRun.
2919func (ar ActivityRun) MarshalJSON() ([]byte, error) {
2920	objectMap := make(map[string]interface{})
2921	for k, v := range ar.AdditionalProperties {
2922		objectMap[k] = v
2923	}
2924	return json.Marshal(objectMap)
2925}
2926
2927// UnmarshalJSON is the custom unmarshaler for ActivityRun struct.
2928func (ar *ActivityRun) UnmarshalJSON(body []byte) error {
2929	var m map[string]*json.RawMessage
2930	err := json.Unmarshal(body, &m)
2931	if err != nil {
2932		return err
2933	}
2934	for k, v := range m {
2935		switch k {
2936		default:
2937			if v != nil {
2938				var additionalProperties interface{}
2939				err = json.Unmarshal(*v, &additionalProperties)
2940				if err != nil {
2941					return err
2942				}
2943				if ar.AdditionalProperties == nil {
2944					ar.AdditionalProperties = make(map[string]interface{})
2945				}
2946				ar.AdditionalProperties[k] = additionalProperties
2947			}
2948		case "pipelineName":
2949			if v != nil {
2950				var pipelineName string
2951				err = json.Unmarshal(*v, &pipelineName)
2952				if err != nil {
2953					return err
2954				}
2955				ar.PipelineName = &pipelineName
2956			}
2957		case "pipelineRunId":
2958			if v != nil {
2959				var pipelineRunID string
2960				err = json.Unmarshal(*v, &pipelineRunID)
2961				if err != nil {
2962					return err
2963				}
2964				ar.PipelineRunID = &pipelineRunID
2965			}
2966		case "activityName":
2967			if v != nil {
2968				var activityName string
2969				err = json.Unmarshal(*v, &activityName)
2970				if err != nil {
2971					return err
2972				}
2973				ar.ActivityName = &activityName
2974			}
2975		case "activityType":
2976			if v != nil {
2977				var activityType string
2978				err = json.Unmarshal(*v, &activityType)
2979				if err != nil {
2980					return err
2981				}
2982				ar.ActivityType = &activityType
2983			}
2984		case "activityRunId":
2985			if v != nil {
2986				var activityRunID string
2987				err = json.Unmarshal(*v, &activityRunID)
2988				if err != nil {
2989					return err
2990				}
2991				ar.ActivityRunID = &activityRunID
2992			}
2993		case "linkedServiceName":
2994			if v != nil {
2995				var linkedServiceName string
2996				err = json.Unmarshal(*v, &linkedServiceName)
2997				if err != nil {
2998					return err
2999				}
3000				ar.LinkedServiceName = &linkedServiceName
3001			}
3002		case "status":
3003			if v != nil {
3004				var status string
3005				err = json.Unmarshal(*v, &status)
3006				if err != nil {
3007					return err
3008				}
3009				ar.Status = &status
3010			}
3011		case "activityRunStart":
3012			if v != nil {
3013				var activityRunStart date.Time
3014				err = json.Unmarshal(*v, &activityRunStart)
3015				if err != nil {
3016					return err
3017				}
3018				ar.ActivityRunStart = &activityRunStart
3019			}
3020		case "activityRunEnd":
3021			if v != nil {
3022				var activityRunEnd date.Time
3023				err = json.Unmarshal(*v, &activityRunEnd)
3024				if err != nil {
3025					return err
3026				}
3027				ar.ActivityRunEnd = &activityRunEnd
3028			}
3029		case "durationInMs":
3030			if v != nil {
3031				var durationInMs int32
3032				err = json.Unmarshal(*v, &durationInMs)
3033				if err != nil {
3034					return err
3035				}
3036				ar.DurationInMs = &durationInMs
3037			}
3038		case "input":
3039			if v != nil {
3040				var input interface{}
3041				err = json.Unmarshal(*v, &input)
3042				if err != nil {
3043					return err
3044				}
3045				ar.Input = input
3046			}
3047		case "output":
3048			if v != nil {
3049				var output interface{}
3050				err = json.Unmarshal(*v, &output)
3051				if err != nil {
3052					return err
3053				}
3054				ar.Output = output
3055			}
3056		case "error":
3057			if v != nil {
3058				var errorVar interface{}
3059				err = json.Unmarshal(*v, &errorVar)
3060				if err != nil {
3061					return err
3062				}
3063				ar.Error = errorVar
3064			}
3065		}
3066	}
3067
3068	return nil
3069}
3070
3071// ActivityRunsQueryResponse a list activity runs.
3072type ActivityRunsQueryResponse struct {
3073	autorest.Response `json:"-"`
3074	// Value - List of activity runs.
3075	Value *[]ActivityRun `json:"value,omitempty"`
3076	// ContinuationToken - The continuation token for getting the next page of results, if any remaining results exist, null otherwise.
3077	ContinuationToken *string `json:"continuationToken,omitempty"`
3078}
3079
3080// AmazonMWSLinkedService amazon Marketplace Web Service linked service.
3081type AmazonMWSLinkedService struct {
3082	// AmazonMWSLinkedServiceTypeProperties - Amazon Marketplace Web Service linked service properties.
3083	*AmazonMWSLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
3084	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
3085	AdditionalProperties map[string]interface{} `json:""`
3086	// ConnectVia - The integration runtime reference.
3087	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
3088	// Description - Linked service description.
3089	Description *string `json:"description,omitempty"`
3090	// Parameters - Parameters for linked service.
3091	Parameters map[string]*ParameterSpecification `json:"parameters"`
3092	// Annotations - List of tags that can be used for describing the linked service.
3093	Annotations *[]interface{} `json:"annotations,omitempty"`
3094	// Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', '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', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage'
3095	Type TypeBasicLinkedService `json:"type,omitempty"`
3096}
3097
3098// MarshalJSON is the custom marshaler for AmazonMWSLinkedService.
3099func (amls AmazonMWSLinkedService) MarshalJSON() ([]byte, error) {
3100	amls.Type = TypeAmazonMWS
3101	objectMap := make(map[string]interface{})
3102	if amls.AmazonMWSLinkedServiceTypeProperties != nil {
3103		objectMap["typeProperties"] = amls.AmazonMWSLinkedServiceTypeProperties
3104	}
3105	if amls.ConnectVia != nil {
3106		objectMap["connectVia"] = amls.ConnectVia
3107	}
3108	if amls.Description != nil {
3109		objectMap["description"] = amls.Description
3110	}
3111	if amls.Parameters != nil {
3112		objectMap["parameters"] = amls.Parameters
3113	}
3114	if amls.Annotations != nil {
3115		objectMap["annotations"] = amls.Annotations
3116	}
3117	if amls.Type != "" {
3118		objectMap["type"] = amls.Type
3119	}
3120	for k, v := range amls.AdditionalProperties {
3121		objectMap[k] = v
3122	}
3123	return json.Marshal(objectMap)
3124}
3125
3126// AsAzureFunctionLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
3127func (amls AmazonMWSLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) {
3128	return nil, false
3129}
3130
3131// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
3132func (amls AmazonMWSLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) {
3133	return nil, false
3134}
3135
3136// AsSapTableLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
3137func (amls AmazonMWSLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) {
3138	return nil, false
3139}
3140
3141// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
3142func (amls AmazonMWSLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) {
3143	return nil, false
3144}
3145
3146// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
3147func (amls AmazonMWSLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) {
3148	return nil, false
3149}
3150
3151// AsDynamicsAXLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
3152func (amls AmazonMWSLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) {
3153	return nil, false
3154}
3155
3156// AsResponsysLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
3157func (amls AmazonMWSLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
3158	return nil, false
3159}
3160
3161// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
3162func (amls AmazonMWSLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
3163	return nil, false
3164}
3165
3166// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
3167func (amls AmazonMWSLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
3168	return nil, false
3169}
3170
3171// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
3172func (amls AmazonMWSLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
3173	return nil, false
3174}
3175
3176// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
3177func (amls AmazonMWSLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
3178	return nil, false
3179}
3180
3181// AsNetezzaLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
3182func (amls AmazonMWSLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
3183	return nil, false
3184}
3185
3186// AsVerticaLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
3187func (amls AmazonMWSLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
3188	return nil, false
3189}
3190
3191// AsZohoLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
3192func (amls AmazonMWSLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
3193	return nil, false
3194}
3195
3196// AsXeroLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
3197func (amls AmazonMWSLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
3198	return nil, false
3199}
3200
3201// AsSquareLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
3202func (amls AmazonMWSLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
3203	return nil, false
3204}
3205
3206// AsSparkLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
3207func (amls AmazonMWSLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
3208	return nil, false
3209}
3210
3211// AsShopifyLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
3212func (amls AmazonMWSLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
3213	return nil, false
3214}
3215
3216// AsServiceNowLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
3217func (amls AmazonMWSLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
3218	return nil, false
3219}
3220
3221// AsQuickBooksLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
3222func (amls AmazonMWSLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
3223	return nil, false
3224}
3225
3226// AsPrestoLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
3227func (amls AmazonMWSLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
3228	return nil, false
3229}
3230
3231// AsPhoenixLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
3232func (amls AmazonMWSLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
3233	return nil, false
3234}
3235
3236// AsPaypalLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
3237func (amls AmazonMWSLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
3238	return nil, false
3239}
3240
3241// AsMarketoLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
3242func (amls AmazonMWSLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
3243	return nil, false
3244}
3245
3246// AsMariaDBLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
3247func (amls AmazonMWSLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
3248	return nil, false
3249}
3250
3251// AsMagentoLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
3252func (amls AmazonMWSLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
3253	return nil, false
3254}
3255
3256// AsJiraLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
3257func (amls AmazonMWSLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
3258	return nil, false
3259}
3260
3261// AsImpalaLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
3262func (amls AmazonMWSLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
3263	return nil, false
3264}
3265
3266// AsHubspotLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
3267func (amls AmazonMWSLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
3268	return nil, false
3269}
3270
3271// AsHiveLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
3272func (amls AmazonMWSLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
3273	return nil, false
3274}
3275
3276// AsHBaseLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
3277func (amls AmazonMWSLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
3278	return nil, false
3279}
3280
3281// AsGreenplumLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
3282func (amls AmazonMWSLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
3283	return nil, false
3284}
3285
3286// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
3287func (amls AmazonMWSLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
3288	return nil, false
3289}
3290
3291// AsEloquaLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
3292func (amls AmazonMWSLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
3293	return nil, false
3294}
3295
3296// AsDrillLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
3297func (amls AmazonMWSLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
3298	return nil, false
3299}
3300
3301// AsCouchbaseLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
3302func (amls AmazonMWSLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
3303	return nil, false
3304}
3305
3306// AsConcurLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
3307func (amls AmazonMWSLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
3308	return nil, false
3309}
3310
3311// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
3312func (amls AmazonMWSLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
3313	return nil, false
3314}
3315
3316// AsAmazonMWSLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
3317func (amls AmazonMWSLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
3318	return &amls, true
3319}
3320
3321// AsSapHanaLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
3322func (amls AmazonMWSLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
3323	return nil, false
3324}
3325
3326// AsSapBWLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
3327func (amls AmazonMWSLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
3328	return nil, false
3329}
3330
3331// AsSftpServerLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
3332func (amls AmazonMWSLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
3333	return nil, false
3334}
3335
3336// AsFtpServerLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
3337func (amls AmazonMWSLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
3338	return nil, false
3339}
3340
3341// AsHTTPLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
3342func (amls AmazonMWSLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
3343	return nil, false
3344}
3345
3346// AsAzureSearchLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
3347func (amls AmazonMWSLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
3348	return nil, false
3349}
3350
3351// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
3352func (amls AmazonMWSLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
3353	return nil, false
3354}
3355
3356// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
3357func (amls AmazonMWSLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
3358	return nil, false
3359}
3360
3361// AsAmazonS3LinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
3362func (amls AmazonMWSLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
3363	return nil, false
3364}
3365
3366// AsRestServiceLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
3367func (amls AmazonMWSLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) {
3368	return nil, false
3369}
3370
3371// AsSapOpenHubLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
3372func (amls AmazonMWSLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) {
3373	return nil, false
3374}
3375
3376// AsSapEccLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
3377func (amls AmazonMWSLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
3378	return nil, false
3379}
3380
3381// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
3382func (amls AmazonMWSLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
3383	return nil, false
3384}
3385
3386// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
3387func (amls AmazonMWSLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) {
3388	return nil, false
3389}
3390
3391// AsSalesforceLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
3392func (amls AmazonMWSLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
3393	return nil, false
3394}
3395
3396// AsOffice365LinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
3397func (amls AmazonMWSLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) {
3398	return nil, false
3399}
3400
3401// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
3402func (amls AmazonMWSLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) {
3403	return nil, false
3404}
3405
3406// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
3407func (amls AmazonMWSLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
3408	return nil, false
3409}
3410
3411// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
3412func (amls AmazonMWSLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) {
3413	return nil, false
3414}
3415
3416// AsMongoDbV2LinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
3417func (amls AmazonMWSLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) {
3418	return nil, false
3419}
3420
3421// AsMongoDbLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
3422func (amls AmazonMWSLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
3423	return nil, false
3424}
3425
3426// AsCassandraLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
3427func (amls AmazonMWSLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
3428	return nil, false
3429}
3430
3431// AsWebLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
3432func (amls AmazonMWSLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
3433	return nil, false
3434}
3435
3436// AsODataLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
3437func (amls AmazonMWSLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
3438	return nil, false
3439}
3440
3441// AsHdfsLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
3442func (amls AmazonMWSLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
3443	return nil, false
3444}
3445
3446// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
3447func (amls AmazonMWSLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) {
3448	return nil, false
3449}
3450
3451// AsInformixLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
3452func (amls AmazonMWSLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) {
3453	return nil, false
3454}
3455
3456// AsOdbcLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
3457func (amls AmazonMWSLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
3458	return nil, false
3459}
3460
3461// AsAzureMLLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
3462func (amls AmazonMWSLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
3463	return nil, false
3464}
3465
3466// AsTeradataLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
3467func (amls AmazonMWSLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
3468	return nil, false
3469}
3470
3471// AsDb2LinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
3472func (amls AmazonMWSLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
3473	return nil, false
3474}
3475
3476// AsSybaseLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
3477func (amls AmazonMWSLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
3478	return nil, false
3479}
3480
3481// AsPostgreSQLLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
3482func (amls AmazonMWSLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
3483	return nil, false
3484}
3485
3486// AsMySQLLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
3487func (amls AmazonMWSLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
3488	return nil, false
3489}
3490
3491// AsAzureMySQLLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
3492func (amls AmazonMWSLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
3493	return nil, false
3494}
3495
3496// AsOracleLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
3497func (amls AmazonMWSLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
3498	return nil, false
3499}
3500
3501// AsFileServerLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
3502func (amls AmazonMWSLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
3503	return nil, false
3504}
3505
3506// AsHDInsightLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
3507func (amls AmazonMWSLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
3508	return nil, false
3509}
3510
3511// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
3512func (amls AmazonMWSLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) {
3513	return nil, false
3514}
3515
3516// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
3517func (amls AmazonMWSLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) {
3518	return nil, false
3519}
3520
3521// AsDynamicsLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
3522func (amls AmazonMWSLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
3523	return nil, false
3524}
3525
3526// AsCosmosDbLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
3527func (amls AmazonMWSLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
3528	return nil, false
3529}
3530
3531// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
3532func (amls AmazonMWSLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
3533	return nil, false
3534}
3535
3536// AsAzureBatchLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
3537func (amls AmazonMWSLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
3538	return nil, false
3539}
3540
3541// AsAzureSQLMILinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
3542func (amls AmazonMWSLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) {
3543	return nil, false
3544}
3545
3546// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
3547func (amls AmazonMWSLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
3548	return nil, false
3549}
3550
3551// AsSQLServerLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
3552func (amls AmazonMWSLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
3553	return nil, false
3554}
3555
3556// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
3557func (amls AmazonMWSLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
3558	return nil, false
3559}
3560
3561// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
3562func (amls AmazonMWSLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) {
3563	return nil, false
3564}
3565
3566// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
3567func (amls AmazonMWSLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) {
3568	return nil, false
3569}
3570
3571// AsAzureStorageLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
3572func (amls AmazonMWSLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
3573	return nil, false
3574}
3575
3576// AsLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
3577func (amls AmazonMWSLinkedService) AsLinkedService() (*LinkedService, bool) {
3578	return nil, false
3579}
3580
3581// AsBasicLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
3582func (amls AmazonMWSLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
3583	return &amls, true
3584}
3585
3586// UnmarshalJSON is the custom unmarshaler for AmazonMWSLinkedService struct.
3587func (amls *AmazonMWSLinkedService) UnmarshalJSON(body []byte) error {
3588	var m map[string]*json.RawMessage
3589	err := json.Unmarshal(body, &m)
3590	if err != nil {
3591		return err
3592	}
3593	for k, v := range m {
3594		switch k {
3595		case "typeProperties":
3596			if v != nil {
3597				var amazonMWSLinkedServiceTypeProperties AmazonMWSLinkedServiceTypeProperties
3598				err = json.Unmarshal(*v, &amazonMWSLinkedServiceTypeProperties)
3599				if err != nil {
3600					return err
3601				}
3602				amls.AmazonMWSLinkedServiceTypeProperties = &amazonMWSLinkedServiceTypeProperties
3603			}
3604		default:
3605			if v != nil {
3606				var additionalProperties interface{}
3607				err = json.Unmarshal(*v, &additionalProperties)
3608				if err != nil {
3609					return err
3610				}
3611				if amls.AdditionalProperties == nil {
3612					amls.AdditionalProperties = make(map[string]interface{})
3613				}
3614				amls.AdditionalProperties[k] = additionalProperties
3615			}
3616		case "connectVia":
3617			if v != nil {
3618				var connectVia IntegrationRuntimeReference
3619				err = json.Unmarshal(*v, &connectVia)
3620				if err != nil {
3621					return err
3622				}
3623				amls.ConnectVia = &connectVia
3624			}
3625		case "description":
3626			if v != nil {
3627				var description string
3628				err = json.Unmarshal(*v, &description)
3629				if err != nil {
3630					return err
3631				}
3632				amls.Description = &description
3633			}
3634		case "parameters":
3635			if v != nil {
3636				var parameters map[string]*ParameterSpecification
3637				err = json.Unmarshal(*v, &parameters)
3638				if err != nil {
3639					return err
3640				}
3641				amls.Parameters = parameters
3642			}
3643		case "annotations":
3644			if v != nil {
3645				var annotations []interface{}
3646				err = json.Unmarshal(*v, &annotations)
3647				if err != nil {
3648					return err
3649				}
3650				amls.Annotations = &annotations
3651			}
3652		case "type":
3653			if v != nil {
3654				var typeVar TypeBasicLinkedService
3655				err = json.Unmarshal(*v, &typeVar)
3656				if err != nil {
3657					return err
3658				}
3659				amls.Type = typeVar
3660			}
3661		}
3662	}
3663
3664	return nil
3665}
3666
3667// AmazonMWSLinkedServiceTypeProperties amazon Marketplace Web Service linked service properties.
3668type AmazonMWSLinkedServiceTypeProperties struct {
3669	// Endpoint - The endpoint of the Amazon MWS server, (i.e. mws.amazonservices.com)
3670	Endpoint interface{} `json:"endpoint,omitempty"`
3671	// 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)
3672	MarketplaceID interface{} `json:"marketplaceID,omitempty"`
3673	// SellerID - The Amazon seller ID.
3674	SellerID interface{} `json:"sellerID,omitempty"`
3675	// MwsAuthToken - The Amazon MWS authentication token.
3676	MwsAuthToken BasicSecretBase `json:"mwsAuthToken,omitempty"`
3677	// AccessKeyID - The access key id used to access data.
3678	AccessKeyID interface{} `json:"accessKeyId,omitempty"`
3679	// SecretKey - The secret key used to access data.
3680	SecretKey BasicSecretBase `json:"secretKey,omitempty"`
3681	// UseEncryptedEndpoints - Specifies whether the data source endpoints are encrypted using HTTPS. The default value is true.
3682	UseEncryptedEndpoints interface{} `json:"useEncryptedEndpoints,omitempty"`
3683	// 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.
3684	UseHostVerification interface{} `json:"useHostVerification,omitempty"`
3685	// UsePeerVerification - Specifies whether to verify the identity of the server when connecting over SSL. The default value is true.
3686	UsePeerVerification interface{} `json:"usePeerVerification,omitempty"`
3687	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
3688	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
3689}
3690
3691// UnmarshalJSON is the custom unmarshaler for AmazonMWSLinkedServiceTypeProperties struct.
3692func (amlstp *AmazonMWSLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
3693	var m map[string]*json.RawMessage
3694	err := json.Unmarshal(body, &m)
3695	if err != nil {
3696		return err
3697	}
3698	for k, v := range m {
3699		switch k {
3700		case "endpoint":
3701			if v != nil {
3702				var endpoint interface{}
3703				err = json.Unmarshal(*v, &endpoint)
3704				if err != nil {
3705					return err
3706				}
3707				amlstp.Endpoint = endpoint
3708			}
3709		case "marketplaceID":
3710			if v != nil {
3711				var marketplaceID interface{}
3712				err = json.Unmarshal(*v, &marketplaceID)
3713				if err != nil {
3714					return err
3715				}
3716				amlstp.MarketplaceID = marketplaceID
3717			}
3718		case "sellerID":
3719			if v != nil {
3720				var sellerID interface{}
3721				err = json.Unmarshal(*v, &sellerID)
3722				if err != nil {
3723					return err
3724				}
3725				amlstp.SellerID = sellerID
3726			}
3727		case "mwsAuthToken":
3728			if v != nil {
3729				mwsAuthToken, err := unmarshalBasicSecretBase(*v)
3730				if err != nil {
3731					return err
3732				}
3733				amlstp.MwsAuthToken = mwsAuthToken
3734			}
3735		case "accessKeyId":
3736			if v != nil {
3737				var accessKeyID interface{}
3738				err = json.Unmarshal(*v, &accessKeyID)
3739				if err != nil {
3740					return err
3741				}
3742				amlstp.AccessKeyID = accessKeyID
3743			}
3744		case "secretKey":
3745			if v != nil {
3746				secretKey, err := unmarshalBasicSecretBase(*v)
3747				if err != nil {
3748					return err
3749				}
3750				amlstp.SecretKey = secretKey
3751			}
3752		case "useEncryptedEndpoints":
3753			if v != nil {
3754				var useEncryptedEndpoints interface{}
3755				err = json.Unmarshal(*v, &useEncryptedEndpoints)
3756				if err != nil {
3757					return err
3758				}
3759				amlstp.UseEncryptedEndpoints = useEncryptedEndpoints
3760			}
3761		case "useHostVerification":
3762			if v != nil {
3763				var useHostVerification interface{}
3764				err = json.Unmarshal(*v, &useHostVerification)
3765				if err != nil {
3766					return err
3767				}
3768				amlstp.UseHostVerification = useHostVerification
3769			}
3770		case "usePeerVerification":
3771			if v != nil {
3772				var usePeerVerification interface{}
3773				err = json.Unmarshal(*v, &usePeerVerification)
3774				if err != nil {
3775					return err
3776				}
3777				amlstp.UsePeerVerification = usePeerVerification
3778			}
3779		case "encryptedCredential":
3780			if v != nil {
3781				var encryptedCredential interface{}
3782				err = json.Unmarshal(*v, &encryptedCredential)
3783				if err != nil {
3784					return err
3785				}
3786				amlstp.EncryptedCredential = encryptedCredential
3787			}
3788		}
3789	}
3790
3791	return nil
3792}
3793
3794// AmazonMWSObjectDataset amazon Marketplace Web Service dataset.
3795type AmazonMWSObjectDataset struct {
3796	// GenericDatasetTypeProperties - Properties specific to this dataset type.
3797	*GenericDatasetTypeProperties `json:"typeProperties,omitempty"`
3798	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
3799	AdditionalProperties map[string]interface{} `json:""`
3800	// Description - Dataset description.
3801	Description *string `json:"description,omitempty"`
3802	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
3803	Structure interface{} `json:"structure,omitempty"`
3804	// Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement.
3805	Schema interface{} `json:"schema,omitempty"`
3806	// LinkedServiceName - Linked service reference.
3807	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
3808	// Parameters - Parameters for dataset.
3809	Parameters map[string]*ParameterSpecification `json:"parameters"`
3810	// Annotations - List of tags that can be used for describing the Dataset.
3811	Annotations *[]interface{} `json:"annotations,omitempty"`
3812	// Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level.
3813	Folder *DatasetFolder `json:"folder,omitempty"`
3814	// Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', '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', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeDelimitedText', 'TypeParquet', 'TypeAmazonS3Object'
3815	Type TypeBasicDataset `json:"type,omitempty"`
3816}
3817
3818// MarshalJSON is the custom marshaler for AmazonMWSObjectDataset.
3819func (amod AmazonMWSObjectDataset) MarshalJSON() ([]byte, error) {
3820	amod.Type = TypeAmazonMWSObject
3821	objectMap := make(map[string]interface{})
3822	if amod.GenericDatasetTypeProperties != nil {
3823		objectMap["typeProperties"] = amod.GenericDatasetTypeProperties
3824	}
3825	if amod.Description != nil {
3826		objectMap["description"] = amod.Description
3827	}
3828	if amod.Structure != nil {
3829		objectMap["structure"] = amod.Structure
3830	}
3831	if amod.Schema != nil {
3832		objectMap["schema"] = amod.Schema
3833	}
3834	if amod.LinkedServiceName != nil {
3835		objectMap["linkedServiceName"] = amod.LinkedServiceName
3836	}
3837	if amod.Parameters != nil {
3838		objectMap["parameters"] = amod.Parameters
3839	}
3840	if amod.Annotations != nil {
3841		objectMap["annotations"] = amod.Annotations
3842	}
3843	if amod.Folder != nil {
3844		objectMap["folder"] = amod.Folder
3845	}
3846	if amod.Type != "" {
3847		objectMap["type"] = amod.Type
3848	}
3849	for k, v := range amod.AdditionalProperties {
3850		objectMap[k] = v
3851	}
3852	return json.Marshal(objectMap)
3853}
3854
3855// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
3856func (amod AmazonMWSObjectDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) {
3857	return nil, false
3858}
3859
3860// AsAzureDataExplorerTableDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
3861func (amod AmazonMWSObjectDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) {
3862	return nil, false
3863}
3864
3865// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
3866func (amod AmazonMWSObjectDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) {
3867	return nil, false
3868}
3869
3870// AsDynamicsAXResourceDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
3871func (amod AmazonMWSObjectDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) {
3872	return nil, false
3873}
3874
3875// AsResponsysObjectDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
3876func (amod AmazonMWSObjectDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
3877	return nil, false
3878}
3879
3880// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
3881func (amod AmazonMWSObjectDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
3882	return nil, false
3883}
3884
3885// AsVerticaTableDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
3886func (amod AmazonMWSObjectDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
3887	return nil, false
3888}
3889
3890// AsNetezzaTableDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
3891func (amod AmazonMWSObjectDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
3892	return nil, false
3893}
3894
3895// AsZohoObjectDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
3896func (amod AmazonMWSObjectDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
3897	return nil, false
3898}
3899
3900// AsXeroObjectDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
3901func (amod AmazonMWSObjectDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
3902	return nil, false
3903}
3904
3905// AsSquareObjectDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
3906func (amod AmazonMWSObjectDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
3907	return nil, false
3908}
3909
3910// AsSparkObjectDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
3911func (amod AmazonMWSObjectDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
3912	return nil, false
3913}
3914
3915// AsShopifyObjectDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
3916func (amod AmazonMWSObjectDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
3917	return nil, false
3918}
3919
3920// AsServiceNowObjectDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
3921func (amod AmazonMWSObjectDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
3922	return nil, false
3923}
3924
3925// AsQuickBooksObjectDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
3926func (amod AmazonMWSObjectDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
3927	return nil, false
3928}
3929
3930// AsPrestoObjectDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
3931func (amod AmazonMWSObjectDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
3932	return nil, false
3933}
3934
3935// AsPhoenixObjectDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
3936func (amod AmazonMWSObjectDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
3937	return nil, false
3938}
3939
3940// AsPaypalObjectDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
3941func (amod AmazonMWSObjectDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
3942	return nil, false
3943}
3944
3945// AsMarketoObjectDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
3946func (amod AmazonMWSObjectDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
3947	return nil, false
3948}
3949
3950// AsMariaDBTableDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
3951func (amod AmazonMWSObjectDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
3952	return nil, false
3953}
3954
3955// AsMagentoObjectDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
3956func (amod AmazonMWSObjectDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
3957	return nil, false
3958}
3959
3960// AsJiraObjectDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
3961func (amod AmazonMWSObjectDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
3962	return nil, false
3963}
3964
3965// AsImpalaObjectDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
3966func (amod AmazonMWSObjectDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
3967	return nil, false
3968}
3969
3970// AsHubspotObjectDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
3971func (amod AmazonMWSObjectDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
3972	return nil, false
3973}
3974
3975// AsHiveObjectDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
3976func (amod AmazonMWSObjectDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
3977	return nil, false
3978}
3979
3980// AsHBaseObjectDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
3981func (amod AmazonMWSObjectDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
3982	return nil, false
3983}
3984
3985// AsGreenplumTableDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
3986func (amod AmazonMWSObjectDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
3987	return nil, false
3988}
3989
3990// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
3991func (amod AmazonMWSObjectDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
3992	return nil, false
3993}
3994
3995// AsEloquaObjectDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
3996func (amod AmazonMWSObjectDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
3997	return nil, false
3998}
3999
4000// AsDrillTableDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
4001func (amod AmazonMWSObjectDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
4002	return nil, false
4003}
4004
4005// AsCouchbaseTableDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
4006func (amod AmazonMWSObjectDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
4007	return nil, false
4008}
4009
4010// AsConcurObjectDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
4011func (amod AmazonMWSObjectDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
4012	return nil, false
4013}
4014
4015// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
4016func (amod AmazonMWSObjectDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
4017	return nil, false
4018}
4019
4020// AsAmazonMWSObjectDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
4021func (amod AmazonMWSObjectDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
4022	return &amod, true
4023}
4024
4025// AsHTTPDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
4026func (amod AmazonMWSObjectDataset) AsHTTPDataset() (*HTTPDataset, bool) {
4027	return nil, false
4028}
4029
4030// AsAzureSearchIndexDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
4031func (amod AmazonMWSObjectDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
4032	return nil, false
4033}
4034
4035// AsWebTableDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
4036func (amod AmazonMWSObjectDataset) AsWebTableDataset() (*WebTableDataset, bool) {
4037	return nil, false
4038}
4039
4040// AsSapTableResourceDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
4041func (amod AmazonMWSObjectDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) {
4042	return nil, false
4043}
4044
4045// AsRestResourceDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
4046func (amod AmazonMWSObjectDataset) AsRestResourceDataset() (*RestResourceDataset, bool) {
4047	return nil, false
4048}
4049
4050// AsSQLServerTableDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
4051func (amod AmazonMWSObjectDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
4052	return nil, false
4053}
4054
4055// AsSapOpenHubTableDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
4056func (amod AmazonMWSObjectDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) {
4057	return nil, false
4058}
4059
4060// AsSapHanaTableDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
4061func (amod AmazonMWSObjectDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) {
4062	return nil, false
4063}
4064
4065// AsSapEccResourceDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
4066func (amod AmazonMWSObjectDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
4067	return nil, false
4068}
4069
4070// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
4071func (amod AmazonMWSObjectDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
4072	return nil, false
4073}
4074
4075// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
4076func (amod AmazonMWSObjectDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) {
4077	return nil, false
4078}
4079
4080// AsSalesforceObjectDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
4081func (amod AmazonMWSObjectDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
4082	return nil, false
4083}
4084
4085// AsMicrosoftAccessTableDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
4086func (amod AmazonMWSObjectDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) {
4087	return nil, false
4088}
4089
4090// AsPostgreSQLTableDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
4091func (amod AmazonMWSObjectDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) {
4092	return nil, false
4093}
4094
4095// AsMySQLTableDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
4096func (amod AmazonMWSObjectDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) {
4097	return nil, false
4098}
4099
4100// AsOdbcTableDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
4101func (amod AmazonMWSObjectDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) {
4102	return nil, false
4103}
4104
4105// AsInformixTableDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
4106func (amod AmazonMWSObjectDataset) AsInformixTableDataset() (*InformixTableDataset, bool) {
4107	return nil, false
4108}
4109
4110// AsRelationalTableDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
4111func (amod AmazonMWSObjectDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
4112	return nil, false
4113}
4114
4115// AsAzureMySQLTableDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
4116func (amod AmazonMWSObjectDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
4117	return nil, false
4118}
4119
4120// AsTeradataTableDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
4121func (amod AmazonMWSObjectDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) {
4122	return nil, false
4123}
4124
4125// AsOracleTableDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
4126func (amod AmazonMWSObjectDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
4127	return nil, false
4128}
4129
4130// AsODataResourceDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
4131func (amod AmazonMWSObjectDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
4132	return nil, false
4133}
4134
4135// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
4136func (amod AmazonMWSObjectDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) {
4137	return nil, false
4138}
4139
4140// AsMongoDbV2CollectionDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
4141func (amod AmazonMWSObjectDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) {
4142	return nil, false
4143}
4144
4145// AsMongoDbCollectionDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
4146func (amod AmazonMWSObjectDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
4147	return nil, false
4148}
4149
4150// AsFileShareDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
4151func (amod AmazonMWSObjectDataset) AsFileShareDataset() (*FileShareDataset, bool) {
4152	return nil, false
4153}
4154
4155// AsOffice365Dataset is the BasicDataset implementation for AmazonMWSObjectDataset.
4156func (amod AmazonMWSObjectDataset) AsOffice365Dataset() (*Office365Dataset, bool) {
4157	return nil, false
4158}
4159
4160// AsAzureBlobFSDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
4161func (amod AmazonMWSObjectDataset) AsAzureBlobFSDataset() (*AzureBlobFSDataset, bool) {
4162	return nil, false
4163}
4164
4165// AsAzureDataLakeStoreDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
4166func (amod AmazonMWSObjectDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) {
4167	return nil, false
4168}
4169
4170// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
4171func (amod AmazonMWSObjectDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) {
4172	return nil, false
4173}
4174
4175// AsDynamicsCrmEntityDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
4176func (amod AmazonMWSObjectDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) {
4177	return nil, false
4178}
4179
4180// AsDynamicsEntityDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
4181func (amod AmazonMWSObjectDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
4182	return nil, false
4183}
4184
4185// AsDocumentDbCollectionDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
4186func (amod AmazonMWSObjectDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
4187	return nil, false
4188}
4189
4190// AsCustomDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
4191func (amod AmazonMWSObjectDataset) AsCustomDataset() (*CustomDataset, bool) {
4192	return nil, false
4193}
4194
4195// AsCassandraTableDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
4196func (amod AmazonMWSObjectDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
4197	return nil, false
4198}
4199
4200// AsAzureSQLDWTableDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
4201func (amod AmazonMWSObjectDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
4202	return nil, false
4203}
4204
4205// AsAzureSQLMITableDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
4206func (amod AmazonMWSObjectDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) {
4207	return nil, false
4208}
4209
4210// AsAzureSQLTableDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
4211func (amod AmazonMWSObjectDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
4212	return nil, false
4213}
4214
4215// AsAzureTableDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
4216func (amod AmazonMWSObjectDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
4217	return nil, false
4218}
4219
4220// AsAzureBlobDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
4221func (amod AmazonMWSObjectDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) {
4222	return nil, false
4223}
4224
4225// AsBinaryDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
4226func (amod AmazonMWSObjectDataset) AsBinaryDataset() (*BinaryDataset, bool) {
4227	return nil, false
4228}
4229
4230// AsDelimitedTextDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
4231func (amod AmazonMWSObjectDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) {
4232	return nil, false
4233}
4234
4235// AsParquetDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
4236func (amod AmazonMWSObjectDataset) AsParquetDataset() (*ParquetDataset, bool) {
4237	return nil, false
4238}
4239
4240// AsAmazonS3Dataset is the BasicDataset implementation for AmazonMWSObjectDataset.
4241func (amod AmazonMWSObjectDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) {
4242	return nil, false
4243}
4244
4245// AsDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
4246func (amod AmazonMWSObjectDataset) AsDataset() (*Dataset, bool) {
4247	return nil, false
4248}
4249
4250// AsBasicDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
4251func (amod AmazonMWSObjectDataset) AsBasicDataset() (BasicDataset, bool) {
4252	return &amod, true
4253}
4254
4255// UnmarshalJSON is the custom unmarshaler for AmazonMWSObjectDataset struct.
4256func (amod *AmazonMWSObjectDataset) UnmarshalJSON(body []byte) error {
4257	var m map[string]*json.RawMessage
4258	err := json.Unmarshal(body, &m)
4259	if err != nil {
4260		return err
4261	}
4262	for k, v := range m {
4263		switch k {
4264		case "typeProperties":
4265			if v != nil {
4266				var genericDatasetTypeProperties GenericDatasetTypeProperties
4267				err = json.Unmarshal(*v, &genericDatasetTypeProperties)
4268				if err != nil {
4269					return err
4270				}
4271				amod.GenericDatasetTypeProperties = &genericDatasetTypeProperties
4272			}
4273		default:
4274			if v != nil {
4275				var additionalProperties interface{}
4276				err = json.Unmarshal(*v, &additionalProperties)
4277				if err != nil {
4278					return err
4279				}
4280				if amod.AdditionalProperties == nil {
4281					amod.AdditionalProperties = make(map[string]interface{})
4282				}
4283				amod.AdditionalProperties[k] = additionalProperties
4284			}
4285		case "description":
4286			if v != nil {
4287				var description string
4288				err = json.Unmarshal(*v, &description)
4289				if err != nil {
4290					return err
4291				}
4292				amod.Description = &description
4293			}
4294		case "structure":
4295			if v != nil {
4296				var structure interface{}
4297				err = json.Unmarshal(*v, &structure)
4298				if err != nil {
4299					return err
4300				}
4301				amod.Structure = structure
4302			}
4303		case "schema":
4304			if v != nil {
4305				var schema interface{}
4306				err = json.Unmarshal(*v, &schema)
4307				if err != nil {
4308					return err
4309				}
4310				amod.Schema = schema
4311			}
4312		case "linkedServiceName":
4313			if v != nil {
4314				var linkedServiceName LinkedServiceReference
4315				err = json.Unmarshal(*v, &linkedServiceName)
4316				if err != nil {
4317					return err
4318				}
4319				amod.LinkedServiceName = &linkedServiceName
4320			}
4321		case "parameters":
4322			if v != nil {
4323				var parameters map[string]*ParameterSpecification
4324				err = json.Unmarshal(*v, &parameters)
4325				if err != nil {
4326					return err
4327				}
4328				amod.Parameters = parameters
4329			}
4330		case "annotations":
4331			if v != nil {
4332				var annotations []interface{}
4333				err = json.Unmarshal(*v, &annotations)
4334				if err != nil {
4335					return err
4336				}
4337				amod.Annotations = &annotations
4338			}
4339		case "folder":
4340			if v != nil {
4341				var folder DatasetFolder
4342				err = json.Unmarshal(*v, &folder)
4343				if err != nil {
4344					return err
4345				}
4346				amod.Folder = &folder
4347			}
4348		case "type":
4349			if v != nil {
4350				var typeVar TypeBasicDataset
4351				err = json.Unmarshal(*v, &typeVar)
4352				if err != nil {
4353					return err
4354				}
4355				amod.Type = typeVar
4356			}
4357		}
4358	}
4359
4360	return nil
4361}
4362
4363// AmazonMWSSource a copy activity Amazon Marketplace Web Service source.
4364type AmazonMWSSource struct {
4365	// Query - A query to retrieve data from source. Type: string (or Expression with resultType string).
4366	Query interface{} `json:"query,omitempty"`
4367	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
4368	AdditionalProperties map[string]interface{} `json:""`
4369	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
4370	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
4371	// 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])).
4372	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
4373	// MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer).
4374	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
4375	// Type - Possible values include: 'TypeCopySource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', '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', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeCassandraSource', 'TypeWebSource', 'TypeTeradataSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeAzureMySQLSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeRestSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceServiceCloudSource', 'TypeSalesforceSource', 'TypeODataSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeMicrosoftAccessSource', 'TypeInformixSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAzureTableSource', 'TypeBinarySource', 'TypeDelimitedTextSource', 'TypeParquetSource'
4376	Type TypeBasicCopySource `json:"type,omitempty"`
4377}
4378
4379// MarshalJSON is the custom marshaler for AmazonMWSSource.
4380func (ams AmazonMWSSource) MarshalJSON() ([]byte, error) {
4381	ams.Type = TypeAmazonMWSSource
4382	objectMap := make(map[string]interface{})
4383	if ams.Query != nil {
4384		objectMap["query"] = ams.Query
4385	}
4386	if ams.SourceRetryCount != nil {
4387		objectMap["sourceRetryCount"] = ams.SourceRetryCount
4388	}
4389	if ams.SourceRetryWait != nil {
4390		objectMap["sourceRetryWait"] = ams.SourceRetryWait
4391	}
4392	if ams.MaxConcurrentConnections != nil {
4393		objectMap["maxConcurrentConnections"] = ams.MaxConcurrentConnections
4394	}
4395	if ams.Type != "" {
4396		objectMap["type"] = ams.Type
4397	}
4398	for k, v := range ams.AdditionalProperties {
4399		objectMap[k] = v
4400	}
4401	return json.Marshal(objectMap)
4402}
4403
4404// AsAmazonRedshiftSource is the BasicCopySource implementation for AmazonMWSSource.
4405func (ams AmazonMWSSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
4406	return nil, false
4407}
4408
4409// AsGoogleAdWordsSource is the BasicCopySource implementation for AmazonMWSSource.
4410func (ams AmazonMWSSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) {
4411	return nil, false
4412}
4413
4414// AsOracleServiceCloudSource is the BasicCopySource implementation for AmazonMWSSource.
4415func (ams AmazonMWSSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) {
4416	return nil, false
4417}
4418
4419// AsDynamicsAXSource is the BasicCopySource implementation for AmazonMWSSource.
4420func (ams AmazonMWSSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) {
4421	return nil, false
4422}
4423
4424// AsResponsysSource is the BasicCopySource implementation for AmazonMWSSource.
4425func (ams AmazonMWSSource) AsResponsysSource() (*ResponsysSource, bool) {
4426	return nil, false
4427}
4428
4429// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for AmazonMWSSource.
4430func (ams AmazonMWSSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
4431	return nil, false
4432}
4433
4434// AsVerticaSource is the BasicCopySource implementation for AmazonMWSSource.
4435func (ams AmazonMWSSource) AsVerticaSource() (*VerticaSource, bool) {
4436	return nil, false
4437}
4438
4439// AsNetezzaSource is the BasicCopySource implementation for AmazonMWSSource.
4440func (ams AmazonMWSSource) AsNetezzaSource() (*NetezzaSource, bool) {
4441	return nil, false
4442}
4443
4444// AsZohoSource is the BasicCopySource implementation for AmazonMWSSource.
4445func (ams AmazonMWSSource) AsZohoSource() (*ZohoSource, bool) {
4446	return nil, false
4447}
4448
4449// AsXeroSource is the BasicCopySource implementation for AmazonMWSSource.
4450func (ams AmazonMWSSource) AsXeroSource() (*XeroSource, bool) {
4451	return nil, false
4452}
4453
4454// AsSquareSource is the BasicCopySource implementation for AmazonMWSSource.
4455func (ams AmazonMWSSource) AsSquareSource() (*SquareSource, bool) {
4456	return nil, false
4457}
4458
4459// AsSparkSource is the BasicCopySource implementation for AmazonMWSSource.
4460func (ams AmazonMWSSource) AsSparkSource() (*SparkSource, bool) {
4461	return nil, false
4462}
4463
4464// AsShopifySource is the BasicCopySource implementation for AmazonMWSSource.
4465func (ams AmazonMWSSource) AsShopifySource() (*ShopifySource, bool) {
4466	return nil, false
4467}
4468
4469// AsServiceNowSource is the BasicCopySource implementation for AmazonMWSSource.
4470func (ams AmazonMWSSource) AsServiceNowSource() (*ServiceNowSource, bool) {
4471	return nil, false
4472}
4473
4474// AsQuickBooksSource is the BasicCopySource implementation for AmazonMWSSource.
4475func (ams AmazonMWSSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
4476	return nil, false
4477}
4478
4479// AsPrestoSource is the BasicCopySource implementation for AmazonMWSSource.
4480func (ams AmazonMWSSource) AsPrestoSource() (*PrestoSource, bool) {
4481	return nil, false
4482}
4483
4484// AsPhoenixSource is the BasicCopySource implementation for AmazonMWSSource.
4485func (ams AmazonMWSSource) AsPhoenixSource() (*PhoenixSource, bool) {
4486	return nil, false
4487}
4488
4489// AsPaypalSource is the BasicCopySource implementation for AmazonMWSSource.
4490func (ams AmazonMWSSource) AsPaypalSource() (*PaypalSource, bool) {
4491	return nil, false
4492}
4493
4494// AsMarketoSource is the BasicCopySource implementation for AmazonMWSSource.
4495func (ams AmazonMWSSource) AsMarketoSource() (*MarketoSource, bool) {
4496	return nil, false
4497}
4498
4499// AsMariaDBSource is the BasicCopySource implementation for AmazonMWSSource.
4500func (ams AmazonMWSSource) AsMariaDBSource() (*MariaDBSource, bool) {
4501	return nil, false
4502}
4503
4504// AsMagentoSource is the BasicCopySource implementation for AmazonMWSSource.
4505func (ams AmazonMWSSource) AsMagentoSource() (*MagentoSource, bool) {
4506	return nil, false
4507}
4508
4509// AsJiraSource is the BasicCopySource implementation for AmazonMWSSource.
4510func (ams AmazonMWSSource) AsJiraSource() (*JiraSource, bool) {
4511	return nil, false
4512}
4513
4514// AsImpalaSource is the BasicCopySource implementation for AmazonMWSSource.
4515func (ams AmazonMWSSource) AsImpalaSource() (*ImpalaSource, bool) {
4516	return nil, false
4517}
4518
4519// AsHubspotSource is the BasicCopySource implementation for AmazonMWSSource.
4520func (ams AmazonMWSSource) AsHubspotSource() (*HubspotSource, bool) {
4521	return nil, false
4522}
4523
4524// AsHiveSource is the BasicCopySource implementation for AmazonMWSSource.
4525func (ams AmazonMWSSource) AsHiveSource() (*HiveSource, bool) {
4526	return nil, false
4527}
4528
4529// AsHBaseSource is the BasicCopySource implementation for AmazonMWSSource.
4530func (ams AmazonMWSSource) AsHBaseSource() (*HBaseSource, bool) {
4531	return nil, false
4532}
4533
4534// AsGreenplumSource is the BasicCopySource implementation for AmazonMWSSource.
4535func (ams AmazonMWSSource) AsGreenplumSource() (*GreenplumSource, bool) {
4536	return nil, false
4537}
4538
4539// AsGoogleBigQuerySource is the BasicCopySource implementation for AmazonMWSSource.
4540func (ams AmazonMWSSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
4541	return nil, false
4542}
4543
4544// AsEloquaSource is the BasicCopySource implementation for AmazonMWSSource.
4545func (ams AmazonMWSSource) AsEloquaSource() (*EloquaSource, bool) {
4546	return nil, false
4547}
4548
4549// AsDrillSource is the BasicCopySource implementation for AmazonMWSSource.
4550func (ams AmazonMWSSource) AsDrillSource() (*DrillSource, bool) {
4551	return nil, false
4552}
4553
4554// AsCouchbaseSource is the BasicCopySource implementation for AmazonMWSSource.
4555func (ams AmazonMWSSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
4556	return nil, false
4557}
4558
4559// AsConcurSource is the BasicCopySource implementation for AmazonMWSSource.
4560func (ams AmazonMWSSource) AsConcurSource() (*ConcurSource, bool) {
4561	return nil, false
4562}
4563
4564// AsAzurePostgreSQLSource is the BasicCopySource implementation for AmazonMWSSource.
4565func (ams AmazonMWSSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
4566	return nil, false
4567}
4568
4569// AsAmazonMWSSource is the BasicCopySource implementation for AmazonMWSSource.
4570func (ams AmazonMWSSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
4571	return &ams, true
4572}
4573
4574// AsHTTPSource is the BasicCopySource implementation for AmazonMWSSource.
4575func (ams AmazonMWSSource) AsHTTPSource() (*HTTPSource, bool) {
4576	return nil, false
4577}
4578
4579// AsAzureBlobFSSource is the BasicCopySource implementation for AmazonMWSSource.
4580func (ams AmazonMWSSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) {
4581	return nil, false
4582}
4583
4584// AsAzureDataLakeStoreSource is the BasicCopySource implementation for AmazonMWSSource.
4585func (ams AmazonMWSSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
4586	return nil, false
4587}
4588
4589// AsOffice365Source is the BasicCopySource implementation for AmazonMWSSource.
4590func (ams AmazonMWSSource) AsOffice365Source() (*Office365Source, bool) {
4591	return nil, false
4592}
4593
4594// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for AmazonMWSSource.
4595func (ams AmazonMWSSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) {
4596	return nil, false
4597}
4598
4599// AsMongoDbV2Source is the BasicCopySource implementation for AmazonMWSSource.
4600func (ams AmazonMWSSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) {
4601	return nil, false
4602}
4603
4604// AsMongoDbSource is the BasicCopySource implementation for AmazonMWSSource.
4605func (ams AmazonMWSSource) AsMongoDbSource() (*MongoDbSource, bool) {
4606	return nil, false
4607}
4608
4609// AsCassandraSource is the BasicCopySource implementation for AmazonMWSSource.
4610func (ams AmazonMWSSource) AsCassandraSource() (*CassandraSource, bool) {
4611	return nil, false
4612}
4613
4614// AsWebSource is the BasicCopySource implementation for AmazonMWSSource.
4615func (ams AmazonMWSSource) AsWebSource() (*WebSource, bool) {
4616	return nil, false
4617}
4618
4619// AsTeradataSource is the BasicCopySource implementation for AmazonMWSSource.
4620func (ams AmazonMWSSource) AsTeradataSource() (*TeradataSource, bool) {
4621	return nil, false
4622}
4623
4624// AsOracleSource is the BasicCopySource implementation for AmazonMWSSource.
4625func (ams AmazonMWSSource) AsOracleSource() (*OracleSource, bool) {
4626	return nil, false
4627}
4628
4629// AsAzureDataExplorerSource is the BasicCopySource implementation for AmazonMWSSource.
4630func (ams AmazonMWSSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) {
4631	return nil, false
4632}
4633
4634// AsAzureMySQLSource is the BasicCopySource implementation for AmazonMWSSource.
4635func (ams AmazonMWSSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
4636	return nil, false
4637}
4638
4639// AsHdfsSource is the BasicCopySource implementation for AmazonMWSSource.
4640func (ams AmazonMWSSource) AsHdfsSource() (*HdfsSource, bool) {
4641	return nil, false
4642}
4643
4644// AsFileSystemSource is the BasicCopySource implementation for AmazonMWSSource.
4645func (ams AmazonMWSSource) AsFileSystemSource() (*FileSystemSource, bool) {
4646	return nil, false
4647}
4648
4649// AsSQLDWSource is the BasicCopySource implementation for AmazonMWSSource.
4650func (ams AmazonMWSSource) AsSQLDWSource() (*SQLDWSource, bool) {
4651	return nil, false
4652}
4653
4654// AsSQLMISource is the BasicCopySource implementation for AmazonMWSSource.
4655func (ams AmazonMWSSource) AsSQLMISource() (*SQLMISource, bool) {
4656	return nil, false
4657}
4658
4659// AsAzureSQLSource is the BasicCopySource implementation for AmazonMWSSource.
4660func (ams AmazonMWSSource) AsAzureSQLSource() (*AzureSQLSource, bool) {
4661	return nil, false
4662}
4663
4664// AsSQLServerSource is the BasicCopySource implementation for AmazonMWSSource.
4665func (ams AmazonMWSSource) AsSQLServerSource() (*SQLServerSource, bool) {
4666	return nil, false
4667}
4668
4669// AsSQLSource is the BasicCopySource implementation for AmazonMWSSource.
4670func (ams AmazonMWSSource) AsSQLSource() (*SQLSource, bool) {
4671	return nil, false
4672}
4673
4674// AsRestSource is the BasicCopySource implementation for AmazonMWSSource.
4675func (ams AmazonMWSSource) AsRestSource() (*RestSource, bool) {
4676	return nil, false
4677}
4678
4679// AsSapTableSource is the BasicCopySource implementation for AmazonMWSSource.
4680func (ams AmazonMWSSource) AsSapTableSource() (*SapTableSource, bool) {
4681	return nil, false
4682}
4683
4684// AsSapOpenHubSource is the BasicCopySource implementation for AmazonMWSSource.
4685func (ams AmazonMWSSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) {
4686	return nil, false
4687}
4688
4689// AsSapHanaSource is the BasicCopySource implementation for AmazonMWSSource.
4690func (ams AmazonMWSSource) AsSapHanaSource() (*SapHanaSource, bool) {
4691	return nil, false
4692}
4693
4694// AsSapEccSource is the BasicCopySource implementation for AmazonMWSSource.
4695func (ams AmazonMWSSource) AsSapEccSource() (*SapEccSource, bool) {
4696	return nil, false
4697}
4698
4699// AsSapCloudForCustomerSource is the BasicCopySource implementation for AmazonMWSSource.
4700func (ams AmazonMWSSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
4701	return nil, false
4702}
4703
4704// AsSalesforceServiceCloudSource is the BasicCopySource implementation for AmazonMWSSource.
4705func (ams AmazonMWSSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) {
4706	return nil, false
4707}
4708
4709// AsSalesforceSource is the BasicCopySource implementation for AmazonMWSSource.
4710func (ams AmazonMWSSource) AsSalesforceSource() (*SalesforceSource, bool) {
4711	return nil, false
4712}
4713
4714// AsODataSource is the BasicCopySource implementation for AmazonMWSSource.
4715func (ams AmazonMWSSource) AsODataSource() (*ODataSource, bool) {
4716	return nil, false
4717}
4718
4719// AsSybaseSource is the BasicCopySource implementation for AmazonMWSSource.
4720func (ams AmazonMWSSource) AsSybaseSource() (*SybaseSource, bool) {
4721	return nil, false
4722}
4723
4724// AsPostgreSQLSource is the BasicCopySource implementation for AmazonMWSSource.
4725func (ams AmazonMWSSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) {
4726	return nil, false
4727}
4728
4729// AsMySQLSource is the BasicCopySource implementation for AmazonMWSSource.
4730func (ams AmazonMWSSource) AsMySQLSource() (*MySQLSource, bool) {
4731	return nil, false
4732}
4733
4734// AsOdbcSource is the BasicCopySource implementation for AmazonMWSSource.
4735func (ams AmazonMWSSource) AsOdbcSource() (*OdbcSource, bool) {
4736	return nil, false
4737}
4738
4739// AsDb2Source is the BasicCopySource implementation for AmazonMWSSource.
4740func (ams AmazonMWSSource) AsDb2Source() (*Db2Source, bool) {
4741	return nil, false
4742}
4743
4744// AsMicrosoftAccessSource is the BasicCopySource implementation for AmazonMWSSource.
4745func (ams AmazonMWSSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) {
4746	return nil, false
4747}
4748
4749// AsInformixSource is the BasicCopySource implementation for AmazonMWSSource.
4750func (ams AmazonMWSSource) AsInformixSource() (*InformixSource, bool) {
4751	return nil, false
4752}
4753
4754// AsRelationalSource is the BasicCopySource implementation for AmazonMWSSource.
4755func (ams AmazonMWSSource) AsRelationalSource() (*RelationalSource, bool) {
4756	return nil, false
4757}
4758
4759// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for AmazonMWSSource.
4760func (ams AmazonMWSSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) {
4761	return nil, false
4762}
4763
4764// AsDynamicsCrmSource is the BasicCopySource implementation for AmazonMWSSource.
4765func (ams AmazonMWSSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) {
4766	return nil, false
4767}
4768
4769// AsDynamicsSource is the BasicCopySource implementation for AmazonMWSSource.
4770func (ams AmazonMWSSource) AsDynamicsSource() (*DynamicsSource, bool) {
4771	return nil, false
4772}
4773
4774// AsDocumentDbCollectionSource is the BasicCopySource implementation for AmazonMWSSource.
4775func (ams AmazonMWSSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
4776	return nil, false
4777}
4778
4779// AsBlobSource is the BasicCopySource implementation for AmazonMWSSource.
4780func (ams AmazonMWSSource) AsBlobSource() (*BlobSource, bool) {
4781	return nil, false
4782}
4783
4784// AsAzureTableSource is the BasicCopySource implementation for AmazonMWSSource.
4785func (ams AmazonMWSSource) AsAzureTableSource() (*AzureTableSource, bool) {
4786	return nil, false
4787}
4788
4789// AsBinarySource is the BasicCopySource implementation for AmazonMWSSource.
4790func (ams AmazonMWSSource) AsBinarySource() (*BinarySource, bool) {
4791	return nil, false
4792}
4793
4794// AsDelimitedTextSource is the BasicCopySource implementation for AmazonMWSSource.
4795func (ams AmazonMWSSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) {
4796	return nil, false
4797}
4798
4799// AsParquetSource is the BasicCopySource implementation for AmazonMWSSource.
4800func (ams AmazonMWSSource) AsParquetSource() (*ParquetSource, bool) {
4801	return nil, false
4802}
4803
4804// AsCopySource is the BasicCopySource implementation for AmazonMWSSource.
4805func (ams AmazonMWSSource) AsCopySource() (*CopySource, bool) {
4806	return nil, false
4807}
4808
4809// AsBasicCopySource is the BasicCopySource implementation for AmazonMWSSource.
4810func (ams AmazonMWSSource) AsBasicCopySource() (BasicCopySource, bool) {
4811	return &ams, true
4812}
4813
4814// UnmarshalJSON is the custom unmarshaler for AmazonMWSSource struct.
4815func (ams *AmazonMWSSource) UnmarshalJSON(body []byte) error {
4816	var m map[string]*json.RawMessage
4817	err := json.Unmarshal(body, &m)
4818	if err != nil {
4819		return err
4820	}
4821	for k, v := range m {
4822		switch k {
4823		case "query":
4824			if v != nil {
4825				var query interface{}
4826				err = json.Unmarshal(*v, &query)
4827				if err != nil {
4828					return err
4829				}
4830				ams.Query = query
4831			}
4832		default:
4833			if v != nil {
4834				var additionalProperties interface{}
4835				err = json.Unmarshal(*v, &additionalProperties)
4836				if err != nil {
4837					return err
4838				}
4839				if ams.AdditionalProperties == nil {
4840					ams.AdditionalProperties = make(map[string]interface{})
4841				}
4842				ams.AdditionalProperties[k] = additionalProperties
4843			}
4844		case "sourceRetryCount":
4845			if v != nil {
4846				var sourceRetryCount interface{}
4847				err = json.Unmarshal(*v, &sourceRetryCount)
4848				if err != nil {
4849					return err
4850				}
4851				ams.SourceRetryCount = sourceRetryCount
4852			}
4853		case "sourceRetryWait":
4854			if v != nil {
4855				var sourceRetryWait interface{}
4856				err = json.Unmarshal(*v, &sourceRetryWait)
4857				if err != nil {
4858					return err
4859				}
4860				ams.SourceRetryWait = sourceRetryWait
4861			}
4862		case "maxConcurrentConnections":
4863			if v != nil {
4864				var maxConcurrentConnections interface{}
4865				err = json.Unmarshal(*v, &maxConcurrentConnections)
4866				if err != nil {
4867					return err
4868				}
4869				ams.MaxConcurrentConnections = maxConcurrentConnections
4870			}
4871		case "type":
4872			if v != nil {
4873				var typeVar TypeBasicCopySource
4874				err = json.Unmarshal(*v, &typeVar)
4875				if err != nil {
4876					return err
4877				}
4878				ams.Type = typeVar
4879			}
4880		}
4881	}
4882
4883	return nil
4884}
4885
4886// AmazonRedshiftLinkedService linked service for Amazon Redshift.
4887type AmazonRedshiftLinkedService struct {
4888	// AmazonRedshiftLinkedServiceTypeProperties - Amazon Redshift linked service properties.
4889	*AmazonRedshiftLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
4890	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
4891	AdditionalProperties map[string]interface{} `json:""`
4892	// ConnectVia - The integration runtime reference.
4893	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
4894	// Description - Linked service description.
4895	Description *string `json:"description,omitempty"`
4896	// Parameters - Parameters for linked service.
4897	Parameters map[string]*ParameterSpecification `json:"parameters"`
4898	// Annotations - List of tags that can be used for describing the linked service.
4899	Annotations *[]interface{} `json:"annotations,omitempty"`
4900	// Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', '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', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage'
4901	Type TypeBasicLinkedService `json:"type,omitempty"`
4902}
4903
4904// MarshalJSON is the custom marshaler for AmazonRedshiftLinkedService.
4905func (arls AmazonRedshiftLinkedService) MarshalJSON() ([]byte, error) {
4906	arls.Type = TypeAmazonRedshift
4907	objectMap := make(map[string]interface{})
4908	if arls.AmazonRedshiftLinkedServiceTypeProperties != nil {
4909		objectMap["typeProperties"] = arls.AmazonRedshiftLinkedServiceTypeProperties
4910	}
4911	if arls.ConnectVia != nil {
4912		objectMap["connectVia"] = arls.ConnectVia
4913	}
4914	if arls.Description != nil {
4915		objectMap["description"] = arls.Description
4916	}
4917	if arls.Parameters != nil {
4918		objectMap["parameters"] = arls.Parameters
4919	}
4920	if arls.Annotations != nil {
4921		objectMap["annotations"] = arls.Annotations
4922	}
4923	if arls.Type != "" {
4924		objectMap["type"] = arls.Type
4925	}
4926	for k, v := range arls.AdditionalProperties {
4927		objectMap[k] = v
4928	}
4929	return json.Marshal(objectMap)
4930}
4931
4932// AsAzureFunctionLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
4933func (arls AmazonRedshiftLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) {
4934	return nil, false
4935}
4936
4937// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
4938func (arls AmazonRedshiftLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) {
4939	return nil, false
4940}
4941
4942// AsSapTableLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
4943func (arls AmazonRedshiftLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) {
4944	return nil, false
4945}
4946
4947// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
4948func (arls AmazonRedshiftLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) {
4949	return nil, false
4950}
4951
4952// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
4953func (arls AmazonRedshiftLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) {
4954	return nil, false
4955}
4956
4957// AsDynamicsAXLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
4958func (arls AmazonRedshiftLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) {
4959	return nil, false
4960}
4961
4962// AsResponsysLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
4963func (arls AmazonRedshiftLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
4964	return nil, false
4965}
4966
4967// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
4968func (arls AmazonRedshiftLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
4969	return nil, false
4970}
4971
4972// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
4973func (arls AmazonRedshiftLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
4974	return nil, false
4975}
4976
4977// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
4978func (arls AmazonRedshiftLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
4979	return nil, false
4980}
4981
4982// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
4983func (arls AmazonRedshiftLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
4984	return nil, false
4985}
4986
4987// AsNetezzaLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
4988func (arls AmazonRedshiftLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
4989	return nil, false
4990}
4991
4992// AsVerticaLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
4993func (arls AmazonRedshiftLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
4994	return nil, false
4995}
4996
4997// AsZohoLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
4998func (arls AmazonRedshiftLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
4999	return nil, false
5000}
5001
5002// AsXeroLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
5003func (arls AmazonRedshiftLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
5004	return nil, false
5005}
5006
5007// AsSquareLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
5008func (arls AmazonRedshiftLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
5009	return nil, false
5010}
5011
5012// AsSparkLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
5013func (arls AmazonRedshiftLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
5014	return nil, false
5015}
5016
5017// AsShopifyLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
5018func (arls AmazonRedshiftLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
5019	return nil, false
5020}
5021
5022// AsServiceNowLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
5023func (arls AmazonRedshiftLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
5024	return nil, false
5025}
5026
5027// AsQuickBooksLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
5028func (arls AmazonRedshiftLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
5029	return nil, false
5030}
5031
5032// AsPrestoLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
5033func (arls AmazonRedshiftLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
5034	return nil, false
5035}
5036
5037// AsPhoenixLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
5038func (arls AmazonRedshiftLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
5039	return nil, false
5040}
5041
5042// AsPaypalLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
5043func (arls AmazonRedshiftLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
5044	return nil, false
5045}
5046
5047// AsMarketoLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
5048func (arls AmazonRedshiftLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
5049	return nil, false
5050}
5051
5052// AsMariaDBLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
5053func (arls AmazonRedshiftLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
5054	return nil, false
5055}
5056
5057// AsMagentoLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
5058func (arls AmazonRedshiftLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
5059	return nil, false
5060}
5061
5062// AsJiraLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
5063func (arls AmazonRedshiftLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
5064	return nil, false
5065}
5066
5067// AsImpalaLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
5068func (arls AmazonRedshiftLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
5069	return nil, false
5070}
5071
5072// AsHubspotLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
5073func (arls AmazonRedshiftLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
5074	return nil, false
5075}
5076
5077// AsHiveLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
5078func (arls AmazonRedshiftLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
5079	return nil, false
5080}
5081
5082// AsHBaseLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
5083func (arls AmazonRedshiftLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
5084	return nil, false
5085}
5086
5087// AsGreenplumLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
5088func (arls AmazonRedshiftLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
5089	return nil, false
5090}
5091
5092// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
5093func (arls AmazonRedshiftLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
5094	return nil, false
5095}
5096
5097// AsEloquaLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
5098func (arls AmazonRedshiftLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
5099	return nil, false
5100}
5101
5102// AsDrillLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
5103func (arls AmazonRedshiftLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
5104	return nil, false
5105}
5106
5107// AsCouchbaseLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
5108func (arls AmazonRedshiftLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
5109	return nil, false
5110}
5111
5112// AsConcurLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
5113func (arls AmazonRedshiftLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
5114	return nil, false
5115}
5116
5117// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
5118func (arls AmazonRedshiftLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
5119	return nil, false
5120}
5121
5122// AsAmazonMWSLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
5123func (arls AmazonRedshiftLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
5124	return nil, false
5125}
5126
5127// AsSapHanaLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
5128func (arls AmazonRedshiftLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
5129	return nil, false
5130}
5131
5132// AsSapBWLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
5133func (arls AmazonRedshiftLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
5134	return nil, false
5135}
5136
5137// AsSftpServerLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
5138func (arls AmazonRedshiftLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
5139	return nil, false
5140}
5141
5142// AsFtpServerLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
5143func (arls AmazonRedshiftLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
5144	return nil, false
5145}
5146
5147// AsHTTPLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
5148func (arls AmazonRedshiftLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
5149	return nil, false
5150}
5151
5152// AsAzureSearchLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
5153func (arls AmazonRedshiftLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
5154	return nil, false
5155}
5156
5157// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
5158func (arls AmazonRedshiftLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
5159	return nil, false
5160}
5161
5162// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
5163func (arls AmazonRedshiftLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
5164	return &arls, true
5165}
5166
5167// AsAmazonS3LinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
5168func (arls AmazonRedshiftLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
5169	return nil, false
5170}
5171
5172// AsRestServiceLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
5173func (arls AmazonRedshiftLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) {
5174	return nil, false
5175}
5176
5177// AsSapOpenHubLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
5178func (arls AmazonRedshiftLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) {
5179	return nil, false
5180}
5181
5182// AsSapEccLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
5183func (arls AmazonRedshiftLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
5184	return nil, false
5185}
5186
5187// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
5188func (arls AmazonRedshiftLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
5189	return nil, false
5190}
5191
5192// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
5193func (arls AmazonRedshiftLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) {
5194	return nil, false
5195}
5196
5197// AsSalesforceLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
5198func (arls AmazonRedshiftLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
5199	return nil, false
5200}
5201
5202// AsOffice365LinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
5203func (arls AmazonRedshiftLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) {
5204	return nil, false
5205}
5206
5207// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
5208func (arls AmazonRedshiftLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) {
5209	return nil, false
5210}
5211
5212// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
5213func (arls AmazonRedshiftLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
5214	return nil, false
5215}
5216
5217// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
5218func (arls AmazonRedshiftLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) {
5219	return nil, false
5220}
5221
5222// AsMongoDbV2LinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
5223func (arls AmazonRedshiftLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) {
5224	return nil, false
5225}
5226
5227// AsMongoDbLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
5228func (arls AmazonRedshiftLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
5229	return nil, false
5230}
5231
5232// AsCassandraLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
5233func (arls AmazonRedshiftLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
5234	return nil, false
5235}
5236
5237// AsWebLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
5238func (arls AmazonRedshiftLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
5239	return nil, false
5240}
5241
5242// AsODataLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
5243func (arls AmazonRedshiftLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
5244	return nil, false
5245}
5246
5247// AsHdfsLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
5248func (arls AmazonRedshiftLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
5249	return nil, false
5250}
5251
5252// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
5253func (arls AmazonRedshiftLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) {
5254	return nil, false
5255}
5256
5257// AsInformixLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
5258func (arls AmazonRedshiftLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) {
5259	return nil, false
5260}
5261
5262// AsOdbcLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
5263func (arls AmazonRedshiftLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
5264	return nil, false
5265}
5266
5267// AsAzureMLLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
5268func (arls AmazonRedshiftLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
5269	return nil, false
5270}
5271
5272// AsTeradataLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
5273func (arls AmazonRedshiftLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
5274	return nil, false
5275}
5276
5277// AsDb2LinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
5278func (arls AmazonRedshiftLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
5279	return nil, false
5280}
5281
5282// AsSybaseLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
5283func (arls AmazonRedshiftLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
5284	return nil, false
5285}
5286
5287// AsPostgreSQLLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
5288func (arls AmazonRedshiftLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
5289	return nil, false
5290}
5291
5292// AsMySQLLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
5293func (arls AmazonRedshiftLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
5294	return nil, false
5295}
5296
5297// AsAzureMySQLLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
5298func (arls AmazonRedshiftLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
5299	return nil, false
5300}
5301
5302// AsOracleLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
5303func (arls AmazonRedshiftLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
5304	return nil, false
5305}
5306
5307// AsFileServerLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
5308func (arls AmazonRedshiftLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
5309	return nil, false
5310}
5311
5312// AsHDInsightLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
5313func (arls AmazonRedshiftLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
5314	return nil, false
5315}
5316
5317// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
5318func (arls AmazonRedshiftLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) {
5319	return nil, false
5320}
5321
5322// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
5323func (arls AmazonRedshiftLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) {
5324	return nil, false
5325}
5326
5327// AsDynamicsLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
5328func (arls AmazonRedshiftLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
5329	return nil, false
5330}
5331
5332// AsCosmosDbLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
5333func (arls AmazonRedshiftLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
5334	return nil, false
5335}
5336
5337// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
5338func (arls AmazonRedshiftLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
5339	return nil, false
5340}
5341
5342// AsAzureBatchLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
5343func (arls AmazonRedshiftLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
5344	return nil, false
5345}
5346
5347// AsAzureSQLMILinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
5348func (arls AmazonRedshiftLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) {
5349	return nil, false
5350}
5351
5352// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
5353func (arls AmazonRedshiftLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
5354	return nil, false
5355}
5356
5357// AsSQLServerLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
5358func (arls AmazonRedshiftLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
5359	return nil, false
5360}
5361
5362// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
5363func (arls AmazonRedshiftLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
5364	return nil, false
5365}
5366
5367// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
5368func (arls AmazonRedshiftLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) {
5369	return nil, false
5370}
5371
5372// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
5373func (arls AmazonRedshiftLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) {
5374	return nil, false
5375}
5376
5377// AsAzureStorageLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
5378func (arls AmazonRedshiftLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
5379	return nil, false
5380}
5381
5382// AsLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
5383func (arls AmazonRedshiftLinkedService) AsLinkedService() (*LinkedService, bool) {
5384	return nil, false
5385}
5386
5387// AsBasicLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
5388func (arls AmazonRedshiftLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
5389	return &arls, true
5390}
5391
5392// UnmarshalJSON is the custom unmarshaler for AmazonRedshiftLinkedService struct.
5393func (arls *AmazonRedshiftLinkedService) UnmarshalJSON(body []byte) error {
5394	var m map[string]*json.RawMessage
5395	err := json.Unmarshal(body, &m)
5396	if err != nil {
5397		return err
5398	}
5399	for k, v := range m {
5400		switch k {
5401		case "typeProperties":
5402			if v != nil {
5403				var amazonRedshiftLinkedServiceTypeProperties AmazonRedshiftLinkedServiceTypeProperties
5404				err = json.Unmarshal(*v, &amazonRedshiftLinkedServiceTypeProperties)
5405				if err != nil {
5406					return err
5407				}
5408				arls.AmazonRedshiftLinkedServiceTypeProperties = &amazonRedshiftLinkedServiceTypeProperties
5409			}
5410		default:
5411			if v != nil {
5412				var additionalProperties interface{}
5413				err = json.Unmarshal(*v, &additionalProperties)
5414				if err != nil {
5415					return err
5416				}
5417				if arls.AdditionalProperties == nil {
5418					arls.AdditionalProperties = make(map[string]interface{})
5419				}
5420				arls.AdditionalProperties[k] = additionalProperties
5421			}
5422		case "connectVia":
5423			if v != nil {
5424				var connectVia IntegrationRuntimeReference
5425				err = json.Unmarshal(*v, &connectVia)
5426				if err != nil {
5427					return err
5428				}
5429				arls.ConnectVia = &connectVia
5430			}
5431		case "description":
5432			if v != nil {
5433				var description string
5434				err = json.Unmarshal(*v, &description)
5435				if err != nil {
5436					return err
5437				}
5438				arls.Description = &description
5439			}
5440		case "parameters":
5441			if v != nil {
5442				var parameters map[string]*ParameterSpecification
5443				err = json.Unmarshal(*v, &parameters)
5444				if err != nil {
5445					return err
5446				}
5447				arls.Parameters = parameters
5448			}
5449		case "annotations":
5450			if v != nil {
5451				var annotations []interface{}
5452				err = json.Unmarshal(*v, &annotations)
5453				if err != nil {
5454					return err
5455				}
5456				arls.Annotations = &annotations
5457			}
5458		case "type":
5459			if v != nil {
5460				var typeVar TypeBasicLinkedService
5461				err = json.Unmarshal(*v, &typeVar)
5462				if err != nil {
5463					return err
5464				}
5465				arls.Type = typeVar
5466			}
5467		}
5468	}
5469
5470	return nil
5471}
5472
5473// AmazonRedshiftLinkedServiceTypeProperties amazon Redshift linked service properties.
5474type AmazonRedshiftLinkedServiceTypeProperties struct {
5475	// Server - The name of the Amazon Redshift server. Type: string (or Expression with resultType string).
5476	Server interface{} `json:"server,omitempty"`
5477	// Username - The username of the Amazon Redshift source. Type: string (or Expression with resultType string).
5478	Username interface{} `json:"username,omitempty"`
5479	// Password - The password of the Amazon Redshift source.
5480	Password BasicSecretBase `json:"password,omitempty"`
5481	// Database - The database name of the Amazon Redshift source. Type: string (or Expression with resultType string).
5482	Database interface{} `json:"database,omitempty"`
5483	// 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).
5484	Port interface{} `json:"port,omitempty"`
5485	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
5486	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
5487}
5488
5489// UnmarshalJSON is the custom unmarshaler for AmazonRedshiftLinkedServiceTypeProperties struct.
5490func (arlstp *AmazonRedshiftLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
5491	var m map[string]*json.RawMessage
5492	err := json.Unmarshal(body, &m)
5493	if err != nil {
5494		return err
5495	}
5496	for k, v := range m {
5497		switch k {
5498		case "server":
5499			if v != nil {
5500				var server interface{}
5501				err = json.Unmarshal(*v, &server)
5502				if err != nil {
5503					return err
5504				}
5505				arlstp.Server = server
5506			}
5507		case "username":
5508			if v != nil {
5509				var username interface{}
5510				err = json.Unmarshal(*v, &username)
5511				if err != nil {
5512					return err
5513				}
5514				arlstp.Username = username
5515			}
5516		case "password":
5517			if v != nil {
5518				password, err := unmarshalBasicSecretBase(*v)
5519				if err != nil {
5520					return err
5521				}
5522				arlstp.Password = password
5523			}
5524		case "database":
5525			if v != nil {
5526				var databaseVar interface{}
5527				err = json.Unmarshal(*v, &databaseVar)
5528				if err != nil {
5529					return err
5530				}
5531				arlstp.Database = databaseVar
5532			}
5533		case "port":
5534			if v != nil {
5535				var port interface{}
5536				err = json.Unmarshal(*v, &port)
5537				if err != nil {
5538					return err
5539				}
5540				arlstp.Port = port
5541			}
5542		case "encryptedCredential":
5543			if v != nil {
5544				var encryptedCredential interface{}
5545				err = json.Unmarshal(*v, &encryptedCredential)
5546				if err != nil {
5547					return err
5548				}
5549				arlstp.EncryptedCredential = encryptedCredential
5550			}
5551		}
5552	}
5553
5554	return nil
5555}
5556
5557// AmazonRedshiftSource a copy activity source for Amazon Redshift Source.
5558type AmazonRedshiftSource struct {
5559	// Query - Database query. Type: string (or Expression with resultType string).
5560	Query interface{} `json:"query,omitempty"`
5561	// 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.
5562	RedshiftUnloadSettings *RedshiftUnloadSettings `json:"redshiftUnloadSettings,omitempty"`
5563	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
5564	AdditionalProperties map[string]interface{} `json:""`
5565	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
5566	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
5567	// 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])).
5568	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
5569	// MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer).
5570	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
5571	// Type - Possible values include: 'TypeCopySource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', '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', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeCassandraSource', 'TypeWebSource', 'TypeTeradataSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeAzureMySQLSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeRestSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceServiceCloudSource', 'TypeSalesforceSource', 'TypeODataSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeMicrosoftAccessSource', 'TypeInformixSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAzureTableSource', 'TypeBinarySource', 'TypeDelimitedTextSource', 'TypeParquetSource'
5572	Type TypeBasicCopySource `json:"type,omitempty"`
5573}
5574
5575// MarshalJSON is the custom marshaler for AmazonRedshiftSource.
5576func (ars AmazonRedshiftSource) MarshalJSON() ([]byte, error) {
5577	ars.Type = TypeAmazonRedshiftSource
5578	objectMap := make(map[string]interface{})
5579	if ars.Query != nil {
5580		objectMap["query"] = ars.Query
5581	}
5582	if ars.RedshiftUnloadSettings != nil {
5583		objectMap["redshiftUnloadSettings"] = ars.RedshiftUnloadSettings
5584	}
5585	if ars.SourceRetryCount != nil {
5586		objectMap["sourceRetryCount"] = ars.SourceRetryCount
5587	}
5588	if ars.SourceRetryWait != nil {
5589		objectMap["sourceRetryWait"] = ars.SourceRetryWait
5590	}
5591	if ars.MaxConcurrentConnections != nil {
5592		objectMap["maxConcurrentConnections"] = ars.MaxConcurrentConnections
5593	}
5594	if ars.Type != "" {
5595		objectMap["type"] = ars.Type
5596	}
5597	for k, v := range ars.AdditionalProperties {
5598		objectMap[k] = v
5599	}
5600	return json.Marshal(objectMap)
5601}
5602
5603// AsAmazonRedshiftSource is the BasicCopySource implementation for AmazonRedshiftSource.
5604func (ars AmazonRedshiftSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
5605	return &ars, true
5606}
5607
5608// AsGoogleAdWordsSource is the BasicCopySource implementation for AmazonRedshiftSource.
5609func (ars AmazonRedshiftSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) {
5610	return nil, false
5611}
5612
5613// AsOracleServiceCloudSource is the BasicCopySource implementation for AmazonRedshiftSource.
5614func (ars AmazonRedshiftSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) {
5615	return nil, false
5616}
5617
5618// AsDynamicsAXSource is the BasicCopySource implementation for AmazonRedshiftSource.
5619func (ars AmazonRedshiftSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) {
5620	return nil, false
5621}
5622
5623// AsResponsysSource is the BasicCopySource implementation for AmazonRedshiftSource.
5624func (ars AmazonRedshiftSource) AsResponsysSource() (*ResponsysSource, bool) {
5625	return nil, false
5626}
5627
5628// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for AmazonRedshiftSource.
5629func (ars AmazonRedshiftSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
5630	return nil, false
5631}
5632
5633// AsVerticaSource is the BasicCopySource implementation for AmazonRedshiftSource.
5634func (ars AmazonRedshiftSource) AsVerticaSource() (*VerticaSource, bool) {
5635	return nil, false
5636}
5637
5638// AsNetezzaSource is the BasicCopySource implementation for AmazonRedshiftSource.
5639func (ars AmazonRedshiftSource) AsNetezzaSource() (*NetezzaSource, bool) {
5640	return nil, false
5641}
5642
5643// AsZohoSource is the BasicCopySource implementation for AmazonRedshiftSource.
5644func (ars AmazonRedshiftSource) AsZohoSource() (*ZohoSource, bool) {
5645	return nil, false
5646}
5647
5648// AsXeroSource is the BasicCopySource implementation for AmazonRedshiftSource.
5649func (ars AmazonRedshiftSource) AsXeroSource() (*XeroSource, bool) {
5650	return nil, false
5651}
5652
5653// AsSquareSource is the BasicCopySource implementation for AmazonRedshiftSource.
5654func (ars AmazonRedshiftSource) AsSquareSource() (*SquareSource, bool) {
5655	return nil, false
5656}
5657
5658// AsSparkSource is the BasicCopySource implementation for AmazonRedshiftSource.
5659func (ars AmazonRedshiftSource) AsSparkSource() (*SparkSource, bool) {
5660	return nil, false
5661}
5662
5663// AsShopifySource is the BasicCopySource implementation for AmazonRedshiftSource.
5664func (ars AmazonRedshiftSource) AsShopifySource() (*ShopifySource, bool) {
5665	return nil, false
5666}
5667
5668// AsServiceNowSource is the BasicCopySource implementation for AmazonRedshiftSource.
5669func (ars AmazonRedshiftSource) AsServiceNowSource() (*ServiceNowSource, bool) {
5670	return nil, false
5671}
5672
5673// AsQuickBooksSource is the BasicCopySource implementation for AmazonRedshiftSource.
5674func (ars AmazonRedshiftSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
5675	return nil, false
5676}
5677
5678// AsPrestoSource is the BasicCopySource implementation for AmazonRedshiftSource.
5679func (ars AmazonRedshiftSource) AsPrestoSource() (*PrestoSource, bool) {
5680	return nil, false
5681}
5682
5683// AsPhoenixSource is the BasicCopySource implementation for AmazonRedshiftSource.
5684func (ars AmazonRedshiftSource) AsPhoenixSource() (*PhoenixSource, bool) {
5685	return nil, false
5686}
5687
5688// AsPaypalSource is the BasicCopySource implementation for AmazonRedshiftSource.
5689func (ars AmazonRedshiftSource) AsPaypalSource() (*PaypalSource, bool) {
5690	return nil, false
5691}
5692
5693// AsMarketoSource is the BasicCopySource implementation for AmazonRedshiftSource.
5694func (ars AmazonRedshiftSource) AsMarketoSource() (*MarketoSource, bool) {
5695	return nil, false
5696}
5697
5698// AsMariaDBSource is the BasicCopySource implementation for AmazonRedshiftSource.
5699func (ars AmazonRedshiftSource) AsMariaDBSource() (*MariaDBSource, bool) {
5700	return nil, false
5701}
5702
5703// AsMagentoSource is the BasicCopySource implementation for AmazonRedshiftSource.
5704func (ars AmazonRedshiftSource) AsMagentoSource() (*MagentoSource, bool) {
5705	return nil, false
5706}
5707
5708// AsJiraSource is the BasicCopySource implementation for AmazonRedshiftSource.
5709func (ars AmazonRedshiftSource) AsJiraSource() (*JiraSource, bool) {
5710	return nil, false
5711}
5712
5713// AsImpalaSource is the BasicCopySource implementation for AmazonRedshiftSource.
5714func (ars AmazonRedshiftSource) AsImpalaSource() (*ImpalaSource, bool) {
5715	return nil, false
5716}
5717
5718// AsHubspotSource is the BasicCopySource implementation for AmazonRedshiftSource.
5719func (ars AmazonRedshiftSource) AsHubspotSource() (*HubspotSource, bool) {
5720	return nil, false
5721}
5722
5723// AsHiveSource is the BasicCopySource implementation for AmazonRedshiftSource.
5724func (ars AmazonRedshiftSource) AsHiveSource() (*HiveSource, bool) {
5725	return nil, false
5726}
5727
5728// AsHBaseSource is the BasicCopySource implementation for AmazonRedshiftSource.
5729func (ars AmazonRedshiftSource) AsHBaseSource() (*HBaseSource, bool) {
5730	return nil, false
5731}
5732
5733// AsGreenplumSource is the BasicCopySource implementation for AmazonRedshiftSource.
5734func (ars AmazonRedshiftSource) AsGreenplumSource() (*GreenplumSource, bool) {
5735	return nil, false
5736}
5737
5738// AsGoogleBigQuerySource is the BasicCopySource implementation for AmazonRedshiftSource.
5739func (ars AmazonRedshiftSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
5740	return nil, false
5741}
5742
5743// AsEloquaSource is the BasicCopySource implementation for AmazonRedshiftSource.
5744func (ars AmazonRedshiftSource) AsEloquaSource() (*EloquaSource, bool) {
5745	return nil, false
5746}
5747
5748// AsDrillSource is the BasicCopySource implementation for AmazonRedshiftSource.
5749func (ars AmazonRedshiftSource) AsDrillSource() (*DrillSource, bool) {
5750	return nil, false
5751}
5752
5753// AsCouchbaseSource is the BasicCopySource implementation for AmazonRedshiftSource.
5754func (ars AmazonRedshiftSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
5755	return nil, false
5756}
5757
5758// AsConcurSource is the BasicCopySource implementation for AmazonRedshiftSource.
5759func (ars AmazonRedshiftSource) AsConcurSource() (*ConcurSource, bool) {
5760	return nil, false
5761}
5762
5763// AsAzurePostgreSQLSource is the BasicCopySource implementation for AmazonRedshiftSource.
5764func (ars AmazonRedshiftSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
5765	return nil, false
5766}
5767
5768// AsAmazonMWSSource is the BasicCopySource implementation for AmazonRedshiftSource.
5769func (ars AmazonRedshiftSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
5770	return nil, false
5771}
5772
5773// AsHTTPSource is the BasicCopySource implementation for AmazonRedshiftSource.
5774func (ars AmazonRedshiftSource) AsHTTPSource() (*HTTPSource, bool) {
5775	return nil, false
5776}
5777
5778// AsAzureBlobFSSource is the BasicCopySource implementation for AmazonRedshiftSource.
5779func (ars AmazonRedshiftSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) {
5780	return nil, false
5781}
5782
5783// AsAzureDataLakeStoreSource is the BasicCopySource implementation for AmazonRedshiftSource.
5784func (ars AmazonRedshiftSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
5785	return nil, false
5786}
5787
5788// AsOffice365Source is the BasicCopySource implementation for AmazonRedshiftSource.
5789func (ars AmazonRedshiftSource) AsOffice365Source() (*Office365Source, bool) {
5790	return nil, false
5791}
5792
5793// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for AmazonRedshiftSource.
5794func (ars AmazonRedshiftSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) {
5795	return nil, false
5796}
5797
5798// AsMongoDbV2Source is the BasicCopySource implementation for AmazonRedshiftSource.
5799func (ars AmazonRedshiftSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) {
5800	return nil, false
5801}
5802
5803// AsMongoDbSource is the BasicCopySource implementation for AmazonRedshiftSource.
5804func (ars AmazonRedshiftSource) AsMongoDbSource() (*MongoDbSource, bool) {
5805	return nil, false
5806}
5807
5808// AsCassandraSource is the BasicCopySource implementation for AmazonRedshiftSource.
5809func (ars AmazonRedshiftSource) AsCassandraSource() (*CassandraSource, bool) {
5810	return nil, false
5811}
5812
5813// AsWebSource is the BasicCopySource implementation for AmazonRedshiftSource.
5814func (ars AmazonRedshiftSource) AsWebSource() (*WebSource, bool) {
5815	return nil, false
5816}
5817
5818// AsTeradataSource is the BasicCopySource implementation for AmazonRedshiftSource.
5819func (ars AmazonRedshiftSource) AsTeradataSource() (*TeradataSource, bool) {
5820	return nil, false
5821}
5822
5823// AsOracleSource is the BasicCopySource implementation for AmazonRedshiftSource.
5824func (ars AmazonRedshiftSource) AsOracleSource() (*OracleSource, bool) {
5825	return nil, false
5826}
5827
5828// AsAzureDataExplorerSource is the BasicCopySource implementation for AmazonRedshiftSource.
5829func (ars AmazonRedshiftSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) {
5830	return nil, false
5831}
5832
5833// AsAzureMySQLSource is the BasicCopySource implementation for AmazonRedshiftSource.
5834func (ars AmazonRedshiftSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
5835	return nil, false
5836}
5837
5838// AsHdfsSource is the BasicCopySource implementation for AmazonRedshiftSource.
5839func (ars AmazonRedshiftSource) AsHdfsSource() (*HdfsSource, bool) {
5840	return nil, false
5841}
5842
5843// AsFileSystemSource is the BasicCopySource implementation for AmazonRedshiftSource.
5844func (ars AmazonRedshiftSource) AsFileSystemSource() (*FileSystemSource, bool) {
5845	return nil, false
5846}
5847
5848// AsSQLDWSource is the BasicCopySource implementation for AmazonRedshiftSource.
5849func (ars AmazonRedshiftSource) AsSQLDWSource() (*SQLDWSource, bool) {
5850	return nil, false
5851}
5852
5853// AsSQLMISource is the BasicCopySource implementation for AmazonRedshiftSource.
5854func (ars AmazonRedshiftSource) AsSQLMISource() (*SQLMISource, bool) {
5855	return nil, false
5856}
5857
5858// AsAzureSQLSource is the BasicCopySource implementation for AmazonRedshiftSource.
5859func (ars AmazonRedshiftSource) AsAzureSQLSource() (*AzureSQLSource, bool) {
5860	return nil, false
5861}
5862
5863// AsSQLServerSource is the BasicCopySource implementation for AmazonRedshiftSource.
5864func (ars AmazonRedshiftSource) AsSQLServerSource() (*SQLServerSource, bool) {
5865	return nil, false
5866}
5867
5868// AsSQLSource is the BasicCopySource implementation for AmazonRedshiftSource.
5869func (ars AmazonRedshiftSource) AsSQLSource() (*SQLSource, bool) {
5870	return nil, false
5871}
5872
5873// AsRestSource is the BasicCopySource implementation for AmazonRedshiftSource.
5874func (ars AmazonRedshiftSource) AsRestSource() (*RestSource, bool) {
5875	return nil, false
5876}
5877
5878// AsSapTableSource is the BasicCopySource implementation for AmazonRedshiftSource.
5879func (ars AmazonRedshiftSource) AsSapTableSource() (*SapTableSource, bool) {
5880	return nil, false
5881}
5882
5883// AsSapOpenHubSource is the BasicCopySource implementation for AmazonRedshiftSource.
5884func (ars AmazonRedshiftSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) {
5885	return nil, false
5886}
5887
5888// AsSapHanaSource is the BasicCopySource implementation for AmazonRedshiftSource.
5889func (ars AmazonRedshiftSource) AsSapHanaSource() (*SapHanaSource, bool) {
5890	return nil, false
5891}
5892
5893// AsSapEccSource is the BasicCopySource implementation for AmazonRedshiftSource.
5894func (ars AmazonRedshiftSource) AsSapEccSource() (*SapEccSource, bool) {
5895	return nil, false
5896}
5897
5898// AsSapCloudForCustomerSource is the BasicCopySource implementation for AmazonRedshiftSource.
5899func (ars AmazonRedshiftSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
5900	return nil, false
5901}
5902
5903// AsSalesforceServiceCloudSource is the BasicCopySource implementation for AmazonRedshiftSource.
5904func (ars AmazonRedshiftSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) {
5905	return nil, false
5906}
5907
5908// AsSalesforceSource is the BasicCopySource implementation for AmazonRedshiftSource.
5909func (ars AmazonRedshiftSource) AsSalesforceSource() (*SalesforceSource, bool) {
5910	return nil, false
5911}
5912
5913// AsODataSource is the BasicCopySource implementation for AmazonRedshiftSource.
5914func (ars AmazonRedshiftSource) AsODataSource() (*ODataSource, bool) {
5915	return nil, false
5916}
5917
5918// AsSybaseSource is the BasicCopySource implementation for AmazonRedshiftSource.
5919func (ars AmazonRedshiftSource) AsSybaseSource() (*SybaseSource, bool) {
5920	return nil, false
5921}
5922
5923// AsPostgreSQLSource is the BasicCopySource implementation for AmazonRedshiftSource.
5924func (ars AmazonRedshiftSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) {
5925	return nil, false
5926}
5927
5928// AsMySQLSource is the BasicCopySource implementation for AmazonRedshiftSource.
5929func (ars AmazonRedshiftSource) AsMySQLSource() (*MySQLSource, bool) {
5930	return nil, false
5931}
5932
5933// AsOdbcSource is the BasicCopySource implementation for AmazonRedshiftSource.
5934func (ars AmazonRedshiftSource) AsOdbcSource() (*OdbcSource, bool) {
5935	return nil, false
5936}
5937
5938// AsDb2Source is the BasicCopySource implementation for AmazonRedshiftSource.
5939func (ars AmazonRedshiftSource) AsDb2Source() (*Db2Source, bool) {
5940	return nil, false
5941}
5942
5943// AsMicrosoftAccessSource is the BasicCopySource implementation for AmazonRedshiftSource.
5944func (ars AmazonRedshiftSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) {
5945	return nil, false
5946}
5947
5948// AsInformixSource is the BasicCopySource implementation for AmazonRedshiftSource.
5949func (ars AmazonRedshiftSource) AsInformixSource() (*InformixSource, bool) {
5950	return nil, false
5951}
5952
5953// AsRelationalSource is the BasicCopySource implementation for AmazonRedshiftSource.
5954func (ars AmazonRedshiftSource) AsRelationalSource() (*RelationalSource, bool) {
5955	return nil, false
5956}
5957
5958// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for AmazonRedshiftSource.
5959func (ars AmazonRedshiftSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) {
5960	return nil, false
5961}
5962
5963// AsDynamicsCrmSource is the BasicCopySource implementation for AmazonRedshiftSource.
5964func (ars AmazonRedshiftSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) {
5965	return nil, false
5966}
5967
5968// AsDynamicsSource is the BasicCopySource implementation for AmazonRedshiftSource.
5969func (ars AmazonRedshiftSource) AsDynamicsSource() (*DynamicsSource, bool) {
5970	return nil, false
5971}
5972
5973// AsDocumentDbCollectionSource is the BasicCopySource implementation for AmazonRedshiftSource.
5974func (ars AmazonRedshiftSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
5975	return nil, false
5976}
5977
5978// AsBlobSource is the BasicCopySource implementation for AmazonRedshiftSource.
5979func (ars AmazonRedshiftSource) AsBlobSource() (*BlobSource, bool) {
5980	return nil, false
5981}
5982
5983// AsAzureTableSource is the BasicCopySource implementation for AmazonRedshiftSource.
5984func (ars AmazonRedshiftSource) AsAzureTableSource() (*AzureTableSource, bool) {
5985	return nil, false
5986}
5987
5988// AsBinarySource is the BasicCopySource implementation for AmazonRedshiftSource.
5989func (ars AmazonRedshiftSource) AsBinarySource() (*BinarySource, bool) {
5990	return nil, false
5991}
5992
5993// AsDelimitedTextSource is the BasicCopySource implementation for AmazonRedshiftSource.
5994func (ars AmazonRedshiftSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) {
5995	return nil, false
5996}
5997
5998// AsParquetSource is the BasicCopySource implementation for AmazonRedshiftSource.
5999func (ars AmazonRedshiftSource) AsParquetSource() (*ParquetSource, bool) {
6000	return nil, false
6001}
6002
6003// AsCopySource is the BasicCopySource implementation for AmazonRedshiftSource.
6004func (ars AmazonRedshiftSource) AsCopySource() (*CopySource, bool) {
6005	return nil, false
6006}
6007
6008// AsBasicCopySource is the BasicCopySource implementation for AmazonRedshiftSource.
6009func (ars AmazonRedshiftSource) AsBasicCopySource() (BasicCopySource, bool) {
6010	return &ars, true
6011}
6012
6013// UnmarshalJSON is the custom unmarshaler for AmazonRedshiftSource struct.
6014func (ars *AmazonRedshiftSource) UnmarshalJSON(body []byte) error {
6015	var m map[string]*json.RawMessage
6016	err := json.Unmarshal(body, &m)
6017	if err != nil {
6018		return err
6019	}
6020	for k, v := range m {
6021		switch k {
6022		case "query":
6023			if v != nil {
6024				var query interface{}
6025				err = json.Unmarshal(*v, &query)
6026				if err != nil {
6027					return err
6028				}
6029				ars.Query = query
6030			}
6031		case "redshiftUnloadSettings":
6032			if v != nil {
6033				var redshiftUnloadSettings RedshiftUnloadSettings
6034				err = json.Unmarshal(*v, &redshiftUnloadSettings)
6035				if err != nil {
6036					return err
6037				}
6038				ars.RedshiftUnloadSettings = &redshiftUnloadSettings
6039			}
6040		default:
6041			if v != nil {
6042				var additionalProperties interface{}
6043				err = json.Unmarshal(*v, &additionalProperties)
6044				if err != nil {
6045					return err
6046				}
6047				if ars.AdditionalProperties == nil {
6048					ars.AdditionalProperties = make(map[string]interface{})
6049				}
6050				ars.AdditionalProperties[k] = additionalProperties
6051			}
6052		case "sourceRetryCount":
6053			if v != nil {
6054				var sourceRetryCount interface{}
6055				err = json.Unmarshal(*v, &sourceRetryCount)
6056				if err != nil {
6057					return err
6058				}
6059				ars.SourceRetryCount = sourceRetryCount
6060			}
6061		case "sourceRetryWait":
6062			if v != nil {
6063				var sourceRetryWait interface{}
6064				err = json.Unmarshal(*v, &sourceRetryWait)
6065				if err != nil {
6066					return err
6067				}
6068				ars.SourceRetryWait = sourceRetryWait
6069			}
6070		case "maxConcurrentConnections":
6071			if v != nil {
6072				var maxConcurrentConnections interface{}
6073				err = json.Unmarshal(*v, &maxConcurrentConnections)
6074				if err != nil {
6075					return err
6076				}
6077				ars.MaxConcurrentConnections = maxConcurrentConnections
6078			}
6079		case "type":
6080			if v != nil {
6081				var typeVar TypeBasicCopySource
6082				err = json.Unmarshal(*v, &typeVar)
6083				if err != nil {
6084					return err
6085				}
6086				ars.Type = typeVar
6087			}
6088		}
6089	}
6090
6091	return nil
6092}
6093
6094// AmazonS3Dataset a single Amazon Simple Storage Service (S3) object or a set of S3 objects.
6095type AmazonS3Dataset struct {
6096	// AmazonS3DatasetTypeProperties - Amazon S3 dataset properties.
6097	*AmazonS3DatasetTypeProperties `json:"typeProperties,omitempty"`
6098	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
6099	AdditionalProperties map[string]interface{} `json:""`
6100	// Description - Dataset description.
6101	Description *string `json:"description,omitempty"`
6102	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
6103	Structure interface{} `json:"structure,omitempty"`
6104	// Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement.
6105	Schema interface{} `json:"schema,omitempty"`
6106	// LinkedServiceName - Linked service reference.
6107	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
6108	// Parameters - Parameters for dataset.
6109	Parameters map[string]*ParameterSpecification `json:"parameters"`
6110	// Annotations - List of tags that can be used for describing the Dataset.
6111	Annotations *[]interface{} `json:"annotations,omitempty"`
6112	// Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level.
6113	Folder *DatasetFolder `json:"folder,omitempty"`
6114	// Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', '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', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeDelimitedText', 'TypeParquet', 'TypeAmazonS3Object'
6115	Type TypeBasicDataset `json:"type,omitempty"`
6116}
6117
6118// MarshalJSON is the custom marshaler for AmazonS3Dataset.
6119func (asd AmazonS3Dataset) MarshalJSON() ([]byte, error) {
6120	asd.Type = TypeAmazonS3Object
6121	objectMap := make(map[string]interface{})
6122	if asd.AmazonS3DatasetTypeProperties != nil {
6123		objectMap["typeProperties"] = asd.AmazonS3DatasetTypeProperties
6124	}
6125	if asd.Description != nil {
6126		objectMap["description"] = asd.Description
6127	}
6128	if asd.Structure != nil {
6129		objectMap["structure"] = asd.Structure
6130	}
6131	if asd.Schema != nil {
6132		objectMap["schema"] = asd.Schema
6133	}
6134	if asd.LinkedServiceName != nil {
6135		objectMap["linkedServiceName"] = asd.LinkedServiceName
6136	}
6137	if asd.Parameters != nil {
6138		objectMap["parameters"] = asd.Parameters
6139	}
6140	if asd.Annotations != nil {
6141		objectMap["annotations"] = asd.Annotations
6142	}
6143	if asd.Folder != nil {
6144		objectMap["folder"] = asd.Folder
6145	}
6146	if asd.Type != "" {
6147		objectMap["type"] = asd.Type
6148	}
6149	for k, v := range asd.AdditionalProperties {
6150		objectMap[k] = v
6151	}
6152	return json.Marshal(objectMap)
6153}
6154
6155// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for AmazonS3Dataset.
6156func (asd AmazonS3Dataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) {
6157	return nil, false
6158}
6159
6160// AsAzureDataExplorerTableDataset is the BasicDataset implementation for AmazonS3Dataset.
6161func (asd AmazonS3Dataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) {
6162	return nil, false
6163}
6164
6165// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for AmazonS3Dataset.
6166func (asd AmazonS3Dataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) {
6167	return nil, false
6168}
6169
6170// AsDynamicsAXResourceDataset is the BasicDataset implementation for AmazonS3Dataset.
6171func (asd AmazonS3Dataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) {
6172	return nil, false
6173}
6174
6175// AsResponsysObjectDataset is the BasicDataset implementation for AmazonS3Dataset.
6176func (asd AmazonS3Dataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
6177	return nil, false
6178}
6179
6180// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for AmazonS3Dataset.
6181func (asd AmazonS3Dataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
6182	return nil, false
6183}
6184
6185// AsVerticaTableDataset is the BasicDataset implementation for AmazonS3Dataset.
6186func (asd AmazonS3Dataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
6187	return nil, false
6188}
6189
6190// AsNetezzaTableDataset is the BasicDataset implementation for AmazonS3Dataset.
6191func (asd AmazonS3Dataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
6192	return nil, false
6193}
6194
6195// AsZohoObjectDataset is the BasicDataset implementation for AmazonS3Dataset.
6196func (asd AmazonS3Dataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
6197	return nil, false
6198}
6199
6200// AsXeroObjectDataset is the BasicDataset implementation for AmazonS3Dataset.
6201func (asd AmazonS3Dataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
6202	return nil, false
6203}
6204
6205// AsSquareObjectDataset is the BasicDataset implementation for AmazonS3Dataset.
6206func (asd AmazonS3Dataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
6207	return nil, false
6208}
6209
6210// AsSparkObjectDataset is the BasicDataset implementation for AmazonS3Dataset.
6211func (asd AmazonS3Dataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
6212	return nil, false
6213}
6214
6215// AsShopifyObjectDataset is the BasicDataset implementation for AmazonS3Dataset.
6216func (asd AmazonS3Dataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
6217	return nil, false
6218}
6219
6220// AsServiceNowObjectDataset is the BasicDataset implementation for AmazonS3Dataset.
6221func (asd AmazonS3Dataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
6222	return nil, false
6223}
6224
6225// AsQuickBooksObjectDataset is the BasicDataset implementation for AmazonS3Dataset.
6226func (asd AmazonS3Dataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
6227	return nil, false
6228}
6229
6230// AsPrestoObjectDataset is the BasicDataset implementation for AmazonS3Dataset.
6231func (asd AmazonS3Dataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
6232	return nil, false
6233}
6234
6235// AsPhoenixObjectDataset is the BasicDataset implementation for AmazonS3Dataset.
6236func (asd AmazonS3Dataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
6237	return nil, false
6238}
6239
6240// AsPaypalObjectDataset is the BasicDataset implementation for AmazonS3Dataset.
6241func (asd AmazonS3Dataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
6242	return nil, false
6243}
6244
6245// AsMarketoObjectDataset is the BasicDataset implementation for AmazonS3Dataset.
6246func (asd AmazonS3Dataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
6247	return nil, false
6248}
6249
6250// AsMariaDBTableDataset is the BasicDataset implementation for AmazonS3Dataset.
6251func (asd AmazonS3Dataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
6252	return nil, false
6253}
6254
6255// AsMagentoObjectDataset is the BasicDataset implementation for AmazonS3Dataset.
6256func (asd AmazonS3Dataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
6257	return nil, false
6258}
6259
6260// AsJiraObjectDataset is the BasicDataset implementation for AmazonS3Dataset.
6261func (asd AmazonS3Dataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
6262	return nil, false
6263}
6264
6265// AsImpalaObjectDataset is the BasicDataset implementation for AmazonS3Dataset.
6266func (asd AmazonS3Dataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
6267	return nil, false
6268}
6269
6270// AsHubspotObjectDataset is the BasicDataset implementation for AmazonS3Dataset.
6271func (asd AmazonS3Dataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
6272	return nil, false
6273}
6274
6275// AsHiveObjectDataset is the BasicDataset implementation for AmazonS3Dataset.
6276func (asd AmazonS3Dataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
6277	return nil, false
6278}
6279
6280// AsHBaseObjectDataset is the BasicDataset implementation for AmazonS3Dataset.
6281func (asd AmazonS3Dataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
6282	return nil, false
6283}
6284
6285// AsGreenplumTableDataset is the BasicDataset implementation for AmazonS3Dataset.
6286func (asd AmazonS3Dataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
6287	return nil, false
6288}
6289
6290// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for AmazonS3Dataset.
6291func (asd AmazonS3Dataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
6292	return nil, false
6293}
6294
6295// AsEloquaObjectDataset is the BasicDataset implementation for AmazonS3Dataset.
6296func (asd AmazonS3Dataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
6297	return nil, false
6298}
6299
6300// AsDrillTableDataset is the BasicDataset implementation for AmazonS3Dataset.
6301func (asd AmazonS3Dataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
6302	return nil, false
6303}
6304
6305// AsCouchbaseTableDataset is the BasicDataset implementation for AmazonS3Dataset.
6306func (asd AmazonS3Dataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
6307	return nil, false
6308}
6309
6310// AsConcurObjectDataset is the BasicDataset implementation for AmazonS3Dataset.
6311func (asd AmazonS3Dataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
6312	return nil, false
6313}
6314
6315// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for AmazonS3Dataset.
6316func (asd AmazonS3Dataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
6317	return nil, false
6318}
6319
6320// AsAmazonMWSObjectDataset is the BasicDataset implementation for AmazonS3Dataset.
6321func (asd AmazonS3Dataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
6322	return nil, false
6323}
6324
6325// AsHTTPDataset is the BasicDataset implementation for AmazonS3Dataset.
6326func (asd AmazonS3Dataset) AsHTTPDataset() (*HTTPDataset, bool) {
6327	return nil, false
6328}
6329
6330// AsAzureSearchIndexDataset is the BasicDataset implementation for AmazonS3Dataset.
6331func (asd AmazonS3Dataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
6332	return nil, false
6333}
6334
6335// AsWebTableDataset is the BasicDataset implementation for AmazonS3Dataset.
6336func (asd AmazonS3Dataset) AsWebTableDataset() (*WebTableDataset, bool) {
6337	return nil, false
6338}
6339
6340// AsSapTableResourceDataset is the BasicDataset implementation for AmazonS3Dataset.
6341func (asd AmazonS3Dataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) {
6342	return nil, false
6343}
6344
6345// AsRestResourceDataset is the BasicDataset implementation for AmazonS3Dataset.
6346func (asd AmazonS3Dataset) AsRestResourceDataset() (*RestResourceDataset, bool) {
6347	return nil, false
6348}
6349
6350// AsSQLServerTableDataset is the BasicDataset implementation for AmazonS3Dataset.
6351func (asd AmazonS3Dataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
6352	return nil, false
6353}
6354
6355// AsSapOpenHubTableDataset is the BasicDataset implementation for AmazonS3Dataset.
6356func (asd AmazonS3Dataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) {
6357	return nil, false
6358}
6359
6360// AsSapHanaTableDataset is the BasicDataset implementation for AmazonS3Dataset.
6361func (asd AmazonS3Dataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) {
6362	return nil, false
6363}
6364
6365// AsSapEccResourceDataset is the BasicDataset implementation for AmazonS3Dataset.
6366func (asd AmazonS3Dataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
6367	return nil, false
6368}
6369
6370// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for AmazonS3Dataset.
6371func (asd AmazonS3Dataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
6372	return nil, false
6373}
6374
6375// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for AmazonS3Dataset.
6376func (asd AmazonS3Dataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) {
6377	return nil, false
6378}
6379
6380// AsSalesforceObjectDataset is the BasicDataset implementation for AmazonS3Dataset.
6381func (asd AmazonS3Dataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
6382	return nil, false
6383}
6384
6385// AsMicrosoftAccessTableDataset is the BasicDataset implementation for AmazonS3Dataset.
6386func (asd AmazonS3Dataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) {
6387	return nil, false
6388}
6389
6390// AsPostgreSQLTableDataset is the BasicDataset implementation for AmazonS3Dataset.
6391func (asd AmazonS3Dataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) {
6392	return nil, false
6393}
6394
6395// AsMySQLTableDataset is the BasicDataset implementation for AmazonS3Dataset.
6396func (asd AmazonS3Dataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) {
6397	return nil, false
6398}
6399
6400// AsOdbcTableDataset is the BasicDataset implementation for AmazonS3Dataset.
6401func (asd AmazonS3Dataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) {
6402	return nil, false
6403}
6404
6405// AsInformixTableDataset is the BasicDataset implementation for AmazonS3Dataset.
6406func (asd AmazonS3Dataset) AsInformixTableDataset() (*InformixTableDataset, bool) {
6407	return nil, false
6408}
6409
6410// AsRelationalTableDataset is the BasicDataset implementation for AmazonS3Dataset.
6411func (asd AmazonS3Dataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
6412	return nil, false
6413}
6414
6415// AsAzureMySQLTableDataset is the BasicDataset implementation for AmazonS3Dataset.
6416func (asd AmazonS3Dataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
6417	return nil, false
6418}
6419
6420// AsTeradataTableDataset is the BasicDataset implementation for AmazonS3Dataset.
6421func (asd AmazonS3Dataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) {
6422	return nil, false
6423}
6424
6425// AsOracleTableDataset is the BasicDataset implementation for AmazonS3Dataset.
6426func (asd AmazonS3Dataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
6427	return nil, false
6428}
6429
6430// AsODataResourceDataset is the BasicDataset implementation for AmazonS3Dataset.
6431func (asd AmazonS3Dataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
6432	return nil, false
6433}
6434
6435// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for AmazonS3Dataset.
6436func (asd AmazonS3Dataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) {
6437	return nil, false
6438}
6439
6440// AsMongoDbV2CollectionDataset is the BasicDataset implementation for AmazonS3Dataset.
6441func (asd AmazonS3Dataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) {
6442	return nil, false
6443}
6444
6445// AsMongoDbCollectionDataset is the BasicDataset implementation for AmazonS3Dataset.
6446func (asd AmazonS3Dataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
6447	return nil, false
6448}
6449
6450// AsFileShareDataset is the BasicDataset implementation for AmazonS3Dataset.
6451func (asd AmazonS3Dataset) AsFileShareDataset() (*FileShareDataset, bool) {
6452	return nil, false
6453}
6454
6455// AsOffice365Dataset is the BasicDataset implementation for AmazonS3Dataset.
6456func (asd AmazonS3Dataset) AsOffice365Dataset() (*Office365Dataset, bool) {
6457	return nil, false
6458}
6459
6460// AsAzureBlobFSDataset is the BasicDataset implementation for AmazonS3Dataset.
6461func (asd AmazonS3Dataset) AsAzureBlobFSDataset() (*AzureBlobFSDataset, bool) {
6462	return nil, false
6463}
6464
6465// AsAzureDataLakeStoreDataset is the BasicDataset implementation for AmazonS3Dataset.
6466func (asd AmazonS3Dataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) {
6467	return nil, false
6468}
6469
6470// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for AmazonS3Dataset.
6471func (asd AmazonS3Dataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) {
6472	return nil, false
6473}
6474
6475// AsDynamicsCrmEntityDataset is the BasicDataset implementation for AmazonS3Dataset.
6476func (asd AmazonS3Dataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) {
6477	return nil, false
6478}
6479
6480// AsDynamicsEntityDataset is the BasicDataset implementation for AmazonS3Dataset.
6481func (asd AmazonS3Dataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
6482	return nil, false
6483}
6484
6485// AsDocumentDbCollectionDataset is the BasicDataset implementation for AmazonS3Dataset.
6486func (asd AmazonS3Dataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
6487	return nil, false
6488}
6489
6490// AsCustomDataset is the BasicDataset implementation for AmazonS3Dataset.
6491func (asd AmazonS3Dataset) AsCustomDataset() (*CustomDataset, bool) {
6492	return nil, false
6493}
6494
6495// AsCassandraTableDataset is the BasicDataset implementation for AmazonS3Dataset.
6496func (asd AmazonS3Dataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
6497	return nil, false
6498}
6499
6500// AsAzureSQLDWTableDataset is the BasicDataset implementation for AmazonS3Dataset.
6501func (asd AmazonS3Dataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
6502	return nil, false
6503}
6504
6505// AsAzureSQLMITableDataset is the BasicDataset implementation for AmazonS3Dataset.
6506func (asd AmazonS3Dataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) {
6507	return nil, false
6508}
6509
6510// AsAzureSQLTableDataset is the BasicDataset implementation for AmazonS3Dataset.
6511func (asd AmazonS3Dataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
6512	return nil, false
6513}
6514
6515// AsAzureTableDataset is the BasicDataset implementation for AmazonS3Dataset.
6516func (asd AmazonS3Dataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
6517	return nil, false
6518}
6519
6520// AsAzureBlobDataset is the BasicDataset implementation for AmazonS3Dataset.
6521func (asd AmazonS3Dataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) {
6522	return nil, false
6523}
6524
6525// AsBinaryDataset is the BasicDataset implementation for AmazonS3Dataset.
6526func (asd AmazonS3Dataset) AsBinaryDataset() (*BinaryDataset, bool) {
6527	return nil, false
6528}
6529
6530// AsDelimitedTextDataset is the BasicDataset implementation for AmazonS3Dataset.
6531func (asd AmazonS3Dataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) {
6532	return nil, false
6533}
6534
6535// AsParquetDataset is the BasicDataset implementation for AmazonS3Dataset.
6536func (asd AmazonS3Dataset) AsParquetDataset() (*ParquetDataset, bool) {
6537	return nil, false
6538}
6539
6540// AsAmazonS3Dataset is the BasicDataset implementation for AmazonS3Dataset.
6541func (asd AmazonS3Dataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) {
6542	return &asd, true
6543}
6544
6545// AsDataset is the BasicDataset implementation for AmazonS3Dataset.
6546func (asd AmazonS3Dataset) AsDataset() (*Dataset, bool) {
6547	return nil, false
6548}
6549
6550// AsBasicDataset is the BasicDataset implementation for AmazonS3Dataset.
6551func (asd AmazonS3Dataset) AsBasicDataset() (BasicDataset, bool) {
6552	return &asd, true
6553}
6554
6555// UnmarshalJSON is the custom unmarshaler for AmazonS3Dataset struct.
6556func (asd *AmazonS3Dataset) UnmarshalJSON(body []byte) error {
6557	var m map[string]*json.RawMessage
6558	err := json.Unmarshal(body, &m)
6559	if err != nil {
6560		return err
6561	}
6562	for k, v := range m {
6563		switch k {
6564		case "typeProperties":
6565			if v != nil {
6566				var amazonS3DatasetTypeProperties AmazonS3DatasetTypeProperties
6567				err = json.Unmarshal(*v, &amazonS3DatasetTypeProperties)
6568				if err != nil {
6569					return err
6570				}
6571				asd.AmazonS3DatasetTypeProperties = &amazonS3DatasetTypeProperties
6572			}
6573		default:
6574			if v != nil {
6575				var additionalProperties interface{}
6576				err = json.Unmarshal(*v, &additionalProperties)
6577				if err != nil {
6578					return err
6579				}
6580				if asd.AdditionalProperties == nil {
6581					asd.AdditionalProperties = make(map[string]interface{})
6582				}
6583				asd.AdditionalProperties[k] = additionalProperties
6584			}
6585		case "description":
6586			if v != nil {
6587				var description string
6588				err = json.Unmarshal(*v, &description)
6589				if err != nil {
6590					return err
6591				}
6592				asd.Description = &description
6593			}
6594		case "structure":
6595			if v != nil {
6596				var structure interface{}
6597				err = json.Unmarshal(*v, &structure)
6598				if err != nil {
6599					return err
6600				}
6601				asd.Structure = structure
6602			}
6603		case "schema":
6604			if v != nil {
6605				var schema interface{}
6606				err = json.Unmarshal(*v, &schema)
6607				if err != nil {
6608					return err
6609				}
6610				asd.Schema = schema
6611			}
6612		case "linkedServiceName":
6613			if v != nil {
6614				var linkedServiceName LinkedServiceReference
6615				err = json.Unmarshal(*v, &linkedServiceName)
6616				if err != nil {
6617					return err
6618				}
6619				asd.LinkedServiceName = &linkedServiceName
6620			}
6621		case "parameters":
6622			if v != nil {
6623				var parameters map[string]*ParameterSpecification
6624				err = json.Unmarshal(*v, &parameters)
6625				if err != nil {
6626					return err
6627				}
6628				asd.Parameters = parameters
6629			}
6630		case "annotations":
6631			if v != nil {
6632				var annotations []interface{}
6633				err = json.Unmarshal(*v, &annotations)
6634				if err != nil {
6635					return err
6636				}
6637				asd.Annotations = &annotations
6638			}
6639		case "folder":
6640			if v != nil {
6641				var folder DatasetFolder
6642				err = json.Unmarshal(*v, &folder)
6643				if err != nil {
6644					return err
6645				}
6646				asd.Folder = &folder
6647			}
6648		case "type":
6649			if v != nil {
6650				var typeVar TypeBasicDataset
6651				err = json.Unmarshal(*v, &typeVar)
6652				if err != nil {
6653					return err
6654				}
6655				asd.Type = typeVar
6656			}
6657		}
6658	}
6659
6660	return nil
6661}
6662
6663// AmazonS3DatasetTypeProperties amazon S3 dataset properties.
6664type AmazonS3DatasetTypeProperties struct {
6665	// BucketName - The name of the Amazon S3 bucket. Type: string (or Expression with resultType string).
6666	BucketName interface{} `json:"bucketName,omitempty"`
6667	// Key - The key of the Amazon S3 object. Type: string (or Expression with resultType string).
6668	Key interface{} `json:"key,omitempty"`
6669	// Prefix - The prefix filter for the S3 object name. Type: string (or Expression with resultType string).
6670	Prefix interface{} `json:"prefix,omitempty"`
6671	// Version - The version for the S3 object. Type: string (or Expression with resultType string).
6672	Version interface{} `json:"version,omitempty"`
6673	// ModifiedDatetimeStart - The start of S3 object's modified datetime. Type: string (or Expression with resultType string).
6674	ModifiedDatetimeStart interface{} `json:"modifiedDatetimeStart,omitempty"`
6675	// ModifiedDatetimeEnd - The end of S3 object's modified datetime. Type: string (or Expression with resultType string).
6676	ModifiedDatetimeEnd interface{} `json:"modifiedDatetimeEnd,omitempty"`
6677	// Format - The format of files.
6678	Format BasicDatasetStorageFormat `json:"format,omitempty"`
6679	// Compression - The data compression method used for the Amazon S3 object.
6680	Compression BasicDatasetCompression `json:"compression,omitempty"`
6681}
6682
6683// UnmarshalJSON is the custom unmarshaler for AmazonS3DatasetTypeProperties struct.
6684func (asdtp *AmazonS3DatasetTypeProperties) UnmarshalJSON(body []byte) error {
6685	var m map[string]*json.RawMessage
6686	err := json.Unmarshal(body, &m)
6687	if err != nil {
6688		return err
6689	}
6690	for k, v := range m {
6691		switch k {
6692		case "bucketName":
6693			if v != nil {
6694				var bucketName interface{}
6695				err = json.Unmarshal(*v, &bucketName)
6696				if err != nil {
6697					return err
6698				}
6699				asdtp.BucketName = bucketName
6700			}
6701		case "key":
6702			if v != nil {
6703				var key interface{}
6704				err = json.Unmarshal(*v, &key)
6705				if err != nil {
6706					return err
6707				}
6708				asdtp.Key = key
6709			}
6710		case "prefix":
6711			if v != nil {
6712				var prefix interface{}
6713				err = json.Unmarshal(*v, &prefix)
6714				if err != nil {
6715					return err
6716				}
6717				asdtp.Prefix = prefix
6718			}
6719		case "version":
6720			if v != nil {
6721				var version interface{}
6722				err = json.Unmarshal(*v, &version)
6723				if err != nil {
6724					return err
6725				}
6726				asdtp.Version = version
6727			}
6728		case "modifiedDatetimeStart":
6729			if v != nil {
6730				var modifiedDatetimeStart interface{}
6731				err = json.Unmarshal(*v, &modifiedDatetimeStart)
6732				if err != nil {
6733					return err
6734				}
6735				asdtp.ModifiedDatetimeStart = modifiedDatetimeStart
6736			}
6737		case "modifiedDatetimeEnd":
6738			if v != nil {
6739				var modifiedDatetimeEnd interface{}
6740				err = json.Unmarshal(*v, &modifiedDatetimeEnd)
6741				if err != nil {
6742					return err
6743				}
6744				asdtp.ModifiedDatetimeEnd = modifiedDatetimeEnd
6745			}
6746		case "format":
6747			if v != nil {
6748				formatVar, err := unmarshalBasicDatasetStorageFormat(*v)
6749				if err != nil {
6750					return err
6751				}
6752				asdtp.Format = formatVar
6753			}
6754		case "compression":
6755			if v != nil {
6756				compression, err := unmarshalBasicDatasetCompression(*v)
6757				if err != nil {
6758					return err
6759				}
6760				asdtp.Compression = compression
6761			}
6762		}
6763	}
6764
6765	return nil
6766}
6767
6768// AmazonS3LinkedService linked service for Amazon S3.
6769type AmazonS3LinkedService struct {
6770	// AmazonS3LinkedServiceTypeProperties - Amazon S3 linked service properties.
6771	*AmazonS3LinkedServiceTypeProperties `json:"typeProperties,omitempty"`
6772	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
6773	AdditionalProperties map[string]interface{} `json:""`
6774	// ConnectVia - The integration runtime reference.
6775	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
6776	// Description - Linked service description.
6777	Description *string `json:"description,omitempty"`
6778	// Parameters - Parameters for linked service.
6779	Parameters map[string]*ParameterSpecification `json:"parameters"`
6780	// Annotations - List of tags that can be used for describing the linked service.
6781	Annotations *[]interface{} `json:"annotations,omitempty"`
6782	// Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', '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', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage'
6783	Type TypeBasicLinkedService `json:"type,omitempty"`
6784}
6785
6786// MarshalJSON is the custom marshaler for AmazonS3LinkedService.
6787func (asls AmazonS3LinkedService) MarshalJSON() ([]byte, error) {
6788	asls.Type = TypeAmazonS3
6789	objectMap := make(map[string]interface{})
6790	if asls.AmazonS3LinkedServiceTypeProperties != nil {
6791		objectMap["typeProperties"] = asls.AmazonS3LinkedServiceTypeProperties
6792	}
6793	if asls.ConnectVia != nil {
6794		objectMap["connectVia"] = asls.ConnectVia
6795	}
6796	if asls.Description != nil {
6797		objectMap["description"] = asls.Description
6798	}
6799	if asls.Parameters != nil {
6800		objectMap["parameters"] = asls.Parameters
6801	}
6802	if asls.Annotations != nil {
6803		objectMap["annotations"] = asls.Annotations
6804	}
6805	if asls.Type != "" {
6806		objectMap["type"] = asls.Type
6807	}
6808	for k, v := range asls.AdditionalProperties {
6809		objectMap[k] = v
6810	}
6811	return json.Marshal(objectMap)
6812}
6813
6814// AsAzureFunctionLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
6815func (asls AmazonS3LinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) {
6816	return nil, false
6817}
6818
6819// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
6820func (asls AmazonS3LinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) {
6821	return nil, false
6822}
6823
6824// AsSapTableLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
6825func (asls AmazonS3LinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) {
6826	return nil, false
6827}
6828
6829// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
6830func (asls AmazonS3LinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) {
6831	return nil, false
6832}
6833
6834// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
6835func (asls AmazonS3LinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) {
6836	return nil, false
6837}
6838
6839// AsDynamicsAXLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
6840func (asls AmazonS3LinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) {
6841	return nil, false
6842}
6843
6844// AsResponsysLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
6845func (asls AmazonS3LinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
6846	return nil, false
6847}
6848
6849// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
6850func (asls AmazonS3LinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
6851	return nil, false
6852}
6853
6854// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
6855func (asls AmazonS3LinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
6856	return nil, false
6857}
6858
6859// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
6860func (asls AmazonS3LinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
6861	return nil, false
6862}
6863
6864// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
6865func (asls AmazonS3LinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
6866	return nil, false
6867}
6868
6869// AsNetezzaLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
6870func (asls AmazonS3LinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
6871	return nil, false
6872}
6873
6874// AsVerticaLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
6875func (asls AmazonS3LinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
6876	return nil, false
6877}
6878
6879// AsZohoLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
6880func (asls AmazonS3LinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
6881	return nil, false
6882}
6883
6884// AsXeroLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
6885func (asls AmazonS3LinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
6886	return nil, false
6887}
6888
6889// AsSquareLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
6890func (asls AmazonS3LinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
6891	return nil, false
6892}
6893
6894// AsSparkLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
6895func (asls AmazonS3LinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
6896	return nil, false
6897}
6898
6899// AsShopifyLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
6900func (asls AmazonS3LinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
6901	return nil, false
6902}
6903
6904// AsServiceNowLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
6905func (asls AmazonS3LinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
6906	return nil, false
6907}
6908
6909// AsQuickBooksLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
6910func (asls AmazonS3LinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
6911	return nil, false
6912}
6913
6914// AsPrestoLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
6915func (asls AmazonS3LinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
6916	return nil, false
6917}
6918
6919// AsPhoenixLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
6920func (asls AmazonS3LinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
6921	return nil, false
6922}
6923
6924// AsPaypalLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
6925func (asls AmazonS3LinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
6926	return nil, false
6927}
6928
6929// AsMarketoLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
6930func (asls AmazonS3LinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
6931	return nil, false
6932}
6933
6934// AsMariaDBLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
6935func (asls AmazonS3LinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
6936	return nil, false
6937}
6938
6939// AsMagentoLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
6940func (asls AmazonS3LinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
6941	return nil, false
6942}
6943
6944// AsJiraLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
6945func (asls AmazonS3LinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
6946	return nil, false
6947}
6948
6949// AsImpalaLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
6950func (asls AmazonS3LinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
6951	return nil, false
6952}
6953
6954// AsHubspotLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
6955func (asls AmazonS3LinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
6956	return nil, false
6957}
6958
6959// AsHiveLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
6960func (asls AmazonS3LinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
6961	return nil, false
6962}
6963
6964// AsHBaseLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
6965func (asls AmazonS3LinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
6966	return nil, false
6967}
6968
6969// AsGreenplumLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
6970func (asls AmazonS3LinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
6971	return nil, false
6972}
6973
6974// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
6975func (asls AmazonS3LinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
6976	return nil, false
6977}
6978
6979// AsEloquaLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
6980func (asls AmazonS3LinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
6981	return nil, false
6982}
6983
6984// AsDrillLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
6985func (asls AmazonS3LinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
6986	return nil, false
6987}
6988
6989// AsCouchbaseLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
6990func (asls AmazonS3LinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
6991	return nil, false
6992}
6993
6994// AsConcurLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
6995func (asls AmazonS3LinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
6996	return nil, false
6997}
6998
6999// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
7000func (asls AmazonS3LinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
7001	return nil, false
7002}
7003
7004// AsAmazonMWSLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
7005func (asls AmazonS3LinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
7006	return nil, false
7007}
7008
7009// AsSapHanaLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
7010func (asls AmazonS3LinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
7011	return nil, false
7012}
7013
7014// AsSapBWLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
7015func (asls AmazonS3LinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
7016	return nil, false
7017}
7018
7019// AsSftpServerLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
7020func (asls AmazonS3LinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
7021	return nil, false
7022}
7023
7024// AsFtpServerLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
7025func (asls AmazonS3LinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
7026	return nil, false
7027}
7028
7029// AsHTTPLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
7030func (asls AmazonS3LinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
7031	return nil, false
7032}
7033
7034// AsAzureSearchLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
7035func (asls AmazonS3LinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
7036	return nil, false
7037}
7038
7039// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
7040func (asls AmazonS3LinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
7041	return nil, false
7042}
7043
7044// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
7045func (asls AmazonS3LinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
7046	return nil, false
7047}
7048
7049// AsAmazonS3LinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
7050func (asls AmazonS3LinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
7051	return &asls, true
7052}
7053
7054// AsRestServiceLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
7055func (asls AmazonS3LinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) {
7056	return nil, false
7057}
7058
7059// AsSapOpenHubLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
7060func (asls AmazonS3LinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) {
7061	return nil, false
7062}
7063
7064// AsSapEccLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
7065func (asls AmazonS3LinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
7066	return nil, false
7067}
7068
7069// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
7070func (asls AmazonS3LinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
7071	return nil, false
7072}
7073
7074// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
7075func (asls AmazonS3LinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) {
7076	return nil, false
7077}
7078
7079// AsSalesforceLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
7080func (asls AmazonS3LinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
7081	return nil, false
7082}
7083
7084// AsOffice365LinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
7085func (asls AmazonS3LinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) {
7086	return nil, false
7087}
7088
7089// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
7090func (asls AmazonS3LinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) {
7091	return nil, false
7092}
7093
7094// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
7095func (asls AmazonS3LinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
7096	return nil, false
7097}
7098
7099// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
7100func (asls AmazonS3LinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) {
7101	return nil, false
7102}
7103
7104// AsMongoDbV2LinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
7105func (asls AmazonS3LinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) {
7106	return nil, false
7107}
7108
7109// AsMongoDbLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
7110func (asls AmazonS3LinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
7111	return nil, false
7112}
7113
7114// AsCassandraLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
7115func (asls AmazonS3LinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
7116	return nil, false
7117}
7118
7119// AsWebLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
7120func (asls AmazonS3LinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
7121	return nil, false
7122}
7123
7124// AsODataLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
7125func (asls AmazonS3LinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
7126	return nil, false
7127}
7128
7129// AsHdfsLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
7130func (asls AmazonS3LinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
7131	return nil, false
7132}
7133
7134// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
7135func (asls AmazonS3LinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) {
7136	return nil, false
7137}
7138
7139// AsInformixLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
7140func (asls AmazonS3LinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) {
7141	return nil, false
7142}
7143
7144// AsOdbcLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
7145func (asls AmazonS3LinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
7146	return nil, false
7147}
7148
7149// AsAzureMLLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
7150func (asls AmazonS3LinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
7151	return nil, false
7152}
7153
7154// AsTeradataLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
7155func (asls AmazonS3LinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
7156	return nil, false
7157}
7158
7159// AsDb2LinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
7160func (asls AmazonS3LinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
7161	return nil, false
7162}
7163
7164// AsSybaseLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
7165func (asls AmazonS3LinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
7166	return nil, false
7167}
7168
7169// AsPostgreSQLLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
7170func (asls AmazonS3LinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
7171	return nil, false
7172}
7173
7174// AsMySQLLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
7175func (asls AmazonS3LinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
7176	return nil, false
7177}
7178
7179// AsAzureMySQLLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
7180func (asls AmazonS3LinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
7181	return nil, false
7182}
7183
7184// AsOracleLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
7185func (asls AmazonS3LinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
7186	return nil, false
7187}
7188
7189// AsFileServerLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
7190func (asls AmazonS3LinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
7191	return nil, false
7192}
7193
7194// AsHDInsightLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
7195func (asls AmazonS3LinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
7196	return nil, false
7197}
7198
7199// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
7200func (asls AmazonS3LinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) {
7201	return nil, false
7202}
7203
7204// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
7205func (asls AmazonS3LinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) {
7206	return nil, false
7207}
7208
7209// AsDynamicsLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
7210func (asls AmazonS3LinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
7211	return nil, false
7212}
7213
7214// AsCosmosDbLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
7215func (asls AmazonS3LinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
7216	return nil, false
7217}
7218
7219// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
7220func (asls AmazonS3LinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
7221	return nil, false
7222}
7223
7224// AsAzureBatchLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
7225func (asls AmazonS3LinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
7226	return nil, false
7227}
7228
7229// AsAzureSQLMILinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
7230func (asls AmazonS3LinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) {
7231	return nil, false
7232}
7233
7234// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
7235func (asls AmazonS3LinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
7236	return nil, false
7237}
7238
7239// AsSQLServerLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
7240func (asls AmazonS3LinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
7241	return nil, false
7242}
7243
7244// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
7245func (asls AmazonS3LinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
7246	return nil, false
7247}
7248
7249// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
7250func (asls AmazonS3LinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) {
7251	return nil, false
7252}
7253
7254// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
7255func (asls AmazonS3LinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) {
7256	return nil, false
7257}
7258
7259// AsAzureStorageLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
7260func (asls AmazonS3LinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
7261	return nil, false
7262}
7263
7264// AsLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
7265func (asls AmazonS3LinkedService) AsLinkedService() (*LinkedService, bool) {
7266	return nil, false
7267}
7268
7269// AsBasicLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
7270func (asls AmazonS3LinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
7271	return &asls, true
7272}
7273
7274// UnmarshalJSON is the custom unmarshaler for AmazonS3LinkedService struct.
7275func (asls *AmazonS3LinkedService) UnmarshalJSON(body []byte) error {
7276	var m map[string]*json.RawMessage
7277	err := json.Unmarshal(body, &m)
7278	if err != nil {
7279		return err
7280	}
7281	for k, v := range m {
7282		switch k {
7283		case "typeProperties":
7284			if v != nil {
7285				var amazonS3LinkedServiceTypeProperties AmazonS3LinkedServiceTypeProperties
7286				err = json.Unmarshal(*v, &amazonS3LinkedServiceTypeProperties)
7287				if err != nil {
7288					return err
7289				}
7290				asls.AmazonS3LinkedServiceTypeProperties = &amazonS3LinkedServiceTypeProperties
7291			}
7292		default:
7293			if v != nil {
7294				var additionalProperties interface{}
7295				err = json.Unmarshal(*v, &additionalProperties)
7296				if err != nil {
7297					return err
7298				}
7299				if asls.AdditionalProperties == nil {
7300					asls.AdditionalProperties = make(map[string]interface{})
7301				}
7302				asls.AdditionalProperties[k] = additionalProperties
7303			}
7304		case "connectVia":
7305			if v != nil {
7306				var connectVia IntegrationRuntimeReference
7307				err = json.Unmarshal(*v, &connectVia)
7308				if err != nil {
7309					return err
7310				}
7311				asls.ConnectVia = &connectVia
7312			}
7313		case "description":
7314			if v != nil {
7315				var description string
7316				err = json.Unmarshal(*v, &description)
7317				if err != nil {
7318					return err
7319				}
7320				asls.Description = &description
7321			}
7322		case "parameters":
7323			if v != nil {
7324				var parameters map[string]*ParameterSpecification
7325				err = json.Unmarshal(*v, &parameters)
7326				if err != nil {
7327					return err
7328				}
7329				asls.Parameters = parameters
7330			}
7331		case "annotations":
7332			if v != nil {
7333				var annotations []interface{}
7334				err = json.Unmarshal(*v, &annotations)
7335				if err != nil {
7336					return err
7337				}
7338				asls.Annotations = &annotations
7339			}
7340		case "type":
7341			if v != nil {
7342				var typeVar TypeBasicLinkedService
7343				err = json.Unmarshal(*v, &typeVar)
7344				if err != nil {
7345					return err
7346				}
7347				asls.Type = typeVar
7348			}
7349		}
7350	}
7351
7352	return nil
7353}
7354
7355// AmazonS3LinkedServiceTypeProperties amazon S3 linked service properties.
7356type AmazonS3LinkedServiceTypeProperties struct {
7357	// AccessKeyID - The access key identifier of the Amazon S3 Identity and Access Management (IAM) user. Type: string (or Expression with resultType string).
7358	AccessKeyID interface{} `json:"accessKeyId,omitempty"`
7359	// SecretAccessKey - The secret access key of the Amazon S3 Identity and Access Management (IAM) user.
7360	SecretAccessKey BasicSecretBase `json:"secretAccessKey,omitempty"`
7361	// ServiceURL - This value specifies the endpoint to access with the S3 Connector. This is an optional property; change it only if you want to try a different service endpoint or want to switch between https and http. Type: string (or Expression with resultType string).
7362	ServiceURL interface{} `json:"serviceUrl,omitempty"`
7363	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
7364	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
7365}
7366
7367// UnmarshalJSON is the custom unmarshaler for AmazonS3LinkedServiceTypeProperties struct.
7368func (aslstp *AmazonS3LinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
7369	var m map[string]*json.RawMessage
7370	err := json.Unmarshal(body, &m)
7371	if err != nil {
7372		return err
7373	}
7374	for k, v := range m {
7375		switch k {
7376		case "accessKeyId":
7377			if v != nil {
7378				var accessKeyID interface{}
7379				err = json.Unmarshal(*v, &accessKeyID)
7380				if err != nil {
7381					return err
7382				}
7383				aslstp.AccessKeyID = accessKeyID
7384			}
7385		case "secretAccessKey":
7386			if v != nil {
7387				secretAccessKey, err := unmarshalBasicSecretBase(*v)
7388				if err != nil {
7389					return err
7390				}
7391				aslstp.SecretAccessKey = secretAccessKey
7392			}
7393		case "serviceUrl":
7394			if v != nil {
7395				var serviceURL interface{}
7396				err = json.Unmarshal(*v, &serviceURL)
7397				if err != nil {
7398					return err
7399				}
7400				aslstp.ServiceURL = serviceURL
7401			}
7402		case "encryptedCredential":
7403			if v != nil {
7404				var encryptedCredential interface{}
7405				err = json.Unmarshal(*v, &encryptedCredential)
7406				if err != nil {
7407					return err
7408				}
7409				aslstp.EncryptedCredential = encryptedCredential
7410			}
7411		}
7412	}
7413
7414	return nil
7415}
7416
7417// AmazonS3Location the location of amazon S3 dataset.
7418type AmazonS3Location struct {
7419	// BucketName - Specify the bucketName of amazon S3. Type: string (or Expression with resultType string)
7420	BucketName interface{} `json:"bucketName,omitempty"`
7421	// Version - Specify the version of amazon S3. Type: string (or Expression with resultType string).
7422	Version interface{} `json:"version,omitempty"`
7423	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
7424	AdditionalProperties map[string]interface{} `json:""`
7425	// Type - Type of dataset storage location.
7426	Type *string `json:"type,omitempty"`
7427	// FolderPath - Specify the folder path of dataset. Type: string (or Expression with resultType string)
7428	FolderPath interface{} `json:"folderPath,omitempty"`
7429	// FileName - Specify the file name of dataset. Type: string (or Expression with resultType string).
7430	FileName interface{} `json:"fileName,omitempty"`
7431}
7432
7433// MarshalJSON is the custom marshaler for AmazonS3Location.
7434func (asl AmazonS3Location) MarshalJSON() ([]byte, error) {
7435	objectMap := make(map[string]interface{})
7436	if asl.BucketName != nil {
7437		objectMap["bucketName"] = asl.BucketName
7438	}
7439	if asl.Version != nil {
7440		objectMap["version"] = asl.Version
7441	}
7442	if asl.Type != nil {
7443		objectMap["type"] = asl.Type
7444	}
7445	if asl.FolderPath != nil {
7446		objectMap["folderPath"] = asl.FolderPath
7447	}
7448	if asl.FileName != nil {
7449		objectMap["fileName"] = asl.FileName
7450	}
7451	for k, v := range asl.AdditionalProperties {
7452		objectMap[k] = v
7453	}
7454	return json.Marshal(objectMap)
7455}
7456
7457// UnmarshalJSON is the custom unmarshaler for AmazonS3Location struct.
7458func (asl *AmazonS3Location) UnmarshalJSON(body []byte) error {
7459	var m map[string]*json.RawMessage
7460	err := json.Unmarshal(body, &m)
7461	if err != nil {
7462		return err
7463	}
7464	for k, v := range m {
7465		switch k {
7466		case "bucketName":
7467			if v != nil {
7468				var bucketName interface{}
7469				err = json.Unmarshal(*v, &bucketName)
7470				if err != nil {
7471					return err
7472				}
7473				asl.BucketName = bucketName
7474			}
7475		case "version":
7476			if v != nil {
7477				var version interface{}
7478				err = json.Unmarshal(*v, &version)
7479				if err != nil {
7480					return err
7481				}
7482				asl.Version = version
7483			}
7484		default:
7485			if v != nil {
7486				var additionalProperties interface{}
7487				err = json.Unmarshal(*v, &additionalProperties)
7488				if err != nil {
7489					return err
7490				}
7491				if asl.AdditionalProperties == nil {
7492					asl.AdditionalProperties = make(map[string]interface{})
7493				}
7494				asl.AdditionalProperties[k] = additionalProperties
7495			}
7496		case "type":
7497			if v != nil {
7498				var typeVar string
7499				err = json.Unmarshal(*v, &typeVar)
7500				if err != nil {
7501					return err
7502				}
7503				asl.Type = &typeVar
7504			}
7505		case "folderPath":
7506			if v != nil {
7507				var folderPath interface{}
7508				err = json.Unmarshal(*v, &folderPath)
7509				if err != nil {
7510					return err
7511				}
7512				asl.FolderPath = folderPath
7513			}
7514		case "fileName":
7515			if v != nil {
7516				var fileName interface{}
7517				err = json.Unmarshal(*v, &fileName)
7518				if err != nil {
7519					return err
7520				}
7521				asl.FileName = fileName
7522			}
7523		}
7524	}
7525
7526	return nil
7527}
7528
7529// AmazonS3ReadSettings azure data lake store read settings.
7530type AmazonS3ReadSettings struct {
7531	// Recursive - If true, files under the folder path will be read recursively. Default is true. Type: boolean (or Expression with resultType boolean).
7532	Recursive interface{} `json:"recursive,omitempty"`
7533	// WildcardFolderPath - AmazonS3 wildcardFolderPath. Type: string (or Expression with resultType string).
7534	WildcardFolderPath interface{} `json:"wildcardFolderPath,omitempty"`
7535	// WildcardFileName - AmazonS3 wildcardFileName. Type: string (or Expression with resultType string).
7536	WildcardFileName interface{} `json:"wildcardFileName,omitempty"`
7537	// Prefix - The prefix filter for the S3 object name. Type: string (or Expression with resultType string).
7538	Prefix interface{} `json:"prefix,omitempty"`
7539	// EnablePartitionDiscovery - Indicates whether to enable partition discovery.
7540	EnablePartitionDiscovery *bool `json:"enablePartitionDiscovery,omitempty"`
7541	// ModifiedDatetimeStart - The start of file's modified datetime. Type: string (or Expression with resultType string).
7542	ModifiedDatetimeStart interface{} `json:"modifiedDatetimeStart,omitempty"`
7543	// ModifiedDatetimeEnd - The end of file's modified datetime. Type: string (or Expression with resultType string).
7544	ModifiedDatetimeEnd interface{} `json:"modifiedDatetimeEnd,omitempty"`
7545	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
7546	AdditionalProperties map[string]interface{} `json:""`
7547	// Type - The read setting type.
7548	Type *string `json:"type,omitempty"`
7549	// MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer).
7550	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
7551}
7552
7553// MarshalJSON is the custom marshaler for AmazonS3ReadSettings.
7554func (asrs AmazonS3ReadSettings) MarshalJSON() ([]byte, error) {
7555	objectMap := make(map[string]interface{})
7556	if asrs.Recursive != nil {
7557		objectMap["recursive"] = asrs.Recursive
7558	}
7559	if asrs.WildcardFolderPath != nil {
7560		objectMap["wildcardFolderPath"] = asrs.WildcardFolderPath
7561	}
7562	if asrs.WildcardFileName != nil {
7563		objectMap["wildcardFileName"] = asrs.WildcardFileName
7564	}
7565	if asrs.Prefix != nil {
7566		objectMap["prefix"] = asrs.Prefix
7567	}
7568	if asrs.EnablePartitionDiscovery != nil {
7569		objectMap["enablePartitionDiscovery"] = asrs.EnablePartitionDiscovery
7570	}
7571	if asrs.ModifiedDatetimeStart != nil {
7572		objectMap["modifiedDatetimeStart"] = asrs.ModifiedDatetimeStart
7573	}
7574	if asrs.ModifiedDatetimeEnd != nil {
7575		objectMap["modifiedDatetimeEnd"] = asrs.ModifiedDatetimeEnd
7576	}
7577	if asrs.Type != nil {
7578		objectMap["type"] = asrs.Type
7579	}
7580	if asrs.MaxConcurrentConnections != nil {
7581		objectMap["maxConcurrentConnections"] = asrs.MaxConcurrentConnections
7582	}
7583	for k, v := range asrs.AdditionalProperties {
7584		objectMap[k] = v
7585	}
7586	return json.Marshal(objectMap)
7587}
7588
7589// UnmarshalJSON is the custom unmarshaler for AmazonS3ReadSettings struct.
7590func (asrs *AmazonS3ReadSettings) UnmarshalJSON(body []byte) error {
7591	var m map[string]*json.RawMessage
7592	err := json.Unmarshal(body, &m)
7593	if err != nil {
7594		return err
7595	}
7596	for k, v := range m {
7597		switch k {
7598		case "recursive":
7599			if v != nil {
7600				var recursive interface{}
7601				err = json.Unmarshal(*v, &recursive)
7602				if err != nil {
7603					return err
7604				}
7605				asrs.Recursive = recursive
7606			}
7607		case "wildcardFolderPath":
7608			if v != nil {
7609				var wildcardFolderPath interface{}
7610				err = json.Unmarshal(*v, &wildcardFolderPath)
7611				if err != nil {
7612					return err
7613				}
7614				asrs.WildcardFolderPath = wildcardFolderPath
7615			}
7616		case "wildcardFileName":
7617			if v != nil {
7618				var wildcardFileName interface{}
7619				err = json.Unmarshal(*v, &wildcardFileName)
7620				if err != nil {
7621					return err
7622				}
7623				asrs.WildcardFileName = wildcardFileName
7624			}
7625		case "prefix":
7626			if v != nil {
7627				var prefix interface{}
7628				err = json.Unmarshal(*v, &prefix)
7629				if err != nil {
7630					return err
7631				}
7632				asrs.Prefix = prefix
7633			}
7634		case "enablePartitionDiscovery":
7635			if v != nil {
7636				var enablePartitionDiscovery bool
7637				err = json.Unmarshal(*v, &enablePartitionDiscovery)
7638				if err != nil {
7639					return err
7640				}
7641				asrs.EnablePartitionDiscovery = &enablePartitionDiscovery
7642			}
7643		case "modifiedDatetimeStart":
7644			if v != nil {
7645				var modifiedDatetimeStart interface{}
7646				err = json.Unmarshal(*v, &modifiedDatetimeStart)
7647				if err != nil {
7648					return err
7649				}
7650				asrs.ModifiedDatetimeStart = modifiedDatetimeStart
7651			}
7652		case "modifiedDatetimeEnd":
7653			if v != nil {
7654				var modifiedDatetimeEnd interface{}
7655				err = json.Unmarshal(*v, &modifiedDatetimeEnd)
7656				if err != nil {
7657					return err
7658				}
7659				asrs.ModifiedDatetimeEnd = modifiedDatetimeEnd
7660			}
7661		default:
7662			if v != nil {
7663				var additionalProperties interface{}
7664				err = json.Unmarshal(*v, &additionalProperties)
7665				if err != nil {
7666					return err
7667				}
7668				if asrs.AdditionalProperties == nil {
7669					asrs.AdditionalProperties = make(map[string]interface{})
7670				}
7671				asrs.AdditionalProperties[k] = additionalProperties
7672			}
7673		case "type":
7674			if v != nil {
7675				var typeVar string
7676				err = json.Unmarshal(*v, &typeVar)
7677				if err != nil {
7678					return err
7679				}
7680				asrs.Type = &typeVar
7681			}
7682		case "maxConcurrentConnections":
7683			if v != nil {
7684				var maxConcurrentConnections interface{}
7685				err = json.Unmarshal(*v, &maxConcurrentConnections)
7686				if err != nil {
7687					return err
7688				}
7689				asrs.MaxConcurrentConnections = maxConcurrentConnections
7690			}
7691		}
7692	}
7693
7694	return nil
7695}
7696
7697// AppendVariableActivity append value for a Variable of type Array.
7698type AppendVariableActivity struct {
7699	// AppendVariableActivityTypeProperties - Append Variable activity properties.
7700	*AppendVariableActivityTypeProperties `json:"typeProperties,omitempty"`
7701	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
7702	AdditionalProperties map[string]interface{} `json:""`
7703	// Name - Activity name.
7704	Name *string `json:"name,omitempty"`
7705	// Description - Activity description.
7706	Description *string `json:"description,omitempty"`
7707	// DependsOn - Activity depends on condition.
7708	DependsOn *[]ActivityDependency `json:"dependsOn,omitempty"`
7709	// UserProperties - Activity user properties.
7710	UserProperties *[]UserProperty `json:"userProperties,omitempty"`
7711	// Type - Possible values include: 'TypeActivity', 'TypeAzureFunctionActivity', 'TypeDatabricksSparkPython', 'TypeDatabricksSparkJar', 'TypeDatabricksNotebook', 'TypeDataLakeAnalyticsUSQL', 'TypeAzureMLUpdateResource', 'TypeAzureMLBatchExecution', 'TypeGetMetadata', 'TypeWebActivity', 'TypeLookup', 'TypeAzureDataExplorerCommand', 'TypeDelete', 'TypeSQLServerStoredProcedure', 'TypeCustom', 'TypeExecuteSSISPackage', 'TypeHDInsightSpark', 'TypeHDInsightStreaming', 'TypeHDInsightMapReduce', 'TypeHDInsightPig', 'TypeHDInsightHive', 'TypeCopy', 'TypeExecution', 'TypeWebHook', 'TypeAppendVariable', 'TypeSetVariable', 'TypeFilter', 'TypeValidation', 'TypeUntil', 'TypeWait', 'TypeForEach', 'TypeIfCondition', 'TypeExecutePipeline', 'TypeContainer'
7712	Type TypeBasicActivity `json:"type,omitempty"`
7713}
7714
7715// MarshalJSON is the custom marshaler for AppendVariableActivity.
7716func (ava AppendVariableActivity) MarshalJSON() ([]byte, error) {
7717	ava.Type = TypeAppendVariable
7718	objectMap := make(map[string]interface{})
7719	if ava.AppendVariableActivityTypeProperties != nil {
7720		objectMap["typeProperties"] = ava.AppendVariableActivityTypeProperties
7721	}
7722	if ava.Name != nil {
7723		objectMap["name"] = ava.Name
7724	}
7725	if ava.Description != nil {
7726		objectMap["description"] = ava.Description
7727	}
7728	if ava.DependsOn != nil {
7729		objectMap["dependsOn"] = ava.DependsOn
7730	}
7731	if ava.UserProperties != nil {
7732		objectMap["userProperties"] = ava.UserProperties
7733	}
7734	if ava.Type != "" {
7735		objectMap["type"] = ava.Type
7736	}
7737	for k, v := range ava.AdditionalProperties {
7738		objectMap[k] = v
7739	}
7740	return json.Marshal(objectMap)
7741}
7742
7743// AsAzureFunctionActivity is the BasicActivity implementation for AppendVariableActivity.
7744func (ava AppendVariableActivity) AsAzureFunctionActivity() (*AzureFunctionActivity, bool) {
7745	return nil, false
7746}
7747
7748// AsDatabricksSparkPythonActivity is the BasicActivity implementation for AppendVariableActivity.
7749func (ava AppendVariableActivity) AsDatabricksSparkPythonActivity() (*DatabricksSparkPythonActivity, bool) {
7750	return nil, false
7751}
7752
7753// AsDatabricksSparkJarActivity is the BasicActivity implementation for AppendVariableActivity.
7754func (ava AppendVariableActivity) AsDatabricksSparkJarActivity() (*DatabricksSparkJarActivity, bool) {
7755	return nil, false
7756}
7757
7758// AsDatabricksNotebookActivity is the BasicActivity implementation for AppendVariableActivity.
7759func (ava AppendVariableActivity) AsDatabricksNotebookActivity() (*DatabricksNotebookActivity, bool) {
7760	return nil, false
7761}
7762
7763// AsDataLakeAnalyticsUSQLActivity is the BasicActivity implementation for AppendVariableActivity.
7764func (ava AppendVariableActivity) AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalyticsUSQLActivity, bool) {
7765	return nil, false
7766}
7767
7768// AsAzureMLUpdateResourceActivity is the BasicActivity implementation for AppendVariableActivity.
7769func (ava AppendVariableActivity) AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool) {
7770	return nil, false
7771}
7772
7773// AsAzureMLBatchExecutionActivity is the BasicActivity implementation for AppendVariableActivity.
7774func (ava AppendVariableActivity) AsAzureMLBatchExecutionActivity() (*AzureMLBatchExecutionActivity, bool) {
7775	return nil, false
7776}
7777
7778// AsGetMetadataActivity is the BasicActivity implementation for AppendVariableActivity.
7779func (ava AppendVariableActivity) AsGetMetadataActivity() (*GetMetadataActivity, bool) {
7780	return nil, false
7781}
7782
7783// AsWebActivity is the BasicActivity implementation for AppendVariableActivity.
7784func (ava AppendVariableActivity) AsWebActivity() (*WebActivity, bool) {
7785	return nil, false
7786}
7787
7788// AsLookupActivity is the BasicActivity implementation for AppendVariableActivity.
7789func (ava AppendVariableActivity) AsLookupActivity() (*LookupActivity, bool) {
7790	return nil, false
7791}
7792
7793// AsAzureDataExplorerCommandActivity is the BasicActivity implementation for AppendVariableActivity.
7794func (ava AppendVariableActivity) AsAzureDataExplorerCommandActivity() (*AzureDataExplorerCommandActivity, bool) {
7795	return nil, false
7796}
7797
7798// AsDeleteActivity is the BasicActivity implementation for AppendVariableActivity.
7799func (ava AppendVariableActivity) AsDeleteActivity() (*DeleteActivity, bool) {
7800	return nil, false
7801}
7802
7803// AsSQLServerStoredProcedureActivity is the BasicActivity implementation for AppendVariableActivity.
7804func (ava AppendVariableActivity) AsSQLServerStoredProcedureActivity() (*SQLServerStoredProcedureActivity, bool) {
7805	return nil, false
7806}
7807
7808// AsCustomActivity is the BasicActivity implementation for AppendVariableActivity.
7809func (ava AppendVariableActivity) AsCustomActivity() (*CustomActivity, bool) {
7810	return nil, false
7811}
7812
7813// AsExecuteSSISPackageActivity is the BasicActivity implementation for AppendVariableActivity.
7814func (ava AppendVariableActivity) AsExecuteSSISPackageActivity() (*ExecuteSSISPackageActivity, bool) {
7815	return nil, false
7816}
7817
7818// AsHDInsightSparkActivity is the BasicActivity implementation for AppendVariableActivity.
7819func (ava AppendVariableActivity) AsHDInsightSparkActivity() (*HDInsightSparkActivity, bool) {
7820	return nil, false
7821}
7822
7823// AsHDInsightStreamingActivity is the BasicActivity implementation for AppendVariableActivity.
7824func (ava AppendVariableActivity) AsHDInsightStreamingActivity() (*HDInsightStreamingActivity, bool) {
7825	return nil, false
7826}
7827
7828// AsHDInsightMapReduceActivity is the BasicActivity implementation for AppendVariableActivity.
7829func (ava AppendVariableActivity) AsHDInsightMapReduceActivity() (*HDInsightMapReduceActivity, bool) {
7830	return nil, false
7831}
7832
7833// AsHDInsightPigActivity is the BasicActivity implementation for AppendVariableActivity.
7834func (ava AppendVariableActivity) AsHDInsightPigActivity() (*HDInsightPigActivity, bool) {
7835	return nil, false
7836}
7837
7838// AsHDInsightHiveActivity is the BasicActivity implementation for AppendVariableActivity.
7839func (ava AppendVariableActivity) AsHDInsightHiveActivity() (*HDInsightHiveActivity, bool) {
7840	return nil, false
7841}
7842
7843// AsCopyActivity is the BasicActivity implementation for AppendVariableActivity.
7844func (ava AppendVariableActivity) AsCopyActivity() (*CopyActivity, bool) {
7845	return nil, false
7846}
7847
7848// AsExecutionActivity is the BasicActivity implementation for AppendVariableActivity.
7849func (ava AppendVariableActivity) AsExecutionActivity() (*ExecutionActivity, bool) {
7850	return nil, false
7851}
7852
7853// AsBasicExecutionActivity is the BasicActivity implementation for AppendVariableActivity.
7854func (ava AppendVariableActivity) AsBasicExecutionActivity() (BasicExecutionActivity, bool) {
7855	return nil, false
7856}
7857
7858// AsWebHookActivity is the BasicActivity implementation for AppendVariableActivity.
7859func (ava AppendVariableActivity) AsWebHookActivity() (*WebHookActivity, bool) {
7860	return nil, false
7861}
7862
7863// AsAppendVariableActivity is the BasicActivity implementation for AppendVariableActivity.
7864func (ava AppendVariableActivity) AsAppendVariableActivity() (*AppendVariableActivity, bool) {
7865	return &ava, true
7866}
7867
7868// AsSetVariableActivity is the BasicActivity implementation for AppendVariableActivity.
7869func (ava AppendVariableActivity) AsSetVariableActivity() (*SetVariableActivity, bool) {
7870	return nil, false
7871}
7872
7873// AsFilterActivity is the BasicActivity implementation for AppendVariableActivity.
7874func (ava AppendVariableActivity) AsFilterActivity() (*FilterActivity, bool) {
7875	return nil, false
7876}
7877
7878// AsValidationActivity is the BasicActivity implementation for AppendVariableActivity.
7879func (ava AppendVariableActivity) AsValidationActivity() (*ValidationActivity, bool) {
7880	return nil, false
7881}
7882
7883// AsUntilActivity is the BasicActivity implementation for AppendVariableActivity.
7884func (ava AppendVariableActivity) AsUntilActivity() (*UntilActivity, bool) {
7885	return nil, false
7886}
7887
7888// AsWaitActivity is the BasicActivity implementation for AppendVariableActivity.
7889func (ava AppendVariableActivity) AsWaitActivity() (*WaitActivity, bool) {
7890	return nil, false
7891}
7892
7893// AsForEachActivity is the BasicActivity implementation for AppendVariableActivity.
7894func (ava AppendVariableActivity) AsForEachActivity() (*ForEachActivity, bool) {
7895	return nil, false
7896}
7897
7898// AsIfConditionActivity is the BasicActivity implementation for AppendVariableActivity.
7899func (ava AppendVariableActivity) AsIfConditionActivity() (*IfConditionActivity, bool) {
7900	return nil, false
7901}
7902
7903// AsExecutePipelineActivity is the BasicActivity implementation for AppendVariableActivity.
7904func (ava AppendVariableActivity) AsExecutePipelineActivity() (*ExecutePipelineActivity, bool) {
7905	return nil, false
7906}
7907
7908// AsControlActivity is the BasicActivity implementation for AppendVariableActivity.
7909func (ava AppendVariableActivity) AsControlActivity() (*ControlActivity, bool) {
7910	return nil, false
7911}
7912
7913// AsBasicControlActivity is the BasicActivity implementation for AppendVariableActivity.
7914func (ava AppendVariableActivity) AsBasicControlActivity() (BasicControlActivity, bool) {
7915	return &ava, true
7916}
7917
7918// AsActivity is the BasicActivity implementation for AppendVariableActivity.
7919func (ava AppendVariableActivity) AsActivity() (*Activity, bool) {
7920	return nil, false
7921}
7922
7923// AsBasicActivity is the BasicActivity implementation for AppendVariableActivity.
7924func (ava AppendVariableActivity) AsBasicActivity() (BasicActivity, bool) {
7925	return &ava, true
7926}
7927
7928// UnmarshalJSON is the custom unmarshaler for AppendVariableActivity struct.
7929func (ava *AppendVariableActivity) UnmarshalJSON(body []byte) error {
7930	var m map[string]*json.RawMessage
7931	err := json.Unmarshal(body, &m)
7932	if err != nil {
7933		return err
7934	}
7935	for k, v := range m {
7936		switch k {
7937		case "typeProperties":
7938			if v != nil {
7939				var appendVariableActivityTypeProperties AppendVariableActivityTypeProperties
7940				err = json.Unmarshal(*v, &appendVariableActivityTypeProperties)
7941				if err != nil {
7942					return err
7943				}
7944				ava.AppendVariableActivityTypeProperties = &appendVariableActivityTypeProperties
7945			}
7946		default:
7947			if v != nil {
7948				var additionalProperties interface{}
7949				err = json.Unmarshal(*v, &additionalProperties)
7950				if err != nil {
7951					return err
7952				}
7953				if ava.AdditionalProperties == nil {
7954					ava.AdditionalProperties = make(map[string]interface{})
7955				}
7956				ava.AdditionalProperties[k] = additionalProperties
7957			}
7958		case "name":
7959			if v != nil {
7960				var name string
7961				err = json.Unmarshal(*v, &name)
7962				if err != nil {
7963					return err
7964				}
7965				ava.Name = &name
7966			}
7967		case "description":
7968			if v != nil {
7969				var description string
7970				err = json.Unmarshal(*v, &description)
7971				if err != nil {
7972					return err
7973				}
7974				ava.Description = &description
7975			}
7976		case "dependsOn":
7977			if v != nil {
7978				var dependsOn []ActivityDependency
7979				err = json.Unmarshal(*v, &dependsOn)
7980				if err != nil {
7981					return err
7982				}
7983				ava.DependsOn = &dependsOn
7984			}
7985		case "userProperties":
7986			if v != nil {
7987				var userProperties []UserProperty
7988				err = json.Unmarshal(*v, &userProperties)
7989				if err != nil {
7990					return err
7991				}
7992				ava.UserProperties = &userProperties
7993			}
7994		case "type":
7995			if v != nil {
7996				var typeVar TypeBasicActivity
7997				err = json.Unmarshal(*v, &typeVar)
7998				if err != nil {
7999					return err
8000				}
8001				ava.Type = typeVar
8002			}
8003		}
8004	}
8005
8006	return nil
8007}
8008
8009// AppendVariableActivityTypeProperties appendVariable activity properties.
8010type AppendVariableActivityTypeProperties struct {
8011	// VariableName - Name of the variable whose value needs to be appended to.
8012	VariableName *string `json:"variableName,omitempty"`
8013	// Value - Value to be appended. Could be a static value or Expression
8014	Value interface{} `json:"value,omitempty"`
8015}
8016
8017// AvroFormat the data stored in Avro format.
8018type AvroFormat struct {
8019	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
8020	AdditionalProperties map[string]interface{} `json:""`
8021	// Serializer - Serializer. Type: string (or Expression with resultType string).
8022	Serializer interface{} `json:"serializer,omitempty"`
8023	// Deserializer - Deserializer. Type: string (or Expression with resultType string).
8024	Deserializer interface{} `json:"deserializer,omitempty"`
8025	// Type - Possible values include: 'TypeDatasetStorageFormat', 'TypeParquetFormat', 'TypeOrcFormat', 'TypeAvroFormat', 'TypeJSONFormat', 'TypeTextFormat'
8026	Type TypeBasicDatasetStorageFormat `json:"type,omitempty"`
8027}
8028
8029// MarshalJSON is the custom marshaler for AvroFormat.
8030func (af AvroFormat) MarshalJSON() ([]byte, error) {
8031	af.Type = TypeAvroFormat
8032	objectMap := make(map[string]interface{})
8033	if af.Serializer != nil {
8034		objectMap["serializer"] = af.Serializer
8035	}
8036	if af.Deserializer != nil {
8037		objectMap["deserializer"] = af.Deserializer
8038	}
8039	if af.Type != "" {
8040		objectMap["type"] = af.Type
8041	}
8042	for k, v := range af.AdditionalProperties {
8043		objectMap[k] = v
8044	}
8045	return json.Marshal(objectMap)
8046}
8047
8048// AsParquetFormat is the BasicDatasetStorageFormat implementation for AvroFormat.
8049func (af AvroFormat) AsParquetFormat() (*ParquetFormat, bool) {
8050	return nil, false
8051}
8052
8053// AsOrcFormat is the BasicDatasetStorageFormat implementation for AvroFormat.
8054func (af AvroFormat) AsOrcFormat() (*OrcFormat, bool) {
8055	return nil, false
8056}
8057
8058// AsAvroFormat is the BasicDatasetStorageFormat implementation for AvroFormat.
8059func (af AvroFormat) AsAvroFormat() (*AvroFormat, bool) {
8060	return &af, true
8061}
8062
8063// AsJSONFormat is the BasicDatasetStorageFormat implementation for AvroFormat.
8064func (af AvroFormat) AsJSONFormat() (*JSONFormat, bool) {
8065	return nil, false
8066}
8067
8068// AsTextFormat is the BasicDatasetStorageFormat implementation for AvroFormat.
8069func (af AvroFormat) AsTextFormat() (*TextFormat, bool) {
8070	return nil, false
8071}
8072
8073// AsDatasetStorageFormat is the BasicDatasetStorageFormat implementation for AvroFormat.
8074func (af AvroFormat) AsDatasetStorageFormat() (*DatasetStorageFormat, bool) {
8075	return nil, false
8076}
8077
8078// AsBasicDatasetStorageFormat is the BasicDatasetStorageFormat implementation for AvroFormat.
8079func (af AvroFormat) AsBasicDatasetStorageFormat() (BasicDatasetStorageFormat, bool) {
8080	return &af, true
8081}
8082
8083// UnmarshalJSON is the custom unmarshaler for AvroFormat struct.
8084func (af *AvroFormat) UnmarshalJSON(body []byte) error {
8085	var m map[string]*json.RawMessage
8086	err := json.Unmarshal(body, &m)
8087	if err != nil {
8088		return err
8089	}
8090	for k, v := range m {
8091		switch k {
8092		default:
8093			if v != nil {
8094				var additionalProperties interface{}
8095				err = json.Unmarshal(*v, &additionalProperties)
8096				if err != nil {
8097					return err
8098				}
8099				if af.AdditionalProperties == nil {
8100					af.AdditionalProperties = make(map[string]interface{})
8101				}
8102				af.AdditionalProperties[k] = additionalProperties
8103			}
8104		case "serializer":
8105			if v != nil {
8106				var serializer interface{}
8107				err = json.Unmarshal(*v, &serializer)
8108				if err != nil {
8109					return err
8110				}
8111				af.Serializer = serializer
8112			}
8113		case "deserializer":
8114			if v != nil {
8115				var deserializer interface{}
8116				err = json.Unmarshal(*v, &deserializer)
8117				if err != nil {
8118					return err
8119				}
8120				af.Deserializer = deserializer
8121			}
8122		case "type":
8123			if v != nil {
8124				var typeVar TypeBasicDatasetStorageFormat
8125				err = json.Unmarshal(*v, &typeVar)
8126				if err != nil {
8127					return err
8128				}
8129				af.Type = typeVar
8130			}
8131		}
8132	}
8133
8134	return nil
8135}
8136
8137// AzureBatchLinkedService azure Batch linked service.
8138type AzureBatchLinkedService struct {
8139	// AzureBatchLinkedServiceTypeProperties - Azure Batch linked service properties.
8140	*AzureBatchLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
8141	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
8142	AdditionalProperties map[string]interface{} `json:""`
8143	// ConnectVia - The integration runtime reference.
8144	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
8145	// Description - Linked service description.
8146	Description *string `json:"description,omitempty"`
8147	// Parameters - Parameters for linked service.
8148	Parameters map[string]*ParameterSpecification `json:"parameters"`
8149	// Annotations - List of tags that can be used for describing the linked service.
8150	Annotations *[]interface{} `json:"annotations,omitempty"`
8151	// Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', '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', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage'
8152	Type TypeBasicLinkedService `json:"type,omitempty"`
8153}
8154
8155// MarshalJSON is the custom marshaler for AzureBatchLinkedService.
8156func (abls AzureBatchLinkedService) MarshalJSON() ([]byte, error) {
8157	abls.Type = TypeAzureBatch
8158	objectMap := make(map[string]interface{})
8159	if abls.AzureBatchLinkedServiceTypeProperties != nil {
8160		objectMap["typeProperties"] = abls.AzureBatchLinkedServiceTypeProperties
8161	}
8162	if abls.ConnectVia != nil {
8163		objectMap["connectVia"] = abls.ConnectVia
8164	}
8165	if abls.Description != nil {
8166		objectMap["description"] = abls.Description
8167	}
8168	if abls.Parameters != nil {
8169		objectMap["parameters"] = abls.Parameters
8170	}
8171	if abls.Annotations != nil {
8172		objectMap["annotations"] = abls.Annotations
8173	}
8174	if abls.Type != "" {
8175		objectMap["type"] = abls.Type
8176	}
8177	for k, v := range abls.AdditionalProperties {
8178		objectMap[k] = v
8179	}
8180	return json.Marshal(objectMap)
8181}
8182
8183// AsAzureFunctionLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
8184func (abls AzureBatchLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) {
8185	return nil, false
8186}
8187
8188// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
8189func (abls AzureBatchLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) {
8190	return nil, false
8191}
8192
8193// AsSapTableLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
8194func (abls AzureBatchLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) {
8195	return nil, false
8196}
8197
8198// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
8199func (abls AzureBatchLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) {
8200	return nil, false
8201}
8202
8203// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
8204func (abls AzureBatchLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) {
8205	return nil, false
8206}
8207
8208// AsDynamicsAXLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
8209func (abls AzureBatchLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) {
8210	return nil, false
8211}
8212
8213// AsResponsysLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
8214func (abls AzureBatchLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
8215	return nil, false
8216}
8217
8218// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
8219func (abls AzureBatchLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
8220	return nil, false
8221}
8222
8223// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
8224func (abls AzureBatchLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
8225	return nil, false
8226}
8227
8228// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
8229func (abls AzureBatchLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
8230	return nil, false
8231}
8232
8233// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
8234func (abls AzureBatchLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
8235	return nil, false
8236}
8237
8238// AsNetezzaLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
8239func (abls AzureBatchLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
8240	return nil, false
8241}
8242
8243// AsVerticaLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
8244func (abls AzureBatchLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
8245	return nil, false
8246}
8247
8248// AsZohoLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
8249func (abls AzureBatchLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
8250	return nil, false
8251}
8252
8253// AsXeroLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
8254func (abls AzureBatchLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
8255	return nil, false
8256}
8257
8258// AsSquareLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
8259func (abls AzureBatchLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
8260	return nil, false
8261}
8262
8263// AsSparkLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
8264func (abls AzureBatchLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
8265	return nil, false
8266}
8267
8268// AsShopifyLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
8269func (abls AzureBatchLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
8270	return nil, false
8271}
8272
8273// AsServiceNowLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
8274func (abls AzureBatchLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
8275	return nil, false
8276}
8277
8278// AsQuickBooksLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
8279func (abls AzureBatchLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
8280	return nil, false
8281}
8282
8283// AsPrestoLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
8284func (abls AzureBatchLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
8285	return nil, false
8286}
8287
8288// AsPhoenixLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
8289func (abls AzureBatchLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
8290	return nil, false
8291}
8292
8293// AsPaypalLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
8294func (abls AzureBatchLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
8295	return nil, false
8296}
8297
8298// AsMarketoLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
8299func (abls AzureBatchLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
8300	return nil, false
8301}
8302
8303// AsMariaDBLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
8304func (abls AzureBatchLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
8305	return nil, false
8306}
8307
8308// AsMagentoLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
8309func (abls AzureBatchLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
8310	return nil, false
8311}
8312
8313// AsJiraLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
8314func (abls AzureBatchLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
8315	return nil, false
8316}
8317
8318// AsImpalaLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
8319func (abls AzureBatchLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
8320	return nil, false
8321}
8322
8323// AsHubspotLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
8324func (abls AzureBatchLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
8325	return nil, false
8326}
8327
8328// AsHiveLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
8329func (abls AzureBatchLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
8330	return nil, false
8331}
8332
8333// AsHBaseLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
8334func (abls AzureBatchLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
8335	return nil, false
8336}
8337
8338// AsGreenplumLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
8339func (abls AzureBatchLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
8340	return nil, false
8341}
8342
8343// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
8344func (abls AzureBatchLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
8345	return nil, false
8346}
8347
8348// AsEloquaLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
8349func (abls AzureBatchLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
8350	return nil, false
8351}
8352
8353// AsDrillLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
8354func (abls AzureBatchLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
8355	return nil, false
8356}
8357
8358// AsCouchbaseLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
8359func (abls AzureBatchLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
8360	return nil, false
8361}
8362
8363// AsConcurLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
8364func (abls AzureBatchLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
8365	return nil, false
8366}
8367
8368// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
8369func (abls AzureBatchLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
8370	return nil, false
8371}
8372
8373// AsAmazonMWSLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
8374func (abls AzureBatchLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
8375	return nil, false
8376}
8377
8378// AsSapHanaLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
8379func (abls AzureBatchLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
8380	return nil, false
8381}
8382
8383// AsSapBWLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
8384func (abls AzureBatchLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
8385	return nil, false
8386}
8387
8388// AsSftpServerLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
8389func (abls AzureBatchLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
8390	return nil, false
8391}
8392
8393// AsFtpServerLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
8394func (abls AzureBatchLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
8395	return nil, false
8396}
8397
8398// AsHTTPLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
8399func (abls AzureBatchLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
8400	return nil, false
8401}
8402
8403// AsAzureSearchLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
8404func (abls AzureBatchLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
8405	return nil, false
8406}
8407
8408// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
8409func (abls AzureBatchLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
8410	return nil, false
8411}
8412
8413// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
8414func (abls AzureBatchLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
8415	return nil, false
8416}
8417
8418// AsAmazonS3LinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
8419func (abls AzureBatchLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
8420	return nil, false
8421}
8422
8423// AsRestServiceLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
8424func (abls AzureBatchLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) {
8425	return nil, false
8426}
8427
8428// AsSapOpenHubLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
8429func (abls AzureBatchLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) {
8430	return nil, false
8431}
8432
8433// AsSapEccLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
8434func (abls AzureBatchLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
8435	return nil, false
8436}
8437
8438// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
8439func (abls AzureBatchLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
8440	return nil, false
8441}
8442
8443// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
8444func (abls AzureBatchLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) {
8445	return nil, false
8446}
8447
8448// AsSalesforceLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
8449func (abls AzureBatchLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
8450	return nil, false
8451}
8452
8453// AsOffice365LinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
8454func (abls AzureBatchLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) {
8455	return nil, false
8456}
8457
8458// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
8459func (abls AzureBatchLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) {
8460	return nil, false
8461}
8462
8463// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
8464func (abls AzureBatchLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
8465	return nil, false
8466}
8467
8468// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
8469func (abls AzureBatchLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) {
8470	return nil, false
8471}
8472
8473// AsMongoDbV2LinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
8474func (abls AzureBatchLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) {
8475	return nil, false
8476}
8477
8478// AsMongoDbLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
8479func (abls AzureBatchLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
8480	return nil, false
8481}
8482
8483// AsCassandraLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
8484func (abls AzureBatchLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
8485	return nil, false
8486}
8487
8488// AsWebLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
8489func (abls AzureBatchLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
8490	return nil, false
8491}
8492
8493// AsODataLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
8494func (abls AzureBatchLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
8495	return nil, false
8496}
8497
8498// AsHdfsLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
8499func (abls AzureBatchLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
8500	return nil, false
8501}
8502
8503// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
8504func (abls AzureBatchLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) {
8505	return nil, false
8506}
8507
8508// AsInformixLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
8509func (abls AzureBatchLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) {
8510	return nil, false
8511}
8512
8513// AsOdbcLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
8514func (abls AzureBatchLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
8515	return nil, false
8516}
8517
8518// AsAzureMLLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
8519func (abls AzureBatchLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
8520	return nil, false
8521}
8522
8523// AsTeradataLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
8524func (abls AzureBatchLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
8525	return nil, false
8526}
8527
8528// AsDb2LinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
8529func (abls AzureBatchLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
8530	return nil, false
8531}
8532
8533// AsSybaseLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
8534func (abls AzureBatchLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
8535	return nil, false
8536}
8537
8538// AsPostgreSQLLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
8539func (abls AzureBatchLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
8540	return nil, false
8541}
8542
8543// AsMySQLLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
8544func (abls AzureBatchLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
8545	return nil, false
8546}
8547
8548// AsAzureMySQLLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
8549func (abls AzureBatchLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
8550	return nil, false
8551}
8552
8553// AsOracleLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
8554func (abls AzureBatchLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
8555	return nil, false
8556}
8557
8558// AsFileServerLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
8559func (abls AzureBatchLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
8560	return nil, false
8561}
8562
8563// AsHDInsightLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
8564func (abls AzureBatchLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
8565	return nil, false
8566}
8567
8568// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
8569func (abls AzureBatchLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) {
8570	return nil, false
8571}
8572
8573// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
8574func (abls AzureBatchLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) {
8575	return nil, false
8576}
8577
8578// AsDynamicsLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
8579func (abls AzureBatchLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
8580	return nil, false
8581}
8582
8583// AsCosmosDbLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
8584func (abls AzureBatchLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
8585	return nil, false
8586}
8587
8588// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
8589func (abls AzureBatchLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
8590	return nil, false
8591}
8592
8593// AsAzureBatchLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
8594func (abls AzureBatchLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
8595	return &abls, true
8596}
8597
8598// AsAzureSQLMILinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
8599func (abls AzureBatchLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) {
8600	return nil, false
8601}
8602
8603// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
8604func (abls AzureBatchLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
8605	return nil, false
8606}
8607
8608// AsSQLServerLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
8609func (abls AzureBatchLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
8610	return nil, false
8611}
8612
8613// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
8614func (abls AzureBatchLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
8615	return nil, false
8616}
8617
8618// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
8619func (abls AzureBatchLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) {
8620	return nil, false
8621}
8622
8623// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
8624func (abls AzureBatchLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) {
8625	return nil, false
8626}
8627
8628// AsAzureStorageLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
8629func (abls AzureBatchLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
8630	return nil, false
8631}
8632
8633// AsLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
8634func (abls AzureBatchLinkedService) AsLinkedService() (*LinkedService, bool) {
8635	return nil, false
8636}
8637
8638// AsBasicLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
8639func (abls AzureBatchLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
8640	return &abls, true
8641}
8642
8643// UnmarshalJSON is the custom unmarshaler for AzureBatchLinkedService struct.
8644func (abls *AzureBatchLinkedService) UnmarshalJSON(body []byte) error {
8645	var m map[string]*json.RawMessage
8646	err := json.Unmarshal(body, &m)
8647	if err != nil {
8648		return err
8649	}
8650	for k, v := range m {
8651		switch k {
8652		case "typeProperties":
8653			if v != nil {
8654				var azureBatchLinkedServiceTypeProperties AzureBatchLinkedServiceTypeProperties
8655				err = json.Unmarshal(*v, &azureBatchLinkedServiceTypeProperties)
8656				if err != nil {
8657					return err
8658				}
8659				abls.AzureBatchLinkedServiceTypeProperties = &azureBatchLinkedServiceTypeProperties
8660			}
8661		default:
8662			if v != nil {
8663				var additionalProperties interface{}
8664				err = json.Unmarshal(*v, &additionalProperties)
8665				if err != nil {
8666					return err
8667				}
8668				if abls.AdditionalProperties == nil {
8669					abls.AdditionalProperties = make(map[string]interface{})
8670				}
8671				abls.AdditionalProperties[k] = additionalProperties
8672			}
8673		case "connectVia":
8674			if v != nil {
8675				var connectVia IntegrationRuntimeReference
8676				err = json.Unmarshal(*v, &connectVia)
8677				if err != nil {
8678					return err
8679				}
8680				abls.ConnectVia = &connectVia
8681			}
8682		case "description":
8683			if v != nil {
8684				var description string
8685				err = json.Unmarshal(*v, &description)
8686				if err != nil {
8687					return err
8688				}
8689				abls.Description = &description
8690			}
8691		case "parameters":
8692			if v != nil {
8693				var parameters map[string]*ParameterSpecification
8694				err = json.Unmarshal(*v, &parameters)
8695				if err != nil {
8696					return err
8697				}
8698				abls.Parameters = parameters
8699			}
8700		case "annotations":
8701			if v != nil {
8702				var annotations []interface{}
8703				err = json.Unmarshal(*v, &annotations)
8704				if err != nil {
8705					return err
8706				}
8707				abls.Annotations = &annotations
8708			}
8709		case "type":
8710			if v != nil {
8711				var typeVar TypeBasicLinkedService
8712				err = json.Unmarshal(*v, &typeVar)
8713				if err != nil {
8714					return err
8715				}
8716				abls.Type = typeVar
8717			}
8718		}
8719	}
8720
8721	return nil
8722}
8723
8724// AzureBatchLinkedServiceTypeProperties azure Batch linked service properties.
8725type AzureBatchLinkedServiceTypeProperties struct {
8726	// AccountName - The Azure Batch account name. Type: string (or Expression with resultType string).
8727	AccountName interface{} `json:"accountName,omitempty"`
8728	// AccessKey - The Azure Batch account access key.
8729	AccessKey BasicSecretBase `json:"accessKey,omitempty"`
8730	// BatchURI - The Azure Batch URI. Type: string (or Expression with resultType string).
8731	BatchURI interface{} `json:"batchUri,omitempty"`
8732	// PoolName - The Azure Batch pool name. Type: string (or Expression with resultType string).
8733	PoolName interface{} `json:"poolName,omitempty"`
8734	// LinkedServiceName - The Azure Storage linked service reference.
8735	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
8736	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
8737	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
8738}
8739
8740// UnmarshalJSON is the custom unmarshaler for AzureBatchLinkedServiceTypeProperties struct.
8741func (ablstp *AzureBatchLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
8742	var m map[string]*json.RawMessage
8743	err := json.Unmarshal(body, &m)
8744	if err != nil {
8745		return err
8746	}
8747	for k, v := range m {
8748		switch k {
8749		case "accountName":
8750			if v != nil {
8751				var accountName interface{}
8752				err = json.Unmarshal(*v, &accountName)
8753				if err != nil {
8754					return err
8755				}
8756				ablstp.AccountName = accountName
8757			}
8758		case "accessKey":
8759			if v != nil {
8760				accessKey, err := unmarshalBasicSecretBase(*v)
8761				if err != nil {
8762					return err
8763				}
8764				ablstp.AccessKey = accessKey
8765			}
8766		case "batchUri":
8767			if v != nil {
8768				var batchURI interface{}
8769				err = json.Unmarshal(*v, &batchURI)
8770				if err != nil {
8771					return err
8772				}
8773				ablstp.BatchURI = batchURI
8774			}
8775		case "poolName":
8776			if v != nil {
8777				var poolName interface{}
8778				err = json.Unmarshal(*v, &poolName)
8779				if err != nil {
8780					return err
8781				}
8782				ablstp.PoolName = poolName
8783			}
8784		case "linkedServiceName":
8785			if v != nil {
8786				var linkedServiceName LinkedServiceReference
8787				err = json.Unmarshal(*v, &linkedServiceName)
8788				if err != nil {
8789					return err
8790				}
8791				ablstp.LinkedServiceName = &linkedServiceName
8792			}
8793		case "encryptedCredential":
8794			if v != nil {
8795				var encryptedCredential interface{}
8796				err = json.Unmarshal(*v, &encryptedCredential)
8797				if err != nil {
8798					return err
8799				}
8800				ablstp.EncryptedCredential = encryptedCredential
8801			}
8802		}
8803	}
8804
8805	return nil
8806}
8807
8808// AzureBlobDataset the Azure Blob storage.
8809type AzureBlobDataset struct {
8810	// AzureBlobDatasetTypeProperties - Azure Blob dataset properties.
8811	*AzureBlobDatasetTypeProperties `json:"typeProperties,omitempty"`
8812	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
8813	AdditionalProperties map[string]interface{} `json:""`
8814	// Description - Dataset description.
8815	Description *string `json:"description,omitempty"`
8816	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
8817	Structure interface{} `json:"structure,omitempty"`
8818	// Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement.
8819	Schema interface{} `json:"schema,omitempty"`
8820	// LinkedServiceName - Linked service reference.
8821	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
8822	// Parameters - Parameters for dataset.
8823	Parameters map[string]*ParameterSpecification `json:"parameters"`
8824	// Annotations - List of tags that can be used for describing the Dataset.
8825	Annotations *[]interface{} `json:"annotations,omitempty"`
8826	// Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level.
8827	Folder *DatasetFolder `json:"folder,omitempty"`
8828	// Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', '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', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeDelimitedText', 'TypeParquet', 'TypeAmazonS3Object'
8829	Type TypeBasicDataset `json:"type,omitempty"`
8830}
8831
8832// MarshalJSON is the custom marshaler for AzureBlobDataset.
8833func (abd AzureBlobDataset) MarshalJSON() ([]byte, error) {
8834	abd.Type = TypeAzureBlob
8835	objectMap := make(map[string]interface{})
8836	if abd.AzureBlobDatasetTypeProperties != nil {
8837		objectMap["typeProperties"] = abd.AzureBlobDatasetTypeProperties
8838	}
8839	if abd.Description != nil {
8840		objectMap["description"] = abd.Description
8841	}
8842	if abd.Structure != nil {
8843		objectMap["structure"] = abd.Structure
8844	}
8845	if abd.Schema != nil {
8846		objectMap["schema"] = abd.Schema
8847	}
8848	if abd.LinkedServiceName != nil {
8849		objectMap["linkedServiceName"] = abd.LinkedServiceName
8850	}
8851	if abd.Parameters != nil {
8852		objectMap["parameters"] = abd.Parameters
8853	}
8854	if abd.Annotations != nil {
8855		objectMap["annotations"] = abd.Annotations
8856	}
8857	if abd.Folder != nil {
8858		objectMap["folder"] = abd.Folder
8859	}
8860	if abd.Type != "" {
8861		objectMap["type"] = abd.Type
8862	}
8863	for k, v := range abd.AdditionalProperties {
8864		objectMap[k] = v
8865	}
8866	return json.Marshal(objectMap)
8867}
8868
8869// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for AzureBlobDataset.
8870func (abd AzureBlobDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) {
8871	return nil, false
8872}
8873
8874// AsAzureDataExplorerTableDataset is the BasicDataset implementation for AzureBlobDataset.
8875func (abd AzureBlobDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) {
8876	return nil, false
8877}
8878
8879// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for AzureBlobDataset.
8880func (abd AzureBlobDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) {
8881	return nil, false
8882}
8883
8884// AsDynamicsAXResourceDataset is the BasicDataset implementation for AzureBlobDataset.
8885func (abd AzureBlobDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) {
8886	return nil, false
8887}
8888
8889// AsResponsysObjectDataset is the BasicDataset implementation for AzureBlobDataset.
8890func (abd AzureBlobDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
8891	return nil, false
8892}
8893
8894// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for AzureBlobDataset.
8895func (abd AzureBlobDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
8896	return nil, false
8897}
8898
8899// AsVerticaTableDataset is the BasicDataset implementation for AzureBlobDataset.
8900func (abd AzureBlobDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
8901	return nil, false
8902}
8903
8904// AsNetezzaTableDataset is the BasicDataset implementation for AzureBlobDataset.
8905func (abd AzureBlobDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
8906	return nil, false
8907}
8908
8909// AsZohoObjectDataset is the BasicDataset implementation for AzureBlobDataset.
8910func (abd AzureBlobDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
8911	return nil, false
8912}
8913
8914// AsXeroObjectDataset is the BasicDataset implementation for AzureBlobDataset.
8915func (abd AzureBlobDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
8916	return nil, false
8917}
8918
8919// AsSquareObjectDataset is the BasicDataset implementation for AzureBlobDataset.
8920func (abd AzureBlobDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
8921	return nil, false
8922}
8923
8924// AsSparkObjectDataset is the BasicDataset implementation for AzureBlobDataset.
8925func (abd AzureBlobDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
8926	return nil, false
8927}
8928
8929// AsShopifyObjectDataset is the BasicDataset implementation for AzureBlobDataset.
8930func (abd AzureBlobDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
8931	return nil, false
8932}
8933
8934// AsServiceNowObjectDataset is the BasicDataset implementation for AzureBlobDataset.
8935func (abd AzureBlobDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
8936	return nil, false
8937}
8938
8939// AsQuickBooksObjectDataset is the BasicDataset implementation for AzureBlobDataset.
8940func (abd AzureBlobDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
8941	return nil, false
8942}
8943
8944// AsPrestoObjectDataset is the BasicDataset implementation for AzureBlobDataset.
8945func (abd AzureBlobDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
8946	return nil, false
8947}
8948
8949// AsPhoenixObjectDataset is the BasicDataset implementation for AzureBlobDataset.
8950func (abd AzureBlobDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
8951	return nil, false
8952}
8953
8954// AsPaypalObjectDataset is the BasicDataset implementation for AzureBlobDataset.
8955func (abd AzureBlobDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
8956	return nil, false
8957}
8958
8959// AsMarketoObjectDataset is the BasicDataset implementation for AzureBlobDataset.
8960func (abd AzureBlobDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
8961	return nil, false
8962}
8963
8964// AsMariaDBTableDataset is the BasicDataset implementation for AzureBlobDataset.
8965func (abd AzureBlobDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
8966	return nil, false
8967}
8968
8969// AsMagentoObjectDataset is the BasicDataset implementation for AzureBlobDataset.
8970func (abd AzureBlobDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
8971	return nil, false
8972}
8973
8974// AsJiraObjectDataset is the BasicDataset implementation for AzureBlobDataset.
8975func (abd AzureBlobDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
8976	return nil, false
8977}
8978
8979// AsImpalaObjectDataset is the BasicDataset implementation for AzureBlobDataset.
8980func (abd AzureBlobDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
8981	return nil, false
8982}
8983
8984// AsHubspotObjectDataset is the BasicDataset implementation for AzureBlobDataset.
8985func (abd AzureBlobDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
8986	return nil, false
8987}
8988
8989// AsHiveObjectDataset is the BasicDataset implementation for AzureBlobDataset.
8990func (abd AzureBlobDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
8991	return nil, false
8992}
8993
8994// AsHBaseObjectDataset is the BasicDataset implementation for AzureBlobDataset.
8995func (abd AzureBlobDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
8996	return nil, false
8997}
8998
8999// AsGreenplumTableDataset is the BasicDataset implementation for AzureBlobDataset.
9000func (abd AzureBlobDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
9001	return nil, false
9002}
9003
9004// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for AzureBlobDataset.
9005func (abd AzureBlobDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
9006	return nil, false
9007}
9008
9009// AsEloquaObjectDataset is the BasicDataset implementation for AzureBlobDataset.
9010func (abd AzureBlobDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
9011	return nil, false
9012}
9013
9014// AsDrillTableDataset is the BasicDataset implementation for AzureBlobDataset.
9015func (abd AzureBlobDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
9016	return nil, false
9017}
9018
9019// AsCouchbaseTableDataset is the BasicDataset implementation for AzureBlobDataset.
9020func (abd AzureBlobDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
9021	return nil, false
9022}
9023
9024// AsConcurObjectDataset is the BasicDataset implementation for AzureBlobDataset.
9025func (abd AzureBlobDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
9026	return nil, false
9027}
9028
9029// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for AzureBlobDataset.
9030func (abd AzureBlobDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
9031	return nil, false
9032}
9033
9034// AsAmazonMWSObjectDataset is the BasicDataset implementation for AzureBlobDataset.
9035func (abd AzureBlobDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
9036	return nil, false
9037}
9038
9039// AsHTTPDataset is the BasicDataset implementation for AzureBlobDataset.
9040func (abd AzureBlobDataset) AsHTTPDataset() (*HTTPDataset, bool) {
9041	return nil, false
9042}
9043
9044// AsAzureSearchIndexDataset is the BasicDataset implementation for AzureBlobDataset.
9045func (abd AzureBlobDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
9046	return nil, false
9047}
9048
9049// AsWebTableDataset is the BasicDataset implementation for AzureBlobDataset.
9050func (abd AzureBlobDataset) AsWebTableDataset() (*WebTableDataset, bool) {
9051	return nil, false
9052}
9053
9054// AsSapTableResourceDataset is the BasicDataset implementation for AzureBlobDataset.
9055func (abd AzureBlobDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) {
9056	return nil, false
9057}
9058
9059// AsRestResourceDataset is the BasicDataset implementation for AzureBlobDataset.
9060func (abd AzureBlobDataset) AsRestResourceDataset() (*RestResourceDataset, bool) {
9061	return nil, false
9062}
9063
9064// AsSQLServerTableDataset is the BasicDataset implementation for AzureBlobDataset.
9065func (abd AzureBlobDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
9066	return nil, false
9067}
9068
9069// AsSapOpenHubTableDataset is the BasicDataset implementation for AzureBlobDataset.
9070func (abd AzureBlobDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) {
9071	return nil, false
9072}
9073
9074// AsSapHanaTableDataset is the BasicDataset implementation for AzureBlobDataset.
9075func (abd AzureBlobDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) {
9076	return nil, false
9077}
9078
9079// AsSapEccResourceDataset is the BasicDataset implementation for AzureBlobDataset.
9080func (abd AzureBlobDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
9081	return nil, false
9082}
9083
9084// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for AzureBlobDataset.
9085func (abd AzureBlobDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
9086	return nil, false
9087}
9088
9089// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for AzureBlobDataset.
9090func (abd AzureBlobDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) {
9091	return nil, false
9092}
9093
9094// AsSalesforceObjectDataset is the BasicDataset implementation for AzureBlobDataset.
9095func (abd AzureBlobDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
9096	return nil, false
9097}
9098
9099// AsMicrosoftAccessTableDataset is the BasicDataset implementation for AzureBlobDataset.
9100func (abd AzureBlobDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) {
9101	return nil, false
9102}
9103
9104// AsPostgreSQLTableDataset is the BasicDataset implementation for AzureBlobDataset.
9105func (abd AzureBlobDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) {
9106	return nil, false
9107}
9108
9109// AsMySQLTableDataset is the BasicDataset implementation for AzureBlobDataset.
9110func (abd AzureBlobDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) {
9111	return nil, false
9112}
9113
9114// AsOdbcTableDataset is the BasicDataset implementation for AzureBlobDataset.
9115func (abd AzureBlobDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) {
9116	return nil, false
9117}
9118
9119// AsInformixTableDataset is the BasicDataset implementation for AzureBlobDataset.
9120func (abd AzureBlobDataset) AsInformixTableDataset() (*InformixTableDataset, bool) {
9121	return nil, false
9122}
9123
9124// AsRelationalTableDataset is the BasicDataset implementation for AzureBlobDataset.
9125func (abd AzureBlobDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
9126	return nil, false
9127}
9128
9129// AsAzureMySQLTableDataset is the BasicDataset implementation for AzureBlobDataset.
9130func (abd AzureBlobDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
9131	return nil, false
9132}
9133
9134// AsTeradataTableDataset is the BasicDataset implementation for AzureBlobDataset.
9135func (abd AzureBlobDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) {
9136	return nil, false
9137}
9138
9139// AsOracleTableDataset is the BasicDataset implementation for AzureBlobDataset.
9140func (abd AzureBlobDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
9141	return nil, false
9142}
9143
9144// AsODataResourceDataset is the BasicDataset implementation for AzureBlobDataset.
9145func (abd AzureBlobDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
9146	return nil, false
9147}
9148
9149// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for AzureBlobDataset.
9150func (abd AzureBlobDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) {
9151	return nil, false
9152}
9153
9154// AsMongoDbV2CollectionDataset is the BasicDataset implementation for AzureBlobDataset.
9155func (abd AzureBlobDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) {
9156	return nil, false
9157}
9158
9159// AsMongoDbCollectionDataset is the BasicDataset implementation for AzureBlobDataset.
9160func (abd AzureBlobDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
9161	return nil, false
9162}
9163
9164// AsFileShareDataset is the BasicDataset implementation for AzureBlobDataset.
9165func (abd AzureBlobDataset) AsFileShareDataset() (*FileShareDataset, bool) {
9166	return nil, false
9167}
9168
9169// AsOffice365Dataset is the BasicDataset implementation for AzureBlobDataset.
9170func (abd AzureBlobDataset) AsOffice365Dataset() (*Office365Dataset, bool) {
9171	return nil, false
9172}
9173
9174// AsAzureBlobFSDataset is the BasicDataset implementation for AzureBlobDataset.
9175func (abd AzureBlobDataset) AsAzureBlobFSDataset() (*AzureBlobFSDataset, bool) {
9176	return nil, false
9177}
9178
9179// AsAzureDataLakeStoreDataset is the BasicDataset implementation for AzureBlobDataset.
9180func (abd AzureBlobDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) {
9181	return nil, false
9182}
9183
9184// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for AzureBlobDataset.
9185func (abd AzureBlobDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) {
9186	return nil, false
9187}
9188
9189// AsDynamicsCrmEntityDataset is the BasicDataset implementation for AzureBlobDataset.
9190func (abd AzureBlobDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) {
9191	return nil, false
9192}
9193
9194// AsDynamicsEntityDataset is the BasicDataset implementation for AzureBlobDataset.
9195func (abd AzureBlobDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
9196	return nil, false
9197}
9198
9199// AsDocumentDbCollectionDataset is the BasicDataset implementation for AzureBlobDataset.
9200func (abd AzureBlobDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
9201	return nil, false
9202}
9203
9204// AsCustomDataset is the BasicDataset implementation for AzureBlobDataset.
9205func (abd AzureBlobDataset) AsCustomDataset() (*CustomDataset, bool) {
9206	return nil, false
9207}
9208
9209// AsCassandraTableDataset is the BasicDataset implementation for AzureBlobDataset.
9210func (abd AzureBlobDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
9211	return nil, false
9212}
9213
9214// AsAzureSQLDWTableDataset is the BasicDataset implementation for AzureBlobDataset.
9215func (abd AzureBlobDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
9216	return nil, false
9217}
9218
9219// AsAzureSQLMITableDataset is the BasicDataset implementation for AzureBlobDataset.
9220func (abd AzureBlobDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) {
9221	return nil, false
9222}
9223
9224// AsAzureSQLTableDataset is the BasicDataset implementation for AzureBlobDataset.
9225func (abd AzureBlobDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
9226	return nil, false
9227}
9228
9229// AsAzureTableDataset is the BasicDataset implementation for AzureBlobDataset.
9230func (abd AzureBlobDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
9231	return nil, false
9232}
9233
9234// AsAzureBlobDataset is the BasicDataset implementation for AzureBlobDataset.
9235func (abd AzureBlobDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) {
9236	return &abd, true
9237}
9238
9239// AsBinaryDataset is the BasicDataset implementation for AzureBlobDataset.
9240func (abd AzureBlobDataset) AsBinaryDataset() (*BinaryDataset, bool) {
9241	return nil, false
9242}
9243
9244// AsDelimitedTextDataset is the BasicDataset implementation for AzureBlobDataset.
9245func (abd AzureBlobDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) {
9246	return nil, false
9247}
9248
9249// AsParquetDataset is the BasicDataset implementation for AzureBlobDataset.
9250func (abd AzureBlobDataset) AsParquetDataset() (*ParquetDataset, bool) {
9251	return nil, false
9252}
9253
9254// AsAmazonS3Dataset is the BasicDataset implementation for AzureBlobDataset.
9255func (abd AzureBlobDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) {
9256	return nil, false
9257}
9258
9259// AsDataset is the BasicDataset implementation for AzureBlobDataset.
9260func (abd AzureBlobDataset) AsDataset() (*Dataset, bool) {
9261	return nil, false
9262}
9263
9264// AsBasicDataset is the BasicDataset implementation for AzureBlobDataset.
9265func (abd AzureBlobDataset) AsBasicDataset() (BasicDataset, bool) {
9266	return &abd, true
9267}
9268
9269// UnmarshalJSON is the custom unmarshaler for AzureBlobDataset struct.
9270func (abd *AzureBlobDataset) UnmarshalJSON(body []byte) error {
9271	var m map[string]*json.RawMessage
9272	err := json.Unmarshal(body, &m)
9273	if err != nil {
9274		return err
9275	}
9276	for k, v := range m {
9277		switch k {
9278		case "typeProperties":
9279			if v != nil {
9280				var azureBlobDatasetTypeProperties AzureBlobDatasetTypeProperties
9281				err = json.Unmarshal(*v, &azureBlobDatasetTypeProperties)
9282				if err != nil {
9283					return err
9284				}
9285				abd.AzureBlobDatasetTypeProperties = &azureBlobDatasetTypeProperties
9286			}
9287		default:
9288			if v != nil {
9289				var additionalProperties interface{}
9290				err = json.Unmarshal(*v, &additionalProperties)
9291				if err != nil {
9292					return err
9293				}
9294				if abd.AdditionalProperties == nil {
9295					abd.AdditionalProperties = make(map[string]interface{})
9296				}
9297				abd.AdditionalProperties[k] = additionalProperties
9298			}
9299		case "description":
9300			if v != nil {
9301				var description string
9302				err = json.Unmarshal(*v, &description)
9303				if err != nil {
9304					return err
9305				}
9306				abd.Description = &description
9307			}
9308		case "structure":
9309			if v != nil {
9310				var structure interface{}
9311				err = json.Unmarshal(*v, &structure)
9312				if err != nil {
9313					return err
9314				}
9315				abd.Structure = structure
9316			}
9317		case "schema":
9318			if v != nil {
9319				var schema interface{}
9320				err = json.Unmarshal(*v, &schema)
9321				if err != nil {
9322					return err
9323				}
9324				abd.Schema = schema
9325			}
9326		case "linkedServiceName":
9327			if v != nil {
9328				var linkedServiceName LinkedServiceReference
9329				err = json.Unmarshal(*v, &linkedServiceName)
9330				if err != nil {
9331					return err
9332				}
9333				abd.LinkedServiceName = &linkedServiceName
9334			}
9335		case "parameters":
9336			if v != nil {
9337				var parameters map[string]*ParameterSpecification
9338				err = json.Unmarshal(*v, &parameters)
9339				if err != nil {
9340					return err
9341				}
9342				abd.Parameters = parameters
9343			}
9344		case "annotations":
9345			if v != nil {
9346				var annotations []interface{}
9347				err = json.Unmarshal(*v, &annotations)
9348				if err != nil {
9349					return err
9350				}
9351				abd.Annotations = &annotations
9352			}
9353		case "folder":
9354			if v != nil {
9355				var folder DatasetFolder
9356				err = json.Unmarshal(*v, &folder)
9357				if err != nil {
9358					return err
9359				}
9360				abd.Folder = &folder
9361			}
9362		case "type":
9363			if v != nil {
9364				var typeVar TypeBasicDataset
9365				err = json.Unmarshal(*v, &typeVar)
9366				if err != nil {
9367					return err
9368				}
9369				abd.Type = typeVar
9370			}
9371		}
9372	}
9373
9374	return nil
9375}
9376
9377// AzureBlobDatasetTypeProperties azure Blob dataset properties.
9378type AzureBlobDatasetTypeProperties struct {
9379	// FolderPath - The path of the Azure Blob storage. Type: string (or Expression with resultType string).
9380	FolderPath interface{} `json:"folderPath,omitempty"`
9381	// TableRootLocation - The root of blob path. Type: string (or Expression with resultType string).
9382	TableRootLocation interface{} `json:"tableRootLocation,omitempty"`
9383	// FileName - The name of the Azure Blob. Type: string (or Expression with resultType string).
9384	FileName interface{} `json:"fileName,omitempty"`
9385	// ModifiedDatetimeStart - The start of Azure Blob's modified datetime. Type: string (or Expression with resultType string).
9386	ModifiedDatetimeStart interface{} `json:"modifiedDatetimeStart,omitempty"`
9387	// ModifiedDatetimeEnd - The end of Azure Blob's modified datetime. Type: string (or Expression with resultType string).
9388	ModifiedDatetimeEnd interface{} `json:"modifiedDatetimeEnd,omitempty"`
9389	// Format - The format of the Azure Blob storage.
9390	Format BasicDatasetStorageFormat `json:"format,omitempty"`
9391	// Compression - The data compression method used for the blob storage.
9392	Compression BasicDatasetCompression `json:"compression,omitempty"`
9393}
9394
9395// UnmarshalJSON is the custom unmarshaler for AzureBlobDatasetTypeProperties struct.
9396func (abdtp *AzureBlobDatasetTypeProperties) UnmarshalJSON(body []byte) error {
9397	var m map[string]*json.RawMessage
9398	err := json.Unmarshal(body, &m)
9399	if err != nil {
9400		return err
9401	}
9402	for k, v := range m {
9403		switch k {
9404		case "folderPath":
9405			if v != nil {
9406				var folderPath interface{}
9407				err = json.Unmarshal(*v, &folderPath)
9408				if err != nil {
9409					return err
9410				}
9411				abdtp.FolderPath = folderPath
9412			}
9413		case "tableRootLocation":
9414			if v != nil {
9415				var tableRootLocation interface{}
9416				err = json.Unmarshal(*v, &tableRootLocation)
9417				if err != nil {
9418					return err
9419				}
9420				abdtp.TableRootLocation = tableRootLocation
9421			}
9422		case "fileName":
9423			if v != nil {
9424				var fileName interface{}
9425				err = json.Unmarshal(*v, &fileName)
9426				if err != nil {
9427					return err
9428				}
9429				abdtp.FileName = fileName
9430			}
9431		case "modifiedDatetimeStart":
9432			if v != nil {
9433				var modifiedDatetimeStart interface{}
9434				err = json.Unmarshal(*v, &modifiedDatetimeStart)
9435				if err != nil {
9436					return err
9437				}
9438				abdtp.ModifiedDatetimeStart = modifiedDatetimeStart
9439			}
9440		case "modifiedDatetimeEnd":
9441			if v != nil {
9442				var modifiedDatetimeEnd interface{}
9443				err = json.Unmarshal(*v, &modifiedDatetimeEnd)
9444				if err != nil {
9445					return err
9446				}
9447				abdtp.ModifiedDatetimeEnd = modifiedDatetimeEnd
9448			}
9449		case "format":
9450			if v != nil {
9451				formatVar, err := unmarshalBasicDatasetStorageFormat(*v)
9452				if err != nil {
9453					return err
9454				}
9455				abdtp.Format = formatVar
9456			}
9457		case "compression":
9458			if v != nil {
9459				compression, err := unmarshalBasicDatasetCompression(*v)
9460				if err != nil {
9461					return err
9462				}
9463				abdtp.Compression = compression
9464			}
9465		}
9466	}
9467
9468	return nil
9469}
9470
9471// AzureBlobFSDataset the Azure Data Lake Storage Gen2 storage.
9472type AzureBlobFSDataset struct {
9473	// AzureBlobFSDatasetTypeProperties - Azure Data Lake Storage Gen2 dataset properties.
9474	*AzureBlobFSDatasetTypeProperties `json:"typeProperties,omitempty"`
9475	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
9476	AdditionalProperties map[string]interface{} `json:""`
9477	// Description - Dataset description.
9478	Description *string `json:"description,omitempty"`
9479	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
9480	Structure interface{} `json:"structure,omitempty"`
9481	// Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement.
9482	Schema interface{} `json:"schema,omitempty"`
9483	// LinkedServiceName - Linked service reference.
9484	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
9485	// Parameters - Parameters for dataset.
9486	Parameters map[string]*ParameterSpecification `json:"parameters"`
9487	// Annotations - List of tags that can be used for describing the Dataset.
9488	Annotations *[]interface{} `json:"annotations,omitempty"`
9489	// Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level.
9490	Folder *DatasetFolder `json:"folder,omitempty"`
9491	// Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', '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', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeDelimitedText', 'TypeParquet', 'TypeAmazonS3Object'
9492	Type TypeBasicDataset `json:"type,omitempty"`
9493}
9494
9495// MarshalJSON is the custom marshaler for AzureBlobFSDataset.
9496func (abfd AzureBlobFSDataset) MarshalJSON() ([]byte, error) {
9497	abfd.Type = TypeAzureBlobFSFile
9498	objectMap := make(map[string]interface{})
9499	if abfd.AzureBlobFSDatasetTypeProperties != nil {
9500		objectMap["typeProperties"] = abfd.AzureBlobFSDatasetTypeProperties
9501	}
9502	if abfd.Description != nil {
9503		objectMap["description"] = abfd.Description
9504	}
9505	if abfd.Structure != nil {
9506		objectMap["structure"] = abfd.Structure
9507	}
9508	if abfd.Schema != nil {
9509		objectMap["schema"] = abfd.Schema
9510	}
9511	if abfd.LinkedServiceName != nil {
9512		objectMap["linkedServiceName"] = abfd.LinkedServiceName
9513	}
9514	if abfd.Parameters != nil {
9515		objectMap["parameters"] = abfd.Parameters
9516	}
9517	if abfd.Annotations != nil {
9518		objectMap["annotations"] = abfd.Annotations
9519	}
9520	if abfd.Folder != nil {
9521		objectMap["folder"] = abfd.Folder
9522	}
9523	if abfd.Type != "" {
9524		objectMap["type"] = abfd.Type
9525	}
9526	for k, v := range abfd.AdditionalProperties {
9527		objectMap[k] = v
9528	}
9529	return json.Marshal(objectMap)
9530}
9531
9532// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for AzureBlobFSDataset.
9533func (abfd AzureBlobFSDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) {
9534	return nil, false
9535}
9536
9537// AsAzureDataExplorerTableDataset is the BasicDataset implementation for AzureBlobFSDataset.
9538func (abfd AzureBlobFSDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) {
9539	return nil, false
9540}
9541
9542// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for AzureBlobFSDataset.
9543func (abfd AzureBlobFSDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) {
9544	return nil, false
9545}
9546
9547// AsDynamicsAXResourceDataset is the BasicDataset implementation for AzureBlobFSDataset.
9548func (abfd AzureBlobFSDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) {
9549	return nil, false
9550}
9551
9552// AsResponsysObjectDataset is the BasicDataset implementation for AzureBlobFSDataset.
9553func (abfd AzureBlobFSDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
9554	return nil, false
9555}
9556
9557// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for AzureBlobFSDataset.
9558func (abfd AzureBlobFSDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
9559	return nil, false
9560}
9561
9562// AsVerticaTableDataset is the BasicDataset implementation for AzureBlobFSDataset.
9563func (abfd AzureBlobFSDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
9564	return nil, false
9565}
9566
9567// AsNetezzaTableDataset is the BasicDataset implementation for AzureBlobFSDataset.
9568func (abfd AzureBlobFSDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
9569	return nil, false
9570}
9571
9572// AsZohoObjectDataset is the BasicDataset implementation for AzureBlobFSDataset.
9573func (abfd AzureBlobFSDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
9574	return nil, false
9575}
9576
9577// AsXeroObjectDataset is the BasicDataset implementation for AzureBlobFSDataset.
9578func (abfd AzureBlobFSDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
9579	return nil, false
9580}
9581
9582// AsSquareObjectDataset is the BasicDataset implementation for AzureBlobFSDataset.
9583func (abfd AzureBlobFSDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
9584	return nil, false
9585}
9586
9587// AsSparkObjectDataset is the BasicDataset implementation for AzureBlobFSDataset.
9588func (abfd AzureBlobFSDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
9589	return nil, false
9590}
9591
9592// AsShopifyObjectDataset is the BasicDataset implementation for AzureBlobFSDataset.
9593func (abfd AzureBlobFSDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
9594	return nil, false
9595}
9596
9597// AsServiceNowObjectDataset is the BasicDataset implementation for AzureBlobFSDataset.
9598func (abfd AzureBlobFSDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
9599	return nil, false
9600}
9601
9602// AsQuickBooksObjectDataset is the BasicDataset implementation for AzureBlobFSDataset.
9603func (abfd AzureBlobFSDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
9604	return nil, false
9605}
9606
9607// AsPrestoObjectDataset is the BasicDataset implementation for AzureBlobFSDataset.
9608func (abfd AzureBlobFSDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
9609	return nil, false
9610}
9611
9612// AsPhoenixObjectDataset is the BasicDataset implementation for AzureBlobFSDataset.
9613func (abfd AzureBlobFSDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
9614	return nil, false
9615}
9616
9617// AsPaypalObjectDataset is the BasicDataset implementation for AzureBlobFSDataset.
9618func (abfd AzureBlobFSDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
9619	return nil, false
9620}
9621
9622// AsMarketoObjectDataset is the BasicDataset implementation for AzureBlobFSDataset.
9623func (abfd AzureBlobFSDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
9624	return nil, false
9625}
9626
9627// AsMariaDBTableDataset is the BasicDataset implementation for AzureBlobFSDataset.
9628func (abfd AzureBlobFSDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
9629	return nil, false
9630}
9631
9632// AsMagentoObjectDataset is the BasicDataset implementation for AzureBlobFSDataset.
9633func (abfd AzureBlobFSDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
9634	return nil, false
9635}
9636
9637// AsJiraObjectDataset is the BasicDataset implementation for AzureBlobFSDataset.
9638func (abfd AzureBlobFSDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
9639	return nil, false
9640}
9641
9642// AsImpalaObjectDataset is the BasicDataset implementation for AzureBlobFSDataset.
9643func (abfd AzureBlobFSDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
9644	return nil, false
9645}
9646
9647// AsHubspotObjectDataset is the BasicDataset implementation for AzureBlobFSDataset.
9648func (abfd AzureBlobFSDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
9649	return nil, false
9650}
9651
9652// AsHiveObjectDataset is the BasicDataset implementation for AzureBlobFSDataset.
9653func (abfd AzureBlobFSDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
9654	return nil, false
9655}
9656
9657// AsHBaseObjectDataset is the BasicDataset implementation for AzureBlobFSDataset.
9658func (abfd AzureBlobFSDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
9659	return nil, false
9660}
9661
9662// AsGreenplumTableDataset is the BasicDataset implementation for AzureBlobFSDataset.
9663func (abfd AzureBlobFSDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
9664	return nil, false
9665}
9666
9667// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for AzureBlobFSDataset.
9668func (abfd AzureBlobFSDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
9669	return nil, false
9670}
9671
9672// AsEloquaObjectDataset is the BasicDataset implementation for AzureBlobFSDataset.
9673func (abfd AzureBlobFSDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
9674	return nil, false
9675}
9676
9677// AsDrillTableDataset is the BasicDataset implementation for AzureBlobFSDataset.
9678func (abfd AzureBlobFSDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
9679	return nil, false
9680}
9681
9682// AsCouchbaseTableDataset is the BasicDataset implementation for AzureBlobFSDataset.
9683func (abfd AzureBlobFSDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
9684	return nil, false
9685}
9686
9687// AsConcurObjectDataset is the BasicDataset implementation for AzureBlobFSDataset.
9688func (abfd AzureBlobFSDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
9689	return nil, false
9690}
9691
9692// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for AzureBlobFSDataset.
9693func (abfd AzureBlobFSDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
9694	return nil, false
9695}
9696
9697// AsAmazonMWSObjectDataset is the BasicDataset implementation for AzureBlobFSDataset.
9698func (abfd AzureBlobFSDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
9699	return nil, false
9700}
9701
9702// AsHTTPDataset is the BasicDataset implementation for AzureBlobFSDataset.
9703func (abfd AzureBlobFSDataset) AsHTTPDataset() (*HTTPDataset, bool) {
9704	return nil, false
9705}
9706
9707// AsAzureSearchIndexDataset is the BasicDataset implementation for AzureBlobFSDataset.
9708func (abfd AzureBlobFSDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
9709	return nil, false
9710}
9711
9712// AsWebTableDataset is the BasicDataset implementation for AzureBlobFSDataset.
9713func (abfd AzureBlobFSDataset) AsWebTableDataset() (*WebTableDataset, bool) {
9714	return nil, false
9715}
9716
9717// AsSapTableResourceDataset is the BasicDataset implementation for AzureBlobFSDataset.
9718func (abfd AzureBlobFSDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) {
9719	return nil, false
9720}
9721
9722// AsRestResourceDataset is the BasicDataset implementation for AzureBlobFSDataset.
9723func (abfd AzureBlobFSDataset) AsRestResourceDataset() (*RestResourceDataset, bool) {
9724	return nil, false
9725}
9726
9727// AsSQLServerTableDataset is the BasicDataset implementation for AzureBlobFSDataset.
9728func (abfd AzureBlobFSDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
9729	return nil, false
9730}
9731
9732// AsSapOpenHubTableDataset is the BasicDataset implementation for AzureBlobFSDataset.
9733func (abfd AzureBlobFSDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) {
9734	return nil, false
9735}
9736
9737// AsSapHanaTableDataset is the BasicDataset implementation for AzureBlobFSDataset.
9738func (abfd AzureBlobFSDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) {
9739	return nil, false
9740}
9741
9742// AsSapEccResourceDataset is the BasicDataset implementation for AzureBlobFSDataset.
9743func (abfd AzureBlobFSDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
9744	return nil, false
9745}
9746
9747// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for AzureBlobFSDataset.
9748func (abfd AzureBlobFSDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
9749	return nil, false
9750}
9751
9752// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for AzureBlobFSDataset.
9753func (abfd AzureBlobFSDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) {
9754	return nil, false
9755}
9756
9757// AsSalesforceObjectDataset is the BasicDataset implementation for AzureBlobFSDataset.
9758func (abfd AzureBlobFSDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
9759	return nil, false
9760}
9761
9762// AsMicrosoftAccessTableDataset is the BasicDataset implementation for AzureBlobFSDataset.
9763func (abfd AzureBlobFSDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) {
9764	return nil, false
9765}
9766
9767// AsPostgreSQLTableDataset is the BasicDataset implementation for AzureBlobFSDataset.
9768func (abfd AzureBlobFSDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) {
9769	return nil, false
9770}
9771
9772// AsMySQLTableDataset is the BasicDataset implementation for AzureBlobFSDataset.
9773func (abfd AzureBlobFSDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) {
9774	return nil, false
9775}
9776
9777// AsOdbcTableDataset is the BasicDataset implementation for AzureBlobFSDataset.
9778func (abfd AzureBlobFSDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) {
9779	return nil, false
9780}
9781
9782// AsInformixTableDataset is the BasicDataset implementation for AzureBlobFSDataset.
9783func (abfd AzureBlobFSDataset) AsInformixTableDataset() (*InformixTableDataset, bool) {
9784	return nil, false
9785}
9786
9787// AsRelationalTableDataset is the BasicDataset implementation for AzureBlobFSDataset.
9788func (abfd AzureBlobFSDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
9789	return nil, false
9790}
9791
9792// AsAzureMySQLTableDataset is the BasicDataset implementation for AzureBlobFSDataset.
9793func (abfd AzureBlobFSDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
9794	return nil, false
9795}
9796
9797// AsTeradataTableDataset is the BasicDataset implementation for AzureBlobFSDataset.
9798func (abfd AzureBlobFSDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) {
9799	return nil, false
9800}
9801
9802// AsOracleTableDataset is the BasicDataset implementation for AzureBlobFSDataset.
9803func (abfd AzureBlobFSDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
9804	return nil, false
9805}
9806
9807// AsODataResourceDataset is the BasicDataset implementation for AzureBlobFSDataset.
9808func (abfd AzureBlobFSDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
9809	return nil, false
9810}
9811
9812// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for AzureBlobFSDataset.
9813func (abfd AzureBlobFSDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) {
9814	return nil, false
9815}
9816
9817// AsMongoDbV2CollectionDataset is the BasicDataset implementation for AzureBlobFSDataset.
9818func (abfd AzureBlobFSDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) {
9819	return nil, false
9820}
9821
9822// AsMongoDbCollectionDataset is the BasicDataset implementation for AzureBlobFSDataset.
9823func (abfd AzureBlobFSDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
9824	return nil, false
9825}
9826
9827// AsFileShareDataset is the BasicDataset implementation for AzureBlobFSDataset.
9828func (abfd AzureBlobFSDataset) AsFileShareDataset() (*FileShareDataset, bool) {
9829	return nil, false
9830}
9831
9832// AsOffice365Dataset is the BasicDataset implementation for AzureBlobFSDataset.
9833func (abfd AzureBlobFSDataset) AsOffice365Dataset() (*Office365Dataset, bool) {
9834	return nil, false
9835}
9836
9837// AsAzureBlobFSDataset is the BasicDataset implementation for AzureBlobFSDataset.
9838func (abfd AzureBlobFSDataset) AsAzureBlobFSDataset() (*AzureBlobFSDataset, bool) {
9839	return &abfd, true
9840}
9841
9842// AsAzureDataLakeStoreDataset is the BasicDataset implementation for AzureBlobFSDataset.
9843func (abfd AzureBlobFSDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) {
9844	return nil, false
9845}
9846
9847// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for AzureBlobFSDataset.
9848func (abfd AzureBlobFSDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) {
9849	return nil, false
9850}
9851
9852// AsDynamicsCrmEntityDataset is the BasicDataset implementation for AzureBlobFSDataset.
9853func (abfd AzureBlobFSDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) {
9854	return nil, false
9855}
9856
9857// AsDynamicsEntityDataset is the BasicDataset implementation for AzureBlobFSDataset.
9858func (abfd AzureBlobFSDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
9859	return nil, false
9860}
9861
9862// AsDocumentDbCollectionDataset is the BasicDataset implementation for AzureBlobFSDataset.
9863func (abfd AzureBlobFSDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
9864	return nil, false
9865}
9866
9867// AsCustomDataset is the BasicDataset implementation for AzureBlobFSDataset.
9868func (abfd AzureBlobFSDataset) AsCustomDataset() (*CustomDataset, bool) {
9869	return nil, false
9870}
9871
9872// AsCassandraTableDataset is the BasicDataset implementation for AzureBlobFSDataset.
9873func (abfd AzureBlobFSDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
9874	return nil, false
9875}
9876
9877// AsAzureSQLDWTableDataset is the BasicDataset implementation for AzureBlobFSDataset.
9878func (abfd AzureBlobFSDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
9879	return nil, false
9880}
9881
9882// AsAzureSQLMITableDataset is the BasicDataset implementation for AzureBlobFSDataset.
9883func (abfd AzureBlobFSDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) {
9884	return nil, false
9885}
9886
9887// AsAzureSQLTableDataset is the BasicDataset implementation for AzureBlobFSDataset.
9888func (abfd AzureBlobFSDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
9889	return nil, false
9890}
9891
9892// AsAzureTableDataset is the BasicDataset implementation for AzureBlobFSDataset.
9893func (abfd AzureBlobFSDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
9894	return nil, false
9895}
9896
9897// AsAzureBlobDataset is the BasicDataset implementation for AzureBlobFSDataset.
9898func (abfd AzureBlobFSDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) {
9899	return nil, false
9900}
9901
9902// AsBinaryDataset is the BasicDataset implementation for AzureBlobFSDataset.
9903func (abfd AzureBlobFSDataset) AsBinaryDataset() (*BinaryDataset, bool) {
9904	return nil, false
9905}
9906
9907// AsDelimitedTextDataset is the BasicDataset implementation for AzureBlobFSDataset.
9908func (abfd AzureBlobFSDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) {
9909	return nil, false
9910}
9911
9912// AsParquetDataset is the BasicDataset implementation for AzureBlobFSDataset.
9913func (abfd AzureBlobFSDataset) AsParquetDataset() (*ParquetDataset, bool) {
9914	return nil, false
9915}
9916
9917// AsAmazonS3Dataset is the BasicDataset implementation for AzureBlobFSDataset.
9918func (abfd AzureBlobFSDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) {
9919	return nil, false
9920}
9921
9922// AsDataset is the BasicDataset implementation for AzureBlobFSDataset.
9923func (abfd AzureBlobFSDataset) AsDataset() (*Dataset, bool) {
9924	return nil, false
9925}
9926
9927// AsBasicDataset is the BasicDataset implementation for AzureBlobFSDataset.
9928func (abfd AzureBlobFSDataset) AsBasicDataset() (BasicDataset, bool) {
9929	return &abfd, true
9930}
9931
9932// UnmarshalJSON is the custom unmarshaler for AzureBlobFSDataset struct.
9933func (abfd *AzureBlobFSDataset) UnmarshalJSON(body []byte) error {
9934	var m map[string]*json.RawMessage
9935	err := json.Unmarshal(body, &m)
9936	if err != nil {
9937		return err
9938	}
9939	for k, v := range m {
9940		switch k {
9941		case "typeProperties":
9942			if v != nil {
9943				var azureBlobFSDatasetTypeProperties AzureBlobFSDatasetTypeProperties
9944				err = json.Unmarshal(*v, &azureBlobFSDatasetTypeProperties)
9945				if err != nil {
9946					return err
9947				}
9948				abfd.AzureBlobFSDatasetTypeProperties = &azureBlobFSDatasetTypeProperties
9949			}
9950		default:
9951			if v != nil {
9952				var additionalProperties interface{}
9953				err = json.Unmarshal(*v, &additionalProperties)
9954				if err != nil {
9955					return err
9956				}
9957				if abfd.AdditionalProperties == nil {
9958					abfd.AdditionalProperties = make(map[string]interface{})
9959				}
9960				abfd.AdditionalProperties[k] = additionalProperties
9961			}
9962		case "description":
9963			if v != nil {
9964				var description string
9965				err = json.Unmarshal(*v, &description)
9966				if err != nil {
9967					return err
9968				}
9969				abfd.Description = &description
9970			}
9971		case "structure":
9972			if v != nil {
9973				var structure interface{}
9974				err = json.Unmarshal(*v, &structure)
9975				if err != nil {
9976					return err
9977				}
9978				abfd.Structure = structure
9979			}
9980		case "schema":
9981			if v != nil {
9982				var schema interface{}
9983				err = json.Unmarshal(*v, &schema)
9984				if err != nil {
9985					return err
9986				}
9987				abfd.Schema = schema
9988			}
9989		case "linkedServiceName":
9990			if v != nil {
9991				var linkedServiceName LinkedServiceReference
9992				err = json.Unmarshal(*v, &linkedServiceName)
9993				if err != nil {
9994					return err
9995				}
9996				abfd.LinkedServiceName = &linkedServiceName
9997			}
9998		case "parameters":
9999			if v != nil {
10000				var parameters map[string]*ParameterSpecification
10001				err = json.Unmarshal(*v, &parameters)
10002				if err != nil {
10003					return err
10004				}
10005				abfd.Parameters = parameters
10006			}
10007		case "annotations":
10008			if v != nil {
10009				var annotations []interface{}
10010				err = json.Unmarshal(*v, &annotations)
10011				if err != nil {
10012					return err
10013				}
10014				abfd.Annotations = &annotations
10015			}
10016		case "folder":
10017			if v != nil {
10018				var folder DatasetFolder
10019				err = json.Unmarshal(*v, &folder)
10020				if err != nil {
10021					return err
10022				}
10023				abfd.Folder = &folder
10024			}
10025		case "type":
10026			if v != nil {
10027				var typeVar TypeBasicDataset
10028				err = json.Unmarshal(*v, &typeVar)
10029				if err != nil {
10030					return err
10031				}
10032				abfd.Type = typeVar
10033			}
10034		}
10035	}
10036
10037	return nil
10038}
10039
10040// AzureBlobFSDatasetTypeProperties azure Data Lake Storage Gen2 dataset properties.
10041type AzureBlobFSDatasetTypeProperties struct {
10042	// FolderPath - The path of the Azure Data Lake Storage Gen2 storage. Type: string (or Expression with resultType string).
10043	FolderPath interface{} `json:"folderPath,omitempty"`
10044	// FileName - The name of the Azure Data Lake Storage Gen2. Type: string (or Expression with resultType string).
10045	FileName interface{} `json:"fileName,omitempty"`
10046	// Format - The format of the Azure Data Lake Storage Gen2 storage.
10047	Format BasicDatasetStorageFormat `json:"format,omitempty"`
10048	// Compression - The data compression method used for the blob storage.
10049	Compression BasicDatasetCompression `json:"compression,omitempty"`
10050}
10051
10052// UnmarshalJSON is the custom unmarshaler for AzureBlobFSDatasetTypeProperties struct.
10053func (abfdtp *AzureBlobFSDatasetTypeProperties) UnmarshalJSON(body []byte) error {
10054	var m map[string]*json.RawMessage
10055	err := json.Unmarshal(body, &m)
10056	if err != nil {
10057		return err
10058	}
10059	for k, v := range m {
10060		switch k {
10061		case "folderPath":
10062			if v != nil {
10063				var folderPath interface{}
10064				err = json.Unmarshal(*v, &folderPath)
10065				if err != nil {
10066					return err
10067				}
10068				abfdtp.FolderPath = folderPath
10069			}
10070		case "fileName":
10071			if v != nil {
10072				var fileName interface{}
10073				err = json.Unmarshal(*v, &fileName)
10074				if err != nil {
10075					return err
10076				}
10077				abfdtp.FileName = fileName
10078			}
10079		case "format":
10080			if v != nil {
10081				formatVar, err := unmarshalBasicDatasetStorageFormat(*v)
10082				if err != nil {
10083					return err
10084				}
10085				abfdtp.Format = formatVar
10086			}
10087		case "compression":
10088			if v != nil {
10089				compression, err := unmarshalBasicDatasetCompression(*v)
10090				if err != nil {
10091					return err
10092				}
10093				abfdtp.Compression = compression
10094			}
10095		}
10096	}
10097
10098	return nil
10099}
10100
10101// AzureBlobFSLinkedService azure Data Lake Storage Gen2 linked service.
10102type AzureBlobFSLinkedService struct {
10103	// AzureBlobFSLinkedServiceTypeProperties - Azure Data Lake Storage Gen2 linked service properties.
10104	*AzureBlobFSLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
10105	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
10106	AdditionalProperties map[string]interface{} `json:""`
10107	// ConnectVia - The integration runtime reference.
10108	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
10109	// Description - Linked service description.
10110	Description *string `json:"description,omitempty"`
10111	// Parameters - Parameters for linked service.
10112	Parameters map[string]*ParameterSpecification `json:"parameters"`
10113	// Annotations - List of tags that can be used for describing the linked service.
10114	Annotations *[]interface{} `json:"annotations,omitempty"`
10115	// Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', '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', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage'
10116	Type TypeBasicLinkedService `json:"type,omitempty"`
10117}
10118
10119// MarshalJSON is the custom marshaler for AzureBlobFSLinkedService.
10120func (abfls AzureBlobFSLinkedService) MarshalJSON() ([]byte, error) {
10121	abfls.Type = TypeAzureBlobFS
10122	objectMap := make(map[string]interface{})
10123	if abfls.AzureBlobFSLinkedServiceTypeProperties != nil {
10124		objectMap["typeProperties"] = abfls.AzureBlobFSLinkedServiceTypeProperties
10125	}
10126	if abfls.ConnectVia != nil {
10127		objectMap["connectVia"] = abfls.ConnectVia
10128	}
10129	if abfls.Description != nil {
10130		objectMap["description"] = abfls.Description
10131	}
10132	if abfls.Parameters != nil {
10133		objectMap["parameters"] = abfls.Parameters
10134	}
10135	if abfls.Annotations != nil {
10136		objectMap["annotations"] = abfls.Annotations
10137	}
10138	if abfls.Type != "" {
10139		objectMap["type"] = abfls.Type
10140	}
10141	for k, v := range abfls.AdditionalProperties {
10142		objectMap[k] = v
10143	}
10144	return json.Marshal(objectMap)
10145}
10146
10147// AsAzureFunctionLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService.
10148func (abfls AzureBlobFSLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) {
10149	return nil, false
10150}
10151
10152// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService.
10153func (abfls AzureBlobFSLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) {
10154	return nil, false
10155}
10156
10157// AsSapTableLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService.
10158func (abfls AzureBlobFSLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) {
10159	return nil, false
10160}
10161
10162// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService.
10163func (abfls AzureBlobFSLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) {
10164	return nil, false
10165}
10166
10167// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService.
10168func (abfls AzureBlobFSLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) {
10169	return nil, false
10170}
10171
10172// AsDynamicsAXLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService.
10173func (abfls AzureBlobFSLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) {
10174	return nil, false
10175}
10176
10177// AsResponsysLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService.
10178func (abfls AzureBlobFSLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
10179	return nil, false
10180}
10181
10182// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService.
10183func (abfls AzureBlobFSLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
10184	return nil, false
10185}
10186
10187// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService.
10188func (abfls AzureBlobFSLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
10189	return nil, false
10190}
10191
10192// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService.
10193func (abfls AzureBlobFSLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
10194	return nil, false
10195}
10196
10197// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService.
10198func (abfls AzureBlobFSLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
10199	return nil, false
10200}
10201
10202// AsNetezzaLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService.
10203func (abfls AzureBlobFSLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
10204	return nil, false
10205}
10206
10207// AsVerticaLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService.
10208func (abfls AzureBlobFSLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
10209	return nil, false
10210}
10211
10212// AsZohoLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService.
10213func (abfls AzureBlobFSLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
10214	return nil, false
10215}
10216
10217// AsXeroLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService.
10218func (abfls AzureBlobFSLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
10219	return nil, false
10220}
10221
10222// AsSquareLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService.
10223func (abfls AzureBlobFSLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
10224	return nil, false
10225}
10226
10227// AsSparkLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService.
10228func (abfls AzureBlobFSLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
10229	return nil, false
10230}
10231
10232// AsShopifyLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService.
10233func (abfls AzureBlobFSLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
10234	return nil, false
10235}
10236
10237// AsServiceNowLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService.
10238func (abfls AzureBlobFSLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
10239	return nil, false
10240}
10241
10242// AsQuickBooksLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService.
10243func (abfls AzureBlobFSLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
10244	return nil, false
10245}
10246
10247// AsPrestoLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService.
10248func (abfls AzureBlobFSLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
10249	return nil, false
10250}
10251
10252// AsPhoenixLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService.
10253func (abfls AzureBlobFSLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
10254	return nil, false
10255}
10256
10257// AsPaypalLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService.
10258func (abfls AzureBlobFSLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
10259	return nil, false
10260}
10261
10262// AsMarketoLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService.
10263func (abfls AzureBlobFSLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
10264	return nil, false
10265}
10266
10267// AsMariaDBLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService.
10268func (abfls AzureBlobFSLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
10269	return nil, false
10270}
10271
10272// AsMagentoLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService.
10273func (abfls AzureBlobFSLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
10274	return nil, false
10275}
10276
10277// AsJiraLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService.
10278func (abfls AzureBlobFSLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
10279	return nil, false
10280}
10281
10282// AsImpalaLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService.
10283func (abfls AzureBlobFSLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
10284	return nil, false
10285}
10286
10287// AsHubspotLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService.
10288func (abfls AzureBlobFSLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
10289	return nil, false
10290}
10291
10292// AsHiveLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService.
10293func (abfls AzureBlobFSLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
10294	return nil, false
10295}
10296
10297// AsHBaseLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService.
10298func (abfls AzureBlobFSLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
10299	return nil, false
10300}
10301
10302// AsGreenplumLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService.
10303func (abfls AzureBlobFSLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
10304	return nil, false
10305}
10306
10307// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService.
10308func (abfls AzureBlobFSLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
10309	return nil, false
10310}
10311
10312// AsEloquaLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService.
10313func (abfls AzureBlobFSLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
10314	return nil, false
10315}
10316
10317// AsDrillLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService.
10318func (abfls AzureBlobFSLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
10319	return nil, false
10320}
10321
10322// AsCouchbaseLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService.
10323func (abfls AzureBlobFSLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
10324	return nil, false
10325}
10326
10327// AsConcurLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService.
10328func (abfls AzureBlobFSLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
10329	return nil, false
10330}
10331
10332// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService.
10333func (abfls AzureBlobFSLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
10334	return nil, false
10335}
10336
10337// AsAmazonMWSLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService.
10338func (abfls AzureBlobFSLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
10339	return nil, false
10340}
10341
10342// AsSapHanaLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService.
10343func (abfls AzureBlobFSLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
10344	return nil, false
10345}
10346
10347// AsSapBWLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService.
10348func (abfls AzureBlobFSLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
10349	return nil, false
10350}
10351
10352// AsSftpServerLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService.
10353func (abfls AzureBlobFSLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
10354	return nil, false
10355}
10356
10357// AsFtpServerLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService.
10358func (abfls AzureBlobFSLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
10359	return nil, false
10360}
10361
10362// AsHTTPLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService.
10363func (abfls AzureBlobFSLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
10364	return nil, false
10365}
10366
10367// AsAzureSearchLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService.
10368func (abfls AzureBlobFSLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
10369	return nil, false
10370}
10371
10372// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService.
10373func (abfls AzureBlobFSLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
10374	return nil, false
10375}
10376
10377// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService.
10378func (abfls AzureBlobFSLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
10379	return nil, false
10380}
10381
10382// AsAmazonS3LinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService.
10383func (abfls AzureBlobFSLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
10384	return nil, false
10385}
10386
10387// AsRestServiceLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService.
10388func (abfls AzureBlobFSLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) {
10389	return nil, false
10390}
10391
10392// AsSapOpenHubLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService.
10393func (abfls AzureBlobFSLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) {
10394	return nil, false
10395}
10396
10397// AsSapEccLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService.
10398func (abfls AzureBlobFSLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
10399	return nil, false
10400}
10401
10402// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService.
10403func (abfls AzureBlobFSLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
10404	return nil, false
10405}
10406
10407// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService.
10408func (abfls AzureBlobFSLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) {
10409	return nil, false
10410}
10411
10412// AsSalesforceLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService.
10413func (abfls AzureBlobFSLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
10414	return nil, false
10415}
10416
10417// AsOffice365LinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService.
10418func (abfls AzureBlobFSLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) {
10419	return nil, false
10420}
10421
10422// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService.
10423func (abfls AzureBlobFSLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) {
10424	return &abfls, true
10425}
10426
10427// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService.
10428func (abfls AzureBlobFSLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
10429	return nil, false
10430}
10431
10432// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService.
10433func (abfls AzureBlobFSLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) {
10434	return nil, false
10435}
10436
10437// AsMongoDbV2LinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService.
10438func (abfls AzureBlobFSLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) {
10439	return nil, false
10440}
10441
10442// AsMongoDbLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService.
10443func (abfls AzureBlobFSLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
10444	return nil, false
10445}
10446
10447// AsCassandraLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService.
10448func (abfls AzureBlobFSLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
10449	return nil, false
10450}
10451
10452// AsWebLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService.
10453func (abfls AzureBlobFSLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
10454	return nil, false
10455}
10456
10457// AsODataLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService.
10458func (abfls AzureBlobFSLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
10459	return nil, false
10460}
10461
10462// AsHdfsLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService.
10463func (abfls AzureBlobFSLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
10464	return nil, false
10465}
10466
10467// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService.
10468func (abfls AzureBlobFSLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) {
10469	return nil, false
10470}
10471
10472// AsInformixLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService.
10473func (abfls AzureBlobFSLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) {
10474	return nil, false
10475}
10476
10477// AsOdbcLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService.
10478func (abfls AzureBlobFSLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
10479	return nil, false
10480}
10481
10482// AsAzureMLLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService.
10483func (abfls AzureBlobFSLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
10484	return nil, false
10485}
10486
10487// AsTeradataLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService.
10488func (abfls AzureBlobFSLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
10489	return nil, false
10490}
10491
10492// AsDb2LinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService.
10493func (abfls AzureBlobFSLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
10494	return nil, false
10495}
10496
10497// AsSybaseLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService.
10498func (abfls AzureBlobFSLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
10499	return nil, false
10500}
10501
10502// AsPostgreSQLLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService.
10503func (abfls AzureBlobFSLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
10504	return nil, false
10505}
10506
10507// AsMySQLLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService.
10508func (abfls AzureBlobFSLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
10509	return nil, false
10510}
10511
10512// AsAzureMySQLLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService.
10513func (abfls AzureBlobFSLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
10514	return nil, false
10515}
10516
10517// AsOracleLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService.
10518func (abfls AzureBlobFSLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
10519	return nil, false
10520}
10521
10522// AsFileServerLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService.
10523func (abfls AzureBlobFSLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
10524	return nil, false
10525}
10526
10527// AsHDInsightLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService.
10528func (abfls AzureBlobFSLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
10529	return nil, false
10530}
10531
10532// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService.
10533func (abfls AzureBlobFSLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) {
10534	return nil, false
10535}
10536
10537// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService.
10538func (abfls AzureBlobFSLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) {
10539	return nil, false
10540}
10541
10542// AsDynamicsLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService.
10543func (abfls AzureBlobFSLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
10544	return nil, false
10545}
10546
10547// AsCosmosDbLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService.
10548func (abfls AzureBlobFSLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
10549	return nil, false
10550}
10551
10552// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService.
10553func (abfls AzureBlobFSLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
10554	return nil, false
10555}
10556
10557// AsAzureBatchLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService.
10558func (abfls AzureBlobFSLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
10559	return nil, false
10560}
10561
10562// AsAzureSQLMILinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService.
10563func (abfls AzureBlobFSLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) {
10564	return nil, false
10565}
10566
10567// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService.
10568func (abfls AzureBlobFSLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
10569	return nil, false
10570}
10571
10572// AsSQLServerLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService.
10573func (abfls AzureBlobFSLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
10574	return nil, false
10575}
10576
10577// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService.
10578func (abfls AzureBlobFSLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
10579	return nil, false
10580}
10581
10582// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService.
10583func (abfls AzureBlobFSLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) {
10584	return nil, false
10585}
10586
10587// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService.
10588func (abfls AzureBlobFSLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) {
10589	return nil, false
10590}
10591
10592// AsAzureStorageLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService.
10593func (abfls AzureBlobFSLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
10594	return nil, false
10595}
10596
10597// AsLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService.
10598func (abfls AzureBlobFSLinkedService) AsLinkedService() (*LinkedService, bool) {
10599	return nil, false
10600}
10601
10602// AsBasicLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService.
10603func (abfls AzureBlobFSLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
10604	return &abfls, true
10605}
10606
10607// UnmarshalJSON is the custom unmarshaler for AzureBlobFSLinkedService struct.
10608func (abfls *AzureBlobFSLinkedService) UnmarshalJSON(body []byte) error {
10609	var m map[string]*json.RawMessage
10610	err := json.Unmarshal(body, &m)
10611	if err != nil {
10612		return err
10613	}
10614	for k, v := range m {
10615		switch k {
10616		case "typeProperties":
10617			if v != nil {
10618				var azureBlobFSLinkedServiceTypeProperties AzureBlobFSLinkedServiceTypeProperties
10619				err = json.Unmarshal(*v, &azureBlobFSLinkedServiceTypeProperties)
10620				if err != nil {
10621					return err
10622				}
10623				abfls.AzureBlobFSLinkedServiceTypeProperties = &azureBlobFSLinkedServiceTypeProperties
10624			}
10625		default:
10626			if v != nil {
10627				var additionalProperties interface{}
10628				err = json.Unmarshal(*v, &additionalProperties)
10629				if err != nil {
10630					return err
10631				}
10632				if abfls.AdditionalProperties == nil {
10633					abfls.AdditionalProperties = make(map[string]interface{})
10634				}
10635				abfls.AdditionalProperties[k] = additionalProperties
10636			}
10637		case "connectVia":
10638			if v != nil {
10639				var connectVia IntegrationRuntimeReference
10640				err = json.Unmarshal(*v, &connectVia)
10641				if err != nil {
10642					return err
10643				}
10644				abfls.ConnectVia = &connectVia
10645			}
10646		case "description":
10647			if v != nil {
10648				var description string
10649				err = json.Unmarshal(*v, &description)
10650				if err != nil {
10651					return err
10652				}
10653				abfls.Description = &description
10654			}
10655		case "parameters":
10656			if v != nil {
10657				var parameters map[string]*ParameterSpecification
10658				err = json.Unmarshal(*v, &parameters)
10659				if err != nil {
10660					return err
10661				}
10662				abfls.Parameters = parameters
10663			}
10664		case "annotations":
10665			if v != nil {
10666				var annotations []interface{}
10667				err = json.Unmarshal(*v, &annotations)
10668				if err != nil {
10669					return err
10670				}
10671				abfls.Annotations = &annotations
10672			}
10673		case "type":
10674			if v != nil {
10675				var typeVar TypeBasicLinkedService
10676				err = json.Unmarshal(*v, &typeVar)
10677				if err != nil {
10678					return err
10679				}
10680				abfls.Type = typeVar
10681			}
10682		}
10683	}
10684
10685	return nil
10686}
10687
10688// AzureBlobFSLinkedServiceTypeProperties azure Data Lake Storage Gen2 linked service properties.
10689type AzureBlobFSLinkedServiceTypeProperties struct {
10690	// URL - Endpoint for the Azure Data Lake Storage Gen2 service. Type: string (or Expression with resultType string).
10691	URL interface{} `json:"url,omitempty"`
10692	// AccountKey - Account key for the Azure Data Lake Storage Gen2 service. Type: string (or Expression with resultType string).
10693	AccountKey interface{} `json:"accountKey,omitempty"`
10694	// ServicePrincipalID - The ID of the application used to authenticate against the Azure Data Lake Storage Gen2 account. Type: string (or Expression with resultType string).
10695	ServicePrincipalID interface{} `json:"servicePrincipalId,omitempty"`
10696	// ServicePrincipalKey - The Key of the application used to authenticate against the Azure Data Lake Storage Gen2 account.
10697	ServicePrincipalKey BasicSecretBase `json:"servicePrincipalKey,omitempty"`
10698	// Tenant - The name or ID of the tenant to which the service principal belongs. Type: string (or Expression with resultType string).
10699	Tenant interface{} `json:"tenant,omitempty"`
10700	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
10701	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
10702}
10703
10704// UnmarshalJSON is the custom unmarshaler for AzureBlobFSLinkedServiceTypeProperties struct.
10705func (abflstp *AzureBlobFSLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
10706	var m map[string]*json.RawMessage
10707	err := json.Unmarshal(body, &m)
10708	if err != nil {
10709		return err
10710	}
10711	for k, v := range m {
10712		switch k {
10713		case "url":
10714			if v != nil {
10715				var URL interface{}
10716				err = json.Unmarshal(*v, &URL)
10717				if err != nil {
10718					return err
10719				}
10720				abflstp.URL = URL
10721			}
10722		case "accountKey":
10723			if v != nil {
10724				var accountKey interface{}
10725				err = json.Unmarshal(*v, &accountKey)
10726				if err != nil {
10727					return err
10728				}
10729				abflstp.AccountKey = accountKey
10730			}
10731		case "servicePrincipalId":
10732			if v != nil {
10733				var servicePrincipalID interface{}
10734				err = json.Unmarshal(*v, &servicePrincipalID)
10735				if err != nil {
10736					return err
10737				}
10738				abflstp.ServicePrincipalID = servicePrincipalID
10739			}
10740		case "servicePrincipalKey":
10741			if v != nil {
10742				servicePrincipalKey, err := unmarshalBasicSecretBase(*v)
10743				if err != nil {
10744					return err
10745				}
10746				abflstp.ServicePrincipalKey = servicePrincipalKey
10747			}
10748		case "tenant":
10749			if v != nil {
10750				var tenant interface{}
10751				err = json.Unmarshal(*v, &tenant)
10752				if err != nil {
10753					return err
10754				}
10755				abflstp.Tenant = tenant
10756			}
10757		case "encryptedCredential":
10758			if v != nil {
10759				var encryptedCredential interface{}
10760				err = json.Unmarshal(*v, &encryptedCredential)
10761				if err != nil {
10762					return err
10763				}
10764				abflstp.EncryptedCredential = encryptedCredential
10765			}
10766		}
10767	}
10768
10769	return nil
10770}
10771
10772// AzureBlobFSLocation the location of azure blobFS dataset.
10773type AzureBlobFSLocation struct {
10774	// FileSystem - Specify the fileSystem of azure blobFS. Type: string (or Expression with resultType string).
10775	FileSystem interface{} `json:"fileSystem,omitempty"`
10776	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
10777	AdditionalProperties map[string]interface{} `json:""`
10778	// Type - Type of dataset storage location.
10779	Type *string `json:"type,omitempty"`
10780	// FolderPath - Specify the folder path of dataset. Type: string (or Expression with resultType string)
10781	FolderPath interface{} `json:"folderPath,omitempty"`
10782	// FileName - Specify the file name of dataset. Type: string (or Expression with resultType string).
10783	FileName interface{} `json:"fileName,omitempty"`
10784}
10785
10786// MarshalJSON is the custom marshaler for AzureBlobFSLocation.
10787func (abfl AzureBlobFSLocation) MarshalJSON() ([]byte, error) {
10788	objectMap := make(map[string]interface{})
10789	if abfl.FileSystem != nil {
10790		objectMap["fileSystem"] = abfl.FileSystem
10791	}
10792	if abfl.Type != nil {
10793		objectMap["type"] = abfl.Type
10794	}
10795	if abfl.FolderPath != nil {
10796		objectMap["folderPath"] = abfl.FolderPath
10797	}
10798	if abfl.FileName != nil {
10799		objectMap["fileName"] = abfl.FileName
10800	}
10801	for k, v := range abfl.AdditionalProperties {
10802		objectMap[k] = v
10803	}
10804	return json.Marshal(objectMap)
10805}
10806
10807// UnmarshalJSON is the custom unmarshaler for AzureBlobFSLocation struct.
10808func (abfl *AzureBlobFSLocation) UnmarshalJSON(body []byte) error {
10809	var m map[string]*json.RawMessage
10810	err := json.Unmarshal(body, &m)
10811	if err != nil {
10812		return err
10813	}
10814	for k, v := range m {
10815		switch k {
10816		case "fileSystem":
10817			if v != nil {
10818				var fileSystem interface{}
10819				err = json.Unmarshal(*v, &fileSystem)
10820				if err != nil {
10821					return err
10822				}
10823				abfl.FileSystem = fileSystem
10824			}
10825		default:
10826			if v != nil {
10827				var additionalProperties interface{}
10828				err = json.Unmarshal(*v, &additionalProperties)
10829				if err != nil {
10830					return err
10831				}
10832				if abfl.AdditionalProperties == nil {
10833					abfl.AdditionalProperties = make(map[string]interface{})
10834				}
10835				abfl.AdditionalProperties[k] = additionalProperties
10836			}
10837		case "type":
10838			if v != nil {
10839				var typeVar string
10840				err = json.Unmarshal(*v, &typeVar)
10841				if err != nil {
10842					return err
10843				}
10844				abfl.Type = &typeVar
10845			}
10846		case "folderPath":
10847			if v != nil {
10848				var folderPath interface{}
10849				err = json.Unmarshal(*v, &folderPath)
10850				if err != nil {
10851					return err
10852				}
10853				abfl.FolderPath = folderPath
10854			}
10855		case "fileName":
10856			if v != nil {
10857				var fileName interface{}
10858				err = json.Unmarshal(*v, &fileName)
10859				if err != nil {
10860					return err
10861				}
10862				abfl.FileName = fileName
10863			}
10864		}
10865	}
10866
10867	return nil
10868}
10869
10870// AzureBlobFSReadSettings azure blobFS read settings.
10871type AzureBlobFSReadSettings struct {
10872	// Recursive - If true, files under the folder path will be read recursively. Default is true. Type: boolean (or Expression with resultType boolean).
10873	Recursive interface{} `json:"recursive,omitempty"`
10874	// WildcardFolderPath - Azure blobFS wildcardFolderPath. Type: string (or Expression with resultType string).
10875	WildcardFolderPath interface{} `json:"wildcardFolderPath,omitempty"`
10876	// WildcardFileName - Azure blobFS wildcardFileName. Type: string (or Expression with resultType string).
10877	WildcardFileName interface{} `json:"wildcardFileName,omitempty"`
10878	// EnablePartitionDiscovery - Indicates whether to enable partition discovery.
10879	EnablePartitionDiscovery *bool `json:"enablePartitionDiscovery,omitempty"`
10880	// ModifiedDatetimeStart - The start of file's modified datetime. Type: string (or Expression with resultType string).
10881	ModifiedDatetimeStart interface{} `json:"modifiedDatetimeStart,omitempty"`
10882	// ModifiedDatetimeEnd - The end of file's modified datetime. Type: string (or Expression with resultType string).
10883	ModifiedDatetimeEnd interface{} `json:"modifiedDatetimeEnd,omitempty"`
10884	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
10885	AdditionalProperties map[string]interface{} `json:""`
10886	// Type - The read setting type.
10887	Type *string `json:"type,omitempty"`
10888	// MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer).
10889	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
10890}
10891
10892// MarshalJSON is the custom marshaler for AzureBlobFSReadSettings.
10893func (abfrs AzureBlobFSReadSettings) MarshalJSON() ([]byte, error) {
10894	objectMap := make(map[string]interface{})
10895	if abfrs.Recursive != nil {
10896		objectMap["recursive"] = abfrs.Recursive
10897	}
10898	if abfrs.WildcardFolderPath != nil {
10899		objectMap["wildcardFolderPath"] = abfrs.WildcardFolderPath
10900	}
10901	if abfrs.WildcardFileName != nil {
10902		objectMap["wildcardFileName"] = abfrs.WildcardFileName
10903	}
10904	if abfrs.EnablePartitionDiscovery != nil {
10905		objectMap["enablePartitionDiscovery"] = abfrs.EnablePartitionDiscovery
10906	}
10907	if abfrs.ModifiedDatetimeStart != nil {
10908		objectMap["modifiedDatetimeStart"] = abfrs.ModifiedDatetimeStart
10909	}
10910	if abfrs.ModifiedDatetimeEnd != nil {
10911		objectMap["modifiedDatetimeEnd"] = abfrs.ModifiedDatetimeEnd
10912	}
10913	if abfrs.Type != nil {
10914		objectMap["type"] = abfrs.Type
10915	}
10916	if abfrs.MaxConcurrentConnections != nil {
10917		objectMap["maxConcurrentConnections"] = abfrs.MaxConcurrentConnections
10918	}
10919	for k, v := range abfrs.AdditionalProperties {
10920		objectMap[k] = v
10921	}
10922	return json.Marshal(objectMap)
10923}
10924
10925// UnmarshalJSON is the custom unmarshaler for AzureBlobFSReadSettings struct.
10926func (abfrs *AzureBlobFSReadSettings) UnmarshalJSON(body []byte) error {
10927	var m map[string]*json.RawMessage
10928	err := json.Unmarshal(body, &m)
10929	if err != nil {
10930		return err
10931	}
10932	for k, v := range m {
10933		switch k {
10934		case "recursive":
10935			if v != nil {
10936				var recursive interface{}
10937				err = json.Unmarshal(*v, &recursive)
10938				if err != nil {
10939					return err
10940				}
10941				abfrs.Recursive = recursive
10942			}
10943		case "wildcardFolderPath":
10944			if v != nil {
10945				var wildcardFolderPath interface{}
10946				err = json.Unmarshal(*v, &wildcardFolderPath)
10947				if err != nil {
10948					return err
10949				}
10950				abfrs.WildcardFolderPath = wildcardFolderPath
10951			}
10952		case "wildcardFileName":
10953			if v != nil {
10954				var wildcardFileName interface{}
10955				err = json.Unmarshal(*v, &wildcardFileName)
10956				if err != nil {
10957					return err
10958				}
10959				abfrs.WildcardFileName = wildcardFileName
10960			}
10961		case "enablePartitionDiscovery":
10962			if v != nil {
10963				var enablePartitionDiscovery bool
10964				err = json.Unmarshal(*v, &enablePartitionDiscovery)
10965				if err != nil {
10966					return err
10967				}
10968				abfrs.EnablePartitionDiscovery = &enablePartitionDiscovery
10969			}
10970		case "modifiedDatetimeStart":
10971			if v != nil {
10972				var modifiedDatetimeStart interface{}
10973				err = json.Unmarshal(*v, &modifiedDatetimeStart)
10974				if err != nil {
10975					return err
10976				}
10977				abfrs.ModifiedDatetimeStart = modifiedDatetimeStart
10978			}
10979		case "modifiedDatetimeEnd":
10980			if v != nil {
10981				var modifiedDatetimeEnd interface{}
10982				err = json.Unmarshal(*v, &modifiedDatetimeEnd)
10983				if err != nil {
10984					return err
10985				}
10986				abfrs.ModifiedDatetimeEnd = modifiedDatetimeEnd
10987			}
10988		default:
10989			if v != nil {
10990				var additionalProperties interface{}
10991				err = json.Unmarshal(*v, &additionalProperties)
10992				if err != nil {
10993					return err
10994				}
10995				if abfrs.AdditionalProperties == nil {
10996					abfrs.AdditionalProperties = make(map[string]interface{})
10997				}
10998				abfrs.AdditionalProperties[k] = additionalProperties
10999			}
11000		case "type":
11001			if v != nil {
11002				var typeVar string
11003				err = json.Unmarshal(*v, &typeVar)
11004				if err != nil {
11005					return err
11006				}
11007				abfrs.Type = &typeVar
11008			}
11009		case "maxConcurrentConnections":
11010			if v != nil {
11011				var maxConcurrentConnections interface{}
11012				err = json.Unmarshal(*v, &maxConcurrentConnections)
11013				if err != nil {
11014					return err
11015				}
11016				abfrs.MaxConcurrentConnections = maxConcurrentConnections
11017			}
11018		}
11019	}
11020
11021	return nil
11022}
11023
11024// AzureBlobFSSink a copy activity Azure Data Lake Storage Gen2 sink.
11025type AzureBlobFSSink struct {
11026	// CopyBehavior - The type of copy behavior for copy sink.
11027	CopyBehavior interface{} `json:"copyBehavior,omitempty"`
11028	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
11029	AdditionalProperties map[string]interface{} `json:""`
11030	// WriteBatchSize - Write batch size. Type: integer (or Expression with resultType integer), minimum: 0.
11031	WriteBatchSize interface{} `json:"writeBatchSize,omitempty"`
11032	// 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])).
11033	WriteBatchTimeout interface{} `json:"writeBatchTimeout,omitempty"`
11034	// SinkRetryCount - Sink retry count. Type: integer (or Expression with resultType integer).
11035	SinkRetryCount interface{} `json:"sinkRetryCount,omitempty"`
11036	// 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])).
11037	SinkRetryWait interface{} `json:"sinkRetryWait,omitempty"`
11038	// MaxConcurrentConnections - The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer).
11039	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
11040	// Type - Possible values include: 'TypeCopySink', 'TypeCosmosDbMongoDbAPISink', 'TypeSalesforceServiceCloudSink', 'TypeSalesforceSink', 'TypeAzureDataExplorerSink', 'TypeCommonDataServiceForAppsSink', 'TypeDynamicsCrmSink', 'TypeDynamicsSink', 'TypeMicrosoftAccessSink', 'TypeInformixSink', 'TypeOdbcSink', 'TypeAzureSearchIndexSink', 'TypeAzureBlobFSSink', 'TypeAzureDataLakeStoreSink', 'TypeOracleSink', 'TypeSQLDWSink', 'TypeSQLMISink', 'TypeAzureSQLSink', 'TypeSQLServerSink', 'TypeSQLSink', 'TypeDocumentDbCollectionSink', 'TypeFileSystemSink', 'TypeBlobSink', 'TypeBinarySink', 'TypeParquetSink', 'TypeAzureTableSink', 'TypeAzureQueueSink', 'TypeSapCloudForCustomerSink', 'TypeAzurePostgreSQLSink', 'TypeDelimitedTextSink'
11041	Type TypeBasicCopySink `json:"type,omitempty"`
11042}
11043
11044// MarshalJSON is the custom marshaler for AzureBlobFSSink.
11045func (abfs AzureBlobFSSink) MarshalJSON() ([]byte, error) {
11046	abfs.Type = TypeAzureBlobFSSink
11047	objectMap := make(map[string]interface{})
11048	if abfs.CopyBehavior != nil {
11049		objectMap["copyBehavior"] = abfs.CopyBehavior
11050	}
11051	if abfs.WriteBatchSize != nil {
11052		objectMap["writeBatchSize"] = abfs.WriteBatchSize
11053	}
11054	if abfs.WriteBatchTimeout != nil {
11055		objectMap["writeBatchTimeout"] = abfs.WriteBatchTimeout
11056	}
11057	if abfs.SinkRetryCount != nil {
11058		objectMap["sinkRetryCount"] = abfs.SinkRetryCount
11059	}
11060	if abfs.SinkRetryWait != nil {
11061		objectMap["sinkRetryWait"] = abfs.SinkRetryWait
11062	}
11063	if abfs.MaxConcurrentConnections != nil {
11064		objectMap["maxConcurrentConnections"] = abfs.MaxConcurrentConnections
11065	}
11066	if abfs.Type != "" {
11067		objectMap["type"] = abfs.Type
11068	}
11069	for k, v := range abfs.AdditionalProperties {
11070		objectMap[k] = v
11071	}
11072	return json.Marshal(objectMap)
11073}
11074
11075// AsCosmosDbMongoDbAPISink is the BasicCopySink implementation for AzureBlobFSSink.
11076func (abfs AzureBlobFSSink) AsCosmosDbMongoDbAPISink() (*CosmosDbMongoDbAPISink, bool) {
11077	return nil, false
11078}
11079
11080// AsSalesforceServiceCloudSink is the BasicCopySink implementation for AzureBlobFSSink.
11081func (abfs AzureBlobFSSink) AsSalesforceServiceCloudSink() (*SalesforceServiceCloudSink, bool) {
11082	return nil, false
11083}
11084
11085// AsSalesforceSink is the BasicCopySink implementation for AzureBlobFSSink.
11086func (abfs AzureBlobFSSink) AsSalesforceSink() (*SalesforceSink, bool) {
11087	return nil, false
11088}
11089
11090// AsAzureDataExplorerSink is the BasicCopySink implementation for AzureBlobFSSink.
11091func (abfs AzureBlobFSSink) AsAzureDataExplorerSink() (*AzureDataExplorerSink, bool) {
11092	return nil, false
11093}
11094
11095// AsCommonDataServiceForAppsSink is the BasicCopySink implementation for AzureBlobFSSink.
11096func (abfs AzureBlobFSSink) AsCommonDataServiceForAppsSink() (*CommonDataServiceForAppsSink, bool) {
11097	return nil, false
11098}
11099
11100// AsDynamicsCrmSink is the BasicCopySink implementation for AzureBlobFSSink.
11101func (abfs AzureBlobFSSink) AsDynamicsCrmSink() (*DynamicsCrmSink, bool) {
11102	return nil, false
11103}
11104
11105// AsDynamicsSink is the BasicCopySink implementation for AzureBlobFSSink.
11106func (abfs AzureBlobFSSink) AsDynamicsSink() (*DynamicsSink, bool) {
11107	return nil, false
11108}
11109
11110// AsMicrosoftAccessSink is the BasicCopySink implementation for AzureBlobFSSink.
11111func (abfs AzureBlobFSSink) AsMicrosoftAccessSink() (*MicrosoftAccessSink, bool) {
11112	return nil, false
11113}
11114
11115// AsInformixSink is the BasicCopySink implementation for AzureBlobFSSink.
11116func (abfs AzureBlobFSSink) AsInformixSink() (*InformixSink, bool) {
11117	return nil, false
11118}
11119
11120// AsOdbcSink is the BasicCopySink implementation for AzureBlobFSSink.
11121func (abfs AzureBlobFSSink) AsOdbcSink() (*OdbcSink, bool) {
11122	return nil, false
11123}
11124
11125// AsAzureSearchIndexSink is the BasicCopySink implementation for AzureBlobFSSink.
11126func (abfs AzureBlobFSSink) AsAzureSearchIndexSink() (*AzureSearchIndexSink, bool) {
11127	return nil, false
11128}
11129
11130// AsAzureBlobFSSink is the BasicCopySink implementation for AzureBlobFSSink.
11131func (abfs AzureBlobFSSink) AsAzureBlobFSSink() (*AzureBlobFSSink, bool) {
11132	return &abfs, true
11133}
11134
11135// AsAzureDataLakeStoreSink is the BasicCopySink implementation for AzureBlobFSSink.
11136func (abfs AzureBlobFSSink) AsAzureDataLakeStoreSink() (*AzureDataLakeStoreSink, bool) {
11137	return nil, false
11138}
11139
11140// AsOracleSink is the BasicCopySink implementation for AzureBlobFSSink.
11141func (abfs AzureBlobFSSink) AsOracleSink() (*OracleSink, bool) {
11142	return nil, false
11143}
11144
11145// AsSQLDWSink is the BasicCopySink implementation for AzureBlobFSSink.
11146func (abfs AzureBlobFSSink) AsSQLDWSink() (*SQLDWSink, bool) {
11147	return nil, false
11148}
11149
11150// AsSQLMISink is the BasicCopySink implementation for AzureBlobFSSink.
11151func (abfs AzureBlobFSSink) AsSQLMISink() (*SQLMISink, bool) {
11152	return nil, false
11153}
11154
11155// AsAzureSQLSink is the BasicCopySink implementation for AzureBlobFSSink.
11156func (abfs AzureBlobFSSink) AsAzureSQLSink() (*AzureSQLSink, bool) {
11157	return nil, false
11158}
11159
11160// AsSQLServerSink is the BasicCopySink implementation for AzureBlobFSSink.
11161func (abfs AzureBlobFSSink) AsSQLServerSink() (*SQLServerSink, bool) {
11162	return nil, false
11163}
11164
11165// AsSQLSink is the BasicCopySink implementation for AzureBlobFSSink.
11166func (abfs AzureBlobFSSink) AsSQLSink() (*SQLSink, bool) {
11167	return nil, false
11168}
11169
11170// AsDocumentDbCollectionSink is the BasicCopySink implementation for AzureBlobFSSink.
11171func (abfs AzureBlobFSSink) AsDocumentDbCollectionSink() (*DocumentDbCollectionSink, bool) {
11172	return nil, false
11173}
11174
11175// AsFileSystemSink is the BasicCopySink implementation for AzureBlobFSSink.
11176func (abfs AzureBlobFSSink) AsFileSystemSink() (*FileSystemSink, bool) {
11177	return nil, false
11178}
11179
11180// AsBlobSink is the BasicCopySink implementation for AzureBlobFSSink.
11181func (abfs AzureBlobFSSink) AsBlobSink() (*BlobSink, bool) {
11182	return nil, false
11183}
11184
11185// AsBinarySink is the BasicCopySink implementation for AzureBlobFSSink.
11186func (abfs AzureBlobFSSink) AsBinarySink() (*BinarySink, bool) {
11187	return nil, false
11188}
11189
11190// AsParquetSink is the BasicCopySink implementation for AzureBlobFSSink.
11191func (abfs AzureBlobFSSink) AsParquetSink() (*ParquetSink, bool) {
11192	return nil, false
11193}
11194
11195// AsAzureTableSink is the BasicCopySink implementation for AzureBlobFSSink.
11196func (abfs AzureBlobFSSink) AsAzureTableSink() (*AzureTableSink, bool) {
11197	return nil, false
11198}
11199
11200// AsAzureQueueSink is the BasicCopySink implementation for AzureBlobFSSink.
11201func (abfs AzureBlobFSSink) AsAzureQueueSink() (*AzureQueueSink, bool) {
11202	return nil, false
11203}
11204
11205// AsSapCloudForCustomerSink is the BasicCopySink implementation for AzureBlobFSSink.
11206func (abfs AzureBlobFSSink) AsSapCloudForCustomerSink() (*SapCloudForCustomerSink, bool) {
11207	return nil, false
11208}
11209
11210// AsAzurePostgreSQLSink is the BasicCopySink implementation for AzureBlobFSSink.
11211func (abfs AzureBlobFSSink) AsAzurePostgreSQLSink() (*AzurePostgreSQLSink, bool) {
11212	return nil, false
11213}
11214
11215// AsDelimitedTextSink is the BasicCopySink implementation for AzureBlobFSSink.
11216func (abfs AzureBlobFSSink) AsDelimitedTextSink() (*DelimitedTextSink, bool) {
11217	return nil, false
11218}
11219
11220// AsCopySink is the BasicCopySink implementation for AzureBlobFSSink.
11221func (abfs AzureBlobFSSink) AsCopySink() (*CopySink, bool) {
11222	return nil, false
11223}
11224
11225// AsBasicCopySink is the BasicCopySink implementation for AzureBlobFSSink.
11226func (abfs AzureBlobFSSink) AsBasicCopySink() (BasicCopySink, bool) {
11227	return &abfs, true
11228}
11229
11230// UnmarshalJSON is the custom unmarshaler for AzureBlobFSSink struct.
11231func (abfs *AzureBlobFSSink) UnmarshalJSON(body []byte) error {
11232	var m map[string]*json.RawMessage
11233	err := json.Unmarshal(body, &m)
11234	if err != nil {
11235		return err
11236	}
11237	for k, v := range m {
11238		switch k {
11239		case "copyBehavior":
11240			if v != nil {
11241				var copyBehavior interface{}
11242				err = json.Unmarshal(*v, &copyBehavior)
11243				if err != nil {
11244					return err
11245				}
11246				abfs.CopyBehavior = copyBehavior
11247			}
11248		default:
11249			if v != nil {
11250				var additionalProperties interface{}
11251				err = json.Unmarshal(*v, &additionalProperties)
11252				if err != nil {
11253					return err
11254				}
11255				if abfs.AdditionalProperties == nil {
11256					abfs.AdditionalProperties = make(map[string]interface{})
11257				}
11258				abfs.AdditionalProperties[k] = additionalProperties
11259			}
11260		case "writeBatchSize":
11261			if v != nil {
11262				var writeBatchSize interface{}
11263				err = json.Unmarshal(*v, &writeBatchSize)
11264				if err != nil {
11265					return err
11266				}
11267				abfs.WriteBatchSize = writeBatchSize
11268			}
11269		case "writeBatchTimeout":
11270			if v != nil {
11271				var writeBatchTimeout interface{}
11272				err = json.Unmarshal(*v, &writeBatchTimeout)
11273				if err != nil {
11274					return err
11275				}
11276				abfs.WriteBatchTimeout = writeBatchTimeout
11277			}
11278		case "sinkRetryCount":
11279			if v != nil {
11280				var sinkRetryCount interface{}
11281				err = json.Unmarshal(*v, &sinkRetryCount)
11282				if err != nil {
11283					return err
11284				}
11285				abfs.SinkRetryCount = sinkRetryCount
11286			}
11287		case "sinkRetryWait":
11288			if v != nil {
11289				var sinkRetryWait interface{}
11290				err = json.Unmarshal(*v, &sinkRetryWait)
11291				if err != nil {
11292					return err
11293				}
11294				abfs.SinkRetryWait = sinkRetryWait
11295			}
11296		case "maxConcurrentConnections":
11297			if v != nil {
11298				var maxConcurrentConnections interface{}
11299				err = json.Unmarshal(*v, &maxConcurrentConnections)
11300				if err != nil {
11301					return err
11302				}
11303				abfs.MaxConcurrentConnections = maxConcurrentConnections
11304			}
11305		case "type":
11306			if v != nil {
11307				var typeVar TypeBasicCopySink
11308				err = json.Unmarshal(*v, &typeVar)
11309				if err != nil {
11310					return err
11311				}
11312				abfs.Type = typeVar
11313			}
11314		}
11315	}
11316
11317	return nil
11318}
11319
11320// AzureBlobFSSource a copy activity Azure BlobFS source.
11321type AzureBlobFSSource struct {
11322	// TreatEmptyAsNull - Treat empty as null. Type: boolean (or Expression with resultType boolean).
11323	TreatEmptyAsNull interface{} `json:"treatEmptyAsNull,omitempty"`
11324	// SkipHeaderLineCount - Number of header lines to skip from each blob. Type: integer (or Expression with resultType integer).
11325	SkipHeaderLineCount interface{} `json:"skipHeaderLineCount,omitempty"`
11326	// Recursive - If true, files under the folder path will be read recursively. Default is true. Type: boolean (or Expression with resultType boolean).
11327	Recursive interface{} `json:"recursive,omitempty"`
11328	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
11329	AdditionalProperties map[string]interface{} `json:""`
11330	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
11331	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
11332	// 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])).
11333	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
11334	// MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer).
11335	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
11336	// Type - Possible values include: 'TypeCopySource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', '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', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeCassandraSource', 'TypeWebSource', 'TypeTeradataSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeAzureMySQLSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeRestSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceServiceCloudSource', 'TypeSalesforceSource', 'TypeODataSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeMicrosoftAccessSource', 'TypeInformixSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAzureTableSource', 'TypeBinarySource', 'TypeDelimitedTextSource', 'TypeParquetSource'
11337	Type TypeBasicCopySource `json:"type,omitempty"`
11338}
11339
11340// MarshalJSON is the custom marshaler for AzureBlobFSSource.
11341func (abfs AzureBlobFSSource) MarshalJSON() ([]byte, error) {
11342	abfs.Type = TypeAzureBlobFSSource
11343	objectMap := make(map[string]interface{})
11344	if abfs.TreatEmptyAsNull != nil {
11345		objectMap["treatEmptyAsNull"] = abfs.TreatEmptyAsNull
11346	}
11347	if abfs.SkipHeaderLineCount != nil {
11348		objectMap["skipHeaderLineCount"] = abfs.SkipHeaderLineCount
11349	}
11350	if abfs.Recursive != nil {
11351		objectMap["recursive"] = abfs.Recursive
11352	}
11353	if abfs.SourceRetryCount != nil {
11354		objectMap["sourceRetryCount"] = abfs.SourceRetryCount
11355	}
11356	if abfs.SourceRetryWait != nil {
11357		objectMap["sourceRetryWait"] = abfs.SourceRetryWait
11358	}
11359	if abfs.MaxConcurrentConnections != nil {
11360		objectMap["maxConcurrentConnections"] = abfs.MaxConcurrentConnections
11361	}
11362	if abfs.Type != "" {
11363		objectMap["type"] = abfs.Type
11364	}
11365	for k, v := range abfs.AdditionalProperties {
11366		objectMap[k] = v
11367	}
11368	return json.Marshal(objectMap)
11369}
11370
11371// AsAmazonRedshiftSource is the BasicCopySource implementation for AzureBlobFSSource.
11372func (abfs AzureBlobFSSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
11373	return nil, false
11374}
11375
11376// AsGoogleAdWordsSource is the BasicCopySource implementation for AzureBlobFSSource.
11377func (abfs AzureBlobFSSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) {
11378	return nil, false
11379}
11380
11381// AsOracleServiceCloudSource is the BasicCopySource implementation for AzureBlobFSSource.
11382func (abfs AzureBlobFSSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) {
11383	return nil, false
11384}
11385
11386// AsDynamicsAXSource is the BasicCopySource implementation for AzureBlobFSSource.
11387func (abfs AzureBlobFSSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) {
11388	return nil, false
11389}
11390
11391// AsResponsysSource is the BasicCopySource implementation for AzureBlobFSSource.
11392func (abfs AzureBlobFSSource) AsResponsysSource() (*ResponsysSource, bool) {
11393	return nil, false
11394}
11395
11396// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for AzureBlobFSSource.
11397func (abfs AzureBlobFSSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
11398	return nil, false
11399}
11400
11401// AsVerticaSource is the BasicCopySource implementation for AzureBlobFSSource.
11402func (abfs AzureBlobFSSource) AsVerticaSource() (*VerticaSource, bool) {
11403	return nil, false
11404}
11405
11406// AsNetezzaSource is the BasicCopySource implementation for AzureBlobFSSource.
11407func (abfs AzureBlobFSSource) AsNetezzaSource() (*NetezzaSource, bool) {
11408	return nil, false
11409}
11410
11411// AsZohoSource is the BasicCopySource implementation for AzureBlobFSSource.
11412func (abfs AzureBlobFSSource) AsZohoSource() (*ZohoSource, bool) {
11413	return nil, false
11414}
11415
11416// AsXeroSource is the BasicCopySource implementation for AzureBlobFSSource.
11417func (abfs AzureBlobFSSource) AsXeroSource() (*XeroSource, bool) {
11418	return nil, false
11419}
11420
11421// AsSquareSource is the BasicCopySource implementation for AzureBlobFSSource.
11422func (abfs AzureBlobFSSource) AsSquareSource() (*SquareSource, bool) {
11423	return nil, false
11424}
11425
11426// AsSparkSource is the BasicCopySource implementation for AzureBlobFSSource.
11427func (abfs AzureBlobFSSource) AsSparkSource() (*SparkSource, bool) {
11428	return nil, false
11429}
11430
11431// AsShopifySource is the BasicCopySource implementation for AzureBlobFSSource.
11432func (abfs AzureBlobFSSource) AsShopifySource() (*ShopifySource, bool) {
11433	return nil, false
11434}
11435
11436// AsServiceNowSource is the BasicCopySource implementation for AzureBlobFSSource.
11437func (abfs AzureBlobFSSource) AsServiceNowSource() (*ServiceNowSource, bool) {
11438	return nil, false
11439}
11440
11441// AsQuickBooksSource is the BasicCopySource implementation for AzureBlobFSSource.
11442func (abfs AzureBlobFSSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
11443	return nil, false
11444}
11445
11446// AsPrestoSource is the BasicCopySource implementation for AzureBlobFSSource.
11447func (abfs AzureBlobFSSource) AsPrestoSource() (*PrestoSource, bool) {
11448	return nil, false
11449}
11450
11451// AsPhoenixSource is the BasicCopySource implementation for AzureBlobFSSource.
11452func (abfs AzureBlobFSSource) AsPhoenixSource() (*PhoenixSource, bool) {
11453	return nil, false
11454}
11455
11456// AsPaypalSource is the BasicCopySource implementation for AzureBlobFSSource.
11457func (abfs AzureBlobFSSource) AsPaypalSource() (*PaypalSource, bool) {
11458	return nil, false
11459}
11460
11461// AsMarketoSource is the BasicCopySource implementation for AzureBlobFSSource.
11462func (abfs AzureBlobFSSource) AsMarketoSource() (*MarketoSource, bool) {
11463	return nil, false
11464}
11465
11466// AsMariaDBSource is the BasicCopySource implementation for AzureBlobFSSource.
11467func (abfs AzureBlobFSSource) AsMariaDBSource() (*MariaDBSource, bool) {
11468	return nil, false
11469}
11470
11471// AsMagentoSource is the BasicCopySource implementation for AzureBlobFSSource.
11472func (abfs AzureBlobFSSource) AsMagentoSource() (*MagentoSource, bool) {
11473	return nil, false
11474}
11475
11476// AsJiraSource is the BasicCopySource implementation for AzureBlobFSSource.
11477func (abfs AzureBlobFSSource) AsJiraSource() (*JiraSource, bool) {
11478	return nil, false
11479}
11480
11481// AsImpalaSource is the BasicCopySource implementation for AzureBlobFSSource.
11482func (abfs AzureBlobFSSource) AsImpalaSource() (*ImpalaSource, bool) {
11483	return nil, false
11484}
11485
11486// AsHubspotSource is the BasicCopySource implementation for AzureBlobFSSource.
11487func (abfs AzureBlobFSSource) AsHubspotSource() (*HubspotSource, bool) {
11488	return nil, false
11489}
11490
11491// AsHiveSource is the BasicCopySource implementation for AzureBlobFSSource.
11492func (abfs AzureBlobFSSource) AsHiveSource() (*HiveSource, bool) {
11493	return nil, false
11494}
11495
11496// AsHBaseSource is the BasicCopySource implementation for AzureBlobFSSource.
11497func (abfs AzureBlobFSSource) AsHBaseSource() (*HBaseSource, bool) {
11498	return nil, false
11499}
11500
11501// AsGreenplumSource is the BasicCopySource implementation for AzureBlobFSSource.
11502func (abfs AzureBlobFSSource) AsGreenplumSource() (*GreenplumSource, bool) {
11503	return nil, false
11504}
11505
11506// AsGoogleBigQuerySource is the BasicCopySource implementation for AzureBlobFSSource.
11507func (abfs AzureBlobFSSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
11508	return nil, false
11509}
11510
11511// AsEloquaSource is the BasicCopySource implementation for AzureBlobFSSource.
11512func (abfs AzureBlobFSSource) AsEloquaSource() (*EloquaSource, bool) {
11513	return nil, false
11514}
11515
11516// AsDrillSource is the BasicCopySource implementation for AzureBlobFSSource.
11517func (abfs AzureBlobFSSource) AsDrillSource() (*DrillSource, bool) {
11518	return nil, false
11519}
11520
11521// AsCouchbaseSource is the BasicCopySource implementation for AzureBlobFSSource.
11522func (abfs AzureBlobFSSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
11523	return nil, false
11524}
11525
11526// AsConcurSource is the BasicCopySource implementation for AzureBlobFSSource.
11527func (abfs AzureBlobFSSource) AsConcurSource() (*ConcurSource, bool) {
11528	return nil, false
11529}
11530
11531// AsAzurePostgreSQLSource is the BasicCopySource implementation for AzureBlobFSSource.
11532func (abfs AzureBlobFSSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
11533	return nil, false
11534}
11535
11536// AsAmazonMWSSource is the BasicCopySource implementation for AzureBlobFSSource.
11537func (abfs AzureBlobFSSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
11538	return nil, false
11539}
11540
11541// AsHTTPSource is the BasicCopySource implementation for AzureBlobFSSource.
11542func (abfs AzureBlobFSSource) AsHTTPSource() (*HTTPSource, bool) {
11543	return nil, false
11544}
11545
11546// AsAzureBlobFSSource is the BasicCopySource implementation for AzureBlobFSSource.
11547func (abfs AzureBlobFSSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) {
11548	return &abfs, true
11549}
11550
11551// AsAzureDataLakeStoreSource is the BasicCopySource implementation for AzureBlobFSSource.
11552func (abfs AzureBlobFSSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
11553	return nil, false
11554}
11555
11556// AsOffice365Source is the BasicCopySource implementation for AzureBlobFSSource.
11557func (abfs AzureBlobFSSource) AsOffice365Source() (*Office365Source, bool) {
11558	return nil, false
11559}
11560
11561// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for AzureBlobFSSource.
11562func (abfs AzureBlobFSSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) {
11563	return nil, false
11564}
11565
11566// AsMongoDbV2Source is the BasicCopySource implementation for AzureBlobFSSource.
11567func (abfs AzureBlobFSSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) {
11568	return nil, false
11569}
11570
11571// AsMongoDbSource is the BasicCopySource implementation for AzureBlobFSSource.
11572func (abfs AzureBlobFSSource) AsMongoDbSource() (*MongoDbSource, bool) {
11573	return nil, false
11574}
11575
11576// AsCassandraSource is the BasicCopySource implementation for AzureBlobFSSource.
11577func (abfs AzureBlobFSSource) AsCassandraSource() (*CassandraSource, bool) {
11578	return nil, false
11579}
11580
11581// AsWebSource is the BasicCopySource implementation for AzureBlobFSSource.
11582func (abfs AzureBlobFSSource) AsWebSource() (*WebSource, bool) {
11583	return nil, false
11584}
11585
11586// AsTeradataSource is the BasicCopySource implementation for AzureBlobFSSource.
11587func (abfs AzureBlobFSSource) AsTeradataSource() (*TeradataSource, bool) {
11588	return nil, false
11589}
11590
11591// AsOracleSource is the BasicCopySource implementation for AzureBlobFSSource.
11592func (abfs AzureBlobFSSource) AsOracleSource() (*OracleSource, bool) {
11593	return nil, false
11594}
11595
11596// AsAzureDataExplorerSource is the BasicCopySource implementation for AzureBlobFSSource.
11597func (abfs AzureBlobFSSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) {
11598	return nil, false
11599}
11600
11601// AsAzureMySQLSource is the BasicCopySource implementation for AzureBlobFSSource.
11602func (abfs AzureBlobFSSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
11603	return nil, false
11604}
11605
11606// AsHdfsSource is the BasicCopySource implementation for AzureBlobFSSource.
11607func (abfs AzureBlobFSSource) AsHdfsSource() (*HdfsSource, bool) {
11608	return nil, false
11609}
11610
11611// AsFileSystemSource is the BasicCopySource implementation for AzureBlobFSSource.
11612func (abfs AzureBlobFSSource) AsFileSystemSource() (*FileSystemSource, bool) {
11613	return nil, false
11614}
11615
11616// AsSQLDWSource is the BasicCopySource implementation for AzureBlobFSSource.
11617func (abfs AzureBlobFSSource) AsSQLDWSource() (*SQLDWSource, bool) {
11618	return nil, false
11619}
11620
11621// AsSQLMISource is the BasicCopySource implementation for AzureBlobFSSource.
11622func (abfs AzureBlobFSSource) AsSQLMISource() (*SQLMISource, bool) {
11623	return nil, false
11624}
11625
11626// AsAzureSQLSource is the BasicCopySource implementation for AzureBlobFSSource.
11627func (abfs AzureBlobFSSource) AsAzureSQLSource() (*AzureSQLSource, bool) {
11628	return nil, false
11629}
11630
11631// AsSQLServerSource is the BasicCopySource implementation for AzureBlobFSSource.
11632func (abfs AzureBlobFSSource) AsSQLServerSource() (*SQLServerSource, bool) {
11633	return nil, false
11634}
11635
11636// AsSQLSource is the BasicCopySource implementation for AzureBlobFSSource.
11637func (abfs AzureBlobFSSource) AsSQLSource() (*SQLSource, bool) {
11638	return nil, false
11639}
11640
11641// AsRestSource is the BasicCopySource implementation for AzureBlobFSSource.
11642func (abfs AzureBlobFSSource) AsRestSource() (*RestSource, bool) {
11643	return nil, false
11644}
11645
11646// AsSapTableSource is the BasicCopySource implementation for AzureBlobFSSource.
11647func (abfs AzureBlobFSSource) AsSapTableSource() (*SapTableSource, bool) {
11648	return nil, false
11649}
11650
11651// AsSapOpenHubSource is the BasicCopySource implementation for AzureBlobFSSource.
11652func (abfs AzureBlobFSSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) {
11653	return nil, false
11654}
11655
11656// AsSapHanaSource is the BasicCopySource implementation for AzureBlobFSSource.
11657func (abfs AzureBlobFSSource) AsSapHanaSource() (*SapHanaSource, bool) {
11658	return nil, false
11659}
11660
11661// AsSapEccSource is the BasicCopySource implementation for AzureBlobFSSource.
11662func (abfs AzureBlobFSSource) AsSapEccSource() (*SapEccSource, bool) {
11663	return nil, false
11664}
11665
11666// AsSapCloudForCustomerSource is the BasicCopySource implementation for AzureBlobFSSource.
11667func (abfs AzureBlobFSSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
11668	return nil, false
11669}
11670
11671// AsSalesforceServiceCloudSource is the BasicCopySource implementation for AzureBlobFSSource.
11672func (abfs AzureBlobFSSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) {
11673	return nil, false
11674}
11675
11676// AsSalesforceSource is the BasicCopySource implementation for AzureBlobFSSource.
11677func (abfs AzureBlobFSSource) AsSalesforceSource() (*SalesforceSource, bool) {
11678	return nil, false
11679}
11680
11681// AsODataSource is the BasicCopySource implementation for AzureBlobFSSource.
11682func (abfs AzureBlobFSSource) AsODataSource() (*ODataSource, bool) {
11683	return nil, false
11684}
11685
11686// AsSybaseSource is the BasicCopySource implementation for AzureBlobFSSource.
11687func (abfs AzureBlobFSSource) AsSybaseSource() (*SybaseSource, bool) {
11688	return nil, false
11689}
11690
11691// AsPostgreSQLSource is the BasicCopySource implementation for AzureBlobFSSource.
11692func (abfs AzureBlobFSSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) {
11693	return nil, false
11694}
11695
11696// AsMySQLSource is the BasicCopySource implementation for AzureBlobFSSource.
11697func (abfs AzureBlobFSSource) AsMySQLSource() (*MySQLSource, bool) {
11698	return nil, false
11699}
11700
11701// AsOdbcSource is the BasicCopySource implementation for AzureBlobFSSource.
11702func (abfs AzureBlobFSSource) AsOdbcSource() (*OdbcSource, bool) {
11703	return nil, false
11704}
11705
11706// AsDb2Source is the BasicCopySource implementation for AzureBlobFSSource.
11707func (abfs AzureBlobFSSource) AsDb2Source() (*Db2Source, bool) {
11708	return nil, false
11709}
11710
11711// AsMicrosoftAccessSource is the BasicCopySource implementation for AzureBlobFSSource.
11712func (abfs AzureBlobFSSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) {
11713	return nil, false
11714}
11715
11716// AsInformixSource is the BasicCopySource implementation for AzureBlobFSSource.
11717func (abfs AzureBlobFSSource) AsInformixSource() (*InformixSource, bool) {
11718	return nil, false
11719}
11720
11721// AsRelationalSource is the BasicCopySource implementation for AzureBlobFSSource.
11722func (abfs AzureBlobFSSource) AsRelationalSource() (*RelationalSource, bool) {
11723	return nil, false
11724}
11725
11726// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for AzureBlobFSSource.
11727func (abfs AzureBlobFSSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) {
11728	return nil, false
11729}
11730
11731// AsDynamicsCrmSource is the BasicCopySource implementation for AzureBlobFSSource.
11732func (abfs AzureBlobFSSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) {
11733	return nil, false
11734}
11735
11736// AsDynamicsSource is the BasicCopySource implementation for AzureBlobFSSource.
11737func (abfs AzureBlobFSSource) AsDynamicsSource() (*DynamicsSource, bool) {
11738	return nil, false
11739}
11740
11741// AsDocumentDbCollectionSource is the BasicCopySource implementation for AzureBlobFSSource.
11742func (abfs AzureBlobFSSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
11743	return nil, false
11744}
11745
11746// AsBlobSource is the BasicCopySource implementation for AzureBlobFSSource.
11747func (abfs AzureBlobFSSource) AsBlobSource() (*BlobSource, bool) {
11748	return nil, false
11749}
11750
11751// AsAzureTableSource is the BasicCopySource implementation for AzureBlobFSSource.
11752func (abfs AzureBlobFSSource) AsAzureTableSource() (*AzureTableSource, bool) {
11753	return nil, false
11754}
11755
11756// AsBinarySource is the BasicCopySource implementation for AzureBlobFSSource.
11757func (abfs AzureBlobFSSource) AsBinarySource() (*BinarySource, bool) {
11758	return nil, false
11759}
11760
11761// AsDelimitedTextSource is the BasicCopySource implementation for AzureBlobFSSource.
11762func (abfs AzureBlobFSSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) {
11763	return nil, false
11764}
11765
11766// AsParquetSource is the BasicCopySource implementation for AzureBlobFSSource.
11767func (abfs AzureBlobFSSource) AsParquetSource() (*ParquetSource, bool) {
11768	return nil, false
11769}
11770
11771// AsCopySource is the BasicCopySource implementation for AzureBlobFSSource.
11772func (abfs AzureBlobFSSource) AsCopySource() (*CopySource, bool) {
11773	return nil, false
11774}
11775
11776// AsBasicCopySource is the BasicCopySource implementation for AzureBlobFSSource.
11777func (abfs AzureBlobFSSource) AsBasicCopySource() (BasicCopySource, bool) {
11778	return &abfs, true
11779}
11780
11781// UnmarshalJSON is the custom unmarshaler for AzureBlobFSSource struct.
11782func (abfs *AzureBlobFSSource) UnmarshalJSON(body []byte) error {
11783	var m map[string]*json.RawMessage
11784	err := json.Unmarshal(body, &m)
11785	if err != nil {
11786		return err
11787	}
11788	for k, v := range m {
11789		switch k {
11790		case "treatEmptyAsNull":
11791			if v != nil {
11792				var treatEmptyAsNull interface{}
11793				err = json.Unmarshal(*v, &treatEmptyAsNull)
11794				if err != nil {
11795					return err
11796				}
11797				abfs.TreatEmptyAsNull = treatEmptyAsNull
11798			}
11799		case "skipHeaderLineCount":
11800			if v != nil {
11801				var skipHeaderLineCount interface{}
11802				err = json.Unmarshal(*v, &skipHeaderLineCount)
11803				if err != nil {
11804					return err
11805				}
11806				abfs.SkipHeaderLineCount = skipHeaderLineCount
11807			}
11808		case "recursive":
11809			if v != nil {
11810				var recursive interface{}
11811				err = json.Unmarshal(*v, &recursive)
11812				if err != nil {
11813					return err
11814				}
11815				abfs.Recursive = recursive
11816			}
11817		default:
11818			if v != nil {
11819				var additionalProperties interface{}
11820				err = json.Unmarshal(*v, &additionalProperties)
11821				if err != nil {
11822					return err
11823				}
11824				if abfs.AdditionalProperties == nil {
11825					abfs.AdditionalProperties = make(map[string]interface{})
11826				}
11827				abfs.AdditionalProperties[k] = additionalProperties
11828			}
11829		case "sourceRetryCount":
11830			if v != nil {
11831				var sourceRetryCount interface{}
11832				err = json.Unmarshal(*v, &sourceRetryCount)
11833				if err != nil {
11834					return err
11835				}
11836				abfs.SourceRetryCount = sourceRetryCount
11837			}
11838		case "sourceRetryWait":
11839			if v != nil {
11840				var sourceRetryWait interface{}
11841				err = json.Unmarshal(*v, &sourceRetryWait)
11842				if err != nil {
11843					return err
11844				}
11845				abfs.SourceRetryWait = sourceRetryWait
11846			}
11847		case "maxConcurrentConnections":
11848			if v != nil {
11849				var maxConcurrentConnections interface{}
11850				err = json.Unmarshal(*v, &maxConcurrentConnections)
11851				if err != nil {
11852					return err
11853				}
11854				abfs.MaxConcurrentConnections = maxConcurrentConnections
11855			}
11856		case "type":
11857			if v != nil {
11858				var typeVar TypeBasicCopySource
11859				err = json.Unmarshal(*v, &typeVar)
11860				if err != nil {
11861					return err
11862				}
11863				abfs.Type = typeVar
11864			}
11865		}
11866	}
11867
11868	return nil
11869}
11870
11871// AzureBlobFSWriteSettings azure blobFS write settings.
11872type AzureBlobFSWriteSettings struct {
11873	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
11874	AdditionalProperties map[string]interface{} `json:""`
11875	// Type - The write setting type.
11876	Type *string `json:"type,omitempty"`
11877	// MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer).
11878	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
11879	// CopyBehavior - The type of copy behavior for copy sink.
11880	CopyBehavior interface{} `json:"copyBehavior,omitempty"`
11881}
11882
11883// MarshalJSON is the custom marshaler for AzureBlobFSWriteSettings.
11884func (abfws AzureBlobFSWriteSettings) MarshalJSON() ([]byte, error) {
11885	objectMap := make(map[string]interface{})
11886	if abfws.Type != nil {
11887		objectMap["type"] = abfws.Type
11888	}
11889	if abfws.MaxConcurrentConnections != nil {
11890		objectMap["maxConcurrentConnections"] = abfws.MaxConcurrentConnections
11891	}
11892	if abfws.CopyBehavior != nil {
11893		objectMap["copyBehavior"] = abfws.CopyBehavior
11894	}
11895	for k, v := range abfws.AdditionalProperties {
11896		objectMap[k] = v
11897	}
11898	return json.Marshal(objectMap)
11899}
11900
11901// UnmarshalJSON is the custom unmarshaler for AzureBlobFSWriteSettings struct.
11902func (abfws *AzureBlobFSWriteSettings) UnmarshalJSON(body []byte) error {
11903	var m map[string]*json.RawMessage
11904	err := json.Unmarshal(body, &m)
11905	if err != nil {
11906		return err
11907	}
11908	for k, v := range m {
11909		switch k {
11910		default:
11911			if v != nil {
11912				var additionalProperties interface{}
11913				err = json.Unmarshal(*v, &additionalProperties)
11914				if err != nil {
11915					return err
11916				}
11917				if abfws.AdditionalProperties == nil {
11918					abfws.AdditionalProperties = make(map[string]interface{})
11919				}
11920				abfws.AdditionalProperties[k] = additionalProperties
11921			}
11922		case "type":
11923			if v != nil {
11924				var typeVar string
11925				err = json.Unmarshal(*v, &typeVar)
11926				if err != nil {
11927					return err
11928				}
11929				abfws.Type = &typeVar
11930			}
11931		case "maxConcurrentConnections":
11932			if v != nil {
11933				var maxConcurrentConnections interface{}
11934				err = json.Unmarshal(*v, &maxConcurrentConnections)
11935				if err != nil {
11936					return err
11937				}
11938				abfws.MaxConcurrentConnections = maxConcurrentConnections
11939			}
11940		case "copyBehavior":
11941			if v != nil {
11942				var copyBehavior interface{}
11943				err = json.Unmarshal(*v, &copyBehavior)
11944				if err != nil {
11945					return err
11946				}
11947				abfws.CopyBehavior = copyBehavior
11948			}
11949		}
11950	}
11951
11952	return nil
11953}
11954
11955// AzureBlobStorageLinkedService the azure blob storage linked service.
11956type AzureBlobStorageLinkedService struct {
11957	// AzureBlobStorageLinkedServiceTypeProperties - Azure Blob Storage linked service properties.
11958	*AzureBlobStorageLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
11959	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
11960	AdditionalProperties map[string]interface{} `json:""`
11961	// ConnectVia - The integration runtime reference.
11962	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
11963	// Description - Linked service description.
11964	Description *string `json:"description,omitempty"`
11965	// Parameters - Parameters for linked service.
11966	Parameters map[string]*ParameterSpecification `json:"parameters"`
11967	// Annotations - List of tags that can be used for describing the linked service.
11968	Annotations *[]interface{} `json:"annotations,omitempty"`
11969	// Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', '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', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage'
11970	Type TypeBasicLinkedService `json:"type,omitempty"`
11971}
11972
11973// MarshalJSON is the custom marshaler for AzureBlobStorageLinkedService.
11974func (absls AzureBlobStorageLinkedService) MarshalJSON() ([]byte, error) {
11975	absls.Type = TypeAzureBlobStorage
11976	objectMap := make(map[string]interface{})
11977	if absls.AzureBlobStorageLinkedServiceTypeProperties != nil {
11978		objectMap["typeProperties"] = absls.AzureBlobStorageLinkedServiceTypeProperties
11979	}
11980	if absls.ConnectVia != nil {
11981		objectMap["connectVia"] = absls.ConnectVia
11982	}
11983	if absls.Description != nil {
11984		objectMap["description"] = absls.Description
11985	}
11986	if absls.Parameters != nil {
11987		objectMap["parameters"] = absls.Parameters
11988	}
11989	if absls.Annotations != nil {
11990		objectMap["annotations"] = absls.Annotations
11991	}
11992	if absls.Type != "" {
11993		objectMap["type"] = absls.Type
11994	}
11995	for k, v := range absls.AdditionalProperties {
11996		objectMap[k] = v
11997	}
11998	return json.Marshal(objectMap)
11999}
12000
12001// AsAzureFunctionLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService.
12002func (absls AzureBlobStorageLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) {
12003	return nil, false
12004}
12005
12006// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService.
12007func (absls AzureBlobStorageLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) {
12008	return nil, false
12009}
12010
12011// AsSapTableLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService.
12012func (absls AzureBlobStorageLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) {
12013	return nil, false
12014}
12015
12016// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService.
12017func (absls AzureBlobStorageLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) {
12018	return nil, false
12019}
12020
12021// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService.
12022func (absls AzureBlobStorageLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) {
12023	return nil, false
12024}
12025
12026// AsDynamicsAXLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService.
12027func (absls AzureBlobStorageLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) {
12028	return nil, false
12029}
12030
12031// AsResponsysLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService.
12032func (absls AzureBlobStorageLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
12033	return nil, false
12034}
12035
12036// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService.
12037func (absls AzureBlobStorageLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
12038	return nil, false
12039}
12040
12041// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService.
12042func (absls AzureBlobStorageLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
12043	return nil, false
12044}
12045
12046// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService.
12047func (absls AzureBlobStorageLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
12048	return nil, false
12049}
12050
12051// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService.
12052func (absls AzureBlobStorageLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
12053	return nil, false
12054}
12055
12056// AsNetezzaLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService.
12057func (absls AzureBlobStorageLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
12058	return nil, false
12059}
12060
12061// AsVerticaLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService.
12062func (absls AzureBlobStorageLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
12063	return nil, false
12064}
12065
12066// AsZohoLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService.
12067func (absls AzureBlobStorageLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
12068	return nil, false
12069}
12070
12071// AsXeroLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService.
12072func (absls AzureBlobStorageLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
12073	return nil, false
12074}
12075
12076// AsSquareLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService.
12077func (absls AzureBlobStorageLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
12078	return nil, false
12079}
12080
12081// AsSparkLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService.
12082func (absls AzureBlobStorageLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
12083	return nil, false
12084}
12085
12086// AsShopifyLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService.
12087func (absls AzureBlobStorageLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
12088	return nil, false
12089}
12090
12091// AsServiceNowLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService.
12092func (absls AzureBlobStorageLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
12093	return nil, false
12094}
12095
12096// AsQuickBooksLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService.
12097func (absls AzureBlobStorageLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
12098	return nil, false
12099}
12100
12101// AsPrestoLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService.
12102func (absls AzureBlobStorageLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
12103	return nil, false
12104}
12105
12106// AsPhoenixLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService.
12107func (absls AzureBlobStorageLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
12108	return nil, false
12109}
12110
12111// AsPaypalLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService.
12112func (absls AzureBlobStorageLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
12113	return nil, false
12114}
12115
12116// AsMarketoLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService.
12117func (absls AzureBlobStorageLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
12118	return nil, false
12119}
12120
12121// AsMariaDBLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService.
12122func (absls AzureBlobStorageLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
12123	return nil, false
12124}
12125
12126// AsMagentoLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService.
12127func (absls AzureBlobStorageLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
12128	return nil, false
12129}
12130
12131// AsJiraLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService.
12132func (absls AzureBlobStorageLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
12133	return nil, false
12134}
12135
12136// AsImpalaLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService.
12137func (absls AzureBlobStorageLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
12138	return nil, false
12139}
12140
12141// AsHubspotLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService.
12142func (absls AzureBlobStorageLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
12143	return nil, false
12144}
12145
12146// AsHiveLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService.
12147func (absls AzureBlobStorageLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
12148	return nil, false
12149}
12150
12151// AsHBaseLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService.
12152func (absls AzureBlobStorageLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
12153	return nil, false
12154}
12155
12156// AsGreenplumLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService.
12157func (absls AzureBlobStorageLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
12158	return nil, false
12159}
12160
12161// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService.
12162func (absls AzureBlobStorageLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
12163	return nil, false
12164}
12165
12166// AsEloquaLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService.
12167func (absls AzureBlobStorageLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
12168	return nil, false
12169}
12170
12171// AsDrillLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService.
12172func (absls AzureBlobStorageLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
12173	return nil, false
12174}
12175
12176// AsCouchbaseLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService.
12177func (absls AzureBlobStorageLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
12178	return nil, false
12179}
12180
12181// AsConcurLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService.
12182func (absls AzureBlobStorageLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
12183	return nil, false
12184}
12185
12186// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService.
12187func (absls AzureBlobStorageLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
12188	return nil, false
12189}
12190
12191// AsAmazonMWSLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService.
12192func (absls AzureBlobStorageLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
12193	return nil, false
12194}
12195
12196// AsSapHanaLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService.
12197func (absls AzureBlobStorageLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
12198	return nil, false
12199}
12200
12201// AsSapBWLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService.
12202func (absls AzureBlobStorageLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
12203	return nil, false
12204}
12205
12206// AsSftpServerLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService.
12207func (absls AzureBlobStorageLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
12208	return nil, false
12209}
12210
12211// AsFtpServerLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService.
12212func (absls AzureBlobStorageLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
12213	return nil, false
12214}
12215
12216// AsHTTPLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService.
12217func (absls AzureBlobStorageLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
12218	return nil, false
12219}
12220
12221// AsAzureSearchLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService.
12222func (absls AzureBlobStorageLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
12223	return nil, false
12224}
12225
12226// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService.
12227func (absls AzureBlobStorageLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
12228	return nil, false
12229}
12230
12231// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService.
12232func (absls AzureBlobStorageLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
12233	return nil, false
12234}
12235
12236// AsAmazonS3LinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService.
12237func (absls AzureBlobStorageLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
12238	return nil, false
12239}
12240
12241// AsRestServiceLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService.
12242func (absls AzureBlobStorageLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) {
12243	return nil, false
12244}
12245
12246// AsSapOpenHubLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService.
12247func (absls AzureBlobStorageLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) {
12248	return nil, false
12249}
12250
12251// AsSapEccLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService.
12252func (absls AzureBlobStorageLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
12253	return nil, false
12254}
12255
12256// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService.
12257func (absls AzureBlobStorageLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
12258	return nil, false
12259}
12260
12261// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService.
12262func (absls AzureBlobStorageLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) {
12263	return nil, false
12264}
12265
12266// AsSalesforceLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService.
12267func (absls AzureBlobStorageLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
12268	return nil, false
12269}
12270
12271// AsOffice365LinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService.
12272func (absls AzureBlobStorageLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) {
12273	return nil, false
12274}
12275
12276// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService.
12277func (absls AzureBlobStorageLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) {
12278	return nil, false
12279}
12280
12281// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService.
12282func (absls AzureBlobStorageLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
12283	return nil, false
12284}
12285
12286// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService.
12287func (absls AzureBlobStorageLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) {
12288	return nil, false
12289}
12290
12291// AsMongoDbV2LinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService.
12292func (absls AzureBlobStorageLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) {
12293	return nil, false
12294}
12295
12296// AsMongoDbLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService.
12297func (absls AzureBlobStorageLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
12298	return nil, false
12299}
12300
12301// AsCassandraLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService.
12302func (absls AzureBlobStorageLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
12303	return nil, false
12304}
12305
12306// AsWebLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService.
12307func (absls AzureBlobStorageLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
12308	return nil, false
12309}
12310
12311// AsODataLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService.
12312func (absls AzureBlobStorageLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
12313	return nil, false
12314}
12315
12316// AsHdfsLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService.
12317func (absls AzureBlobStorageLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
12318	return nil, false
12319}
12320
12321// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService.
12322func (absls AzureBlobStorageLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) {
12323	return nil, false
12324}
12325
12326// AsInformixLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService.
12327func (absls AzureBlobStorageLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) {
12328	return nil, false
12329}
12330
12331// AsOdbcLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService.
12332func (absls AzureBlobStorageLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
12333	return nil, false
12334}
12335
12336// AsAzureMLLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService.
12337func (absls AzureBlobStorageLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
12338	return nil, false
12339}
12340
12341// AsTeradataLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService.
12342func (absls AzureBlobStorageLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
12343	return nil, false
12344}
12345
12346// AsDb2LinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService.
12347func (absls AzureBlobStorageLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
12348	return nil, false
12349}
12350
12351// AsSybaseLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService.
12352func (absls AzureBlobStorageLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
12353	return nil, false
12354}
12355
12356// AsPostgreSQLLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService.
12357func (absls AzureBlobStorageLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
12358	return nil, false
12359}
12360
12361// AsMySQLLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService.
12362func (absls AzureBlobStorageLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
12363	return nil, false
12364}
12365
12366// AsAzureMySQLLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService.
12367func (absls AzureBlobStorageLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
12368	return nil, false
12369}
12370
12371// AsOracleLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService.
12372func (absls AzureBlobStorageLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
12373	return nil, false
12374}
12375
12376// AsFileServerLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService.
12377func (absls AzureBlobStorageLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
12378	return nil, false
12379}
12380
12381// AsHDInsightLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService.
12382func (absls AzureBlobStorageLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
12383	return nil, false
12384}
12385
12386// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService.
12387func (absls AzureBlobStorageLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) {
12388	return nil, false
12389}
12390
12391// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService.
12392func (absls AzureBlobStorageLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) {
12393	return nil, false
12394}
12395
12396// AsDynamicsLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService.
12397func (absls AzureBlobStorageLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
12398	return nil, false
12399}
12400
12401// AsCosmosDbLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService.
12402func (absls AzureBlobStorageLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
12403	return nil, false
12404}
12405
12406// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService.
12407func (absls AzureBlobStorageLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
12408	return nil, false
12409}
12410
12411// AsAzureBatchLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService.
12412func (absls AzureBlobStorageLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
12413	return nil, false
12414}
12415
12416// AsAzureSQLMILinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService.
12417func (absls AzureBlobStorageLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) {
12418	return nil, false
12419}
12420
12421// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService.
12422func (absls AzureBlobStorageLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
12423	return nil, false
12424}
12425
12426// AsSQLServerLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService.
12427func (absls AzureBlobStorageLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
12428	return nil, false
12429}
12430
12431// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService.
12432func (absls AzureBlobStorageLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
12433	return nil, false
12434}
12435
12436// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService.
12437func (absls AzureBlobStorageLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) {
12438	return nil, false
12439}
12440
12441// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService.
12442func (absls AzureBlobStorageLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) {
12443	return &absls, true
12444}
12445
12446// AsAzureStorageLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService.
12447func (absls AzureBlobStorageLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
12448	return nil, false
12449}
12450
12451// AsLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService.
12452func (absls AzureBlobStorageLinkedService) AsLinkedService() (*LinkedService, bool) {
12453	return nil, false
12454}
12455
12456// AsBasicLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService.
12457func (absls AzureBlobStorageLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
12458	return &absls, true
12459}
12460
12461// UnmarshalJSON is the custom unmarshaler for AzureBlobStorageLinkedService struct.
12462func (absls *AzureBlobStorageLinkedService) UnmarshalJSON(body []byte) error {
12463	var m map[string]*json.RawMessage
12464	err := json.Unmarshal(body, &m)
12465	if err != nil {
12466		return err
12467	}
12468	for k, v := range m {
12469		switch k {
12470		case "typeProperties":
12471			if v != nil {
12472				var azureBlobStorageLinkedServiceTypeProperties AzureBlobStorageLinkedServiceTypeProperties
12473				err = json.Unmarshal(*v, &azureBlobStorageLinkedServiceTypeProperties)
12474				if err != nil {
12475					return err
12476				}
12477				absls.AzureBlobStorageLinkedServiceTypeProperties = &azureBlobStorageLinkedServiceTypeProperties
12478			}
12479		default:
12480			if v != nil {
12481				var additionalProperties interface{}
12482				err = json.Unmarshal(*v, &additionalProperties)
12483				if err != nil {
12484					return err
12485				}
12486				if absls.AdditionalProperties == nil {
12487					absls.AdditionalProperties = make(map[string]interface{})
12488				}
12489				absls.AdditionalProperties[k] = additionalProperties
12490			}
12491		case "connectVia":
12492			if v != nil {
12493				var connectVia IntegrationRuntimeReference
12494				err = json.Unmarshal(*v, &connectVia)
12495				if err != nil {
12496					return err
12497				}
12498				absls.ConnectVia = &connectVia
12499			}
12500		case "description":
12501			if v != nil {
12502				var description string
12503				err = json.Unmarshal(*v, &description)
12504				if err != nil {
12505					return err
12506				}
12507				absls.Description = &description
12508			}
12509		case "parameters":
12510			if v != nil {
12511				var parameters map[string]*ParameterSpecification
12512				err = json.Unmarshal(*v, &parameters)
12513				if err != nil {
12514					return err
12515				}
12516				absls.Parameters = parameters
12517			}
12518		case "annotations":
12519			if v != nil {
12520				var annotations []interface{}
12521				err = json.Unmarshal(*v, &annotations)
12522				if err != nil {
12523					return err
12524				}
12525				absls.Annotations = &annotations
12526			}
12527		case "type":
12528			if v != nil {
12529				var typeVar TypeBasicLinkedService
12530				err = json.Unmarshal(*v, &typeVar)
12531				if err != nil {
12532					return err
12533				}
12534				absls.Type = typeVar
12535			}
12536		}
12537	}
12538
12539	return nil
12540}
12541
12542// AzureBlobStorageLinkedServiceTypeProperties azure Blob Storage linked service properties.
12543type AzureBlobStorageLinkedServiceTypeProperties struct {
12544	// ConnectionString - The connection string. It is mutually exclusive with sasUri, serviceEndpoint property. Type: string, SecureString or AzureKeyVaultSecretReference.
12545	ConnectionString interface{} `json:"connectionString,omitempty"`
12546	// AccountKey - The Azure key vault secret reference of accountKey in connection string.
12547	AccountKey *AzureKeyVaultSecretReference `json:"accountKey,omitempty"`
12548	// SasURI - SAS URI of the Azure Blob Storage resource. It is mutually exclusive with connectionString, serviceEndpoint property. Type: string, SecureString or AzureKeyVaultSecretReference.
12549	SasURI interface{} `json:"sasUri,omitempty"`
12550	// SasToken - The Azure key vault secret reference of sasToken in sas uri.
12551	SasToken *AzureKeyVaultSecretReference `json:"sasToken,omitempty"`
12552	// ServiceEndpoint - Blob service endpoint of the Azure Blob Storage resource. It is mutually exclusive with connectionString, sasUri property.
12553	ServiceEndpoint *string `json:"serviceEndpoint,omitempty"`
12554	// ServicePrincipalID - The ID of the service principal used to authenticate against Azure SQL Data Warehouse. Type: string (or Expression with resultType string).
12555	ServicePrincipalID interface{} `json:"servicePrincipalId,omitempty"`
12556	// ServicePrincipalKey - The key of the service principal used to authenticate against Azure SQL Data Warehouse.
12557	ServicePrincipalKey BasicSecretBase `json:"servicePrincipalKey,omitempty"`
12558	// Tenant - The name or ID of the tenant to which the service principal belongs. Type: string (or Expression with resultType string).
12559	Tenant interface{} `json:"tenant,omitempty"`
12560	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
12561	EncryptedCredential *string `json:"encryptedCredential,omitempty"`
12562}
12563
12564// UnmarshalJSON is the custom unmarshaler for AzureBlobStorageLinkedServiceTypeProperties struct.
12565func (abslstp *AzureBlobStorageLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
12566	var m map[string]*json.RawMessage
12567	err := json.Unmarshal(body, &m)
12568	if err != nil {
12569		return err
12570	}
12571	for k, v := range m {
12572		switch k {
12573		case "connectionString":
12574			if v != nil {
12575				var connectionString interface{}
12576				err = json.Unmarshal(*v, &connectionString)
12577				if err != nil {
12578					return err
12579				}
12580				abslstp.ConnectionString = connectionString
12581			}
12582		case "accountKey":
12583			if v != nil {
12584				var accountKey AzureKeyVaultSecretReference
12585				err = json.Unmarshal(*v, &accountKey)
12586				if err != nil {
12587					return err
12588				}
12589				abslstp.AccountKey = &accountKey
12590			}
12591		case "sasUri":
12592			if v != nil {
12593				var sasURI interface{}
12594				err = json.Unmarshal(*v, &sasURI)
12595				if err != nil {
12596					return err
12597				}
12598				abslstp.SasURI = sasURI
12599			}
12600		case "sasToken":
12601			if v != nil {
12602				var sasToken AzureKeyVaultSecretReference
12603				err = json.Unmarshal(*v, &sasToken)
12604				if err != nil {
12605					return err
12606				}
12607				abslstp.SasToken = &sasToken
12608			}
12609		case "serviceEndpoint":
12610			if v != nil {
12611				var serviceEndpoint string
12612				err = json.Unmarshal(*v, &serviceEndpoint)
12613				if err != nil {
12614					return err
12615				}
12616				abslstp.ServiceEndpoint = &serviceEndpoint
12617			}
12618		case "servicePrincipalId":
12619			if v != nil {
12620				var servicePrincipalID interface{}
12621				err = json.Unmarshal(*v, &servicePrincipalID)
12622				if err != nil {
12623					return err
12624				}
12625				abslstp.ServicePrincipalID = servicePrincipalID
12626			}
12627		case "servicePrincipalKey":
12628			if v != nil {
12629				servicePrincipalKey, err := unmarshalBasicSecretBase(*v)
12630				if err != nil {
12631					return err
12632				}
12633				abslstp.ServicePrincipalKey = servicePrincipalKey
12634			}
12635		case "tenant":
12636			if v != nil {
12637				var tenant interface{}
12638				err = json.Unmarshal(*v, &tenant)
12639				if err != nil {
12640					return err
12641				}
12642				abslstp.Tenant = tenant
12643			}
12644		case "encryptedCredential":
12645			if v != nil {
12646				var encryptedCredential string
12647				err = json.Unmarshal(*v, &encryptedCredential)
12648				if err != nil {
12649					return err
12650				}
12651				abslstp.EncryptedCredential = &encryptedCredential
12652			}
12653		}
12654	}
12655
12656	return nil
12657}
12658
12659// AzureBlobStorageLocation the location of azure blob dataset.
12660type AzureBlobStorageLocation struct {
12661	// Container - Specify the container of azure blob. Type: string (or Expression with resultType string).
12662	Container interface{} `json:"container,omitempty"`
12663	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
12664	AdditionalProperties map[string]interface{} `json:""`
12665	// Type - Type of dataset storage location.
12666	Type *string `json:"type,omitempty"`
12667	// FolderPath - Specify the folder path of dataset. Type: string (or Expression with resultType string)
12668	FolderPath interface{} `json:"folderPath,omitempty"`
12669	// FileName - Specify the file name of dataset. Type: string (or Expression with resultType string).
12670	FileName interface{} `json:"fileName,omitempty"`
12671}
12672
12673// MarshalJSON is the custom marshaler for AzureBlobStorageLocation.
12674func (absl AzureBlobStorageLocation) MarshalJSON() ([]byte, error) {
12675	objectMap := make(map[string]interface{})
12676	if absl.Container != nil {
12677		objectMap["container"] = absl.Container
12678	}
12679	if absl.Type != nil {
12680		objectMap["type"] = absl.Type
12681	}
12682	if absl.FolderPath != nil {
12683		objectMap["folderPath"] = absl.FolderPath
12684	}
12685	if absl.FileName != nil {
12686		objectMap["fileName"] = absl.FileName
12687	}
12688	for k, v := range absl.AdditionalProperties {
12689		objectMap[k] = v
12690	}
12691	return json.Marshal(objectMap)
12692}
12693
12694// UnmarshalJSON is the custom unmarshaler for AzureBlobStorageLocation struct.
12695func (absl *AzureBlobStorageLocation) UnmarshalJSON(body []byte) error {
12696	var m map[string]*json.RawMessage
12697	err := json.Unmarshal(body, &m)
12698	if err != nil {
12699		return err
12700	}
12701	for k, v := range m {
12702		switch k {
12703		case "container":
12704			if v != nil {
12705				var containerVar interface{}
12706				err = json.Unmarshal(*v, &containerVar)
12707				if err != nil {
12708					return err
12709				}
12710				absl.Container = containerVar
12711			}
12712		default:
12713			if v != nil {
12714				var additionalProperties interface{}
12715				err = json.Unmarshal(*v, &additionalProperties)
12716				if err != nil {
12717					return err
12718				}
12719				if absl.AdditionalProperties == nil {
12720					absl.AdditionalProperties = make(map[string]interface{})
12721				}
12722				absl.AdditionalProperties[k] = additionalProperties
12723			}
12724		case "type":
12725			if v != nil {
12726				var typeVar string
12727				err = json.Unmarshal(*v, &typeVar)
12728				if err != nil {
12729					return err
12730				}
12731				absl.Type = &typeVar
12732			}
12733		case "folderPath":
12734			if v != nil {
12735				var folderPath interface{}
12736				err = json.Unmarshal(*v, &folderPath)
12737				if err != nil {
12738					return err
12739				}
12740				absl.FolderPath = folderPath
12741			}
12742		case "fileName":
12743			if v != nil {
12744				var fileName interface{}
12745				err = json.Unmarshal(*v, &fileName)
12746				if err != nil {
12747					return err
12748				}
12749				absl.FileName = fileName
12750			}
12751		}
12752	}
12753
12754	return nil
12755}
12756
12757// AzureBlobStorageReadSettings azure blob read settings.
12758type AzureBlobStorageReadSettings struct {
12759	// Recursive - If true, files under the folder path will be read recursively. Default is true. Type: boolean (or Expression with resultType boolean).
12760	Recursive interface{} `json:"recursive,omitempty"`
12761	// WildcardFolderPath - Azure blob wildcardFolderPath. Type: string (or Expression with resultType string).
12762	WildcardFolderPath interface{} `json:"wildcardFolderPath,omitempty"`
12763	// WildcardFileName - Azure blob wildcardFileName. Type: string (or Expression with resultType string).
12764	WildcardFileName interface{} `json:"wildcardFileName,omitempty"`
12765	// EnablePartitionDiscovery - Indicates whether to enable partition discovery.
12766	EnablePartitionDiscovery *bool `json:"enablePartitionDiscovery,omitempty"`
12767	// ModifiedDatetimeStart - The start of file's modified datetime. Type: string (or Expression with resultType string).
12768	ModifiedDatetimeStart interface{} `json:"modifiedDatetimeStart,omitempty"`
12769	// ModifiedDatetimeEnd - The end of file's modified datetime. Type: string (or Expression with resultType string).
12770	ModifiedDatetimeEnd interface{} `json:"modifiedDatetimeEnd,omitempty"`
12771	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
12772	AdditionalProperties map[string]interface{} `json:""`
12773	// Type - The read setting type.
12774	Type *string `json:"type,omitempty"`
12775	// MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer).
12776	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
12777}
12778
12779// MarshalJSON is the custom marshaler for AzureBlobStorageReadSettings.
12780func (absrs AzureBlobStorageReadSettings) MarshalJSON() ([]byte, error) {
12781	objectMap := make(map[string]interface{})
12782	if absrs.Recursive != nil {
12783		objectMap["recursive"] = absrs.Recursive
12784	}
12785	if absrs.WildcardFolderPath != nil {
12786		objectMap["wildcardFolderPath"] = absrs.WildcardFolderPath
12787	}
12788	if absrs.WildcardFileName != nil {
12789		objectMap["wildcardFileName"] = absrs.WildcardFileName
12790	}
12791	if absrs.EnablePartitionDiscovery != nil {
12792		objectMap["enablePartitionDiscovery"] = absrs.EnablePartitionDiscovery
12793	}
12794	if absrs.ModifiedDatetimeStart != nil {
12795		objectMap["modifiedDatetimeStart"] = absrs.ModifiedDatetimeStart
12796	}
12797	if absrs.ModifiedDatetimeEnd != nil {
12798		objectMap["modifiedDatetimeEnd"] = absrs.ModifiedDatetimeEnd
12799	}
12800	if absrs.Type != nil {
12801		objectMap["type"] = absrs.Type
12802	}
12803	if absrs.MaxConcurrentConnections != nil {
12804		objectMap["maxConcurrentConnections"] = absrs.MaxConcurrentConnections
12805	}
12806	for k, v := range absrs.AdditionalProperties {
12807		objectMap[k] = v
12808	}
12809	return json.Marshal(objectMap)
12810}
12811
12812// UnmarshalJSON is the custom unmarshaler for AzureBlobStorageReadSettings struct.
12813func (absrs *AzureBlobStorageReadSettings) UnmarshalJSON(body []byte) error {
12814	var m map[string]*json.RawMessage
12815	err := json.Unmarshal(body, &m)
12816	if err != nil {
12817		return err
12818	}
12819	for k, v := range m {
12820		switch k {
12821		case "recursive":
12822			if v != nil {
12823				var recursive interface{}
12824				err = json.Unmarshal(*v, &recursive)
12825				if err != nil {
12826					return err
12827				}
12828				absrs.Recursive = recursive
12829			}
12830		case "wildcardFolderPath":
12831			if v != nil {
12832				var wildcardFolderPath interface{}
12833				err = json.Unmarshal(*v, &wildcardFolderPath)
12834				if err != nil {
12835					return err
12836				}
12837				absrs.WildcardFolderPath = wildcardFolderPath
12838			}
12839		case "wildcardFileName":
12840			if v != nil {
12841				var wildcardFileName interface{}
12842				err = json.Unmarshal(*v, &wildcardFileName)
12843				if err != nil {
12844					return err
12845				}
12846				absrs.WildcardFileName = wildcardFileName
12847			}
12848		case "enablePartitionDiscovery":
12849			if v != nil {
12850				var enablePartitionDiscovery bool
12851				err = json.Unmarshal(*v, &enablePartitionDiscovery)
12852				if err != nil {
12853					return err
12854				}
12855				absrs.EnablePartitionDiscovery = &enablePartitionDiscovery
12856			}
12857		case "modifiedDatetimeStart":
12858			if v != nil {
12859				var modifiedDatetimeStart interface{}
12860				err = json.Unmarshal(*v, &modifiedDatetimeStart)
12861				if err != nil {
12862					return err
12863				}
12864				absrs.ModifiedDatetimeStart = modifiedDatetimeStart
12865			}
12866		case "modifiedDatetimeEnd":
12867			if v != nil {
12868				var modifiedDatetimeEnd interface{}
12869				err = json.Unmarshal(*v, &modifiedDatetimeEnd)
12870				if err != nil {
12871					return err
12872				}
12873				absrs.ModifiedDatetimeEnd = modifiedDatetimeEnd
12874			}
12875		default:
12876			if v != nil {
12877				var additionalProperties interface{}
12878				err = json.Unmarshal(*v, &additionalProperties)
12879				if err != nil {
12880					return err
12881				}
12882				if absrs.AdditionalProperties == nil {
12883					absrs.AdditionalProperties = make(map[string]interface{})
12884				}
12885				absrs.AdditionalProperties[k] = additionalProperties
12886			}
12887		case "type":
12888			if v != nil {
12889				var typeVar string
12890				err = json.Unmarshal(*v, &typeVar)
12891				if err != nil {
12892					return err
12893				}
12894				absrs.Type = &typeVar
12895			}
12896		case "maxConcurrentConnections":
12897			if v != nil {
12898				var maxConcurrentConnections interface{}
12899				err = json.Unmarshal(*v, &maxConcurrentConnections)
12900				if err != nil {
12901					return err
12902				}
12903				absrs.MaxConcurrentConnections = maxConcurrentConnections
12904			}
12905		}
12906	}
12907
12908	return nil
12909}
12910
12911// AzureBlobStorageWriteSettings azure blob write settings.
12912type AzureBlobStorageWriteSettings struct {
12913	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
12914	AdditionalProperties map[string]interface{} `json:""`
12915	// Type - The write setting type.
12916	Type *string `json:"type,omitempty"`
12917	// MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer).
12918	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
12919	// CopyBehavior - The type of copy behavior for copy sink.
12920	CopyBehavior interface{} `json:"copyBehavior,omitempty"`
12921}
12922
12923// MarshalJSON is the custom marshaler for AzureBlobStorageWriteSettings.
12924func (absws AzureBlobStorageWriteSettings) MarshalJSON() ([]byte, error) {
12925	objectMap := make(map[string]interface{})
12926	if absws.Type != nil {
12927		objectMap["type"] = absws.Type
12928	}
12929	if absws.MaxConcurrentConnections != nil {
12930		objectMap["maxConcurrentConnections"] = absws.MaxConcurrentConnections
12931	}
12932	if absws.CopyBehavior != nil {
12933		objectMap["copyBehavior"] = absws.CopyBehavior
12934	}
12935	for k, v := range absws.AdditionalProperties {
12936		objectMap[k] = v
12937	}
12938	return json.Marshal(objectMap)
12939}
12940
12941// UnmarshalJSON is the custom unmarshaler for AzureBlobStorageWriteSettings struct.
12942func (absws *AzureBlobStorageWriteSettings) UnmarshalJSON(body []byte) error {
12943	var m map[string]*json.RawMessage
12944	err := json.Unmarshal(body, &m)
12945	if err != nil {
12946		return err
12947	}
12948	for k, v := range m {
12949		switch k {
12950		default:
12951			if v != nil {
12952				var additionalProperties interface{}
12953				err = json.Unmarshal(*v, &additionalProperties)
12954				if err != nil {
12955					return err
12956				}
12957				if absws.AdditionalProperties == nil {
12958					absws.AdditionalProperties = make(map[string]interface{})
12959				}
12960				absws.AdditionalProperties[k] = additionalProperties
12961			}
12962		case "type":
12963			if v != nil {
12964				var typeVar string
12965				err = json.Unmarshal(*v, &typeVar)
12966				if err != nil {
12967					return err
12968				}
12969				absws.Type = &typeVar
12970			}
12971		case "maxConcurrentConnections":
12972			if v != nil {
12973				var maxConcurrentConnections interface{}
12974				err = json.Unmarshal(*v, &maxConcurrentConnections)
12975				if err != nil {
12976					return err
12977				}
12978				absws.MaxConcurrentConnections = maxConcurrentConnections
12979			}
12980		case "copyBehavior":
12981			if v != nil {
12982				var copyBehavior interface{}
12983				err = json.Unmarshal(*v, &copyBehavior)
12984				if err != nil {
12985					return err
12986				}
12987				absws.CopyBehavior = copyBehavior
12988			}
12989		}
12990	}
12991
12992	return nil
12993}
12994
12995// AzureDatabricksLinkedService azure Databricks linked service.
12996type AzureDatabricksLinkedService struct {
12997	// AzureDatabricksLinkedServiceTypeProperties - Azure Databricks linked service properties.
12998	*AzureDatabricksLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
12999	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
13000	AdditionalProperties map[string]interface{} `json:""`
13001	// ConnectVia - The integration runtime reference.
13002	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
13003	// Description - Linked service description.
13004	Description *string `json:"description,omitempty"`
13005	// Parameters - Parameters for linked service.
13006	Parameters map[string]*ParameterSpecification `json:"parameters"`
13007	// Annotations - List of tags that can be used for describing the linked service.
13008	Annotations *[]interface{} `json:"annotations,omitempty"`
13009	// Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', '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', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage'
13010	Type TypeBasicLinkedService `json:"type,omitempty"`
13011}
13012
13013// MarshalJSON is the custom marshaler for AzureDatabricksLinkedService.
13014func (adls AzureDatabricksLinkedService) MarshalJSON() ([]byte, error) {
13015	adls.Type = TypeAzureDatabricks
13016	objectMap := make(map[string]interface{})
13017	if adls.AzureDatabricksLinkedServiceTypeProperties != nil {
13018		objectMap["typeProperties"] = adls.AzureDatabricksLinkedServiceTypeProperties
13019	}
13020	if adls.ConnectVia != nil {
13021		objectMap["connectVia"] = adls.ConnectVia
13022	}
13023	if adls.Description != nil {
13024		objectMap["description"] = adls.Description
13025	}
13026	if adls.Parameters != nil {
13027		objectMap["parameters"] = adls.Parameters
13028	}
13029	if adls.Annotations != nil {
13030		objectMap["annotations"] = adls.Annotations
13031	}
13032	if adls.Type != "" {
13033		objectMap["type"] = adls.Type
13034	}
13035	for k, v := range adls.AdditionalProperties {
13036		objectMap[k] = v
13037	}
13038	return json.Marshal(objectMap)
13039}
13040
13041// AsAzureFunctionLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
13042func (adls AzureDatabricksLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) {
13043	return nil, false
13044}
13045
13046// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
13047func (adls AzureDatabricksLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) {
13048	return nil, false
13049}
13050
13051// AsSapTableLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
13052func (adls AzureDatabricksLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) {
13053	return nil, false
13054}
13055
13056// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
13057func (adls AzureDatabricksLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) {
13058	return nil, false
13059}
13060
13061// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
13062func (adls AzureDatabricksLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) {
13063	return nil, false
13064}
13065
13066// AsDynamicsAXLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
13067func (adls AzureDatabricksLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) {
13068	return nil, false
13069}
13070
13071// AsResponsysLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
13072func (adls AzureDatabricksLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
13073	return nil, false
13074}
13075
13076// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
13077func (adls AzureDatabricksLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
13078	return &adls, true
13079}
13080
13081// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
13082func (adls AzureDatabricksLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
13083	return nil, false
13084}
13085
13086// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
13087func (adls AzureDatabricksLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
13088	return nil, false
13089}
13090
13091// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
13092func (adls AzureDatabricksLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
13093	return nil, false
13094}
13095
13096// AsNetezzaLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
13097func (adls AzureDatabricksLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
13098	return nil, false
13099}
13100
13101// AsVerticaLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
13102func (adls AzureDatabricksLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
13103	return nil, false
13104}
13105
13106// AsZohoLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
13107func (adls AzureDatabricksLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
13108	return nil, false
13109}
13110
13111// AsXeroLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
13112func (adls AzureDatabricksLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
13113	return nil, false
13114}
13115
13116// AsSquareLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
13117func (adls AzureDatabricksLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
13118	return nil, false
13119}
13120
13121// AsSparkLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
13122func (adls AzureDatabricksLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
13123	return nil, false
13124}
13125
13126// AsShopifyLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
13127func (adls AzureDatabricksLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
13128	return nil, false
13129}
13130
13131// AsServiceNowLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
13132func (adls AzureDatabricksLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
13133	return nil, false
13134}
13135
13136// AsQuickBooksLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
13137func (adls AzureDatabricksLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
13138	return nil, false
13139}
13140
13141// AsPrestoLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
13142func (adls AzureDatabricksLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
13143	return nil, false
13144}
13145
13146// AsPhoenixLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
13147func (adls AzureDatabricksLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
13148	return nil, false
13149}
13150
13151// AsPaypalLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
13152func (adls AzureDatabricksLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
13153	return nil, false
13154}
13155
13156// AsMarketoLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
13157func (adls AzureDatabricksLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
13158	return nil, false
13159}
13160
13161// AsMariaDBLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
13162func (adls AzureDatabricksLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
13163	return nil, false
13164}
13165
13166// AsMagentoLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
13167func (adls AzureDatabricksLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
13168	return nil, false
13169}
13170
13171// AsJiraLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
13172func (adls AzureDatabricksLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
13173	return nil, false
13174}
13175
13176// AsImpalaLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
13177func (adls AzureDatabricksLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
13178	return nil, false
13179}
13180
13181// AsHubspotLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
13182func (adls AzureDatabricksLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
13183	return nil, false
13184}
13185
13186// AsHiveLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
13187func (adls AzureDatabricksLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
13188	return nil, false
13189}
13190
13191// AsHBaseLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
13192func (adls AzureDatabricksLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
13193	return nil, false
13194}
13195
13196// AsGreenplumLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
13197func (adls AzureDatabricksLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
13198	return nil, false
13199}
13200
13201// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
13202func (adls AzureDatabricksLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
13203	return nil, false
13204}
13205
13206// AsEloquaLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
13207func (adls AzureDatabricksLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
13208	return nil, false
13209}
13210
13211// AsDrillLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
13212func (adls AzureDatabricksLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
13213	return nil, false
13214}
13215
13216// AsCouchbaseLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
13217func (adls AzureDatabricksLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
13218	return nil, false
13219}
13220
13221// AsConcurLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
13222func (adls AzureDatabricksLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
13223	return nil, false
13224}
13225
13226// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
13227func (adls AzureDatabricksLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
13228	return nil, false
13229}
13230
13231// AsAmazonMWSLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
13232func (adls AzureDatabricksLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
13233	return nil, false
13234}
13235
13236// AsSapHanaLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
13237func (adls AzureDatabricksLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
13238	return nil, false
13239}
13240
13241// AsSapBWLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
13242func (adls AzureDatabricksLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
13243	return nil, false
13244}
13245
13246// AsSftpServerLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
13247func (adls AzureDatabricksLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
13248	return nil, false
13249}
13250
13251// AsFtpServerLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
13252func (adls AzureDatabricksLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
13253	return nil, false
13254}
13255
13256// AsHTTPLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
13257func (adls AzureDatabricksLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
13258	return nil, false
13259}
13260
13261// AsAzureSearchLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
13262func (adls AzureDatabricksLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
13263	return nil, false
13264}
13265
13266// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
13267func (adls AzureDatabricksLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
13268	return nil, false
13269}
13270
13271// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
13272func (adls AzureDatabricksLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
13273	return nil, false
13274}
13275
13276// AsAmazonS3LinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
13277func (adls AzureDatabricksLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
13278	return nil, false
13279}
13280
13281// AsRestServiceLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
13282func (adls AzureDatabricksLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) {
13283	return nil, false
13284}
13285
13286// AsSapOpenHubLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
13287func (adls AzureDatabricksLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) {
13288	return nil, false
13289}
13290
13291// AsSapEccLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
13292func (adls AzureDatabricksLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
13293	return nil, false
13294}
13295
13296// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
13297func (adls AzureDatabricksLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
13298	return nil, false
13299}
13300
13301// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
13302func (adls AzureDatabricksLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) {
13303	return nil, false
13304}
13305
13306// AsSalesforceLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
13307func (adls AzureDatabricksLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
13308	return nil, false
13309}
13310
13311// AsOffice365LinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
13312func (adls AzureDatabricksLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) {
13313	return nil, false
13314}
13315
13316// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
13317func (adls AzureDatabricksLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) {
13318	return nil, false
13319}
13320
13321// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
13322func (adls AzureDatabricksLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
13323	return nil, false
13324}
13325
13326// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
13327func (adls AzureDatabricksLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) {
13328	return nil, false
13329}
13330
13331// AsMongoDbV2LinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
13332func (adls AzureDatabricksLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) {
13333	return nil, false
13334}
13335
13336// AsMongoDbLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
13337func (adls AzureDatabricksLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
13338	return nil, false
13339}
13340
13341// AsCassandraLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
13342func (adls AzureDatabricksLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
13343	return nil, false
13344}
13345
13346// AsWebLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
13347func (adls AzureDatabricksLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
13348	return nil, false
13349}
13350
13351// AsODataLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
13352func (adls AzureDatabricksLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
13353	return nil, false
13354}
13355
13356// AsHdfsLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
13357func (adls AzureDatabricksLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
13358	return nil, false
13359}
13360
13361// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
13362func (adls AzureDatabricksLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) {
13363	return nil, false
13364}
13365
13366// AsInformixLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
13367func (adls AzureDatabricksLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) {
13368	return nil, false
13369}
13370
13371// AsOdbcLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
13372func (adls AzureDatabricksLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
13373	return nil, false
13374}
13375
13376// AsAzureMLLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
13377func (adls AzureDatabricksLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
13378	return nil, false
13379}
13380
13381// AsTeradataLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
13382func (adls AzureDatabricksLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
13383	return nil, false
13384}
13385
13386// AsDb2LinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
13387func (adls AzureDatabricksLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
13388	return nil, false
13389}
13390
13391// AsSybaseLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
13392func (adls AzureDatabricksLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
13393	return nil, false
13394}
13395
13396// AsPostgreSQLLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
13397func (adls AzureDatabricksLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
13398	return nil, false
13399}
13400
13401// AsMySQLLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
13402func (adls AzureDatabricksLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
13403	return nil, false
13404}
13405
13406// AsAzureMySQLLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
13407func (adls AzureDatabricksLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
13408	return nil, false
13409}
13410
13411// AsOracleLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
13412func (adls AzureDatabricksLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
13413	return nil, false
13414}
13415
13416// AsFileServerLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
13417func (adls AzureDatabricksLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
13418	return nil, false
13419}
13420
13421// AsHDInsightLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
13422func (adls AzureDatabricksLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
13423	return nil, false
13424}
13425
13426// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
13427func (adls AzureDatabricksLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) {
13428	return nil, false
13429}
13430
13431// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
13432func (adls AzureDatabricksLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) {
13433	return nil, false
13434}
13435
13436// AsDynamicsLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
13437func (adls AzureDatabricksLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
13438	return nil, false
13439}
13440
13441// AsCosmosDbLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
13442func (adls AzureDatabricksLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
13443	return nil, false
13444}
13445
13446// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
13447func (adls AzureDatabricksLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
13448	return nil, false
13449}
13450
13451// AsAzureBatchLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
13452func (adls AzureDatabricksLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
13453	return nil, false
13454}
13455
13456// AsAzureSQLMILinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
13457func (adls AzureDatabricksLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) {
13458	return nil, false
13459}
13460
13461// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
13462func (adls AzureDatabricksLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
13463	return nil, false
13464}
13465
13466// AsSQLServerLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
13467func (adls AzureDatabricksLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
13468	return nil, false
13469}
13470
13471// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
13472func (adls AzureDatabricksLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
13473	return nil, false
13474}
13475
13476// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
13477func (adls AzureDatabricksLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) {
13478	return nil, false
13479}
13480
13481// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
13482func (adls AzureDatabricksLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) {
13483	return nil, false
13484}
13485
13486// AsAzureStorageLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
13487func (adls AzureDatabricksLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
13488	return nil, false
13489}
13490
13491// AsLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
13492func (adls AzureDatabricksLinkedService) AsLinkedService() (*LinkedService, bool) {
13493	return nil, false
13494}
13495
13496// AsBasicLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
13497func (adls AzureDatabricksLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
13498	return &adls, true
13499}
13500
13501// UnmarshalJSON is the custom unmarshaler for AzureDatabricksLinkedService struct.
13502func (adls *AzureDatabricksLinkedService) UnmarshalJSON(body []byte) error {
13503	var m map[string]*json.RawMessage
13504	err := json.Unmarshal(body, &m)
13505	if err != nil {
13506		return err
13507	}
13508	for k, v := range m {
13509		switch k {
13510		case "typeProperties":
13511			if v != nil {
13512				var azureDatabricksLinkedServiceTypeProperties AzureDatabricksLinkedServiceTypeProperties
13513				err = json.Unmarshal(*v, &azureDatabricksLinkedServiceTypeProperties)
13514				if err != nil {
13515					return err
13516				}
13517				adls.AzureDatabricksLinkedServiceTypeProperties = &azureDatabricksLinkedServiceTypeProperties
13518			}
13519		default:
13520			if v != nil {
13521				var additionalProperties interface{}
13522				err = json.Unmarshal(*v, &additionalProperties)
13523				if err != nil {
13524					return err
13525				}
13526				if adls.AdditionalProperties == nil {
13527					adls.AdditionalProperties = make(map[string]interface{})
13528				}
13529				adls.AdditionalProperties[k] = additionalProperties
13530			}
13531		case "connectVia":
13532			if v != nil {
13533				var connectVia IntegrationRuntimeReference
13534				err = json.Unmarshal(*v, &connectVia)
13535				if err != nil {
13536					return err
13537				}
13538				adls.ConnectVia = &connectVia
13539			}
13540		case "description":
13541			if v != nil {
13542				var description string
13543				err = json.Unmarshal(*v, &description)
13544				if err != nil {
13545					return err
13546				}
13547				adls.Description = &description
13548			}
13549		case "parameters":
13550			if v != nil {
13551				var parameters map[string]*ParameterSpecification
13552				err = json.Unmarshal(*v, &parameters)
13553				if err != nil {
13554					return err
13555				}
13556				adls.Parameters = parameters
13557			}
13558		case "annotations":
13559			if v != nil {
13560				var annotations []interface{}
13561				err = json.Unmarshal(*v, &annotations)
13562				if err != nil {
13563					return err
13564				}
13565				adls.Annotations = &annotations
13566			}
13567		case "type":
13568			if v != nil {
13569				var typeVar TypeBasicLinkedService
13570				err = json.Unmarshal(*v, &typeVar)
13571				if err != nil {
13572					return err
13573				}
13574				adls.Type = typeVar
13575			}
13576		}
13577	}
13578
13579	return nil
13580}
13581
13582// AzureDatabricksLinkedServiceTypeProperties azure Databricks linked service properties.
13583type AzureDatabricksLinkedServiceTypeProperties struct {
13584	// Domain - <REGION>.azuredatabricks.net, domain name of your Databricks deployment. Type: string (or Expression with resultType string).
13585	Domain interface{} `json:"domain,omitempty"`
13586	// AccessToken - Access token for databricks REST API. Refer to https://docs.azuredatabricks.net/api/latest/authentication.html. Type: string (or Expression with resultType string).
13587	AccessToken BasicSecretBase `json:"accessToken,omitempty"`
13588	// ExistingClusterID - The id of an existing cluster that will be used for all runs of this job. Type: string (or Expression with resultType string).
13589	ExistingClusterID interface{} `json:"existingClusterId,omitempty"`
13590	// NewClusterVersion - The Spark version of new cluster. Type: string (or Expression with resultType string).
13591	NewClusterVersion interface{} `json:"newClusterVersion,omitempty"`
13592	// 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).
13593	NewClusterNumOfWorker interface{} `json:"newClusterNumOfWorker,omitempty"`
13594	// NewClusterNodeType - The node types of new cluster. Type: string (or Expression with resultType string).
13595	NewClusterNodeType interface{} `json:"newClusterNodeType,omitempty"`
13596	// NewClusterSparkConf - A set of optional, user-specified Spark configuration key-value pairs.
13597	NewClusterSparkConf map[string]interface{} `json:"newClusterSparkConf"`
13598	// NewClusterSparkEnvVars - A set of optional, user-specified Spark environment variables key-value pairs.
13599	NewClusterSparkEnvVars map[string]interface{} `json:"newClusterSparkEnvVars"`
13600	// NewClusterCustomTags - Additional tags for cluster resources.
13601	NewClusterCustomTags map[string]interface{} `json:"newClusterCustomTags"`
13602	// NewClusterDriverNodeType - The driver node type for the new cluster. Type: string (or Expression with resultType string).
13603	NewClusterDriverNodeType interface{} `json:"newClusterDriverNodeType,omitempty"`
13604	// NewClusterInitScripts - User-defined initialization scripts for the new cluster. Type: array of strings (or Expression with resultType array of strings).
13605	NewClusterInitScripts interface{} `json:"newClusterInitScripts,omitempty"`
13606	// NewClusterEnableElasticDisk - Enable the elastic disk on the new cluster. Type: boolean (or Expression with resultType boolean).
13607	NewClusterEnableElasticDisk interface{} `json:"newClusterEnableElasticDisk,omitempty"`
13608	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
13609	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
13610}
13611
13612// MarshalJSON is the custom marshaler for AzureDatabricksLinkedServiceTypeProperties.
13613func (adlstp AzureDatabricksLinkedServiceTypeProperties) MarshalJSON() ([]byte, error) {
13614	objectMap := make(map[string]interface{})
13615	if adlstp.Domain != nil {
13616		objectMap["domain"] = adlstp.Domain
13617	}
13618	objectMap["accessToken"] = adlstp.AccessToken
13619	if adlstp.ExistingClusterID != nil {
13620		objectMap["existingClusterId"] = adlstp.ExistingClusterID
13621	}
13622	if adlstp.NewClusterVersion != nil {
13623		objectMap["newClusterVersion"] = adlstp.NewClusterVersion
13624	}
13625	if adlstp.NewClusterNumOfWorker != nil {
13626		objectMap["newClusterNumOfWorker"] = adlstp.NewClusterNumOfWorker
13627	}
13628	if adlstp.NewClusterNodeType != nil {
13629		objectMap["newClusterNodeType"] = adlstp.NewClusterNodeType
13630	}
13631	if adlstp.NewClusterSparkConf != nil {
13632		objectMap["newClusterSparkConf"] = adlstp.NewClusterSparkConf
13633	}
13634	if adlstp.NewClusterSparkEnvVars != nil {
13635		objectMap["newClusterSparkEnvVars"] = adlstp.NewClusterSparkEnvVars
13636	}
13637	if adlstp.NewClusterCustomTags != nil {
13638		objectMap["newClusterCustomTags"] = adlstp.NewClusterCustomTags
13639	}
13640	if adlstp.NewClusterDriverNodeType != nil {
13641		objectMap["newClusterDriverNodeType"] = adlstp.NewClusterDriverNodeType
13642	}
13643	if adlstp.NewClusterInitScripts != nil {
13644		objectMap["newClusterInitScripts"] = adlstp.NewClusterInitScripts
13645	}
13646	if adlstp.NewClusterEnableElasticDisk != nil {
13647		objectMap["newClusterEnableElasticDisk"] = adlstp.NewClusterEnableElasticDisk
13648	}
13649	if adlstp.EncryptedCredential != nil {
13650		objectMap["encryptedCredential"] = adlstp.EncryptedCredential
13651	}
13652	return json.Marshal(objectMap)
13653}
13654
13655// UnmarshalJSON is the custom unmarshaler for AzureDatabricksLinkedServiceTypeProperties struct.
13656func (adlstp *AzureDatabricksLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
13657	var m map[string]*json.RawMessage
13658	err := json.Unmarshal(body, &m)
13659	if err != nil {
13660		return err
13661	}
13662	for k, v := range m {
13663		switch k {
13664		case "domain":
13665			if v != nil {
13666				var domain interface{}
13667				err = json.Unmarshal(*v, &domain)
13668				if err != nil {
13669					return err
13670				}
13671				adlstp.Domain = domain
13672			}
13673		case "accessToken":
13674			if v != nil {
13675				accessToken, err := unmarshalBasicSecretBase(*v)
13676				if err != nil {
13677					return err
13678				}
13679				adlstp.AccessToken = accessToken
13680			}
13681		case "existingClusterId":
13682			if v != nil {
13683				var existingClusterID interface{}
13684				err = json.Unmarshal(*v, &existingClusterID)
13685				if err != nil {
13686					return err
13687				}
13688				adlstp.ExistingClusterID = existingClusterID
13689			}
13690		case "newClusterVersion":
13691			if v != nil {
13692				var newClusterVersion interface{}
13693				err = json.Unmarshal(*v, &newClusterVersion)
13694				if err != nil {
13695					return err
13696				}
13697				adlstp.NewClusterVersion = newClusterVersion
13698			}
13699		case "newClusterNumOfWorker":
13700			if v != nil {
13701				var newClusterNumOfWorker interface{}
13702				err = json.Unmarshal(*v, &newClusterNumOfWorker)
13703				if err != nil {
13704					return err
13705				}
13706				adlstp.NewClusterNumOfWorker = newClusterNumOfWorker
13707			}
13708		case "newClusterNodeType":
13709			if v != nil {
13710				var newClusterNodeType interface{}
13711				err = json.Unmarshal(*v, &newClusterNodeType)
13712				if err != nil {
13713					return err
13714				}
13715				adlstp.NewClusterNodeType = newClusterNodeType
13716			}
13717		case "newClusterSparkConf":
13718			if v != nil {
13719				var newClusterSparkConf map[string]interface{}
13720				err = json.Unmarshal(*v, &newClusterSparkConf)
13721				if err != nil {
13722					return err
13723				}
13724				adlstp.NewClusterSparkConf = newClusterSparkConf
13725			}
13726		case "newClusterSparkEnvVars":
13727			if v != nil {
13728				var newClusterSparkEnvVars map[string]interface{}
13729				err = json.Unmarshal(*v, &newClusterSparkEnvVars)
13730				if err != nil {
13731					return err
13732				}
13733				adlstp.NewClusterSparkEnvVars = newClusterSparkEnvVars
13734			}
13735		case "newClusterCustomTags":
13736			if v != nil {
13737				var newClusterCustomTags map[string]interface{}
13738				err = json.Unmarshal(*v, &newClusterCustomTags)
13739				if err != nil {
13740					return err
13741				}
13742				adlstp.NewClusterCustomTags = newClusterCustomTags
13743			}
13744		case "newClusterDriverNodeType":
13745			if v != nil {
13746				var newClusterDriverNodeType interface{}
13747				err = json.Unmarshal(*v, &newClusterDriverNodeType)
13748				if err != nil {
13749					return err
13750				}
13751				adlstp.NewClusterDriverNodeType = newClusterDriverNodeType
13752			}
13753		case "newClusterInitScripts":
13754			if v != nil {
13755				var newClusterInitScripts interface{}
13756				err = json.Unmarshal(*v, &newClusterInitScripts)
13757				if err != nil {
13758					return err
13759				}
13760				adlstp.NewClusterInitScripts = newClusterInitScripts
13761			}
13762		case "newClusterEnableElasticDisk":
13763			if v != nil {
13764				var newClusterEnableElasticDisk interface{}
13765				err = json.Unmarshal(*v, &newClusterEnableElasticDisk)
13766				if err != nil {
13767					return err
13768				}
13769				adlstp.NewClusterEnableElasticDisk = newClusterEnableElasticDisk
13770			}
13771		case "encryptedCredential":
13772			if v != nil {
13773				var encryptedCredential interface{}
13774				err = json.Unmarshal(*v, &encryptedCredential)
13775				if err != nil {
13776					return err
13777				}
13778				adlstp.EncryptedCredential = encryptedCredential
13779			}
13780		}
13781	}
13782
13783	return nil
13784}
13785
13786// AzureDataExplorerCommandActivity azure Data Explorer command activity.
13787type AzureDataExplorerCommandActivity struct {
13788	// AzureDataExplorerCommandActivityTypeProperties - Azure Data Explorer command activity properties.
13789	*AzureDataExplorerCommandActivityTypeProperties `json:"typeProperties,omitempty"`
13790	// LinkedServiceName - Linked service reference.
13791	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
13792	// Policy - Activity policy.
13793	Policy *ActivityPolicy `json:"policy,omitempty"`
13794	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
13795	AdditionalProperties map[string]interface{} `json:""`
13796	// Name - Activity name.
13797	Name *string `json:"name,omitempty"`
13798	// Description - Activity description.
13799	Description *string `json:"description,omitempty"`
13800	// DependsOn - Activity depends on condition.
13801	DependsOn *[]ActivityDependency `json:"dependsOn,omitempty"`
13802	// UserProperties - Activity user properties.
13803	UserProperties *[]UserProperty `json:"userProperties,omitempty"`
13804	// Type - Possible values include: 'TypeActivity', 'TypeAzureFunctionActivity', 'TypeDatabricksSparkPython', 'TypeDatabricksSparkJar', 'TypeDatabricksNotebook', 'TypeDataLakeAnalyticsUSQL', 'TypeAzureMLUpdateResource', 'TypeAzureMLBatchExecution', 'TypeGetMetadata', 'TypeWebActivity', 'TypeLookup', 'TypeAzureDataExplorerCommand', 'TypeDelete', 'TypeSQLServerStoredProcedure', 'TypeCustom', 'TypeExecuteSSISPackage', 'TypeHDInsightSpark', 'TypeHDInsightStreaming', 'TypeHDInsightMapReduce', 'TypeHDInsightPig', 'TypeHDInsightHive', 'TypeCopy', 'TypeExecution', 'TypeWebHook', 'TypeAppendVariable', 'TypeSetVariable', 'TypeFilter', 'TypeValidation', 'TypeUntil', 'TypeWait', 'TypeForEach', 'TypeIfCondition', 'TypeExecutePipeline', 'TypeContainer'
13805	Type TypeBasicActivity `json:"type,omitempty"`
13806}
13807
13808// MarshalJSON is the custom marshaler for AzureDataExplorerCommandActivity.
13809func (adeca AzureDataExplorerCommandActivity) MarshalJSON() ([]byte, error) {
13810	adeca.Type = TypeAzureDataExplorerCommand
13811	objectMap := make(map[string]interface{})
13812	if adeca.AzureDataExplorerCommandActivityTypeProperties != nil {
13813		objectMap["typeProperties"] = adeca.AzureDataExplorerCommandActivityTypeProperties
13814	}
13815	if adeca.LinkedServiceName != nil {
13816		objectMap["linkedServiceName"] = adeca.LinkedServiceName
13817	}
13818	if adeca.Policy != nil {
13819		objectMap["policy"] = adeca.Policy
13820	}
13821	if adeca.Name != nil {
13822		objectMap["name"] = adeca.Name
13823	}
13824	if adeca.Description != nil {
13825		objectMap["description"] = adeca.Description
13826	}
13827	if adeca.DependsOn != nil {
13828		objectMap["dependsOn"] = adeca.DependsOn
13829	}
13830	if adeca.UserProperties != nil {
13831		objectMap["userProperties"] = adeca.UserProperties
13832	}
13833	if adeca.Type != "" {
13834		objectMap["type"] = adeca.Type
13835	}
13836	for k, v := range adeca.AdditionalProperties {
13837		objectMap[k] = v
13838	}
13839	return json.Marshal(objectMap)
13840}
13841
13842// AsAzureFunctionActivity is the BasicActivity implementation for AzureDataExplorerCommandActivity.
13843func (adeca AzureDataExplorerCommandActivity) AsAzureFunctionActivity() (*AzureFunctionActivity, bool) {
13844	return nil, false
13845}
13846
13847// AsDatabricksSparkPythonActivity is the BasicActivity implementation for AzureDataExplorerCommandActivity.
13848func (adeca AzureDataExplorerCommandActivity) AsDatabricksSparkPythonActivity() (*DatabricksSparkPythonActivity, bool) {
13849	return nil, false
13850}
13851
13852// AsDatabricksSparkJarActivity is the BasicActivity implementation for AzureDataExplorerCommandActivity.
13853func (adeca AzureDataExplorerCommandActivity) AsDatabricksSparkJarActivity() (*DatabricksSparkJarActivity, bool) {
13854	return nil, false
13855}
13856
13857// AsDatabricksNotebookActivity is the BasicActivity implementation for AzureDataExplorerCommandActivity.
13858func (adeca AzureDataExplorerCommandActivity) AsDatabricksNotebookActivity() (*DatabricksNotebookActivity, bool) {
13859	return nil, false
13860}
13861
13862// AsDataLakeAnalyticsUSQLActivity is the BasicActivity implementation for AzureDataExplorerCommandActivity.
13863func (adeca AzureDataExplorerCommandActivity) AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalyticsUSQLActivity, bool) {
13864	return nil, false
13865}
13866
13867// AsAzureMLUpdateResourceActivity is the BasicActivity implementation for AzureDataExplorerCommandActivity.
13868func (adeca AzureDataExplorerCommandActivity) AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool) {
13869	return nil, false
13870}
13871
13872// AsAzureMLBatchExecutionActivity is the BasicActivity implementation for AzureDataExplorerCommandActivity.
13873func (adeca AzureDataExplorerCommandActivity) AsAzureMLBatchExecutionActivity() (*AzureMLBatchExecutionActivity, bool) {
13874	return nil, false
13875}
13876
13877// AsGetMetadataActivity is the BasicActivity implementation for AzureDataExplorerCommandActivity.
13878func (adeca AzureDataExplorerCommandActivity) AsGetMetadataActivity() (*GetMetadataActivity, bool) {
13879	return nil, false
13880}
13881
13882// AsWebActivity is the BasicActivity implementation for AzureDataExplorerCommandActivity.
13883func (adeca AzureDataExplorerCommandActivity) AsWebActivity() (*WebActivity, bool) {
13884	return nil, false
13885}
13886
13887// AsLookupActivity is the BasicActivity implementation for AzureDataExplorerCommandActivity.
13888func (adeca AzureDataExplorerCommandActivity) AsLookupActivity() (*LookupActivity, bool) {
13889	return nil, false
13890}
13891
13892// AsAzureDataExplorerCommandActivity is the BasicActivity implementation for AzureDataExplorerCommandActivity.
13893func (adeca AzureDataExplorerCommandActivity) AsAzureDataExplorerCommandActivity() (*AzureDataExplorerCommandActivity, bool) {
13894	return &adeca, true
13895}
13896
13897// AsDeleteActivity is the BasicActivity implementation for AzureDataExplorerCommandActivity.
13898func (adeca AzureDataExplorerCommandActivity) AsDeleteActivity() (*DeleteActivity, bool) {
13899	return nil, false
13900}
13901
13902// AsSQLServerStoredProcedureActivity is the BasicActivity implementation for AzureDataExplorerCommandActivity.
13903func (adeca AzureDataExplorerCommandActivity) AsSQLServerStoredProcedureActivity() (*SQLServerStoredProcedureActivity, bool) {
13904	return nil, false
13905}
13906
13907// AsCustomActivity is the BasicActivity implementation for AzureDataExplorerCommandActivity.
13908func (adeca AzureDataExplorerCommandActivity) AsCustomActivity() (*CustomActivity, bool) {
13909	return nil, false
13910}
13911
13912// AsExecuteSSISPackageActivity is the BasicActivity implementation for AzureDataExplorerCommandActivity.
13913func (adeca AzureDataExplorerCommandActivity) AsExecuteSSISPackageActivity() (*ExecuteSSISPackageActivity, bool) {
13914	return nil, false
13915}
13916
13917// AsHDInsightSparkActivity is the BasicActivity implementation for AzureDataExplorerCommandActivity.
13918func (adeca AzureDataExplorerCommandActivity) AsHDInsightSparkActivity() (*HDInsightSparkActivity, bool) {
13919	return nil, false
13920}
13921
13922// AsHDInsightStreamingActivity is the BasicActivity implementation for AzureDataExplorerCommandActivity.
13923func (adeca AzureDataExplorerCommandActivity) AsHDInsightStreamingActivity() (*HDInsightStreamingActivity, bool) {
13924	return nil, false
13925}
13926
13927// AsHDInsightMapReduceActivity is the BasicActivity implementation for AzureDataExplorerCommandActivity.
13928func (adeca AzureDataExplorerCommandActivity) AsHDInsightMapReduceActivity() (*HDInsightMapReduceActivity, bool) {
13929	return nil, false
13930}
13931
13932// AsHDInsightPigActivity is the BasicActivity implementation for AzureDataExplorerCommandActivity.
13933func (adeca AzureDataExplorerCommandActivity) AsHDInsightPigActivity() (*HDInsightPigActivity, bool) {
13934	return nil, false
13935}
13936
13937// AsHDInsightHiveActivity is the BasicActivity implementation for AzureDataExplorerCommandActivity.
13938func (adeca AzureDataExplorerCommandActivity) AsHDInsightHiveActivity() (*HDInsightHiveActivity, bool) {
13939	return nil, false
13940}
13941
13942// AsCopyActivity is the BasicActivity implementation for AzureDataExplorerCommandActivity.
13943func (adeca AzureDataExplorerCommandActivity) AsCopyActivity() (*CopyActivity, bool) {
13944	return nil, false
13945}
13946
13947// AsExecutionActivity is the BasicActivity implementation for AzureDataExplorerCommandActivity.
13948func (adeca AzureDataExplorerCommandActivity) AsExecutionActivity() (*ExecutionActivity, bool) {
13949	return nil, false
13950}
13951
13952// AsBasicExecutionActivity is the BasicActivity implementation for AzureDataExplorerCommandActivity.
13953func (adeca AzureDataExplorerCommandActivity) AsBasicExecutionActivity() (BasicExecutionActivity, bool) {
13954	return &adeca, true
13955}
13956
13957// AsWebHookActivity is the BasicActivity implementation for AzureDataExplorerCommandActivity.
13958func (adeca AzureDataExplorerCommandActivity) AsWebHookActivity() (*WebHookActivity, bool) {
13959	return nil, false
13960}
13961
13962// AsAppendVariableActivity is the BasicActivity implementation for AzureDataExplorerCommandActivity.
13963func (adeca AzureDataExplorerCommandActivity) AsAppendVariableActivity() (*AppendVariableActivity, bool) {
13964	return nil, false
13965}
13966
13967// AsSetVariableActivity is the BasicActivity implementation for AzureDataExplorerCommandActivity.
13968func (adeca AzureDataExplorerCommandActivity) AsSetVariableActivity() (*SetVariableActivity, bool) {
13969	return nil, false
13970}
13971
13972// AsFilterActivity is the BasicActivity implementation for AzureDataExplorerCommandActivity.
13973func (adeca AzureDataExplorerCommandActivity) AsFilterActivity() (*FilterActivity, bool) {
13974	return nil, false
13975}
13976
13977// AsValidationActivity is the BasicActivity implementation for AzureDataExplorerCommandActivity.
13978func (adeca AzureDataExplorerCommandActivity) AsValidationActivity() (*ValidationActivity, bool) {
13979	return nil, false
13980}
13981
13982// AsUntilActivity is the BasicActivity implementation for AzureDataExplorerCommandActivity.
13983func (adeca AzureDataExplorerCommandActivity) AsUntilActivity() (*UntilActivity, bool) {
13984	return nil, false
13985}
13986
13987// AsWaitActivity is the BasicActivity implementation for AzureDataExplorerCommandActivity.
13988func (adeca AzureDataExplorerCommandActivity) AsWaitActivity() (*WaitActivity, bool) {
13989	return nil, false
13990}
13991
13992// AsForEachActivity is the BasicActivity implementation for AzureDataExplorerCommandActivity.
13993func (adeca AzureDataExplorerCommandActivity) AsForEachActivity() (*ForEachActivity, bool) {
13994	return nil, false
13995}
13996
13997// AsIfConditionActivity is the BasicActivity implementation for AzureDataExplorerCommandActivity.
13998func (adeca AzureDataExplorerCommandActivity) AsIfConditionActivity() (*IfConditionActivity, bool) {
13999	return nil, false
14000}
14001
14002// AsExecutePipelineActivity is the BasicActivity implementation for AzureDataExplorerCommandActivity.
14003func (adeca AzureDataExplorerCommandActivity) AsExecutePipelineActivity() (*ExecutePipelineActivity, bool) {
14004	return nil, false
14005}
14006
14007// AsControlActivity is the BasicActivity implementation for AzureDataExplorerCommandActivity.
14008func (adeca AzureDataExplorerCommandActivity) AsControlActivity() (*ControlActivity, bool) {
14009	return nil, false
14010}
14011
14012// AsBasicControlActivity is the BasicActivity implementation for AzureDataExplorerCommandActivity.
14013func (adeca AzureDataExplorerCommandActivity) AsBasicControlActivity() (BasicControlActivity, bool) {
14014	return nil, false
14015}
14016
14017// AsActivity is the BasicActivity implementation for AzureDataExplorerCommandActivity.
14018func (adeca AzureDataExplorerCommandActivity) AsActivity() (*Activity, bool) {
14019	return nil, false
14020}
14021
14022// AsBasicActivity is the BasicActivity implementation for AzureDataExplorerCommandActivity.
14023func (adeca AzureDataExplorerCommandActivity) AsBasicActivity() (BasicActivity, bool) {
14024	return &adeca, true
14025}
14026
14027// UnmarshalJSON is the custom unmarshaler for AzureDataExplorerCommandActivity struct.
14028func (adeca *AzureDataExplorerCommandActivity) UnmarshalJSON(body []byte) error {
14029	var m map[string]*json.RawMessage
14030	err := json.Unmarshal(body, &m)
14031	if err != nil {
14032		return err
14033	}
14034	for k, v := range m {
14035		switch k {
14036		case "typeProperties":
14037			if v != nil {
14038				var azureDataExplorerCommandActivityTypeProperties AzureDataExplorerCommandActivityTypeProperties
14039				err = json.Unmarshal(*v, &azureDataExplorerCommandActivityTypeProperties)
14040				if err != nil {
14041					return err
14042				}
14043				adeca.AzureDataExplorerCommandActivityTypeProperties = &azureDataExplorerCommandActivityTypeProperties
14044			}
14045		case "linkedServiceName":
14046			if v != nil {
14047				var linkedServiceName LinkedServiceReference
14048				err = json.Unmarshal(*v, &linkedServiceName)
14049				if err != nil {
14050					return err
14051				}
14052				adeca.LinkedServiceName = &linkedServiceName
14053			}
14054		case "policy":
14055			if v != nil {
14056				var policy ActivityPolicy
14057				err = json.Unmarshal(*v, &policy)
14058				if err != nil {
14059					return err
14060				}
14061				adeca.Policy = &policy
14062			}
14063		default:
14064			if v != nil {
14065				var additionalProperties interface{}
14066				err = json.Unmarshal(*v, &additionalProperties)
14067				if err != nil {
14068					return err
14069				}
14070				if adeca.AdditionalProperties == nil {
14071					adeca.AdditionalProperties = make(map[string]interface{})
14072				}
14073				adeca.AdditionalProperties[k] = additionalProperties
14074			}
14075		case "name":
14076			if v != nil {
14077				var name string
14078				err = json.Unmarshal(*v, &name)
14079				if err != nil {
14080					return err
14081				}
14082				adeca.Name = &name
14083			}
14084		case "description":
14085			if v != nil {
14086				var description string
14087				err = json.Unmarshal(*v, &description)
14088				if err != nil {
14089					return err
14090				}
14091				adeca.Description = &description
14092			}
14093		case "dependsOn":
14094			if v != nil {
14095				var dependsOn []ActivityDependency
14096				err = json.Unmarshal(*v, &dependsOn)
14097				if err != nil {
14098					return err
14099				}
14100				adeca.DependsOn = &dependsOn
14101			}
14102		case "userProperties":
14103			if v != nil {
14104				var userProperties []UserProperty
14105				err = json.Unmarshal(*v, &userProperties)
14106				if err != nil {
14107					return err
14108				}
14109				adeca.UserProperties = &userProperties
14110			}
14111		case "type":
14112			if v != nil {
14113				var typeVar TypeBasicActivity
14114				err = json.Unmarshal(*v, &typeVar)
14115				if err != nil {
14116					return err
14117				}
14118				adeca.Type = typeVar
14119			}
14120		}
14121	}
14122
14123	return nil
14124}
14125
14126// AzureDataExplorerCommandActivityTypeProperties azure Data Explorer command activity properties.
14127type AzureDataExplorerCommandActivityTypeProperties struct {
14128	// Command - A control command, according to the Azure Data Explorer command syntax. Type: string (or Expression with resultType string).
14129	Command interface{} `json:"command,omitempty"`
14130	// CommandTimeout - Control command timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9]))..)
14131	CommandTimeout interface{} `json:"commandTimeout,omitempty"`
14132}
14133
14134// AzureDataExplorerDatasetTypeProperties azure Data Explorer (Kusto) dataset properties.
14135type AzureDataExplorerDatasetTypeProperties struct {
14136	// Table - The table name of the Azure Data Explorer database. Type: string (or Expression with resultType string).
14137	Table interface{} `json:"table,omitempty"`
14138}
14139
14140// AzureDataExplorerLinkedService azure Data Explorer (Kusto) linked service.
14141type AzureDataExplorerLinkedService struct {
14142	// AzureDataExplorerLinkedServiceTypeProperties - Azure Data Explorer (Kusto) linked service properties.
14143	*AzureDataExplorerLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
14144	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
14145	AdditionalProperties map[string]interface{} `json:""`
14146	// ConnectVia - The integration runtime reference.
14147	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
14148	// Description - Linked service description.
14149	Description *string `json:"description,omitempty"`
14150	// Parameters - Parameters for linked service.
14151	Parameters map[string]*ParameterSpecification `json:"parameters"`
14152	// Annotations - List of tags that can be used for describing the linked service.
14153	Annotations *[]interface{} `json:"annotations,omitempty"`
14154	// Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', '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', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage'
14155	Type TypeBasicLinkedService `json:"type,omitempty"`
14156}
14157
14158// MarshalJSON is the custom marshaler for AzureDataExplorerLinkedService.
14159func (adels AzureDataExplorerLinkedService) MarshalJSON() ([]byte, error) {
14160	adels.Type = TypeAzureDataExplorer
14161	objectMap := make(map[string]interface{})
14162	if adels.AzureDataExplorerLinkedServiceTypeProperties != nil {
14163		objectMap["typeProperties"] = adels.AzureDataExplorerLinkedServiceTypeProperties
14164	}
14165	if adels.ConnectVia != nil {
14166		objectMap["connectVia"] = adels.ConnectVia
14167	}
14168	if adels.Description != nil {
14169		objectMap["description"] = adels.Description
14170	}
14171	if adels.Parameters != nil {
14172		objectMap["parameters"] = adels.Parameters
14173	}
14174	if adels.Annotations != nil {
14175		objectMap["annotations"] = adels.Annotations
14176	}
14177	if adels.Type != "" {
14178		objectMap["type"] = adels.Type
14179	}
14180	for k, v := range adels.AdditionalProperties {
14181		objectMap[k] = v
14182	}
14183	return json.Marshal(objectMap)
14184}
14185
14186// AsAzureFunctionLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService.
14187func (adels AzureDataExplorerLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) {
14188	return nil, false
14189}
14190
14191// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService.
14192func (adels AzureDataExplorerLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) {
14193	return &adels, true
14194}
14195
14196// AsSapTableLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService.
14197func (adels AzureDataExplorerLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) {
14198	return nil, false
14199}
14200
14201// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService.
14202func (adels AzureDataExplorerLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) {
14203	return nil, false
14204}
14205
14206// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService.
14207func (adels AzureDataExplorerLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) {
14208	return nil, false
14209}
14210
14211// AsDynamicsAXLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService.
14212func (adels AzureDataExplorerLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) {
14213	return nil, false
14214}
14215
14216// AsResponsysLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService.
14217func (adels AzureDataExplorerLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
14218	return nil, false
14219}
14220
14221// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService.
14222func (adels AzureDataExplorerLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
14223	return nil, false
14224}
14225
14226// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService.
14227func (adels AzureDataExplorerLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
14228	return nil, false
14229}
14230
14231// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService.
14232func (adels AzureDataExplorerLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
14233	return nil, false
14234}
14235
14236// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService.
14237func (adels AzureDataExplorerLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
14238	return nil, false
14239}
14240
14241// AsNetezzaLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService.
14242func (adels AzureDataExplorerLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
14243	return nil, false
14244}
14245
14246// AsVerticaLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService.
14247func (adels AzureDataExplorerLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
14248	return nil, false
14249}
14250
14251// AsZohoLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService.
14252func (adels AzureDataExplorerLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
14253	return nil, false
14254}
14255
14256// AsXeroLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService.
14257func (adels AzureDataExplorerLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
14258	return nil, false
14259}
14260
14261// AsSquareLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService.
14262func (adels AzureDataExplorerLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
14263	return nil, false
14264}
14265
14266// AsSparkLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService.
14267func (adels AzureDataExplorerLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
14268	return nil, false
14269}
14270
14271// AsShopifyLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService.
14272func (adels AzureDataExplorerLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
14273	return nil, false
14274}
14275
14276// AsServiceNowLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService.
14277func (adels AzureDataExplorerLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
14278	return nil, false
14279}
14280
14281// AsQuickBooksLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService.
14282func (adels AzureDataExplorerLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
14283	return nil, false
14284}
14285
14286// AsPrestoLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService.
14287func (adels AzureDataExplorerLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
14288	return nil, false
14289}
14290
14291// AsPhoenixLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService.
14292func (adels AzureDataExplorerLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
14293	return nil, false
14294}
14295
14296// AsPaypalLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService.
14297func (adels AzureDataExplorerLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
14298	return nil, false
14299}
14300
14301// AsMarketoLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService.
14302func (adels AzureDataExplorerLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
14303	return nil, false
14304}
14305
14306// AsMariaDBLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService.
14307func (adels AzureDataExplorerLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
14308	return nil, false
14309}
14310
14311// AsMagentoLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService.
14312func (adels AzureDataExplorerLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
14313	return nil, false
14314}
14315
14316// AsJiraLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService.
14317func (adels AzureDataExplorerLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
14318	return nil, false
14319}
14320
14321// AsImpalaLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService.
14322func (adels AzureDataExplorerLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
14323	return nil, false
14324}
14325
14326// AsHubspotLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService.
14327func (adels AzureDataExplorerLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
14328	return nil, false
14329}
14330
14331// AsHiveLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService.
14332func (adels AzureDataExplorerLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
14333	return nil, false
14334}
14335
14336// AsHBaseLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService.
14337func (adels AzureDataExplorerLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
14338	return nil, false
14339}
14340
14341// AsGreenplumLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService.
14342func (adels AzureDataExplorerLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
14343	return nil, false
14344}
14345
14346// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService.
14347func (adels AzureDataExplorerLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
14348	return nil, false
14349}
14350
14351// AsEloquaLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService.
14352func (adels AzureDataExplorerLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
14353	return nil, false
14354}
14355
14356// AsDrillLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService.
14357func (adels AzureDataExplorerLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
14358	return nil, false
14359}
14360
14361// AsCouchbaseLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService.
14362func (adels AzureDataExplorerLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
14363	return nil, false
14364}
14365
14366// AsConcurLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService.
14367func (adels AzureDataExplorerLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
14368	return nil, false
14369}
14370
14371// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService.
14372func (adels AzureDataExplorerLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
14373	return nil, false
14374}
14375
14376// AsAmazonMWSLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService.
14377func (adels AzureDataExplorerLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
14378	return nil, false
14379}
14380
14381// AsSapHanaLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService.
14382func (adels AzureDataExplorerLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
14383	return nil, false
14384}
14385
14386// AsSapBWLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService.
14387func (adels AzureDataExplorerLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
14388	return nil, false
14389}
14390
14391// AsSftpServerLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService.
14392func (adels AzureDataExplorerLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
14393	return nil, false
14394}
14395
14396// AsFtpServerLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService.
14397func (adels AzureDataExplorerLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
14398	return nil, false
14399}
14400
14401// AsHTTPLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService.
14402func (adels AzureDataExplorerLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
14403	return nil, false
14404}
14405
14406// AsAzureSearchLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService.
14407func (adels AzureDataExplorerLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
14408	return nil, false
14409}
14410
14411// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService.
14412func (adels AzureDataExplorerLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
14413	return nil, false
14414}
14415
14416// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService.
14417func (adels AzureDataExplorerLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
14418	return nil, false
14419}
14420
14421// AsAmazonS3LinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService.
14422func (adels AzureDataExplorerLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
14423	return nil, false
14424}
14425
14426// AsRestServiceLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService.
14427func (adels AzureDataExplorerLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) {
14428	return nil, false
14429}
14430
14431// AsSapOpenHubLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService.
14432func (adels AzureDataExplorerLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) {
14433	return nil, false
14434}
14435
14436// AsSapEccLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService.
14437func (adels AzureDataExplorerLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
14438	return nil, false
14439}
14440
14441// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService.
14442func (adels AzureDataExplorerLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
14443	return nil, false
14444}
14445
14446// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService.
14447func (adels AzureDataExplorerLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) {
14448	return nil, false
14449}
14450
14451// AsSalesforceLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService.
14452func (adels AzureDataExplorerLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
14453	return nil, false
14454}
14455
14456// AsOffice365LinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService.
14457func (adels AzureDataExplorerLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) {
14458	return nil, false
14459}
14460
14461// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService.
14462func (adels AzureDataExplorerLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) {
14463	return nil, false
14464}
14465
14466// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService.
14467func (adels AzureDataExplorerLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
14468	return nil, false
14469}
14470
14471// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService.
14472func (adels AzureDataExplorerLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) {
14473	return nil, false
14474}
14475
14476// AsMongoDbV2LinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService.
14477func (adels AzureDataExplorerLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) {
14478	return nil, false
14479}
14480
14481// AsMongoDbLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService.
14482func (adels AzureDataExplorerLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
14483	return nil, false
14484}
14485
14486// AsCassandraLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService.
14487func (adels AzureDataExplorerLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
14488	return nil, false
14489}
14490
14491// AsWebLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService.
14492func (adels AzureDataExplorerLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
14493	return nil, false
14494}
14495
14496// AsODataLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService.
14497func (adels AzureDataExplorerLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
14498	return nil, false
14499}
14500
14501// AsHdfsLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService.
14502func (adels AzureDataExplorerLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
14503	return nil, false
14504}
14505
14506// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService.
14507func (adels AzureDataExplorerLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) {
14508	return nil, false
14509}
14510
14511// AsInformixLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService.
14512func (adels AzureDataExplorerLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) {
14513	return nil, false
14514}
14515
14516// AsOdbcLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService.
14517func (adels AzureDataExplorerLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
14518	return nil, false
14519}
14520
14521// AsAzureMLLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService.
14522func (adels AzureDataExplorerLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
14523	return nil, false
14524}
14525
14526// AsTeradataLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService.
14527func (adels AzureDataExplorerLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
14528	return nil, false
14529}
14530
14531// AsDb2LinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService.
14532func (adels AzureDataExplorerLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
14533	return nil, false
14534}
14535
14536// AsSybaseLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService.
14537func (adels AzureDataExplorerLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
14538	return nil, false
14539}
14540
14541// AsPostgreSQLLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService.
14542func (adels AzureDataExplorerLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
14543	return nil, false
14544}
14545
14546// AsMySQLLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService.
14547func (adels AzureDataExplorerLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
14548	return nil, false
14549}
14550
14551// AsAzureMySQLLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService.
14552func (adels AzureDataExplorerLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
14553	return nil, false
14554}
14555
14556// AsOracleLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService.
14557func (adels AzureDataExplorerLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
14558	return nil, false
14559}
14560
14561// AsFileServerLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService.
14562func (adels AzureDataExplorerLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
14563	return nil, false
14564}
14565
14566// AsHDInsightLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService.
14567func (adels AzureDataExplorerLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
14568	return nil, false
14569}
14570
14571// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService.
14572func (adels AzureDataExplorerLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) {
14573	return nil, false
14574}
14575
14576// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService.
14577func (adels AzureDataExplorerLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) {
14578	return nil, false
14579}
14580
14581// AsDynamicsLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService.
14582func (adels AzureDataExplorerLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
14583	return nil, false
14584}
14585
14586// AsCosmosDbLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService.
14587func (adels AzureDataExplorerLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
14588	return nil, false
14589}
14590
14591// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService.
14592func (adels AzureDataExplorerLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
14593	return nil, false
14594}
14595
14596// AsAzureBatchLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService.
14597func (adels AzureDataExplorerLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
14598	return nil, false
14599}
14600
14601// AsAzureSQLMILinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService.
14602func (adels AzureDataExplorerLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) {
14603	return nil, false
14604}
14605
14606// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService.
14607func (adels AzureDataExplorerLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
14608	return nil, false
14609}
14610
14611// AsSQLServerLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService.
14612func (adels AzureDataExplorerLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
14613	return nil, false
14614}
14615
14616// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService.
14617func (adels AzureDataExplorerLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
14618	return nil, false
14619}
14620
14621// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService.
14622func (adels AzureDataExplorerLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) {
14623	return nil, false
14624}
14625
14626// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService.
14627func (adels AzureDataExplorerLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) {
14628	return nil, false
14629}
14630
14631// AsAzureStorageLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService.
14632func (adels AzureDataExplorerLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
14633	return nil, false
14634}
14635
14636// AsLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService.
14637func (adels AzureDataExplorerLinkedService) AsLinkedService() (*LinkedService, bool) {
14638	return nil, false
14639}
14640
14641// AsBasicLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService.
14642func (adels AzureDataExplorerLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
14643	return &adels, true
14644}
14645
14646// UnmarshalJSON is the custom unmarshaler for AzureDataExplorerLinkedService struct.
14647func (adels *AzureDataExplorerLinkedService) UnmarshalJSON(body []byte) error {
14648	var m map[string]*json.RawMessage
14649	err := json.Unmarshal(body, &m)
14650	if err != nil {
14651		return err
14652	}
14653	for k, v := range m {
14654		switch k {
14655		case "typeProperties":
14656			if v != nil {
14657				var azureDataExplorerLinkedServiceTypeProperties AzureDataExplorerLinkedServiceTypeProperties
14658				err = json.Unmarshal(*v, &azureDataExplorerLinkedServiceTypeProperties)
14659				if err != nil {
14660					return err
14661				}
14662				adels.AzureDataExplorerLinkedServiceTypeProperties = &azureDataExplorerLinkedServiceTypeProperties
14663			}
14664		default:
14665			if v != nil {
14666				var additionalProperties interface{}
14667				err = json.Unmarshal(*v, &additionalProperties)
14668				if err != nil {
14669					return err
14670				}
14671				if adels.AdditionalProperties == nil {
14672					adels.AdditionalProperties = make(map[string]interface{})
14673				}
14674				adels.AdditionalProperties[k] = additionalProperties
14675			}
14676		case "connectVia":
14677			if v != nil {
14678				var connectVia IntegrationRuntimeReference
14679				err = json.Unmarshal(*v, &connectVia)
14680				if err != nil {
14681					return err
14682				}
14683				adels.ConnectVia = &connectVia
14684			}
14685		case "description":
14686			if v != nil {
14687				var description string
14688				err = json.Unmarshal(*v, &description)
14689				if err != nil {
14690					return err
14691				}
14692				adels.Description = &description
14693			}
14694		case "parameters":
14695			if v != nil {
14696				var parameters map[string]*ParameterSpecification
14697				err = json.Unmarshal(*v, &parameters)
14698				if err != nil {
14699					return err
14700				}
14701				adels.Parameters = parameters
14702			}
14703		case "annotations":
14704			if v != nil {
14705				var annotations []interface{}
14706				err = json.Unmarshal(*v, &annotations)
14707				if err != nil {
14708					return err
14709				}
14710				adels.Annotations = &annotations
14711			}
14712		case "type":
14713			if v != nil {
14714				var typeVar TypeBasicLinkedService
14715				err = json.Unmarshal(*v, &typeVar)
14716				if err != nil {
14717					return err
14718				}
14719				adels.Type = typeVar
14720			}
14721		}
14722	}
14723
14724	return nil
14725}
14726
14727// AzureDataExplorerLinkedServiceTypeProperties azure Data Explorer (Kusto) linked service properties.
14728type AzureDataExplorerLinkedServiceTypeProperties struct {
14729	// Endpoint - The endpoint of Azure Data Explorer (the engine's endpoint). URL will be in the format https://<clusterName>.<regionName>.kusto.windows.net. Type: string (or Expression with resultType string)
14730	Endpoint interface{} `json:"endpoint,omitempty"`
14731	// ServicePrincipalID - The ID of the service principal used to authenticate against Azure Data Explorer. Type: string (or Expression with resultType string).
14732	ServicePrincipalID interface{} `json:"servicePrincipalId,omitempty"`
14733	// ServicePrincipalKey - The key of the service principal used to authenticate against Kusto.
14734	ServicePrincipalKey BasicSecretBase `json:"servicePrincipalKey,omitempty"`
14735	// Database - Database name for connection. Type: string (or Expression with resultType string).
14736	Database interface{} `json:"database,omitempty"`
14737	// Tenant - The name or ID of the tenant to which the service principal belongs. Type: string (or Expression with resultType string).
14738	Tenant interface{} `json:"tenant,omitempty"`
14739}
14740
14741// UnmarshalJSON is the custom unmarshaler for AzureDataExplorerLinkedServiceTypeProperties struct.
14742func (adelstp *AzureDataExplorerLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
14743	var m map[string]*json.RawMessage
14744	err := json.Unmarshal(body, &m)
14745	if err != nil {
14746		return err
14747	}
14748	for k, v := range m {
14749		switch k {
14750		case "endpoint":
14751			if v != nil {
14752				var endpoint interface{}
14753				err = json.Unmarshal(*v, &endpoint)
14754				if err != nil {
14755					return err
14756				}
14757				adelstp.Endpoint = endpoint
14758			}
14759		case "servicePrincipalId":
14760			if v != nil {
14761				var servicePrincipalID interface{}
14762				err = json.Unmarshal(*v, &servicePrincipalID)
14763				if err != nil {
14764					return err
14765				}
14766				adelstp.ServicePrincipalID = servicePrincipalID
14767			}
14768		case "servicePrincipalKey":
14769			if v != nil {
14770				servicePrincipalKey, err := unmarshalBasicSecretBase(*v)
14771				if err != nil {
14772					return err
14773				}
14774				adelstp.ServicePrincipalKey = servicePrincipalKey
14775			}
14776		case "database":
14777			if v != nil {
14778				var databaseVar interface{}
14779				err = json.Unmarshal(*v, &databaseVar)
14780				if err != nil {
14781					return err
14782				}
14783				adelstp.Database = databaseVar
14784			}
14785		case "tenant":
14786			if v != nil {
14787				var tenant interface{}
14788				err = json.Unmarshal(*v, &tenant)
14789				if err != nil {
14790					return err
14791				}
14792				adelstp.Tenant = tenant
14793			}
14794		}
14795	}
14796
14797	return nil
14798}
14799
14800// AzureDataExplorerSink a copy activity Azure Data Explorer sink.
14801type AzureDataExplorerSink struct {
14802	// IngestionMappingName - A name of a pre-created csv mapping that was defined on the target Kusto table. Type: string.
14803	IngestionMappingName interface{} `json:"ingestionMappingName,omitempty"`
14804	// IngestionMappingAsJSON - An explicit column mapping description provided in a json format. Type: string.
14805	IngestionMappingAsJSON interface{} `json:"ingestionMappingAsJson,omitempty"`
14806	// FlushImmediately - If set to true, any aggregation will be skipped. Default is false. Type: boolean.
14807	FlushImmediately interface{} `json:"flushImmediately,omitempty"`
14808	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
14809	AdditionalProperties map[string]interface{} `json:""`
14810	// WriteBatchSize - Write batch size. Type: integer (or Expression with resultType integer), minimum: 0.
14811	WriteBatchSize interface{} `json:"writeBatchSize,omitempty"`
14812	// 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])).
14813	WriteBatchTimeout interface{} `json:"writeBatchTimeout,omitempty"`
14814	// SinkRetryCount - Sink retry count. Type: integer (or Expression with resultType integer).
14815	SinkRetryCount interface{} `json:"sinkRetryCount,omitempty"`
14816	// 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])).
14817	SinkRetryWait interface{} `json:"sinkRetryWait,omitempty"`
14818	// MaxConcurrentConnections - The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer).
14819	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
14820	// Type - Possible values include: 'TypeCopySink', 'TypeCosmosDbMongoDbAPISink', 'TypeSalesforceServiceCloudSink', 'TypeSalesforceSink', 'TypeAzureDataExplorerSink', 'TypeCommonDataServiceForAppsSink', 'TypeDynamicsCrmSink', 'TypeDynamicsSink', 'TypeMicrosoftAccessSink', 'TypeInformixSink', 'TypeOdbcSink', 'TypeAzureSearchIndexSink', 'TypeAzureBlobFSSink', 'TypeAzureDataLakeStoreSink', 'TypeOracleSink', 'TypeSQLDWSink', 'TypeSQLMISink', 'TypeAzureSQLSink', 'TypeSQLServerSink', 'TypeSQLSink', 'TypeDocumentDbCollectionSink', 'TypeFileSystemSink', 'TypeBlobSink', 'TypeBinarySink', 'TypeParquetSink', 'TypeAzureTableSink', 'TypeAzureQueueSink', 'TypeSapCloudForCustomerSink', 'TypeAzurePostgreSQLSink', 'TypeDelimitedTextSink'
14821	Type TypeBasicCopySink `json:"type,omitempty"`
14822}
14823
14824// MarshalJSON is the custom marshaler for AzureDataExplorerSink.
14825func (ades AzureDataExplorerSink) MarshalJSON() ([]byte, error) {
14826	ades.Type = TypeAzureDataExplorerSink
14827	objectMap := make(map[string]interface{})
14828	if ades.IngestionMappingName != nil {
14829		objectMap["ingestionMappingName"] = ades.IngestionMappingName
14830	}
14831	if ades.IngestionMappingAsJSON != nil {
14832		objectMap["ingestionMappingAsJson"] = ades.IngestionMappingAsJSON
14833	}
14834	if ades.FlushImmediately != nil {
14835		objectMap["flushImmediately"] = ades.FlushImmediately
14836	}
14837	if ades.WriteBatchSize != nil {
14838		objectMap["writeBatchSize"] = ades.WriteBatchSize
14839	}
14840	if ades.WriteBatchTimeout != nil {
14841		objectMap["writeBatchTimeout"] = ades.WriteBatchTimeout
14842	}
14843	if ades.SinkRetryCount != nil {
14844		objectMap["sinkRetryCount"] = ades.SinkRetryCount
14845	}
14846	if ades.SinkRetryWait != nil {
14847		objectMap["sinkRetryWait"] = ades.SinkRetryWait
14848	}
14849	if ades.MaxConcurrentConnections != nil {
14850		objectMap["maxConcurrentConnections"] = ades.MaxConcurrentConnections
14851	}
14852	if ades.Type != "" {
14853		objectMap["type"] = ades.Type
14854	}
14855	for k, v := range ades.AdditionalProperties {
14856		objectMap[k] = v
14857	}
14858	return json.Marshal(objectMap)
14859}
14860
14861// AsCosmosDbMongoDbAPISink is the BasicCopySink implementation for AzureDataExplorerSink.
14862func (ades AzureDataExplorerSink) AsCosmosDbMongoDbAPISink() (*CosmosDbMongoDbAPISink, bool) {
14863	return nil, false
14864}
14865
14866// AsSalesforceServiceCloudSink is the BasicCopySink implementation for AzureDataExplorerSink.
14867func (ades AzureDataExplorerSink) AsSalesforceServiceCloudSink() (*SalesforceServiceCloudSink, bool) {
14868	return nil, false
14869}
14870
14871// AsSalesforceSink is the BasicCopySink implementation for AzureDataExplorerSink.
14872func (ades AzureDataExplorerSink) AsSalesforceSink() (*SalesforceSink, bool) {
14873	return nil, false
14874}
14875
14876// AsAzureDataExplorerSink is the BasicCopySink implementation for AzureDataExplorerSink.
14877func (ades AzureDataExplorerSink) AsAzureDataExplorerSink() (*AzureDataExplorerSink, bool) {
14878	return &ades, true
14879}
14880
14881// AsCommonDataServiceForAppsSink is the BasicCopySink implementation for AzureDataExplorerSink.
14882func (ades AzureDataExplorerSink) AsCommonDataServiceForAppsSink() (*CommonDataServiceForAppsSink, bool) {
14883	return nil, false
14884}
14885
14886// AsDynamicsCrmSink is the BasicCopySink implementation for AzureDataExplorerSink.
14887func (ades AzureDataExplorerSink) AsDynamicsCrmSink() (*DynamicsCrmSink, bool) {
14888	return nil, false
14889}
14890
14891// AsDynamicsSink is the BasicCopySink implementation for AzureDataExplorerSink.
14892func (ades AzureDataExplorerSink) AsDynamicsSink() (*DynamicsSink, bool) {
14893	return nil, false
14894}
14895
14896// AsMicrosoftAccessSink is the BasicCopySink implementation for AzureDataExplorerSink.
14897func (ades AzureDataExplorerSink) AsMicrosoftAccessSink() (*MicrosoftAccessSink, bool) {
14898	return nil, false
14899}
14900
14901// AsInformixSink is the BasicCopySink implementation for AzureDataExplorerSink.
14902func (ades AzureDataExplorerSink) AsInformixSink() (*InformixSink, bool) {
14903	return nil, false
14904}
14905
14906// AsOdbcSink is the BasicCopySink implementation for AzureDataExplorerSink.
14907func (ades AzureDataExplorerSink) AsOdbcSink() (*OdbcSink, bool) {
14908	return nil, false
14909}
14910
14911// AsAzureSearchIndexSink is the BasicCopySink implementation for AzureDataExplorerSink.
14912func (ades AzureDataExplorerSink) AsAzureSearchIndexSink() (*AzureSearchIndexSink, bool) {
14913	return nil, false
14914}
14915
14916// AsAzureBlobFSSink is the BasicCopySink implementation for AzureDataExplorerSink.
14917func (ades AzureDataExplorerSink) AsAzureBlobFSSink() (*AzureBlobFSSink, bool) {
14918	return nil, false
14919}
14920
14921// AsAzureDataLakeStoreSink is the BasicCopySink implementation for AzureDataExplorerSink.
14922func (ades AzureDataExplorerSink) AsAzureDataLakeStoreSink() (*AzureDataLakeStoreSink, bool) {
14923	return nil, false
14924}
14925
14926// AsOracleSink is the BasicCopySink implementation for AzureDataExplorerSink.
14927func (ades AzureDataExplorerSink) AsOracleSink() (*OracleSink, bool) {
14928	return nil, false
14929}
14930
14931// AsSQLDWSink is the BasicCopySink implementation for AzureDataExplorerSink.
14932func (ades AzureDataExplorerSink) AsSQLDWSink() (*SQLDWSink, bool) {
14933	return nil, false
14934}
14935
14936// AsSQLMISink is the BasicCopySink implementation for AzureDataExplorerSink.
14937func (ades AzureDataExplorerSink) AsSQLMISink() (*SQLMISink, bool) {
14938	return nil, false
14939}
14940
14941// AsAzureSQLSink is the BasicCopySink implementation for AzureDataExplorerSink.
14942func (ades AzureDataExplorerSink) AsAzureSQLSink() (*AzureSQLSink, bool) {
14943	return nil, false
14944}
14945
14946// AsSQLServerSink is the BasicCopySink implementation for AzureDataExplorerSink.
14947func (ades AzureDataExplorerSink) AsSQLServerSink() (*SQLServerSink, bool) {
14948	return nil, false
14949}
14950
14951// AsSQLSink is the BasicCopySink implementation for AzureDataExplorerSink.
14952func (ades AzureDataExplorerSink) AsSQLSink() (*SQLSink, bool) {
14953	return nil, false
14954}
14955
14956// AsDocumentDbCollectionSink is the BasicCopySink implementation for AzureDataExplorerSink.
14957func (ades AzureDataExplorerSink) AsDocumentDbCollectionSink() (*DocumentDbCollectionSink, bool) {
14958	return nil, false
14959}
14960
14961// AsFileSystemSink is the BasicCopySink implementation for AzureDataExplorerSink.
14962func (ades AzureDataExplorerSink) AsFileSystemSink() (*FileSystemSink, bool) {
14963	return nil, false
14964}
14965
14966// AsBlobSink is the BasicCopySink implementation for AzureDataExplorerSink.
14967func (ades AzureDataExplorerSink) AsBlobSink() (*BlobSink, bool) {
14968	return nil, false
14969}
14970
14971// AsBinarySink is the BasicCopySink implementation for AzureDataExplorerSink.
14972func (ades AzureDataExplorerSink) AsBinarySink() (*BinarySink, bool) {
14973	return nil, false
14974}
14975
14976// AsParquetSink is the BasicCopySink implementation for AzureDataExplorerSink.
14977func (ades AzureDataExplorerSink) AsParquetSink() (*ParquetSink, bool) {
14978	return nil, false
14979}
14980
14981// AsAzureTableSink is the BasicCopySink implementation for AzureDataExplorerSink.
14982func (ades AzureDataExplorerSink) AsAzureTableSink() (*AzureTableSink, bool) {
14983	return nil, false
14984}
14985
14986// AsAzureQueueSink is the BasicCopySink implementation for AzureDataExplorerSink.
14987func (ades AzureDataExplorerSink) AsAzureQueueSink() (*AzureQueueSink, bool) {
14988	return nil, false
14989}
14990
14991// AsSapCloudForCustomerSink is the BasicCopySink implementation for AzureDataExplorerSink.
14992func (ades AzureDataExplorerSink) AsSapCloudForCustomerSink() (*SapCloudForCustomerSink, bool) {
14993	return nil, false
14994}
14995
14996// AsAzurePostgreSQLSink is the BasicCopySink implementation for AzureDataExplorerSink.
14997func (ades AzureDataExplorerSink) AsAzurePostgreSQLSink() (*AzurePostgreSQLSink, bool) {
14998	return nil, false
14999}
15000
15001// AsDelimitedTextSink is the BasicCopySink implementation for AzureDataExplorerSink.
15002func (ades AzureDataExplorerSink) AsDelimitedTextSink() (*DelimitedTextSink, bool) {
15003	return nil, false
15004}
15005
15006// AsCopySink is the BasicCopySink implementation for AzureDataExplorerSink.
15007func (ades AzureDataExplorerSink) AsCopySink() (*CopySink, bool) {
15008	return nil, false
15009}
15010
15011// AsBasicCopySink is the BasicCopySink implementation for AzureDataExplorerSink.
15012func (ades AzureDataExplorerSink) AsBasicCopySink() (BasicCopySink, bool) {
15013	return &ades, true
15014}
15015
15016// UnmarshalJSON is the custom unmarshaler for AzureDataExplorerSink struct.
15017func (ades *AzureDataExplorerSink) UnmarshalJSON(body []byte) error {
15018	var m map[string]*json.RawMessage
15019	err := json.Unmarshal(body, &m)
15020	if err != nil {
15021		return err
15022	}
15023	for k, v := range m {
15024		switch k {
15025		case "ingestionMappingName":
15026			if v != nil {
15027				var ingestionMappingName interface{}
15028				err = json.Unmarshal(*v, &ingestionMappingName)
15029				if err != nil {
15030					return err
15031				}
15032				ades.IngestionMappingName = ingestionMappingName
15033			}
15034		case "ingestionMappingAsJson":
15035			if v != nil {
15036				var ingestionMappingAsJSON interface{}
15037				err = json.Unmarshal(*v, &ingestionMappingAsJSON)
15038				if err != nil {
15039					return err
15040				}
15041				ades.IngestionMappingAsJSON = ingestionMappingAsJSON
15042			}
15043		case "flushImmediately":
15044			if v != nil {
15045				var flushImmediately interface{}
15046				err = json.Unmarshal(*v, &flushImmediately)
15047				if err != nil {
15048					return err
15049				}
15050				ades.FlushImmediately = flushImmediately
15051			}
15052		default:
15053			if v != nil {
15054				var additionalProperties interface{}
15055				err = json.Unmarshal(*v, &additionalProperties)
15056				if err != nil {
15057					return err
15058				}
15059				if ades.AdditionalProperties == nil {
15060					ades.AdditionalProperties = make(map[string]interface{})
15061				}
15062				ades.AdditionalProperties[k] = additionalProperties
15063			}
15064		case "writeBatchSize":
15065			if v != nil {
15066				var writeBatchSize interface{}
15067				err = json.Unmarshal(*v, &writeBatchSize)
15068				if err != nil {
15069					return err
15070				}
15071				ades.WriteBatchSize = writeBatchSize
15072			}
15073		case "writeBatchTimeout":
15074			if v != nil {
15075				var writeBatchTimeout interface{}
15076				err = json.Unmarshal(*v, &writeBatchTimeout)
15077				if err != nil {
15078					return err
15079				}
15080				ades.WriteBatchTimeout = writeBatchTimeout
15081			}
15082		case "sinkRetryCount":
15083			if v != nil {
15084				var sinkRetryCount interface{}
15085				err = json.Unmarshal(*v, &sinkRetryCount)
15086				if err != nil {
15087					return err
15088				}
15089				ades.SinkRetryCount = sinkRetryCount
15090			}
15091		case "sinkRetryWait":
15092			if v != nil {
15093				var sinkRetryWait interface{}
15094				err = json.Unmarshal(*v, &sinkRetryWait)
15095				if err != nil {
15096					return err
15097				}
15098				ades.SinkRetryWait = sinkRetryWait
15099			}
15100		case "maxConcurrentConnections":
15101			if v != nil {
15102				var maxConcurrentConnections interface{}
15103				err = json.Unmarshal(*v, &maxConcurrentConnections)
15104				if err != nil {
15105					return err
15106				}
15107				ades.MaxConcurrentConnections = maxConcurrentConnections
15108			}
15109		case "type":
15110			if v != nil {
15111				var typeVar TypeBasicCopySink
15112				err = json.Unmarshal(*v, &typeVar)
15113				if err != nil {
15114					return err
15115				}
15116				ades.Type = typeVar
15117			}
15118		}
15119	}
15120
15121	return nil
15122}
15123
15124// AzureDataExplorerSource a copy activity Azure Data Explorer (Kusto) source.
15125type AzureDataExplorerSource struct {
15126	// Query - Database query. Should be a Kusto Query Language (KQL) query. Type: string (or Expression with resultType string).
15127	Query interface{} `json:"query,omitempty"`
15128	// NoTruncation - The name of the Boolean option that controls whether truncation is applied to result-sets that go beyond a certain row-count limit.
15129	NoTruncation interface{} `json:"noTruncation,omitempty"`
15130	// QueryTimeout - Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9]))..
15131	QueryTimeout interface{} `json:"queryTimeout,omitempty"`
15132	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
15133	AdditionalProperties map[string]interface{} `json:""`
15134	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
15135	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
15136	// 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])).
15137	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
15138	// MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer).
15139	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
15140	// Type - Possible values include: 'TypeCopySource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', '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', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeCassandraSource', 'TypeWebSource', 'TypeTeradataSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeAzureMySQLSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeRestSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceServiceCloudSource', 'TypeSalesforceSource', 'TypeODataSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeMicrosoftAccessSource', 'TypeInformixSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAzureTableSource', 'TypeBinarySource', 'TypeDelimitedTextSource', 'TypeParquetSource'
15141	Type TypeBasicCopySource `json:"type,omitempty"`
15142}
15143
15144// MarshalJSON is the custom marshaler for AzureDataExplorerSource.
15145func (ades AzureDataExplorerSource) MarshalJSON() ([]byte, error) {
15146	ades.Type = TypeAzureDataExplorerSource
15147	objectMap := make(map[string]interface{})
15148	if ades.Query != nil {
15149		objectMap["query"] = ades.Query
15150	}
15151	if ades.NoTruncation != nil {
15152		objectMap["noTruncation"] = ades.NoTruncation
15153	}
15154	if ades.QueryTimeout != nil {
15155		objectMap["queryTimeout"] = ades.QueryTimeout
15156	}
15157	if ades.SourceRetryCount != nil {
15158		objectMap["sourceRetryCount"] = ades.SourceRetryCount
15159	}
15160	if ades.SourceRetryWait != nil {
15161		objectMap["sourceRetryWait"] = ades.SourceRetryWait
15162	}
15163	if ades.MaxConcurrentConnections != nil {
15164		objectMap["maxConcurrentConnections"] = ades.MaxConcurrentConnections
15165	}
15166	if ades.Type != "" {
15167		objectMap["type"] = ades.Type
15168	}
15169	for k, v := range ades.AdditionalProperties {
15170		objectMap[k] = v
15171	}
15172	return json.Marshal(objectMap)
15173}
15174
15175// AsAmazonRedshiftSource is the BasicCopySource implementation for AzureDataExplorerSource.
15176func (ades AzureDataExplorerSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
15177	return nil, false
15178}
15179
15180// AsGoogleAdWordsSource is the BasicCopySource implementation for AzureDataExplorerSource.
15181func (ades AzureDataExplorerSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) {
15182	return nil, false
15183}
15184
15185// AsOracleServiceCloudSource is the BasicCopySource implementation for AzureDataExplorerSource.
15186func (ades AzureDataExplorerSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) {
15187	return nil, false
15188}
15189
15190// AsDynamicsAXSource is the BasicCopySource implementation for AzureDataExplorerSource.
15191func (ades AzureDataExplorerSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) {
15192	return nil, false
15193}
15194
15195// AsResponsysSource is the BasicCopySource implementation for AzureDataExplorerSource.
15196func (ades AzureDataExplorerSource) AsResponsysSource() (*ResponsysSource, bool) {
15197	return nil, false
15198}
15199
15200// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for AzureDataExplorerSource.
15201func (ades AzureDataExplorerSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
15202	return nil, false
15203}
15204
15205// AsVerticaSource is the BasicCopySource implementation for AzureDataExplorerSource.
15206func (ades AzureDataExplorerSource) AsVerticaSource() (*VerticaSource, bool) {
15207	return nil, false
15208}
15209
15210// AsNetezzaSource is the BasicCopySource implementation for AzureDataExplorerSource.
15211func (ades AzureDataExplorerSource) AsNetezzaSource() (*NetezzaSource, bool) {
15212	return nil, false
15213}
15214
15215// AsZohoSource is the BasicCopySource implementation for AzureDataExplorerSource.
15216func (ades AzureDataExplorerSource) AsZohoSource() (*ZohoSource, bool) {
15217	return nil, false
15218}
15219
15220// AsXeroSource is the BasicCopySource implementation for AzureDataExplorerSource.
15221func (ades AzureDataExplorerSource) AsXeroSource() (*XeroSource, bool) {
15222	return nil, false
15223}
15224
15225// AsSquareSource is the BasicCopySource implementation for AzureDataExplorerSource.
15226func (ades AzureDataExplorerSource) AsSquareSource() (*SquareSource, bool) {
15227	return nil, false
15228}
15229
15230// AsSparkSource is the BasicCopySource implementation for AzureDataExplorerSource.
15231func (ades AzureDataExplorerSource) AsSparkSource() (*SparkSource, bool) {
15232	return nil, false
15233}
15234
15235// AsShopifySource is the BasicCopySource implementation for AzureDataExplorerSource.
15236func (ades AzureDataExplorerSource) AsShopifySource() (*ShopifySource, bool) {
15237	return nil, false
15238}
15239
15240// AsServiceNowSource is the BasicCopySource implementation for AzureDataExplorerSource.
15241func (ades AzureDataExplorerSource) AsServiceNowSource() (*ServiceNowSource, bool) {
15242	return nil, false
15243}
15244
15245// AsQuickBooksSource is the BasicCopySource implementation for AzureDataExplorerSource.
15246func (ades AzureDataExplorerSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
15247	return nil, false
15248}
15249
15250// AsPrestoSource is the BasicCopySource implementation for AzureDataExplorerSource.
15251func (ades AzureDataExplorerSource) AsPrestoSource() (*PrestoSource, bool) {
15252	return nil, false
15253}
15254
15255// AsPhoenixSource is the BasicCopySource implementation for AzureDataExplorerSource.
15256func (ades AzureDataExplorerSource) AsPhoenixSource() (*PhoenixSource, bool) {
15257	return nil, false
15258}
15259
15260// AsPaypalSource is the BasicCopySource implementation for AzureDataExplorerSource.
15261func (ades AzureDataExplorerSource) AsPaypalSource() (*PaypalSource, bool) {
15262	return nil, false
15263}
15264
15265// AsMarketoSource is the BasicCopySource implementation for AzureDataExplorerSource.
15266func (ades AzureDataExplorerSource) AsMarketoSource() (*MarketoSource, bool) {
15267	return nil, false
15268}
15269
15270// AsMariaDBSource is the BasicCopySource implementation for AzureDataExplorerSource.
15271func (ades AzureDataExplorerSource) AsMariaDBSource() (*MariaDBSource, bool) {
15272	return nil, false
15273}
15274
15275// AsMagentoSource is the BasicCopySource implementation for AzureDataExplorerSource.
15276func (ades AzureDataExplorerSource) AsMagentoSource() (*MagentoSource, bool) {
15277	return nil, false
15278}
15279
15280// AsJiraSource is the BasicCopySource implementation for AzureDataExplorerSource.
15281func (ades AzureDataExplorerSource) AsJiraSource() (*JiraSource, bool) {
15282	return nil, false
15283}
15284
15285// AsImpalaSource is the BasicCopySource implementation for AzureDataExplorerSource.
15286func (ades AzureDataExplorerSource) AsImpalaSource() (*ImpalaSource, bool) {
15287	return nil, false
15288}
15289
15290// AsHubspotSource is the BasicCopySource implementation for AzureDataExplorerSource.
15291func (ades AzureDataExplorerSource) AsHubspotSource() (*HubspotSource, bool) {
15292	return nil, false
15293}
15294
15295// AsHiveSource is the BasicCopySource implementation for AzureDataExplorerSource.
15296func (ades AzureDataExplorerSource) AsHiveSource() (*HiveSource, bool) {
15297	return nil, false
15298}
15299
15300// AsHBaseSource is the BasicCopySource implementation for AzureDataExplorerSource.
15301func (ades AzureDataExplorerSource) AsHBaseSource() (*HBaseSource, bool) {
15302	return nil, false
15303}
15304
15305// AsGreenplumSource is the BasicCopySource implementation for AzureDataExplorerSource.
15306func (ades AzureDataExplorerSource) AsGreenplumSource() (*GreenplumSource, bool) {
15307	return nil, false
15308}
15309
15310// AsGoogleBigQuerySource is the BasicCopySource implementation for AzureDataExplorerSource.
15311func (ades AzureDataExplorerSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
15312	return nil, false
15313}
15314
15315// AsEloquaSource is the BasicCopySource implementation for AzureDataExplorerSource.
15316func (ades AzureDataExplorerSource) AsEloquaSource() (*EloquaSource, bool) {
15317	return nil, false
15318}
15319
15320// AsDrillSource is the BasicCopySource implementation for AzureDataExplorerSource.
15321func (ades AzureDataExplorerSource) AsDrillSource() (*DrillSource, bool) {
15322	return nil, false
15323}
15324
15325// AsCouchbaseSource is the BasicCopySource implementation for AzureDataExplorerSource.
15326func (ades AzureDataExplorerSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
15327	return nil, false
15328}
15329
15330// AsConcurSource is the BasicCopySource implementation for AzureDataExplorerSource.
15331func (ades AzureDataExplorerSource) AsConcurSource() (*ConcurSource, bool) {
15332	return nil, false
15333}
15334
15335// AsAzurePostgreSQLSource is the BasicCopySource implementation for AzureDataExplorerSource.
15336func (ades AzureDataExplorerSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
15337	return nil, false
15338}
15339
15340// AsAmazonMWSSource is the BasicCopySource implementation for AzureDataExplorerSource.
15341func (ades AzureDataExplorerSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
15342	return nil, false
15343}
15344
15345// AsHTTPSource is the BasicCopySource implementation for AzureDataExplorerSource.
15346func (ades AzureDataExplorerSource) AsHTTPSource() (*HTTPSource, bool) {
15347	return nil, false
15348}
15349
15350// AsAzureBlobFSSource is the BasicCopySource implementation for AzureDataExplorerSource.
15351func (ades AzureDataExplorerSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) {
15352	return nil, false
15353}
15354
15355// AsAzureDataLakeStoreSource is the BasicCopySource implementation for AzureDataExplorerSource.
15356func (ades AzureDataExplorerSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
15357	return nil, false
15358}
15359
15360// AsOffice365Source is the BasicCopySource implementation for AzureDataExplorerSource.
15361func (ades AzureDataExplorerSource) AsOffice365Source() (*Office365Source, bool) {
15362	return nil, false
15363}
15364
15365// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for AzureDataExplorerSource.
15366func (ades AzureDataExplorerSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) {
15367	return nil, false
15368}
15369
15370// AsMongoDbV2Source is the BasicCopySource implementation for AzureDataExplorerSource.
15371func (ades AzureDataExplorerSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) {
15372	return nil, false
15373}
15374
15375// AsMongoDbSource is the BasicCopySource implementation for AzureDataExplorerSource.
15376func (ades AzureDataExplorerSource) AsMongoDbSource() (*MongoDbSource, bool) {
15377	return nil, false
15378}
15379
15380// AsCassandraSource is the BasicCopySource implementation for AzureDataExplorerSource.
15381func (ades AzureDataExplorerSource) AsCassandraSource() (*CassandraSource, bool) {
15382	return nil, false
15383}
15384
15385// AsWebSource is the BasicCopySource implementation for AzureDataExplorerSource.
15386func (ades AzureDataExplorerSource) AsWebSource() (*WebSource, bool) {
15387	return nil, false
15388}
15389
15390// AsTeradataSource is the BasicCopySource implementation for AzureDataExplorerSource.
15391func (ades AzureDataExplorerSource) AsTeradataSource() (*TeradataSource, bool) {
15392	return nil, false
15393}
15394
15395// AsOracleSource is the BasicCopySource implementation for AzureDataExplorerSource.
15396func (ades AzureDataExplorerSource) AsOracleSource() (*OracleSource, bool) {
15397	return nil, false
15398}
15399
15400// AsAzureDataExplorerSource is the BasicCopySource implementation for AzureDataExplorerSource.
15401func (ades AzureDataExplorerSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) {
15402	return &ades, true
15403}
15404
15405// AsAzureMySQLSource is the BasicCopySource implementation for AzureDataExplorerSource.
15406func (ades AzureDataExplorerSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
15407	return nil, false
15408}
15409
15410// AsHdfsSource is the BasicCopySource implementation for AzureDataExplorerSource.
15411func (ades AzureDataExplorerSource) AsHdfsSource() (*HdfsSource, bool) {
15412	return nil, false
15413}
15414
15415// AsFileSystemSource is the BasicCopySource implementation for AzureDataExplorerSource.
15416func (ades AzureDataExplorerSource) AsFileSystemSource() (*FileSystemSource, bool) {
15417	return nil, false
15418}
15419
15420// AsSQLDWSource is the BasicCopySource implementation for AzureDataExplorerSource.
15421func (ades AzureDataExplorerSource) AsSQLDWSource() (*SQLDWSource, bool) {
15422	return nil, false
15423}
15424
15425// AsSQLMISource is the BasicCopySource implementation for AzureDataExplorerSource.
15426func (ades AzureDataExplorerSource) AsSQLMISource() (*SQLMISource, bool) {
15427	return nil, false
15428}
15429
15430// AsAzureSQLSource is the BasicCopySource implementation for AzureDataExplorerSource.
15431func (ades AzureDataExplorerSource) AsAzureSQLSource() (*AzureSQLSource, bool) {
15432	return nil, false
15433}
15434
15435// AsSQLServerSource is the BasicCopySource implementation for AzureDataExplorerSource.
15436func (ades AzureDataExplorerSource) AsSQLServerSource() (*SQLServerSource, bool) {
15437	return nil, false
15438}
15439
15440// AsSQLSource is the BasicCopySource implementation for AzureDataExplorerSource.
15441func (ades AzureDataExplorerSource) AsSQLSource() (*SQLSource, bool) {
15442	return nil, false
15443}
15444
15445// AsRestSource is the BasicCopySource implementation for AzureDataExplorerSource.
15446func (ades AzureDataExplorerSource) AsRestSource() (*RestSource, bool) {
15447	return nil, false
15448}
15449
15450// AsSapTableSource is the BasicCopySource implementation for AzureDataExplorerSource.
15451func (ades AzureDataExplorerSource) AsSapTableSource() (*SapTableSource, bool) {
15452	return nil, false
15453}
15454
15455// AsSapOpenHubSource is the BasicCopySource implementation for AzureDataExplorerSource.
15456func (ades AzureDataExplorerSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) {
15457	return nil, false
15458}
15459
15460// AsSapHanaSource is the BasicCopySource implementation for AzureDataExplorerSource.
15461func (ades AzureDataExplorerSource) AsSapHanaSource() (*SapHanaSource, bool) {
15462	return nil, false
15463}
15464
15465// AsSapEccSource is the BasicCopySource implementation for AzureDataExplorerSource.
15466func (ades AzureDataExplorerSource) AsSapEccSource() (*SapEccSource, bool) {
15467	return nil, false
15468}
15469
15470// AsSapCloudForCustomerSource is the BasicCopySource implementation for AzureDataExplorerSource.
15471func (ades AzureDataExplorerSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
15472	return nil, false
15473}
15474
15475// AsSalesforceServiceCloudSource is the BasicCopySource implementation for AzureDataExplorerSource.
15476func (ades AzureDataExplorerSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) {
15477	return nil, false
15478}
15479
15480// AsSalesforceSource is the BasicCopySource implementation for AzureDataExplorerSource.
15481func (ades AzureDataExplorerSource) AsSalesforceSource() (*SalesforceSource, bool) {
15482	return nil, false
15483}
15484
15485// AsODataSource is the BasicCopySource implementation for AzureDataExplorerSource.
15486func (ades AzureDataExplorerSource) AsODataSource() (*ODataSource, bool) {
15487	return nil, false
15488}
15489
15490// AsSybaseSource is the BasicCopySource implementation for AzureDataExplorerSource.
15491func (ades AzureDataExplorerSource) AsSybaseSource() (*SybaseSource, bool) {
15492	return nil, false
15493}
15494
15495// AsPostgreSQLSource is the BasicCopySource implementation for AzureDataExplorerSource.
15496func (ades AzureDataExplorerSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) {
15497	return nil, false
15498}
15499
15500// AsMySQLSource is the BasicCopySource implementation for AzureDataExplorerSource.
15501func (ades AzureDataExplorerSource) AsMySQLSource() (*MySQLSource, bool) {
15502	return nil, false
15503}
15504
15505// AsOdbcSource is the BasicCopySource implementation for AzureDataExplorerSource.
15506func (ades AzureDataExplorerSource) AsOdbcSource() (*OdbcSource, bool) {
15507	return nil, false
15508}
15509
15510// AsDb2Source is the BasicCopySource implementation for AzureDataExplorerSource.
15511func (ades AzureDataExplorerSource) AsDb2Source() (*Db2Source, bool) {
15512	return nil, false
15513}
15514
15515// AsMicrosoftAccessSource is the BasicCopySource implementation for AzureDataExplorerSource.
15516func (ades AzureDataExplorerSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) {
15517	return nil, false
15518}
15519
15520// AsInformixSource is the BasicCopySource implementation for AzureDataExplorerSource.
15521func (ades AzureDataExplorerSource) AsInformixSource() (*InformixSource, bool) {
15522	return nil, false
15523}
15524
15525// AsRelationalSource is the BasicCopySource implementation for AzureDataExplorerSource.
15526func (ades AzureDataExplorerSource) AsRelationalSource() (*RelationalSource, bool) {
15527	return nil, false
15528}
15529
15530// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for AzureDataExplorerSource.
15531func (ades AzureDataExplorerSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) {
15532	return nil, false
15533}
15534
15535// AsDynamicsCrmSource is the BasicCopySource implementation for AzureDataExplorerSource.
15536func (ades AzureDataExplorerSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) {
15537	return nil, false
15538}
15539
15540// AsDynamicsSource is the BasicCopySource implementation for AzureDataExplorerSource.
15541func (ades AzureDataExplorerSource) AsDynamicsSource() (*DynamicsSource, bool) {
15542	return nil, false
15543}
15544
15545// AsDocumentDbCollectionSource is the BasicCopySource implementation for AzureDataExplorerSource.
15546func (ades AzureDataExplorerSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
15547	return nil, false
15548}
15549
15550// AsBlobSource is the BasicCopySource implementation for AzureDataExplorerSource.
15551func (ades AzureDataExplorerSource) AsBlobSource() (*BlobSource, bool) {
15552	return nil, false
15553}
15554
15555// AsAzureTableSource is the BasicCopySource implementation for AzureDataExplorerSource.
15556func (ades AzureDataExplorerSource) AsAzureTableSource() (*AzureTableSource, bool) {
15557	return nil, false
15558}
15559
15560// AsBinarySource is the BasicCopySource implementation for AzureDataExplorerSource.
15561func (ades AzureDataExplorerSource) AsBinarySource() (*BinarySource, bool) {
15562	return nil, false
15563}
15564
15565// AsDelimitedTextSource is the BasicCopySource implementation for AzureDataExplorerSource.
15566func (ades AzureDataExplorerSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) {
15567	return nil, false
15568}
15569
15570// AsParquetSource is the BasicCopySource implementation for AzureDataExplorerSource.
15571func (ades AzureDataExplorerSource) AsParquetSource() (*ParquetSource, bool) {
15572	return nil, false
15573}
15574
15575// AsCopySource is the BasicCopySource implementation for AzureDataExplorerSource.
15576func (ades AzureDataExplorerSource) AsCopySource() (*CopySource, bool) {
15577	return nil, false
15578}
15579
15580// AsBasicCopySource is the BasicCopySource implementation for AzureDataExplorerSource.
15581func (ades AzureDataExplorerSource) AsBasicCopySource() (BasicCopySource, bool) {
15582	return &ades, true
15583}
15584
15585// UnmarshalJSON is the custom unmarshaler for AzureDataExplorerSource struct.
15586func (ades *AzureDataExplorerSource) UnmarshalJSON(body []byte) error {
15587	var m map[string]*json.RawMessage
15588	err := json.Unmarshal(body, &m)
15589	if err != nil {
15590		return err
15591	}
15592	for k, v := range m {
15593		switch k {
15594		case "query":
15595			if v != nil {
15596				var query interface{}
15597				err = json.Unmarshal(*v, &query)
15598				if err != nil {
15599					return err
15600				}
15601				ades.Query = query
15602			}
15603		case "noTruncation":
15604			if v != nil {
15605				var noTruncation interface{}
15606				err = json.Unmarshal(*v, &noTruncation)
15607				if err != nil {
15608					return err
15609				}
15610				ades.NoTruncation = noTruncation
15611			}
15612		case "queryTimeout":
15613			if v != nil {
15614				var queryTimeout interface{}
15615				err = json.Unmarshal(*v, &queryTimeout)
15616				if err != nil {
15617					return err
15618				}
15619				ades.QueryTimeout = queryTimeout
15620			}
15621		default:
15622			if v != nil {
15623				var additionalProperties interface{}
15624				err = json.Unmarshal(*v, &additionalProperties)
15625				if err != nil {
15626					return err
15627				}
15628				if ades.AdditionalProperties == nil {
15629					ades.AdditionalProperties = make(map[string]interface{})
15630				}
15631				ades.AdditionalProperties[k] = additionalProperties
15632			}
15633		case "sourceRetryCount":
15634			if v != nil {
15635				var sourceRetryCount interface{}
15636				err = json.Unmarshal(*v, &sourceRetryCount)
15637				if err != nil {
15638					return err
15639				}
15640				ades.SourceRetryCount = sourceRetryCount
15641			}
15642		case "sourceRetryWait":
15643			if v != nil {
15644				var sourceRetryWait interface{}
15645				err = json.Unmarshal(*v, &sourceRetryWait)
15646				if err != nil {
15647					return err
15648				}
15649				ades.SourceRetryWait = sourceRetryWait
15650			}
15651		case "maxConcurrentConnections":
15652			if v != nil {
15653				var maxConcurrentConnections interface{}
15654				err = json.Unmarshal(*v, &maxConcurrentConnections)
15655				if err != nil {
15656					return err
15657				}
15658				ades.MaxConcurrentConnections = maxConcurrentConnections
15659			}
15660		case "type":
15661			if v != nil {
15662				var typeVar TypeBasicCopySource
15663				err = json.Unmarshal(*v, &typeVar)
15664				if err != nil {
15665					return err
15666				}
15667				ades.Type = typeVar
15668			}
15669		}
15670	}
15671
15672	return nil
15673}
15674
15675// AzureDataExplorerTableDataset the Azure Data Explorer (Kusto) dataset.
15676type AzureDataExplorerTableDataset struct {
15677	// AzureDataExplorerDatasetTypeProperties - Azure Data Explorer (Kusto) dataset properties.
15678	*AzureDataExplorerDatasetTypeProperties `json:"typeProperties,omitempty"`
15679	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
15680	AdditionalProperties map[string]interface{} `json:""`
15681	// Description - Dataset description.
15682	Description *string `json:"description,omitempty"`
15683	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
15684	Structure interface{} `json:"structure,omitempty"`
15685	// Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement.
15686	Schema interface{} `json:"schema,omitempty"`
15687	// LinkedServiceName - Linked service reference.
15688	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
15689	// Parameters - Parameters for dataset.
15690	Parameters map[string]*ParameterSpecification `json:"parameters"`
15691	// Annotations - List of tags that can be used for describing the Dataset.
15692	Annotations *[]interface{} `json:"annotations,omitempty"`
15693	// Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level.
15694	Folder *DatasetFolder `json:"folder,omitempty"`
15695	// Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', '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', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeDelimitedText', 'TypeParquet', 'TypeAmazonS3Object'
15696	Type TypeBasicDataset `json:"type,omitempty"`
15697}
15698
15699// MarshalJSON is the custom marshaler for AzureDataExplorerTableDataset.
15700func (adetd AzureDataExplorerTableDataset) MarshalJSON() ([]byte, error) {
15701	adetd.Type = TypeAzureDataExplorerTable
15702	objectMap := make(map[string]interface{})
15703	if adetd.AzureDataExplorerDatasetTypeProperties != nil {
15704		objectMap["typeProperties"] = adetd.AzureDataExplorerDatasetTypeProperties
15705	}
15706	if adetd.Description != nil {
15707		objectMap["description"] = adetd.Description
15708	}
15709	if adetd.Structure != nil {
15710		objectMap["structure"] = adetd.Structure
15711	}
15712	if adetd.Schema != nil {
15713		objectMap["schema"] = adetd.Schema
15714	}
15715	if adetd.LinkedServiceName != nil {
15716		objectMap["linkedServiceName"] = adetd.LinkedServiceName
15717	}
15718	if adetd.Parameters != nil {
15719		objectMap["parameters"] = adetd.Parameters
15720	}
15721	if adetd.Annotations != nil {
15722		objectMap["annotations"] = adetd.Annotations
15723	}
15724	if adetd.Folder != nil {
15725		objectMap["folder"] = adetd.Folder
15726	}
15727	if adetd.Type != "" {
15728		objectMap["type"] = adetd.Type
15729	}
15730	for k, v := range adetd.AdditionalProperties {
15731		objectMap[k] = v
15732	}
15733	return json.Marshal(objectMap)
15734}
15735
15736// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for AzureDataExplorerTableDataset.
15737func (adetd AzureDataExplorerTableDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) {
15738	return nil, false
15739}
15740
15741// AsAzureDataExplorerTableDataset is the BasicDataset implementation for AzureDataExplorerTableDataset.
15742func (adetd AzureDataExplorerTableDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) {
15743	return &adetd, true
15744}
15745
15746// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for AzureDataExplorerTableDataset.
15747func (adetd AzureDataExplorerTableDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) {
15748	return nil, false
15749}
15750
15751// AsDynamicsAXResourceDataset is the BasicDataset implementation for AzureDataExplorerTableDataset.
15752func (adetd AzureDataExplorerTableDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) {
15753	return nil, false
15754}
15755
15756// AsResponsysObjectDataset is the BasicDataset implementation for AzureDataExplorerTableDataset.
15757func (adetd AzureDataExplorerTableDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
15758	return nil, false
15759}
15760
15761// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for AzureDataExplorerTableDataset.
15762func (adetd AzureDataExplorerTableDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
15763	return nil, false
15764}
15765
15766// AsVerticaTableDataset is the BasicDataset implementation for AzureDataExplorerTableDataset.
15767func (adetd AzureDataExplorerTableDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
15768	return nil, false
15769}
15770
15771// AsNetezzaTableDataset is the BasicDataset implementation for AzureDataExplorerTableDataset.
15772func (adetd AzureDataExplorerTableDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
15773	return nil, false
15774}
15775
15776// AsZohoObjectDataset is the BasicDataset implementation for AzureDataExplorerTableDataset.
15777func (adetd AzureDataExplorerTableDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
15778	return nil, false
15779}
15780
15781// AsXeroObjectDataset is the BasicDataset implementation for AzureDataExplorerTableDataset.
15782func (adetd AzureDataExplorerTableDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
15783	return nil, false
15784}
15785
15786// AsSquareObjectDataset is the BasicDataset implementation for AzureDataExplorerTableDataset.
15787func (adetd AzureDataExplorerTableDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
15788	return nil, false
15789}
15790
15791// AsSparkObjectDataset is the BasicDataset implementation for AzureDataExplorerTableDataset.
15792func (adetd AzureDataExplorerTableDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
15793	return nil, false
15794}
15795
15796// AsShopifyObjectDataset is the BasicDataset implementation for AzureDataExplorerTableDataset.
15797func (adetd AzureDataExplorerTableDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
15798	return nil, false
15799}
15800
15801// AsServiceNowObjectDataset is the BasicDataset implementation for AzureDataExplorerTableDataset.
15802func (adetd AzureDataExplorerTableDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
15803	return nil, false
15804}
15805
15806// AsQuickBooksObjectDataset is the BasicDataset implementation for AzureDataExplorerTableDataset.
15807func (adetd AzureDataExplorerTableDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
15808	return nil, false
15809}
15810
15811// AsPrestoObjectDataset is the BasicDataset implementation for AzureDataExplorerTableDataset.
15812func (adetd AzureDataExplorerTableDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
15813	return nil, false
15814}
15815
15816// AsPhoenixObjectDataset is the BasicDataset implementation for AzureDataExplorerTableDataset.
15817func (adetd AzureDataExplorerTableDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
15818	return nil, false
15819}
15820
15821// AsPaypalObjectDataset is the BasicDataset implementation for AzureDataExplorerTableDataset.
15822func (adetd AzureDataExplorerTableDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
15823	return nil, false
15824}
15825
15826// AsMarketoObjectDataset is the BasicDataset implementation for AzureDataExplorerTableDataset.
15827func (adetd AzureDataExplorerTableDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
15828	return nil, false
15829}
15830
15831// AsMariaDBTableDataset is the BasicDataset implementation for AzureDataExplorerTableDataset.
15832func (adetd AzureDataExplorerTableDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
15833	return nil, false
15834}
15835
15836// AsMagentoObjectDataset is the BasicDataset implementation for AzureDataExplorerTableDataset.
15837func (adetd AzureDataExplorerTableDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
15838	return nil, false
15839}
15840
15841// AsJiraObjectDataset is the BasicDataset implementation for AzureDataExplorerTableDataset.
15842func (adetd AzureDataExplorerTableDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
15843	return nil, false
15844}
15845
15846// AsImpalaObjectDataset is the BasicDataset implementation for AzureDataExplorerTableDataset.
15847func (adetd AzureDataExplorerTableDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
15848	return nil, false
15849}
15850
15851// AsHubspotObjectDataset is the BasicDataset implementation for AzureDataExplorerTableDataset.
15852func (adetd AzureDataExplorerTableDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
15853	return nil, false
15854}
15855
15856// AsHiveObjectDataset is the BasicDataset implementation for AzureDataExplorerTableDataset.
15857func (adetd AzureDataExplorerTableDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
15858	return nil, false
15859}
15860
15861// AsHBaseObjectDataset is the BasicDataset implementation for AzureDataExplorerTableDataset.
15862func (adetd AzureDataExplorerTableDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
15863	return nil, false
15864}
15865
15866// AsGreenplumTableDataset is the BasicDataset implementation for AzureDataExplorerTableDataset.
15867func (adetd AzureDataExplorerTableDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
15868	return nil, false
15869}
15870
15871// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for AzureDataExplorerTableDataset.
15872func (adetd AzureDataExplorerTableDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
15873	return nil, false
15874}
15875
15876// AsEloquaObjectDataset is the BasicDataset implementation for AzureDataExplorerTableDataset.
15877func (adetd AzureDataExplorerTableDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
15878	return nil, false
15879}
15880
15881// AsDrillTableDataset is the BasicDataset implementation for AzureDataExplorerTableDataset.
15882func (adetd AzureDataExplorerTableDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
15883	return nil, false
15884}
15885
15886// AsCouchbaseTableDataset is the BasicDataset implementation for AzureDataExplorerTableDataset.
15887func (adetd AzureDataExplorerTableDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
15888	return nil, false
15889}
15890
15891// AsConcurObjectDataset is the BasicDataset implementation for AzureDataExplorerTableDataset.
15892func (adetd AzureDataExplorerTableDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
15893	return nil, false
15894}
15895
15896// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for AzureDataExplorerTableDataset.
15897func (adetd AzureDataExplorerTableDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
15898	return nil, false
15899}
15900
15901// AsAmazonMWSObjectDataset is the BasicDataset implementation for AzureDataExplorerTableDataset.
15902func (adetd AzureDataExplorerTableDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
15903	return nil, false
15904}
15905
15906// AsHTTPDataset is the BasicDataset implementation for AzureDataExplorerTableDataset.
15907func (adetd AzureDataExplorerTableDataset) AsHTTPDataset() (*HTTPDataset, bool) {
15908	return nil, false
15909}
15910
15911// AsAzureSearchIndexDataset is the BasicDataset implementation for AzureDataExplorerTableDataset.
15912func (adetd AzureDataExplorerTableDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
15913	return nil, false
15914}
15915
15916// AsWebTableDataset is the BasicDataset implementation for AzureDataExplorerTableDataset.
15917func (adetd AzureDataExplorerTableDataset) AsWebTableDataset() (*WebTableDataset, bool) {
15918	return nil, false
15919}
15920
15921// AsSapTableResourceDataset is the BasicDataset implementation for AzureDataExplorerTableDataset.
15922func (adetd AzureDataExplorerTableDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) {
15923	return nil, false
15924}
15925
15926// AsRestResourceDataset is the BasicDataset implementation for AzureDataExplorerTableDataset.
15927func (adetd AzureDataExplorerTableDataset) AsRestResourceDataset() (*RestResourceDataset, bool) {
15928	return nil, false
15929}
15930
15931// AsSQLServerTableDataset is the BasicDataset implementation for AzureDataExplorerTableDataset.
15932func (adetd AzureDataExplorerTableDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
15933	return nil, false
15934}
15935
15936// AsSapOpenHubTableDataset is the BasicDataset implementation for AzureDataExplorerTableDataset.
15937func (adetd AzureDataExplorerTableDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) {
15938	return nil, false
15939}
15940
15941// AsSapHanaTableDataset is the BasicDataset implementation for AzureDataExplorerTableDataset.
15942func (adetd AzureDataExplorerTableDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) {
15943	return nil, false
15944}
15945
15946// AsSapEccResourceDataset is the BasicDataset implementation for AzureDataExplorerTableDataset.
15947func (adetd AzureDataExplorerTableDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
15948	return nil, false
15949}
15950
15951// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for AzureDataExplorerTableDataset.
15952func (adetd AzureDataExplorerTableDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
15953	return nil, false
15954}
15955
15956// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for AzureDataExplorerTableDataset.
15957func (adetd AzureDataExplorerTableDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) {
15958	return nil, false
15959}
15960
15961// AsSalesforceObjectDataset is the BasicDataset implementation for AzureDataExplorerTableDataset.
15962func (adetd AzureDataExplorerTableDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
15963	return nil, false
15964}
15965
15966// AsMicrosoftAccessTableDataset is the BasicDataset implementation for AzureDataExplorerTableDataset.
15967func (adetd AzureDataExplorerTableDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) {
15968	return nil, false
15969}
15970
15971// AsPostgreSQLTableDataset is the BasicDataset implementation for AzureDataExplorerTableDataset.
15972func (adetd AzureDataExplorerTableDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) {
15973	return nil, false
15974}
15975
15976// AsMySQLTableDataset is the BasicDataset implementation for AzureDataExplorerTableDataset.
15977func (adetd AzureDataExplorerTableDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) {
15978	return nil, false
15979}
15980
15981// AsOdbcTableDataset is the BasicDataset implementation for AzureDataExplorerTableDataset.
15982func (adetd AzureDataExplorerTableDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) {
15983	return nil, false
15984}
15985
15986// AsInformixTableDataset is the BasicDataset implementation for AzureDataExplorerTableDataset.
15987func (adetd AzureDataExplorerTableDataset) AsInformixTableDataset() (*InformixTableDataset, bool) {
15988	return nil, false
15989}
15990
15991// AsRelationalTableDataset is the BasicDataset implementation for AzureDataExplorerTableDataset.
15992func (adetd AzureDataExplorerTableDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
15993	return nil, false
15994}
15995
15996// AsAzureMySQLTableDataset is the BasicDataset implementation for AzureDataExplorerTableDataset.
15997func (adetd AzureDataExplorerTableDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
15998	return nil, false
15999}
16000
16001// AsTeradataTableDataset is the BasicDataset implementation for AzureDataExplorerTableDataset.
16002func (adetd AzureDataExplorerTableDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) {
16003	return nil, false
16004}
16005
16006// AsOracleTableDataset is the BasicDataset implementation for AzureDataExplorerTableDataset.
16007func (adetd AzureDataExplorerTableDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
16008	return nil, false
16009}
16010
16011// AsODataResourceDataset is the BasicDataset implementation for AzureDataExplorerTableDataset.
16012func (adetd AzureDataExplorerTableDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
16013	return nil, false
16014}
16015
16016// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for AzureDataExplorerTableDataset.
16017func (adetd AzureDataExplorerTableDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) {
16018	return nil, false
16019}
16020
16021// AsMongoDbV2CollectionDataset is the BasicDataset implementation for AzureDataExplorerTableDataset.
16022func (adetd AzureDataExplorerTableDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) {
16023	return nil, false
16024}
16025
16026// AsMongoDbCollectionDataset is the BasicDataset implementation for AzureDataExplorerTableDataset.
16027func (adetd AzureDataExplorerTableDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
16028	return nil, false
16029}
16030
16031// AsFileShareDataset is the BasicDataset implementation for AzureDataExplorerTableDataset.
16032func (adetd AzureDataExplorerTableDataset) AsFileShareDataset() (*FileShareDataset, bool) {
16033	return nil, false
16034}
16035
16036// AsOffice365Dataset is the BasicDataset implementation for AzureDataExplorerTableDataset.
16037func (adetd AzureDataExplorerTableDataset) AsOffice365Dataset() (*Office365Dataset, bool) {
16038	return nil, false
16039}
16040
16041// AsAzureBlobFSDataset is the BasicDataset implementation for AzureDataExplorerTableDataset.
16042func (adetd AzureDataExplorerTableDataset) AsAzureBlobFSDataset() (*AzureBlobFSDataset, bool) {
16043	return nil, false
16044}
16045
16046// AsAzureDataLakeStoreDataset is the BasicDataset implementation for AzureDataExplorerTableDataset.
16047func (adetd AzureDataExplorerTableDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) {
16048	return nil, false
16049}
16050
16051// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for AzureDataExplorerTableDataset.
16052func (adetd AzureDataExplorerTableDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) {
16053	return nil, false
16054}
16055
16056// AsDynamicsCrmEntityDataset is the BasicDataset implementation for AzureDataExplorerTableDataset.
16057func (adetd AzureDataExplorerTableDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) {
16058	return nil, false
16059}
16060
16061// AsDynamicsEntityDataset is the BasicDataset implementation for AzureDataExplorerTableDataset.
16062func (adetd AzureDataExplorerTableDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
16063	return nil, false
16064}
16065
16066// AsDocumentDbCollectionDataset is the BasicDataset implementation for AzureDataExplorerTableDataset.
16067func (adetd AzureDataExplorerTableDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
16068	return nil, false
16069}
16070
16071// AsCustomDataset is the BasicDataset implementation for AzureDataExplorerTableDataset.
16072func (adetd AzureDataExplorerTableDataset) AsCustomDataset() (*CustomDataset, bool) {
16073	return nil, false
16074}
16075
16076// AsCassandraTableDataset is the BasicDataset implementation for AzureDataExplorerTableDataset.
16077func (adetd AzureDataExplorerTableDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
16078	return nil, false
16079}
16080
16081// AsAzureSQLDWTableDataset is the BasicDataset implementation for AzureDataExplorerTableDataset.
16082func (adetd AzureDataExplorerTableDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
16083	return nil, false
16084}
16085
16086// AsAzureSQLMITableDataset is the BasicDataset implementation for AzureDataExplorerTableDataset.
16087func (adetd AzureDataExplorerTableDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) {
16088	return nil, false
16089}
16090
16091// AsAzureSQLTableDataset is the BasicDataset implementation for AzureDataExplorerTableDataset.
16092func (adetd AzureDataExplorerTableDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
16093	return nil, false
16094}
16095
16096// AsAzureTableDataset is the BasicDataset implementation for AzureDataExplorerTableDataset.
16097func (adetd AzureDataExplorerTableDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
16098	return nil, false
16099}
16100
16101// AsAzureBlobDataset is the BasicDataset implementation for AzureDataExplorerTableDataset.
16102func (adetd AzureDataExplorerTableDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) {
16103	return nil, false
16104}
16105
16106// AsBinaryDataset is the BasicDataset implementation for AzureDataExplorerTableDataset.
16107func (adetd AzureDataExplorerTableDataset) AsBinaryDataset() (*BinaryDataset, bool) {
16108	return nil, false
16109}
16110
16111// AsDelimitedTextDataset is the BasicDataset implementation for AzureDataExplorerTableDataset.
16112func (adetd AzureDataExplorerTableDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) {
16113	return nil, false
16114}
16115
16116// AsParquetDataset is the BasicDataset implementation for AzureDataExplorerTableDataset.
16117func (adetd AzureDataExplorerTableDataset) AsParquetDataset() (*ParquetDataset, bool) {
16118	return nil, false
16119}
16120
16121// AsAmazonS3Dataset is the BasicDataset implementation for AzureDataExplorerTableDataset.
16122func (adetd AzureDataExplorerTableDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) {
16123	return nil, false
16124}
16125
16126// AsDataset is the BasicDataset implementation for AzureDataExplorerTableDataset.
16127func (adetd AzureDataExplorerTableDataset) AsDataset() (*Dataset, bool) {
16128	return nil, false
16129}
16130
16131// AsBasicDataset is the BasicDataset implementation for AzureDataExplorerTableDataset.
16132func (adetd AzureDataExplorerTableDataset) AsBasicDataset() (BasicDataset, bool) {
16133	return &adetd, true
16134}
16135
16136// UnmarshalJSON is the custom unmarshaler for AzureDataExplorerTableDataset struct.
16137func (adetd *AzureDataExplorerTableDataset) UnmarshalJSON(body []byte) error {
16138	var m map[string]*json.RawMessage
16139	err := json.Unmarshal(body, &m)
16140	if err != nil {
16141		return err
16142	}
16143	for k, v := range m {
16144		switch k {
16145		case "typeProperties":
16146			if v != nil {
16147				var azureDataExplorerDatasetTypeProperties AzureDataExplorerDatasetTypeProperties
16148				err = json.Unmarshal(*v, &azureDataExplorerDatasetTypeProperties)
16149				if err != nil {
16150					return err
16151				}
16152				adetd.AzureDataExplorerDatasetTypeProperties = &azureDataExplorerDatasetTypeProperties
16153			}
16154		default:
16155			if v != nil {
16156				var additionalProperties interface{}
16157				err = json.Unmarshal(*v, &additionalProperties)
16158				if err != nil {
16159					return err
16160				}
16161				if adetd.AdditionalProperties == nil {
16162					adetd.AdditionalProperties = make(map[string]interface{})
16163				}
16164				adetd.AdditionalProperties[k] = additionalProperties
16165			}
16166		case "description":
16167			if v != nil {
16168				var description string
16169				err = json.Unmarshal(*v, &description)
16170				if err != nil {
16171					return err
16172				}
16173				adetd.Description = &description
16174			}
16175		case "structure":
16176			if v != nil {
16177				var structure interface{}
16178				err = json.Unmarshal(*v, &structure)
16179				if err != nil {
16180					return err
16181				}
16182				adetd.Structure = structure
16183			}
16184		case "schema":
16185			if v != nil {
16186				var schema interface{}
16187				err = json.Unmarshal(*v, &schema)
16188				if err != nil {
16189					return err
16190				}
16191				adetd.Schema = schema
16192			}
16193		case "linkedServiceName":
16194			if v != nil {
16195				var linkedServiceName LinkedServiceReference
16196				err = json.Unmarshal(*v, &linkedServiceName)
16197				if err != nil {
16198					return err
16199				}
16200				adetd.LinkedServiceName = &linkedServiceName
16201			}
16202		case "parameters":
16203			if v != nil {
16204				var parameters map[string]*ParameterSpecification
16205				err = json.Unmarshal(*v, &parameters)
16206				if err != nil {
16207					return err
16208				}
16209				adetd.Parameters = parameters
16210			}
16211		case "annotations":
16212			if v != nil {
16213				var annotations []interface{}
16214				err = json.Unmarshal(*v, &annotations)
16215				if err != nil {
16216					return err
16217				}
16218				adetd.Annotations = &annotations
16219			}
16220		case "folder":
16221			if v != nil {
16222				var folder DatasetFolder
16223				err = json.Unmarshal(*v, &folder)
16224				if err != nil {
16225					return err
16226				}
16227				adetd.Folder = &folder
16228			}
16229		case "type":
16230			if v != nil {
16231				var typeVar TypeBasicDataset
16232				err = json.Unmarshal(*v, &typeVar)
16233				if err != nil {
16234					return err
16235				}
16236				adetd.Type = typeVar
16237			}
16238		}
16239	}
16240
16241	return nil
16242}
16243
16244// AzureDataLakeAnalyticsLinkedService azure Data Lake Analytics linked service.
16245type AzureDataLakeAnalyticsLinkedService struct {
16246	// AzureDataLakeAnalyticsLinkedServiceTypeProperties - Azure Data Lake Analytics linked service properties.
16247	*AzureDataLakeAnalyticsLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
16248	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
16249	AdditionalProperties map[string]interface{} `json:""`
16250	// ConnectVia - The integration runtime reference.
16251	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
16252	// Description - Linked service description.
16253	Description *string `json:"description,omitempty"`
16254	// Parameters - Parameters for linked service.
16255	Parameters map[string]*ParameterSpecification `json:"parameters"`
16256	// Annotations - List of tags that can be used for describing the linked service.
16257	Annotations *[]interface{} `json:"annotations,omitempty"`
16258	// Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', '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', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage'
16259	Type TypeBasicLinkedService `json:"type,omitempty"`
16260}
16261
16262// MarshalJSON is the custom marshaler for AzureDataLakeAnalyticsLinkedService.
16263func (adlals AzureDataLakeAnalyticsLinkedService) MarshalJSON() ([]byte, error) {
16264	adlals.Type = TypeAzureDataLakeAnalytics
16265	objectMap := make(map[string]interface{})
16266	if adlals.AzureDataLakeAnalyticsLinkedServiceTypeProperties != nil {
16267		objectMap["typeProperties"] = adlals.AzureDataLakeAnalyticsLinkedServiceTypeProperties
16268	}
16269	if adlals.ConnectVia != nil {
16270		objectMap["connectVia"] = adlals.ConnectVia
16271	}
16272	if adlals.Description != nil {
16273		objectMap["description"] = adlals.Description
16274	}
16275	if adlals.Parameters != nil {
16276		objectMap["parameters"] = adlals.Parameters
16277	}
16278	if adlals.Annotations != nil {
16279		objectMap["annotations"] = adlals.Annotations
16280	}
16281	if adlals.Type != "" {
16282		objectMap["type"] = adlals.Type
16283	}
16284	for k, v := range adlals.AdditionalProperties {
16285		objectMap[k] = v
16286	}
16287	return json.Marshal(objectMap)
16288}
16289
16290// AsAzureFunctionLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
16291func (adlals AzureDataLakeAnalyticsLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) {
16292	return nil, false
16293}
16294
16295// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
16296func (adlals AzureDataLakeAnalyticsLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) {
16297	return nil, false
16298}
16299
16300// AsSapTableLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
16301func (adlals AzureDataLakeAnalyticsLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) {
16302	return nil, false
16303}
16304
16305// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
16306func (adlals AzureDataLakeAnalyticsLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) {
16307	return nil, false
16308}
16309
16310// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
16311func (adlals AzureDataLakeAnalyticsLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) {
16312	return nil, false
16313}
16314
16315// AsDynamicsAXLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
16316func (adlals AzureDataLakeAnalyticsLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) {
16317	return nil, false
16318}
16319
16320// AsResponsysLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
16321func (adlals AzureDataLakeAnalyticsLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
16322	return nil, false
16323}
16324
16325// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
16326func (adlals AzureDataLakeAnalyticsLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
16327	return nil, false
16328}
16329
16330// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
16331func (adlals AzureDataLakeAnalyticsLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
16332	return &adlals, true
16333}
16334
16335// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
16336func (adlals AzureDataLakeAnalyticsLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
16337	return nil, false
16338}
16339
16340// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
16341func (adlals AzureDataLakeAnalyticsLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
16342	return nil, false
16343}
16344
16345// AsNetezzaLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
16346func (adlals AzureDataLakeAnalyticsLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
16347	return nil, false
16348}
16349
16350// AsVerticaLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
16351func (adlals AzureDataLakeAnalyticsLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
16352	return nil, false
16353}
16354
16355// AsZohoLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
16356func (adlals AzureDataLakeAnalyticsLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
16357	return nil, false
16358}
16359
16360// AsXeroLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
16361func (adlals AzureDataLakeAnalyticsLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
16362	return nil, false
16363}
16364
16365// AsSquareLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
16366func (adlals AzureDataLakeAnalyticsLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
16367	return nil, false
16368}
16369
16370// AsSparkLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
16371func (adlals AzureDataLakeAnalyticsLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
16372	return nil, false
16373}
16374
16375// AsShopifyLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
16376func (adlals AzureDataLakeAnalyticsLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
16377	return nil, false
16378}
16379
16380// AsServiceNowLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
16381func (adlals AzureDataLakeAnalyticsLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
16382	return nil, false
16383}
16384
16385// AsQuickBooksLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
16386func (adlals AzureDataLakeAnalyticsLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
16387	return nil, false
16388}
16389
16390// AsPrestoLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
16391func (adlals AzureDataLakeAnalyticsLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
16392	return nil, false
16393}
16394
16395// AsPhoenixLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
16396func (adlals AzureDataLakeAnalyticsLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
16397	return nil, false
16398}
16399
16400// AsPaypalLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
16401func (adlals AzureDataLakeAnalyticsLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
16402	return nil, false
16403}
16404
16405// AsMarketoLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
16406func (adlals AzureDataLakeAnalyticsLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
16407	return nil, false
16408}
16409
16410// AsMariaDBLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
16411func (adlals AzureDataLakeAnalyticsLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
16412	return nil, false
16413}
16414
16415// AsMagentoLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
16416func (adlals AzureDataLakeAnalyticsLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
16417	return nil, false
16418}
16419
16420// AsJiraLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
16421func (adlals AzureDataLakeAnalyticsLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
16422	return nil, false
16423}
16424
16425// AsImpalaLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
16426func (adlals AzureDataLakeAnalyticsLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
16427	return nil, false
16428}
16429
16430// AsHubspotLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
16431func (adlals AzureDataLakeAnalyticsLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
16432	return nil, false
16433}
16434
16435// AsHiveLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
16436func (adlals AzureDataLakeAnalyticsLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
16437	return nil, false
16438}
16439
16440// AsHBaseLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
16441func (adlals AzureDataLakeAnalyticsLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
16442	return nil, false
16443}
16444
16445// AsGreenplumLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
16446func (adlals AzureDataLakeAnalyticsLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
16447	return nil, false
16448}
16449
16450// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
16451func (adlals AzureDataLakeAnalyticsLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
16452	return nil, false
16453}
16454
16455// AsEloquaLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
16456func (adlals AzureDataLakeAnalyticsLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
16457	return nil, false
16458}
16459
16460// AsDrillLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
16461func (adlals AzureDataLakeAnalyticsLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
16462	return nil, false
16463}
16464
16465// AsCouchbaseLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
16466func (adlals AzureDataLakeAnalyticsLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
16467	return nil, false
16468}
16469
16470// AsConcurLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
16471func (adlals AzureDataLakeAnalyticsLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
16472	return nil, false
16473}
16474
16475// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
16476func (adlals AzureDataLakeAnalyticsLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
16477	return nil, false
16478}
16479
16480// AsAmazonMWSLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
16481func (adlals AzureDataLakeAnalyticsLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
16482	return nil, false
16483}
16484
16485// AsSapHanaLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
16486func (adlals AzureDataLakeAnalyticsLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
16487	return nil, false
16488}
16489
16490// AsSapBWLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
16491func (adlals AzureDataLakeAnalyticsLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
16492	return nil, false
16493}
16494
16495// AsSftpServerLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
16496func (adlals AzureDataLakeAnalyticsLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
16497	return nil, false
16498}
16499
16500// AsFtpServerLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
16501func (adlals AzureDataLakeAnalyticsLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
16502	return nil, false
16503}
16504
16505// AsHTTPLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
16506func (adlals AzureDataLakeAnalyticsLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
16507	return nil, false
16508}
16509
16510// AsAzureSearchLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
16511func (adlals AzureDataLakeAnalyticsLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
16512	return nil, false
16513}
16514
16515// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
16516func (adlals AzureDataLakeAnalyticsLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
16517	return nil, false
16518}
16519
16520// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
16521func (adlals AzureDataLakeAnalyticsLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
16522	return nil, false
16523}
16524
16525// AsAmazonS3LinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
16526func (adlals AzureDataLakeAnalyticsLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
16527	return nil, false
16528}
16529
16530// AsRestServiceLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
16531func (adlals AzureDataLakeAnalyticsLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) {
16532	return nil, false
16533}
16534
16535// AsSapOpenHubLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
16536func (adlals AzureDataLakeAnalyticsLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) {
16537	return nil, false
16538}
16539
16540// AsSapEccLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
16541func (adlals AzureDataLakeAnalyticsLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
16542	return nil, false
16543}
16544
16545// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
16546func (adlals AzureDataLakeAnalyticsLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
16547	return nil, false
16548}
16549
16550// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
16551func (adlals AzureDataLakeAnalyticsLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) {
16552	return nil, false
16553}
16554
16555// AsSalesforceLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
16556func (adlals AzureDataLakeAnalyticsLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
16557	return nil, false
16558}
16559
16560// AsOffice365LinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
16561func (adlals AzureDataLakeAnalyticsLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) {
16562	return nil, false
16563}
16564
16565// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
16566func (adlals AzureDataLakeAnalyticsLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) {
16567	return nil, false
16568}
16569
16570// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
16571func (adlals AzureDataLakeAnalyticsLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
16572	return nil, false
16573}
16574
16575// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
16576func (adlals AzureDataLakeAnalyticsLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) {
16577	return nil, false
16578}
16579
16580// AsMongoDbV2LinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
16581func (adlals AzureDataLakeAnalyticsLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) {
16582	return nil, false
16583}
16584
16585// AsMongoDbLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
16586func (adlals AzureDataLakeAnalyticsLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
16587	return nil, false
16588}
16589
16590// AsCassandraLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
16591func (adlals AzureDataLakeAnalyticsLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
16592	return nil, false
16593}
16594
16595// AsWebLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
16596func (adlals AzureDataLakeAnalyticsLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
16597	return nil, false
16598}
16599
16600// AsODataLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
16601func (adlals AzureDataLakeAnalyticsLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
16602	return nil, false
16603}
16604
16605// AsHdfsLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
16606func (adlals AzureDataLakeAnalyticsLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
16607	return nil, false
16608}
16609
16610// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
16611func (adlals AzureDataLakeAnalyticsLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) {
16612	return nil, false
16613}
16614
16615// AsInformixLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
16616func (adlals AzureDataLakeAnalyticsLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) {
16617	return nil, false
16618}
16619
16620// AsOdbcLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
16621func (adlals AzureDataLakeAnalyticsLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
16622	return nil, false
16623}
16624
16625// AsAzureMLLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
16626func (adlals AzureDataLakeAnalyticsLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
16627	return nil, false
16628}
16629
16630// AsTeradataLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
16631func (adlals AzureDataLakeAnalyticsLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
16632	return nil, false
16633}
16634
16635// AsDb2LinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
16636func (adlals AzureDataLakeAnalyticsLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
16637	return nil, false
16638}
16639
16640// AsSybaseLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
16641func (adlals AzureDataLakeAnalyticsLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
16642	return nil, false
16643}
16644
16645// AsPostgreSQLLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
16646func (adlals AzureDataLakeAnalyticsLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
16647	return nil, false
16648}
16649
16650// AsMySQLLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
16651func (adlals AzureDataLakeAnalyticsLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
16652	return nil, false
16653}
16654
16655// AsAzureMySQLLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
16656func (adlals AzureDataLakeAnalyticsLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
16657	return nil, false
16658}
16659
16660// AsOracleLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
16661func (adlals AzureDataLakeAnalyticsLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
16662	return nil, false
16663}
16664
16665// AsFileServerLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
16666func (adlals AzureDataLakeAnalyticsLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
16667	return nil, false
16668}
16669
16670// AsHDInsightLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
16671func (adlals AzureDataLakeAnalyticsLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
16672	return nil, false
16673}
16674
16675// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
16676func (adlals AzureDataLakeAnalyticsLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) {
16677	return nil, false
16678}
16679
16680// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
16681func (adlals AzureDataLakeAnalyticsLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) {
16682	return nil, false
16683}
16684
16685// AsDynamicsLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
16686func (adlals AzureDataLakeAnalyticsLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
16687	return nil, false
16688}
16689
16690// AsCosmosDbLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
16691func (adlals AzureDataLakeAnalyticsLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
16692	return nil, false
16693}
16694
16695// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
16696func (adlals AzureDataLakeAnalyticsLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
16697	return nil, false
16698}
16699
16700// AsAzureBatchLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
16701func (adlals AzureDataLakeAnalyticsLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
16702	return nil, false
16703}
16704
16705// AsAzureSQLMILinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
16706func (adlals AzureDataLakeAnalyticsLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) {
16707	return nil, false
16708}
16709
16710// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
16711func (adlals AzureDataLakeAnalyticsLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
16712	return nil, false
16713}
16714
16715// AsSQLServerLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
16716func (adlals AzureDataLakeAnalyticsLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
16717	return nil, false
16718}
16719
16720// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
16721func (adlals AzureDataLakeAnalyticsLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
16722	return nil, false
16723}
16724
16725// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
16726func (adlals AzureDataLakeAnalyticsLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) {
16727	return nil, false
16728}
16729
16730// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
16731func (adlals AzureDataLakeAnalyticsLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) {
16732	return nil, false
16733}
16734
16735// AsAzureStorageLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
16736func (adlals AzureDataLakeAnalyticsLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
16737	return nil, false
16738}
16739
16740// AsLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
16741func (adlals AzureDataLakeAnalyticsLinkedService) AsLinkedService() (*LinkedService, bool) {
16742	return nil, false
16743}
16744
16745// AsBasicLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
16746func (adlals AzureDataLakeAnalyticsLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
16747	return &adlals, true
16748}
16749
16750// UnmarshalJSON is the custom unmarshaler for AzureDataLakeAnalyticsLinkedService struct.
16751func (adlals *AzureDataLakeAnalyticsLinkedService) UnmarshalJSON(body []byte) error {
16752	var m map[string]*json.RawMessage
16753	err := json.Unmarshal(body, &m)
16754	if err != nil {
16755		return err
16756	}
16757	for k, v := range m {
16758		switch k {
16759		case "typeProperties":
16760			if v != nil {
16761				var azureDataLakeAnalyticsLinkedServiceTypeProperties AzureDataLakeAnalyticsLinkedServiceTypeProperties
16762				err = json.Unmarshal(*v, &azureDataLakeAnalyticsLinkedServiceTypeProperties)
16763				if err != nil {
16764					return err
16765				}
16766				adlals.AzureDataLakeAnalyticsLinkedServiceTypeProperties = &azureDataLakeAnalyticsLinkedServiceTypeProperties
16767			}
16768		default:
16769			if v != nil {
16770				var additionalProperties interface{}
16771				err = json.Unmarshal(*v, &additionalProperties)
16772				if err != nil {
16773					return err
16774				}
16775				if adlals.AdditionalProperties == nil {
16776					adlals.AdditionalProperties = make(map[string]interface{})
16777				}
16778				adlals.AdditionalProperties[k] = additionalProperties
16779			}
16780		case "connectVia":
16781			if v != nil {
16782				var connectVia IntegrationRuntimeReference
16783				err = json.Unmarshal(*v, &connectVia)
16784				if err != nil {
16785					return err
16786				}
16787				adlals.ConnectVia = &connectVia
16788			}
16789		case "description":
16790			if v != nil {
16791				var description string
16792				err = json.Unmarshal(*v, &description)
16793				if err != nil {
16794					return err
16795				}
16796				adlals.Description = &description
16797			}
16798		case "parameters":
16799			if v != nil {
16800				var parameters map[string]*ParameterSpecification
16801				err = json.Unmarshal(*v, &parameters)
16802				if err != nil {
16803					return err
16804				}
16805				adlals.Parameters = parameters
16806			}
16807		case "annotations":
16808			if v != nil {
16809				var annotations []interface{}
16810				err = json.Unmarshal(*v, &annotations)
16811				if err != nil {
16812					return err
16813				}
16814				adlals.Annotations = &annotations
16815			}
16816		case "type":
16817			if v != nil {
16818				var typeVar TypeBasicLinkedService
16819				err = json.Unmarshal(*v, &typeVar)
16820				if err != nil {
16821					return err
16822				}
16823				adlals.Type = typeVar
16824			}
16825		}
16826	}
16827
16828	return nil
16829}
16830
16831// AzureDataLakeAnalyticsLinkedServiceTypeProperties azure Data Lake Analytics linked service properties.
16832type AzureDataLakeAnalyticsLinkedServiceTypeProperties struct {
16833	// AccountName - The Azure Data Lake Analytics account name. Type: string (or Expression with resultType string).
16834	AccountName interface{} `json:"accountName,omitempty"`
16835	// ServicePrincipalID - The ID of the application used to authenticate against the Azure Data Lake Analytics account. Type: string (or Expression with resultType string).
16836	ServicePrincipalID interface{} `json:"servicePrincipalId,omitempty"`
16837	// ServicePrincipalKey - The Key of the application used to authenticate against the Azure Data Lake Analytics account.
16838	ServicePrincipalKey BasicSecretBase `json:"servicePrincipalKey,omitempty"`
16839	// Tenant - The name or ID of the tenant to which the service principal belongs. Type: string (or Expression with resultType string).
16840	Tenant interface{} `json:"tenant,omitempty"`
16841	// SubscriptionID - Data Lake Analytics account subscription ID (if different from Data Factory account). Type: string (or Expression with resultType string).
16842	SubscriptionID interface{} `json:"subscriptionId,omitempty"`
16843	// ResourceGroupName - Data Lake Analytics account resource group name (if different from Data Factory account). Type: string (or Expression with resultType string).
16844	ResourceGroupName interface{} `json:"resourceGroupName,omitempty"`
16845	// DataLakeAnalyticsURI - Azure Data Lake Analytics URI Type: string (or Expression with resultType string).
16846	DataLakeAnalyticsURI interface{} `json:"dataLakeAnalyticsUri,omitempty"`
16847	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
16848	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
16849}
16850
16851// UnmarshalJSON is the custom unmarshaler for AzureDataLakeAnalyticsLinkedServiceTypeProperties struct.
16852func (adlalstp *AzureDataLakeAnalyticsLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
16853	var m map[string]*json.RawMessage
16854	err := json.Unmarshal(body, &m)
16855	if err != nil {
16856		return err
16857	}
16858	for k, v := range m {
16859		switch k {
16860		case "accountName":
16861			if v != nil {
16862				var accountName interface{}
16863				err = json.Unmarshal(*v, &accountName)
16864				if err != nil {
16865					return err
16866				}
16867				adlalstp.AccountName = accountName
16868			}
16869		case "servicePrincipalId":
16870			if v != nil {
16871				var servicePrincipalID interface{}
16872				err = json.Unmarshal(*v, &servicePrincipalID)
16873				if err != nil {
16874					return err
16875				}
16876				adlalstp.ServicePrincipalID = servicePrincipalID
16877			}
16878		case "servicePrincipalKey":
16879			if v != nil {
16880				servicePrincipalKey, err := unmarshalBasicSecretBase(*v)
16881				if err != nil {
16882					return err
16883				}
16884				adlalstp.ServicePrincipalKey = servicePrincipalKey
16885			}
16886		case "tenant":
16887			if v != nil {
16888				var tenant interface{}
16889				err = json.Unmarshal(*v, &tenant)
16890				if err != nil {
16891					return err
16892				}
16893				adlalstp.Tenant = tenant
16894			}
16895		case "subscriptionId":
16896			if v != nil {
16897				var subscriptionID interface{}
16898				err = json.Unmarshal(*v, &subscriptionID)
16899				if err != nil {
16900					return err
16901				}
16902				adlalstp.SubscriptionID = subscriptionID
16903			}
16904		case "resourceGroupName":
16905			if v != nil {
16906				var resourceGroupName interface{}
16907				err = json.Unmarshal(*v, &resourceGroupName)
16908				if err != nil {
16909					return err
16910				}
16911				adlalstp.ResourceGroupName = resourceGroupName
16912			}
16913		case "dataLakeAnalyticsUri":
16914			if v != nil {
16915				var dataLakeAnalyticsURI interface{}
16916				err = json.Unmarshal(*v, &dataLakeAnalyticsURI)
16917				if err != nil {
16918					return err
16919				}
16920				adlalstp.DataLakeAnalyticsURI = dataLakeAnalyticsURI
16921			}
16922		case "encryptedCredential":
16923			if v != nil {
16924				var encryptedCredential interface{}
16925				err = json.Unmarshal(*v, &encryptedCredential)
16926				if err != nil {
16927					return err
16928				}
16929				adlalstp.EncryptedCredential = encryptedCredential
16930			}
16931		}
16932	}
16933
16934	return nil
16935}
16936
16937// AzureDataLakeStoreDataset azure Data Lake Store dataset.
16938type AzureDataLakeStoreDataset struct {
16939	// AzureDataLakeStoreDatasetTypeProperties - Azure Data Lake Store dataset properties.
16940	*AzureDataLakeStoreDatasetTypeProperties `json:"typeProperties,omitempty"`
16941	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
16942	AdditionalProperties map[string]interface{} `json:""`
16943	// Description - Dataset description.
16944	Description *string `json:"description,omitempty"`
16945	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
16946	Structure interface{} `json:"structure,omitempty"`
16947	// Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement.
16948	Schema interface{} `json:"schema,omitempty"`
16949	// LinkedServiceName - Linked service reference.
16950	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
16951	// Parameters - Parameters for dataset.
16952	Parameters map[string]*ParameterSpecification `json:"parameters"`
16953	// Annotations - List of tags that can be used for describing the Dataset.
16954	Annotations *[]interface{} `json:"annotations,omitempty"`
16955	// Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level.
16956	Folder *DatasetFolder `json:"folder,omitempty"`
16957	// Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', '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', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeDelimitedText', 'TypeParquet', 'TypeAmazonS3Object'
16958	Type TypeBasicDataset `json:"type,omitempty"`
16959}
16960
16961// MarshalJSON is the custom marshaler for AzureDataLakeStoreDataset.
16962func (adlsd AzureDataLakeStoreDataset) MarshalJSON() ([]byte, error) {
16963	adlsd.Type = TypeAzureDataLakeStoreFile
16964	objectMap := make(map[string]interface{})
16965	if adlsd.AzureDataLakeStoreDatasetTypeProperties != nil {
16966		objectMap["typeProperties"] = adlsd.AzureDataLakeStoreDatasetTypeProperties
16967	}
16968	if adlsd.Description != nil {
16969		objectMap["description"] = adlsd.Description
16970	}
16971	if adlsd.Structure != nil {
16972		objectMap["structure"] = adlsd.Structure
16973	}
16974	if adlsd.Schema != nil {
16975		objectMap["schema"] = adlsd.Schema
16976	}
16977	if adlsd.LinkedServiceName != nil {
16978		objectMap["linkedServiceName"] = adlsd.LinkedServiceName
16979	}
16980	if adlsd.Parameters != nil {
16981		objectMap["parameters"] = adlsd.Parameters
16982	}
16983	if adlsd.Annotations != nil {
16984		objectMap["annotations"] = adlsd.Annotations
16985	}
16986	if adlsd.Folder != nil {
16987		objectMap["folder"] = adlsd.Folder
16988	}
16989	if adlsd.Type != "" {
16990		objectMap["type"] = adlsd.Type
16991	}
16992	for k, v := range adlsd.AdditionalProperties {
16993		objectMap[k] = v
16994	}
16995	return json.Marshal(objectMap)
16996}
16997
16998// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for AzureDataLakeStoreDataset.
16999func (adlsd AzureDataLakeStoreDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) {
17000	return nil, false
17001}
17002
17003// AsAzureDataExplorerTableDataset is the BasicDataset implementation for AzureDataLakeStoreDataset.
17004func (adlsd AzureDataLakeStoreDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) {
17005	return nil, false
17006}
17007
17008// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for AzureDataLakeStoreDataset.
17009func (adlsd AzureDataLakeStoreDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) {
17010	return nil, false
17011}
17012
17013// AsDynamicsAXResourceDataset is the BasicDataset implementation for AzureDataLakeStoreDataset.
17014func (adlsd AzureDataLakeStoreDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) {
17015	return nil, false
17016}
17017
17018// AsResponsysObjectDataset is the BasicDataset implementation for AzureDataLakeStoreDataset.
17019func (adlsd AzureDataLakeStoreDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
17020	return nil, false
17021}
17022
17023// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for AzureDataLakeStoreDataset.
17024func (adlsd AzureDataLakeStoreDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
17025	return nil, false
17026}
17027
17028// AsVerticaTableDataset is the BasicDataset implementation for AzureDataLakeStoreDataset.
17029func (adlsd AzureDataLakeStoreDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
17030	return nil, false
17031}
17032
17033// AsNetezzaTableDataset is the BasicDataset implementation for AzureDataLakeStoreDataset.
17034func (adlsd AzureDataLakeStoreDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
17035	return nil, false
17036}
17037
17038// AsZohoObjectDataset is the BasicDataset implementation for AzureDataLakeStoreDataset.
17039func (adlsd AzureDataLakeStoreDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
17040	return nil, false
17041}
17042
17043// AsXeroObjectDataset is the BasicDataset implementation for AzureDataLakeStoreDataset.
17044func (adlsd AzureDataLakeStoreDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
17045	return nil, false
17046}
17047
17048// AsSquareObjectDataset is the BasicDataset implementation for AzureDataLakeStoreDataset.
17049func (adlsd AzureDataLakeStoreDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
17050	return nil, false
17051}
17052
17053// AsSparkObjectDataset is the BasicDataset implementation for AzureDataLakeStoreDataset.
17054func (adlsd AzureDataLakeStoreDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
17055	return nil, false
17056}
17057
17058// AsShopifyObjectDataset is the BasicDataset implementation for AzureDataLakeStoreDataset.
17059func (adlsd AzureDataLakeStoreDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
17060	return nil, false
17061}
17062
17063// AsServiceNowObjectDataset is the BasicDataset implementation for AzureDataLakeStoreDataset.
17064func (adlsd AzureDataLakeStoreDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
17065	return nil, false
17066}
17067
17068// AsQuickBooksObjectDataset is the BasicDataset implementation for AzureDataLakeStoreDataset.
17069func (adlsd AzureDataLakeStoreDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
17070	return nil, false
17071}
17072
17073// AsPrestoObjectDataset is the BasicDataset implementation for AzureDataLakeStoreDataset.
17074func (adlsd AzureDataLakeStoreDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
17075	return nil, false
17076}
17077
17078// AsPhoenixObjectDataset is the BasicDataset implementation for AzureDataLakeStoreDataset.
17079func (adlsd AzureDataLakeStoreDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
17080	return nil, false
17081}
17082
17083// AsPaypalObjectDataset is the BasicDataset implementation for AzureDataLakeStoreDataset.
17084func (adlsd AzureDataLakeStoreDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
17085	return nil, false
17086}
17087
17088// AsMarketoObjectDataset is the BasicDataset implementation for AzureDataLakeStoreDataset.
17089func (adlsd AzureDataLakeStoreDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
17090	return nil, false
17091}
17092
17093// AsMariaDBTableDataset is the BasicDataset implementation for AzureDataLakeStoreDataset.
17094func (adlsd AzureDataLakeStoreDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
17095	return nil, false
17096}
17097
17098// AsMagentoObjectDataset is the BasicDataset implementation for AzureDataLakeStoreDataset.
17099func (adlsd AzureDataLakeStoreDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
17100	return nil, false
17101}
17102
17103// AsJiraObjectDataset is the BasicDataset implementation for AzureDataLakeStoreDataset.
17104func (adlsd AzureDataLakeStoreDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
17105	return nil, false
17106}
17107
17108// AsImpalaObjectDataset is the BasicDataset implementation for AzureDataLakeStoreDataset.
17109func (adlsd AzureDataLakeStoreDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
17110	return nil, false
17111}
17112
17113// AsHubspotObjectDataset is the BasicDataset implementation for AzureDataLakeStoreDataset.
17114func (adlsd AzureDataLakeStoreDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
17115	return nil, false
17116}
17117
17118// AsHiveObjectDataset is the BasicDataset implementation for AzureDataLakeStoreDataset.
17119func (adlsd AzureDataLakeStoreDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
17120	return nil, false
17121}
17122
17123// AsHBaseObjectDataset is the BasicDataset implementation for AzureDataLakeStoreDataset.
17124func (adlsd AzureDataLakeStoreDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
17125	return nil, false
17126}
17127
17128// AsGreenplumTableDataset is the BasicDataset implementation for AzureDataLakeStoreDataset.
17129func (adlsd AzureDataLakeStoreDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
17130	return nil, false
17131}
17132
17133// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for AzureDataLakeStoreDataset.
17134func (adlsd AzureDataLakeStoreDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
17135	return nil, false
17136}
17137
17138// AsEloquaObjectDataset is the BasicDataset implementation for AzureDataLakeStoreDataset.
17139func (adlsd AzureDataLakeStoreDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
17140	return nil, false
17141}
17142
17143// AsDrillTableDataset is the BasicDataset implementation for AzureDataLakeStoreDataset.
17144func (adlsd AzureDataLakeStoreDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
17145	return nil, false
17146}
17147
17148// AsCouchbaseTableDataset is the BasicDataset implementation for AzureDataLakeStoreDataset.
17149func (adlsd AzureDataLakeStoreDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
17150	return nil, false
17151}
17152
17153// AsConcurObjectDataset is the BasicDataset implementation for AzureDataLakeStoreDataset.
17154func (adlsd AzureDataLakeStoreDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
17155	return nil, false
17156}
17157
17158// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for AzureDataLakeStoreDataset.
17159func (adlsd AzureDataLakeStoreDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
17160	return nil, false
17161}
17162
17163// AsAmazonMWSObjectDataset is the BasicDataset implementation for AzureDataLakeStoreDataset.
17164func (adlsd AzureDataLakeStoreDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
17165	return nil, false
17166}
17167
17168// AsHTTPDataset is the BasicDataset implementation for AzureDataLakeStoreDataset.
17169func (adlsd AzureDataLakeStoreDataset) AsHTTPDataset() (*HTTPDataset, bool) {
17170	return nil, false
17171}
17172
17173// AsAzureSearchIndexDataset is the BasicDataset implementation for AzureDataLakeStoreDataset.
17174func (adlsd AzureDataLakeStoreDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
17175	return nil, false
17176}
17177
17178// AsWebTableDataset is the BasicDataset implementation for AzureDataLakeStoreDataset.
17179func (adlsd AzureDataLakeStoreDataset) AsWebTableDataset() (*WebTableDataset, bool) {
17180	return nil, false
17181}
17182
17183// AsSapTableResourceDataset is the BasicDataset implementation for AzureDataLakeStoreDataset.
17184func (adlsd AzureDataLakeStoreDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) {
17185	return nil, false
17186}
17187
17188// AsRestResourceDataset is the BasicDataset implementation for AzureDataLakeStoreDataset.
17189func (adlsd AzureDataLakeStoreDataset) AsRestResourceDataset() (*RestResourceDataset, bool) {
17190	return nil, false
17191}
17192
17193// AsSQLServerTableDataset is the BasicDataset implementation for AzureDataLakeStoreDataset.
17194func (adlsd AzureDataLakeStoreDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
17195	return nil, false
17196}
17197
17198// AsSapOpenHubTableDataset is the BasicDataset implementation for AzureDataLakeStoreDataset.
17199func (adlsd AzureDataLakeStoreDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) {
17200	return nil, false
17201}
17202
17203// AsSapHanaTableDataset is the BasicDataset implementation for AzureDataLakeStoreDataset.
17204func (adlsd AzureDataLakeStoreDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) {
17205	return nil, false
17206}
17207
17208// AsSapEccResourceDataset is the BasicDataset implementation for AzureDataLakeStoreDataset.
17209func (adlsd AzureDataLakeStoreDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
17210	return nil, false
17211}
17212
17213// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for AzureDataLakeStoreDataset.
17214func (adlsd AzureDataLakeStoreDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
17215	return nil, false
17216}
17217
17218// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for AzureDataLakeStoreDataset.
17219func (adlsd AzureDataLakeStoreDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) {
17220	return nil, false
17221}
17222
17223// AsSalesforceObjectDataset is the BasicDataset implementation for AzureDataLakeStoreDataset.
17224func (adlsd AzureDataLakeStoreDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
17225	return nil, false
17226}
17227
17228// AsMicrosoftAccessTableDataset is the BasicDataset implementation for AzureDataLakeStoreDataset.
17229func (adlsd AzureDataLakeStoreDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) {
17230	return nil, false
17231}
17232
17233// AsPostgreSQLTableDataset is the BasicDataset implementation for AzureDataLakeStoreDataset.
17234func (adlsd AzureDataLakeStoreDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) {
17235	return nil, false
17236}
17237
17238// AsMySQLTableDataset is the BasicDataset implementation for AzureDataLakeStoreDataset.
17239func (adlsd AzureDataLakeStoreDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) {
17240	return nil, false
17241}
17242
17243// AsOdbcTableDataset is the BasicDataset implementation for AzureDataLakeStoreDataset.
17244func (adlsd AzureDataLakeStoreDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) {
17245	return nil, false
17246}
17247
17248// AsInformixTableDataset is the BasicDataset implementation for AzureDataLakeStoreDataset.
17249func (adlsd AzureDataLakeStoreDataset) AsInformixTableDataset() (*InformixTableDataset, bool) {
17250	return nil, false
17251}
17252
17253// AsRelationalTableDataset is the BasicDataset implementation for AzureDataLakeStoreDataset.
17254func (adlsd AzureDataLakeStoreDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
17255	return nil, false
17256}
17257
17258// AsAzureMySQLTableDataset is the BasicDataset implementation for AzureDataLakeStoreDataset.
17259func (adlsd AzureDataLakeStoreDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
17260	return nil, false
17261}
17262
17263// AsTeradataTableDataset is the BasicDataset implementation for AzureDataLakeStoreDataset.
17264func (adlsd AzureDataLakeStoreDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) {
17265	return nil, false
17266}
17267
17268// AsOracleTableDataset is the BasicDataset implementation for AzureDataLakeStoreDataset.
17269func (adlsd AzureDataLakeStoreDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
17270	return nil, false
17271}
17272
17273// AsODataResourceDataset is the BasicDataset implementation for AzureDataLakeStoreDataset.
17274func (adlsd AzureDataLakeStoreDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
17275	return nil, false
17276}
17277
17278// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for AzureDataLakeStoreDataset.
17279func (adlsd AzureDataLakeStoreDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) {
17280	return nil, false
17281}
17282
17283// AsMongoDbV2CollectionDataset is the BasicDataset implementation for AzureDataLakeStoreDataset.
17284func (adlsd AzureDataLakeStoreDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) {
17285	return nil, false
17286}
17287
17288// AsMongoDbCollectionDataset is the BasicDataset implementation for AzureDataLakeStoreDataset.
17289func (adlsd AzureDataLakeStoreDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
17290	return nil, false
17291}
17292
17293// AsFileShareDataset is the BasicDataset implementation for AzureDataLakeStoreDataset.
17294func (adlsd AzureDataLakeStoreDataset) AsFileShareDataset() (*FileShareDataset, bool) {
17295	return nil, false
17296}
17297
17298// AsOffice365Dataset is the BasicDataset implementation for AzureDataLakeStoreDataset.
17299func (adlsd AzureDataLakeStoreDataset) AsOffice365Dataset() (*Office365Dataset, bool) {
17300	return nil, false
17301}
17302
17303// AsAzureBlobFSDataset is the BasicDataset implementation for AzureDataLakeStoreDataset.
17304func (adlsd AzureDataLakeStoreDataset) AsAzureBlobFSDataset() (*AzureBlobFSDataset, bool) {
17305	return nil, false
17306}
17307
17308// AsAzureDataLakeStoreDataset is the BasicDataset implementation for AzureDataLakeStoreDataset.
17309func (adlsd AzureDataLakeStoreDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) {
17310	return &adlsd, true
17311}
17312
17313// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for AzureDataLakeStoreDataset.
17314func (adlsd AzureDataLakeStoreDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) {
17315	return nil, false
17316}
17317
17318// AsDynamicsCrmEntityDataset is the BasicDataset implementation for AzureDataLakeStoreDataset.
17319func (adlsd AzureDataLakeStoreDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) {
17320	return nil, false
17321}
17322
17323// AsDynamicsEntityDataset is the BasicDataset implementation for AzureDataLakeStoreDataset.
17324func (adlsd AzureDataLakeStoreDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
17325	return nil, false
17326}
17327
17328// AsDocumentDbCollectionDataset is the BasicDataset implementation for AzureDataLakeStoreDataset.
17329func (adlsd AzureDataLakeStoreDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
17330	return nil, false
17331}
17332
17333// AsCustomDataset is the BasicDataset implementation for AzureDataLakeStoreDataset.
17334func (adlsd AzureDataLakeStoreDataset) AsCustomDataset() (*CustomDataset, bool) {
17335	return nil, false
17336}
17337
17338// AsCassandraTableDataset is the BasicDataset implementation for AzureDataLakeStoreDataset.
17339func (adlsd AzureDataLakeStoreDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
17340	return nil, false
17341}
17342
17343// AsAzureSQLDWTableDataset is the BasicDataset implementation for AzureDataLakeStoreDataset.
17344func (adlsd AzureDataLakeStoreDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
17345	return nil, false
17346}
17347
17348// AsAzureSQLMITableDataset is the BasicDataset implementation for AzureDataLakeStoreDataset.
17349func (adlsd AzureDataLakeStoreDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) {
17350	return nil, false
17351}
17352
17353// AsAzureSQLTableDataset is the BasicDataset implementation for AzureDataLakeStoreDataset.
17354func (adlsd AzureDataLakeStoreDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
17355	return nil, false
17356}
17357
17358// AsAzureTableDataset is the BasicDataset implementation for AzureDataLakeStoreDataset.
17359func (adlsd AzureDataLakeStoreDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
17360	return nil, false
17361}
17362
17363// AsAzureBlobDataset is the BasicDataset implementation for AzureDataLakeStoreDataset.
17364func (adlsd AzureDataLakeStoreDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) {
17365	return nil, false
17366}
17367
17368// AsBinaryDataset is the BasicDataset implementation for AzureDataLakeStoreDataset.
17369func (adlsd AzureDataLakeStoreDataset) AsBinaryDataset() (*BinaryDataset, bool) {
17370	return nil, false
17371}
17372
17373// AsDelimitedTextDataset is the BasicDataset implementation for AzureDataLakeStoreDataset.
17374func (adlsd AzureDataLakeStoreDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) {
17375	return nil, false
17376}
17377
17378// AsParquetDataset is the BasicDataset implementation for AzureDataLakeStoreDataset.
17379func (adlsd AzureDataLakeStoreDataset) AsParquetDataset() (*ParquetDataset, bool) {
17380	return nil, false
17381}
17382
17383// AsAmazonS3Dataset is the BasicDataset implementation for AzureDataLakeStoreDataset.
17384func (adlsd AzureDataLakeStoreDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) {
17385	return nil, false
17386}
17387
17388// AsDataset is the BasicDataset implementation for AzureDataLakeStoreDataset.
17389func (adlsd AzureDataLakeStoreDataset) AsDataset() (*Dataset, bool) {
17390	return nil, false
17391}
17392
17393// AsBasicDataset is the BasicDataset implementation for AzureDataLakeStoreDataset.
17394func (adlsd AzureDataLakeStoreDataset) AsBasicDataset() (BasicDataset, bool) {
17395	return &adlsd, true
17396}
17397
17398// UnmarshalJSON is the custom unmarshaler for AzureDataLakeStoreDataset struct.
17399func (adlsd *AzureDataLakeStoreDataset) UnmarshalJSON(body []byte) error {
17400	var m map[string]*json.RawMessage
17401	err := json.Unmarshal(body, &m)
17402	if err != nil {
17403		return err
17404	}
17405	for k, v := range m {
17406		switch k {
17407		case "typeProperties":
17408			if v != nil {
17409				var azureDataLakeStoreDatasetTypeProperties AzureDataLakeStoreDatasetTypeProperties
17410				err = json.Unmarshal(*v, &azureDataLakeStoreDatasetTypeProperties)
17411				if err != nil {
17412					return err
17413				}
17414				adlsd.AzureDataLakeStoreDatasetTypeProperties = &azureDataLakeStoreDatasetTypeProperties
17415			}
17416		default:
17417			if v != nil {
17418				var additionalProperties interface{}
17419				err = json.Unmarshal(*v, &additionalProperties)
17420				if err != nil {
17421					return err
17422				}
17423				if adlsd.AdditionalProperties == nil {
17424					adlsd.AdditionalProperties = make(map[string]interface{})
17425				}
17426				adlsd.AdditionalProperties[k] = additionalProperties
17427			}
17428		case "description":
17429			if v != nil {
17430				var description string
17431				err = json.Unmarshal(*v, &description)
17432				if err != nil {
17433					return err
17434				}
17435				adlsd.Description = &description
17436			}
17437		case "structure":
17438			if v != nil {
17439				var structure interface{}
17440				err = json.Unmarshal(*v, &structure)
17441				if err != nil {
17442					return err
17443				}
17444				adlsd.Structure = structure
17445			}
17446		case "schema":
17447			if v != nil {
17448				var schema interface{}
17449				err = json.Unmarshal(*v, &schema)
17450				if err != nil {
17451					return err
17452				}
17453				adlsd.Schema = schema
17454			}
17455		case "linkedServiceName":
17456			if v != nil {
17457				var linkedServiceName LinkedServiceReference
17458				err = json.Unmarshal(*v, &linkedServiceName)
17459				if err != nil {
17460					return err
17461				}
17462				adlsd.LinkedServiceName = &linkedServiceName
17463			}
17464		case "parameters":
17465			if v != nil {
17466				var parameters map[string]*ParameterSpecification
17467				err = json.Unmarshal(*v, &parameters)
17468				if err != nil {
17469					return err
17470				}
17471				adlsd.Parameters = parameters
17472			}
17473		case "annotations":
17474			if v != nil {
17475				var annotations []interface{}
17476				err = json.Unmarshal(*v, &annotations)
17477				if err != nil {
17478					return err
17479				}
17480				adlsd.Annotations = &annotations
17481			}
17482		case "folder":
17483			if v != nil {
17484				var folder DatasetFolder
17485				err = json.Unmarshal(*v, &folder)
17486				if err != nil {
17487					return err
17488				}
17489				adlsd.Folder = &folder
17490			}
17491		case "type":
17492			if v != nil {
17493				var typeVar TypeBasicDataset
17494				err = json.Unmarshal(*v, &typeVar)
17495				if err != nil {
17496					return err
17497				}
17498				adlsd.Type = typeVar
17499			}
17500		}
17501	}
17502
17503	return nil
17504}
17505
17506// AzureDataLakeStoreDatasetTypeProperties azure Data Lake Store dataset properties.
17507type AzureDataLakeStoreDatasetTypeProperties struct {
17508	// FolderPath - Path to the folder in the Azure Data Lake Store. Type: string (or Expression with resultType string).
17509	FolderPath interface{} `json:"folderPath,omitempty"`
17510	// FileName - The name of the file in the Azure Data Lake Store. Type: string (or Expression with resultType string).
17511	FileName interface{} `json:"fileName,omitempty"`
17512	// Format - The format of the Data Lake Store.
17513	Format BasicDatasetStorageFormat `json:"format,omitempty"`
17514	// Compression - The data compression method used for the item(s) in the Azure Data Lake Store.
17515	Compression BasicDatasetCompression `json:"compression,omitempty"`
17516}
17517
17518// UnmarshalJSON is the custom unmarshaler for AzureDataLakeStoreDatasetTypeProperties struct.
17519func (adlsdtp *AzureDataLakeStoreDatasetTypeProperties) UnmarshalJSON(body []byte) error {
17520	var m map[string]*json.RawMessage
17521	err := json.Unmarshal(body, &m)
17522	if err != nil {
17523		return err
17524	}
17525	for k, v := range m {
17526		switch k {
17527		case "folderPath":
17528			if v != nil {
17529				var folderPath interface{}
17530				err = json.Unmarshal(*v, &folderPath)
17531				if err != nil {
17532					return err
17533				}
17534				adlsdtp.FolderPath = folderPath
17535			}
17536		case "fileName":
17537			if v != nil {
17538				var fileName interface{}
17539				err = json.Unmarshal(*v, &fileName)
17540				if err != nil {
17541					return err
17542				}
17543				adlsdtp.FileName = fileName
17544			}
17545		case "format":
17546			if v != nil {
17547				formatVar, err := unmarshalBasicDatasetStorageFormat(*v)
17548				if err != nil {
17549					return err
17550				}
17551				adlsdtp.Format = formatVar
17552			}
17553		case "compression":
17554			if v != nil {
17555				compression, err := unmarshalBasicDatasetCompression(*v)
17556				if err != nil {
17557					return err
17558				}
17559				adlsdtp.Compression = compression
17560			}
17561		}
17562	}
17563
17564	return nil
17565}
17566
17567// AzureDataLakeStoreLinkedService azure Data Lake Store linked service.
17568type AzureDataLakeStoreLinkedService struct {
17569	// AzureDataLakeStoreLinkedServiceTypeProperties - Azure Data Lake Store linked service properties.
17570	*AzureDataLakeStoreLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
17571	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
17572	AdditionalProperties map[string]interface{} `json:""`
17573	// ConnectVia - The integration runtime reference.
17574	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
17575	// Description - Linked service description.
17576	Description *string `json:"description,omitempty"`
17577	// Parameters - Parameters for linked service.
17578	Parameters map[string]*ParameterSpecification `json:"parameters"`
17579	// Annotations - List of tags that can be used for describing the linked service.
17580	Annotations *[]interface{} `json:"annotations,omitempty"`
17581	// Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', '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', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage'
17582	Type TypeBasicLinkedService `json:"type,omitempty"`
17583}
17584
17585// MarshalJSON is the custom marshaler for AzureDataLakeStoreLinkedService.
17586func (adlsls AzureDataLakeStoreLinkedService) MarshalJSON() ([]byte, error) {
17587	adlsls.Type = TypeAzureDataLakeStore
17588	objectMap := make(map[string]interface{})
17589	if adlsls.AzureDataLakeStoreLinkedServiceTypeProperties != nil {
17590		objectMap["typeProperties"] = adlsls.AzureDataLakeStoreLinkedServiceTypeProperties
17591	}
17592	if adlsls.ConnectVia != nil {
17593		objectMap["connectVia"] = adlsls.ConnectVia
17594	}
17595	if adlsls.Description != nil {
17596		objectMap["description"] = adlsls.Description
17597	}
17598	if adlsls.Parameters != nil {
17599		objectMap["parameters"] = adlsls.Parameters
17600	}
17601	if adlsls.Annotations != nil {
17602		objectMap["annotations"] = adlsls.Annotations
17603	}
17604	if adlsls.Type != "" {
17605		objectMap["type"] = adlsls.Type
17606	}
17607	for k, v := range adlsls.AdditionalProperties {
17608		objectMap[k] = v
17609	}
17610	return json.Marshal(objectMap)
17611}
17612
17613// AsAzureFunctionLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
17614func (adlsls AzureDataLakeStoreLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) {
17615	return nil, false
17616}
17617
17618// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
17619func (adlsls AzureDataLakeStoreLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) {
17620	return nil, false
17621}
17622
17623// AsSapTableLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
17624func (adlsls AzureDataLakeStoreLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) {
17625	return nil, false
17626}
17627
17628// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
17629func (adlsls AzureDataLakeStoreLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) {
17630	return nil, false
17631}
17632
17633// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
17634func (adlsls AzureDataLakeStoreLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) {
17635	return nil, false
17636}
17637
17638// AsDynamicsAXLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
17639func (adlsls AzureDataLakeStoreLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) {
17640	return nil, false
17641}
17642
17643// AsResponsysLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
17644func (adlsls AzureDataLakeStoreLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
17645	return nil, false
17646}
17647
17648// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
17649func (adlsls AzureDataLakeStoreLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
17650	return nil, false
17651}
17652
17653// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
17654func (adlsls AzureDataLakeStoreLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
17655	return nil, false
17656}
17657
17658// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
17659func (adlsls AzureDataLakeStoreLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
17660	return nil, false
17661}
17662
17663// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
17664func (adlsls AzureDataLakeStoreLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
17665	return nil, false
17666}
17667
17668// AsNetezzaLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
17669func (adlsls AzureDataLakeStoreLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
17670	return nil, false
17671}
17672
17673// AsVerticaLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
17674func (adlsls AzureDataLakeStoreLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
17675	return nil, false
17676}
17677
17678// AsZohoLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
17679func (adlsls AzureDataLakeStoreLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
17680	return nil, false
17681}
17682
17683// AsXeroLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
17684func (adlsls AzureDataLakeStoreLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
17685	return nil, false
17686}
17687
17688// AsSquareLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
17689func (adlsls AzureDataLakeStoreLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
17690	return nil, false
17691}
17692
17693// AsSparkLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
17694func (adlsls AzureDataLakeStoreLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
17695	return nil, false
17696}
17697
17698// AsShopifyLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
17699func (adlsls AzureDataLakeStoreLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
17700	return nil, false
17701}
17702
17703// AsServiceNowLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
17704func (adlsls AzureDataLakeStoreLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
17705	return nil, false
17706}
17707
17708// AsQuickBooksLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
17709func (adlsls AzureDataLakeStoreLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
17710	return nil, false
17711}
17712
17713// AsPrestoLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
17714func (adlsls AzureDataLakeStoreLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
17715	return nil, false
17716}
17717
17718// AsPhoenixLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
17719func (adlsls AzureDataLakeStoreLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
17720	return nil, false
17721}
17722
17723// AsPaypalLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
17724func (adlsls AzureDataLakeStoreLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
17725	return nil, false
17726}
17727
17728// AsMarketoLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
17729func (adlsls AzureDataLakeStoreLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
17730	return nil, false
17731}
17732
17733// AsMariaDBLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
17734func (adlsls AzureDataLakeStoreLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
17735	return nil, false
17736}
17737
17738// AsMagentoLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
17739func (adlsls AzureDataLakeStoreLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
17740	return nil, false
17741}
17742
17743// AsJiraLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
17744func (adlsls AzureDataLakeStoreLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
17745	return nil, false
17746}
17747
17748// AsImpalaLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
17749func (adlsls AzureDataLakeStoreLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
17750	return nil, false
17751}
17752
17753// AsHubspotLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
17754func (adlsls AzureDataLakeStoreLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
17755	return nil, false
17756}
17757
17758// AsHiveLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
17759func (adlsls AzureDataLakeStoreLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
17760	return nil, false
17761}
17762
17763// AsHBaseLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
17764func (adlsls AzureDataLakeStoreLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
17765	return nil, false
17766}
17767
17768// AsGreenplumLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
17769func (adlsls AzureDataLakeStoreLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
17770	return nil, false
17771}
17772
17773// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
17774func (adlsls AzureDataLakeStoreLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
17775	return nil, false
17776}
17777
17778// AsEloquaLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
17779func (adlsls AzureDataLakeStoreLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
17780	return nil, false
17781}
17782
17783// AsDrillLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
17784func (adlsls AzureDataLakeStoreLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
17785	return nil, false
17786}
17787
17788// AsCouchbaseLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
17789func (adlsls AzureDataLakeStoreLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
17790	return nil, false
17791}
17792
17793// AsConcurLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
17794func (adlsls AzureDataLakeStoreLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
17795	return nil, false
17796}
17797
17798// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
17799func (adlsls AzureDataLakeStoreLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
17800	return nil, false
17801}
17802
17803// AsAmazonMWSLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
17804func (adlsls AzureDataLakeStoreLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
17805	return nil, false
17806}
17807
17808// AsSapHanaLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
17809func (adlsls AzureDataLakeStoreLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
17810	return nil, false
17811}
17812
17813// AsSapBWLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
17814func (adlsls AzureDataLakeStoreLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
17815	return nil, false
17816}
17817
17818// AsSftpServerLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
17819func (adlsls AzureDataLakeStoreLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
17820	return nil, false
17821}
17822
17823// AsFtpServerLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
17824func (adlsls AzureDataLakeStoreLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
17825	return nil, false
17826}
17827
17828// AsHTTPLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
17829func (adlsls AzureDataLakeStoreLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
17830	return nil, false
17831}
17832
17833// AsAzureSearchLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
17834func (adlsls AzureDataLakeStoreLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
17835	return nil, false
17836}
17837
17838// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
17839func (adlsls AzureDataLakeStoreLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
17840	return nil, false
17841}
17842
17843// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
17844func (adlsls AzureDataLakeStoreLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
17845	return nil, false
17846}
17847
17848// AsAmazonS3LinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
17849func (adlsls AzureDataLakeStoreLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
17850	return nil, false
17851}
17852
17853// AsRestServiceLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
17854func (adlsls AzureDataLakeStoreLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) {
17855	return nil, false
17856}
17857
17858// AsSapOpenHubLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
17859func (adlsls AzureDataLakeStoreLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) {
17860	return nil, false
17861}
17862
17863// AsSapEccLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
17864func (adlsls AzureDataLakeStoreLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
17865	return nil, false
17866}
17867
17868// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
17869func (adlsls AzureDataLakeStoreLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
17870	return nil, false
17871}
17872
17873// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
17874func (adlsls AzureDataLakeStoreLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) {
17875	return nil, false
17876}
17877
17878// AsSalesforceLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
17879func (adlsls AzureDataLakeStoreLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
17880	return nil, false
17881}
17882
17883// AsOffice365LinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
17884func (adlsls AzureDataLakeStoreLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) {
17885	return nil, false
17886}
17887
17888// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
17889func (adlsls AzureDataLakeStoreLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) {
17890	return nil, false
17891}
17892
17893// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
17894func (adlsls AzureDataLakeStoreLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
17895	return &adlsls, true
17896}
17897
17898// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
17899func (adlsls AzureDataLakeStoreLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) {
17900	return nil, false
17901}
17902
17903// AsMongoDbV2LinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
17904func (adlsls AzureDataLakeStoreLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) {
17905	return nil, false
17906}
17907
17908// AsMongoDbLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
17909func (adlsls AzureDataLakeStoreLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
17910	return nil, false
17911}
17912
17913// AsCassandraLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
17914func (adlsls AzureDataLakeStoreLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
17915	return nil, false
17916}
17917
17918// AsWebLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
17919func (adlsls AzureDataLakeStoreLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
17920	return nil, false
17921}
17922
17923// AsODataLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
17924func (adlsls AzureDataLakeStoreLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
17925	return nil, false
17926}
17927
17928// AsHdfsLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
17929func (adlsls AzureDataLakeStoreLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
17930	return nil, false
17931}
17932
17933// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
17934func (adlsls AzureDataLakeStoreLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) {
17935	return nil, false
17936}
17937
17938// AsInformixLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
17939func (adlsls AzureDataLakeStoreLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) {
17940	return nil, false
17941}
17942
17943// AsOdbcLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
17944func (adlsls AzureDataLakeStoreLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
17945	return nil, false
17946}
17947
17948// AsAzureMLLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
17949func (adlsls AzureDataLakeStoreLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
17950	return nil, false
17951}
17952
17953// AsTeradataLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
17954func (adlsls AzureDataLakeStoreLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
17955	return nil, false
17956}
17957
17958// AsDb2LinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
17959func (adlsls AzureDataLakeStoreLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
17960	return nil, false
17961}
17962
17963// AsSybaseLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
17964func (adlsls AzureDataLakeStoreLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
17965	return nil, false
17966}
17967
17968// AsPostgreSQLLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
17969func (adlsls AzureDataLakeStoreLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
17970	return nil, false
17971}
17972
17973// AsMySQLLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
17974func (adlsls AzureDataLakeStoreLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
17975	return nil, false
17976}
17977
17978// AsAzureMySQLLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
17979func (adlsls AzureDataLakeStoreLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
17980	return nil, false
17981}
17982
17983// AsOracleLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
17984func (adlsls AzureDataLakeStoreLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
17985	return nil, false
17986}
17987
17988// AsFileServerLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
17989func (adlsls AzureDataLakeStoreLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
17990	return nil, false
17991}
17992
17993// AsHDInsightLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
17994func (adlsls AzureDataLakeStoreLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
17995	return nil, false
17996}
17997
17998// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
17999func (adlsls AzureDataLakeStoreLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) {
18000	return nil, false
18001}
18002
18003// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
18004func (adlsls AzureDataLakeStoreLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) {
18005	return nil, false
18006}
18007
18008// AsDynamicsLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
18009func (adlsls AzureDataLakeStoreLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
18010	return nil, false
18011}
18012
18013// AsCosmosDbLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
18014func (adlsls AzureDataLakeStoreLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
18015	return nil, false
18016}
18017
18018// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
18019func (adlsls AzureDataLakeStoreLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
18020	return nil, false
18021}
18022
18023// AsAzureBatchLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
18024func (adlsls AzureDataLakeStoreLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
18025	return nil, false
18026}
18027
18028// AsAzureSQLMILinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
18029func (adlsls AzureDataLakeStoreLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) {
18030	return nil, false
18031}
18032
18033// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
18034func (adlsls AzureDataLakeStoreLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
18035	return nil, false
18036}
18037
18038// AsSQLServerLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
18039func (adlsls AzureDataLakeStoreLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
18040	return nil, false
18041}
18042
18043// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
18044func (adlsls AzureDataLakeStoreLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
18045	return nil, false
18046}
18047
18048// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
18049func (adlsls AzureDataLakeStoreLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) {
18050	return nil, false
18051}
18052
18053// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
18054func (adlsls AzureDataLakeStoreLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) {
18055	return nil, false
18056}
18057
18058// AsAzureStorageLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
18059func (adlsls AzureDataLakeStoreLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
18060	return nil, false
18061}
18062
18063// AsLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
18064func (adlsls AzureDataLakeStoreLinkedService) AsLinkedService() (*LinkedService, bool) {
18065	return nil, false
18066}
18067
18068// AsBasicLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
18069func (adlsls AzureDataLakeStoreLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
18070	return &adlsls, true
18071}
18072
18073// UnmarshalJSON is the custom unmarshaler for AzureDataLakeStoreLinkedService struct.
18074func (adlsls *AzureDataLakeStoreLinkedService) UnmarshalJSON(body []byte) error {
18075	var m map[string]*json.RawMessage
18076	err := json.Unmarshal(body, &m)
18077	if err != nil {
18078		return err
18079	}
18080	for k, v := range m {
18081		switch k {
18082		case "typeProperties":
18083			if v != nil {
18084				var azureDataLakeStoreLinkedServiceTypeProperties AzureDataLakeStoreLinkedServiceTypeProperties
18085				err = json.Unmarshal(*v, &azureDataLakeStoreLinkedServiceTypeProperties)
18086				if err != nil {
18087					return err
18088				}
18089				adlsls.AzureDataLakeStoreLinkedServiceTypeProperties = &azureDataLakeStoreLinkedServiceTypeProperties
18090			}
18091		default:
18092			if v != nil {
18093				var additionalProperties interface{}
18094				err = json.Unmarshal(*v, &additionalProperties)
18095				if err != nil {
18096					return err
18097				}
18098				if adlsls.AdditionalProperties == nil {
18099					adlsls.AdditionalProperties = make(map[string]interface{})
18100				}
18101				adlsls.AdditionalProperties[k] = additionalProperties
18102			}
18103		case "connectVia":
18104			if v != nil {
18105				var connectVia IntegrationRuntimeReference
18106				err = json.Unmarshal(*v, &connectVia)
18107				if err != nil {
18108					return err
18109				}
18110				adlsls.ConnectVia = &connectVia
18111			}
18112		case "description":
18113			if v != nil {
18114				var description string
18115				err = json.Unmarshal(*v, &description)
18116				if err != nil {
18117					return err
18118				}
18119				adlsls.Description = &description
18120			}
18121		case "parameters":
18122			if v != nil {
18123				var parameters map[string]*ParameterSpecification
18124				err = json.Unmarshal(*v, &parameters)
18125				if err != nil {
18126					return err
18127				}
18128				adlsls.Parameters = parameters
18129			}
18130		case "annotations":
18131			if v != nil {
18132				var annotations []interface{}
18133				err = json.Unmarshal(*v, &annotations)
18134				if err != nil {
18135					return err
18136				}
18137				adlsls.Annotations = &annotations
18138			}
18139		case "type":
18140			if v != nil {
18141				var typeVar TypeBasicLinkedService
18142				err = json.Unmarshal(*v, &typeVar)
18143				if err != nil {
18144					return err
18145				}
18146				adlsls.Type = typeVar
18147			}
18148		}
18149	}
18150
18151	return nil
18152}
18153
18154// AzureDataLakeStoreLinkedServiceTypeProperties azure Data Lake Store linked service properties.
18155type AzureDataLakeStoreLinkedServiceTypeProperties struct {
18156	// DataLakeStoreURI - Data Lake Store service URI. Type: string (or Expression with resultType string).
18157	DataLakeStoreURI interface{} `json:"dataLakeStoreUri,omitempty"`
18158	// ServicePrincipalID - The ID of the application used to authenticate against the Azure Data Lake Store account. Type: string (or Expression with resultType string).
18159	ServicePrincipalID interface{} `json:"servicePrincipalId,omitempty"`
18160	// ServicePrincipalKey - The Key of the application used to authenticate against the Azure Data Lake Store account.
18161	ServicePrincipalKey BasicSecretBase `json:"servicePrincipalKey,omitempty"`
18162	// Tenant - The name or ID of the tenant to which the service principal belongs. Type: string (or Expression with resultType string).
18163	Tenant interface{} `json:"tenant,omitempty"`
18164	// AccountName - Data Lake Store account name. Type: string (or Expression with resultType string).
18165	AccountName interface{} `json:"accountName,omitempty"`
18166	// SubscriptionID - Data Lake Store account subscription ID (if different from Data Factory account). Type: string (or Expression with resultType string).
18167	SubscriptionID interface{} `json:"subscriptionId,omitempty"`
18168	// ResourceGroupName - Data Lake Store account resource group name (if different from Data Factory account). Type: string (or Expression with resultType string).
18169	ResourceGroupName interface{} `json:"resourceGroupName,omitempty"`
18170	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
18171	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
18172}
18173
18174// UnmarshalJSON is the custom unmarshaler for AzureDataLakeStoreLinkedServiceTypeProperties struct.
18175func (adlslstp *AzureDataLakeStoreLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
18176	var m map[string]*json.RawMessage
18177	err := json.Unmarshal(body, &m)
18178	if err != nil {
18179		return err
18180	}
18181	for k, v := range m {
18182		switch k {
18183		case "dataLakeStoreUri":
18184			if v != nil {
18185				var dataLakeStoreURI interface{}
18186				err = json.Unmarshal(*v, &dataLakeStoreURI)
18187				if err != nil {
18188					return err
18189				}
18190				adlslstp.DataLakeStoreURI = dataLakeStoreURI
18191			}
18192		case "servicePrincipalId":
18193			if v != nil {
18194				var servicePrincipalID interface{}
18195				err = json.Unmarshal(*v, &servicePrincipalID)
18196				if err != nil {
18197					return err
18198				}
18199				adlslstp.ServicePrincipalID = servicePrincipalID
18200			}
18201		case "servicePrincipalKey":
18202			if v != nil {
18203				servicePrincipalKey, err := unmarshalBasicSecretBase(*v)
18204				if err != nil {
18205					return err
18206				}
18207				adlslstp.ServicePrincipalKey = servicePrincipalKey
18208			}
18209		case "tenant":
18210			if v != nil {
18211				var tenant interface{}
18212				err = json.Unmarshal(*v, &tenant)
18213				if err != nil {
18214					return err
18215				}
18216				adlslstp.Tenant = tenant
18217			}
18218		case "accountName":
18219			if v != nil {
18220				var accountName interface{}
18221				err = json.Unmarshal(*v, &accountName)
18222				if err != nil {
18223					return err
18224				}
18225				adlslstp.AccountName = accountName
18226			}
18227		case "subscriptionId":
18228			if v != nil {
18229				var subscriptionID interface{}
18230				err = json.Unmarshal(*v, &subscriptionID)
18231				if err != nil {
18232					return err
18233				}
18234				adlslstp.SubscriptionID = subscriptionID
18235			}
18236		case "resourceGroupName":
18237			if v != nil {
18238				var resourceGroupName interface{}
18239				err = json.Unmarshal(*v, &resourceGroupName)
18240				if err != nil {
18241					return err
18242				}
18243				adlslstp.ResourceGroupName = resourceGroupName
18244			}
18245		case "encryptedCredential":
18246			if v != nil {
18247				var encryptedCredential interface{}
18248				err = json.Unmarshal(*v, &encryptedCredential)
18249				if err != nil {
18250					return err
18251				}
18252				adlslstp.EncryptedCredential = encryptedCredential
18253			}
18254		}
18255	}
18256
18257	return nil
18258}
18259
18260// AzureDataLakeStoreLocation the location of azure data lake store dataset.
18261type AzureDataLakeStoreLocation struct {
18262	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
18263	AdditionalProperties map[string]interface{} `json:""`
18264	// Type - Type of dataset storage location.
18265	Type *string `json:"type,omitempty"`
18266	// FolderPath - Specify the folder path of dataset. Type: string (or Expression with resultType string)
18267	FolderPath interface{} `json:"folderPath,omitempty"`
18268	// FileName - Specify the file name of dataset. Type: string (or Expression with resultType string).
18269	FileName interface{} `json:"fileName,omitempty"`
18270}
18271
18272// MarshalJSON is the custom marshaler for AzureDataLakeStoreLocation.
18273func (adlsl AzureDataLakeStoreLocation) MarshalJSON() ([]byte, error) {
18274	objectMap := make(map[string]interface{})
18275	if adlsl.Type != nil {
18276		objectMap["type"] = adlsl.Type
18277	}
18278	if adlsl.FolderPath != nil {
18279		objectMap["folderPath"] = adlsl.FolderPath
18280	}
18281	if adlsl.FileName != nil {
18282		objectMap["fileName"] = adlsl.FileName
18283	}
18284	for k, v := range adlsl.AdditionalProperties {
18285		objectMap[k] = v
18286	}
18287	return json.Marshal(objectMap)
18288}
18289
18290// UnmarshalJSON is the custom unmarshaler for AzureDataLakeStoreLocation struct.
18291func (adlsl *AzureDataLakeStoreLocation) UnmarshalJSON(body []byte) error {
18292	var m map[string]*json.RawMessage
18293	err := json.Unmarshal(body, &m)
18294	if err != nil {
18295		return err
18296	}
18297	for k, v := range m {
18298		switch k {
18299		default:
18300			if v != nil {
18301				var additionalProperties interface{}
18302				err = json.Unmarshal(*v, &additionalProperties)
18303				if err != nil {
18304					return err
18305				}
18306				if adlsl.AdditionalProperties == nil {
18307					adlsl.AdditionalProperties = make(map[string]interface{})
18308				}
18309				adlsl.AdditionalProperties[k] = additionalProperties
18310			}
18311		case "type":
18312			if v != nil {
18313				var typeVar string
18314				err = json.Unmarshal(*v, &typeVar)
18315				if err != nil {
18316					return err
18317				}
18318				adlsl.Type = &typeVar
18319			}
18320		case "folderPath":
18321			if v != nil {
18322				var folderPath interface{}
18323				err = json.Unmarshal(*v, &folderPath)
18324				if err != nil {
18325					return err
18326				}
18327				adlsl.FolderPath = folderPath
18328			}
18329		case "fileName":
18330			if v != nil {
18331				var fileName interface{}
18332				err = json.Unmarshal(*v, &fileName)
18333				if err != nil {
18334					return err
18335				}
18336				adlsl.FileName = fileName
18337			}
18338		}
18339	}
18340
18341	return nil
18342}
18343
18344// AzureDataLakeStoreReadSettings azure data lake store read settings.
18345type AzureDataLakeStoreReadSettings struct {
18346	// Recursive - If true, files under the folder path will be read recursively. Default is true. Type: boolean (or Expression with resultType boolean).
18347	Recursive interface{} `json:"recursive,omitempty"`
18348	// WildcardFolderPath - ADLS wildcardFolderPath. Type: string (or Expression with resultType string).
18349	WildcardFolderPath interface{} `json:"wildcardFolderPath,omitempty"`
18350	// WildcardFileName - ADLS wildcardFileName. Type: string (or Expression with resultType string).
18351	WildcardFileName interface{} `json:"wildcardFileName,omitempty"`
18352	// EnablePartitionDiscovery - Indicates whether to enable partition discovery.
18353	EnablePartitionDiscovery *bool `json:"enablePartitionDiscovery,omitempty"`
18354	// ModifiedDatetimeStart - The start of file's modified datetime. Type: string (or Expression with resultType string).
18355	ModifiedDatetimeStart interface{} `json:"modifiedDatetimeStart,omitempty"`
18356	// ModifiedDatetimeEnd - The end of file's modified datetime. Type: string (or Expression with resultType string).
18357	ModifiedDatetimeEnd interface{} `json:"modifiedDatetimeEnd,omitempty"`
18358	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
18359	AdditionalProperties map[string]interface{} `json:""`
18360	// Type - The read setting type.
18361	Type *string `json:"type,omitempty"`
18362	// MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer).
18363	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
18364}
18365
18366// MarshalJSON is the custom marshaler for AzureDataLakeStoreReadSettings.
18367func (adlsrs AzureDataLakeStoreReadSettings) MarshalJSON() ([]byte, error) {
18368	objectMap := make(map[string]interface{})
18369	if adlsrs.Recursive != nil {
18370		objectMap["recursive"] = adlsrs.Recursive
18371	}
18372	if adlsrs.WildcardFolderPath != nil {
18373		objectMap["wildcardFolderPath"] = adlsrs.WildcardFolderPath
18374	}
18375	if adlsrs.WildcardFileName != nil {
18376		objectMap["wildcardFileName"] = adlsrs.WildcardFileName
18377	}
18378	if adlsrs.EnablePartitionDiscovery != nil {
18379		objectMap["enablePartitionDiscovery"] = adlsrs.EnablePartitionDiscovery
18380	}
18381	if adlsrs.ModifiedDatetimeStart != nil {
18382		objectMap["modifiedDatetimeStart"] = adlsrs.ModifiedDatetimeStart
18383	}
18384	if adlsrs.ModifiedDatetimeEnd != nil {
18385		objectMap["modifiedDatetimeEnd"] = adlsrs.ModifiedDatetimeEnd
18386	}
18387	if adlsrs.Type != nil {
18388		objectMap["type"] = adlsrs.Type
18389	}
18390	if adlsrs.MaxConcurrentConnections != nil {
18391		objectMap["maxConcurrentConnections"] = adlsrs.MaxConcurrentConnections
18392	}
18393	for k, v := range adlsrs.AdditionalProperties {
18394		objectMap[k] = v
18395	}
18396	return json.Marshal(objectMap)
18397}
18398
18399// UnmarshalJSON is the custom unmarshaler for AzureDataLakeStoreReadSettings struct.
18400func (adlsrs *AzureDataLakeStoreReadSettings) UnmarshalJSON(body []byte) error {
18401	var m map[string]*json.RawMessage
18402	err := json.Unmarshal(body, &m)
18403	if err != nil {
18404		return err
18405	}
18406	for k, v := range m {
18407		switch k {
18408		case "recursive":
18409			if v != nil {
18410				var recursive interface{}
18411				err = json.Unmarshal(*v, &recursive)
18412				if err != nil {
18413					return err
18414				}
18415				adlsrs.Recursive = recursive
18416			}
18417		case "wildcardFolderPath":
18418			if v != nil {
18419				var wildcardFolderPath interface{}
18420				err = json.Unmarshal(*v, &wildcardFolderPath)
18421				if err != nil {
18422					return err
18423				}
18424				adlsrs.WildcardFolderPath = wildcardFolderPath
18425			}
18426		case "wildcardFileName":
18427			if v != nil {
18428				var wildcardFileName interface{}
18429				err = json.Unmarshal(*v, &wildcardFileName)
18430				if err != nil {
18431					return err
18432				}
18433				adlsrs.WildcardFileName = wildcardFileName
18434			}
18435		case "enablePartitionDiscovery":
18436			if v != nil {
18437				var enablePartitionDiscovery bool
18438				err = json.Unmarshal(*v, &enablePartitionDiscovery)
18439				if err != nil {
18440					return err
18441				}
18442				adlsrs.EnablePartitionDiscovery = &enablePartitionDiscovery
18443			}
18444		case "modifiedDatetimeStart":
18445			if v != nil {
18446				var modifiedDatetimeStart interface{}
18447				err = json.Unmarshal(*v, &modifiedDatetimeStart)
18448				if err != nil {
18449					return err
18450				}
18451				adlsrs.ModifiedDatetimeStart = modifiedDatetimeStart
18452			}
18453		case "modifiedDatetimeEnd":
18454			if v != nil {
18455				var modifiedDatetimeEnd interface{}
18456				err = json.Unmarshal(*v, &modifiedDatetimeEnd)
18457				if err != nil {
18458					return err
18459				}
18460				adlsrs.ModifiedDatetimeEnd = modifiedDatetimeEnd
18461			}
18462		default:
18463			if v != nil {
18464				var additionalProperties interface{}
18465				err = json.Unmarshal(*v, &additionalProperties)
18466				if err != nil {
18467					return err
18468				}
18469				if adlsrs.AdditionalProperties == nil {
18470					adlsrs.AdditionalProperties = make(map[string]interface{})
18471				}
18472				adlsrs.AdditionalProperties[k] = additionalProperties
18473			}
18474		case "type":
18475			if v != nil {
18476				var typeVar string
18477				err = json.Unmarshal(*v, &typeVar)
18478				if err != nil {
18479					return err
18480				}
18481				adlsrs.Type = &typeVar
18482			}
18483		case "maxConcurrentConnections":
18484			if v != nil {
18485				var maxConcurrentConnections interface{}
18486				err = json.Unmarshal(*v, &maxConcurrentConnections)
18487				if err != nil {
18488					return err
18489				}
18490				adlsrs.MaxConcurrentConnections = maxConcurrentConnections
18491			}
18492		}
18493	}
18494
18495	return nil
18496}
18497
18498// AzureDataLakeStoreSink a copy activity Azure Data Lake Store sink.
18499type AzureDataLakeStoreSink struct {
18500	// CopyBehavior - The type of copy behavior for copy sink.
18501	CopyBehavior interface{} `json:"copyBehavior,omitempty"`
18502	// EnableAdlsSingleFileParallel - Single File Parallel.
18503	EnableAdlsSingleFileParallel interface{} `json:"enableAdlsSingleFileParallel,omitempty"`
18504	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
18505	AdditionalProperties map[string]interface{} `json:""`
18506	// WriteBatchSize - Write batch size. Type: integer (or Expression with resultType integer), minimum: 0.
18507	WriteBatchSize interface{} `json:"writeBatchSize,omitempty"`
18508	// 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])).
18509	WriteBatchTimeout interface{} `json:"writeBatchTimeout,omitempty"`
18510	// SinkRetryCount - Sink retry count. Type: integer (or Expression with resultType integer).
18511	SinkRetryCount interface{} `json:"sinkRetryCount,omitempty"`
18512	// 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])).
18513	SinkRetryWait interface{} `json:"sinkRetryWait,omitempty"`
18514	// MaxConcurrentConnections - The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer).
18515	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
18516	// Type - Possible values include: 'TypeCopySink', 'TypeCosmosDbMongoDbAPISink', 'TypeSalesforceServiceCloudSink', 'TypeSalesforceSink', 'TypeAzureDataExplorerSink', 'TypeCommonDataServiceForAppsSink', 'TypeDynamicsCrmSink', 'TypeDynamicsSink', 'TypeMicrosoftAccessSink', 'TypeInformixSink', 'TypeOdbcSink', 'TypeAzureSearchIndexSink', 'TypeAzureBlobFSSink', 'TypeAzureDataLakeStoreSink', 'TypeOracleSink', 'TypeSQLDWSink', 'TypeSQLMISink', 'TypeAzureSQLSink', 'TypeSQLServerSink', 'TypeSQLSink', 'TypeDocumentDbCollectionSink', 'TypeFileSystemSink', 'TypeBlobSink', 'TypeBinarySink', 'TypeParquetSink', 'TypeAzureTableSink', 'TypeAzureQueueSink', 'TypeSapCloudForCustomerSink', 'TypeAzurePostgreSQLSink', 'TypeDelimitedTextSink'
18517	Type TypeBasicCopySink `json:"type,omitempty"`
18518}
18519
18520// MarshalJSON is the custom marshaler for AzureDataLakeStoreSink.
18521func (adlss AzureDataLakeStoreSink) MarshalJSON() ([]byte, error) {
18522	adlss.Type = TypeAzureDataLakeStoreSink
18523	objectMap := make(map[string]interface{})
18524	if adlss.CopyBehavior != nil {
18525		objectMap["copyBehavior"] = adlss.CopyBehavior
18526	}
18527	if adlss.EnableAdlsSingleFileParallel != nil {
18528		objectMap["enableAdlsSingleFileParallel"] = adlss.EnableAdlsSingleFileParallel
18529	}
18530	if adlss.WriteBatchSize != nil {
18531		objectMap["writeBatchSize"] = adlss.WriteBatchSize
18532	}
18533	if adlss.WriteBatchTimeout != nil {
18534		objectMap["writeBatchTimeout"] = adlss.WriteBatchTimeout
18535	}
18536	if adlss.SinkRetryCount != nil {
18537		objectMap["sinkRetryCount"] = adlss.SinkRetryCount
18538	}
18539	if adlss.SinkRetryWait != nil {
18540		objectMap["sinkRetryWait"] = adlss.SinkRetryWait
18541	}
18542	if adlss.MaxConcurrentConnections != nil {
18543		objectMap["maxConcurrentConnections"] = adlss.MaxConcurrentConnections
18544	}
18545	if adlss.Type != "" {
18546		objectMap["type"] = adlss.Type
18547	}
18548	for k, v := range adlss.AdditionalProperties {
18549		objectMap[k] = v
18550	}
18551	return json.Marshal(objectMap)
18552}
18553
18554// AsCosmosDbMongoDbAPISink is the BasicCopySink implementation for AzureDataLakeStoreSink.
18555func (adlss AzureDataLakeStoreSink) AsCosmosDbMongoDbAPISink() (*CosmosDbMongoDbAPISink, bool) {
18556	return nil, false
18557}
18558
18559// AsSalesforceServiceCloudSink is the BasicCopySink implementation for AzureDataLakeStoreSink.
18560func (adlss AzureDataLakeStoreSink) AsSalesforceServiceCloudSink() (*SalesforceServiceCloudSink, bool) {
18561	return nil, false
18562}
18563
18564// AsSalesforceSink is the BasicCopySink implementation for AzureDataLakeStoreSink.
18565func (adlss AzureDataLakeStoreSink) AsSalesforceSink() (*SalesforceSink, bool) {
18566	return nil, false
18567}
18568
18569// AsAzureDataExplorerSink is the BasicCopySink implementation for AzureDataLakeStoreSink.
18570func (adlss AzureDataLakeStoreSink) AsAzureDataExplorerSink() (*AzureDataExplorerSink, bool) {
18571	return nil, false
18572}
18573
18574// AsCommonDataServiceForAppsSink is the BasicCopySink implementation for AzureDataLakeStoreSink.
18575func (adlss AzureDataLakeStoreSink) AsCommonDataServiceForAppsSink() (*CommonDataServiceForAppsSink, bool) {
18576	return nil, false
18577}
18578
18579// AsDynamicsCrmSink is the BasicCopySink implementation for AzureDataLakeStoreSink.
18580func (adlss AzureDataLakeStoreSink) AsDynamicsCrmSink() (*DynamicsCrmSink, bool) {
18581	return nil, false
18582}
18583
18584// AsDynamicsSink is the BasicCopySink implementation for AzureDataLakeStoreSink.
18585func (adlss AzureDataLakeStoreSink) AsDynamicsSink() (*DynamicsSink, bool) {
18586	return nil, false
18587}
18588
18589// AsMicrosoftAccessSink is the BasicCopySink implementation for AzureDataLakeStoreSink.
18590func (adlss AzureDataLakeStoreSink) AsMicrosoftAccessSink() (*MicrosoftAccessSink, bool) {
18591	return nil, false
18592}
18593
18594// AsInformixSink is the BasicCopySink implementation for AzureDataLakeStoreSink.
18595func (adlss AzureDataLakeStoreSink) AsInformixSink() (*InformixSink, bool) {
18596	return nil, false
18597}
18598
18599// AsOdbcSink is the BasicCopySink implementation for AzureDataLakeStoreSink.
18600func (adlss AzureDataLakeStoreSink) AsOdbcSink() (*OdbcSink, bool) {
18601	return nil, false
18602}
18603
18604// AsAzureSearchIndexSink is the BasicCopySink implementation for AzureDataLakeStoreSink.
18605func (adlss AzureDataLakeStoreSink) AsAzureSearchIndexSink() (*AzureSearchIndexSink, bool) {
18606	return nil, false
18607}
18608
18609// AsAzureBlobFSSink is the BasicCopySink implementation for AzureDataLakeStoreSink.
18610func (adlss AzureDataLakeStoreSink) AsAzureBlobFSSink() (*AzureBlobFSSink, bool) {
18611	return nil, false
18612}
18613
18614// AsAzureDataLakeStoreSink is the BasicCopySink implementation for AzureDataLakeStoreSink.
18615func (adlss AzureDataLakeStoreSink) AsAzureDataLakeStoreSink() (*AzureDataLakeStoreSink, bool) {
18616	return &adlss, true
18617}
18618
18619// AsOracleSink is the BasicCopySink implementation for AzureDataLakeStoreSink.
18620func (adlss AzureDataLakeStoreSink) AsOracleSink() (*OracleSink, bool) {
18621	return nil, false
18622}
18623
18624// AsSQLDWSink is the BasicCopySink implementation for AzureDataLakeStoreSink.
18625func (adlss AzureDataLakeStoreSink) AsSQLDWSink() (*SQLDWSink, bool) {
18626	return nil, false
18627}
18628
18629// AsSQLMISink is the BasicCopySink implementation for AzureDataLakeStoreSink.
18630func (adlss AzureDataLakeStoreSink) AsSQLMISink() (*SQLMISink, bool) {
18631	return nil, false
18632}
18633
18634// AsAzureSQLSink is the BasicCopySink implementation for AzureDataLakeStoreSink.
18635func (adlss AzureDataLakeStoreSink) AsAzureSQLSink() (*AzureSQLSink, bool) {
18636	return nil, false
18637}
18638
18639// AsSQLServerSink is the BasicCopySink implementation for AzureDataLakeStoreSink.
18640func (adlss AzureDataLakeStoreSink) AsSQLServerSink() (*SQLServerSink, bool) {
18641	return nil, false
18642}
18643
18644// AsSQLSink is the BasicCopySink implementation for AzureDataLakeStoreSink.
18645func (adlss AzureDataLakeStoreSink) AsSQLSink() (*SQLSink, bool) {
18646	return nil, false
18647}
18648
18649// AsDocumentDbCollectionSink is the BasicCopySink implementation for AzureDataLakeStoreSink.
18650func (adlss AzureDataLakeStoreSink) AsDocumentDbCollectionSink() (*DocumentDbCollectionSink, bool) {
18651	return nil, false
18652}
18653
18654// AsFileSystemSink is the BasicCopySink implementation for AzureDataLakeStoreSink.
18655func (adlss AzureDataLakeStoreSink) AsFileSystemSink() (*FileSystemSink, bool) {
18656	return nil, false
18657}
18658
18659// AsBlobSink is the BasicCopySink implementation for AzureDataLakeStoreSink.
18660func (adlss AzureDataLakeStoreSink) AsBlobSink() (*BlobSink, bool) {
18661	return nil, false
18662}
18663
18664// AsBinarySink is the BasicCopySink implementation for AzureDataLakeStoreSink.
18665func (adlss AzureDataLakeStoreSink) AsBinarySink() (*BinarySink, bool) {
18666	return nil, false
18667}
18668
18669// AsParquetSink is the BasicCopySink implementation for AzureDataLakeStoreSink.
18670func (adlss AzureDataLakeStoreSink) AsParquetSink() (*ParquetSink, bool) {
18671	return nil, false
18672}
18673
18674// AsAzureTableSink is the BasicCopySink implementation for AzureDataLakeStoreSink.
18675func (adlss AzureDataLakeStoreSink) AsAzureTableSink() (*AzureTableSink, bool) {
18676	return nil, false
18677}
18678
18679// AsAzureQueueSink is the BasicCopySink implementation for AzureDataLakeStoreSink.
18680func (adlss AzureDataLakeStoreSink) AsAzureQueueSink() (*AzureQueueSink, bool) {
18681	return nil, false
18682}
18683
18684// AsSapCloudForCustomerSink is the BasicCopySink implementation for AzureDataLakeStoreSink.
18685func (adlss AzureDataLakeStoreSink) AsSapCloudForCustomerSink() (*SapCloudForCustomerSink, bool) {
18686	return nil, false
18687}
18688
18689// AsAzurePostgreSQLSink is the BasicCopySink implementation for AzureDataLakeStoreSink.
18690func (adlss AzureDataLakeStoreSink) AsAzurePostgreSQLSink() (*AzurePostgreSQLSink, bool) {
18691	return nil, false
18692}
18693
18694// AsDelimitedTextSink is the BasicCopySink implementation for AzureDataLakeStoreSink.
18695func (adlss AzureDataLakeStoreSink) AsDelimitedTextSink() (*DelimitedTextSink, bool) {
18696	return nil, false
18697}
18698
18699// AsCopySink is the BasicCopySink implementation for AzureDataLakeStoreSink.
18700func (adlss AzureDataLakeStoreSink) AsCopySink() (*CopySink, bool) {
18701	return nil, false
18702}
18703
18704// AsBasicCopySink is the BasicCopySink implementation for AzureDataLakeStoreSink.
18705func (adlss AzureDataLakeStoreSink) AsBasicCopySink() (BasicCopySink, bool) {
18706	return &adlss, true
18707}
18708
18709// UnmarshalJSON is the custom unmarshaler for AzureDataLakeStoreSink struct.
18710func (adlss *AzureDataLakeStoreSink) UnmarshalJSON(body []byte) error {
18711	var m map[string]*json.RawMessage
18712	err := json.Unmarshal(body, &m)
18713	if err != nil {
18714		return err
18715	}
18716	for k, v := range m {
18717		switch k {
18718		case "copyBehavior":
18719			if v != nil {
18720				var copyBehavior interface{}
18721				err = json.Unmarshal(*v, &copyBehavior)
18722				if err != nil {
18723					return err
18724				}
18725				adlss.CopyBehavior = copyBehavior
18726			}
18727		case "enableAdlsSingleFileParallel":
18728			if v != nil {
18729				var enableAdlsSingleFileParallel interface{}
18730				err = json.Unmarshal(*v, &enableAdlsSingleFileParallel)
18731				if err != nil {
18732					return err
18733				}
18734				adlss.EnableAdlsSingleFileParallel = enableAdlsSingleFileParallel
18735			}
18736		default:
18737			if v != nil {
18738				var additionalProperties interface{}
18739				err = json.Unmarshal(*v, &additionalProperties)
18740				if err != nil {
18741					return err
18742				}
18743				if adlss.AdditionalProperties == nil {
18744					adlss.AdditionalProperties = make(map[string]interface{})
18745				}
18746				adlss.AdditionalProperties[k] = additionalProperties
18747			}
18748		case "writeBatchSize":
18749			if v != nil {
18750				var writeBatchSize interface{}
18751				err = json.Unmarshal(*v, &writeBatchSize)
18752				if err != nil {
18753					return err
18754				}
18755				adlss.WriteBatchSize = writeBatchSize
18756			}
18757		case "writeBatchTimeout":
18758			if v != nil {
18759				var writeBatchTimeout interface{}
18760				err = json.Unmarshal(*v, &writeBatchTimeout)
18761				if err != nil {
18762					return err
18763				}
18764				adlss.WriteBatchTimeout = writeBatchTimeout
18765			}
18766		case "sinkRetryCount":
18767			if v != nil {
18768				var sinkRetryCount interface{}
18769				err = json.Unmarshal(*v, &sinkRetryCount)
18770				if err != nil {
18771					return err
18772				}
18773				adlss.SinkRetryCount = sinkRetryCount
18774			}
18775		case "sinkRetryWait":
18776			if v != nil {
18777				var sinkRetryWait interface{}
18778				err = json.Unmarshal(*v, &sinkRetryWait)
18779				if err != nil {
18780					return err
18781				}
18782				adlss.SinkRetryWait = sinkRetryWait
18783			}
18784		case "maxConcurrentConnections":
18785			if v != nil {
18786				var maxConcurrentConnections interface{}
18787				err = json.Unmarshal(*v, &maxConcurrentConnections)
18788				if err != nil {
18789					return err
18790				}
18791				adlss.MaxConcurrentConnections = maxConcurrentConnections
18792			}
18793		case "type":
18794			if v != nil {
18795				var typeVar TypeBasicCopySink
18796				err = json.Unmarshal(*v, &typeVar)
18797				if err != nil {
18798					return err
18799				}
18800				adlss.Type = typeVar
18801			}
18802		}
18803	}
18804
18805	return nil
18806}
18807
18808// AzureDataLakeStoreSource a copy activity Azure Data Lake source.
18809type AzureDataLakeStoreSource struct {
18810	// Recursive - If true, files under the folder path will be read recursively. Default is true. Type: boolean (or Expression with resultType boolean).
18811	Recursive interface{} `json:"recursive,omitempty"`
18812	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
18813	AdditionalProperties map[string]interface{} `json:""`
18814	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
18815	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
18816	// 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])).
18817	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
18818	// MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer).
18819	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
18820	// Type - Possible values include: 'TypeCopySource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', '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', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeCassandraSource', 'TypeWebSource', 'TypeTeradataSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeAzureMySQLSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeRestSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceServiceCloudSource', 'TypeSalesforceSource', 'TypeODataSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeMicrosoftAccessSource', 'TypeInformixSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAzureTableSource', 'TypeBinarySource', 'TypeDelimitedTextSource', 'TypeParquetSource'
18821	Type TypeBasicCopySource `json:"type,omitempty"`
18822}
18823
18824// MarshalJSON is the custom marshaler for AzureDataLakeStoreSource.
18825func (adlss AzureDataLakeStoreSource) MarshalJSON() ([]byte, error) {
18826	adlss.Type = TypeAzureDataLakeStoreSource
18827	objectMap := make(map[string]interface{})
18828	if adlss.Recursive != nil {
18829		objectMap["recursive"] = adlss.Recursive
18830	}
18831	if adlss.SourceRetryCount != nil {
18832		objectMap["sourceRetryCount"] = adlss.SourceRetryCount
18833	}
18834	if adlss.SourceRetryWait != nil {
18835		objectMap["sourceRetryWait"] = adlss.SourceRetryWait
18836	}
18837	if adlss.MaxConcurrentConnections != nil {
18838		objectMap["maxConcurrentConnections"] = adlss.MaxConcurrentConnections
18839	}
18840	if adlss.Type != "" {
18841		objectMap["type"] = adlss.Type
18842	}
18843	for k, v := range adlss.AdditionalProperties {
18844		objectMap[k] = v
18845	}
18846	return json.Marshal(objectMap)
18847}
18848
18849// AsAmazonRedshiftSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
18850func (adlss AzureDataLakeStoreSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
18851	return nil, false
18852}
18853
18854// AsGoogleAdWordsSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
18855func (adlss AzureDataLakeStoreSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) {
18856	return nil, false
18857}
18858
18859// AsOracleServiceCloudSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
18860func (adlss AzureDataLakeStoreSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) {
18861	return nil, false
18862}
18863
18864// AsDynamicsAXSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
18865func (adlss AzureDataLakeStoreSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) {
18866	return nil, false
18867}
18868
18869// AsResponsysSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
18870func (adlss AzureDataLakeStoreSource) AsResponsysSource() (*ResponsysSource, bool) {
18871	return nil, false
18872}
18873
18874// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
18875func (adlss AzureDataLakeStoreSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
18876	return nil, false
18877}
18878
18879// AsVerticaSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
18880func (adlss AzureDataLakeStoreSource) AsVerticaSource() (*VerticaSource, bool) {
18881	return nil, false
18882}
18883
18884// AsNetezzaSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
18885func (adlss AzureDataLakeStoreSource) AsNetezzaSource() (*NetezzaSource, bool) {
18886	return nil, false
18887}
18888
18889// AsZohoSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
18890func (adlss AzureDataLakeStoreSource) AsZohoSource() (*ZohoSource, bool) {
18891	return nil, false
18892}
18893
18894// AsXeroSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
18895func (adlss AzureDataLakeStoreSource) AsXeroSource() (*XeroSource, bool) {
18896	return nil, false
18897}
18898
18899// AsSquareSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
18900func (adlss AzureDataLakeStoreSource) AsSquareSource() (*SquareSource, bool) {
18901	return nil, false
18902}
18903
18904// AsSparkSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
18905func (adlss AzureDataLakeStoreSource) AsSparkSource() (*SparkSource, bool) {
18906	return nil, false
18907}
18908
18909// AsShopifySource is the BasicCopySource implementation for AzureDataLakeStoreSource.
18910func (adlss AzureDataLakeStoreSource) AsShopifySource() (*ShopifySource, bool) {
18911	return nil, false
18912}
18913
18914// AsServiceNowSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
18915func (adlss AzureDataLakeStoreSource) AsServiceNowSource() (*ServiceNowSource, bool) {
18916	return nil, false
18917}
18918
18919// AsQuickBooksSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
18920func (adlss AzureDataLakeStoreSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
18921	return nil, false
18922}
18923
18924// AsPrestoSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
18925func (adlss AzureDataLakeStoreSource) AsPrestoSource() (*PrestoSource, bool) {
18926	return nil, false
18927}
18928
18929// AsPhoenixSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
18930func (adlss AzureDataLakeStoreSource) AsPhoenixSource() (*PhoenixSource, bool) {
18931	return nil, false
18932}
18933
18934// AsPaypalSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
18935func (adlss AzureDataLakeStoreSource) AsPaypalSource() (*PaypalSource, bool) {
18936	return nil, false
18937}
18938
18939// AsMarketoSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
18940func (adlss AzureDataLakeStoreSource) AsMarketoSource() (*MarketoSource, bool) {
18941	return nil, false
18942}
18943
18944// AsMariaDBSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
18945func (adlss AzureDataLakeStoreSource) AsMariaDBSource() (*MariaDBSource, bool) {
18946	return nil, false
18947}
18948
18949// AsMagentoSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
18950func (adlss AzureDataLakeStoreSource) AsMagentoSource() (*MagentoSource, bool) {
18951	return nil, false
18952}
18953
18954// AsJiraSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
18955func (adlss AzureDataLakeStoreSource) AsJiraSource() (*JiraSource, bool) {
18956	return nil, false
18957}
18958
18959// AsImpalaSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
18960func (adlss AzureDataLakeStoreSource) AsImpalaSource() (*ImpalaSource, bool) {
18961	return nil, false
18962}
18963
18964// AsHubspotSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
18965func (adlss AzureDataLakeStoreSource) AsHubspotSource() (*HubspotSource, bool) {
18966	return nil, false
18967}
18968
18969// AsHiveSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
18970func (adlss AzureDataLakeStoreSource) AsHiveSource() (*HiveSource, bool) {
18971	return nil, false
18972}
18973
18974// AsHBaseSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
18975func (adlss AzureDataLakeStoreSource) AsHBaseSource() (*HBaseSource, bool) {
18976	return nil, false
18977}
18978
18979// AsGreenplumSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
18980func (adlss AzureDataLakeStoreSource) AsGreenplumSource() (*GreenplumSource, bool) {
18981	return nil, false
18982}
18983
18984// AsGoogleBigQuerySource is the BasicCopySource implementation for AzureDataLakeStoreSource.
18985func (adlss AzureDataLakeStoreSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
18986	return nil, false
18987}
18988
18989// AsEloquaSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
18990func (adlss AzureDataLakeStoreSource) AsEloquaSource() (*EloquaSource, bool) {
18991	return nil, false
18992}
18993
18994// AsDrillSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
18995func (adlss AzureDataLakeStoreSource) AsDrillSource() (*DrillSource, bool) {
18996	return nil, false
18997}
18998
18999// AsCouchbaseSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
19000func (adlss AzureDataLakeStoreSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
19001	return nil, false
19002}
19003
19004// AsConcurSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
19005func (adlss AzureDataLakeStoreSource) AsConcurSource() (*ConcurSource, bool) {
19006	return nil, false
19007}
19008
19009// AsAzurePostgreSQLSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
19010func (adlss AzureDataLakeStoreSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
19011	return nil, false
19012}
19013
19014// AsAmazonMWSSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
19015func (adlss AzureDataLakeStoreSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
19016	return nil, false
19017}
19018
19019// AsHTTPSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
19020func (adlss AzureDataLakeStoreSource) AsHTTPSource() (*HTTPSource, bool) {
19021	return nil, false
19022}
19023
19024// AsAzureBlobFSSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
19025func (adlss AzureDataLakeStoreSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) {
19026	return nil, false
19027}
19028
19029// AsAzureDataLakeStoreSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
19030func (adlss AzureDataLakeStoreSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
19031	return &adlss, true
19032}
19033
19034// AsOffice365Source is the BasicCopySource implementation for AzureDataLakeStoreSource.
19035func (adlss AzureDataLakeStoreSource) AsOffice365Source() (*Office365Source, bool) {
19036	return nil, false
19037}
19038
19039// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for AzureDataLakeStoreSource.
19040func (adlss AzureDataLakeStoreSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) {
19041	return nil, false
19042}
19043
19044// AsMongoDbV2Source is the BasicCopySource implementation for AzureDataLakeStoreSource.
19045func (adlss AzureDataLakeStoreSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) {
19046	return nil, false
19047}
19048
19049// AsMongoDbSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
19050func (adlss AzureDataLakeStoreSource) AsMongoDbSource() (*MongoDbSource, bool) {
19051	return nil, false
19052}
19053
19054// AsCassandraSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
19055func (adlss AzureDataLakeStoreSource) AsCassandraSource() (*CassandraSource, bool) {
19056	return nil, false
19057}
19058
19059// AsWebSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
19060func (adlss AzureDataLakeStoreSource) AsWebSource() (*WebSource, bool) {
19061	return nil, false
19062}
19063
19064// AsTeradataSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
19065func (adlss AzureDataLakeStoreSource) AsTeradataSource() (*TeradataSource, bool) {
19066	return nil, false
19067}
19068
19069// AsOracleSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
19070func (adlss AzureDataLakeStoreSource) AsOracleSource() (*OracleSource, bool) {
19071	return nil, false
19072}
19073
19074// AsAzureDataExplorerSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
19075func (adlss AzureDataLakeStoreSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) {
19076	return nil, false
19077}
19078
19079// AsAzureMySQLSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
19080func (adlss AzureDataLakeStoreSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
19081	return nil, false
19082}
19083
19084// AsHdfsSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
19085func (adlss AzureDataLakeStoreSource) AsHdfsSource() (*HdfsSource, bool) {
19086	return nil, false
19087}
19088
19089// AsFileSystemSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
19090func (adlss AzureDataLakeStoreSource) AsFileSystemSource() (*FileSystemSource, bool) {
19091	return nil, false
19092}
19093
19094// AsSQLDWSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
19095func (adlss AzureDataLakeStoreSource) AsSQLDWSource() (*SQLDWSource, bool) {
19096	return nil, false
19097}
19098
19099// AsSQLMISource is the BasicCopySource implementation for AzureDataLakeStoreSource.
19100func (adlss AzureDataLakeStoreSource) AsSQLMISource() (*SQLMISource, bool) {
19101	return nil, false
19102}
19103
19104// AsAzureSQLSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
19105func (adlss AzureDataLakeStoreSource) AsAzureSQLSource() (*AzureSQLSource, bool) {
19106	return nil, false
19107}
19108
19109// AsSQLServerSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
19110func (adlss AzureDataLakeStoreSource) AsSQLServerSource() (*SQLServerSource, bool) {
19111	return nil, false
19112}
19113
19114// AsSQLSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
19115func (adlss AzureDataLakeStoreSource) AsSQLSource() (*SQLSource, bool) {
19116	return nil, false
19117}
19118
19119// AsRestSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
19120func (adlss AzureDataLakeStoreSource) AsRestSource() (*RestSource, bool) {
19121	return nil, false
19122}
19123
19124// AsSapTableSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
19125func (adlss AzureDataLakeStoreSource) AsSapTableSource() (*SapTableSource, bool) {
19126	return nil, false
19127}
19128
19129// AsSapOpenHubSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
19130func (adlss AzureDataLakeStoreSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) {
19131	return nil, false
19132}
19133
19134// AsSapHanaSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
19135func (adlss AzureDataLakeStoreSource) AsSapHanaSource() (*SapHanaSource, bool) {
19136	return nil, false
19137}
19138
19139// AsSapEccSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
19140func (adlss AzureDataLakeStoreSource) AsSapEccSource() (*SapEccSource, bool) {
19141	return nil, false
19142}
19143
19144// AsSapCloudForCustomerSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
19145func (adlss AzureDataLakeStoreSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
19146	return nil, false
19147}
19148
19149// AsSalesforceServiceCloudSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
19150func (adlss AzureDataLakeStoreSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) {
19151	return nil, false
19152}
19153
19154// AsSalesforceSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
19155func (adlss AzureDataLakeStoreSource) AsSalesforceSource() (*SalesforceSource, bool) {
19156	return nil, false
19157}
19158
19159// AsODataSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
19160func (adlss AzureDataLakeStoreSource) AsODataSource() (*ODataSource, bool) {
19161	return nil, false
19162}
19163
19164// AsSybaseSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
19165func (adlss AzureDataLakeStoreSource) AsSybaseSource() (*SybaseSource, bool) {
19166	return nil, false
19167}
19168
19169// AsPostgreSQLSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
19170func (adlss AzureDataLakeStoreSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) {
19171	return nil, false
19172}
19173
19174// AsMySQLSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
19175func (adlss AzureDataLakeStoreSource) AsMySQLSource() (*MySQLSource, bool) {
19176	return nil, false
19177}
19178
19179// AsOdbcSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
19180func (adlss AzureDataLakeStoreSource) AsOdbcSource() (*OdbcSource, bool) {
19181	return nil, false
19182}
19183
19184// AsDb2Source is the BasicCopySource implementation for AzureDataLakeStoreSource.
19185func (adlss AzureDataLakeStoreSource) AsDb2Source() (*Db2Source, bool) {
19186	return nil, false
19187}
19188
19189// AsMicrosoftAccessSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
19190func (adlss AzureDataLakeStoreSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) {
19191	return nil, false
19192}
19193
19194// AsInformixSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
19195func (adlss AzureDataLakeStoreSource) AsInformixSource() (*InformixSource, bool) {
19196	return nil, false
19197}
19198
19199// AsRelationalSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
19200func (adlss AzureDataLakeStoreSource) AsRelationalSource() (*RelationalSource, bool) {
19201	return nil, false
19202}
19203
19204// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
19205func (adlss AzureDataLakeStoreSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) {
19206	return nil, false
19207}
19208
19209// AsDynamicsCrmSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
19210func (adlss AzureDataLakeStoreSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) {
19211	return nil, false
19212}
19213
19214// AsDynamicsSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
19215func (adlss AzureDataLakeStoreSource) AsDynamicsSource() (*DynamicsSource, bool) {
19216	return nil, false
19217}
19218
19219// AsDocumentDbCollectionSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
19220func (adlss AzureDataLakeStoreSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
19221	return nil, false
19222}
19223
19224// AsBlobSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
19225func (adlss AzureDataLakeStoreSource) AsBlobSource() (*BlobSource, bool) {
19226	return nil, false
19227}
19228
19229// AsAzureTableSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
19230func (adlss AzureDataLakeStoreSource) AsAzureTableSource() (*AzureTableSource, bool) {
19231	return nil, false
19232}
19233
19234// AsBinarySource is the BasicCopySource implementation for AzureDataLakeStoreSource.
19235func (adlss AzureDataLakeStoreSource) AsBinarySource() (*BinarySource, bool) {
19236	return nil, false
19237}
19238
19239// AsDelimitedTextSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
19240func (adlss AzureDataLakeStoreSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) {
19241	return nil, false
19242}
19243
19244// AsParquetSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
19245func (adlss AzureDataLakeStoreSource) AsParquetSource() (*ParquetSource, bool) {
19246	return nil, false
19247}
19248
19249// AsCopySource is the BasicCopySource implementation for AzureDataLakeStoreSource.
19250func (adlss AzureDataLakeStoreSource) AsCopySource() (*CopySource, bool) {
19251	return nil, false
19252}
19253
19254// AsBasicCopySource is the BasicCopySource implementation for AzureDataLakeStoreSource.
19255func (adlss AzureDataLakeStoreSource) AsBasicCopySource() (BasicCopySource, bool) {
19256	return &adlss, true
19257}
19258
19259// UnmarshalJSON is the custom unmarshaler for AzureDataLakeStoreSource struct.
19260func (adlss *AzureDataLakeStoreSource) UnmarshalJSON(body []byte) error {
19261	var m map[string]*json.RawMessage
19262	err := json.Unmarshal(body, &m)
19263	if err != nil {
19264		return err
19265	}
19266	for k, v := range m {
19267		switch k {
19268		case "recursive":
19269			if v != nil {
19270				var recursive interface{}
19271				err = json.Unmarshal(*v, &recursive)
19272				if err != nil {
19273					return err
19274				}
19275				adlss.Recursive = recursive
19276			}
19277		default:
19278			if v != nil {
19279				var additionalProperties interface{}
19280				err = json.Unmarshal(*v, &additionalProperties)
19281				if err != nil {
19282					return err
19283				}
19284				if adlss.AdditionalProperties == nil {
19285					adlss.AdditionalProperties = make(map[string]interface{})
19286				}
19287				adlss.AdditionalProperties[k] = additionalProperties
19288			}
19289		case "sourceRetryCount":
19290			if v != nil {
19291				var sourceRetryCount interface{}
19292				err = json.Unmarshal(*v, &sourceRetryCount)
19293				if err != nil {
19294					return err
19295				}
19296				adlss.SourceRetryCount = sourceRetryCount
19297			}
19298		case "sourceRetryWait":
19299			if v != nil {
19300				var sourceRetryWait interface{}
19301				err = json.Unmarshal(*v, &sourceRetryWait)
19302				if err != nil {
19303					return err
19304				}
19305				adlss.SourceRetryWait = sourceRetryWait
19306			}
19307		case "maxConcurrentConnections":
19308			if v != nil {
19309				var maxConcurrentConnections interface{}
19310				err = json.Unmarshal(*v, &maxConcurrentConnections)
19311				if err != nil {
19312					return err
19313				}
19314				adlss.MaxConcurrentConnections = maxConcurrentConnections
19315			}
19316		case "type":
19317			if v != nil {
19318				var typeVar TypeBasicCopySource
19319				err = json.Unmarshal(*v, &typeVar)
19320				if err != nil {
19321					return err
19322				}
19323				adlss.Type = typeVar
19324			}
19325		}
19326	}
19327
19328	return nil
19329}
19330
19331// AzureDataLakeStoreWriteSettings azure data lake store write settings.
19332type AzureDataLakeStoreWriteSettings struct {
19333	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
19334	AdditionalProperties map[string]interface{} `json:""`
19335	// Type - The write setting type.
19336	Type *string `json:"type,omitempty"`
19337	// MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer).
19338	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
19339	// CopyBehavior - The type of copy behavior for copy sink.
19340	CopyBehavior interface{} `json:"copyBehavior,omitempty"`
19341}
19342
19343// MarshalJSON is the custom marshaler for AzureDataLakeStoreWriteSettings.
19344func (adlsws AzureDataLakeStoreWriteSettings) MarshalJSON() ([]byte, error) {
19345	objectMap := make(map[string]interface{})
19346	if adlsws.Type != nil {
19347		objectMap["type"] = adlsws.Type
19348	}
19349	if adlsws.MaxConcurrentConnections != nil {
19350		objectMap["maxConcurrentConnections"] = adlsws.MaxConcurrentConnections
19351	}
19352	if adlsws.CopyBehavior != nil {
19353		objectMap["copyBehavior"] = adlsws.CopyBehavior
19354	}
19355	for k, v := range adlsws.AdditionalProperties {
19356		objectMap[k] = v
19357	}
19358	return json.Marshal(objectMap)
19359}
19360
19361// UnmarshalJSON is the custom unmarshaler for AzureDataLakeStoreWriteSettings struct.
19362func (adlsws *AzureDataLakeStoreWriteSettings) UnmarshalJSON(body []byte) error {
19363	var m map[string]*json.RawMessage
19364	err := json.Unmarshal(body, &m)
19365	if err != nil {
19366		return err
19367	}
19368	for k, v := range m {
19369		switch k {
19370		default:
19371			if v != nil {
19372				var additionalProperties interface{}
19373				err = json.Unmarshal(*v, &additionalProperties)
19374				if err != nil {
19375					return err
19376				}
19377				if adlsws.AdditionalProperties == nil {
19378					adlsws.AdditionalProperties = make(map[string]interface{})
19379				}
19380				adlsws.AdditionalProperties[k] = additionalProperties
19381			}
19382		case "type":
19383			if v != nil {
19384				var typeVar string
19385				err = json.Unmarshal(*v, &typeVar)
19386				if err != nil {
19387					return err
19388				}
19389				adlsws.Type = &typeVar
19390			}
19391		case "maxConcurrentConnections":
19392			if v != nil {
19393				var maxConcurrentConnections interface{}
19394				err = json.Unmarshal(*v, &maxConcurrentConnections)
19395				if err != nil {
19396					return err
19397				}
19398				adlsws.MaxConcurrentConnections = maxConcurrentConnections
19399			}
19400		case "copyBehavior":
19401			if v != nil {
19402				var copyBehavior interface{}
19403				err = json.Unmarshal(*v, &copyBehavior)
19404				if err != nil {
19405					return err
19406				}
19407				adlsws.CopyBehavior = copyBehavior
19408			}
19409		}
19410	}
19411
19412	return nil
19413}
19414
19415// AzureFunctionActivity azure Function activity.
19416type AzureFunctionActivity struct {
19417	// AzureFunctionActivityTypeProperties - Azure Function activity properties.
19418	*AzureFunctionActivityTypeProperties `json:"typeProperties,omitempty"`
19419	// LinkedServiceName - Linked service reference.
19420	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
19421	// Policy - Activity policy.
19422	Policy *ActivityPolicy `json:"policy,omitempty"`
19423	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
19424	AdditionalProperties map[string]interface{} `json:""`
19425	// Name - Activity name.
19426	Name *string `json:"name,omitempty"`
19427	// Description - Activity description.
19428	Description *string `json:"description,omitempty"`
19429	// DependsOn - Activity depends on condition.
19430	DependsOn *[]ActivityDependency `json:"dependsOn,omitempty"`
19431	// UserProperties - Activity user properties.
19432	UserProperties *[]UserProperty `json:"userProperties,omitempty"`
19433	// Type - Possible values include: 'TypeActivity', 'TypeAzureFunctionActivity', 'TypeDatabricksSparkPython', 'TypeDatabricksSparkJar', 'TypeDatabricksNotebook', 'TypeDataLakeAnalyticsUSQL', 'TypeAzureMLUpdateResource', 'TypeAzureMLBatchExecution', 'TypeGetMetadata', 'TypeWebActivity', 'TypeLookup', 'TypeAzureDataExplorerCommand', 'TypeDelete', 'TypeSQLServerStoredProcedure', 'TypeCustom', 'TypeExecuteSSISPackage', 'TypeHDInsightSpark', 'TypeHDInsightStreaming', 'TypeHDInsightMapReduce', 'TypeHDInsightPig', 'TypeHDInsightHive', 'TypeCopy', 'TypeExecution', 'TypeWebHook', 'TypeAppendVariable', 'TypeSetVariable', 'TypeFilter', 'TypeValidation', 'TypeUntil', 'TypeWait', 'TypeForEach', 'TypeIfCondition', 'TypeExecutePipeline', 'TypeContainer'
19434	Type TypeBasicActivity `json:"type,omitempty"`
19435}
19436
19437// MarshalJSON is the custom marshaler for AzureFunctionActivity.
19438func (afa AzureFunctionActivity) MarshalJSON() ([]byte, error) {
19439	afa.Type = TypeAzureFunctionActivity
19440	objectMap := make(map[string]interface{})
19441	if afa.AzureFunctionActivityTypeProperties != nil {
19442		objectMap["typeProperties"] = afa.AzureFunctionActivityTypeProperties
19443	}
19444	if afa.LinkedServiceName != nil {
19445		objectMap["linkedServiceName"] = afa.LinkedServiceName
19446	}
19447	if afa.Policy != nil {
19448		objectMap["policy"] = afa.Policy
19449	}
19450	if afa.Name != nil {
19451		objectMap["name"] = afa.Name
19452	}
19453	if afa.Description != nil {
19454		objectMap["description"] = afa.Description
19455	}
19456	if afa.DependsOn != nil {
19457		objectMap["dependsOn"] = afa.DependsOn
19458	}
19459	if afa.UserProperties != nil {
19460		objectMap["userProperties"] = afa.UserProperties
19461	}
19462	if afa.Type != "" {
19463		objectMap["type"] = afa.Type
19464	}
19465	for k, v := range afa.AdditionalProperties {
19466		objectMap[k] = v
19467	}
19468	return json.Marshal(objectMap)
19469}
19470
19471// AsAzureFunctionActivity is the BasicActivity implementation for AzureFunctionActivity.
19472func (afa AzureFunctionActivity) AsAzureFunctionActivity() (*AzureFunctionActivity, bool) {
19473	return &afa, true
19474}
19475
19476// AsDatabricksSparkPythonActivity is the BasicActivity implementation for AzureFunctionActivity.
19477func (afa AzureFunctionActivity) AsDatabricksSparkPythonActivity() (*DatabricksSparkPythonActivity, bool) {
19478	return nil, false
19479}
19480
19481// AsDatabricksSparkJarActivity is the BasicActivity implementation for AzureFunctionActivity.
19482func (afa AzureFunctionActivity) AsDatabricksSparkJarActivity() (*DatabricksSparkJarActivity, bool) {
19483	return nil, false
19484}
19485
19486// AsDatabricksNotebookActivity is the BasicActivity implementation for AzureFunctionActivity.
19487func (afa AzureFunctionActivity) AsDatabricksNotebookActivity() (*DatabricksNotebookActivity, bool) {
19488	return nil, false
19489}
19490
19491// AsDataLakeAnalyticsUSQLActivity is the BasicActivity implementation for AzureFunctionActivity.
19492func (afa AzureFunctionActivity) AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalyticsUSQLActivity, bool) {
19493	return nil, false
19494}
19495
19496// AsAzureMLUpdateResourceActivity is the BasicActivity implementation for AzureFunctionActivity.
19497func (afa AzureFunctionActivity) AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool) {
19498	return nil, false
19499}
19500
19501// AsAzureMLBatchExecutionActivity is the BasicActivity implementation for AzureFunctionActivity.
19502func (afa AzureFunctionActivity) AsAzureMLBatchExecutionActivity() (*AzureMLBatchExecutionActivity, bool) {
19503	return nil, false
19504}
19505
19506// AsGetMetadataActivity is the BasicActivity implementation for AzureFunctionActivity.
19507func (afa AzureFunctionActivity) AsGetMetadataActivity() (*GetMetadataActivity, bool) {
19508	return nil, false
19509}
19510
19511// AsWebActivity is the BasicActivity implementation for AzureFunctionActivity.
19512func (afa AzureFunctionActivity) AsWebActivity() (*WebActivity, bool) {
19513	return nil, false
19514}
19515
19516// AsLookupActivity is the BasicActivity implementation for AzureFunctionActivity.
19517func (afa AzureFunctionActivity) AsLookupActivity() (*LookupActivity, bool) {
19518	return nil, false
19519}
19520
19521// AsAzureDataExplorerCommandActivity is the BasicActivity implementation for AzureFunctionActivity.
19522func (afa AzureFunctionActivity) AsAzureDataExplorerCommandActivity() (*AzureDataExplorerCommandActivity, bool) {
19523	return nil, false
19524}
19525
19526// AsDeleteActivity is the BasicActivity implementation for AzureFunctionActivity.
19527func (afa AzureFunctionActivity) AsDeleteActivity() (*DeleteActivity, bool) {
19528	return nil, false
19529}
19530
19531// AsSQLServerStoredProcedureActivity is the BasicActivity implementation for AzureFunctionActivity.
19532func (afa AzureFunctionActivity) AsSQLServerStoredProcedureActivity() (*SQLServerStoredProcedureActivity, bool) {
19533	return nil, false
19534}
19535
19536// AsCustomActivity is the BasicActivity implementation for AzureFunctionActivity.
19537func (afa AzureFunctionActivity) AsCustomActivity() (*CustomActivity, bool) {
19538	return nil, false
19539}
19540
19541// AsExecuteSSISPackageActivity is the BasicActivity implementation for AzureFunctionActivity.
19542func (afa AzureFunctionActivity) AsExecuteSSISPackageActivity() (*ExecuteSSISPackageActivity, bool) {
19543	return nil, false
19544}
19545
19546// AsHDInsightSparkActivity is the BasicActivity implementation for AzureFunctionActivity.
19547func (afa AzureFunctionActivity) AsHDInsightSparkActivity() (*HDInsightSparkActivity, bool) {
19548	return nil, false
19549}
19550
19551// AsHDInsightStreamingActivity is the BasicActivity implementation for AzureFunctionActivity.
19552func (afa AzureFunctionActivity) AsHDInsightStreamingActivity() (*HDInsightStreamingActivity, bool) {
19553	return nil, false
19554}
19555
19556// AsHDInsightMapReduceActivity is the BasicActivity implementation for AzureFunctionActivity.
19557func (afa AzureFunctionActivity) AsHDInsightMapReduceActivity() (*HDInsightMapReduceActivity, bool) {
19558	return nil, false
19559}
19560
19561// AsHDInsightPigActivity is the BasicActivity implementation for AzureFunctionActivity.
19562func (afa AzureFunctionActivity) AsHDInsightPigActivity() (*HDInsightPigActivity, bool) {
19563	return nil, false
19564}
19565
19566// AsHDInsightHiveActivity is the BasicActivity implementation for AzureFunctionActivity.
19567func (afa AzureFunctionActivity) AsHDInsightHiveActivity() (*HDInsightHiveActivity, bool) {
19568	return nil, false
19569}
19570
19571// AsCopyActivity is the BasicActivity implementation for AzureFunctionActivity.
19572func (afa AzureFunctionActivity) AsCopyActivity() (*CopyActivity, bool) {
19573	return nil, false
19574}
19575
19576// AsExecutionActivity is the BasicActivity implementation for AzureFunctionActivity.
19577func (afa AzureFunctionActivity) AsExecutionActivity() (*ExecutionActivity, bool) {
19578	return nil, false
19579}
19580
19581// AsBasicExecutionActivity is the BasicActivity implementation for AzureFunctionActivity.
19582func (afa AzureFunctionActivity) AsBasicExecutionActivity() (BasicExecutionActivity, bool) {
19583	return &afa, true
19584}
19585
19586// AsWebHookActivity is the BasicActivity implementation for AzureFunctionActivity.
19587func (afa AzureFunctionActivity) AsWebHookActivity() (*WebHookActivity, bool) {
19588	return nil, false
19589}
19590
19591// AsAppendVariableActivity is the BasicActivity implementation for AzureFunctionActivity.
19592func (afa AzureFunctionActivity) AsAppendVariableActivity() (*AppendVariableActivity, bool) {
19593	return nil, false
19594}
19595
19596// AsSetVariableActivity is the BasicActivity implementation for AzureFunctionActivity.
19597func (afa AzureFunctionActivity) AsSetVariableActivity() (*SetVariableActivity, bool) {
19598	return nil, false
19599}
19600
19601// AsFilterActivity is the BasicActivity implementation for AzureFunctionActivity.
19602func (afa AzureFunctionActivity) AsFilterActivity() (*FilterActivity, bool) {
19603	return nil, false
19604}
19605
19606// AsValidationActivity is the BasicActivity implementation for AzureFunctionActivity.
19607func (afa AzureFunctionActivity) AsValidationActivity() (*ValidationActivity, bool) {
19608	return nil, false
19609}
19610
19611// AsUntilActivity is the BasicActivity implementation for AzureFunctionActivity.
19612func (afa AzureFunctionActivity) AsUntilActivity() (*UntilActivity, bool) {
19613	return nil, false
19614}
19615
19616// AsWaitActivity is the BasicActivity implementation for AzureFunctionActivity.
19617func (afa AzureFunctionActivity) AsWaitActivity() (*WaitActivity, bool) {
19618	return nil, false
19619}
19620
19621// AsForEachActivity is the BasicActivity implementation for AzureFunctionActivity.
19622func (afa AzureFunctionActivity) AsForEachActivity() (*ForEachActivity, bool) {
19623	return nil, false
19624}
19625
19626// AsIfConditionActivity is the BasicActivity implementation for AzureFunctionActivity.
19627func (afa AzureFunctionActivity) AsIfConditionActivity() (*IfConditionActivity, bool) {
19628	return nil, false
19629}
19630
19631// AsExecutePipelineActivity is the BasicActivity implementation for AzureFunctionActivity.
19632func (afa AzureFunctionActivity) AsExecutePipelineActivity() (*ExecutePipelineActivity, bool) {
19633	return nil, false
19634}
19635
19636// AsControlActivity is the BasicActivity implementation for AzureFunctionActivity.
19637func (afa AzureFunctionActivity) AsControlActivity() (*ControlActivity, bool) {
19638	return nil, false
19639}
19640
19641// AsBasicControlActivity is the BasicActivity implementation for AzureFunctionActivity.
19642func (afa AzureFunctionActivity) AsBasicControlActivity() (BasicControlActivity, bool) {
19643	return nil, false
19644}
19645
19646// AsActivity is the BasicActivity implementation for AzureFunctionActivity.
19647func (afa AzureFunctionActivity) AsActivity() (*Activity, bool) {
19648	return nil, false
19649}
19650
19651// AsBasicActivity is the BasicActivity implementation for AzureFunctionActivity.
19652func (afa AzureFunctionActivity) AsBasicActivity() (BasicActivity, bool) {
19653	return &afa, true
19654}
19655
19656// UnmarshalJSON is the custom unmarshaler for AzureFunctionActivity struct.
19657func (afa *AzureFunctionActivity) UnmarshalJSON(body []byte) error {
19658	var m map[string]*json.RawMessage
19659	err := json.Unmarshal(body, &m)
19660	if err != nil {
19661		return err
19662	}
19663	for k, v := range m {
19664		switch k {
19665		case "typeProperties":
19666			if v != nil {
19667				var azureFunctionActivityTypeProperties AzureFunctionActivityTypeProperties
19668				err = json.Unmarshal(*v, &azureFunctionActivityTypeProperties)
19669				if err != nil {
19670					return err
19671				}
19672				afa.AzureFunctionActivityTypeProperties = &azureFunctionActivityTypeProperties
19673			}
19674		case "linkedServiceName":
19675			if v != nil {
19676				var linkedServiceName LinkedServiceReference
19677				err = json.Unmarshal(*v, &linkedServiceName)
19678				if err != nil {
19679					return err
19680				}
19681				afa.LinkedServiceName = &linkedServiceName
19682			}
19683		case "policy":
19684			if v != nil {
19685				var policy ActivityPolicy
19686				err = json.Unmarshal(*v, &policy)
19687				if err != nil {
19688					return err
19689				}
19690				afa.Policy = &policy
19691			}
19692		default:
19693			if v != nil {
19694				var additionalProperties interface{}
19695				err = json.Unmarshal(*v, &additionalProperties)
19696				if err != nil {
19697					return err
19698				}
19699				if afa.AdditionalProperties == nil {
19700					afa.AdditionalProperties = make(map[string]interface{})
19701				}
19702				afa.AdditionalProperties[k] = additionalProperties
19703			}
19704		case "name":
19705			if v != nil {
19706				var name string
19707				err = json.Unmarshal(*v, &name)
19708				if err != nil {
19709					return err
19710				}
19711				afa.Name = &name
19712			}
19713		case "description":
19714			if v != nil {
19715				var description string
19716				err = json.Unmarshal(*v, &description)
19717				if err != nil {
19718					return err
19719				}
19720				afa.Description = &description
19721			}
19722		case "dependsOn":
19723			if v != nil {
19724				var dependsOn []ActivityDependency
19725				err = json.Unmarshal(*v, &dependsOn)
19726				if err != nil {
19727					return err
19728				}
19729				afa.DependsOn = &dependsOn
19730			}
19731		case "userProperties":
19732			if v != nil {
19733				var userProperties []UserProperty
19734				err = json.Unmarshal(*v, &userProperties)
19735				if err != nil {
19736					return err
19737				}
19738				afa.UserProperties = &userProperties
19739			}
19740		case "type":
19741			if v != nil {
19742				var typeVar TypeBasicActivity
19743				err = json.Unmarshal(*v, &typeVar)
19744				if err != nil {
19745					return err
19746				}
19747				afa.Type = typeVar
19748			}
19749		}
19750	}
19751
19752	return nil
19753}
19754
19755// AzureFunctionActivityTypeProperties azure Function activity type properties.
19756type AzureFunctionActivityTypeProperties struct {
19757	// Method - Rest API method for target endpoint. Possible values include: 'GET', 'POST', 'PUT', 'DELETE', 'OPTIONS', 'HEAD', 'TRACE'
19758	Method AzureFunctionActivityMethod `json:"method,omitempty"`
19759	// FunctionName - Name of the Function that the Azure Function Activity will call. Type: string (or Expression with resultType string)
19760	FunctionName interface{} `json:"functionName,omitempty"`
19761	// 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).
19762	Headers interface{} `json:"headers,omitempty"`
19763	// 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).
19764	Body interface{} `json:"body,omitempty"`
19765}
19766
19767// AzureFunctionLinkedService azure Function linked service.
19768type AzureFunctionLinkedService struct {
19769	// AzureFunctionLinkedServiceTypeProperties - Azure Function linked service properties.
19770	*AzureFunctionLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
19771	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
19772	AdditionalProperties map[string]interface{} `json:""`
19773	// ConnectVia - The integration runtime reference.
19774	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
19775	// Description - Linked service description.
19776	Description *string `json:"description,omitempty"`
19777	// Parameters - Parameters for linked service.
19778	Parameters map[string]*ParameterSpecification `json:"parameters"`
19779	// Annotations - List of tags that can be used for describing the linked service.
19780	Annotations *[]interface{} `json:"annotations,omitempty"`
19781	// Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', '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', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage'
19782	Type TypeBasicLinkedService `json:"type,omitempty"`
19783}
19784
19785// MarshalJSON is the custom marshaler for AzureFunctionLinkedService.
19786func (afls AzureFunctionLinkedService) MarshalJSON() ([]byte, error) {
19787	afls.Type = TypeAzureFunction
19788	objectMap := make(map[string]interface{})
19789	if afls.AzureFunctionLinkedServiceTypeProperties != nil {
19790		objectMap["typeProperties"] = afls.AzureFunctionLinkedServiceTypeProperties
19791	}
19792	if afls.ConnectVia != nil {
19793		objectMap["connectVia"] = afls.ConnectVia
19794	}
19795	if afls.Description != nil {
19796		objectMap["description"] = afls.Description
19797	}
19798	if afls.Parameters != nil {
19799		objectMap["parameters"] = afls.Parameters
19800	}
19801	if afls.Annotations != nil {
19802		objectMap["annotations"] = afls.Annotations
19803	}
19804	if afls.Type != "" {
19805		objectMap["type"] = afls.Type
19806	}
19807	for k, v := range afls.AdditionalProperties {
19808		objectMap[k] = v
19809	}
19810	return json.Marshal(objectMap)
19811}
19812
19813// AsAzureFunctionLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService.
19814func (afls AzureFunctionLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) {
19815	return &afls, true
19816}
19817
19818// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService.
19819func (afls AzureFunctionLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) {
19820	return nil, false
19821}
19822
19823// AsSapTableLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService.
19824func (afls AzureFunctionLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) {
19825	return nil, false
19826}
19827
19828// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService.
19829func (afls AzureFunctionLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) {
19830	return nil, false
19831}
19832
19833// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService.
19834func (afls AzureFunctionLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) {
19835	return nil, false
19836}
19837
19838// AsDynamicsAXLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService.
19839func (afls AzureFunctionLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) {
19840	return nil, false
19841}
19842
19843// AsResponsysLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService.
19844func (afls AzureFunctionLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
19845	return nil, false
19846}
19847
19848// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService.
19849func (afls AzureFunctionLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
19850	return nil, false
19851}
19852
19853// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService.
19854func (afls AzureFunctionLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
19855	return nil, false
19856}
19857
19858// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService.
19859func (afls AzureFunctionLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
19860	return nil, false
19861}
19862
19863// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService.
19864func (afls AzureFunctionLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
19865	return nil, false
19866}
19867
19868// AsNetezzaLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService.
19869func (afls AzureFunctionLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
19870	return nil, false
19871}
19872
19873// AsVerticaLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService.
19874func (afls AzureFunctionLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
19875	return nil, false
19876}
19877
19878// AsZohoLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService.
19879func (afls AzureFunctionLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
19880	return nil, false
19881}
19882
19883// AsXeroLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService.
19884func (afls AzureFunctionLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
19885	return nil, false
19886}
19887
19888// AsSquareLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService.
19889func (afls AzureFunctionLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
19890	return nil, false
19891}
19892
19893// AsSparkLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService.
19894func (afls AzureFunctionLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
19895	return nil, false
19896}
19897
19898// AsShopifyLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService.
19899func (afls AzureFunctionLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
19900	return nil, false
19901}
19902
19903// AsServiceNowLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService.
19904func (afls AzureFunctionLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
19905	return nil, false
19906}
19907
19908// AsQuickBooksLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService.
19909func (afls AzureFunctionLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
19910	return nil, false
19911}
19912
19913// AsPrestoLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService.
19914func (afls AzureFunctionLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
19915	return nil, false
19916}
19917
19918// AsPhoenixLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService.
19919func (afls AzureFunctionLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
19920	return nil, false
19921}
19922
19923// AsPaypalLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService.
19924func (afls AzureFunctionLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
19925	return nil, false
19926}
19927
19928// AsMarketoLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService.
19929func (afls AzureFunctionLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
19930	return nil, false
19931}
19932
19933// AsMariaDBLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService.
19934func (afls AzureFunctionLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
19935	return nil, false
19936}
19937
19938// AsMagentoLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService.
19939func (afls AzureFunctionLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
19940	return nil, false
19941}
19942
19943// AsJiraLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService.
19944func (afls AzureFunctionLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
19945	return nil, false
19946}
19947
19948// AsImpalaLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService.
19949func (afls AzureFunctionLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
19950	return nil, false
19951}
19952
19953// AsHubspotLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService.
19954func (afls AzureFunctionLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
19955	return nil, false
19956}
19957
19958// AsHiveLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService.
19959func (afls AzureFunctionLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
19960	return nil, false
19961}
19962
19963// AsHBaseLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService.
19964func (afls AzureFunctionLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
19965	return nil, false
19966}
19967
19968// AsGreenplumLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService.
19969func (afls AzureFunctionLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
19970	return nil, false
19971}
19972
19973// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService.
19974func (afls AzureFunctionLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
19975	return nil, false
19976}
19977
19978// AsEloquaLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService.
19979func (afls AzureFunctionLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
19980	return nil, false
19981}
19982
19983// AsDrillLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService.
19984func (afls AzureFunctionLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
19985	return nil, false
19986}
19987
19988// AsCouchbaseLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService.
19989func (afls AzureFunctionLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
19990	return nil, false
19991}
19992
19993// AsConcurLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService.
19994func (afls AzureFunctionLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
19995	return nil, false
19996}
19997
19998// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService.
19999func (afls AzureFunctionLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
20000	return nil, false
20001}
20002
20003// AsAmazonMWSLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService.
20004func (afls AzureFunctionLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
20005	return nil, false
20006}
20007
20008// AsSapHanaLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService.
20009func (afls AzureFunctionLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
20010	return nil, false
20011}
20012
20013// AsSapBWLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService.
20014func (afls AzureFunctionLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
20015	return nil, false
20016}
20017
20018// AsSftpServerLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService.
20019func (afls AzureFunctionLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
20020	return nil, false
20021}
20022
20023// AsFtpServerLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService.
20024func (afls AzureFunctionLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
20025	return nil, false
20026}
20027
20028// AsHTTPLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService.
20029func (afls AzureFunctionLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
20030	return nil, false
20031}
20032
20033// AsAzureSearchLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService.
20034func (afls AzureFunctionLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
20035	return nil, false
20036}
20037
20038// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService.
20039func (afls AzureFunctionLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
20040	return nil, false
20041}
20042
20043// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService.
20044func (afls AzureFunctionLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
20045	return nil, false
20046}
20047
20048// AsAmazonS3LinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService.
20049func (afls AzureFunctionLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
20050	return nil, false
20051}
20052
20053// AsRestServiceLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService.
20054func (afls AzureFunctionLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) {
20055	return nil, false
20056}
20057
20058// AsSapOpenHubLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService.
20059func (afls AzureFunctionLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) {
20060	return nil, false
20061}
20062
20063// AsSapEccLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService.
20064func (afls AzureFunctionLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
20065	return nil, false
20066}
20067
20068// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService.
20069func (afls AzureFunctionLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
20070	return nil, false
20071}
20072
20073// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService.
20074func (afls AzureFunctionLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) {
20075	return nil, false
20076}
20077
20078// AsSalesforceLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService.
20079func (afls AzureFunctionLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
20080	return nil, false
20081}
20082
20083// AsOffice365LinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService.
20084func (afls AzureFunctionLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) {
20085	return nil, false
20086}
20087
20088// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService.
20089func (afls AzureFunctionLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) {
20090	return nil, false
20091}
20092
20093// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService.
20094func (afls AzureFunctionLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
20095	return nil, false
20096}
20097
20098// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService.
20099func (afls AzureFunctionLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) {
20100	return nil, false
20101}
20102
20103// AsMongoDbV2LinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService.
20104func (afls AzureFunctionLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) {
20105	return nil, false
20106}
20107
20108// AsMongoDbLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService.
20109func (afls AzureFunctionLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
20110	return nil, false
20111}
20112
20113// AsCassandraLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService.
20114func (afls AzureFunctionLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
20115	return nil, false
20116}
20117
20118// AsWebLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService.
20119func (afls AzureFunctionLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
20120	return nil, false
20121}
20122
20123// AsODataLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService.
20124func (afls AzureFunctionLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
20125	return nil, false
20126}
20127
20128// AsHdfsLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService.
20129func (afls AzureFunctionLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
20130	return nil, false
20131}
20132
20133// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService.
20134func (afls AzureFunctionLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) {
20135	return nil, false
20136}
20137
20138// AsInformixLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService.
20139func (afls AzureFunctionLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) {
20140	return nil, false
20141}
20142
20143// AsOdbcLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService.
20144func (afls AzureFunctionLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
20145	return nil, false
20146}
20147
20148// AsAzureMLLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService.
20149func (afls AzureFunctionLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
20150	return nil, false
20151}
20152
20153// AsTeradataLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService.
20154func (afls AzureFunctionLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
20155	return nil, false
20156}
20157
20158// AsDb2LinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService.
20159func (afls AzureFunctionLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
20160	return nil, false
20161}
20162
20163// AsSybaseLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService.
20164func (afls AzureFunctionLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
20165	return nil, false
20166}
20167
20168// AsPostgreSQLLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService.
20169func (afls AzureFunctionLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
20170	return nil, false
20171}
20172
20173// AsMySQLLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService.
20174func (afls AzureFunctionLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
20175	return nil, false
20176}
20177
20178// AsAzureMySQLLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService.
20179func (afls AzureFunctionLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
20180	return nil, false
20181}
20182
20183// AsOracleLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService.
20184func (afls AzureFunctionLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
20185	return nil, false
20186}
20187
20188// AsFileServerLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService.
20189func (afls AzureFunctionLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
20190	return nil, false
20191}
20192
20193// AsHDInsightLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService.
20194func (afls AzureFunctionLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
20195	return nil, false
20196}
20197
20198// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService.
20199func (afls AzureFunctionLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) {
20200	return nil, false
20201}
20202
20203// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService.
20204func (afls AzureFunctionLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) {
20205	return nil, false
20206}
20207
20208// AsDynamicsLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService.
20209func (afls AzureFunctionLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
20210	return nil, false
20211}
20212
20213// AsCosmosDbLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService.
20214func (afls AzureFunctionLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
20215	return nil, false
20216}
20217
20218// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService.
20219func (afls AzureFunctionLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
20220	return nil, false
20221}
20222
20223// AsAzureBatchLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService.
20224func (afls AzureFunctionLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
20225	return nil, false
20226}
20227
20228// AsAzureSQLMILinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService.
20229func (afls AzureFunctionLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) {
20230	return nil, false
20231}
20232
20233// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService.
20234func (afls AzureFunctionLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
20235	return nil, false
20236}
20237
20238// AsSQLServerLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService.
20239func (afls AzureFunctionLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
20240	return nil, false
20241}
20242
20243// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService.
20244func (afls AzureFunctionLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
20245	return nil, false
20246}
20247
20248// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService.
20249func (afls AzureFunctionLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) {
20250	return nil, false
20251}
20252
20253// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService.
20254func (afls AzureFunctionLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) {
20255	return nil, false
20256}
20257
20258// AsAzureStorageLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService.
20259func (afls AzureFunctionLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
20260	return nil, false
20261}
20262
20263// AsLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService.
20264func (afls AzureFunctionLinkedService) AsLinkedService() (*LinkedService, bool) {
20265	return nil, false
20266}
20267
20268// AsBasicLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService.
20269func (afls AzureFunctionLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
20270	return &afls, true
20271}
20272
20273// UnmarshalJSON is the custom unmarshaler for AzureFunctionLinkedService struct.
20274func (afls *AzureFunctionLinkedService) UnmarshalJSON(body []byte) error {
20275	var m map[string]*json.RawMessage
20276	err := json.Unmarshal(body, &m)
20277	if err != nil {
20278		return err
20279	}
20280	for k, v := range m {
20281		switch k {
20282		case "typeProperties":
20283			if v != nil {
20284				var azureFunctionLinkedServiceTypeProperties AzureFunctionLinkedServiceTypeProperties
20285				err = json.Unmarshal(*v, &azureFunctionLinkedServiceTypeProperties)
20286				if err != nil {
20287					return err
20288				}
20289				afls.AzureFunctionLinkedServiceTypeProperties = &azureFunctionLinkedServiceTypeProperties
20290			}
20291		default:
20292			if v != nil {
20293				var additionalProperties interface{}
20294				err = json.Unmarshal(*v, &additionalProperties)
20295				if err != nil {
20296					return err
20297				}
20298				if afls.AdditionalProperties == nil {
20299					afls.AdditionalProperties = make(map[string]interface{})
20300				}
20301				afls.AdditionalProperties[k] = additionalProperties
20302			}
20303		case "connectVia":
20304			if v != nil {
20305				var connectVia IntegrationRuntimeReference
20306				err = json.Unmarshal(*v, &connectVia)
20307				if err != nil {
20308					return err
20309				}
20310				afls.ConnectVia = &connectVia
20311			}
20312		case "description":
20313			if v != nil {
20314				var description string
20315				err = json.Unmarshal(*v, &description)
20316				if err != nil {
20317					return err
20318				}
20319				afls.Description = &description
20320			}
20321		case "parameters":
20322			if v != nil {
20323				var parameters map[string]*ParameterSpecification
20324				err = json.Unmarshal(*v, &parameters)
20325				if err != nil {
20326					return err
20327				}
20328				afls.Parameters = parameters
20329			}
20330		case "annotations":
20331			if v != nil {
20332				var annotations []interface{}
20333				err = json.Unmarshal(*v, &annotations)
20334				if err != nil {
20335					return err
20336				}
20337				afls.Annotations = &annotations
20338			}
20339		case "type":
20340			if v != nil {
20341				var typeVar TypeBasicLinkedService
20342				err = json.Unmarshal(*v, &typeVar)
20343				if err != nil {
20344					return err
20345				}
20346				afls.Type = typeVar
20347			}
20348		}
20349	}
20350
20351	return nil
20352}
20353
20354// AzureFunctionLinkedServiceTypeProperties azure Function linked service properties.
20355type AzureFunctionLinkedServiceTypeProperties struct {
20356	// FunctionAppURL - The endpoint of the Azure Function App. URL will be in the format https://<accountName>.azurewebsites.net.
20357	FunctionAppURL interface{} `json:"functionAppUrl,omitempty"`
20358	// FunctionKey - Function or Host key for Azure Function App.
20359	FunctionKey BasicSecretBase `json:"functionKey,omitempty"`
20360	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
20361	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
20362}
20363
20364// UnmarshalJSON is the custom unmarshaler for AzureFunctionLinkedServiceTypeProperties struct.
20365func (aflstp *AzureFunctionLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
20366	var m map[string]*json.RawMessage
20367	err := json.Unmarshal(body, &m)
20368	if err != nil {
20369		return err
20370	}
20371	for k, v := range m {
20372		switch k {
20373		case "functionAppUrl":
20374			if v != nil {
20375				var functionAppURL interface{}
20376				err = json.Unmarshal(*v, &functionAppURL)
20377				if err != nil {
20378					return err
20379				}
20380				aflstp.FunctionAppURL = functionAppURL
20381			}
20382		case "functionKey":
20383			if v != nil {
20384				functionKey, err := unmarshalBasicSecretBase(*v)
20385				if err != nil {
20386					return err
20387				}
20388				aflstp.FunctionKey = functionKey
20389			}
20390		case "encryptedCredential":
20391			if v != nil {
20392				var encryptedCredential interface{}
20393				err = json.Unmarshal(*v, &encryptedCredential)
20394				if err != nil {
20395					return err
20396				}
20397				aflstp.EncryptedCredential = encryptedCredential
20398			}
20399		}
20400	}
20401
20402	return nil
20403}
20404
20405// AzureKeyVaultLinkedService azure Key Vault linked service.
20406type AzureKeyVaultLinkedService struct {
20407	// AzureKeyVaultLinkedServiceTypeProperties - Azure Key Vault linked service properties.
20408	*AzureKeyVaultLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
20409	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
20410	AdditionalProperties map[string]interface{} `json:""`
20411	// ConnectVia - The integration runtime reference.
20412	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
20413	// Description - Linked service description.
20414	Description *string `json:"description,omitempty"`
20415	// Parameters - Parameters for linked service.
20416	Parameters map[string]*ParameterSpecification `json:"parameters"`
20417	// Annotations - List of tags that can be used for describing the linked service.
20418	Annotations *[]interface{} `json:"annotations,omitempty"`
20419	// Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', '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', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage'
20420	Type TypeBasicLinkedService `json:"type,omitempty"`
20421}
20422
20423// MarshalJSON is the custom marshaler for AzureKeyVaultLinkedService.
20424func (akvls AzureKeyVaultLinkedService) MarshalJSON() ([]byte, error) {
20425	akvls.Type = TypeAzureKeyVault
20426	objectMap := make(map[string]interface{})
20427	if akvls.AzureKeyVaultLinkedServiceTypeProperties != nil {
20428		objectMap["typeProperties"] = akvls.AzureKeyVaultLinkedServiceTypeProperties
20429	}
20430	if akvls.ConnectVia != nil {
20431		objectMap["connectVia"] = akvls.ConnectVia
20432	}
20433	if akvls.Description != nil {
20434		objectMap["description"] = akvls.Description
20435	}
20436	if akvls.Parameters != nil {
20437		objectMap["parameters"] = akvls.Parameters
20438	}
20439	if akvls.Annotations != nil {
20440		objectMap["annotations"] = akvls.Annotations
20441	}
20442	if akvls.Type != "" {
20443		objectMap["type"] = akvls.Type
20444	}
20445	for k, v := range akvls.AdditionalProperties {
20446		objectMap[k] = v
20447	}
20448	return json.Marshal(objectMap)
20449}
20450
20451// AsAzureFunctionLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
20452func (akvls AzureKeyVaultLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) {
20453	return nil, false
20454}
20455
20456// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
20457func (akvls AzureKeyVaultLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) {
20458	return nil, false
20459}
20460
20461// AsSapTableLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
20462func (akvls AzureKeyVaultLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) {
20463	return nil, false
20464}
20465
20466// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
20467func (akvls AzureKeyVaultLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) {
20468	return nil, false
20469}
20470
20471// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
20472func (akvls AzureKeyVaultLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) {
20473	return nil, false
20474}
20475
20476// AsDynamicsAXLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
20477func (akvls AzureKeyVaultLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) {
20478	return nil, false
20479}
20480
20481// AsResponsysLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
20482func (akvls AzureKeyVaultLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
20483	return nil, false
20484}
20485
20486// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
20487func (akvls AzureKeyVaultLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
20488	return nil, false
20489}
20490
20491// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
20492func (akvls AzureKeyVaultLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
20493	return nil, false
20494}
20495
20496// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
20497func (akvls AzureKeyVaultLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
20498	return nil, false
20499}
20500
20501// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
20502func (akvls AzureKeyVaultLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
20503	return nil, false
20504}
20505
20506// AsNetezzaLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
20507func (akvls AzureKeyVaultLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
20508	return nil, false
20509}
20510
20511// AsVerticaLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
20512func (akvls AzureKeyVaultLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
20513	return nil, false
20514}
20515
20516// AsZohoLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
20517func (akvls AzureKeyVaultLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
20518	return nil, false
20519}
20520
20521// AsXeroLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
20522func (akvls AzureKeyVaultLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
20523	return nil, false
20524}
20525
20526// AsSquareLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
20527func (akvls AzureKeyVaultLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
20528	return nil, false
20529}
20530
20531// AsSparkLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
20532func (akvls AzureKeyVaultLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
20533	return nil, false
20534}
20535
20536// AsShopifyLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
20537func (akvls AzureKeyVaultLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
20538	return nil, false
20539}
20540
20541// AsServiceNowLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
20542func (akvls AzureKeyVaultLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
20543	return nil, false
20544}
20545
20546// AsQuickBooksLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
20547func (akvls AzureKeyVaultLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
20548	return nil, false
20549}
20550
20551// AsPrestoLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
20552func (akvls AzureKeyVaultLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
20553	return nil, false
20554}
20555
20556// AsPhoenixLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
20557func (akvls AzureKeyVaultLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
20558	return nil, false
20559}
20560
20561// AsPaypalLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
20562func (akvls AzureKeyVaultLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
20563	return nil, false
20564}
20565
20566// AsMarketoLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
20567func (akvls AzureKeyVaultLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
20568	return nil, false
20569}
20570
20571// AsMariaDBLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
20572func (akvls AzureKeyVaultLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
20573	return nil, false
20574}
20575
20576// AsMagentoLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
20577func (akvls AzureKeyVaultLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
20578	return nil, false
20579}
20580
20581// AsJiraLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
20582func (akvls AzureKeyVaultLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
20583	return nil, false
20584}
20585
20586// AsImpalaLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
20587func (akvls AzureKeyVaultLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
20588	return nil, false
20589}
20590
20591// AsHubspotLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
20592func (akvls AzureKeyVaultLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
20593	return nil, false
20594}
20595
20596// AsHiveLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
20597func (akvls AzureKeyVaultLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
20598	return nil, false
20599}
20600
20601// AsHBaseLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
20602func (akvls AzureKeyVaultLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
20603	return nil, false
20604}
20605
20606// AsGreenplumLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
20607func (akvls AzureKeyVaultLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
20608	return nil, false
20609}
20610
20611// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
20612func (akvls AzureKeyVaultLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
20613	return nil, false
20614}
20615
20616// AsEloquaLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
20617func (akvls AzureKeyVaultLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
20618	return nil, false
20619}
20620
20621// AsDrillLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
20622func (akvls AzureKeyVaultLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
20623	return nil, false
20624}
20625
20626// AsCouchbaseLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
20627func (akvls AzureKeyVaultLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
20628	return nil, false
20629}
20630
20631// AsConcurLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
20632func (akvls AzureKeyVaultLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
20633	return nil, false
20634}
20635
20636// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
20637func (akvls AzureKeyVaultLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
20638	return nil, false
20639}
20640
20641// AsAmazonMWSLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
20642func (akvls AzureKeyVaultLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
20643	return nil, false
20644}
20645
20646// AsSapHanaLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
20647func (akvls AzureKeyVaultLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
20648	return nil, false
20649}
20650
20651// AsSapBWLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
20652func (akvls AzureKeyVaultLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
20653	return nil, false
20654}
20655
20656// AsSftpServerLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
20657func (akvls AzureKeyVaultLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
20658	return nil, false
20659}
20660
20661// AsFtpServerLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
20662func (akvls AzureKeyVaultLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
20663	return nil, false
20664}
20665
20666// AsHTTPLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
20667func (akvls AzureKeyVaultLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
20668	return nil, false
20669}
20670
20671// AsAzureSearchLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
20672func (akvls AzureKeyVaultLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
20673	return nil, false
20674}
20675
20676// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
20677func (akvls AzureKeyVaultLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
20678	return nil, false
20679}
20680
20681// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
20682func (akvls AzureKeyVaultLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
20683	return nil, false
20684}
20685
20686// AsAmazonS3LinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
20687func (akvls AzureKeyVaultLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
20688	return nil, false
20689}
20690
20691// AsRestServiceLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
20692func (akvls AzureKeyVaultLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) {
20693	return nil, false
20694}
20695
20696// AsSapOpenHubLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
20697func (akvls AzureKeyVaultLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) {
20698	return nil, false
20699}
20700
20701// AsSapEccLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
20702func (akvls AzureKeyVaultLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
20703	return nil, false
20704}
20705
20706// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
20707func (akvls AzureKeyVaultLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
20708	return nil, false
20709}
20710
20711// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
20712func (akvls AzureKeyVaultLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) {
20713	return nil, false
20714}
20715
20716// AsSalesforceLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
20717func (akvls AzureKeyVaultLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
20718	return nil, false
20719}
20720
20721// AsOffice365LinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
20722func (akvls AzureKeyVaultLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) {
20723	return nil, false
20724}
20725
20726// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
20727func (akvls AzureKeyVaultLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) {
20728	return nil, false
20729}
20730
20731// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
20732func (akvls AzureKeyVaultLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
20733	return nil, false
20734}
20735
20736// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
20737func (akvls AzureKeyVaultLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) {
20738	return nil, false
20739}
20740
20741// AsMongoDbV2LinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
20742func (akvls AzureKeyVaultLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) {
20743	return nil, false
20744}
20745
20746// AsMongoDbLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
20747func (akvls AzureKeyVaultLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
20748	return nil, false
20749}
20750
20751// AsCassandraLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
20752func (akvls AzureKeyVaultLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
20753	return nil, false
20754}
20755
20756// AsWebLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
20757func (akvls AzureKeyVaultLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
20758	return nil, false
20759}
20760
20761// AsODataLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
20762func (akvls AzureKeyVaultLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
20763	return nil, false
20764}
20765
20766// AsHdfsLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
20767func (akvls AzureKeyVaultLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
20768	return nil, false
20769}
20770
20771// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
20772func (akvls AzureKeyVaultLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) {
20773	return nil, false
20774}
20775
20776// AsInformixLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
20777func (akvls AzureKeyVaultLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) {
20778	return nil, false
20779}
20780
20781// AsOdbcLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
20782func (akvls AzureKeyVaultLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
20783	return nil, false
20784}
20785
20786// AsAzureMLLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
20787func (akvls AzureKeyVaultLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
20788	return nil, false
20789}
20790
20791// AsTeradataLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
20792func (akvls AzureKeyVaultLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
20793	return nil, false
20794}
20795
20796// AsDb2LinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
20797func (akvls AzureKeyVaultLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
20798	return nil, false
20799}
20800
20801// AsSybaseLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
20802func (akvls AzureKeyVaultLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
20803	return nil, false
20804}
20805
20806// AsPostgreSQLLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
20807func (akvls AzureKeyVaultLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
20808	return nil, false
20809}
20810
20811// AsMySQLLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
20812func (akvls AzureKeyVaultLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
20813	return nil, false
20814}
20815
20816// AsAzureMySQLLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
20817func (akvls AzureKeyVaultLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
20818	return nil, false
20819}
20820
20821// AsOracleLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
20822func (akvls AzureKeyVaultLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
20823	return nil, false
20824}
20825
20826// AsFileServerLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
20827func (akvls AzureKeyVaultLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
20828	return nil, false
20829}
20830
20831// AsHDInsightLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
20832func (akvls AzureKeyVaultLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
20833	return nil, false
20834}
20835
20836// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
20837func (akvls AzureKeyVaultLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) {
20838	return nil, false
20839}
20840
20841// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
20842func (akvls AzureKeyVaultLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) {
20843	return nil, false
20844}
20845
20846// AsDynamicsLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
20847func (akvls AzureKeyVaultLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
20848	return nil, false
20849}
20850
20851// AsCosmosDbLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
20852func (akvls AzureKeyVaultLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
20853	return nil, false
20854}
20855
20856// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
20857func (akvls AzureKeyVaultLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
20858	return &akvls, true
20859}
20860
20861// AsAzureBatchLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
20862func (akvls AzureKeyVaultLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
20863	return nil, false
20864}
20865
20866// AsAzureSQLMILinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
20867func (akvls AzureKeyVaultLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) {
20868	return nil, false
20869}
20870
20871// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
20872func (akvls AzureKeyVaultLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
20873	return nil, false
20874}
20875
20876// AsSQLServerLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
20877func (akvls AzureKeyVaultLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
20878	return nil, false
20879}
20880
20881// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
20882func (akvls AzureKeyVaultLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
20883	return nil, false
20884}
20885
20886// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
20887func (akvls AzureKeyVaultLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) {
20888	return nil, false
20889}
20890
20891// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
20892func (akvls AzureKeyVaultLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) {
20893	return nil, false
20894}
20895
20896// AsAzureStorageLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
20897func (akvls AzureKeyVaultLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
20898	return nil, false
20899}
20900
20901// AsLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
20902func (akvls AzureKeyVaultLinkedService) AsLinkedService() (*LinkedService, bool) {
20903	return nil, false
20904}
20905
20906// AsBasicLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
20907func (akvls AzureKeyVaultLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
20908	return &akvls, true
20909}
20910
20911// UnmarshalJSON is the custom unmarshaler for AzureKeyVaultLinkedService struct.
20912func (akvls *AzureKeyVaultLinkedService) UnmarshalJSON(body []byte) error {
20913	var m map[string]*json.RawMessage
20914	err := json.Unmarshal(body, &m)
20915	if err != nil {
20916		return err
20917	}
20918	for k, v := range m {
20919		switch k {
20920		case "typeProperties":
20921			if v != nil {
20922				var azureKeyVaultLinkedServiceTypeProperties AzureKeyVaultLinkedServiceTypeProperties
20923				err = json.Unmarshal(*v, &azureKeyVaultLinkedServiceTypeProperties)
20924				if err != nil {
20925					return err
20926				}
20927				akvls.AzureKeyVaultLinkedServiceTypeProperties = &azureKeyVaultLinkedServiceTypeProperties
20928			}
20929		default:
20930			if v != nil {
20931				var additionalProperties interface{}
20932				err = json.Unmarshal(*v, &additionalProperties)
20933				if err != nil {
20934					return err
20935				}
20936				if akvls.AdditionalProperties == nil {
20937					akvls.AdditionalProperties = make(map[string]interface{})
20938				}
20939				akvls.AdditionalProperties[k] = additionalProperties
20940			}
20941		case "connectVia":
20942			if v != nil {
20943				var connectVia IntegrationRuntimeReference
20944				err = json.Unmarshal(*v, &connectVia)
20945				if err != nil {
20946					return err
20947				}
20948				akvls.ConnectVia = &connectVia
20949			}
20950		case "description":
20951			if v != nil {
20952				var description string
20953				err = json.Unmarshal(*v, &description)
20954				if err != nil {
20955					return err
20956				}
20957				akvls.Description = &description
20958			}
20959		case "parameters":
20960			if v != nil {
20961				var parameters map[string]*ParameterSpecification
20962				err = json.Unmarshal(*v, &parameters)
20963				if err != nil {
20964					return err
20965				}
20966				akvls.Parameters = parameters
20967			}
20968		case "annotations":
20969			if v != nil {
20970				var annotations []interface{}
20971				err = json.Unmarshal(*v, &annotations)
20972				if err != nil {
20973					return err
20974				}
20975				akvls.Annotations = &annotations
20976			}
20977		case "type":
20978			if v != nil {
20979				var typeVar TypeBasicLinkedService
20980				err = json.Unmarshal(*v, &typeVar)
20981				if err != nil {
20982					return err
20983				}
20984				akvls.Type = typeVar
20985			}
20986		}
20987	}
20988
20989	return nil
20990}
20991
20992// AzureKeyVaultLinkedServiceTypeProperties azure Key Vault linked service properties.
20993type AzureKeyVaultLinkedServiceTypeProperties struct {
20994	// BaseURL - The base URL of the Azure Key Vault. e.g. https://myakv.vault.azure.net Type: string (or Expression with resultType string).
20995	BaseURL interface{} `json:"baseUrl,omitempty"`
20996}
20997
20998// AzureKeyVaultSecretReference azure Key Vault secret reference.
20999type AzureKeyVaultSecretReference struct {
21000	// Store - The Azure Key Vault linked service reference.
21001	Store *LinkedServiceReference `json:"store,omitempty"`
21002	// SecretName - The name of the secret in Azure Key Vault. Type: string (or Expression with resultType string).
21003	SecretName interface{} `json:"secretName,omitempty"`
21004	// 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).
21005	SecretVersion interface{} `json:"secretVersion,omitempty"`
21006	// Type - Possible values include: 'TypeSecretBase', 'TypeSecureString', 'TypeAzureKeyVaultSecret'
21007	Type Type `json:"type,omitempty"`
21008}
21009
21010// MarshalJSON is the custom marshaler for AzureKeyVaultSecretReference.
21011func (akvsr AzureKeyVaultSecretReference) MarshalJSON() ([]byte, error) {
21012	akvsr.Type = TypeAzureKeyVaultSecret
21013	objectMap := make(map[string]interface{})
21014	if akvsr.Store != nil {
21015		objectMap["store"] = akvsr.Store
21016	}
21017	if akvsr.SecretName != nil {
21018		objectMap["secretName"] = akvsr.SecretName
21019	}
21020	if akvsr.SecretVersion != nil {
21021		objectMap["secretVersion"] = akvsr.SecretVersion
21022	}
21023	if akvsr.Type != "" {
21024		objectMap["type"] = akvsr.Type
21025	}
21026	return json.Marshal(objectMap)
21027}
21028
21029// AsSecureString is the BasicSecretBase implementation for AzureKeyVaultSecretReference.
21030func (akvsr AzureKeyVaultSecretReference) AsSecureString() (*SecureString, bool) {
21031	return nil, false
21032}
21033
21034// AsAzureKeyVaultSecretReference is the BasicSecretBase implementation for AzureKeyVaultSecretReference.
21035func (akvsr AzureKeyVaultSecretReference) AsAzureKeyVaultSecretReference() (*AzureKeyVaultSecretReference, bool) {
21036	return &akvsr, true
21037}
21038
21039// AsSecretBase is the BasicSecretBase implementation for AzureKeyVaultSecretReference.
21040func (akvsr AzureKeyVaultSecretReference) AsSecretBase() (*SecretBase, bool) {
21041	return nil, false
21042}
21043
21044// AsBasicSecretBase is the BasicSecretBase implementation for AzureKeyVaultSecretReference.
21045func (akvsr AzureKeyVaultSecretReference) AsBasicSecretBase() (BasicSecretBase, bool) {
21046	return &akvsr, true
21047}
21048
21049// AzureMLBatchExecutionActivity azure ML Batch Execution activity.
21050type AzureMLBatchExecutionActivity struct {
21051	// AzureMLBatchExecutionActivityTypeProperties - Azure ML Batch Execution activity properties.
21052	*AzureMLBatchExecutionActivityTypeProperties `json:"typeProperties,omitempty"`
21053	// LinkedServiceName - Linked service reference.
21054	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
21055	// Policy - Activity policy.
21056	Policy *ActivityPolicy `json:"policy,omitempty"`
21057	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
21058	AdditionalProperties map[string]interface{} `json:""`
21059	// Name - Activity name.
21060	Name *string `json:"name,omitempty"`
21061	// Description - Activity description.
21062	Description *string `json:"description,omitempty"`
21063	// DependsOn - Activity depends on condition.
21064	DependsOn *[]ActivityDependency `json:"dependsOn,omitempty"`
21065	// UserProperties - Activity user properties.
21066	UserProperties *[]UserProperty `json:"userProperties,omitempty"`
21067	// Type - Possible values include: 'TypeActivity', 'TypeAzureFunctionActivity', 'TypeDatabricksSparkPython', 'TypeDatabricksSparkJar', 'TypeDatabricksNotebook', 'TypeDataLakeAnalyticsUSQL', 'TypeAzureMLUpdateResource', 'TypeAzureMLBatchExecution', 'TypeGetMetadata', 'TypeWebActivity', 'TypeLookup', 'TypeAzureDataExplorerCommand', 'TypeDelete', 'TypeSQLServerStoredProcedure', 'TypeCustom', 'TypeExecuteSSISPackage', 'TypeHDInsightSpark', 'TypeHDInsightStreaming', 'TypeHDInsightMapReduce', 'TypeHDInsightPig', 'TypeHDInsightHive', 'TypeCopy', 'TypeExecution', 'TypeWebHook', 'TypeAppendVariable', 'TypeSetVariable', 'TypeFilter', 'TypeValidation', 'TypeUntil', 'TypeWait', 'TypeForEach', 'TypeIfCondition', 'TypeExecutePipeline', 'TypeContainer'
21068	Type TypeBasicActivity `json:"type,omitempty"`
21069}
21070
21071// MarshalJSON is the custom marshaler for AzureMLBatchExecutionActivity.
21072func (ambea AzureMLBatchExecutionActivity) MarshalJSON() ([]byte, error) {
21073	ambea.Type = TypeAzureMLBatchExecution
21074	objectMap := make(map[string]interface{})
21075	if ambea.AzureMLBatchExecutionActivityTypeProperties != nil {
21076		objectMap["typeProperties"] = ambea.AzureMLBatchExecutionActivityTypeProperties
21077	}
21078	if ambea.LinkedServiceName != nil {
21079		objectMap["linkedServiceName"] = ambea.LinkedServiceName
21080	}
21081	if ambea.Policy != nil {
21082		objectMap["policy"] = ambea.Policy
21083	}
21084	if ambea.Name != nil {
21085		objectMap["name"] = ambea.Name
21086	}
21087	if ambea.Description != nil {
21088		objectMap["description"] = ambea.Description
21089	}
21090	if ambea.DependsOn != nil {
21091		objectMap["dependsOn"] = ambea.DependsOn
21092	}
21093	if ambea.UserProperties != nil {
21094		objectMap["userProperties"] = ambea.UserProperties
21095	}
21096	if ambea.Type != "" {
21097		objectMap["type"] = ambea.Type
21098	}
21099	for k, v := range ambea.AdditionalProperties {
21100		objectMap[k] = v
21101	}
21102	return json.Marshal(objectMap)
21103}
21104
21105// AsAzureFunctionActivity is the BasicActivity implementation for AzureMLBatchExecutionActivity.
21106func (ambea AzureMLBatchExecutionActivity) AsAzureFunctionActivity() (*AzureFunctionActivity, bool) {
21107	return nil, false
21108}
21109
21110// AsDatabricksSparkPythonActivity is the BasicActivity implementation for AzureMLBatchExecutionActivity.
21111func (ambea AzureMLBatchExecutionActivity) AsDatabricksSparkPythonActivity() (*DatabricksSparkPythonActivity, bool) {
21112	return nil, false
21113}
21114
21115// AsDatabricksSparkJarActivity is the BasicActivity implementation for AzureMLBatchExecutionActivity.
21116func (ambea AzureMLBatchExecutionActivity) AsDatabricksSparkJarActivity() (*DatabricksSparkJarActivity, bool) {
21117	return nil, false
21118}
21119
21120// AsDatabricksNotebookActivity is the BasicActivity implementation for AzureMLBatchExecutionActivity.
21121func (ambea AzureMLBatchExecutionActivity) AsDatabricksNotebookActivity() (*DatabricksNotebookActivity, bool) {
21122	return nil, false
21123}
21124
21125// AsDataLakeAnalyticsUSQLActivity is the BasicActivity implementation for AzureMLBatchExecutionActivity.
21126func (ambea AzureMLBatchExecutionActivity) AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalyticsUSQLActivity, bool) {
21127	return nil, false
21128}
21129
21130// AsAzureMLUpdateResourceActivity is the BasicActivity implementation for AzureMLBatchExecutionActivity.
21131func (ambea AzureMLBatchExecutionActivity) AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool) {
21132	return nil, false
21133}
21134
21135// AsAzureMLBatchExecutionActivity is the BasicActivity implementation for AzureMLBatchExecutionActivity.
21136func (ambea AzureMLBatchExecutionActivity) AsAzureMLBatchExecutionActivity() (*AzureMLBatchExecutionActivity, bool) {
21137	return &ambea, true
21138}
21139
21140// AsGetMetadataActivity is the BasicActivity implementation for AzureMLBatchExecutionActivity.
21141func (ambea AzureMLBatchExecutionActivity) AsGetMetadataActivity() (*GetMetadataActivity, bool) {
21142	return nil, false
21143}
21144
21145// AsWebActivity is the BasicActivity implementation for AzureMLBatchExecutionActivity.
21146func (ambea AzureMLBatchExecutionActivity) AsWebActivity() (*WebActivity, bool) {
21147	return nil, false
21148}
21149
21150// AsLookupActivity is the BasicActivity implementation for AzureMLBatchExecutionActivity.
21151func (ambea AzureMLBatchExecutionActivity) AsLookupActivity() (*LookupActivity, bool) {
21152	return nil, false
21153}
21154
21155// AsAzureDataExplorerCommandActivity is the BasicActivity implementation for AzureMLBatchExecutionActivity.
21156func (ambea AzureMLBatchExecutionActivity) AsAzureDataExplorerCommandActivity() (*AzureDataExplorerCommandActivity, bool) {
21157	return nil, false
21158}
21159
21160// AsDeleteActivity is the BasicActivity implementation for AzureMLBatchExecutionActivity.
21161func (ambea AzureMLBatchExecutionActivity) AsDeleteActivity() (*DeleteActivity, bool) {
21162	return nil, false
21163}
21164
21165// AsSQLServerStoredProcedureActivity is the BasicActivity implementation for AzureMLBatchExecutionActivity.
21166func (ambea AzureMLBatchExecutionActivity) AsSQLServerStoredProcedureActivity() (*SQLServerStoredProcedureActivity, bool) {
21167	return nil, false
21168}
21169
21170// AsCustomActivity is the BasicActivity implementation for AzureMLBatchExecutionActivity.
21171func (ambea AzureMLBatchExecutionActivity) AsCustomActivity() (*CustomActivity, bool) {
21172	return nil, false
21173}
21174
21175// AsExecuteSSISPackageActivity is the BasicActivity implementation for AzureMLBatchExecutionActivity.
21176func (ambea AzureMLBatchExecutionActivity) AsExecuteSSISPackageActivity() (*ExecuteSSISPackageActivity, bool) {
21177	return nil, false
21178}
21179
21180// AsHDInsightSparkActivity is the BasicActivity implementation for AzureMLBatchExecutionActivity.
21181func (ambea AzureMLBatchExecutionActivity) AsHDInsightSparkActivity() (*HDInsightSparkActivity, bool) {
21182	return nil, false
21183}
21184
21185// AsHDInsightStreamingActivity is the BasicActivity implementation for AzureMLBatchExecutionActivity.
21186func (ambea AzureMLBatchExecutionActivity) AsHDInsightStreamingActivity() (*HDInsightStreamingActivity, bool) {
21187	return nil, false
21188}
21189
21190// AsHDInsightMapReduceActivity is the BasicActivity implementation for AzureMLBatchExecutionActivity.
21191func (ambea AzureMLBatchExecutionActivity) AsHDInsightMapReduceActivity() (*HDInsightMapReduceActivity, bool) {
21192	return nil, false
21193}
21194
21195// AsHDInsightPigActivity is the BasicActivity implementation for AzureMLBatchExecutionActivity.
21196func (ambea AzureMLBatchExecutionActivity) AsHDInsightPigActivity() (*HDInsightPigActivity, bool) {
21197	return nil, false
21198}
21199
21200// AsHDInsightHiveActivity is the BasicActivity implementation for AzureMLBatchExecutionActivity.
21201func (ambea AzureMLBatchExecutionActivity) AsHDInsightHiveActivity() (*HDInsightHiveActivity, bool) {
21202	return nil, false
21203}
21204
21205// AsCopyActivity is the BasicActivity implementation for AzureMLBatchExecutionActivity.
21206func (ambea AzureMLBatchExecutionActivity) AsCopyActivity() (*CopyActivity, bool) {
21207	return nil, false
21208}
21209
21210// AsExecutionActivity is the BasicActivity implementation for AzureMLBatchExecutionActivity.
21211func (ambea AzureMLBatchExecutionActivity) AsExecutionActivity() (*ExecutionActivity, bool) {
21212	return nil, false
21213}
21214
21215// AsBasicExecutionActivity is the BasicActivity implementation for AzureMLBatchExecutionActivity.
21216func (ambea AzureMLBatchExecutionActivity) AsBasicExecutionActivity() (BasicExecutionActivity, bool) {
21217	return &ambea, true
21218}
21219
21220// AsWebHookActivity is the BasicActivity implementation for AzureMLBatchExecutionActivity.
21221func (ambea AzureMLBatchExecutionActivity) AsWebHookActivity() (*WebHookActivity, bool) {
21222	return nil, false
21223}
21224
21225// AsAppendVariableActivity is the BasicActivity implementation for AzureMLBatchExecutionActivity.
21226func (ambea AzureMLBatchExecutionActivity) AsAppendVariableActivity() (*AppendVariableActivity, bool) {
21227	return nil, false
21228}
21229
21230// AsSetVariableActivity is the BasicActivity implementation for AzureMLBatchExecutionActivity.
21231func (ambea AzureMLBatchExecutionActivity) AsSetVariableActivity() (*SetVariableActivity, bool) {
21232	return nil, false
21233}
21234
21235// AsFilterActivity is the BasicActivity implementation for AzureMLBatchExecutionActivity.
21236func (ambea AzureMLBatchExecutionActivity) AsFilterActivity() (*FilterActivity, bool) {
21237	return nil, false
21238}
21239
21240// AsValidationActivity is the BasicActivity implementation for AzureMLBatchExecutionActivity.
21241func (ambea AzureMLBatchExecutionActivity) AsValidationActivity() (*ValidationActivity, bool) {
21242	return nil, false
21243}
21244
21245// AsUntilActivity is the BasicActivity implementation for AzureMLBatchExecutionActivity.
21246func (ambea AzureMLBatchExecutionActivity) AsUntilActivity() (*UntilActivity, bool) {
21247	return nil, false
21248}
21249
21250// AsWaitActivity is the BasicActivity implementation for AzureMLBatchExecutionActivity.
21251func (ambea AzureMLBatchExecutionActivity) AsWaitActivity() (*WaitActivity, bool) {
21252	return nil, false
21253}
21254
21255// AsForEachActivity is the BasicActivity implementation for AzureMLBatchExecutionActivity.
21256func (ambea AzureMLBatchExecutionActivity) AsForEachActivity() (*ForEachActivity, bool) {
21257	return nil, false
21258}
21259
21260// AsIfConditionActivity is the BasicActivity implementation for AzureMLBatchExecutionActivity.
21261func (ambea AzureMLBatchExecutionActivity) AsIfConditionActivity() (*IfConditionActivity, bool) {
21262	return nil, false
21263}
21264
21265// AsExecutePipelineActivity is the BasicActivity implementation for AzureMLBatchExecutionActivity.
21266func (ambea AzureMLBatchExecutionActivity) AsExecutePipelineActivity() (*ExecutePipelineActivity, bool) {
21267	return nil, false
21268}
21269
21270// AsControlActivity is the BasicActivity implementation for AzureMLBatchExecutionActivity.
21271func (ambea AzureMLBatchExecutionActivity) AsControlActivity() (*ControlActivity, bool) {
21272	return nil, false
21273}
21274
21275// AsBasicControlActivity is the BasicActivity implementation for AzureMLBatchExecutionActivity.
21276func (ambea AzureMLBatchExecutionActivity) AsBasicControlActivity() (BasicControlActivity, bool) {
21277	return nil, false
21278}
21279
21280// AsActivity is the BasicActivity implementation for AzureMLBatchExecutionActivity.
21281func (ambea AzureMLBatchExecutionActivity) AsActivity() (*Activity, bool) {
21282	return nil, false
21283}
21284
21285// AsBasicActivity is the BasicActivity implementation for AzureMLBatchExecutionActivity.
21286func (ambea AzureMLBatchExecutionActivity) AsBasicActivity() (BasicActivity, bool) {
21287	return &ambea, true
21288}
21289
21290// UnmarshalJSON is the custom unmarshaler for AzureMLBatchExecutionActivity struct.
21291func (ambea *AzureMLBatchExecutionActivity) UnmarshalJSON(body []byte) error {
21292	var m map[string]*json.RawMessage
21293	err := json.Unmarshal(body, &m)
21294	if err != nil {
21295		return err
21296	}
21297	for k, v := range m {
21298		switch k {
21299		case "typeProperties":
21300			if v != nil {
21301				var azureMLBatchExecutionActivityTypeProperties AzureMLBatchExecutionActivityTypeProperties
21302				err = json.Unmarshal(*v, &azureMLBatchExecutionActivityTypeProperties)
21303				if err != nil {
21304					return err
21305				}
21306				ambea.AzureMLBatchExecutionActivityTypeProperties = &azureMLBatchExecutionActivityTypeProperties
21307			}
21308		case "linkedServiceName":
21309			if v != nil {
21310				var linkedServiceName LinkedServiceReference
21311				err = json.Unmarshal(*v, &linkedServiceName)
21312				if err != nil {
21313					return err
21314				}
21315				ambea.LinkedServiceName = &linkedServiceName
21316			}
21317		case "policy":
21318			if v != nil {
21319				var policy ActivityPolicy
21320				err = json.Unmarshal(*v, &policy)
21321				if err != nil {
21322					return err
21323				}
21324				ambea.Policy = &policy
21325			}
21326		default:
21327			if v != nil {
21328				var additionalProperties interface{}
21329				err = json.Unmarshal(*v, &additionalProperties)
21330				if err != nil {
21331					return err
21332				}
21333				if ambea.AdditionalProperties == nil {
21334					ambea.AdditionalProperties = make(map[string]interface{})
21335				}
21336				ambea.AdditionalProperties[k] = additionalProperties
21337			}
21338		case "name":
21339			if v != nil {
21340				var name string
21341				err = json.Unmarshal(*v, &name)
21342				if err != nil {
21343					return err
21344				}
21345				ambea.Name = &name
21346			}
21347		case "description":
21348			if v != nil {
21349				var description string
21350				err = json.Unmarshal(*v, &description)
21351				if err != nil {
21352					return err
21353				}
21354				ambea.Description = &description
21355			}
21356		case "dependsOn":
21357			if v != nil {
21358				var dependsOn []ActivityDependency
21359				err = json.Unmarshal(*v, &dependsOn)
21360				if err != nil {
21361					return err
21362				}
21363				ambea.DependsOn = &dependsOn
21364			}
21365		case "userProperties":
21366			if v != nil {
21367				var userProperties []UserProperty
21368				err = json.Unmarshal(*v, &userProperties)
21369				if err != nil {
21370					return err
21371				}
21372				ambea.UserProperties = &userProperties
21373			}
21374		case "type":
21375			if v != nil {
21376				var typeVar TypeBasicActivity
21377				err = json.Unmarshal(*v, &typeVar)
21378				if err != nil {
21379					return err
21380				}
21381				ambea.Type = typeVar
21382			}
21383		}
21384	}
21385
21386	return nil
21387}
21388
21389// AzureMLBatchExecutionActivityTypeProperties azure ML Batch Execution activity properties.
21390type AzureMLBatchExecutionActivityTypeProperties struct {
21391	// 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.
21392	GlobalParameters map[string]interface{} `json:"globalParameters"`
21393	// 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.
21394	WebServiceOutputs map[string]*AzureMLWebServiceFile `json:"webServiceOutputs"`
21395	// 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.
21396	WebServiceInputs map[string]*AzureMLWebServiceFile `json:"webServiceInputs"`
21397}
21398
21399// MarshalJSON is the custom marshaler for AzureMLBatchExecutionActivityTypeProperties.
21400func (ambeatp AzureMLBatchExecutionActivityTypeProperties) MarshalJSON() ([]byte, error) {
21401	objectMap := make(map[string]interface{})
21402	if ambeatp.GlobalParameters != nil {
21403		objectMap["globalParameters"] = ambeatp.GlobalParameters
21404	}
21405	if ambeatp.WebServiceOutputs != nil {
21406		objectMap["webServiceOutputs"] = ambeatp.WebServiceOutputs
21407	}
21408	if ambeatp.WebServiceInputs != nil {
21409		objectMap["webServiceInputs"] = ambeatp.WebServiceInputs
21410	}
21411	return json.Marshal(objectMap)
21412}
21413
21414// AzureMLLinkedService azure ML Web Service linked service.
21415type AzureMLLinkedService struct {
21416	// AzureMLLinkedServiceTypeProperties - Azure ML Web Service linked service properties.
21417	*AzureMLLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
21418	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
21419	AdditionalProperties map[string]interface{} `json:""`
21420	// ConnectVia - The integration runtime reference.
21421	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
21422	// Description - Linked service description.
21423	Description *string `json:"description,omitempty"`
21424	// Parameters - Parameters for linked service.
21425	Parameters map[string]*ParameterSpecification `json:"parameters"`
21426	// Annotations - List of tags that can be used for describing the linked service.
21427	Annotations *[]interface{} `json:"annotations,omitempty"`
21428	// Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', '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', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage'
21429	Type TypeBasicLinkedService `json:"type,omitempty"`
21430}
21431
21432// MarshalJSON is the custom marshaler for AzureMLLinkedService.
21433func (amls AzureMLLinkedService) MarshalJSON() ([]byte, error) {
21434	amls.Type = TypeAzureML
21435	objectMap := make(map[string]interface{})
21436	if amls.AzureMLLinkedServiceTypeProperties != nil {
21437		objectMap["typeProperties"] = amls.AzureMLLinkedServiceTypeProperties
21438	}
21439	if amls.ConnectVia != nil {
21440		objectMap["connectVia"] = amls.ConnectVia
21441	}
21442	if amls.Description != nil {
21443		objectMap["description"] = amls.Description
21444	}
21445	if amls.Parameters != nil {
21446		objectMap["parameters"] = amls.Parameters
21447	}
21448	if amls.Annotations != nil {
21449		objectMap["annotations"] = amls.Annotations
21450	}
21451	if amls.Type != "" {
21452		objectMap["type"] = amls.Type
21453	}
21454	for k, v := range amls.AdditionalProperties {
21455		objectMap[k] = v
21456	}
21457	return json.Marshal(objectMap)
21458}
21459
21460// AsAzureFunctionLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
21461func (amls AzureMLLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) {
21462	return nil, false
21463}
21464
21465// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
21466func (amls AzureMLLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) {
21467	return nil, false
21468}
21469
21470// AsSapTableLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
21471func (amls AzureMLLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) {
21472	return nil, false
21473}
21474
21475// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
21476func (amls AzureMLLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) {
21477	return nil, false
21478}
21479
21480// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
21481func (amls AzureMLLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) {
21482	return nil, false
21483}
21484
21485// AsDynamicsAXLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
21486func (amls AzureMLLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) {
21487	return nil, false
21488}
21489
21490// AsResponsysLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
21491func (amls AzureMLLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
21492	return nil, false
21493}
21494
21495// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
21496func (amls AzureMLLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
21497	return nil, false
21498}
21499
21500// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
21501func (amls AzureMLLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
21502	return nil, false
21503}
21504
21505// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
21506func (amls AzureMLLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
21507	return nil, false
21508}
21509
21510// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
21511func (amls AzureMLLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
21512	return nil, false
21513}
21514
21515// AsNetezzaLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
21516func (amls AzureMLLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
21517	return nil, false
21518}
21519
21520// AsVerticaLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
21521func (amls AzureMLLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
21522	return nil, false
21523}
21524
21525// AsZohoLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
21526func (amls AzureMLLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
21527	return nil, false
21528}
21529
21530// AsXeroLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
21531func (amls AzureMLLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
21532	return nil, false
21533}
21534
21535// AsSquareLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
21536func (amls AzureMLLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
21537	return nil, false
21538}
21539
21540// AsSparkLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
21541func (amls AzureMLLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
21542	return nil, false
21543}
21544
21545// AsShopifyLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
21546func (amls AzureMLLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
21547	return nil, false
21548}
21549
21550// AsServiceNowLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
21551func (amls AzureMLLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
21552	return nil, false
21553}
21554
21555// AsQuickBooksLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
21556func (amls AzureMLLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
21557	return nil, false
21558}
21559
21560// AsPrestoLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
21561func (amls AzureMLLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
21562	return nil, false
21563}
21564
21565// AsPhoenixLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
21566func (amls AzureMLLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
21567	return nil, false
21568}
21569
21570// AsPaypalLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
21571func (amls AzureMLLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
21572	return nil, false
21573}
21574
21575// AsMarketoLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
21576func (amls AzureMLLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
21577	return nil, false
21578}
21579
21580// AsMariaDBLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
21581func (amls AzureMLLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
21582	return nil, false
21583}
21584
21585// AsMagentoLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
21586func (amls AzureMLLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
21587	return nil, false
21588}
21589
21590// AsJiraLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
21591func (amls AzureMLLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
21592	return nil, false
21593}
21594
21595// AsImpalaLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
21596func (amls AzureMLLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
21597	return nil, false
21598}
21599
21600// AsHubspotLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
21601func (amls AzureMLLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
21602	return nil, false
21603}
21604
21605// AsHiveLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
21606func (amls AzureMLLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
21607	return nil, false
21608}
21609
21610// AsHBaseLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
21611func (amls AzureMLLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
21612	return nil, false
21613}
21614
21615// AsGreenplumLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
21616func (amls AzureMLLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
21617	return nil, false
21618}
21619
21620// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
21621func (amls AzureMLLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
21622	return nil, false
21623}
21624
21625// AsEloquaLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
21626func (amls AzureMLLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
21627	return nil, false
21628}
21629
21630// AsDrillLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
21631func (amls AzureMLLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
21632	return nil, false
21633}
21634
21635// AsCouchbaseLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
21636func (amls AzureMLLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
21637	return nil, false
21638}
21639
21640// AsConcurLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
21641func (amls AzureMLLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
21642	return nil, false
21643}
21644
21645// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
21646func (amls AzureMLLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
21647	return nil, false
21648}
21649
21650// AsAmazonMWSLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
21651func (amls AzureMLLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
21652	return nil, false
21653}
21654
21655// AsSapHanaLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
21656func (amls AzureMLLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
21657	return nil, false
21658}
21659
21660// AsSapBWLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
21661func (amls AzureMLLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
21662	return nil, false
21663}
21664
21665// AsSftpServerLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
21666func (amls AzureMLLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
21667	return nil, false
21668}
21669
21670// AsFtpServerLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
21671func (amls AzureMLLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
21672	return nil, false
21673}
21674
21675// AsHTTPLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
21676func (amls AzureMLLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
21677	return nil, false
21678}
21679
21680// AsAzureSearchLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
21681func (amls AzureMLLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
21682	return nil, false
21683}
21684
21685// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
21686func (amls AzureMLLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
21687	return nil, false
21688}
21689
21690// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
21691func (amls AzureMLLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
21692	return nil, false
21693}
21694
21695// AsAmazonS3LinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
21696func (amls AzureMLLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
21697	return nil, false
21698}
21699
21700// AsRestServiceLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
21701func (amls AzureMLLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) {
21702	return nil, false
21703}
21704
21705// AsSapOpenHubLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
21706func (amls AzureMLLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) {
21707	return nil, false
21708}
21709
21710// AsSapEccLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
21711func (amls AzureMLLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
21712	return nil, false
21713}
21714
21715// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
21716func (amls AzureMLLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
21717	return nil, false
21718}
21719
21720// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
21721func (amls AzureMLLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) {
21722	return nil, false
21723}
21724
21725// AsSalesforceLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
21726func (amls AzureMLLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
21727	return nil, false
21728}
21729
21730// AsOffice365LinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
21731func (amls AzureMLLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) {
21732	return nil, false
21733}
21734
21735// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
21736func (amls AzureMLLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) {
21737	return nil, false
21738}
21739
21740// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
21741func (amls AzureMLLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
21742	return nil, false
21743}
21744
21745// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
21746func (amls AzureMLLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) {
21747	return nil, false
21748}
21749
21750// AsMongoDbV2LinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
21751func (amls AzureMLLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) {
21752	return nil, false
21753}
21754
21755// AsMongoDbLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
21756func (amls AzureMLLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
21757	return nil, false
21758}
21759
21760// AsCassandraLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
21761func (amls AzureMLLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
21762	return nil, false
21763}
21764
21765// AsWebLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
21766func (amls AzureMLLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
21767	return nil, false
21768}
21769
21770// AsODataLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
21771func (amls AzureMLLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
21772	return nil, false
21773}
21774
21775// AsHdfsLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
21776func (amls AzureMLLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
21777	return nil, false
21778}
21779
21780// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
21781func (amls AzureMLLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) {
21782	return nil, false
21783}
21784
21785// AsInformixLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
21786func (amls AzureMLLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) {
21787	return nil, false
21788}
21789
21790// AsOdbcLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
21791func (amls AzureMLLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
21792	return nil, false
21793}
21794
21795// AsAzureMLLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
21796func (amls AzureMLLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
21797	return &amls, true
21798}
21799
21800// AsTeradataLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
21801func (amls AzureMLLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
21802	return nil, false
21803}
21804
21805// AsDb2LinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
21806func (amls AzureMLLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
21807	return nil, false
21808}
21809
21810// AsSybaseLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
21811func (amls AzureMLLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
21812	return nil, false
21813}
21814
21815// AsPostgreSQLLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
21816func (amls AzureMLLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
21817	return nil, false
21818}
21819
21820// AsMySQLLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
21821func (amls AzureMLLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
21822	return nil, false
21823}
21824
21825// AsAzureMySQLLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
21826func (amls AzureMLLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
21827	return nil, false
21828}
21829
21830// AsOracleLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
21831func (amls AzureMLLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
21832	return nil, false
21833}
21834
21835// AsFileServerLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
21836func (amls AzureMLLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
21837	return nil, false
21838}
21839
21840// AsHDInsightLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
21841func (amls AzureMLLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
21842	return nil, false
21843}
21844
21845// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
21846func (amls AzureMLLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) {
21847	return nil, false
21848}
21849
21850// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
21851func (amls AzureMLLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) {
21852	return nil, false
21853}
21854
21855// AsDynamicsLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
21856func (amls AzureMLLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
21857	return nil, false
21858}
21859
21860// AsCosmosDbLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
21861func (amls AzureMLLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
21862	return nil, false
21863}
21864
21865// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
21866func (amls AzureMLLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
21867	return nil, false
21868}
21869
21870// AsAzureBatchLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
21871func (amls AzureMLLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
21872	return nil, false
21873}
21874
21875// AsAzureSQLMILinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
21876func (amls AzureMLLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) {
21877	return nil, false
21878}
21879
21880// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
21881func (amls AzureMLLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
21882	return nil, false
21883}
21884
21885// AsSQLServerLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
21886func (amls AzureMLLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
21887	return nil, false
21888}
21889
21890// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
21891func (amls AzureMLLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
21892	return nil, false
21893}
21894
21895// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
21896func (amls AzureMLLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) {
21897	return nil, false
21898}
21899
21900// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
21901func (amls AzureMLLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) {
21902	return nil, false
21903}
21904
21905// AsAzureStorageLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
21906func (amls AzureMLLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
21907	return nil, false
21908}
21909
21910// AsLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
21911func (amls AzureMLLinkedService) AsLinkedService() (*LinkedService, bool) {
21912	return nil, false
21913}
21914
21915// AsBasicLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
21916func (amls AzureMLLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
21917	return &amls, true
21918}
21919
21920// UnmarshalJSON is the custom unmarshaler for AzureMLLinkedService struct.
21921func (amls *AzureMLLinkedService) UnmarshalJSON(body []byte) error {
21922	var m map[string]*json.RawMessage
21923	err := json.Unmarshal(body, &m)
21924	if err != nil {
21925		return err
21926	}
21927	for k, v := range m {
21928		switch k {
21929		case "typeProperties":
21930			if v != nil {
21931				var azureMLLinkedServiceTypeProperties AzureMLLinkedServiceTypeProperties
21932				err = json.Unmarshal(*v, &azureMLLinkedServiceTypeProperties)
21933				if err != nil {
21934					return err
21935				}
21936				amls.AzureMLLinkedServiceTypeProperties = &azureMLLinkedServiceTypeProperties
21937			}
21938		default:
21939			if v != nil {
21940				var additionalProperties interface{}
21941				err = json.Unmarshal(*v, &additionalProperties)
21942				if err != nil {
21943					return err
21944				}
21945				if amls.AdditionalProperties == nil {
21946					amls.AdditionalProperties = make(map[string]interface{})
21947				}
21948				amls.AdditionalProperties[k] = additionalProperties
21949			}
21950		case "connectVia":
21951			if v != nil {
21952				var connectVia IntegrationRuntimeReference
21953				err = json.Unmarshal(*v, &connectVia)
21954				if err != nil {
21955					return err
21956				}
21957				amls.ConnectVia = &connectVia
21958			}
21959		case "description":
21960			if v != nil {
21961				var description string
21962				err = json.Unmarshal(*v, &description)
21963				if err != nil {
21964					return err
21965				}
21966				amls.Description = &description
21967			}
21968		case "parameters":
21969			if v != nil {
21970				var parameters map[string]*ParameterSpecification
21971				err = json.Unmarshal(*v, &parameters)
21972				if err != nil {
21973					return err
21974				}
21975				amls.Parameters = parameters
21976			}
21977		case "annotations":
21978			if v != nil {
21979				var annotations []interface{}
21980				err = json.Unmarshal(*v, &annotations)
21981				if err != nil {
21982					return err
21983				}
21984				amls.Annotations = &annotations
21985			}
21986		case "type":
21987			if v != nil {
21988				var typeVar TypeBasicLinkedService
21989				err = json.Unmarshal(*v, &typeVar)
21990				if err != nil {
21991					return err
21992				}
21993				amls.Type = typeVar
21994			}
21995		}
21996	}
21997
21998	return nil
21999}
22000
22001// AzureMLLinkedServiceTypeProperties azure ML Web Service linked service properties.
22002type AzureMLLinkedServiceTypeProperties struct {
22003	// MlEndpoint - The Batch Execution REST URL for an Azure ML Web Service endpoint. Type: string (or Expression with resultType string).
22004	MlEndpoint interface{} `json:"mlEndpoint,omitempty"`
22005	// APIKey - The API key for accessing the Azure ML model endpoint.
22006	APIKey BasicSecretBase `json:"apiKey,omitempty"`
22007	// UpdateResourceEndpoint - The Update Resource REST URL for an Azure ML Web Service endpoint. Type: string (or Expression with resultType string).
22008	UpdateResourceEndpoint interface{} `json:"updateResourceEndpoint,omitempty"`
22009	// 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).
22010	ServicePrincipalID interface{} `json:"servicePrincipalId,omitempty"`
22011	// ServicePrincipalKey - The key of the service principal used to authenticate against the ARM-based updateResourceEndpoint of an Azure ML web service.
22012	ServicePrincipalKey BasicSecretBase `json:"servicePrincipalKey,omitempty"`
22013	// Tenant - The name or ID of the tenant to which the service principal belongs. Type: string (or Expression with resultType string).
22014	Tenant interface{} `json:"tenant,omitempty"`
22015	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
22016	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
22017}
22018
22019// UnmarshalJSON is the custom unmarshaler for AzureMLLinkedServiceTypeProperties struct.
22020func (amlstp *AzureMLLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
22021	var m map[string]*json.RawMessage
22022	err := json.Unmarshal(body, &m)
22023	if err != nil {
22024		return err
22025	}
22026	for k, v := range m {
22027		switch k {
22028		case "mlEndpoint":
22029			if v != nil {
22030				var mlEndpoint interface{}
22031				err = json.Unmarshal(*v, &mlEndpoint)
22032				if err != nil {
22033					return err
22034				}
22035				amlstp.MlEndpoint = mlEndpoint
22036			}
22037		case "apiKey":
22038			if v != nil {
22039				APIKey, err := unmarshalBasicSecretBase(*v)
22040				if err != nil {
22041					return err
22042				}
22043				amlstp.APIKey = APIKey
22044			}
22045		case "updateResourceEndpoint":
22046			if v != nil {
22047				var updateResourceEndpoint interface{}
22048				err = json.Unmarshal(*v, &updateResourceEndpoint)
22049				if err != nil {
22050					return err
22051				}
22052				amlstp.UpdateResourceEndpoint = updateResourceEndpoint
22053			}
22054		case "servicePrincipalId":
22055			if v != nil {
22056				var servicePrincipalID interface{}
22057				err = json.Unmarshal(*v, &servicePrincipalID)
22058				if err != nil {
22059					return err
22060				}
22061				amlstp.ServicePrincipalID = servicePrincipalID
22062			}
22063		case "servicePrincipalKey":
22064			if v != nil {
22065				servicePrincipalKey, err := unmarshalBasicSecretBase(*v)
22066				if err != nil {
22067					return err
22068				}
22069				amlstp.ServicePrincipalKey = servicePrincipalKey
22070			}
22071		case "tenant":
22072			if v != nil {
22073				var tenant interface{}
22074				err = json.Unmarshal(*v, &tenant)
22075				if err != nil {
22076					return err
22077				}
22078				amlstp.Tenant = tenant
22079			}
22080		case "encryptedCredential":
22081			if v != nil {
22082				var encryptedCredential interface{}
22083				err = json.Unmarshal(*v, &encryptedCredential)
22084				if err != nil {
22085					return err
22086				}
22087				amlstp.EncryptedCredential = encryptedCredential
22088			}
22089		}
22090	}
22091
22092	return nil
22093}
22094
22095// AzureMLUpdateResourceActivity azure ML Update Resource management activity.
22096type AzureMLUpdateResourceActivity struct {
22097	// AzureMLUpdateResourceActivityTypeProperties - Azure ML Update Resource management activity properties.
22098	*AzureMLUpdateResourceActivityTypeProperties `json:"typeProperties,omitempty"`
22099	// LinkedServiceName - Linked service reference.
22100	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
22101	// Policy - Activity policy.
22102	Policy *ActivityPolicy `json:"policy,omitempty"`
22103	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
22104	AdditionalProperties map[string]interface{} `json:""`
22105	// Name - Activity name.
22106	Name *string `json:"name,omitempty"`
22107	// Description - Activity description.
22108	Description *string `json:"description,omitempty"`
22109	// DependsOn - Activity depends on condition.
22110	DependsOn *[]ActivityDependency `json:"dependsOn,omitempty"`
22111	// UserProperties - Activity user properties.
22112	UserProperties *[]UserProperty `json:"userProperties,omitempty"`
22113	// Type - Possible values include: 'TypeActivity', 'TypeAzureFunctionActivity', 'TypeDatabricksSparkPython', 'TypeDatabricksSparkJar', 'TypeDatabricksNotebook', 'TypeDataLakeAnalyticsUSQL', 'TypeAzureMLUpdateResource', 'TypeAzureMLBatchExecution', 'TypeGetMetadata', 'TypeWebActivity', 'TypeLookup', 'TypeAzureDataExplorerCommand', 'TypeDelete', 'TypeSQLServerStoredProcedure', 'TypeCustom', 'TypeExecuteSSISPackage', 'TypeHDInsightSpark', 'TypeHDInsightStreaming', 'TypeHDInsightMapReduce', 'TypeHDInsightPig', 'TypeHDInsightHive', 'TypeCopy', 'TypeExecution', 'TypeWebHook', 'TypeAppendVariable', 'TypeSetVariable', 'TypeFilter', 'TypeValidation', 'TypeUntil', 'TypeWait', 'TypeForEach', 'TypeIfCondition', 'TypeExecutePipeline', 'TypeContainer'
22114	Type TypeBasicActivity `json:"type,omitempty"`
22115}
22116
22117// MarshalJSON is the custom marshaler for AzureMLUpdateResourceActivity.
22118func (amura AzureMLUpdateResourceActivity) MarshalJSON() ([]byte, error) {
22119	amura.Type = TypeAzureMLUpdateResource
22120	objectMap := make(map[string]interface{})
22121	if amura.AzureMLUpdateResourceActivityTypeProperties != nil {
22122		objectMap["typeProperties"] = amura.AzureMLUpdateResourceActivityTypeProperties
22123	}
22124	if amura.LinkedServiceName != nil {
22125		objectMap["linkedServiceName"] = amura.LinkedServiceName
22126	}
22127	if amura.Policy != nil {
22128		objectMap["policy"] = amura.Policy
22129	}
22130	if amura.Name != nil {
22131		objectMap["name"] = amura.Name
22132	}
22133	if amura.Description != nil {
22134		objectMap["description"] = amura.Description
22135	}
22136	if amura.DependsOn != nil {
22137		objectMap["dependsOn"] = amura.DependsOn
22138	}
22139	if amura.UserProperties != nil {
22140		objectMap["userProperties"] = amura.UserProperties
22141	}
22142	if amura.Type != "" {
22143		objectMap["type"] = amura.Type
22144	}
22145	for k, v := range amura.AdditionalProperties {
22146		objectMap[k] = v
22147	}
22148	return json.Marshal(objectMap)
22149}
22150
22151// AsAzureFunctionActivity is the BasicActivity implementation for AzureMLUpdateResourceActivity.
22152func (amura AzureMLUpdateResourceActivity) AsAzureFunctionActivity() (*AzureFunctionActivity, bool) {
22153	return nil, false
22154}
22155
22156// AsDatabricksSparkPythonActivity is the BasicActivity implementation for AzureMLUpdateResourceActivity.
22157func (amura AzureMLUpdateResourceActivity) AsDatabricksSparkPythonActivity() (*DatabricksSparkPythonActivity, bool) {
22158	return nil, false
22159}
22160
22161// AsDatabricksSparkJarActivity is the BasicActivity implementation for AzureMLUpdateResourceActivity.
22162func (amura AzureMLUpdateResourceActivity) AsDatabricksSparkJarActivity() (*DatabricksSparkJarActivity, bool) {
22163	return nil, false
22164}
22165
22166// AsDatabricksNotebookActivity is the BasicActivity implementation for AzureMLUpdateResourceActivity.
22167func (amura AzureMLUpdateResourceActivity) AsDatabricksNotebookActivity() (*DatabricksNotebookActivity, bool) {
22168	return nil, false
22169}
22170
22171// AsDataLakeAnalyticsUSQLActivity is the BasicActivity implementation for AzureMLUpdateResourceActivity.
22172func (amura AzureMLUpdateResourceActivity) AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalyticsUSQLActivity, bool) {
22173	return nil, false
22174}
22175
22176// AsAzureMLUpdateResourceActivity is the BasicActivity implementation for AzureMLUpdateResourceActivity.
22177func (amura AzureMLUpdateResourceActivity) AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool) {
22178	return &amura, true
22179}
22180
22181// AsAzureMLBatchExecutionActivity is the BasicActivity implementation for AzureMLUpdateResourceActivity.
22182func (amura AzureMLUpdateResourceActivity) AsAzureMLBatchExecutionActivity() (*AzureMLBatchExecutionActivity, bool) {
22183	return nil, false
22184}
22185
22186// AsGetMetadataActivity is the BasicActivity implementation for AzureMLUpdateResourceActivity.
22187func (amura AzureMLUpdateResourceActivity) AsGetMetadataActivity() (*GetMetadataActivity, bool) {
22188	return nil, false
22189}
22190
22191// AsWebActivity is the BasicActivity implementation for AzureMLUpdateResourceActivity.
22192func (amura AzureMLUpdateResourceActivity) AsWebActivity() (*WebActivity, bool) {
22193	return nil, false
22194}
22195
22196// AsLookupActivity is the BasicActivity implementation for AzureMLUpdateResourceActivity.
22197func (amura AzureMLUpdateResourceActivity) AsLookupActivity() (*LookupActivity, bool) {
22198	return nil, false
22199}
22200
22201// AsAzureDataExplorerCommandActivity is the BasicActivity implementation for AzureMLUpdateResourceActivity.
22202func (amura AzureMLUpdateResourceActivity) AsAzureDataExplorerCommandActivity() (*AzureDataExplorerCommandActivity, bool) {
22203	return nil, false
22204}
22205
22206// AsDeleteActivity is the BasicActivity implementation for AzureMLUpdateResourceActivity.
22207func (amura AzureMLUpdateResourceActivity) AsDeleteActivity() (*DeleteActivity, bool) {
22208	return nil, false
22209}
22210
22211// AsSQLServerStoredProcedureActivity is the BasicActivity implementation for AzureMLUpdateResourceActivity.
22212func (amura AzureMLUpdateResourceActivity) AsSQLServerStoredProcedureActivity() (*SQLServerStoredProcedureActivity, bool) {
22213	return nil, false
22214}
22215
22216// AsCustomActivity is the BasicActivity implementation for AzureMLUpdateResourceActivity.
22217func (amura AzureMLUpdateResourceActivity) AsCustomActivity() (*CustomActivity, bool) {
22218	return nil, false
22219}
22220
22221// AsExecuteSSISPackageActivity is the BasicActivity implementation for AzureMLUpdateResourceActivity.
22222func (amura AzureMLUpdateResourceActivity) AsExecuteSSISPackageActivity() (*ExecuteSSISPackageActivity, bool) {
22223	return nil, false
22224}
22225
22226// AsHDInsightSparkActivity is the BasicActivity implementation for AzureMLUpdateResourceActivity.
22227func (amura AzureMLUpdateResourceActivity) AsHDInsightSparkActivity() (*HDInsightSparkActivity, bool) {
22228	return nil, false
22229}
22230
22231// AsHDInsightStreamingActivity is the BasicActivity implementation for AzureMLUpdateResourceActivity.
22232func (amura AzureMLUpdateResourceActivity) AsHDInsightStreamingActivity() (*HDInsightStreamingActivity, bool) {
22233	return nil, false
22234}
22235
22236// AsHDInsightMapReduceActivity is the BasicActivity implementation for AzureMLUpdateResourceActivity.
22237func (amura AzureMLUpdateResourceActivity) AsHDInsightMapReduceActivity() (*HDInsightMapReduceActivity, bool) {
22238	return nil, false
22239}
22240
22241// AsHDInsightPigActivity is the BasicActivity implementation for AzureMLUpdateResourceActivity.
22242func (amura AzureMLUpdateResourceActivity) AsHDInsightPigActivity() (*HDInsightPigActivity, bool) {
22243	return nil, false
22244}
22245
22246// AsHDInsightHiveActivity is the BasicActivity implementation for AzureMLUpdateResourceActivity.
22247func (amura AzureMLUpdateResourceActivity) AsHDInsightHiveActivity() (*HDInsightHiveActivity, bool) {
22248	return nil, false
22249}
22250
22251// AsCopyActivity is the BasicActivity implementation for AzureMLUpdateResourceActivity.
22252func (amura AzureMLUpdateResourceActivity) AsCopyActivity() (*CopyActivity, bool) {
22253	return nil, false
22254}
22255
22256// AsExecutionActivity is the BasicActivity implementation for AzureMLUpdateResourceActivity.
22257func (amura AzureMLUpdateResourceActivity) AsExecutionActivity() (*ExecutionActivity, bool) {
22258	return nil, false
22259}
22260
22261// AsBasicExecutionActivity is the BasicActivity implementation for AzureMLUpdateResourceActivity.
22262func (amura AzureMLUpdateResourceActivity) AsBasicExecutionActivity() (BasicExecutionActivity, bool) {
22263	return &amura, true
22264}
22265
22266// AsWebHookActivity is the BasicActivity implementation for AzureMLUpdateResourceActivity.
22267func (amura AzureMLUpdateResourceActivity) AsWebHookActivity() (*WebHookActivity, bool) {
22268	return nil, false
22269}
22270
22271// AsAppendVariableActivity is the BasicActivity implementation for AzureMLUpdateResourceActivity.
22272func (amura AzureMLUpdateResourceActivity) AsAppendVariableActivity() (*AppendVariableActivity, bool) {
22273	return nil, false
22274}
22275
22276// AsSetVariableActivity is the BasicActivity implementation for AzureMLUpdateResourceActivity.
22277func (amura AzureMLUpdateResourceActivity) AsSetVariableActivity() (*SetVariableActivity, bool) {
22278	return nil, false
22279}
22280
22281// AsFilterActivity is the BasicActivity implementation for AzureMLUpdateResourceActivity.
22282func (amura AzureMLUpdateResourceActivity) AsFilterActivity() (*FilterActivity, bool) {
22283	return nil, false
22284}
22285
22286// AsValidationActivity is the BasicActivity implementation for AzureMLUpdateResourceActivity.
22287func (amura AzureMLUpdateResourceActivity) AsValidationActivity() (*ValidationActivity, bool) {
22288	return nil, false
22289}
22290
22291// AsUntilActivity is the BasicActivity implementation for AzureMLUpdateResourceActivity.
22292func (amura AzureMLUpdateResourceActivity) AsUntilActivity() (*UntilActivity, bool) {
22293	return nil, false
22294}
22295
22296// AsWaitActivity is the BasicActivity implementation for AzureMLUpdateResourceActivity.
22297func (amura AzureMLUpdateResourceActivity) AsWaitActivity() (*WaitActivity, bool) {
22298	return nil, false
22299}
22300
22301// AsForEachActivity is the BasicActivity implementation for AzureMLUpdateResourceActivity.
22302func (amura AzureMLUpdateResourceActivity) AsForEachActivity() (*ForEachActivity, bool) {
22303	return nil, false
22304}
22305
22306// AsIfConditionActivity is the BasicActivity implementation for AzureMLUpdateResourceActivity.
22307func (amura AzureMLUpdateResourceActivity) AsIfConditionActivity() (*IfConditionActivity, bool) {
22308	return nil, false
22309}
22310
22311// AsExecutePipelineActivity is the BasicActivity implementation for AzureMLUpdateResourceActivity.
22312func (amura AzureMLUpdateResourceActivity) AsExecutePipelineActivity() (*ExecutePipelineActivity, bool) {
22313	return nil, false
22314}
22315
22316// AsControlActivity is the BasicActivity implementation for AzureMLUpdateResourceActivity.
22317func (amura AzureMLUpdateResourceActivity) AsControlActivity() (*ControlActivity, bool) {
22318	return nil, false
22319}
22320
22321// AsBasicControlActivity is the BasicActivity implementation for AzureMLUpdateResourceActivity.
22322func (amura AzureMLUpdateResourceActivity) AsBasicControlActivity() (BasicControlActivity, bool) {
22323	return nil, false
22324}
22325
22326// AsActivity is the BasicActivity implementation for AzureMLUpdateResourceActivity.
22327func (amura AzureMLUpdateResourceActivity) AsActivity() (*Activity, bool) {
22328	return nil, false
22329}
22330
22331// AsBasicActivity is the BasicActivity implementation for AzureMLUpdateResourceActivity.
22332func (amura AzureMLUpdateResourceActivity) AsBasicActivity() (BasicActivity, bool) {
22333	return &amura, true
22334}
22335
22336// UnmarshalJSON is the custom unmarshaler for AzureMLUpdateResourceActivity struct.
22337func (amura *AzureMLUpdateResourceActivity) UnmarshalJSON(body []byte) error {
22338	var m map[string]*json.RawMessage
22339	err := json.Unmarshal(body, &m)
22340	if err != nil {
22341		return err
22342	}
22343	for k, v := range m {
22344		switch k {
22345		case "typeProperties":
22346			if v != nil {
22347				var azureMLUpdateResourceActivityTypeProperties AzureMLUpdateResourceActivityTypeProperties
22348				err = json.Unmarshal(*v, &azureMLUpdateResourceActivityTypeProperties)
22349				if err != nil {
22350					return err
22351				}
22352				amura.AzureMLUpdateResourceActivityTypeProperties = &azureMLUpdateResourceActivityTypeProperties
22353			}
22354		case "linkedServiceName":
22355			if v != nil {
22356				var linkedServiceName LinkedServiceReference
22357				err = json.Unmarshal(*v, &linkedServiceName)
22358				if err != nil {
22359					return err
22360				}
22361				amura.LinkedServiceName = &linkedServiceName
22362			}
22363		case "policy":
22364			if v != nil {
22365				var policy ActivityPolicy
22366				err = json.Unmarshal(*v, &policy)
22367				if err != nil {
22368					return err
22369				}
22370				amura.Policy = &policy
22371			}
22372		default:
22373			if v != nil {
22374				var additionalProperties interface{}
22375				err = json.Unmarshal(*v, &additionalProperties)
22376				if err != nil {
22377					return err
22378				}
22379				if amura.AdditionalProperties == nil {
22380					amura.AdditionalProperties = make(map[string]interface{})
22381				}
22382				amura.AdditionalProperties[k] = additionalProperties
22383			}
22384		case "name":
22385			if v != nil {
22386				var name string
22387				err = json.Unmarshal(*v, &name)
22388				if err != nil {
22389					return err
22390				}
22391				amura.Name = &name
22392			}
22393		case "description":
22394			if v != nil {
22395				var description string
22396				err = json.Unmarshal(*v, &description)
22397				if err != nil {
22398					return err
22399				}
22400				amura.Description = &description
22401			}
22402		case "dependsOn":
22403			if v != nil {
22404				var dependsOn []ActivityDependency
22405				err = json.Unmarshal(*v, &dependsOn)
22406				if err != nil {
22407					return err
22408				}
22409				amura.DependsOn = &dependsOn
22410			}
22411		case "userProperties":
22412			if v != nil {
22413				var userProperties []UserProperty
22414				err = json.Unmarshal(*v, &userProperties)
22415				if err != nil {
22416					return err
22417				}
22418				amura.UserProperties = &userProperties
22419			}
22420		case "type":
22421			if v != nil {
22422				var typeVar TypeBasicActivity
22423				err = json.Unmarshal(*v, &typeVar)
22424				if err != nil {
22425					return err
22426				}
22427				amura.Type = typeVar
22428			}
22429		}
22430	}
22431
22432	return nil
22433}
22434
22435// AzureMLUpdateResourceActivityTypeProperties azure ML Update Resource activity properties.
22436type AzureMLUpdateResourceActivityTypeProperties struct {
22437	// TrainedModelName - Name of the Trained Model module in the Web Service experiment to be updated. Type: string (or Expression with resultType string).
22438	TrainedModelName interface{} `json:"trainedModelName,omitempty"`
22439	// TrainedModelLinkedServiceName - Name of Azure Storage linked service holding the .ilearner file that will be uploaded by the update operation.
22440	TrainedModelLinkedServiceName *LinkedServiceReference `json:"trainedModelLinkedServiceName,omitempty"`
22441	// 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).
22442	TrainedModelFilePath interface{} `json:"trainedModelFilePath,omitempty"`
22443}
22444
22445// AzureMLWebServiceFile azure ML WebService Input/Output file
22446type AzureMLWebServiceFile struct {
22447	// FilePath - The relative file path, including container name, in the Azure Blob Storage specified by the LinkedService. Type: string (or Expression with resultType string).
22448	FilePath interface{} `json:"filePath,omitempty"`
22449	// LinkedServiceName - Reference to an Azure Storage LinkedService, where Azure ML WebService Input/Output file located.
22450	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
22451}
22452
22453// AzureMySQLLinkedService azure MySQL database linked service.
22454type AzureMySQLLinkedService struct {
22455	// AzureMySQLLinkedServiceTypeProperties - Azure MySQL database linked service properties.
22456	*AzureMySQLLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
22457	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
22458	AdditionalProperties map[string]interface{} `json:""`
22459	// ConnectVia - The integration runtime reference.
22460	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
22461	// Description - Linked service description.
22462	Description *string `json:"description,omitempty"`
22463	// Parameters - Parameters for linked service.
22464	Parameters map[string]*ParameterSpecification `json:"parameters"`
22465	// Annotations - List of tags that can be used for describing the linked service.
22466	Annotations *[]interface{} `json:"annotations,omitempty"`
22467	// Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', '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', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage'
22468	Type TypeBasicLinkedService `json:"type,omitempty"`
22469}
22470
22471// MarshalJSON is the custom marshaler for AzureMySQLLinkedService.
22472func (amsls AzureMySQLLinkedService) MarshalJSON() ([]byte, error) {
22473	amsls.Type = TypeAzureMySQL
22474	objectMap := make(map[string]interface{})
22475	if amsls.AzureMySQLLinkedServiceTypeProperties != nil {
22476		objectMap["typeProperties"] = amsls.AzureMySQLLinkedServiceTypeProperties
22477	}
22478	if amsls.ConnectVia != nil {
22479		objectMap["connectVia"] = amsls.ConnectVia
22480	}
22481	if amsls.Description != nil {
22482		objectMap["description"] = amsls.Description
22483	}
22484	if amsls.Parameters != nil {
22485		objectMap["parameters"] = amsls.Parameters
22486	}
22487	if amsls.Annotations != nil {
22488		objectMap["annotations"] = amsls.Annotations
22489	}
22490	if amsls.Type != "" {
22491		objectMap["type"] = amsls.Type
22492	}
22493	for k, v := range amsls.AdditionalProperties {
22494		objectMap[k] = v
22495	}
22496	return json.Marshal(objectMap)
22497}
22498
22499// AsAzureFunctionLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
22500func (amsls AzureMySQLLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) {
22501	return nil, false
22502}
22503
22504// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
22505func (amsls AzureMySQLLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) {
22506	return nil, false
22507}
22508
22509// AsSapTableLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
22510func (amsls AzureMySQLLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) {
22511	return nil, false
22512}
22513
22514// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
22515func (amsls AzureMySQLLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) {
22516	return nil, false
22517}
22518
22519// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
22520func (amsls AzureMySQLLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) {
22521	return nil, false
22522}
22523
22524// AsDynamicsAXLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
22525func (amsls AzureMySQLLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) {
22526	return nil, false
22527}
22528
22529// AsResponsysLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
22530func (amsls AzureMySQLLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
22531	return nil, false
22532}
22533
22534// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
22535func (amsls AzureMySQLLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
22536	return nil, false
22537}
22538
22539// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
22540func (amsls AzureMySQLLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
22541	return nil, false
22542}
22543
22544// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
22545func (amsls AzureMySQLLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
22546	return nil, false
22547}
22548
22549// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
22550func (amsls AzureMySQLLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
22551	return nil, false
22552}
22553
22554// AsNetezzaLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
22555func (amsls AzureMySQLLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
22556	return nil, false
22557}
22558
22559// AsVerticaLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
22560func (amsls AzureMySQLLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
22561	return nil, false
22562}
22563
22564// AsZohoLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
22565func (amsls AzureMySQLLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
22566	return nil, false
22567}
22568
22569// AsXeroLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
22570func (amsls AzureMySQLLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
22571	return nil, false
22572}
22573
22574// AsSquareLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
22575func (amsls AzureMySQLLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
22576	return nil, false
22577}
22578
22579// AsSparkLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
22580func (amsls AzureMySQLLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
22581	return nil, false
22582}
22583
22584// AsShopifyLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
22585func (amsls AzureMySQLLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
22586	return nil, false
22587}
22588
22589// AsServiceNowLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
22590func (amsls AzureMySQLLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
22591	return nil, false
22592}
22593
22594// AsQuickBooksLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
22595func (amsls AzureMySQLLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
22596	return nil, false
22597}
22598
22599// AsPrestoLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
22600func (amsls AzureMySQLLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
22601	return nil, false
22602}
22603
22604// AsPhoenixLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
22605func (amsls AzureMySQLLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
22606	return nil, false
22607}
22608
22609// AsPaypalLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
22610func (amsls AzureMySQLLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
22611	return nil, false
22612}
22613
22614// AsMarketoLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
22615func (amsls AzureMySQLLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
22616	return nil, false
22617}
22618
22619// AsMariaDBLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
22620func (amsls AzureMySQLLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
22621	return nil, false
22622}
22623
22624// AsMagentoLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
22625func (amsls AzureMySQLLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
22626	return nil, false
22627}
22628
22629// AsJiraLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
22630func (amsls AzureMySQLLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
22631	return nil, false
22632}
22633
22634// AsImpalaLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
22635func (amsls AzureMySQLLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
22636	return nil, false
22637}
22638
22639// AsHubspotLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
22640func (amsls AzureMySQLLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
22641	return nil, false
22642}
22643
22644// AsHiveLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
22645func (amsls AzureMySQLLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
22646	return nil, false
22647}
22648
22649// AsHBaseLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
22650func (amsls AzureMySQLLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
22651	return nil, false
22652}
22653
22654// AsGreenplumLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
22655func (amsls AzureMySQLLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
22656	return nil, false
22657}
22658
22659// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
22660func (amsls AzureMySQLLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
22661	return nil, false
22662}
22663
22664// AsEloquaLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
22665func (amsls AzureMySQLLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
22666	return nil, false
22667}
22668
22669// AsDrillLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
22670func (amsls AzureMySQLLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
22671	return nil, false
22672}
22673
22674// AsCouchbaseLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
22675func (amsls AzureMySQLLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
22676	return nil, false
22677}
22678
22679// AsConcurLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
22680func (amsls AzureMySQLLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
22681	return nil, false
22682}
22683
22684// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
22685func (amsls AzureMySQLLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
22686	return nil, false
22687}
22688
22689// AsAmazonMWSLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
22690func (amsls AzureMySQLLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
22691	return nil, false
22692}
22693
22694// AsSapHanaLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
22695func (amsls AzureMySQLLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
22696	return nil, false
22697}
22698
22699// AsSapBWLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
22700func (amsls AzureMySQLLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
22701	return nil, false
22702}
22703
22704// AsSftpServerLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
22705func (amsls AzureMySQLLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
22706	return nil, false
22707}
22708
22709// AsFtpServerLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
22710func (amsls AzureMySQLLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
22711	return nil, false
22712}
22713
22714// AsHTTPLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
22715func (amsls AzureMySQLLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
22716	return nil, false
22717}
22718
22719// AsAzureSearchLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
22720func (amsls AzureMySQLLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
22721	return nil, false
22722}
22723
22724// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
22725func (amsls AzureMySQLLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
22726	return nil, false
22727}
22728
22729// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
22730func (amsls AzureMySQLLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
22731	return nil, false
22732}
22733
22734// AsAmazonS3LinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
22735func (amsls AzureMySQLLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
22736	return nil, false
22737}
22738
22739// AsRestServiceLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
22740func (amsls AzureMySQLLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) {
22741	return nil, false
22742}
22743
22744// AsSapOpenHubLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
22745func (amsls AzureMySQLLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) {
22746	return nil, false
22747}
22748
22749// AsSapEccLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
22750func (amsls AzureMySQLLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
22751	return nil, false
22752}
22753
22754// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
22755func (amsls AzureMySQLLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
22756	return nil, false
22757}
22758
22759// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
22760func (amsls AzureMySQLLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) {
22761	return nil, false
22762}
22763
22764// AsSalesforceLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
22765func (amsls AzureMySQLLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
22766	return nil, false
22767}
22768
22769// AsOffice365LinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
22770func (amsls AzureMySQLLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) {
22771	return nil, false
22772}
22773
22774// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
22775func (amsls AzureMySQLLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) {
22776	return nil, false
22777}
22778
22779// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
22780func (amsls AzureMySQLLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
22781	return nil, false
22782}
22783
22784// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
22785func (amsls AzureMySQLLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) {
22786	return nil, false
22787}
22788
22789// AsMongoDbV2LinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
22790func (amsls AzureMySQLLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) {
22791	return nil, false
22792}
22793
22794// AsMongoDbLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
22795func (amsls AzureMySQLLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
22796	return nil, false
22797}
22798
22799// AsCassandraLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
22800func (amsls AzureMySQLLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
22801	return nil, false
22802}
22803
22804// AsWebLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
22805func (amsls AzureMySQLLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
22806	return nil, false
22807}
22808
22809// AsODataLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
22810func (amsls AzureMySQLLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
22811	return nil, false
22812}
22813
22814// AsHdfsLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
22815func (amsls AzureMySQLLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
22816	return nil, false
22817}
22818
22819// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
22820func (amsls AzureMySQLLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) {
22821	return nil, false
22822}
22823
22824// AsInformixLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
22825func (amsls AzureMySQLLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) {
22826	return nil, false
22827}
22828
22829// AsOdbcLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
22830func (amsls AzureMySQLLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
22831	return nil, false
22832}
22833
22834// AsAzureMLLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
22835func (amsls AzureMySQLLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
22836	return nil, false
22837}
22838
22839// AsTeradataLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
22840func (amsls AzureMySQLLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
22841	return nil, false
22842}
22843
22844// AsDb2LinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
22845func (amsls AzureMySQLLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
22846	return nil, false
22847}
22848
22849// AsSybaseLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
22850func (amsls AzureMySQLLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
22851	return nil, false
22852}
22853
22854// AsPostgreSQLLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
22855func (amsls AzureMySQLLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
22856	return nil, false
22857}
22858
22859// AsMySQLLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
22860func (amsls AzureMySQLLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
22861	return nil, false
22862}
22863
22864// AsAzureMySQLLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
22865func (amsls AzureMySQLLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
22866	return &amsls, true
22867}
22868
22869// AsOracleLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
22870func (amsls AzureMySQLLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
22871	return nil, false
22872}
22873
22874// AsFileServerLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
22875func (amsls AzureMySQLLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
22876	return nil, false
22877}
22878
22879// AsHDInsightLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
22880func (amsls AzureMySQLLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
22881	return nil, false
22882}
22883
22884// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
22885func (amsls AzureMySQLLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) {
22886	return nil, false
22887}
22888
22889// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
22890func (amsls AzureMySQLLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) {
22891	return nil, false
22892}
22893
22894// AsDynamicsLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
22895func (amsls AzureMySQLLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
22896	return nil, false
22897}
22898
22899// AsCosmosDbLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
22900func (amsls AzureMySQLLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
22901	return nil, false
22902}
22903
22904// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
22905func (amsls AzureMySQLLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
22906	return nil, false
22907}
22908
22909// AsAzureBatchLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
22910func (amsls AzureMySQLLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
22911	return nil, false
22912}
22913
22914// AsAzureSQLMILinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
22915func (amsls AzureMySQLLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) {
22916	return nil, false
22917}
22918
22919// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
22920func (amsls AzureMySQLLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
22921	return nil, false
22922}
22923
22924// AsSQLServerLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
22925func (amsls AzureMySQLLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
22926	return nil, false
22927}
22928
22929// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
22930func (amsls AzureMySQLLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
22931	return nil, false
22932}
22933
22934// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
22935func (amsls AzureMySQLLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) {
22936	return nil, false
22937}
22938
22939// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
22940func (amsls AzureMySQLLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) {
22941	return nil, false
22942}
22943
22944// AsAzureStorageLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
22945func (amsls AzureMySQLLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
22946	return nil, false
22947}
22948
22949// AsLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
22950func (amsls AzureMySQLLinkedService) AsLinkedService() (*LinkedService, bool) {
22951	return nil, false
22952}
22953
22954// AsBasicLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
22955func (amsls AzureMySQLLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
22956	return &amsls, true
22957}
22958
22959// UnmarshalJSON is the custom unmarshaler for AzureMySQLLinkedService struct.
22960func (amsls *AzureMySQLLinkedService) UnmarshalJSON(body []byte) error {
22961	var m map[string]*json.RawMessage
22962	err := json.Unmarshal(body, &m)
22963	if err != nil {
22964		return err
22965	}
22966	for k, v := range m {
22967		switch k {
22968		case "typeProperties":
22969			if v != nil {
22970				var azureMySQLLinkedServiceTypeProperties AzureMySQLLinkedServiceTypeProperties
22971				err = json.Unmarshal(*v, &azureMySQLLinkedServiceTypeProperties)
22972				if err != nil {
22973					return err
22974				}
22975				amsls.AzureMySQLLinkedServiceTypeProperties = &azureMySQLLinkedServiceTypeProperties
22976			}
22977		default:
22978			if v != nil {
22979				var additionalProperties interface{}
22980				err = json.Unmarshal(*v, &additionalProperties)
22981				if err != nil {
22982					return err
22983				}
22984				if amsls.AdditionalProperties == nil {
22985					amsls.AdditionalProperties = make(map[string]interface{})
22986				}
22987				amsls.AdditionalProperties[k] = additionalProperties
22988			}
22989		case "connectVia":
22990			if v != nil {
22991				var connectVia IntegrationRuntimeReference
22992				err = json.Unmarshal(*v, &connectVia)
22993				if err != nil {
22994					return err
22995				}
22996				amsls.ConnectVia = &connectVia
22997			}
22998		case "description":
22999			if v != nil {
23000				var description string
23001				err = json.Unmarshal(*v, &description)
23002				if err != nil {
23003					return err
23004				}
23005				amsls.Description = &description
23006			}
23007		case "parameters":
23008			if v != nil {
23009				var parameters map[string]*ParameterSpecification
23010				err = json.Unmarshal(*v, &parameters)
23011				if err != nil {
23012					return err
23013				}
23014				amsls.Parameters = parameters
23015			}
23016		case "annotations":
23017			if v != nil {
23018				var annotations []interface{}
23019				err = json.Unmarshal(*v, &annotations)
23020				if err != nil {
23021					return err
23022				}
23023				amsls.Annotations = &annotations
23024			}
23025		case "type":
23026			if v != nil {
23027				var typeVar TypeBasicLinkedService
23028				err = json.Unmarshal(*v, &typeVar)
23029				if err != nil {
23030					return err
23031				}
23032				amsls.Type = typeVar
23033			}
23034		}
23035	}
23036
23037	return nil
23038}
23039
23040// AzureMySQLLinkedServiceTypeProperties azure MySQL database linked service properties.
23041type AzureMySQLLinkedServiceTypeProperties struct {
23042	// ConnectionString - The connection string. Type: string, SecureString or AzureKeyVaultSecretReference.
23043	ConnectionString interface{} `json:"connectionString,omitempty"`
23044	// Password - The Azure key vault secret reference of password in connection string.
23045	Password *AzureKeyVaultSecretReference `json:"password,omitempty"`
23046	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
23047	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
23048}
23049
23050// AzureMySQLSource a copy activity Azure MySQL source.
23051type AzureMySQLSource struct {
23052	// Query - Database query. Type: string (or Expression with resultType string).
23053	Query interface{} `json:"query,omitempty"`
23054	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
23055	AdditionalProperties map[string]interface{} `json:""`
23056	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
23057	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
23058	// 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])).
23059	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
23060	// MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer).
23061	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
23062	// Type - Possible values include: 'TypeCopySource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', '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', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeCassandraSource', 'TypeWebSource', 'TypeTeradataSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeAzureMySQLSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeRestSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceServiceCloudSource', 'TypeSalesforceSource', 'TypeODataSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeMicrosoftAccessSource', 'TypeInformixSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAzureTableSource', 'TypeBinarySource', 'TypeDelimitedTextSource', 'TypeParquetSource'
23063	Type TypeBasicCopySource `json:"type,omitempty"`
23064}
23065
23066// MarshalJSON is the custom marshaler for AzureMySQLSource.
23067func (amss AzureMySQLSource) MarshalJSON() ([]byte, error) {
23068	amss.Type = TypeAzureMySQLSource
23069	objectMap := make(map[string]interface{})
23070	if amss.Query != nil {
23071		objectMap["query"] = amss.Query
23072	}
23073	if amss.SourceRetryCount != nil {
23074		objectMap["sourceRetryCount"] = amss.SourceRetryCount
23075	}
23076	if amss.SourceRetryWait != nil {
23077		objectMap["sourceRetryWait"] = amss.SourceRetryWait
23078	}
23079	if amss.MaxConcurrentConnections != nil {
23080		objectMap["maxConcurrentConnections"] = amss.MaxConcurrentConnections
23081	}
23082	if amss.Type != "" {
23083		objectMap["type"] = amss.Type
23084	}
23085	for k, v := range amss.AdditionalProperties {
23086		objectMap[k] = v
23087	}
23088	return json.Marshal(objectMap)
23089}
23090
23091// AsAmazonRedshiftSource is the BasicCopySource implementation for AzureMySQLSource.
23092func (amss AzureMySQLSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
23093	return nil, false
23094}
23095
23096// AsGoogleAdWordsSource is the BasicCopySource implementation for AzureMySQLSource.
23097func (amss AzureMySQLSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) {
23098	return nil, false
23099}
23100
23101// AsOracleServiceCloudSource is the BasicCopySource implementation for AzureMySQLSource.
23102func (amss AzureMySQLSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) {
23103	return nil, false
23104}
23105
23106// AsDynamicsAXSource is the BasicCopySource implementation for AzureMySQLSource.
23107func (amss AzureMySQLSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) {
23108	return nil, false
23109}
23110
23111// AsResponsysSource is the BasicCopySource implementation for AzureMySQLSource.
23112func (amss AzureMySQLSource) AsResponsysSource() (*ResponsysSource, bool) {
23113	return nil, false
23114}
23115
23116// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for AzureMySQLSource.
23117func (amss AzureMySQLSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
23118	return nil, false
23119}
23120
23121// AsVerticaSource is the BasicCopySource implementation for AzureMySQLSource.
23122func (amss AzureMySQLSource) AsVerticaSource() (*VerticaSource, bool) {
23123	return nil, false
23124}
23125
23126// AsNetezzaSource is the BasicCopySource implementation for AzureMySQLSource.
23127func (amss AzureMySQLSource) AsNetezzaSource() (*NetezzaSource, bool) {
23128	return nil, false
23129}
23130
23131// AsZohoSource is the BasicCopySource implementation for AzureMySQLSource.
23132func (amss AzureMySQLSource) AsZohoSource() (*ZohoSource, bool) {
23133	return nil, false
23134}
23135
23136// AsXeroSource is the BasicCopySource implementation for AzureMySQLSource.
23137func (amss AzureMySQLSource) AsXeroSource() (*XeroSource, bool) {
23138	return nil, false
23139}
23140
23141// AsSquareSource is the BasicCopySource implementation for AzureMySQLSource.
23142func (amss AzureMySQLSource) AsSquareSource() (*SquareSource, bool) {
23143	return nil, false
23144}
23145
23146// AsSparkSource is the BasicCopySource implementation for AzureMySQLSource.
23147func (amss AzureMySQLSource) AsSparkSource() (*SparkSource, bool) {
23148	return nil, false
23149}
23150
23151// AsShopifySource is the BasicCopySource implementation for AzureMySQLSource.
23152func (amss AzureMySQLSource) AsShopifySource() (*ShopifySource, bool) {
23153	return nil, false
23154}
23155
23156// AsServiceNowSource is the BasicCopySource implementation for AzureMySQLSource.
23157func (amss AzureMySQLSource) AsServiceNowSource() (*ServiceNowSource, bool) {
23158	return nil, false
23159}
23160
23161// AsQuickBooksSource is the BasicCopySource implementation for AzureMySQLSource.
23162func (amss AzureMySQLSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
23163	return nil, false
23164}
23165
23166// AsPrestoSource is the BasicCopySource implementation for AzureMySQLSource.
23167func (amss AzureMySQLSource) AsPrestoSource() (*PrestoSource, bool) {
23168	return nil, false
23169}
23170
23171// AsPhoenixSource is the BasicCopySource implementation for AzureMySQLSource.
23172func (amss AzureMySQLSource) AsPhoenixSource() (*PhoenixSource, bool) {
23173	return nil, false
23174}
23175
23176// AsPaypalSource is the BasicCopySource implementation for AzureMySQLSource.
23177func (amss AzureMySQLSource) AsPaypalSource() (*PaypalSource, bool) {
23178	return nil, false
23179}
23180
23181// AsMarketoSource is the BasicCopySource implementation for AzureMySQLSource.
23182func (amss AzureMySQLSource) AsMarketoSource() (*MarketoSource, bool) {
23183	return nil, false
23184}
23185
23186// AsMariaDBSource is the BasicCopySource implementation for AzureMySQLSource.
23187func (amss AzureMySQLSource) AsMariaDBSource() (*MariaDBSource, bool) {
23188	return nil, false
23189}
23190
23191// AsMagentoSource is the BasicCopySource implementation for AzureMySQLSource.
23192func (amss AzureMySQLSource) AsMagentoSource() (*MagentoSource, bool) {
23193	return nil, false
23194}
23195
23196// AsJiraSource is the BasicCopySource implementation for AzureMySQLSource.
23197func (amss AzureMySQLSource) AsJiraSource() (*JiraSource, bool) {
23198	return nil, false
23199}
23200
23201// AsImpalaSource is the BasicCopySource implementation for AzureMySQLSource.
23202func (amss AzureMySQLSource) AsImpalaSource() (*ImpalaSource, bool) {
23203	return nil, false
23204}
23205
23206// AsHubspotSource is the BasicCopySource implementation for AzureMySQLSource.
23207func (amss AzureMySQLSource) AsHubspotSource() (*HubspotSource, bool) {
23208	return nil, false
23209}
23210
23211// AsHiveSource is the BasicCopySource implementation for AzureMySQLSource.
23212func (amss AzureMySQLSource) AsHiveSource() (*HiveSource, bool) {
23213	return nil, false
23214}
23215
23216// AsHBaseSource is the BasicCopySource implementation for AzureMySQLSource.
23217func (amss AzureMySQLSource) AsHBaseSource() (*HBaseSource, bool) {
23218	return nil, false
23219}
23220
23221// AsGreenplumSource is the BasicCopySource implementation for AzureMySQLSource.
23222func (amss AzureMySQLSource) AsGreenplumSource() (*GreenplumSource, bool) {
23223	return nil, false
23224}
23225
23226// AsGoogleBigQuerySource is the BasicCopySource implementation for AzureMySQLSource.
23227func (amss AzureMySQLSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
23228	return nil, false
23229}
23230
23231// AsEloquaSource is the BasicCopySource implementation for AzureMySQLSource.
23232func (amss AzureMySQLSource) AsEloquaSource() (*EloquaSource, bool) {
23233	return nil, false
23234}
23235
23236// AsDrillSource is the BasicCopySource implementation for AzureMySQLSource.
23237func (amss AzureMySQLSource) AsDrillSource() (*DrillSource, bool) {
23238	return nil, false
23239}
23240
23241// AsCouchbaseSource is the BasicCopySource implementation for AzureMySQLSource.
23242func (amss AzureMySQLSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
23243	return nil, false
23244}
23245
23246// AsConcurSource is the BasicCopySource implementation for AzureMySQLSource.
23247func (amss AzureMySQLSource) AsConcurSource() (*ConcurSource, bool) {
23248	return nil, false
23249}
23250
23251// AsAzurePostgreSQLSource is the BasicCopySource implementation for AzureMySQLSource.
23252func (amss AzureMySQLSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
23253	return nil, false
23254}
23255
23256// AsAmazonMWSSource is the BasicCopySource implementation for AzureMySQLSource.
23257func (amss AzureMySQLSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
23258	return nil, false
23259}
23260
23261// AsHTTPSource is the BasicCopySource implementation for AzureMySQLSource.
23262func (amss AzureMySQLSource) AsHTTPSource() (*HTTPSource, bool) {
23263	return nil, false
23264}
23265
23266// AsAzureBlobFSSource is the BasicCopySource implementation for AzureMySQLSource.
23267func (amss AzureMySQLSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) {
23268	return nil, false
23269}
23270
23271// AsAzureDataLakeStoreSource is the BasicCopySource implementation for AzureMySQLSource.
23272func (amss AzureMySQLSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
23273	return nil, false
23274}
23275
23276// AsOffice365Source is the BasicCopySource implementation for AzureMySQLSource.
23277func (amss AzureMySQLSource) AsOffice365Source() (*Office365Source, bool) {
23278	return nil, false
23279}
23280
23281// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for AzureMySQLSource.
23282func (amss AzureMySQLSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) {
23283	return nil, false
23284}
23285
23286// AsMongoDbV2Source is the BasicCopySource implementation for AzureMySQLSource.
23287func (amss AzureMySQLSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) {
23288	return nil, false
23289}
23290
23291// AsMongoDbSource is the BasicCopySource implementation for AzureMySQLSource.
23292func (amss AzureMySQLSource) AsMongoDbSource() (*MongoDbSource, bool) {
23293	return nil, false
23294}
23295
23296// AsCassandraSource is the BasicCopySource implementation for AzureMySQLSource.
23297func (amss AzureMySQLSource) AsCassandraSource() (*CassandraSource, bool) {
23298	return nil, false
23299}
23300
23301// AsWebSource is the BasicCopySource implementation for AzureMySQLSource.
23302func (amss AzureMySQLSource) AsWebSource() (*WebSource, bool) {
23303	return nil, false
23304}
23305
23306// AsTeradataSource is the BasicCopySource implementation for AzureMySQLSource.
23307func (amss AzureMySQLSource) AsTeradataSource() (*TeradataSource, bool) {
23308	return nil, false
23309}
23310
23311// AsOracleSource is the BasicCopySource implementation for AzureMySQLSource.
23312func (amss AzureMySQLSource) AsOracleSource() (*OracleSource, bool) {
23313	return nil, false
23314}
23315
23316// AsAzureDataExplorerSource is the BasicCopySource implementation for AzureMySQLSource.
23317func (amss AzureMySQLSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) {
23318	return nil, false
23319}
23320
23321// AsAzureMySQLSource is the BasicCopySource implementation for AzureMySQLSource.
23322func (amss AzureMySQLSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
23323	return &amss, true
23324}
23325
23326// AsHdfsSource is the BasicCopySource implementation for AzureMySQLSource.
23327func (amss AzureMySQLSource) AsHdfsSource() (*HdfsSource, bool) {
23328	return nil, false
23329}
23330
23331// AsFileSystemSource is the BasicCopySource implementation for AzureMySQLSource.
23332func (amss AzureMySQLSource) AsFileSystemSource() (*FileSystemSource, bool) {
23333	return nil, false
23334}
23335
23336// AsSQLDWSource is the BasicCopySource implementation for AzureMySQLSource.
23337func (amss AzureMySQLSource) AsSQLDWSource() (*SQLDWSource, bool) {
23338	return nil, false
23339}
23340
23341// AsSQLMISource is the BasicCopySource implementation for AzureMySQLSource.
23342func (amss AzureMySQLSource) AsSQLMISource() (*SQLMISource, bool) {
23343	return nil, false
23344}
23345
23346// AsAzureSQLSource is the BasicCopySource implementation for AzureMySQLSource.
23347func (amss AzureMySQLSource) AsAzureSQLSource() (*AzureSQLSource, bool) {
23348	return nil, false
23349}
23350
23351// AsSQLServerSource is the BasicCopySource implementation for AzureMySQLSource.
23352func (amss AzureMySQLSource) AsSQLServerSource() (*SQLServerSource, bool) {
23353	return nil, false
23354}
23355
23356// AsSQLSource is the BasicCopySource implementation for AzureMySQLSource.
23357func (amss AzureMySQLSource) AsSQLSource() (*SQLSource, bool) {
23358	return nil, false
23359}
23360
23361// AsRestSource is the BasicCopySource implementation for AzureMySQLSource.
23362func (amss AzureMySQLSource) AsRestSource() (*RestSource, bool) {
23363	return nil, false
23364}
23365
23366// AsSapTableSource is the BasicCopySource implementation for AzureMySQLSource.
23367func (amss AzureMySQLSource) AsSapTableSource() (*SapTableSource, bool) {
23368	return nil, false
23369}
23370
23371// AsSapOpenHubSource is the BasicCopySource implementation for AzureMySQLSource.
23372func (amss AzureMySQLSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) {
23373	return nil, false
23374}
23375
23376// AsSapHanaSource is the BasicCopySource implementation for AzureMySQLSource.
23377func (amss AzureMySQLSource) AsSapHanaSource() (*SapHanaSource, bool) {
23378	return nil, false
23379}
23380
23381// AsSapEccSource is the BasicCopySource implementation for AzureMySQLSource.
23382func (amss AzureMySQLSource) AsSapEccSource() (*SapEccSource, bool) {
23383	return nil, false
23384}
23385
23386// AsSapCloudForCustomerSource is the BasicCopySource implementation for AzureMySQLSource.
23387func (amss AzureMySQLSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
23388	return nil, false
23389}
23390
23391// AsSalesforceServiceCloudSource is the BasicCopySource implementation for AzureMySQLSource.
23392func (amss AzureMySQLSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) {
23393	return nil, false
23394}
23395
23396// AsSalesforceSource is the BasicCopySource implementation for AzureMySQLSource.
23397func (amss AzureMySQLSource) AsSalesforceSource() (*SalesforceSource, bool) {
23398	return nil, false
23399}
23400
23401// AsODataSource is the BasicCopySource implementation for AzureMySQLSource.
23402func (amss AzureMySQLSource) AsODataSource() (*ODataSource, bool) {
23403	return nil, false
23404}
23405
23406// AsSybaseSource is the BasicCopySource implementation for AzureMySQLSource.
23407func (amss AzureMySQLSource) AsSybaseSource() (*SybaseSource, bool) {
23408	return nil, false
23409}
23410
23411// AsPostgreSQLSource is the BasicCopySource implementation for AzureMySQLSource.
23412func (amss AzureMySQLSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) {
23413	return nil, false
23414}
23415
23416// AsMySQLSource is the BasicCopySource implementation for AzureMySQLSource.
23417func (amss AzureMySQLSource) AsMySQLSource() (*MySQLSource, bool) {
23418	return nil, false
23419}
23420
23421// AsOdbcSource is the BasicCopySource implementation for AzureMySQLSource.
23422func (amss AzureMySQLSource) AsOdbcSource() (*OdbcSource, bool) {
23423	return nil, false
23424}
23425
23426// AsDb2Source is the BasicCopySource implementation for AzureMySQLSource.
23427func (amss AzureMySQLSource) AsDb2Source() (*Db2Source, bool) {
23428	return nil, false
23429}
23430
23431// AsMicrosoftAccessSource is the BasicCopySource implementation for AzureMySQLSource.
23432func (amss AzureMySQLSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) {
23433	return nil, false
23434}
23435
23436// AsInformixSource is the BasicCopySource implementation for AzureMySQLSource.
23437func (amss AzureMySQLSource) AsInformixSource() (*InformixSource, bool) {
23438	return nil, false
23439}
23440
23441// AsRelationalSource is the BasicCopySource implementation for AzureMySQLSource.
23442func (amss AzureMySQLSource) AsRelationalSource() (*RelationalSource, bool) {
23443	return nil, false
23444}
23445
23446// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for AzureMySQLSource.
23447func (amss AzureMySQLSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) {
23448	return nil, false
23449}
23450
23451// AsDynamicsCrmSource is the BasicCopySource implementation for AzureMySQLSource.
23452func (amss AzureMySQLSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) {
23453	return nil, false
23454}
23455
23456// AsDynamicsSource is the BasicCopySource implementation for AzureMySQLSource.
23457func (amss AzureMySQLSource) AsDynamicsSource() (*DynamicsSource, bool) {
23458	return nil, false
23459}
23460
23461// AsDocumentDbCollectionSource is the BasicCopySource implementation for AzureMySQLSource.
23462func (amss AzureMySQLSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
23463	return nil, false
23464}
23465
23466// AsBlobSource is the BasicCopySource implementation for AzureMySQLSource.
23467func (amss AzureMySQLSource) AsBlobSource() (*BlobSource, bool) {
23468	return nil, false
23469}
23470
23471// AsAzureTableSource is the BasicCopySource implementation for AzureMySQLSource.
23472func (amss AzureMySQLSource) AsAzureTableSource() (*AzureTableSource, bool) {
23473	return nil, false
23474}
23475
23476// AsBinarySource is the BasicCopySource implementation for AzureMySQLSource.
23477func (amss AzureMySQLSource) AsBinarySource() (*BinarySource, bool) {
23478	return nil, false
23479}
23480
23481// AsDelimitedTextSource is the BasicCopySource implementation for AzureMySQLSource.
23482func (amss AzureMySQLSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) {
23483	return nil, false
23484}
23485
23486// AsParquetSource is the BasicCopySource implementation for AzureMySQLSource.
23487func (amss AzureMySQLSource) AsParquetSource() (*ParquetSource, bool) {
23488	return nil, false
23489}
23490
23491// AsCopySource is the BasicCopySource implementation for AzureMySQLSource.
23492func (amss AzureMySQLSource) AsCopySource() (*CopySource, bool) {
23493	return nil, false
23494}
23495
23496// AsBasicCopySource is the BasicCopySource implementation for AzureMySQLSource.
23497func (amss AzureMySQLSource) AsBasicCopySource() (BasicCopySource, bool) {
23498	return &amss, true
23499}
23500
23501// UnmarshalJSON is the custom unmarshaler for AzureMySQLSource struct.
23502func (amss *AzureMySQLSource) UnmarshalJSON(body []byte) error {
23503	var m map[string]*json.RawMessage
23504	err := json.Unmarshal(body, &m)
23505	if err != nil {
23506		return err
23507	}
23508	for k, v := range m {
23509		switch k {
23510		case "query":
23511			if v != nil {
23512				var query interface{}
23513				err = json.Unmarshal(*v, &query)
23514				if err != nil {
23515					return err
23516				}
23517				amss.Query = query
23518			}
23519		default:
23520			if v != nil {
23521				var additionalProperties interface{}
23522				err = json.Unmarshal(*v, &additionalProperties)
23523				if err != nil {
23524					return err
23525				}
23526				if amss.AdditionalProperties == nil {
23527					amss.AdditionalProperties = make(map[string]interface{})
23528				}
23529				amss.AdditionalProperties[k] = additionalProperties
23530			}
23531		case "sourceRetryCount":
23532			if v != nil {
23533				var sourceRetryCount interface{}
23534				err = json.Unmarshal(*v, &sourceRetryCount)
23535				if err != nil {
23536					return err
23537				}
23538				amss.SourceRetryCount = sourceRetryCount
23539			}
23540		case "sourceRetryWait":
23541			if v != nil {
23542				var sourceRetryWait interface{}
23543				err = json.Unmarshal(*v, &sourceRetryWait)
23544				if err != nil {
23545					return err
23546				}
23547				amss.SourceRetryWait = sourceRetryWait
23548			}
23549		case "maxConcurrentConnections":
23550			if v != nil {
23551				var maxConcurrentConnections interface{}
23552				err = json.Unmarshal(*v, &maxConcurrentConnections)
23553				if err != nil {
23554					return err
23555				}
23556				amss.MaxConcurrentConnections = maxConcurrentConnections
23557			}
23558		case "type":
23559			if v != nil {
23560				var typeVar TypeBasicCopySource
23561				err = json.Unmarshal(*v, &typeVar)
23562				if err != nil {
23563					return err
23564				}
23565				amss.Type = typeVar
23566			}
23567		}
23568	}
23569
23570	return nil
23571}
23572
23573// AzureMySQLTableDataset the Azure MySQL database dataset.
23574type AzureMySQLTableDataset struct {
23575	// AzureMySQLTableDatasetTypeProperties - Azure MySQL database dataset properties.
23576	*AzureMySQLTableDatasetTypeProperties `json:"typeProperties,omitempty"`
23577	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
23578	AdditionalProperties map[string]interface{} `json:""`
23579	// Description - Dataset description.
23580	Description *string `json:"description,omitempty"`
23581	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
23582	Structure interface{} `json:"structure,omitempty"`
23583	// Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement.
23584	Schema interface{} `json:"schema,omitempty"`
23585	// LinkedServiceName - Linked service reference.
23586	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
23587	// Parameters - Parameters for dataset.
23588	Parameters map[string]*ParameterSpecification `json:"parameters"`
23589	// Annotations - List of tags that can be used for describing the Dataset.
23590	Annotations *[]interface{} `json:"annotations,omitempty"`
23591	// Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level.
23592	Folder *DatasetFolder `json:"folder,omitempty"`
23593	// Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', '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', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeDelimitedText', 'TypeParquet', 'TypeAmazonS3Object'
23594	Type TypeBasicDataset `json:"type,omitempty"`
23595}
23596
23597// MarshalJSON is the custom marshaler for AzureMySQLTableDataset.
23598func (amstd AzureMySQLTableDataset) MarshalJSON() ([]byte, error) {
23599	amstd.Type = TypeAzureMySQLTable
23600	objectMap := make(map[string]interface{})
23601	if amstd.AzureMySQLTableDatasetTypeProperties != nil {
23602		objectMap["typeProperties"] = amstd.AzureMySQLTableDatasetTypeProperties
23603	}
23604	if amstd.Description != nil {
23605		objectMap["description"] = amstd.Description
23606	}
23607	if amstd.Structure != nil {
23608		objectMap["structure"] = amstd.Structure
23609	}
23610	if amstd.Schema != nil {
23611		objectMap["schema"] = amstd.Schema
23612	}
23613	if amstd.LinkedServiceName != nil {
23614		objectMap["linkedServiceName"] = amstd.LinkedServiceName
23615	}
23616	if amstd.Parameters != nil {
23617		objectMap["parameters"] = amstd.Parameters
23618	}
23619	if amstd.Annotations != nil {
23620		objectMap["annotations"] = amstd.Annotations
23621	}
23622	if amstd.Folder != nil {
23623		objectMap["folder"] = amstd.Folder
23624	}
23625	if amstd.Type != "" {
23626		objectMap["type"] = amstd.Type
23627	}
23628	for k, v := range amstd.AdditionalProperties {
23629		objectMap[k] = v
23630	}
23631	return json.Marshal(objectMap)
23632}
23633
23634// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for AzureMySQLTableDataset.
23635func (amstd AzureMySQLTableDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) {
23636	return nil, false
23637}
23638
23639// AsAzureDataExplorerTableDataset is the BasicDataset implementation for AzureMySQLTableDataset.
23640func (amstd AzureMySQLTableDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) {
23641	return nil, false
23642}
23643
23644// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for AzureMySQLTableDataset.
23645func (amstd AzureMySQLTableDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) {
23646	return nil, false
23647}
23648
23649// AsDynamicsAXResourceDataset is the BasicDataset implementation for AzureMySQLTableDataset.
23650func (amstd AzureMySQLTableDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) {
23651	return nil, false
23652}
23653
23654// AsResponsysObjectDataset is the BasicDataset implementation for AzureMySQLTableDataset.
23655func (amstd AzureMySQLTableDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
23656	return nil, false
23657}
23658
23659// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for AzureMySQLTableDataset.
23660func (amstd AzureMySQLTableDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
23661	return nil, false
23662}
23663
23664// AsVerticaTableDataset is the BasicDataset implementation for AzureMySQLTableDataset.
23665func (amstd AzureMySQLTableDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
23666	return nil, false
23667}
23668
23669// AsNetezzaTableDataset is the BasicDataset implementation for AzureMySQLTableDataset.
23670func (amstd AzureMySQLTableDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
23671	return nil, false
23672}
23673
23674// AsZohoObjectDataset is the BasicDataset implementation for AzureMySQLTableDataset.
23675func (amstd AzureMySQLTableDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
23676	return nil, false
23677}
23678
23679// AsXeroObjectDataset is the BasicDataset implementation for AzureMySQLTableDataset.
23680func (amstd AzureMySQLTableDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
23681	return nil, false
23682}
23683
23684// AsSquareObjectDataset is the BasicDataset implementation for AzureMySQLTableDataset.
23685func (amstd AzureMySQLTableDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
23686	return nil, false
23687}
23688
23689// AsSparkObjectDataset is the BasicDataset implementation for AzureMySQLTableDataset.
23690func (amstd AzureMySQLTableDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
23691	return nil, false
23692}
23693
23694// AsShopifyObjectDataset is the BasicDataset implementation for AzureMySQLTableDataset.
23695func (amstd AzureMySQLTableDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
23696	return nil, false
23697}
23698
23699// AsServiceNowObjectDataset is the BasicDataset implementation for AzureMySQLTableDataset.
23700func (amstd AzureMySQLTableDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
23701	return nil, false
23702}
23703
23704// AsQuickBooksObjectDataset is the BasicDataset implementation for AzureMySQLTableDataset.
23705func (amstd AzureMySQLTableDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
23706	return nil, false
23707}
23708
23709// AsPrestoObjectDataset is the BasicDataset implementation for AzureMySQLTableDataset.
23710func (amstd AzureMySQLTableDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
23711	return nil, false
23712}
23713
23714// AsPhoenixObjectDataset is the BasicDataset implementation for AzureMySQLTableDataset.
23715func (amstd AzureMySQLTableDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
23716	return nil, false
23717}
23718
23719// AsPaypalObjectDataset is the BasicDataset implementation for AzureMySQLTableDataset.
23720func (amstd AzureMySQLTableDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
23721	return nil, false
23722}
23723
23724// AsMarketoObjectDataset is the BasicDataset implementation for AzureMySQLTableDataset.
23725func (amstd AzureMySQLTableDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
23726	return nil, false
23727}
23728
23729// AsMariaDBTableDataset is the BasicDataset implementation for AzureMySQLTableDataset.
23730func (amstd AzureMySQLTableDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
23731	return nil, false
23732}
23733
23734// AsMagentoObjectDataset is the BasicDataset implementation for AzureMySQLTableDataset.
23735func (amstd AzureMySQLTableDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
23736	return nil, false
23737}
23738
23739// AsJiraObjectDataset is the BasicDataset implementation for AzureMySQLTableDataset.
23740func (amstd AzureMySQLTableDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
23741	return nil, false
23742}
23743
23744// AsImpalaObjectDataset is the BasicDataset implementation for AzureMySQLTableDataset.
23745func (amstd AzureMySQLTableDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
23746	return nil, false
23747}
23748
23749// AsHubspotObjectDataset is the BasicDataset implementation for AzureMySQLTableDataset.
23750func (amstd AzureMySQLTableDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
23751	return nil, false
23752}
23753
23754// AsHiveObjectDataset is the BasicDataset implementation for AzureMySQLTableDataset.
23755func (amstd AzureMySQLTableDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
23756	return nil, false
23757}
23758
23759// AsHBaseObjectDataset is the BasicDataset implementation for AzureMySQLTableDataset.
23760func (amstd AzureMySQLTableDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
23761	return nil, false
23762}
23763
23764// AsGreenplumTableDataset is the BasicDataset implementation for AzureMySQLTableDataset.
23765func (amstd AzureMySQLTableDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
23766	return nil, false
23767}
23768
23769// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for AzureMySQLTableDataset.
23770func (amstd AzureMySQLTableDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
23771	return nil, false
23772}
23773
23774// AsEloquaObjectDataset is the BasicDataset implementation for AzureMySQLTableDataset.
23775func (amstd AzureMySQLTableDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
23776	return nil, false
23777}
23778
23779// AsDrillTableDataset is the BasicDataset implementation for AzureMySQLTableDataset.
23780func (amstd AzureMySQLTableDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
23781	return nil, false
23782}
23783
23784// AsCouchbaseTableDataset is the BasicDataset implementation for AzureMySQLTableDataset.
23785func (amstd AzureMySQLTableDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
23786	return nil, false
23787}
23788
23789// AsConcurObjectDataset is the BasicDataset implementation for AzureMySQLTableDataset.
23790func (amstd AzureMySQLTableDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
23791	return nil, false
23792}
23793
23794// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for AzureMySQLTableDataset.
23795func (amstd AzureMySQLTableDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
23796	return nil, false
23797}
23798
23799// AsAmazonMWSObjectDataset is the BasicDataset implementation for AzureMySQLTableDataset.
23800func (amstd AzureMySQLTableDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
23801	return nil, false
23802}
23803
23804// AsHTTPDataset is the BasicDataset implementation for AzureMySQLTableDataset.
23805func (amstd AzureMySQLTableDataset) AsHTTPDataset() (*HTTPDataset, bool) {
23806	return nil, false
23807}
23808
23809// AsAzureSearchIndexDataset is the BasicDataset implementation for AzureMySQLTableDataset.
23810func (amstd AzureMySQLTableDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
23811	return nil, false
23812}
23813
23814// AsWebTableDataset is the BasicDataset implementation for AzureMySQLTableDataset.
23815func (amstd AzureMySQLTableDataset) AsWebTableDataset() (*WebTableDataset, bool) {
23816	return nil, false
23817}
23818
23819// AsSapTableResourceDataset is the BasicDataset implementation for AzureMySQLTableDataset.
23820func (amstd AzureMySQLTableDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) {
23821	return nil, false
23822}
23823
23824// AsRestResourceDataset is the BasicDataset implementation for AzureMySQLTableDataset.
23825func (amstd AzureMySQLTableDataset) AsRestResourceDataset() (*RestResourceDataset, bool) {
23826	return nil, false
23827}
23828
23829// AsSQLServerTableDataset is the BasicDataset implementation for AzureMySQLTableDataset.
23830func (amstd AzureMySQLTableDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
23831	return nil, false
23832}
23833
23834// AsSapOpenHubTableDataset is the BasicDataset implementation for AzureMySQLTableDataset.
23835func (amstd AzureMySQLTableDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) {
23836	return nil, false
23837}
23838
23839// AsSapHanaTableDataset is the BasicDataset implementation for AzureMySQLTableDataset.
23840func (amstd AzureMySQLTableDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) {
23841	return nil, false
23842}
23843
23844// AsSapEccResourceDataset is the BasicDataset implementation for AzureMySQLTableDataset.
23845func (amstd AzureMySQLTableDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
23846	return nil, false
23847}
23848
23849// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for AzureMySQLTableDataset.
23850func (amstd AzureMySQLTableDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
23851	return nil, false
23852}
23853
23854// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for AzureMySQLTableDataset.
23855func (amstd AzureMySQLTableDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) {
23856	return nil, false
23857}
23858
23859// AsSalesforceObjectDataset is the BasicDataset implementation for AzureMySQLTableDataset.
23860func (amstd AzureMySQLTableDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
23861	return nil, false
23862}
23863
23864// AsMicrosoftAccessTableDataset is the BasicDataset implementation for AzureMySQLTableDataset.
23865func (amstd AzureMySQLTableDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) {
23866	return nil, false
23867}
23868
23869// AsPostgreSQLTableDataset is the BasicDataset implementation for AzureMySQLTableDataset.
23870func (amstd AzureMySQLTableDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) {
23871	return nil, false
23872}
23873
23874// AsMySQLTableDataset is the BasicDataset implementation for AzureMySQLTableDataset.
23875func (amstd AzureMySQLTableDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) {
23876	return nil, false
23877}
23878
23879// AsOdbcTableDataset is the BasicDataset implementation for AzureMySQLTableDataset.
23880func (amstd AzureMySQLTableDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) {
23881	return nil, false
23882}
23883
23884// AsInformixTableDataset is the BasicDataset implementation for AzureMySQLTableDataset.
23885func (amstd AzureMySQLTableDataset) AsInformixTableDataset() (*InformixTableDataset, bool) {
23886	return nil, false
23887}
23888
23889// AsRelationalTableDataset is the BasicDataset implementation for AzureMySQLTableDataset.
23890func (amstd AzureMySQLTableDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
23891	return nil, false
23892}
23893
23894// AsAzureMySQLTableDataset is the BasicDataset implementation for AzureMySQLTableDataset.
23895func (amstd AzureMySQLTableDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
23896	return &amstd, true
23897}
23898
23899// AsTeradataTableDataset is the BasicDataset implementation for AzureMySQLTableDataset.
23900func (amstd AzureMySQLTableDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) {
23901	return nil, false
23902}
23903
23904// AsOracleTableDataset is the BasicDataset implementation for AzureMySQLTableDataset.
23905func (amstd AzureMySQLTableDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
23906	return nil, false
23907}
23908
23909// AsODataResourceDataset is the BasicDataset implementation for AzureMySQLTableDataset.
23910func (amstd AzureMySQLTableDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
23911	return nil, false
23912}
23913
23914// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for AzureMySQLTableDataset.
23915func (amstd AzureMySQLTableDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) {
23916	return nil, false
23917}
23918
23919// AsMongoDbV2CollectionDataset is the BasicDataset implementation for AzureMySQLTableDataset.
23920func (amstd AzureMySQLTableDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) {
23921	return nil, false
23922}
23923
23924// AsMongoDbCollectionDataset is the BasicDataset implementation for AzureMySQLTableDataset.
23925func (amstd AzureMySQLTableDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
23926	return nil, false
23927}
23928
23929// AsFileShareDataset is the BasicDataset implementation for AzureMySQLTableDataset.
23930func (amstd AzureMySQLTableDataset) AsFileShareDataset() (*FileShareDataset, bool) {
23931	return nil, false
23932}
23933
23934// AsOffice365Dataset is the BasicDataset implementation for AzureMySQLTableDataset.
23935func (amstd AzureMySQLTableDataset) AsOffice365Dataset() (*Office365Dataset, bool) {
23936	return nil, false
23937}
23938
23939// AsAzureBlobFSDataset is the BasicDataset implementation for AzureMySQLTableDataset.
23940func (amstd AzureMySQLTableDataset) AsAzureBlobFSDataset() (*AzureBlobFSDataset, bool) {
23941	return nil, false
23942}
23943
23944// AsAzureDataLakeStoreDataset is the BasicDataset implementation for AzureMySQLTableDataset.
23945func (amstd AzureMySQLTableDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) {
23946	return nil, false
23947}
23948
23949// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for AzureMySQLTableDataset.
23950func (amstd AzureMySQLTableDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) {
23951	return nil, false
23952}
23953
23954// AsDynamicsCrmEntityDataset is the BasicDataset implementation for AzureMySQLTableDataset.
23955func (amstd AzureMySQLTableDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) {
23956	return nil, false
23957}
23958
23959// AsDynamicsEntityDataset is the BasicDataset implementation for AzureMySQLTableDataset.
23960func (amstd AzureMySQLTableDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
23961	return nil, false
23962}
23963
23964// AsDocumentDbCollectionDataset is the BasicDataset implementation for AzureMySQLTableDataset.
23965func (amstd AzureMySQLTableDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
23966	return nil, false
23967}
23968
23969// AsCustomDataset is the BasicDataset implementation for AzureMySQLTableDataset.
23970func (amstd AzureMySQLTableDataset) AsCustomDataset() (*CustomDataset, bool) {
23971	return nil, false
23972}
23973
23974// AsCassandraTableDataset is the BasicDataset implementation for AzureMySQLTableDataset.
23975func (amstd AzureMySQLTableDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
23976	return nil, false
23977}
23978
23979// AsAzureSQLDWTableDataset is the BasicDataset implementation for AzureMySQLTableDataset.
23980func (amstd AzureMySQLTableDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
23981	return nil, false
23982}
23983
23984// AsAzureSQLMITableDataset is the BasicDataset implementation for AzureMySQLTableDataset.
23985func (amstd AzureMySQLTableDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) {
23986	return nil, false
23987}
23988
23989// AsAzureSQLTableDataset is the BasicDataset implementation for AzureMySQLTableDataset.
23990func (amstd AzureMySQLTableDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
23991	return nil, false
23992}
23993
23994// AsAzureTableDataset is the BasicDataset implementation for AzureMySQLTableDataset.
23995func (amstd AzureMySQLTableDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
23996	return nil, false
23997}
23998
23999// AsAzureBlobDataset is the BasicDataset implementation for AzureMySQLTableDataset.
24000func (amstd AzureMySQLTableDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) {
24001	return nil, false
24002}
24003
24004// AsBinaryDataset is the BasicDataset implementation for AzureMySQLTableDataset.
24005func (amstd AzureMySQLTableDataset) AsBinaryDataset() (*BinaryDataset, bool) {
24006	return nil, false
24007}
24008
24009// AsDelimitedTextDataset is the BasicDataset implementation for AzureMySQLTableDataset.
24010func (amstd AzureMySQLTableDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) {
24011	return nil, false
24012}
24013
24014// AsParquetDataset is the BasicDataset implementation for AzureMySQLTableDataset.
24015func (amstd AzureMySQLTableDataset) AsParquetDataset() (*ParquetDataset, bool) {
24016	return nil, false
24017}
24018
24019// AsAmazonS3Dataset is the BasicDataset implementation for AzureMySQLTableDataset.
24020func (amstd AzureMySQLTableDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) {
24021	return nil, false
24022}
24023
24024// AsDataset is the BasicDataset implementation for AzureMySQLTableDataset.
24025func (amstd AzureMySQLTableDataset) AsDataset() (*Dataset, bool) {
24026	return nil, false
24027}
24028
24029// AsBasicDataset is the BasicDataset implementation for AzureMySQLTableDataset.
24030func (amstd AzureMySQLTableDataset) AsBasicDataset() (BasicDataset, bool) {
24031	return &amstd, true
24032}
24033
24034// UnmarshalJSON is the custom unmarshaler for AzureMySQLTableDataset struct.
24035func (amstd *AzureMySQLTableDataset) UnmarshalJSON(body []byte) error {
24036	var m map[string]*json.RawMessage
24037	err := json.Unmarshal(body, &m)
24038	if err != nil {
24039		return err
24040	}
24041	for k, v := range m {
24042		switch k {
24043		case "typeProperties":
24044			if v != nil {
24045				var azureMySQLTableDatasetTypeProperties AzureMySQLTableDatasetTypeProperties
24046				err = json.Unmarshal(*v, &azureMySQLTableDatasetTypeProperties)
24047				if err != nil {
24048					return err
24049				}
24050				amstd.AzureMySQLTableDatasetTypeProperties = &azureMySQLTableDatasetTypeProperties
24051			}
24052		default:
24053			if v != nil {
24054				var additionalProperties interface{}
24055				err = json.Unmarshal(*v, &additionalProperties)
24056				if err != nil {
24057					return err
24058				}
24059				if amstd.AdditionalProperties == nil {
24060					amstd.AdditionalProperties = make(map[string]interface{})
24061				}
24062				amstd.AdditionalProperties[k] = additionalProperties
24063			}
24064		case "description":
24065			if v != nil {
24066				var description string
24067				err = json.Unmarshal(*v, &description)
24068				if err != nil {
24069					return err
24070				}
24071				amstd.Description = &description
24072			}
24073		case "structure":
24074			if v != nil {
24075				var structure interface{}
24076				err = json.Unmarshal(*v, &structure)
24077				if err != nil {
24078					return err
24079				}
24080				amstd.Structure = structure
24081			}
24082		case "schema":
24083			if v != nil {
24084				var schema interface{}
24085				err = json.Unmarshal(*v, &schema)
24086				if err != nil {
24087					return err
24088				}
24089				amstd.Schema = schema
24090			}
24091		case "linkedServiceName":
24092			if v != nil {
24093				var linkedServiceName LinkedServiceReference
24094				err = json.Unmarshal(*v, &linkedServiceName)
24095				if err != nil {
24096					return err
24097				}
24098				amstd.LinkedServiceName = &linkedServiceName
24099			}
24100		case "parameters":
24101			if v != nil {
24102				var parameters map[string]*ParameterSpecification
24103				err = json.Unmarshal(*v, &parameters)
24104				if err != nil {
24105					return err
24106				}
24107				amstd.Parameters = parameters
24108			}
24109		case "annotations":
24110			if v != nil {
24111				var annotations []interface{}
24112				err = json.Unmarshal(*v, &annotations)
24113				if err != nil {
24114					return err
24115				}
24116				amstd.Annotations = &annotations
24117			}
24118		case "folder":
24119			if v != nil {
24120				var folder DatasetFolder
24121				err = json.Unmarshal(*v, &folder)
24122				if err != nil {
24123					return err
24124				}
24125				amstd.Folder = &folder
24126			}
24127		case "type":
24128			if v != nil {
24129				var typeVar TypeBasicDataset
24130				err = json.Unmarshal(*v, &typeVar)
24131				if err != nil {
24132					return err
24133				}
24134				amstd.Type = typeVar
24135			}
24136		}
24137	}
24138
24139	return nil
24140}
24141
24142// AzureMySQLTableDatasetTypeProperties azure MySQL database dataset properties.
24143type AzureMySQLTableDatasetTypeProperties struct {
24144	// TableName - The Azure MySQL database table name. Type: string (or Expression with resultType string).
24145	TableName interface{} `json:"tableName,omitempty"`
24146}
24147
24148// AzurePostgreSQLLinkedService azure PostgreSQL linked service.
24149type AzurePostgreSQLLinkedService struct {
24150	// AzurePostgreSQLLinkedServiceTypeProperties - Azure PostgreSQL linked service properties.
24151	*AzurePostgreSQLLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
24152	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
24153	AdditionalProperties map[string]interface{} `json:""`
24154	// ConnectVia - The integration runtime reference.
24155	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
24156	// Description - Linked service description.
24157	Description *string `json:"description,omitempty"`
24158	// Parameters - Parameters for linked service.
24159	Parameters map[string]*ParameterSpecification `json:"parameters"`
24160	// Annotations - List of tags that can be used for describing the linked service.
24161	Annotations *[]interface{} `json:"annotations,omitempty"`
24162	// Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', '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', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage'
24163	Type TypeBasicLinkedService `json:"type,omitempty"`
24164}
24165
24166// MarshalJSON is the custom marshaler for AzurePostgreSQLLinkedService.
24167func (apsls AzurePostgreSQLLinkedService) MarshalJSON() ([]byte, error) {
24168	apsls.Type = TypeAzurePostgreSQL
24169	objectMap := make(map[string]interface{})
24170	if apsls.AzurePostgreSQLLinkedServiceTypeProperties != nil {
24171		objectMap["typeProperties"] = apsls.AzurePostgreSQLLinkedServiceTypeProperties
24172	}
24173	if apsls.ConnectVia != nil {
24174		objectMap["connectVia"] = apsls.ConnectVia
24175	}
24176	if apsls.Description != nil {
24177		objectMap["description"] = apsls.Description
24178	}
24179	if apsls.Parameters != nil {
24180		objectMap["parameters"] = apsls.Parameters
24181	}
24182	if apsls.Annotations != nil {
24183		objectMap["annotations"] = apsls.Annotations
24184	}
24185	if apsls.Type != "" {
24186		objectMap["type"] = apsls.Type
24187	}
24188	for k, v := range apsls.AdditionalProperties {
24189		objectMap[k] = v
24190	}
24191	return json.Marshal(objectMap)
24192}
24193
24194// AsAzureFunctionLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
24195func (apsls AzurePostgreSQLLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) {
24196	return nil, false
24197}
24198
24199// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
24200func (apsls AzurePostgreSQLLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) {
24201	return nil, false
24202}
24203
24204// AsSapTableLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
24205func (apsls AzurePostgreSQLLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) {
24206	return nil, false
24207}
24208
24209// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
24210func (apsls AzurePostgreSQLLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) {
24211	return nil, false
24212}
24213
24214// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
24215func (apsls AzurePostgreSQLLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) {
24216	return nil, false
24217}
24218
24219// AsDynamicsAXLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
24220func (apsls AzurePostgreSQLLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) {
24221	return nil, false
24222}
24223
24224// AsResponsysLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
24225func (apsls AzurePostgreSQLLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
24226	return nil, false
24227}
24228
24229// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
24230func (apsls AzurePostgreSQLLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
24231	return nil, false
24232}
24233
24234// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
24235func (apsls AzurePostgreSQLLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
24236	return nil, false
24237}
24238
24239// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
24240func (apsls AzurePostgreSQLLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
24241	return nil, false
24242}
24243
24244// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
24245func (apsls AzurePostgreSQLLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
24246	return nil, false
24247}
24248
24249// AsNetezzaLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
24250func (apsls AzurePostgreSQLLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
24251	return nil, false
24252}
24253
24254// AsVerticaLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
24255func (apsls AzurePostgreSQLLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
24256	return nil, false
24257}
24258
24259// AsZohoLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
24260func (apsls AzurePostgreSQLLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
24261	return nil, false
24262}
24263
24264// AsXeroLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
24265func (apsls AzurePostgreSQLLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
24266	return nil, false
24267}
24268
24269// AsSquareLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
24270func (apsls AzurePostgreSQLLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
24271	return nil, false
24272}
24273
24274// AsSparkLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
24275func (apsls AzurePostgreSQLLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
24276	return nil, false
24277}
24278
24279// AsShopifyLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
24280func (apsls AzurePostgreSQLLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
24281	return nil, false
24282}
24283
24284// AsServiceNowLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
24285func (apsls AzurePostgreSQLLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
24286	return nil, false
24287}
24288
24289// AsQuickBooksLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
24290func (apsls AzurePostgreSQLLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
24291	return nil, false
24292}
24293
24294// AsPrestoLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
24295func (apsls AzurePostgreSQLLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
24296	return nil, false
24297}
24298
24299// AsPhoenixLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
24300func (apsls AzurePostgreSQLLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
24301	return nil, false
24302}
24303
24304// AsPaypalLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
24305func (apsls AzurePostgreSQLLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
24306	return nil, false
24307}
24308
24309// AsMarketoLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
24310func (apsls AzurePostgreSQLLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
24311	return nil, false
24312}
24313
24314// AsMariaDBLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
24315func (apsls AzurePostgreSQLLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
24316	return nil, false
24317}
24318
24319// AsMagentoLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
24320func (apsls AzurePostgreSQLLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
24321	return nil, false
24322}
24323
24324// AsJiraLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
24325func (apsls AzurePostgreSQLLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
24326	return nil, false
24327}
24328
24329// AsImpalaLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
24330func (apsls AzurePostgreSQLLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
24331	return nil, false
24332}
24333
24334// AsHubspotLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
24335func (apsls AzurePostgreSQLLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
24336	return nil, false
24337}
24338
24339// AsHiveLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
24340func (apsls AzurePostgreSQLLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
24341	return nil, false
24342}
24343
24344// AsHBaseLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
24345func (apsls AzurePostgreSQLLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
24346	return nil, false
24347}
24348
24349// AsGreenplumLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
24350func (apsls AzurePostgreSQLLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
24351	return nil, false
24352}
24353
24354// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
24355func (apsls AzurePostgreSQLLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
24356	return nil, false
24357}
24358
24359// AsEloquaLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
24360func (apsls AzurePostgreSQLLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
24361	return nil, false
24362}
24363
24364// AsDrillLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
24365func (apsls AzurePostgreSQLLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
24366	return nil, false
24367}
24368
24369// AsCouchbaseLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
24370func (apsls AzurePostgreSQLLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
24371	return nil, false
24372}
24373
24374// AsConcurLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
24375func (apsls AzurePostgreSQLLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
24376	return nil, false
24377}
24378
24379// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
24380func (apsls AzurePostgreSQLLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
24381	return &apsls, true
24382}
24383
24384// AsAmazonMWSLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
24385func (apsls AzurePostgreSQLLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
24386	return nil, false
24387}
24388
24389// AsSapHanaLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
24390func (apsls AzurePostgreSQLLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
24391	return nil, false
24392}
24393
24394// AsSapBWLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
24395func (apsls AzurePostgreSQLLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
24396	return nil, false
24397}
24398
24399// AsSftpServerLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
24400func (apsls AzurePostgreSQLLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
24401	return nil, false
24402}
24403
24404// AsFtpServerLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
24405func (apsls AzurePostgreSQLLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
24406	return nil, false
24407}
24408
24409// AsHTTPLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
24410func (apsls AzurePostgreSQLLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
24411	return nil, false
24412}
24413
24414// AsAzureSearchLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
24415func (apsls AzurePostgreSQLLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
24416	return nil, false
24417}
24418
24419// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
24420func (apsls AzurePostgreSQLLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
24421	return nil, false
24422}
24423
24424// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
24425func (apsls AzurePostgreSQLLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
24426	return nil, false
24427}
24428
24429// AsAmazonS3LinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
24430func (apsls AzurePostgreSQLLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
24431	return nil, false
24432}
24433
24434// AsRestServiceLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
24435func (apsls AzurePostgreSQLLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) {
24436	return nil, false
24437}
24438
24439// AsSapOpenHubLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
24440func (apsls AzurePostgreSQLLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) {
24441	return nil, false
24442}
24443
24444// AsSapEccLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
24445func (apsls AzurePostgreSQLLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
24446	return nil, false
24447}
24448
24449// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
24450func (apsls AzurePostgreSQLLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
24451	return nil, false
24452}
24453
24454// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
24455func (apsls AzurePostgreSQLLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) {
24456	return nil, false
24457}
24458
24459// AsSalesforceLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
24460func (apsls AzurePostgreSQLLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
24461	return nil, false
24462}
24463
24464// AsOffice365LinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
24465func (apsls AzurePostgreSQLLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) {
24466	return nil, false
24467}
24468
24469// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
24470func (apsls AzurePostgreSQLLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) {
24471	return nil, false
24472}
24473
24474// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
24475func (apsls AzurePostgreSQLLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
24476	return nil, false
24477}
24478
24479// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
24480func (apsls AzurePostgreSQLLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) {
24481	return nil, false
24482}
24483
24484// AsMongoDbV2LinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
24485func (apsls AzurePostgreSQLLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) {
24486	return nil, false
24487}
24488
24489// AsMongoDbLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
24490func (apsls AzurePostgreSQLLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
24491	return nil, false
24492}
24493
24494// AsCassandraLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
24495func (apsls AzurePostgreSQLLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
24496	return nil, false
24497}
24498
24499// AsWebLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
24500func (apsls AzurePostgreSQLLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
24501	return nil, false
24502}
24503
24504// AsODataLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
24505func (apsls AzurePostgreSQLLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
24506	return nil, false
24507}
24508
24509// AsHdfsLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
24510func (apsls AzurePostgreSQLLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
24511	return nil, false
24512}
24513
24514// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
24515func (apsls AzurePostgreSQLLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) {
24516	return nil, false
24517}
24518
24519// AsInformixLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
24520func (apsls AzurePostgreSQLLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) {
24521	return nil, false
24522}
24523
24524// AsOdbcLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
24525func (apsls AzurePostgreSQLLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
24526	return nil, false
24527}
24528
24529// AsAzureMLLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
24530func (apsls AzurePostgreSQLLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
24531	return nil, false
24532}
24533
24534// AsTeradataLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
24535func (apsls AzurePostgreSQLLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
24536	return nil, false
24537}
24538
24539// AsDb2LinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
24540func (apsls AzurePostgreSQLLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
24541	return nil, false
24542}
24543
24544// AsSybaseLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
24545func (apsls AzurePostgreSQLLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
24546	return nil, false
24547}
24548
24549// AsPostgreSQLLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
24550func (apsls AzurePostgreSQLLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
24551	return nil, false
24552}
24553
24554// AsMySQLLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
24555func (apsls AzurePostgreSQLLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
24556	return nil, false
24557}
24558
24559// AsAzureMySQLLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
24560func (apsls AzurePostgreSQLLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
24561	return nil, false
24562}
24563
24564// AsOracleLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
24565func (apsls AzurePostgreSQLLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
24566	return nil, false
24567}
24568
24569// AsFileServerLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
24570func (apsls AzurePostgreSQLLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
24571	return nil, false
24572}
24573
24574// AsHDInsightLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
24575func (apsls AzurePostgreSQLLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
24576	return nil, false
24577}
24578
24579// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
24580func (apsls AzurePostgreSQLLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) {
24581	return nil, false
24582}
24583
24584// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
24585func (apsls AzurePostgreSQLLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) {
24586	return nil, false
24587}
24588
24589// AsDynamicsLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
24590func (apsls AzurePostgreSQLLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
24591	return nil, false
24592}
24593
24594// AsCosmosDbLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
24595func (apsls AzurePostgreSQLLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
24596	return nil, false
24597}
24598
24599// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
24600func (apsls AzurePostgreSQLLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
24601	return nil, false
24602}
24603
24604// AsAzureBatchLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
24605func (apsls AzurePostgreSQLLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
24606	return nil, false
24607}
24608
24609// AsAzureSQLMILinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
24610func (apsls AzurePostgreSQLLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) {
24611	return nil, false
24612}
24613
24614// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
24615func (apsls AzurePostgreSQLLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
24616	return nil, false
24617}
24618
24619// AsSQLServerLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
24620func (apsls AzurePostgreSQLLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
24621	return nil, false
24622}
24623
24624// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
24625func (apsls AzurePostgreSQLLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
24626	return nil, false
24627}
24628
24629// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
24630func (apsls AzurePostgreSQLLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) {
24631	return nil, false
24632}
24633
24634// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
24635func (apsls AzurePostgreSQLLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) {
24636	return nil, false
24637}
24638
24639// AsAzureStorageLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
24640func (apsls AzurePostgreSQLLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
24641	return nil, false
24642}
24643
24644// AsLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
24645func (apsls AzurePostgreSQLLinkedService) AsLinkedService() (*LinkedService, bool) {
24646	return nil, false
24647}
24648
24649// AsBasicLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
24650func (apsls AzurePostgreSQLLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
24651	return &apsls, true
24652}
24653
24654// UnmarshalJSON is the custom unmarshaler for AzurePostgreSQLLinkedService struct.
24655func (apsls *AzurePostgreSQLLinkedService) UnmarshalJSON(body []byte) error {
24656	var m map[string]*json.RawMessage
24657	err := json.Unmarshal(body, &m)
24658	if err != nil {
24659		return err
24660	}
24661	for k, v := range m {
24662		switch k {
24663		case "typeProperties":
24664			if v != nil {
24665				var azurePostgreSQLLinkedServiceTypeProperties AzurePostgreSQLLinkedServiceTypeProperties
24666				err = json.Unmarshal(*v, &azurePostgreSQLLinkedServiceTypeProperties)
24667				if err != nil {
24668					return err
24669				}
24670				apsls.AzurePostgreSQLLinkedServiceTypeProperties = &azurePostgreSQLLinkedServiceTypeProperties
24671			}
24672		default:
24673			if v != nil {
24674				var additionalProperties interface{}
24675				err = json.Unmarshal(*v, &additionalProperties)
24676				if err != nil {
24677					return err
24678				}
24679				if apsls.AdditionalProperties == nil {
24680					apsls.AdditionalProperties = make(map[string]interface{})
24681				}
24682				apsls.AdditionalProperties[k] = additionalProperties
24683			}
24684		case "connectVia":
24685			if v != nil {
24686				var connectVia IntegrationRuntimeReference
24687				err = json.Unmarshal(*v, &connectVia)
24688				if err != nil {
24689					return err
24690				}
24691				apsls.ConnectVia = &connectVia
24692			}
24693		case "description":
24694			if v != nil {
24695				var description string
24696				err = json.Unmarshal(*v, &description)
24697				if err != nil {
24698					return err
24699				}
24700				apsls.Description = &description
24701			}
24702		case "parameters":
24703			if v != nil {
24704				var parameters map[string]*ParameterSpecification
24705				err = json.Unmarshal(*v, &parameters)
24706				if err != nil {
24707					return err
24708				}
24709				apsls.Parameters = parameters
24710			}
24711		case "annotations":
24712			if v != nil {
24713				var annotations []interface{}
24714				err = json.Unmarshal(*v, &annotations)
24715				if err != nil {
24716					return err
24717				}
24718				apsls.Annotations = &annotations
24719			}
24720		case "type":
24721			if v != nil {
24722				var typeVar TypeBasicLinkedService
24723				err = json.Unmarshal(*v, &typeVar)
24724				if err != nil {
24725					return err
24726				}
24727				apsls.Type = typeVar
24728			}
24729		}
24730	}
24731
24732	return nil
24733}
24734
24735// AzurePostgreSQLLinkedServiceTypeProperties azure PostgreSQL linked service properties.
24736type AzurePostgreSQLLinkedServiceTypeProperties struct {
24737	// ConnectionString - An ODBC connection string. Type: string, SecureString or AzureKeyVaultSecretReference.
24738	ConnectionString interface{} `json:"connectionString,omitempty"`
24739	// Password - The Azure key vault secret reference of password in connection string.
24740	Password *AzureKeyVaultSecretReference `json:"password,omitempty"`
24741	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
24742	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
24743}
24744
24745// AzurePostgreSQLSink a copy activity Azure PostgreSQL sink.
24746type AzurePostgreSQLSink struct {
24747	// PreCopyScript - A query to execute before starting the copy. Type: string (or Expression with resultType string).
24748	PreCopyScript interface{} `json:"preCopyScript,omitempty"`
24749	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
24750	AdditionalProperties map[string]interface{} `json:""`
24751	// WriteBatchSize - Write batch size. Type: integer (or Expression with resultType integer), minimum: 0.
24752	WriteBatchSize interface{} `json:"writeBatchSize,omitempty"`
24753	// 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])).
24754	WriteBatchTimeout interface{} `json:"writeBatchTimeout,omitempty"`
24755	// SinkRetryCount - Sink retry count. Type: integer (or Expression with resultType integer).
24756	SinkRetryCount interface{} `json:"sinkRetryCount,omitempty"`
24757	// 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])).
24758	SinkRetryWait interface{} `json:"sinkRetryWait,omitempty"`
24759	// MaxConcurrentConnections - The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer).
24760	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
24761	// Type - Possible values include: 'TypeCopySink', 'TypeCosmosDbMongoDbAPISink', 'TypeSalesforceServiceCloudSink', 'TypeSalesforceSink', 'TypeAzureDataExplorerSink', 'TypeCommonDataServiceForAppsSink', 'TypeDynamicsCrmSink', 'TypeDynamicsSink', 'TypeMicrosoftAccessSink', 'TypeInformixSink', 'TypeOdbcSink', 'TypeAzureSearchIndexSink', 'TypeAzureBlobFSSink', 'TypeAzureDataLakeStoreSink', 'TypeOracleSink', 'TypeSQLDWSink', 'TypeSQLMISink', 'TypeAzureSQLSink', 'TypeSQLServerSink', 'TypeSQLSink', 'TypeDocumentDbCollectionSink', 'TypeFileSystemSink', 'TypeBlobSink', 'TypeBinarySink', 'TypeParquetSink', 'TypeAzureTableSink', 'TypeAzureQueueSink', 'TypeSapCloudForCustomerSink', 'TypeAzurePostgreSQLSink', 'TypeDelimitedTextSink'
24762	Type TypeBasicCopySink `json:"type,omitempty"`
24763}
24764
24765// MarshalJSON is the custom marshaler for AzurePostgreSQLSink.
24766func (apss AzurePostgreSQLSink) MarshalJSON() ([]byte, error) {
24767	apss.Type = TypeAzurePostgreSQLSink
24768	objectMap := make(map[string]interface{})
24769	if apss.PreCopyScript != nil {
24770		objectMap["preCopyScript"] = apss.PreCopyScript
24771	}
24772	if apss.WriteBatchSize != nil {
24773		objectMap["writeBatchSize"] = apss.WriteBatchSize
24774	}
24775	if apss.WriteBatchTimeout != nil {
24776		objectMap["writeBatchTimeout"] = apss.WriteBatchTimeout
24777	}
24778	if apss.SinkRetryCount != nil {
24779		objectMap["sinkRetryCount"] = apss.SinkRetryCount
24780	}
24781	if apss.SinkRetryWait != nil {
24782		objectMap["sinkRetryWait"] = apss.SinkRetryWait
24783	}
24784	if apss.MaxConcurrentConnections != nil {
24785		objectMap["maxConcurrentConnections"] = apss.MaxConcurrentConnections
24786	}
24787	if apss.Type != "" {
24788		objectMap["type"] = apss.Type
24789	}
24790	for k, v := range apss.AdditionalProperties {
24791		objectMap[k] = v
24792	}
24793	return json.Marshal(objectMap)
24794}
24795
24796// AsCosmosDbMongoDbAPISink is the BasicCopySink implementation for AzurePostgreSQLSink.
24797func (apss AzurePostgreSQLSink) AsCosmosDbMongoDbAPISink() (*CosmosDbMongoDbAPISink, bool) {
24798	return nil, false
24799}
24800
24801// AsSalesforceServiceCloudSink is the BasicCopySink implementation for AzurePostgreSQLSink.
24802func (apss AzurePostgreSQLSink) AsSalesforceServiceCloudSink() (*SalesforceServiceCloudSink, bool) {
24803	return nil, false
24804}
24805
24806// AsSalesforceSink is the BasicCopySink implementation for AzurePostgreSQLSink.
24807func (apss AzurePostgreSQLSink) AsSalesforceSink() (*SalesforceSink, bool) {
24808	return nil, false
24809}
24810
24811// AsAzureDataExplorerSink is the BasicCopySink implementation for AzurePostgreSQLSink.
24812func (apss AzurePostgreSQLSink) AsAzureDataExplorerSink() (*AzureDataExplorerSink, bool) {
24813	return nil, false
24814}
24815
24816// AsCommonDataServiceForAppsSink is the BasicCopySink implementation for AzurePostgreSQLSink.
24817func (apss AzurePostgreSQLSink) AsCommonDataServiceForAppsSink() (*CommonDataServiceForAppsSink, bool) {
24818	return nil, false
24819}
24820
24821// AsDynamicsCrmSink is the BasicCopySink implementation for AzurePostgreSQLSink.
24822func (apss AzurePostgreSQLSink) AsDynamicsCrmSink() (*DynamicsCrmSink, bool) {
24823	return nil, false
24824}
24825
24826// AsDynamicsSink is the BasicCopySink implementation for AzurePostgreSQLSink.
24827func (apss AzurePostgreSQLSink) AsDynamicsSink() (*DynamicsSink, bool) {
24828	return nil, false
24829}
24830
24831// AsMicrosoftAccessSink is the BasicCopySink implementation for AzurePostgreSQLSink.
24832func (apss AzurePostgreSQLSink) AsMicrosoftAccessSink() (*MicrosoftAccessSink, bool) {
24833	return nil, false
24834}
24835
24836// AsInformixSink is the BasicCopySink implementation for AzurePostgreSQLSink.
24837func (apss AzurePostgreSQLSink) AsInformixSink() (*InformixSink, bool) {
24838	return nil, false
24839}
24840
24841// AsOdbcSink is the BasicCopySink implementation for AzurePostgreSQLSink.
24842func (apss AzurePostgreSQLSink) AsOdbcSink() (*OdbcSink, bool) {
24843	return nil, false
24844}
24845
24846// AsAzureSearchIndexSink is the BasicCopySink implementation for AzurePostgreSQLSink.
24847func (apss AzurePostgreSQLSink) AsAzureSearchIndexSink() (*AzureSearchIndexSink, bool) {
24848	return nil, false
24849}
24850
24851// AsAzureBlobFSSink is the BasicCopySink implementation for AzurePostgreSQLSink.
24852func (apss AzurePostgreSQLSink) AsAzureBlobFSSink() (*AzureBlobFSSink, bool) {
24853	return nil, false
24854}
24855
24856// AsAzureDataLakeStoreSink is the BasicCopySink implementation for AzurePostgreSQLSink.
24857func (apss AzurePostgreSQLSink) AsAzureDataLakeStoreSink() (*AzureDataLakeStoreSink, bool) {
24858	return nil, false
24859}
24860
24861// AsOracleSink is the BasicCopySink implementation for AzurePostgreSQLSink.
24862func (apss AzurePostgreSQLSink) AsOracleSink() (*OracleSink, bool) {
24863	return nil, false
24864}
24865
24866// AsSQLDWSink is the BasicCopySink implementation for AzurePostgreSQLSink.
24867func (apss AzurePostgreSQLSink) AsSQLDWSink() (*SQLDWSink, bool) {
24868	return nil, false
24869}
24870
24871// AsSQLMISink is the BasicCopySink implementation for AzurePostgreSQLSink.
24872func (apss AzurePostgreSQLSink) AsSQLMISink() (*SQLMISink, bool) {
24873	return nil, false
24874}
24875
24876// AsAzureSQLSink is the BasicCopySink implementation for AzurePostgreSQLSink.
24877func (apss AzurePostgreSQLSink) AsAzureSQLSink() (*AzureSQLSink, bool) {
24878	return nil, false
24879}
24880
24881// AsSQLServerSink is the BasicCopySink implementation for AzurePostgreSQLSink.
24882func (apss AzurePostgreSQLSink) AsSQLServerSink() (*SQLServerSink, bool) {
24883	return nil, false
24884}
24885
24886// AsSQLSink is the BasicCopySink implementation for AzurePostgreSQLSink.
24887func (apss AzurePostgreSQLSink) AsSQLSink() (*SQLSink, bool) {
24888	return nil, false
24889}
24890
24891// AsDocumentDbCollectionSink is the BasicCopySink implementation for AzurePostgreSQLSink.
24892func (apss AzurePostgreSQLSink) AsDocumentDbCollectionSink() (*DocumentDbCollectionSink, bool) {
24893	return nil, false
24894}
24895
24896// AsFileSystemSink is the BasicCopySink implementation for AzurePostgreSQLSink.
24897func (apss AzurePostgreSQLSink) AsFileSystemSink() (*FileSystemSink, bool) {
24898	return nil, false
24899}
24900
24901// AsBlobSink is the BasicCopySink implementation for AzurePostgreSQLSink.
24902func (apss AzurePostgreSQLSink) AsBlobSink() (*BlobSink, bool) {
24903	return nil, false
24904}
24905
24906// AsBinarySink is the BasicCopySink implementation for AzurePostgreSQLSink.
24907func (apss AzurePostgreSQLSink) AsBinarySink() (*BinarySink, bool) {
24908	return nil, false
24909}
24910
24911// AsParquetSink is the BasicCopySink implementation for AzurePostgreSQLSink.
24912func (apss AzurePostgreSQLSink) AsParquetSink() (*ParquetSink, bool) {
24913	return nil, false
24914}
24915
24916// AsAzureTableSink is the BasicCopySink implementation for AzurePostgreSQLSink.
24917func (apss AzurePostgreSQLSink) AsAzureTableSink() (*AzureTableSink, bool) {
24918	return nil, false
24919}
24920
24921// AsAzureQueueSink is the BasicCopySink implementation for AzurePostgreSQLSink.
24922func (apss AzurePostgreSQLSink) AsAzureQueueSink() (*AzureQueueSink, bool) {
24923	return nil, false
24924}
24925
24926// AsSapCloudForCustomerSink is the BasicCopySink implementation for AzurePostgreSQLSink.
24927func (apss AzurePostgreSQLSink) AsSapCloudForCustomerSink() (*SapCloudForCustomerSink, bool) {
24928	return nil, false
24929}
24930
24931// AsAzurePostgreSQLSink is the BasicCopySink implementation for AzurePostgreSQLSink.
24932func (apss AzurePostgreSQLSink) AsAzurePostgreSQLSink() (*AzurePostgreSQLSink, bool) {
24933	return &apss, true
24934}
24935
24936// AsDelimitedTextSink is the BasicCopySink implementation for AzurePostgreSQLSink.
24937func (apss AzurePostgreSQLSink) AsDelimitedTextSink() (*DelimitedTextSink, bool) {
24938	return nil, false
24939}
24940
24941// AsCopySink is the BasicCopySink implementation for AzurePostgreSQLSink.
24942func (apss AzurePostgreSQLSink) AsCopySink() (*CopySink, bool) {
24943	return nil, false
24944}
24945
24946// AsBasicCopySink is the BasicCopySink implementation for AzurePostgreSQLSink.
24947func (apss AzurePostgreSQLSink) AsBasicCopySink() (BasicCopySink, bool) {
24948	return &apss, true
24949}
24950
24951// UnmarshalJSON is the custom unmarshaler for AzurePostgreSQLSink struct.
24952func (apss *AzurePostgreSQLSink) UnmarshalJSON(body []byte) error {
24953	var m map[string]*json.RawMessage
24954	err := json.Unmarshal(body, &m)
24955	if err != nil {
24956		return err
24957	}
24958	for k, v := range m {
24959		switch k {
24960		case "preCopyScript":
24961			if v != nil {
24962				var preCopyScript interface{}
24963				err = json.Unmarshal(*v, &preCopyScript)
24964				if err != nil {
24965					return err
24966				}
24967				apss.PreCopyScript = preCopyScript
24968			}
24969		default:
24970			if v != nil {
24971				var additionalProperties interface{}
24972				err = json.Unmarshal(*v, &additionalProperties)
24973				if err != nil {
24974					return err
24975				}
24976				if apss.AdditionalProperties == nil {
24977					apss.AdditionalProperties = make(map[string]interface{})
24978				}
24979				apss.AdditionalProperties[k] = additionalProperties
24980			}
24981		case "writeBatchSize":
24982			if v != nil {
24983				var writeBatchSize interface{}
24984				err = json.Unmarshal(*v, &writeBatchSize)
24985				if err != nil {
24986					return err
24987				}
24988				apss.WriteBatchSize = writeBatchSize
24989			}
24990		case "writeBatchTimeout":
24991			if v != nil {
24992				var writeBatchTimeout interface{}
24993				err = json.Unmarshal(*v, &writeBatchTimeout)
24994				if err != nil {
24995					return err
24996				}
24997				apss.WriteBatchTimeout = writeBatchTimeout
24998			}
24999		case "sinkRetryCount":
25000			if v != nil {
25001				var sinkRetryCount interface{}
25002				err = json.Unmarshal(*v, &sinkRetryCount)
25003				if err != nil {
25004					return err
25005				}
25006				apss.SinkRetryCount = sinkRetryCount
25007			}
25008		case "sinkRetryWait":
25009			if v != nil {
25010				var sinkRetryWait interface{}
25011				err = json.Unmarshal(*v, &sinkRetryWait)
25012				if err != nil {
25013					return err
25014				}
25015				apss.SinkRetryWait = sinkRetryWait
25016			}
25017		case "maxConcurrentConnections":
25018			if v != nil {
25019				var maxConcurrentConnections interface{}
25020				err = json.Unmarshal(*v, &maxConcurrentConnections)
25021				if err != nil {
25022					return err
25023				}
25024				apss.MaxConcurrentConnections = maxConcurrentConnections
25025			}
25026		case "type":
25027			if v != nil {
25028				var typeVar TypeBasicCopySink
25029				err = json.Unmarshal(*v, &typeVar)
25030				if err != nil {
25031					return err
25032				}
25033				apss.Type = typeVar
25034			}
25035		}
25036	}
25037
25038	return nil
25039}
25040
25041// AzurePostgreSQLSource a copy activity Azure PostgreSQL source.
25042type AzurePostgreSQLSource struct {
25043	// Query - A query to retrieve data from source. Type: string (or Expression with resultType string).
25044	Query interface{} `json:"query,omitempty"`
25045	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
25046	AdditionalProperties map[string]interface{} `json:""`
25047	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
25048	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
25049	// 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])).
25050	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
25051	// MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer).
25052	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
25053	// Type - Possible values include: 'TypeCopySource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', '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', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeCassandraSource', 'TypeWebSource', 'TypeTeradataSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeAzureMySQLSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeRestSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceServiceCloudSource', 'TypeSalesforceSource', 'TypeODataSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeMicrosoftAccessSource', 'TypeInformixSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAzureTableSource', 'TypeBinarySource', 'TypeDelimitedTextSource', 'TypeParquetSource'
25054	Type TypeBasicCopySource `json:"type,omitempty"`
25055}
25056
25057// MarshalJSON is the custom marshaler for AzurePostgreSQLSource.
25058func (apss AzurePostgreSQLSource) MarshalJSON() ([]byte, error) {
25059	apss.Type = TypeAzurePostgreSQLSource
25060	objectMap := make(map[string]interface{})
25061	if apss.Query != nil {
25062		objectMap["query"] = apss.Query
25063	}
25064	if apss.SourceRetryCount != nil {
25065		objectMap["sourceRetryCount"] = apss.SourceRetryCount
25066	}
25067	if apss.SourceRetryWait != nil {
25068		objectMap["sourceRetryWait"] = apss.SourceRetryWait
25069	}
25070	if apss.MaxConcurrentConnections != nil {
25071		objectMap["maxConcurrentConnections"] = apss.MaxConcurrentConnections
25072	}
25073	if apss.Type != "" {
25074		objectMap["type"] = apss.Type
25075	}
25076	for k, v := range apss.AdditionalProperties {
25077		objectMap[k] = v
25078	}
25079	return json.Marshal(objectMap)
25080}
25081
25082// AsAmazonRedshiftSource is the BasicCopySource implementation for AzurePostgreSQLSource.
25083func (apss AzurePostgreSQLSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
25084	return nil, false
25085}
25086
25087// AsGoogleAdWordsSource is the BasicCopySource implementation for AzurePostgreSQLSource.
25088func (apss AzurePostgreSQLSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) {
25089	return nil, false
25090}
25091
25092// AsOracleServiceCloudSource is the BasicCopySource implementation for AzurePostgreSQLSource.
25093func (apss AzurePostgreSQLSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) {
25094	return nil, false
25095}
25096
25097// AsDynamicsAXSource is the BasicCopySource implementation for AzurePostgreSQLSource.
25098func (apss AzurePostgreSQLSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) {
25099	return nil, false
25100}
25101
25102// AsResponsysSource is the BasicCopySource implementation for AzurePostgreSQLSource.
25103func (apss AzurePostgreSQLSource) AsResponsysSource() (*ResponsysSource, bool) {
25104	return nil, false
25105}
25106
25107// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for AzurePostgreSQLSource.
25108func (apss AzurePostgreSQLSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
25109	return nil, false
25110}
25111
25112// AsVerticaSource is the BasicCopySource implementation for AzurePostgreSQLSource.
25113func (apss AzurePostgreSQLSource) AsVerticaSource() (*VerticaSource, bool) {
25114	return nil, false
25115}
25116
25117// AsNetezzaSource is the BasicCopySource implementation for AzurePostgreSQLSource.
25118func (apss AzurePostgreSQLSource) AsNetezzaSource() (*NetezzaSource, bool) {
25119	return nil, false
25120}
25121
25122// AsZohoSource is the BasicCopySource implementation for AzurePostgreSQLSource.
25123func (apss AzurePostgreSQLSource) AsZohoSource() (*ZohoSource, bool) {
25124	return nil, false
25125}
25126
25127// AsXeroSource is the BasicCopySource implementation for AzurePostgreSQLSource.
25128func (apss AzurePostgreSQLSource) AsXeroSource() (*XeroSource, bool) {
25129	return nil, false
25130}
25131
25132// AsSquareSource is the BasicCopySource implementation for AzurePostgreSQLSource.
25133func (apss AzurePostgreSQLSource) AsSquareSource() (*SquareSource, bool) {
25134	return nil, false
25135}
25136
25137// AsSparkSource is the BasicCopySource implementation for AzurePostgreSQLSource.
25138func (apss AzurePostgreSQLSource) AsSparkSource() (*SparkSource, bool) {
25139	return nil, false
25140}
25141
25142// AsShopifySource is the BasicCopySource implementation for AzurePostgreSQLSource.
25143func (apss AzurePostgreSQLSource) AsShopifySource() (*ShopifySource, bool) {
25144	return nil, false
25145}
25146
25147// AsServiceNowSource is the BasicCopySource implementation for AzurePostgreSQLSource.
25148func (apss AzurePostgreSQLSource) AsServiceNowSource() (*ServiceNowSource, bool) {
25149	return nil, false
25150}
25151
25152// AsQuickBooksSource is the BasicCopySource implementation for AzurePostgreSQLSource.
25153func (apss AzurePostgreSQLSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
25154	return nil, false
25155}
25156
25157// AsPrestoSource is the BasicCopySource implementation for AzurePostgreSQLSource.
25158func (apss AzurePostgreSQLSource) AsPrestoSource() (*PrestoSource, bool) {
25159	return nil, false
25160}
25161
25162// AsPhoenixSource is the BasicCopySource implementation for AzurePostgreSQLSource.
25163func (apss AzurePostgreSQLSource) AsPhoenixSource() (*PhoenixSource, bool) {
25164	return nil, false
25165}
25166
25167// AsPaypalSource is the BasicCopySource implementation for AzurePostgreSQLSource.
25168func (apss AzurePostgreSQLSource) AsPaypalSource() (*PaypalSource, bool) {
25169	return nil, false
25170}
25171
25172// AsMarketoSource is the BasicCopySource implementation for AzurePostgreSQLSource.
25173func (apss AzurePostgreSQLSource) AsMarketoSource() (*MarketoSource, bool) {
25174	return nil, false
25175}
25176
25177// AsMariaDBSource is the BasicCopySource implementation for AzurePostgreSQLSource.
25178func (apss AzurePostgreSQLSource) AsMariaDBSource() (*MariaDBSource, bool) {
25179	return nil, false
25180}
25181
25182// AsMagentoSource is the BasicCopySource implementation for AzurePostgreSQLSource.
25183func (apss AzurePostgreSQLSource) AsMagentoSource() (*MagentoSource, bool) {
25184	return nil, false
25185}
25186
25187// AsJiraSource is the BasicCopySource implementation for AzurePostgreSQLSource.
25188func (apss AzurePostgreSQLSource) AsJiraSource() (*JiraSource, bool) {
25189	return nil, false
25190}
25191
25192// AsImpalaSource is the BasicCopySource implementation for AzurePostgreSQLSource.
25193func (apss AzurePostgreSQLSource) AsImpalaSource() (*ImpalaSource, bool) {
25194	return nil, false
25195}
25196
25197// AsHubspotSource is the BasicCopySource implementation for AzurePostgreSQLSource.
25198func (apss AzurePostgreSQLSource) AsHubspotSource() (*HubspotSource, bool) {
25199	return nil, false
25200}
25201
25202// AsHiveSource is the BasicCopySource implementation for AzurePostgreSQLSource.
25203func (apss AzurePostgreSQLSource) AsHiveSource() (*HiveSource, bool) {
25204	return nil, false
25205}
25206
25207// AsHBaseSource is the BasicCopySource implementation for AzurePostgreSQLSource.
25208func (apss AzurePostgreSQLSource) AsHBaseSource() (*HBaseSource, bool) {
25209	return nil, false
25210}
25211
25212// AsGreenplumSource is the BasicCopySource implementation for AzurePostgreSQLSource.
25213func (apss AzurePostgreSQLSource) AsGreenplumSource() (*GreenplumSource, bool) {
25214	return nil, false
25215}
25216
25217// AsGoogleBigQuerySource is the BasicCopySource implementation for AzurePostgreSQLSource.
25218func (apss AzurePostgreSQLSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
25219	return nil, false
25220}
25221
25222// AsEloquaSource is the BasicCopySource implementation for AzurePostgreSQLSource.
25223func (apss AzurePostgreSQLSource) AsEloquaSource() (*EloquaSource, bool) {
25224	return nil, false
25225}
25226
25227// AsDrillSource is the BasicCopySource implementation for AzurePostgreSQLSource.
25228func (apss AzurePostgreSQLSource) AsDrillSource() (*DrillSource, bool) {
25229	return nil, false
25230}
25231
25232// AsCouchbaseSource is the BasicCopySource implementation for AzurePostgreSQLSource.
25233func (apss AzurePostgreSQLSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
25234	return nil, false
25235}
25236
25237// AsConcurSource is the BasicCopySource implementation for AzurePostgreSQLSource.
25238func (apss AzurePostgreSQLSource) AsConcurSource() (*ConcurSource, bool) {
25239	return nil, false
25240}
25241
25242// AsAzurePostgreSQLSource is the BasicCopySource implementation for AzurePostgreSQLSource.
25243func (apss AzurePostgreSQLSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
25244	return &apss, true
25245}
25246
25247// AsAmazonMWSSource is the BasicCopySource implementation for AzurePostgreSQLSource.
25248func (apss AzurePostgreSQLSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
25249	return nil, false
25250}
25251
25252// AsHTTPSource is the BasicCopySource implementation for AzurePostgreSQLSource.
25253func (apss AzurePostgreSQLSource) AsHTTPSource() (*HTTPSource, bool) {
25254	return nil, false
25255}
25256
25257// AsAzureBlobFSSource is the BasicCopySource implementation for AzurePostgreSQLSource.
25258func (apss AzurePostgreSQLSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) {
25259	return nil, false
25260}
25261
25262// AsAzureDataLakeStoreSource is the BasicCopySource implementation for AzurePostgreSQLSource.
25263func (apss AzurePostgreSQLSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
25264	return nil, false
25265}
25266
25267// AsOffice365Source is the BasicCopySource implementation for AzurePostgreSQLSource.
25268func (apss AzurePostgreSQLSource) AsOffice365Source() (*Office365Source, bool) {
25269	return nil, false
25270}
25271
25272// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for AzurePostgreSQLSource.
25273func (apss AzurePostgreSQLSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) {
25274	return nil, false
25275}
25276
25277// AsMongoDbV2Source is the BasicCopySource implementation for AzurePostgreSQLSource.
25278func (apss AzurePostgreSQLSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) {
25279	return nil, false
25280}
25281
25282// AsMongoDbSource is the BasicCopySource implementation for AzurePostgreSQLSource.
25283func (apss AzurePostgreSQLSource) AsMongoDbSource() (*MongoDbSource, bool) {
25284	return nil, false
25285}
25286
25287// AsCassandraSource is the BasicCopySource implementation for AzurePostgreSQLSource.
25288func (apss AzurePostgreSQLSource) AsCassandraSource() (*CassandraSource, bool) {
25289	return nil, false
25290}
25291
25292// AsWebSource is the BasicCopySource implementation for AzurePostgreSQLSource.
25293func (apss AzurePostgreSQLSource) AsWebSource() (*WebSource, bool) {
25294	return nil, false
25295}
25296
25297// AsTeradataSource is the BasicCopySource implementation for AzurePostgreSQLSource.
25298func (apss AzurePostgreSQLSource) AsTeradataSource() (*TeradataSource, bool) {
25299	return nil, false
25300}
25301
25302// AsOracleSource is the BasicCopySource implementation for AzurePostgreSQLSource.
25303func (apss AzurePostgreSQLSource) AsOracleSource() (*OracleSource, bool) {
25304	return nil, false
25305}
25306
25307// AsAzureDataExplorerSource is the BasicCopySource implementation for AzurePostgreSQLSource.
25308func (apss AzurePostgreSQLSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) {
25309	return nil, false
25310}
25311
25312// AsAzureMySQLSource is the BasicCopySource implementation for AzurePostgreSQLSource.
25313func (apss AzurePostgreSQLSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
25314	return nil, false
25315}
25316
25317// AsHdfsSource is the BasicCopySource implementation for AzurePostgreSQLSource.
25318func (apss AzurePostgreSQLSource) AsHdfsSource() (*HdfsSource, bool) {
25319	return nil, false
25320}
25321
25322// AsFileSystemSource is the BasicCopySource implementation for AzurePostgreSQLSource.
25323func (apss AzurePostgreSQLSource) AsFileSystemSource() (*FileSystemSource, bool) {
25324	return nil, false
25325}
25326
25327// AsSQLDWSource is the BasicCopySource implementation for AzurePostgreSQLSource.
25328func (apss AzurePostgreSQLSource) AsSQLDWSource() (*SQLDWSource, bool) {
25329	return nil, false
25330}
25331
25332// AsSQLMISource is the BasicCopySource implementation for AzurePostgreSQLSource.
25333func (apss AzurePostgreSQLSource) AsSQLMISource() (*SQLMISource, bool) {
25334	return nil, false
25335}
25336
25337// AsAzureSQLSource is the BasicCopySource implementation for AzurePostgreSQLSource.
25338func (apss AzurePostgreSQLSource) AsAzureSQLSource() (*AzureSQLSource, bool) {
25339	return nil, false
25340}
25341
25342// AsSQLServerSource is the BasicCopySource implementation for AzurePostgreSQLSource.
25343func (apss AzurePostgreSQLSource) AsSQLServerSource() (*SQLServerSource, bool) {
25344	return nil, false
25345}
25346
25347// AsSQLSource is the BasicCopySource implementation for AzurePostgreSQLSource.
25348func (apss AzurePostgreSQLSource) AsSQLSource() (*SQLSource, bool) {
25349	return nil, false
25350}
25351
25352// AsRestSource is the BasicCopySource implementation for AzurePostgreSQLSource.
25353func (apss AzurePostgreSQLSource) AsRestSource() (*RestSource, bool) {
25354	return nil, false
25355}
25356
25357// AsSapTableSource is the BasicCopySource implementation for AzurePostgreSQLSource.
25358func (apss AzurePostgreSQLSource) AsSapTableSource() (*SapTableSource, bool) {
25359	return nil, false
25360}
25361
25362// AsSapOpenHubSource is the BasicCopySource implementation for AzurePostgreSQLSource.
25363func (apss AzurePostgreSQLSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) {
25364	return nil, false
25365}
25366
25367// AsSapHanaSource is the BasicCopySource implementation for AzurePostgreSQLSource.
25368func (apss AzurePostgreSQLSource) AsSapHanaSource() (*SapHanaSource, bool) {
25369	return nil, false
25370}
25371
25372// AsSapEccSource is the BasicCopySource implementation for AzurePostgreSQLSource.
25373func (apss AzurePostgreSQLSource) AsSapEccSource() (*SapEccSource, bool) {
25374	return nil, false
25375}
25376
25377// AsSapCloudForCustomerSource is the BasicCopySource implementation for AzurePostgreSQLSource.
25378func (apss AzurePostgreSQLSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
25379	return nil, false
25380}
25381
25382// AsSalesforceServiceCloudSource is the BasicCopySource implementation for AzurePostgreSQLSource.
25383func (apss AzurePostgreSQLSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) {
25384	return nil, false
25385}
25386
25387// AsSalesforceSource is the BasicCopySource implementation for AzurePostgreSQLSource.
25388func (apss AzurePostgreSQLSource) AsSalesforceSource() (*SalesforceSource, bool) {
25389	return nil, false
25390}
25391
25392// AsODataSource is the BasicCopySource implementation for AzurePostgreSQLSource.
25393func (apss AzurePostgreSQLSource) AsODataSource() (*ODataSource, bool) {
25394	return nil, false
25395}
25396
25397// AsSybaseSource is the BasicCopySource implementation for AzurePostgreSQLSource.
25398func (apss AzurePostgreSQLSource) AsSybaseSource() (*SybaseSource, bool) {
25399	return nil, false
25400}
25401
25402// AsPostgreSQLSource is the BasicCopySource implementation for AzurePostgreSQLSource.
25403func (apss AzurePostgreSQLSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) {
25404	return nil, false
25405}
25406
25407// AsMySQLSource is the BasicCopySource implementation for AzurePostgreSQLSource.
25408func (apss AzurePostgreSQLSource) AsMySQLSource() (*MySQLSource, bool) {
25409	return nil, false
25410}
25411
25412// AsOdbcSource is the BasicCopySource implementation for AzurePostgreSQLSource.
25413func (apss AzurePostgreSQLSource) AsOdbcSource() (*OdbcSource, bool) {
25414	return nil, false
25415}
25416
25417// AsDb2Source is the BasicCopySource implementation for AzurePostgreSQLSource.
25418func (apss AzurePostgreSQLSource) AsDb2Source() (*Db2Source, bool) {
25419	return nil, false
25420}
25421
25422// AsMicrosoftAccessSource is the BasicCopySource implementation for AzurePostgreSQLSource.
25423func (apss AzurePostgreSQLSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) {
25424	return nil, false
25425}
25426
25427// AsInformixSource is the BasicCopySource implementation for AzurePostgreSQLSource.
25428func (apss AzurePostgreSQLSource) AsInformixSource() (*InformixSource, bool) {
25429	return nil, false
25430}
25431
25432// AsRelationalSource is the BasicCopySource implementation for AzurePostgreSQLSource.
25433func (apss AzurePostgreSQLSource) AsRelationalSource() (*RelationalSource, bool) {
25434	return nil, false
25435}
25436
25437// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for AzurePostgreSQLSource.
25438func (apss AzurePostgreSQLSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) {
25439	return nil, false
25440}
25441
25442// AsDynamicsCrmSource is the BasicCopySource implementation for AzurePostgreSQLSource.
25443func (apss AzurePostgreSQLSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) {
25444	return nil, false
25445}
25446
25447// AsDynamicsSource is the BasicCopySource implementation for AzurePostgreSQLSource.
25448func (apss AzurePostgreSQLSource) AsDynamicsSource() (*DynamicsSource, bool) {
25449	return nil, false
25450}
25451
25452// AsDocumentDbCollectionSource is the BasicCopySource implementation for AzurePostgreSQLSource.
25453func (apss AzurePostgreSQLSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
25454	return nil, false
25455}
25456
25457// AsBlobSource is the BasicCopySource implementation for AzurePostgreSQLSource.
25458func (apss AzurePostgreSQLSource) AsBlobSource() (*BlobSource, bool) {
25459	return nil, false
25460}
25461
25462// AsAzureTableSource is the BasicCopySource implementation for AzurePostgreSQLSource.
25463func (apss AzurePostgreSQLSource) AsAzureTableSource() (*AzureTableSource, bool) {
25464	return nil, false
25465}
25466
25467// AsBinarySource is the BasicCopySource implementation for AzurePostgreSQLSource.
25468func (apss AzurePostgreSQLSource) AsBinarySource() (*BinarySource, bool) {
25469	return nil, false
25470}
25471
25472// AsDelimitedTextSource is the BasicCopySource implementation for AzurePostgreSQLSource.
25473func (apss AzurePostgreSQLSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) {
25474	return nil, false
25475}
25476
25477// AsParquetSource is the BasicCopySource implementation for AzurePostgreSQLSource.
25478func (apss AzurePostgreSQLSource) AsParquetSource() (*ParquetSource, bool) {
25479	return nil, false
25480}
25481
25482// AsCopySource is the BasicCopySource implementation for AzurePostgreSQLSource.
25483func (apss AzurePostgreSQLSource) AsCopySource() (*CopySource, bool) {
25484	return nil, false
25485}
25486
25487// AsBasicCopySource is the BasicCopySource implementation for AzurePostgreSQLSource.
25488func (apss AzurePostgreSQLSource) AsBasicCopySource() (BasicCopySource, bool) {
25489	return &apss, true
25490}
25491
25492// UnmarshalJSON is the custom unmarshaler for AzurePostgreSQLSource struct.
25493func (apss *AzurePostgreSQLSource) UnmarshalJSON(body []byte) error {
25494	var m map[string]*json.RawMessage
25495	err := json.Unmarshal(body, &m)
25496	if err != nil {
25497		return err
25498	}
25499	for k, v := range m {
25500		switch k {
25501		case "query":
25502			if v != nil {
25503				var query interface{}
25504				err = json.Unmarshal(*v, &query)
25505				if err != nil {
25506					return err
25507				}
25508				apss.Query = query
25509			}
25510		default:
25511			if v != nil {
25512				var additionalProperties interface{}
25513				err = json.Unmarshal(*v, &additionalProperties)
25514				if err != nil {
25515					return err
25516				}
25517				if apss.AdditionalProperties == nil {
25518					apss.AdditionalProperties = make(map[string]interface{})
25519				}
25520				apss.AdditionalProperties[k] = additionalProperties
25521			}
25522		case "sourceRetryCount":
25523			if v != nil {
25524				var sourceRetryCount interface{}
25525				err = json.Unmarshal(*v, &sourceRetryCount)
25526				if err != nil {
25527					return err
25528				}
25529				apss.SourceRetryCount = sourceRetryCount
25530			}
25531		case "sourceRetryWait":
25532			if v != nil {
25533				var sourceRetryWait interface{}
25534				err = json.Unmarshal(*v, &sourceRetryWait)
25535				if err != nil {
25536					return err
25537				}
25538				apss.SourceRetryWait = sourceRetryWait
25539			}
25540		case "maxConcurrentConnections":
25541			if v != nil {
25542				var maxConcurrentConnections interface{}
25543				err = json.Unmarshal(*v, &maxConcurrentConnections)
25544				if err != nil {
25545					return err
25546				}
25547				apss.MaxConcurrentConnections = maxConcurrentConnections
25548			}
25549		case "type":
25550			if v != nil {
25551				var typeVar TypeBasicCopySource
25552				err = json.Unmarshal(*v, &typeVar)
25553				if err != nil {
25554					return err
25555				}
25556				apss.Type = typeVar
25557			}
25558		}
25559	}
25560
25561	return nil
25562}
25563
25564// AzurePostgreSQLTableDataset azure PostgreSQL dataset.
25565type AzurePostgreSQLTableDataset struct {
25566	// AzurePostgreSQLTableDatasetTypeProperties - Properties specific to this dataset type.
25567	*AzurePostgreSQLTableDatasetTypeProperties `json:"typeProperties,omitempty"`
25568	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
25569	AdditionalProperties map[string]interface{} `json:""`
25570	// Description - Dataset description.
25571	Description *string `json:"description,omitempty"`
25572	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
25573	Structure interface{} `json:"structure,omitempty"`
25574	// Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement.
25575	Schema interface{} `json:"schema,omitempty"`
25576	// LinkedServiceName - Linked service reference.
25577	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
25578	// Parameters - Parameters for dataset.
25579	Parameters map[string]*ParameterSpecification `json:"parameters"`
25580	// Annotations - List of tags that can be used for describing the Dataset.
25581	Annotations *[]interface{} `json:"annotations,omitempty"`
25582	// Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level.
25583	Folder *DatasetFolder `json:"folder,omitempty"`
25584	// Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', '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', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeDelimitedText', 'TypeParquet', 'TypeAmazonS3Object'
25585	Type TypeBasicDataset `json:"type,omitempty"`
25586}
25587
25588// MarshalJSON is the custom marshaler for AzurePostgreSQLTableDataset.
25589func (apstd AzurePostgreSQLTableDataset) MarshalJSON() ([]byte, error) {
25590	apstd.Type = TypeAzurePostgreSQLTable
25591	objectMap := make(map[string]interface{})
25592	if apstd.AzurePostgreSQLTableDatasetTypeProperties != nil {
25593		objectMap["typeProperties"] = apstd.AzurePostgreSQLTableDatasetTypeProperties
25594	}
25595	if apstd.Description != nil {
25596		objectMap["description"] = apstd.Description
25597	}
25598	if apstd.Structure != nil {
25599		objectMap["structure"] = apstd.Structure
25600	}
25601	if apstd.Schema != nil {
25602		objectMap["schema"] = apstd.Schema
25603	}
25604	if apstd.LinkedServiceName != nil {
25605		objectMap["linkedServiceName"] = apstd.LinkedServiceName
25606	}
25607	if apstd.Parameters != nil {
25608		objectMap["parameters"] = apstd.Parameters
25609	}
25610	if apstd.Annotations != nil {
25611		objectMap["annotations"] = apstd.Annotations
25612	}
25613	if apstd.Folder != nil {
25614		objectMap["folder"] = apstd.Folder
25615	}
25616	if apstd.Type != "" {
25617		objectMap["type"] = apstd.Type
25618	}
25619	for k, v := range apstd.AdditionalProperties {
25620		objectMap[k] = v
25621	}
25622	return json.Marshal(objectMap)
25623}
25624
25625// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
25626func (apstd AzurePostgreSQLTableDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) {
25627	return nil, false
25628}
25629
25630// AsAzureDataExplorerTableDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
25631func (apstd AzurePostgreSQLTableDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) {
25632	return nil, false
25633}
25634
25635// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
25636func (apstd AzurePostgreSQLTableDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) {
25637	return nil, false
25638}
25639
25640// AsDynamicsAXResourceDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
25641func (apstd AzurePostgreSQLTableDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) {
25642	return nil, false
25643}
25644
25645// AsResponsysObjectDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
25646func (apstd AzurePostgreSQLTableDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
25647	return nil, false
25648}
25649
25650// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
25651func (apstd AzurePostgreSQLTableDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
25652	return nil, false
25653}
25654
25655// AsVerticaTableDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
25656func (apstd AzurePostgreSQLTableDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
25657	return nil, false
25658}
25659
25660// AsNetezzaTableDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
25661func (apstd AzurePostgreSQLTableDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
25662	return nil, false
25663}
25664
25665// AsZohoObjectDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
25666func (apstd AzurePostgreSQLTableDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
25667	return nil, false
25668}
25669
25670// AsXeroObjectDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
25671func (apstd AzurePostgreSQLTableDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
25672	return nil, false
25673}
25674
25675// AsSquareObjectDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
25676func (apstd AzurePostgreSQLTableDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
25677	return nil, false
25678}
25679
25680// AsSparkObjectDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
25681func (apstd AzurePostgreSQLTableDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
25682	return nil, false
25683}
25684
25685// AsShopifyObjectDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
25686func (apstd AzurePostgreSQLTableDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
25687	return nil, false
25688}
25689
25690// AsServiceNowObjectDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
25691func (apstd AzurePostgreSQLTableDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
25692	return nil, false
25693}
25694
25695// AsQuickBooksObjectDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
25696func (apstd AzurePostgreSQLTableDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
25697	return nil, false
25698}
25699
25700// AsPrestoObjectDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
25701func (apstd AzurePostgreSQLTableDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
25702	return nil, false
25703}
25704
25705// AsPhoenixObjectDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
25706func (apstd AzurePostgreSQLTableDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
25707	return nil, false
25708}
25709
25710// AsPaypalObjectDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
25711func (apstd AzurePostgreSQLTableDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
25712	return nil, false
25713}
25714
25715// AsMarketoObjectDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
25716func (apstd AzurePostgreSQLTableDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
25717	return nil, false
25718}
25719
25720// AsMariaDBTableDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
25721func (apstd AzurePostgreSQLTableDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
25722	return nil, false
25723}
25724
25725// AsMagentoObjectDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
25726func (apstd AzurePostgreSQLTableDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
25727	return nil, false
25728}
25729
25730// AsJiraObjectDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
25731func (apstd AzurePostgreSQLTableDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
25732	return nil, false
25733}
25734
25735// AsImpalaObjectDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
25736func (apstd AzurePostgreSQLTableDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
25737	return nil, false
25738}
25739
25740// AsHubspotObjectDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
25741func (apstd AzurePostgreSQLTableDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
25742	return nil, false
25743}
25744
25745// AsHiveObjectDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
25746func (apstd AzurePostgreSQLTableDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
25747	return nil, false
25748}
25749
25750// AsHBaseObjectDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
25751func (apstd AzurePostgreSQLTableDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
25752	return nil, false
25753}
25754
25755// AsGreenplumTableDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
25756func (apstd AzurePostgreSQLTableDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
25757	return nil, false
25758}
25759
25760// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
25761func (apstd AzurePostgreSQLTableDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
25762	return nil, false
25763}
25764
25765// AsEloquaObjectDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
25766func (apstd AzurePostgreSQLTableDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
25767	return nil, false
25768}
25769
25770// AsDrillTableDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
25771func (apstd AzurePostgreSQLTableDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
25772	return nil, false
25773}
25774
25775// AsCouchbaseTableDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
25776func (apstd AzurePostgreSQLTableDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
25777	return nil, false
25778}
25779
25780// AsConcurObjectDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
25781func (apstd AzurePostgreSQLTableDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
25782	return nil, false
25783}
25784
25785// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
25786func (apstd AzurePostgreSQLTableDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
25787	return &apstd, true
25788}
25789
25790// AsAmazonMWSObjectDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
25791func (apstd AzurePostgreSQLTableDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
25792	return nil, false
25793}
25794
25795// AsHTTPDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
25796func (apstd AzurePostgreSQLTableDataset) AsHTTPDataset() (*HTTPDataset, bool) {
25797	return nil, false
25798}
25799
25800// AsAzureSearchIndexDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
25801func (apstd AzurePostgreSQLTableDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
25802	return nil, false
25803}
25804
25805// AsWebTableDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
25806func (apstd AzurePostgreSQLTableDataset) AsWebTableDataset() (*WebTableDataset, bool) {
25807	return nil, false
25808}
25809
25810// AsSapTableResourceDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
25811func (apstd AzurePostgreSQLTableDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) {
25812	return nil, false
25813}
25814
25815// AsRestResourceDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
25816func (apstd AzurePostgreSQLTableDataset) AsRestResourceDataset() (*RestResourceDataset, bool) {
25817	return nil, false
25818}
25819
25820// AsSQLServerTableDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
25821func (apstd AzurePostgreSQLTableDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
25822	return nil, false
25823}
25824
25825// AsSapOpenHubTableDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
25826func (apstd AzurePostgreSQLTableDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) {
25827	return nil, false
25828}
25829
25830// AsSapHanaTableDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
25831func (apstd AzurePostgreSQLTableDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) {
25832	return nil, false
25833}
25834
25835// AsSapEccResourceDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
25836func (apstd AzurePostgreSQLTableDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
25837	return nil, false
25838}
25839
25840// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
25841func (apstd AzurePostgreSQLTableDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
25842	return nil, false
25843}
25844
25845// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
25846func (apstd AzurePostgreSQLTableDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) {
25847	return nil, false
25848}
25849
25850// AsSalesforceObjectDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
25851func (apstd AzurePostgreSQLTableDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
25852	return nil, false
25853}
25854
25855// AsMicrosoftAccessTableDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
25856func (apstd AzurePostgreSQLTableDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) {
25857	return nil, false
25858}
25859
25860// AsPostgreSQLTableDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
25861func (apstd AzurePostgreSQLTableDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) {
25862	return nil, false
25863}
25864
25865// AsMySQLTableDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
25866func (apstd AzurePostgreSQLTableDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) {
25867	return nil, false
25868}
25869
25870// AsOdbcTableDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
25871func (apstd AzurePostgreSQLTableDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) {
25872	return nil, false
25873}
25874
25875// AsInformixTableDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
25876func (apstd AzurePostgreSQLTableDataset) AsInformixTableDataset() (*InformixTableDataset, bool) {
25877	return nil, false
25878}
25879
25880// AsRelationalTableDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
25881func (apstd AzurePostgreSQLTableDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
25882	return nil, false
25883}
25884
25885// AsAzureMySQLTableDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
25886func (apstd AzurePostgreSQLTableDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
25887	return nil, false
25888}
25889
25890// AsTeradataTableDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
25891func (apstd AzurePostgreSQLTableDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) {
25892	return nil, false
25893}
25894
25895// AsOracleTableDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
25896func (apstd AzurePostgreSQLTableDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
25897	return nil, false
25898}
25899
25900// AsODataResourceDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
25901func (apstd AzurePostgreSQLTableDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
25902	return nil, false
25903}
25904
25905// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
25906func (apstd AzurePostgreSQLTableDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) {
25907	return nil, false
25908}
25909
25910// AsMongoDbV2CollectionDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
25911func (apstd AzurePostgreSQLTableDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) {
25912	return nil, false
25913}
25914
25915// AsMongoDbCollectionDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
25916func (apstd AzurePostgreSQLTableDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
25917	return nil, false
25918}
25919
25920// AsFileShareDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
25921func (apstd AzurePostgreSQLTableDataset) AsFileShareDataset() (*FileShareDataset, bool) {
25922	return nil, false
25923}
25924
25925// AsOffice365Dataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
25926func (apstd AzurePostgreSQLTableDataset) AsOffice365Dataset() (*Office365Dataset, bool) {
25927	return nil, false
25928}
25929
25930// AsAzureBlobFSDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
25931func (apstd AzurePostgreSQLTableDataset) AsAzureBlobFSDataset() (*AzureBlobFSDataset, bool) {
25932	return nil, false
25933}
25934
25935// AsAzureDataLakeStoreDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
25936func (apstd AzurePostgreSQLTableDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) {
25937	return nil, false
25938}
25939
25940// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
25941func (apstd AzurePostgreSQLTableDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) {
25942	return nil, false
25943}
25944
25945// AsDynamicsCrmEntityDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
25946func (apstd AzurePostgreSQLTableDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) {
25947	return nil, false
25948}
25949
25950// AsDynamicsEntityDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
25951func (apstd AzurePostgreSQLTableDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
25952	return nil, false
25953}
25954
25955// AsDocumentDbCollectionDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
25956func (apstd AzurePostgreSQLTableDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
25957	return nil, false
25958}
25959
25960// AsCustomDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
25961func (apstd AzurePostgreSQLTableDataset) AsCustomDataset() (*CustomDataset, bool) {
25962	return nil, false
25963}
25964
25965// AsCassandraTableDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
25966func (apstd AzurePostgreSQLTableDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
25967	return nil, false
25968}
25969
25970// AsAzureSQLDWTableDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
25971func (apstd AzurePostgreSQLTableDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
25972	return nil, false
25973}
25974
25975// AsAzureSQLMITableDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
25976func (apstd AzurePostgreSQLTableDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) {
25977	return nil, false
25978}
25979
25980// AsAzureSQLTableDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
25981func (apstd AzurePostgreSQLTableDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
25982	return nil, false
25983}
25984
25985// AsAzureTableDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
25986func (apstd AzurePostgreSQLTableDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
25987	return nil, false
25988}
25989
25990// AsAzureBlobDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
25991func (apstd AzurePostgreSQLTableDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) {
25992	return nil, false
25993}
25994
25995// AsBinaryDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
25996func (apstd AzurePostgreSQLTableDataset) AsBinaryDataset() (*BinaryDataset, bool) {
25997	return nil, false
25998}
25999
26000// AsDelimitedTextDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
26001func (apstd AzurePostgreSQLTableDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) {
26002	return nil, false
26003}
26004
26005// AsParquetDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
26006func (apstd AzurePostgreSQLTableDataset) AsParquetDataset() (*ParquetDataset, bool) {
26007	return nil, false
26008}
26009
26010// AsAmazonS3Dataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
26011func (apstd AzurePostgreSQLTableDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) {
26012	return nil, false
26013}
26014
26015// AsDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
26016func (apstd AzurePostgreSQLTableDataset) AsDataset() (*Dataset, bool) {
26017	return nil, false
26018}
26019
26020// AsBasicDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
26021func (apstd AzurePostgreSQLTableDataset) AsBasicDataset() (BasicDataset, bool) {
26022	return &apstd, true
26023}
26024
26025// UnmarshalJSON is the custom unmarshaler for AzurePostgreSQLTableDataset struct.
26026func (apstd *AzurePostgreSQLTableDataset) UnmarshalJSON(body []byte) error {
26027	var m map[string]*json.RawMessage
26028	err := json.Unmarshal(body, &m)
26029	if err != nil {
26030		return err
26031	}
26032	for k, v := range m {
26033		switch k {
26034		case "typeProperties":
26035			if v != nil {
26036				var azurePostgreSQLTableDatasetTypeProperties AzurePostgreSQLTableDatasetTypeProperties
26037				err = json.Unmarshal(*v, &azurePostgreSQLTableDatasetTypeProperties)
26038				if err != nil {
26039					return err
26040				}
26041				apstd.AzurePostgreSQLTableDatasetTypeProperties = &azurePostgreSQLTableDatasetTypeProperties
26042			}
26043		default:
26044			if v != nil {
26045				var additionalProperties interface{}
26046				err = json.Unmarshal(*v, &additionalProperties)
26047				if err != nil {
26048					return err
26049				}
26050				if apstd.AdditionalProperties == nil {
26051					apstd.AdditionalProperties = make(map[string]interface{})
26052				}
26053				apstd.AdditionalProperties[k] = additionalProperties
26054			}
26055		case "description":
26056			if v != nil {
26057				var description string
26058				err = json.Unmarshal(*v, &description)
26059				if err != nil {
26060					return err
26061				}
26062				apstd.Description = &description
26063			}
26064		case "structure":
26065			if v != nil {
26066				var structure interface{}
26067				err = json.Unmarshal(*v, &structure)
26068				if err != nil {
26069					return err
26070				}
26071				apstd.Structure = structure
26072			}
26073		case "schema":
26074			if v != nil {
26075				var schema interface{}
26076				err = json.Unmarshal(*v, &schema)
26077				if err != nil {
26078					return err
26079				}
26080				apstd.Schema = schema
26081			}
26082		case "linkedServiceName":
26083			if v != nil {
26084				var linkedServiceName LinkedServiceReference
26085				err = json.Unmarshal(*v, &linkedServiceName)
26086				if err != nil {
26087					return err
26088				}
26089				apstd.LinkedServiceName = &linkedServiceName
26090			}
26091		case "parameters":
26092			if v != nil {
26093				var parameters map[string]*ParameterSpecification
26094				err = json.Unmarshal(*v, &parameters)
26095				if err != nil {
26096					return err
26097				}
26098				apstd.Parameters = parameters
26099			}
26100		case "annotations":
26101			if v != nil {
26102				var annotations []interface{}
26103				err = json.Unmarshal(*v, &annotations)
26104				if err != nil {
26105					return err
26106				}
26107				apstd.Annotations = &annotations
26108			}
26109		case "folder":
26110			if v != nil {
26111				var folder DatasetFolder
26112				err = json.Unmarshal(*v, &folder)
26113				if err != nil {
26114					return err
26115				}
26116				apstd.Folder = &folder
26117			}
26118		case "type":
26119			if v != nil {
26120				var typeVar TypeBasicDataset
26121				err = json.Unmarshal(*v, &typeVar)
26122				if err != nil {
26123					return err
26124				}
26125				apstd.Type = typeVar
26126			}
26127		}
26128	}
26129
26130	return nil
26131}
26132
26133// AzurePostgreSQLTableDatasetTypeProperties azure PostgreSQL dataset properties.
26134type AzurePostgreSQLTableDatasetTypeProperties struct {
26135	// TableName - The table name of the Azure PostgreSQL database which includes both schema and table. Type: string (or Expression with resultType string).
26136	TableName interface{} `json:"tableName,omitempty"`
26137	// Table - The table name of the Azure PostgreSQL database. Type: string (or Expression with resultType string).
26138	Table interface{} `json:"table,omitempty"`
26139	// Schema - The schema name of the Azure PostgreSQL database. Type: string (or Expression with resultType string).
26140	Schema interface{} `json:"schema,omitempty"`
26141}
26142
26143// AzureQueueSink a copy activity Azure Queue sink.
26144type AzureQueueSink struct {
26145	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
26146	AdditionalProperties map[string]interface{} `json:""`
26147	// WriteBatchSize - Write batch size. Type: integer (or Expression with resultType integer), minimum: 0.
26148	WriteBatchSize interface{} `json:"writeBatchSize,omitempty"`
26149	// 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])).
26150	WriteBatchTimeout interface{} `json:"writeBatchTimeout,omitempty"`
26151	// SinkRetryCount - Sink retry count. Type: integer (or Expression with resultType integer).
26152	SinkRetryCount interface{} `json:"sinkRetryCount,omitempty"`
26153	// 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])).
26154	SinkRetryWait interface{} `json:"sinkRetryWait,omitempty"`
26155	// MaxConcurrentConnections - The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer).
26156	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
26157	// Type - Possible values include: 'TypeCopySink', 'TypeCosmosDbMongoDbAPISink', 'TypeSalesforceServiceCloudSink', 'TypeSalesforceSink', 'TypeAzureDataExplorerSink', 'TypeCommonDataServiceForAppsSink', 'TypeDynamicsCrmSink', 'TypeDynamicsSink', 'TypeMicrosoftAccessSink', 'TypeInformixSink', 'TypeOdbcSink', 'TypeAzureSearchIndexSink', 'TypeAzureBlobFSSink', 'TypeAzureDataLakeStoreSink', 'TypeOracleSink', 'TypeSQLDWSink', 'TypeSQLMISink', 'TypeAzureSQLSink', 'TypeSQLServerSink', 'TypeSQLSink', 'TypeDocumentDbCollectionSink', 'TypeFileSystemSink', 'TypeBlobSink', 'TypeBinarySink', 'TypeParquetSink', 'TypeAzureTableSink', 'TypeAzureQueueSink', 'TypeSapCloudForCustomerSink', 'TypeAzurePostgreSQLSink', 'TypeDelimitedTextSink'
26158	Type TypeBasicCopySink `json:"type,omitempty"`
26159}
26160
26161// MarshalJSON is the custom marshaler for AzureQueueSink.
26162func (aqs AzureQueueSink) MarshalJSON() ([]byte, error) {
26163	aqs.Type = TypeAzureQueueSink
26164	objectMap := make(map[string]interface{})
26165	if aqs.WriteBatchSize != nil {
26166		objectMap["writeBatchSize"] = aqs.WriteBatchSize
26167	}
26168	if aqs.WriteBatchTimeout != nil {
26169		objectMap["writeBatchTimeout"] = aqs.WriteBatchTimeout
26170	}
26171	if aqs.SinkRetryCount != nil {
26172		objectMap["sinkRetryCount"] = aqs.SinkRetryCount
26173	}
26174	if aqs.SinkRetryWait != nil {
26175		objectMap["sinkRetryWait"] = aqs.SinkRetryWait
26176	}
26177	if aqs.MaxConcurrentConnections != nil {
26178		objectMap["maxConcurrentConnections"] = aqs.MaxConcurrentConnections
26179	}
26180	if aqs.Type != "" {
26181		objectMap["type"] = aqs.Type
26182	}
26183	for k, v := range aqs.AdditionalProperties {
26184		objectMap[k] = v
26185	}
26186	return json.Marshal(objectMap)
26187}
26188
26189// AsCosmosDbMongoDbAPISink is the BasicCopySink implementation for AzureQueueSink.
26190func (aqs AzureQueueSink) AsCosmosDbMongoDbAPISink() (*CosmosDbMongoDbAPISink, bool) {
26191	return nil, false
26192}
26193
26194// AsSalesforceServiceCloudSink is the BasicCopySink implementation for AzureQueueSink.
26195func (aqs AzureQueueSink) AsSalesforceServiceCloudSink() (*SalesforceServiceCloudSink, bool) {
26196	return nil, false
26197}
26198
26199// AsSalesforceSink is the BasicCopySink implementation for AzureQueueSink.
26200func (aqs AzureQueueSink) AsSalesforceSink() (*SalesforceSink, bool) {
26201	return nil, false
26202}
26203
26204// AsAzureDataExplorerSink is the BasicCopySink implementation for AzureQueueSink.
26205func (aqs AzureQueueSink) AsAzureDataExplorerSink() (*AzureDataExplorerSink, bool) {
26206	return nil, false
26207}
26208
26209// AsCommonDataServiceForAppsSink is the BasicCopySink implementation for AzureQueueSink.
26210func (aqs AzureQueueSink) AsCommonDataServiceForAppsSink() (*CommonDataServiceForAppsSink, bool) {
26211	return nil, false
26212}
26213
26214// AsDynamicsCrmSink is the BasicCopySink implementation for AzureQueueSink.
26215func (aqs AzureQueueSink) AsDynamicsCrmSink() (*DynamicsCrmSink, bool) {
26216	return nil, false
26217}
26218
26219// AsDynamicsSink is the BasicCopySink implementation for AzureQueueSink.
26220func (aqs AzureQueueSink) AsDynamicsSink() (*DynamicsSink, bool) {
26221	return nil, false
26222}
26223
26224// AsMicrosoftAccessSink is the BasicCopySink implementation for AzureQueueSink.
26225func (aqs AzureQueueSink) AsMicrosoftAccessSink() (*MicrosoftAccessSink, bool) {
26226	return nil, false
26227}
26228
26229// AsInformixSink is the BasicCopySink implementation for AzureQueueSink.
26230func (aqs AzureQueueSink) AsInformixSink() (*InformixSink, bool) {
26231	return nil, false
26232}
26233
26234// AsOdbcSink is the BasicCopySink implementation for AzureQueueSink.
26235func (aqs AzureQueueSink) AsOdbcSink() (*OdbcSink, bool) {
26236	return nil, false
26237}
26238
26239// AsAzureSearchIndexSink is the BasicCopySink implementation for AzureQueueSink.
26240func (aqs AzureQueueSink) AsAzureSearchIndexSink() (*AzureSearchIndexSink, bool) {
26241	return nil, false
26242}
26243
26244// AsAzureBlobFSSink is the BasicCopySink implementation for AzureQueueSink.
26245func (aqs AzureQueueSink) AsAzureBlobFSSink() (*AzureBlobFSSink, bool) {
26246	return nil, false
26247}
26248
26249// AsAzureDataLakeStoreSink is the BasicCopySink implementation for AzureQueueSink.
26250func (aqs AzureQueueSink) AsAzureDataLakeStoreSink() (*AzureDataLakeStoreSink, bool) {
26251	return nil, false
26252}
26253
26254// AsOracleSink is the BasicCopySink implementation for AzureQueueSink.
26255func (aqs AzureQueueSink) AsOracleSink() (*OracleSink, bool) {
26256	return nil, false
26257}
26258
26259// AsSQLDWSink is the BasicCopySink implementation for AzureQueueSink.
26260func (aqs AzureQueueSink) AsSQLDWSink() (*SQLDWSink, bool) {
26261	return nil, false
26262}
26263
26264// AsSQLMISink is the BasicCopySink implementation for AzureQueueSink.
26265func (aqs AzureQueueSink) AsSQLMISink() (*SQLMISink, bool) {
26266	return nil, false
26267}
26268
26269// AsAzureSQLSink is the BasicCopySink implementation for AzureQueueSink.
26270func (aqs AzureQueueSink) AsAzureSQLSink() (*AzureSQLSink, bool) {
26271	return nil, false
26272}
26273
26274// AsSQLServerSink is the BasicCopySink implementation for AzureQueueSink.
26275func (aqs AzureQueueSink) AsSQLServerSink() (*SQLServerSink, bool) {
26276	return nil, false
26277}
26278
26279// AsSQLSink is the BasicCopySink implementation for AzureQueueSink.
26280func (aqs AzureQueueSink) AsSQLSink() (*SQLSink, bool) {
26281	return nil, false
26282}
26283
26284// AsDocumentDbCollectionSink is the BasicCopySink implementation for AzureQueueSink.
26285func (aqs AzureQueueSink) AsDocumentDbCollectionSink() (*DocumentDbCollectionSink, bool) {
26286	return nil, false
26287}
26288
26289// AsFileSystemSink is the BasicCopySink implementation for AzureQueueSink.
26290func (aqs AzureQueueSink) AsFileSystemSink() (*FileSystemSink, bool) {
26291	return nil, false
26292}
26293
26294// AsBlobSink is the BasicCopySink implementation for AzureQueueSink.
26295func (aqs AzureQueueSink) AsBlobSink() (*BlobSink, bool) {
26296	return nil, false
26297}
26298
26299// AsBinarySink is the BasicCopySink implementation for AzureQueueSink.
26300func (aqs AzureQueueSink) AsBinarySink() (*BinarySink, bool) {
26301	return nil, false
26302}
26303
26304// AsParquetSink is the BasicCopySink implementation for AzureQueueSink.
26305func (aqs AzureQueueSink) AsParquetSink() (*ParquetSink, bool) {
26306	return nil, false
26307}
26308
26309// AsAzureTableSink is the BasicCopySink implementation for AzureQueueSink.
26310func (aqs AzureQueueSink) AsAzureTableSink() (*AzureTableSink, bool) {
26311	return nil, false
26312}
26313
26314// AsAzureQueueSink is the BasicCopySink implementation for AzureQueueSink.
26315func (aqs AzureQueueSink) AsAzureQueueSink() (*AzureQueueSink, bool) {
26316	return &aqs, true
26317}
26318
26319// AsSapCloudForCustomerSink is the BasicCopySink implementation for AzureQueueSink.
26320func (aqs AzureQueueSink) AsSapCloudForCustomerSink() (*SapCloudForCustomerSink, bool) {
26321	return nil, false
26322}
26323
26324// AsAzurePostgreSQLSink is the BasicCopySink implementation for AzureQueueSink.
26325func (aqs AzureQueueSink) AsAzurePostgreSQLSink() (*AzurePostgreSQLSink, bool) {
26326	return nil, false
26327}
26328
26329// AsDelimitedTextSink is the BasicCopySink implementation for AzureQueueSink.
26330func (aqs AzureQueueSink) AsDelimitedTextSink() (*DelimitedTextSink, bool) {
26331	return nil, false
26332}
26333
26334// AsCopySink is the BasicCopySink implementation for AzureQueueSink.
26335func (aqs AzureQueueSink) AsCopySink() (*CopySink, bool) {
26336	return nil, false
26337}
26338
26339// AsBasicCopySink is the BasicCopySink implementation for AzureQueueSink.
26340func (aqs AzureQueueSink) AsBasicCopySink() (BasicCopySink, bool) {
26341	return &aqs, true
26342}
26343
26344// UnmarshalJSON is the custom unmarshaler for AzureQueueSink struct.
26345func (aqs *AzureQueueSink) UnmarshalJSON(body []byte) error {
26346	var m map[string]*json.RawMessage
26347	err := json.Unmarshal(body, &m)
26348	if err != nil {
26349		return err
26350	}
26351	for k, v := range m {
26352		switch k {
26353		default:
26354			if v != nil {
26355				var additionalProperties interface{}
26356				err = json.Unmarshal(*v, &additionalProperties)
26357				if err != nil {
26358					return err
26359				}
26360				if aqs.AdditionalProperties == nil {
26361					aqs.AdditionalProperties = make(map[string]interface{})
26362				}
26363				aqs.AdditionalProperties[k] = additionalProperties
26364			}
26365		case "writeBatchSize":
26366			if v != nil {
26367				var writeBatchSize interface{}
26368				err = json.Unmarshal(*v, &writeBatchSize)
26369				if err != nil {
26370					return err
26371				}
26372				aqs.WriteBatchSize = writeBatchSize
26373			}
26374		case "writeBatchTimeout":
26375			if v != nil {
26376				var writeBatchTimeout interface{}
26377				err = json.Unmarshal(*v, &writeBatchTimeout)
26378				if err != nil {
26379					return err
26380				}
26381				aqs.WriteBatchTimeout = writeBatchTimeout
26382			}
26383		case "sinkRetryCount":
26384			if v != nil {
26385				var sinkRetryCount interface{}
26386				err = json.Unmarshal(*v, &sinkRetryCount)
26387				if err != nil {
26388					return err
26389				}
26390				aqs.SinkRetryCount = sinkRetryCount
26391			}
26392		case "sinkRetryWait":
26393			if v != nil {
26394				var sinkRetryWait interface{}
26395				err = json.Unmarshal(*v, &sinkRetryWait)
26396				if err != nil {
26397					return err
26398				}
26399				aqs.SinkRetryWait = sinkRetryWait
26400			}
26401		case "maxConcurrentConnections":
26402			if v != nil {
26403				var maxConcurrentConnections interface{}
26404				err = json.Unmarshal(*v, &maxConcurrentConnections)
26405				if err != nil {
26406					return err
26407				}
26408				aqs.MaxConcurrentConnections = maxConcurrentConnections
26409			}
26410		case "type":
26411			if v != nil {
26412				var typeVar TypeBasicCopySink
26413				err = json.Unmarshal(*v, &typeVar)
26414				if err != nil {
26415					return err
26416				}
26417				aqs.Type = typeVar
26418			}
26419		}
26420	}
26421
26422	return nil
26423}
26424
26425// AzureSearchIndexDataset the Azure Search Index.
26426type AzureSearchIndexDataset struct {
26427	// AzureSearchIndexDatasetTypeProperties - Properties specific to this dataset type.
26428	*AzureSearchIndexDatasetTypeProperties `json:"typeProperties,omitempty"`
26429	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
26430	AdditionalProperties map[string]interface{} `json:""`
26431	// Description - Dataset description.
26432	Description *string `json:"description,omitempty"`
26433	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
26434	Structure interface{} `json:"structure,omitempty"`
26435	// Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement.
26436	Schema interface{} `json:"schema,omitempty"`
26437	// LinkedServiceName - Linked service reference.
26438	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
26439	// Parameters - Parameters for dataset.
26440	Parameters map[string]*ParameterSpecification `json:"parameters"`
26441	// Annotations - List of tags that can be used for describing the Dataset.
26442	Annotations *[]interface{} `json:"annotations,omitempty"`
26443	// Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level.
26444	Folder *DatasetFolder `json:"folder,omitempty"`
26445	// Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', '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', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeDelimitedText', 'TypeParquet', 'TypeAmazonS3Object'
26446	Type TypeBasicDataset `json:"type,omitempty"`
26447}
26448
26449// MarshalJSON is the custom marshaler for AzureSearchIndexDataset.
26450func (asid AzureSearchIndexDataset) MarshalJSON() ([]byte, error) {
26451	asid.Type = TypeAzureSearchIndex
26452	objectMap := make(map[string]interface{})
26453	if asid.AzureSearchIndexDatasetTypeProperties != nil {
26454		objectMap["typeProperties"] = asid.AzureSearchIndexDatasetTypeProperties
26455	}
26456	if asid.Description != nil {
26457		objectMap["description"] = asid.Description
26458	}
26459	if asid.Structure != nil {
26460		objectMap["structure"] = asid.Structure
26461	}
26462	if asid.Schema != nil {
26463		objectMap["schema"] = asid.Schema
26464	}
26465	if asid.LinkedServiceName != nil {
26466		objectMap["linkedServiceName"] = asid.LinkedServiceName
26467	}
26468	if asid.Parameters != nil {
26469		objectMap["parameters"] = asid.Parameters
26470	}
26471	if asid.Annotations != nil {
26472		objectMap["annotations"] = asid.Annotations
26473	}
26474	if asid.Folder != nil {
26475		objectMap["folder"] = asid.Folder
26476	}
26477	if asid.Type != "" {
26478		objectMap["type"] = asid.Type
26479	}
26480	for k, v := range asid.AdditionalProperties {
26481		objectMap[k] = v
26482	}
26483	return json.Marshal(objectMap)
26484}
26485
26486// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for AzureSearchIndexDataset.
26487func (asid AzureSearchIndexDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) {
26488	return nil, false
26489}
26490
26491// AsAzureDataExplorerTableDataset is the BasicDataset implementation for AzureSearchIndexDataset.
26492func (asid AzureSearchIndexDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) {
26493	return nil, false
26494}
26495
26496// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for AzureSearchIndexDataset.
26497func (asid AzureSearchIndexDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) {
26498	return nil, false
26499}
26500
26501// AsDynamicsAXResourceDataset is the BasicDataset implementation for AzureSearchIndexDataset.
26502func (asid AzureSearchIndexDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) {
26503	return nil, false
26504}
26505
26506// AsResponsysObjectDataset is the BasicDataset implementation for AzureSearchIndexDataset.
26507func (asid AzureSearchIndexDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
26508	return nil, false
26509}
26510
26511// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for AzureSearchIndexDataset.
26512func (asid AzureSearchIndexDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
26513	return nil, false
26514}
26515
26516// AsVerticaTableDataset is the BasicDataset implementation for AzureSearchIndexDataset.
26517func (asid AzureSearchIndexDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
26518	return nil, false
26519}
26520
26521// AsNetezzaTableDataset is the BasicDataset implementation for AzureSearchIndexDataset.
26522func (asid AzureSearchIndexDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
26523	return nil, false
26524}
26525
26526// AsZohoObjectDataset is the BasicDataset implementation for AzureSearchIndexDataset.
26527func (asid AzureSearchIndexDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
26528	return nil, false
26529}
26530
26531// AsXeroObjectDataset is the BasicDataset implementation for AzureSearchIndexDataset.
26532func (asid AzureSearchIndexDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
26533	return nil, false
26534}
26535
26536// AsSquareObjectDataset is the BasicDataset implementation for AzureSearchIndexDataset.
26537func (asid AzureSearchIndexDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
26538	return nil, false
26539}
26540
26541// AsSparkObjectDataset is the BasicDataset implementation for AzureSearchIndexDataset.
26542func (asid AzureSearchIndexDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
26543	return nil, false
26544}
26545
26546// AsShopifyObjectDataset is the BasicDataset implementation for AzureSearchIndexDataset.
26547func (asid AzureSearchIndexDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
26548	return nil, false
26549}
26550
26551// AsServiceNowObjectDataset is the BasicDataset implementation for AzureSearchIndexDataset.
26552func (asid AzureSearchIndexDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
26553	return nil, false
26554}
26555
26556// AsQuickBooksObjectDataset is the BasicDataset implementation for AzureSearchIndexDataset.
26557func (asid AzureSearchIndexDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
26558	return nil, false
26559}
26560
26561// AsPrestoObjectDataset is the BasicDataset implementation for AzureSearchIndexDataset.
26562func (asid AzureSearchIndexDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
26563	return nil, false
26564}
26565
26566// AsPhoenixObjectDataset is the BasicDataset implementation for AzureSearchIndexDataset.
26567func (asid AzureSearchIndexDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
26568	return nil, false
26569}
26570
26571// AsPaypalObjectDataset is the BasicDataset implementation for AzureSearchIndexDataset.
26572func (asid AzureSearchIndexDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
26573	return nil, false
26574}
26575
26576// AsMarketoObjectDataset is the BasicDataset implementation for AzureSearchIndexDataset.
26577func (asid AzureSearchIndexDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
26578	return nil, false
26579}
26580
26581// AsMariaDBTableDataset is the BasicDataset implementation for AzureSearchIndexDataset.
26582func (asid AzureSearchIndexDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
26583	return nil, false
26584}
26585
26586// AsMagentoObjectDataset is the BasicDataset implementation for AzureSearchIndexDataset.
26587func (asid AzureSearchIndexDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
26588	return nil, false
26589}
26590
26591// AsJiraObjectDataset is the BasicDataset implementation for AzureSearchIndexDataset.
26592func (asid AzureSearchIndexDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
26593	return nil, false
26594}
26595
26596// AsImpalaObjectDataset is the BasicDataset implementation for AzureSearchIndexDataset.
26597func (asid AzureSearchIndexDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
26598	return nil, false
26599}
26600
26601// AsHubspotObjectDataset is the BasicDataset implementation for AzureSearchIndexDataset.
26602func (asid AzureSearchIndexDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
26603	return nil, false
26604}
26605
26606// AsHiveObjectDataset is the BasicDataset implementation for AzureSearchIndexDataset.
26607func (asid AzureSearchIndexDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
26608	return nil, false
26609}
26610
26611// AsHBaseObjectDataset is the BasicDataset implementation for AzureSearchIndexDataset.
26612func (asid AzureSearchIndexDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
26613	return nil, false
26614}
26615
26616// AsGreenplumTableDataset is the BasicDataset implementation for AzureSearchIndexDataset.
26617func (asid AzureSearchIndexDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
26618	return nil, false
26619}
26620
26621// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for AzureSearchIndexDataset.
26622func (asid AzureSearchIndexDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
26623	return nil, false
26624}
26625
26626// AsEloquaObjectDataset is the BasicDataset implementation for AzureSearchIndexDataset.
26627func (asid AzureSearchIndexDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
26628	return nil, false
26629}
26630
26631// AsDrillTableDataset is the BasicDataset implementation for AzureSearchIndexDataset.
26632func (asid AzureSearchIndexDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
26633	return nil, false
26634}
26635
26636// AsCouchbaseTableDataset is the BasicDataset implementation for AzureSearchIndexDataset.
26637func (asid AzureSearchIndexDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
26638	return nil, false
26639}
26640
26641// AsConcurObjectDataset is the BasicDataset implementation for AzureSearchIndexDataset.
26642func (asid AzureSearchIndexDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
26643	return nil, false
26644}
26645
26646// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for AzureSearchIndexDataset.
26647func (asid AzureSearchIndexDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
26648	return nil, false
26649}
26650
26651// AsAmazonMWSObjectDataset is the BasicDataset implementation for AzureSearchIndexDataset.
26652func (asid AzureSearchIndexDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
26653	return nil, false
26654}
26655
26656// AsHTTPDataset is the BasicDataset implementation for AzureSearchIndexDataset.
26657func (asid AzureSearchIndexDataset) AsHTTPDataset() (*HTTPDataset, bool) {
26658	return nil, false
26659}
26660
26661// AsAzureSearchIndexDataset is the BasicDataset implementation for AzureSearchIndexDataset.
26662func (asid AzureSearchIndexDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
26663	return &asid, true
26664}
26665
26666// AsWebTableDataset is the BasicDataset implementation for AzureSearchIndexDataset.
26667func (asid AzureSearchIndexDataset) AsWebTableDataset() (*WebTableDataset, bool) {
26668	return nil, false
26669}
26670
26671// AsSapTableResourceDataset is the BasicDataset implementation for AzureSearchIndexDataset.
26672func (asid AzureSearchIndexDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) {
26673	return nil, false
26674}
26675
26676// AsRestResourceDataset is the BasicDataset implementation for AzureSearchIndexDataset.
26677func (asid AzureSearchIndexDataset) AsRestResourceDataset() (*RestResourceDataset, bool) {
26678	return nil, false
26679}
26680
26681// AsSQLServerTableDataset is the BasicDataset implementation for AzureSearchIndexDataset.
26682func (asid AzureSearchIndexDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
26683	return nil, false
26684}
26685
26686// AsSapOpenHubTableDataset is the BasicDataset implementation for AzureSearchIndexDataset.
26687func (asid AzureSearchIndexDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) {
26688	return nil, false
26689}
26690
26691// AsSapHanaTableDataset is the BasicDataset implementation for AzureSearchIndexDataset.
26692func (asid AzureSearchIndexDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) {
26693	return nil, false
26694}
26695
26696// AsSapEccResourceDataset is the BasicDataset implementation for AzureSearchIndexDataset.
26697func (asid AzureSearchIndexDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
26698	return nil, false
26699}
26700
26701// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for AzureSearchIndexDataset.
26702func (asid AzureSearchIndexDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
26703	return nil, false
26704}
26705
26706// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for AzureSearchIndexDataset.
26707func (asid AzureSearchIndexDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) {
26708	return nil, false
26709}
26710
26711// AsSalesforceObjectDataset is the BasicDataset implementation for AzureSearchIndexDataset.
26712func (asid AzureSearchIndexDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
26713	return nil, false
26714}
26715
26716// AsMicrosoftAccessTableDataset is the BasicDataset implementation for AzureSearchIndexDataset.
26717func (asid AzureSearchIndexDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) {
26718	return nil, false
26719}
26720
26721// AsPostgreSQLTableDataset is the BasicDataset implementation for AzureSearchIndexDataset.
26722func (asid AzureSearchIndexDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) {
26723	return nil, false
26724}
26725
26726// AsMySQLTableDataset is the BasicDataset implementation for AzureSearchIndexDataset.
26727func (asid AzureSearchIndexDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) {
26728	return nil, false
26729}
26730
26731// AsOdbcTableDataset is the BasicDataset implementation for AzureSearchIndexDataset.
26732func (asid AzureSearchIndexDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) {
26733	return nil, false
26734}
26735
26736// AsInformixTableDataset is the BasicDataset implementation for AzureSearchIndexDataset.
26737func (asid AzureSearchIndexDataset) AsInformixTableDataset() (*InformixTableDataset, bool) {
26738	return nil, false
26739}
26740
26741// AsRelationalTableDataset is the BasicDataset implementation for AzureSearchIndexDataset.
26742func (asid AzureSearchIndexDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
26743	return nil, false
26744}
26745
26746// AsAzureMySQLTableDataset is the BasicDataset implementation for AzureSearchIndexDataset.
26747func (asid AzureSearchIndexDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
26748	return nil, false
26749}
26750
26751// AsTeradataTableDataset is the BasicDataset implementation for AzureSearchIndexDataset.
26752func (asid AzureSearchIndexDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) {
26753	return nil, false
26754}
26755
26756// AsOracleTableDataset is the BasicDataset implementation for AzureSearchIndexDataset.
26757func (asid AzureSearchIndexDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
26758	return nil, false
26759}
26760
26761// AsODataResourceDataset is the BasicDataset implementation for AzureSearchIndexDataset.
26762func (asid AzureSearchIndexDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
26763	return nil, false
26764}
26765
26766// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for AzureSearchIndexDataset.
26767func (asid AzureSearchIndexDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) {
26768	return nil, false
26769}
26770
26771// AsMongoDbV2CollectionDataset is the BasicDataset implementation for AzureSearchIndexDataset.
26772func (asid AzureSearchIndexDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) {
26773	return nil, false
26774}
26775
26776// AsMongoDbCollectionDataset is the BasicDataset implementation for AzureSearchIndexDataset.
26777func (asid AzureSearchIndexDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
26778	return nil, false
26779}
26780
26781// AsFileShareDataset is the BasicDataset implementation for AzureSearchIndexDataset.
26782func (asid AzureSearchIndexDataset) AsFileShareDataset() (*FileShareDataset, bool) {
26783	return nil, false
26784}
26785
26786// AsOffice365Dataset is the BasicDataset implementation for AzureSearchIndexDataset.
26787func (asid AzureSearchIndexDataset) AsOffice365Dataset() (*Office365Dataset, bool) {
26788	return nil, false
26789}
26790
26791// AsAzureBlobFSDataset is the BasicDataset implementation for AzureSearchIndexDataset.
26792func (asid AzureSearchIndexDataset) AsAzureBlobFSDataset() (*AzureBlobFSDataset, bool) {
26793	return nil, false
26794}
26795
26796// AsAzureDataLakeStoreDataset is the BasicDataset implementation for AzureSearchIndexDataset.
26797func (asid AzureSearchIndexDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) {
26798	return nil, false
26799}
26800
26801// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for AzureSearchIndexDataset.
26802func (asid AzureSearchIndexDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) {
26803	return nil, false
26804}
26805
26806// AsDynamicsCrmEntityDataset is the BasicDataset implementation for AzureSearchIndexDataset.
26807func (asid AzureSearchIndexDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) {
26808	return nil, false
26809}
26810
26811// AsDynamicsEntityDataset is the BasicDataset implementation for AzureSearchIndexDataset.
26812func (asid AzureSearchIndexDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
26813	return nil, false
26814}
26815
26816// AsDocumentDbCollectionDataset is the BasicDataset implementation for AzureSearchIndexDataset.
26817func (asid AzureSearchIndexDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
26818	return nil, false
26819}
26820
26821// AsCustomDataset is the BasicDataset implementation for AzureSearchIndexDataset.
26822func (asid AzureSearchIndexDataset) AsCustomDataset() (*CustomDataset, bool) {
26823	return nil, false
26824}
26825
26826// AsCassandraTableDataset is the BasicDataset implementation for AzureSearchIndexDataset.
26827func (asid AzureSearchIndexDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
26828	return nil, false
26829}
26830
26831// AsAzureSQLDWTableDataset is the BasicDataset implementation for AzureSearchIndexDataset.
26832func (asid AzureSearchIndexDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
26833	return nil, false
26834}
26835
26836// AsAzureSQLMITableDataset is the BasicDataset implementation for AzureSearchIndexDataset.
26837func (asid AzureSearchIndexDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) {
26838	return nil, false
26839}
26840
26841// AsAzureSQLTableDataset is the BasicDataset implementation for AzureSearchIndexDataset.
26842func (asid AzureSearchIndexDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
26843	return nil, false
26844}
26845
26846// AsAzureTableDataset is the BasicDataset implementation for AzureSearchIndexDataset.
26847func (asid AzureSearchIndexDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
26848	return nil, false
26849}
26850
26851// AsAzureBlobDataset is the BasicDataset implementation for AzureSearchIndexDataset.
26852func (asid AzureSearchIndexDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) {
26853	return nil, false
26854}
26855
26856// AsBinaryDataset is the BasicDataset implementation for AzureSearchIndexDataset.
26857func (asid AzureSearchIndexDataset) AsBinaryDataset() (*BinaryDataset, bool) {
26858	return nil, false
26859}
26860
26861// AsDelimitedTextDataset is the BasicDataset implementation for AzureSearchIndexDataset.
26862func (asid AzureSearchIndexDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) {
26863	return nil, false
26864}
26865
26866// AsParquetDataset is the BasicDataset implementation for AzureSearchIndexDataset.
26867func (asid AzureSearchIndexDataset) AsParquetDataset() (*ParquetDataset, bool) {
26868	return nil, false
26869}
26870
26871// AsAmazonS3Dataset is the BasicDataset implementation for AzureSearchIndexDataset.
26872func (asid AzureSearchIndexDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) {
26873	return nil, false
26874}
26875
26876// AsDataset is the BasicDataset implementation for AzureSearchIndexDataset.
26877func (asid AzureSearchIndexDataset) AsDataset() (*Dataset, bool) {
26878	return nil, false
26879}
26880
26881// AsBasicDataset is the BasicDataset implementation for AzureSearchIndexDataset.
26882func (asid AzureSearchIndexDataset) AsBasicDataset() (BasicDataset, bool) {
26883	return &asid, true
26884}
26885
26886// UnmarshalJSON is the custom unmarshaler for AzureSearchIndexDataset struct.
26887func (asid *AzureSearchIndexDataset) UnmarshalJSON(body []byte) error {
26888	var m map[string]*json.RawMessage
26889	err := json.Unmarshal(body, &m)
26890	if err != nil {
26891		return err
26892	}
26893	for k, v := range m {
26894		switch k {
26895		case "typeProperties":
26896			if v != nil {
26897				var azureSearchIndexDatasetTypeProperties AzureSearchIndexDatasetTypeProperties
26898				err = json.Unmarshal(*v, &azureSearchIndexDatasetTypeProperties)
26899				if err != nil {
26900					return err
26901				}
26902				asid.AzureSearchIndexDatasetTypeProperties = &azureSearchIndexDatasetTypeProperties
26903			}
26904		default:
26905			if v != nil {
26906				var additionalProperties interface{}
26907				err = json.Unmarshal(*v, &additionalProperties)
26908				if err != nil {
26909					return err
26910				}
26911				if asid.AdditionalProperties == nil {
26912					asid.AdditionalProperties = make(map[string]interface{})
26913				}
26914				asid.AdditionalProperties[k] = additionalProperties
26915			}
26916		case "description":
26917			if v != nil {
26918				var description string
26919				err = json.Unmarshal(*v, &description)
26920				if err != nil {
26921					return err
26922				}
26923				asid.Description = &description
26924			}
26925		case "structure":
26926			if v != nil {
26927				var structure interface{}
26928				err = json.Unmarshal(*v, &structure)
26929				if err != nil {
26930					return err
26931				}
26932				asid.Structure = structure
26933			}
26934		case "schema":
26935			if v != nil {
26936				var schema interface{}
26937				err = json.Unmarshal(*v, &schema)
26938				if err != nil {
26939					return err
26940				}
26941				asid.Schema = schema
26942			}
26943		case "linkedServiceName":
26944			if v != nil {
26945				var linkedServiceName LinkedServiceReference
26946				err = json.Unmarshal(*v, &linkedServiceName)
26947				if err != nil {
26948					return err
26949				}
26950				asid.LinkedServiceName = &linkedServiceName
26951			}
26952		case "parameters":
26953			if v != nil {
26954				var parameters map[string]*ParameterSpecification
26955				err = json.Unmarshal(*v, &parameters)
26956				if err != nil {
26957					return err
26958				}
26959				asid.Parameters = parameters
26960			}
26961		case "annotations":
26962			if v != nil {
26963				var annotations []interface{}
26964				err = json.Unmarshal(*v, &annotations)
26965				if err != nil {
26966					return err
26967				}
26968				asid.Annotations = &annotations
26969			}
26970		case "folder":
26971			if v != nil {
26972				var folder DatasetFolder
26973				err = json.Unmarshal(*v, &folder)
26974				if err != nil {
26975					return err
26976				}
26977				asid.Folder = &folder
26978			}
26979		case "type":
26980			if v != nil {
26981				var typeVar TypeBasicDataset
26982				err = json.Unmarshal(*v, &typeVar)
26983				if err != nil {
26984					return err
26985				}
26986				asid.Type = typeVar
26987			}
26988		}
26989	}
26990
26991	return nil
26992}
26993
26994// AzureSearchIndexDatasetTypeProperties properties specific to this dataset type.
26995type AzureSearchIndexDatasetTypeProperties struct {
26996	// IndexName - The name of the Azure Search Index. Type: string (or Expression with resultType string).
26997	IndexName interface{} `json:"indexName,omitempty"`
26998}
26999
27000// AzureSearchIndexSink a copy activity Azure Search Index sink.
27001type AzureSearchIndexSink struct {
27002	// WriteBehavior - Specify the write behavior when upserting documents into Azure Search Index. Possible values include: 'Merge', 'Upload'
27003	WriteBehavior AzureSearchIndexWriteBehaviorType `json:"writeBehavior,omitempty"`
27004	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
27005	AdditionalProperties map[string]interface{} `json:""`
27006	// WriteBatchSize - Write batch size. Type: integer (or Expression with resultType integer), minimum: 0.
27007	WriteBatchSize interface{} `json:"writeBatchSize,omitempty"`
27008	// 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])).
27009	WriteBatchTimeout interface{} `json:"writeBatchTimeout,omitempty"`
27010	// SinkRetryCount - Sink retry count. Type: integer (or Expression with resultType integer).
27011	SinkRetryCount interface{} `json:"sinkRetryCount,omitempty"`
27012	// 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])).
27013	SinkRetryWait interface{} `json:"sinkRetryWait,omitempty"`
27014	// MaxConcurrentConnections - The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer).
27015	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
27016	// Type - Possible values include: 'TypeCopySink', 'TypeCosmosDbMongoDbAPISink', 'TypeSalesforceServiceCloudSink', 'TypeSalesforceSink', 'TypeAzureDataExplorerSink', 'TypeCommonDataServiceForAppsSink', 'TypeDynamicsCrmSink', 'TypeDynamicsSink', 'TypeMicrosoftAccessSink', 'TypeInformixSink', 'TypeOdbcSink', 'TypeAzureSearchIndexSink', 'TypeAzureBlobFSSink', 'TypeAzureDataLakeStoreSink', 'TypeOracleSink', 'TypeSQLDWSink', 'TypeSQLMISink', 'TypeAzureSQLSink', 'TypeSQLServerSink', 'TypeSQLSink', 'TypeDocumentDbCollectionSink', 'TypeFileSystemSink', 'TypeBlobSink', 'TypeBinarySink', 'TypeParquetSink', 'TypeAzureTableSink', 'TypeAzureQueueSink', 'TypeSapCloudForCustomerSink', 'TypeAzurePostgreSQLSink', 'TypeDelimitedTextSink'
27017	Type TypeBasicCopySink `json:"type,omitempty"`
27018}
27019
27020// MarshalJSON is the custom marshaler for AzureSearchIndexSink.
27021func (asis AzureSearchIndexSink) MarshalJSON() ([]byte, error) {
27022	asis.Type = TypeAzureSearchIndexSink
27023	objectMap := make(map[string]interface{})
27024	if asis.WriteBehavior != "" {
27025		objectMap["writeBehavior"] = asis.WriteBehavior
27026	}
27027	if asis.WriteBatchSize != nil {
27028		objectMap["writeBatchSize"] = asis.WriteBatchSize
27029	}
27030	if asis.WriteBatchTimeout != nil {
27031		objectMap["writeBatchTimeout"] = asis.WriteBatchTimeout
27032	}
27033	if asis.SinkRetryCount != nil {
27034		objectMap["sinkRetryCount"] = asis.SinkRetryCount
27035	}
27036	if asis.SinkRetryWait != nil {
27037		objectMap["sinkRetryWait"] = asis.SinkRetryWait
27038	}
27039	if asis.MaxConcurrentConnections != nil {
27040		objectMap["maxConcurrentConnections"] = asis.MaxConcurrentConnections
27041	}
27042	if asis.Type != "" {
27043		objectMap["type"] = asis.Type
27044	}
27045	for k, v := range asis.AdditionalProperties {
27046		objectMap[k] = v
27047	}
27048	return json.Marshal(objectMap)
27049}
27050
27051// AsCosmosDbMongoDbAPISink is the BasicCopySink implementation for AzureSearchIndexSink.
27052func (asis AzureSearchIndexSink) AsCosmosDbMongoDbAPISink() (*CosmosDbMongoDbAPISink, bool) {
27053	return nil, false
27054}
27055
27056// AsSalesforceServiceCloudSink is the BasicCopySink implementation for AzureSearchIndexSink.
27057func (asis AzureSearchIndexSink) AsSalesforceServiceCloudSink() (*SalesforceServiceCloudSink, bool) {
27058	return nil, false
27059}
27060
27061// AsSalesforceSink is the BasicCopySink implementation for AzureSearchIndexSink.
27062func (asis AzureSearchIndexSink) AsSalesforceSink() (*SalesforceSink, bool) {
27063	return nil, false
27064}
27065
27066// AsAzureDataExplorerSink is the BasicCopySink implementation for AzureSearchIndexSink.
27067func (asis AzureSearchIndexSink) AsAzureDataExplorerSink() (*AzureDataExplorerSink, bool) {
27068	return nil, false
27069}
27070
27071// AsCommonDataServiceForAppsSink is the BasicCopySink implementation for AzureSearchIndexSink.
27072func (asis AzureSearchIndexSink) AsCommonDataServiceForAppsSink() (*CommonDataServiceForAppsSink, bool) {
27073	return nil, false
27074}
27075
27076// AsDynamicsCrmSink is the BasicCopySink implementation for AzureSearchIndexSink.
27077func (asis AzureSearchIndexSink) AsDynamicsCrmSink() (*DynamicsCrmSink, bool) {
27078	return nil, false
27079}
27080
27081// AsDynamicsSink is the BasicCopySink implementation for AzureSearchIndexSink.
27082func (asis AzureSearchIndexSink) AsDynamicsSink() (*DynamicsSink, bool) {
27083	return nil, false
27084}
27085
27086// AsMicrosoftAccessSink is the BasicCopySink implementation for AzureSearchIndexSink.
27087func (asis AzureSearchIndexSink) AsMicrosoftAccessSink() (*MicrosoftAccessSink, bool) {
27088	return nil, false
27089}
27090
27091// AsInformixSink is the BasicCopySink implementation for AzureSearchIndexSink.
27092func (asis AzureSearchIndexSink) AsInformixSink() (*InformixSink, bool) {
27093	return nil, false
27094}
27095
27096// AsOdbcSink is the BasicCopySink implementation for AzureSearchIndexSink.
27097func (asis AzureSearchIndexSink) AsOdbcSink() (*OdbcSink, bool) {
27098	return nil, false
27099}
27100
27101// AsAzureSearchIndexSink is the BasicCopySink implementation for AzureSearchIndexSink.
27102func (asis AzureSearchIndexSink) AsAzureSearchIndexSink() (*AzureSearchIndexSink, bool) {
27103	return &asis, true
27104}
27105
27106// AsAzureBlobFSSink is the BasicCopySink implementation for AzureSearchIndexSink.
27107func (asis AzureSearchIndexSink) AsAzureBlobFSSink() (*AzureBlobFSSink, bool) {
27108	return nil, false
27109}
27110
27111// AsAzureDataLakeStoreSink is the BasicCopySink implementation for AzureSearchIndexSink.
27112func (asis AzureSearchIndexSink) AsAzureDataLakeStoreSink() (*AzureDataLakeStoreSink, bool) {
27113	return nil, false
27114}
27115
27116// AsOracleSink is the BasicCopySink implementation for AzureSearchIndexSink.
27117func (asis AzureSearchIndexSink) AsOracleSink() (*OracleSink, bool) {
27118	return nil, false
27119}
27120
27121// AsSQLDWSink is the BasicCopySink implementation for AzureSearchIndexSink.
27122func (asis AzureSearchIndexSink) AsSQLDWSink() (*SQLDWSink, bool) {
27123	return nil, false
27124}
27125
27126// AsSQLMISink is the BasicCopySink implementation for AzureSearchIndexSink.
27127func (asis AzureSearchIndexSink) AsSQLMISink() (*SQLMISink, bool) {
27128	return nil, false
27129}
27130
27131// AsAzureSQLSink is the BasicCopySink implementation for AzureSearchIndexSink.
27132func (asis AzureSearchIndexSink) AsAzureSQLSink() (*AzureSQLSink, bool) {
27133	return nil, false
27134}
27135
27136// AsSQLServerSink is the BasicCopySink implementation for AzureSearchIndexSink.
27137func (asis AzureSearchIndexSink) AsSQLServerSink() (*SQLServerSink, bool) {
27138	return nil, false
27139}
27140
27141// AsSQLSink is the BasicCopySink implementation for AzureSearchIndexSink.
27142func (asis AzureSearchIndexSink) AsSQLSink() (*SQLSink, bool) {
27143	return nil, false
27144}
27145
27146// AsDocumentDbCollectionSink is the BasicCopySink implementation for AzureSearchIndexSink.
27147func (asis AzureSearchIndexSink) AsDocumentDbCollectionSink() (*DocumentDbCollectionSink, bool) {
27148	return nil, false
27149}
27150
27151// AsFileSystemSink is the BasicCopySink implementation for AzureSearchIndexSink.
27152func (asis AzureSearchIndexSink) AsFileSystemSink() (*FileSystemSink, bool) {
27153	return nil, false
27154}
27155
27156// AsBlobSink is the BasicCopySink implementation for AzureSearchIndexSink.
27157func (asis AzureSearchIndexSink) AsBlobSink() (*BlobSink, bool) {
27158	return nil, false
27159}
27160
27161// AsBinarySink is the BasicCopySink implementation for AzureSearchIndexSink.
27162func (asis AzureSearchIndexSink) AsBinarySink() (*BinarySink, bool) {
27163	return nil, false
27164}
27165
27166// AsParquetSink is the BasicCopySink implementation for AzureSearchIndexSink.
27167func (asis AzureSearchIndexSink) AsParquetSink() (*ParquetSink, bool) {
27168	return nil, false
27169}
27170
27171// AsAzureTableSink is the BasicCopySink implementation for AzureSearchIndexSink.
27172func (asis AzureSearchIndexSink) AsAzureTableSink() (*AzureTableSink, bool) {
27173	return nil, false
27174}
27175
27176// AsAzureQueueSink is the BasicCopySink implementation for AzureSearchIndexSink.
27177func (asis AzureSearchIndexSink) AsAzureQueueSink() (*AzureQueueSink, bool) {
27178	return nil, false
27179}
27180
27181// AsSapCloudForCustomerSink is the BasicCopySink implementation for AzureSearchIndexSink.
27182func (asis AzureSearchIndexSink) AsSapCloudForCustomerSink() (*SapCloudForCustomerSink, bool) {
27183	return nil, false
27184}
27185
27186// AsAzurePostgreSQLSink is the BasicCopySink implementation for AzureSearchIndexSink.
27187func (asis AzureSearchIndexSink) AsAzurePostgreSQLSink() (*AzurePostgreSQLSink, bool) {
27188	return nil, false
27189}
27190
27191// AsDelimitedTextSink is the BasicCopySink implementation for AzureSearchIndexSink.
27192func (asis AzureSearchIndexSink) AsDelimitedTextSink() (*DelimitedTextSink, bool) {
27193	return nil, false
27194}
27195
27196// AsCopySink is the BasicCopySink implementation for AzureSearchIndexSink.
27197func (asis AzureSearchIndexSink) AsCopySink() (*CopySink, bool) {
27198	return nil, false
27199}
27200
27201// AsBasicCopySink is the BasicCopySink implementation for AzureSearchIndexSink.
27202func (asis AzureSearchIndexSink) AsBasicCopySink() (BasicCopySink, bool) {
27203	return &asis, true
27204}
27205
27206// UnmarshalJSON is the custom unmarshaler for AzureSearchIndexSink struct.
27207func (asis *AzureSearchIndexSink) 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		case "writeBehavior":
27216			if v != nil {
27217				var writeBehavior AzureSearchIndexWriteBehaviorType
27218				err = json.Unmarshal(*v, &writeBehavior)
27219				if err != nil {
27220					return err
27221				}
27222				asis.WriteBehavior = writeBehavior
27223			}
27224		default:
27225			if v != nil {
27226				var additionalProperties interface{}
27227				err = json.Unmarshal(*v, &additionalProperties)
27228				if err != nil {
27229					return err
27230				}
27231				if asis.AdditionalProperties == nil {
27232					asis.AdditionalProperties = make(map[string]interface{})
27233				}
27234				asis.AdditionalProperties[k] = additionalProperties
27235			}
27236		case "writeBatchSize":
27237			if v != nil {
27238				var writeBatchSize interface{}
27239				err = json.Unmarshal(*v, &writeBatchSize)
27240				if err != nil {
27241					return err
27242				}
27243				asis.WriteBatchSize = writeBatchSize
27244			}
27245		case "writeBatchTimeout":
27246			if v != nil {
27247				var writeBatchTimeout interface{}
27248				err = json.Unmarshal(*v, &writeBatchTimeout)
27249				if err != nil {
27250					return err
27251				}
27252				asis.WriteBatchTimeout = writeBatchTimeout
27253			}
27254		case "sinkRetryCount":
27255			if v != nil {
27256				var sinkRetryCount interface{}
27257				err = json.Unmarshal(*v, &sinkRetryCount)
27258				if err != nil {
27259					return err
27260				}
27261				asis.SinkRetryCount = sinkRetryCount
27262			}
27263		case "sinkRetryWait":
27264			if v != nil {
27265				var sinkRetryWait interface{}
27266				err = json.Unmarshal(*v, &sinkRetryWait)
27267				if err != nil {
27268					return err
27269				}
27270				asis.SinkRetryWait = sinkRetryWait
27271			}
27272		case "maxConcurrentConnections":
27273			if v != nil {
27274				var maxConcurrentConnections interface{}
27275				err = json.Unmarshal(*v, &maxConcurrentConnections)
27276				if err != nil {
27277					return err
27278				}
27279				asis.MaxConcurrentConnections = maxConcurrentConnections
27280			}
27281		case "type":
27282			if v != nil {
27283				var typeVar TypeBasicCopySink
27284				err = json.Unmarshal(*v, &typeVar)
27285				if err != nil {
27286					return err
27287				}
27288				asis.Type = typeVar
27289			}
27290		}
27291	}
27292
27293	return nil
27294}
27295
27296// AzureSearchLinkedService linked service for Windows Azure Search Service.
27297type AzureSearchLinkedService struct {
27298	// AzureSearchLinkedServiceTypeProperties - Windows Azure Search Service linked service properties.
27299	*AzureSearchLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
27300	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
27301	AdditionalProperties map[string]interface{} `json:""`
27302	// ConnectVia - The integration runtime reference.
27303	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
27304	// Description - Linked service description.
27305	Description *string `json:"description,omitempty"`
27306	// Parameters - Parameters for linked service.
27307	Parameters map[string]*ParameterSpecification `json:"parameters"`
27308	// Annotations - List of tags that can be used for describing the linked service.
27309	Annotations *[]interface{} `json:"annotations,omitempty"`
27310	// Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', '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', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage'
27311	Type TypeBasicLinkedService `json:"type,omitempty"`
27312}
27313
27314// MarshalJSON is the custom marshaler for AzureSearchLinkedService.
27315func (asls AzureSearchLinkedService) MarshalJSON() ([]byte, error) {
27316	asls.Type = TypeAzureSearch
27317	objectMap := make(map[string]interface{})
27318	if asls.AzureSearchLinkedServiceTypeProperties != nil {
27319		objectMap["typeProperties"] = asls.AzureSearchLinkedServiceTypeProperties
27320	}
27321	if asls.ConnectVia != nil {
27322		objectMap["connectVia"] = asls.ConnectVia
27323	}
27324	if asls.Description != nil {
27325		objectMap["description"] = asls.Description
27326	}
27327	if asls.Parameters != nil {
27328		objectMap["parameters"] = asls.Parameters
27329	}
27330	if asls.Annotations != nil {
27331		objectMap["annotations"] = asls.Annotations
27332	}
27333	if asls.Type != "" {
27334		objectMap["type"] = asls.Type
27335	}
27336	for k, v := range asls.AdditionalProperties {
27337		objectMap[k] = v
27338	}
27339	return json.Marshal(objectMap)
27340}
27341
27342// AsAzureFunctionLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
27343func (asls AzureSearchLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) {
27344	return nil, false
27345}
27346
27347// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
27348func (asls AzureSearchLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) {
27349	return nil, false
27350}
27351
27352// AsSapTableLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
27353func (asls AzureSearchLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) {
27354	return nil, false
27355}
27356
27357// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
27358func (asls AzureSearchLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) {
27359	return nil, false
27360}
27361
27362// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
27363func (asls AzureSearchLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) {
27364	return nil, false
27365}
27366
27367// AsDynamicsAXLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
27368func (asls AzureSearchLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) {
27369	return nil, false
27370}
27371
27372// AsResponsysLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
27373func (asls AzureSearchLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
27374	return nil, false
27375}
27376
27377// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
27378func (asls AzureSearchLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
27379	return nil, false
27380}
27381
27382// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
27383func (asls AzureSearchLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
27384	return nil, false
27385}
27386
27387// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
27388func (asls AzureSearchLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
27389	return nil, false
27390}
27391
27392// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
27393func (asls AzureSearchLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
27394	return nil, false
27395}
27396
27397// AsNetezzaLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
27398func (asls AzureSearchLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
27399	return nil, false
27400}
27401
27402// AsVerticaLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
27403func (asls AzureSearchLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
27404	return nil, false
27405}
27406
27407// AsZohoLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
27408func (asls AzureSearchLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
27409	return nil, false
27410}
27411
27412// AsXeroLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
27413func (asls AzureSearchLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
27414	return nil, false
27415}
27416
27417// AsSquareLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
27418func (asls AzureSearchLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
27419	return nil, false
27420}
27421
27422// AsSparkLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
27423func (asls AzureSearchLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
27424	return nil, false
27425}
27426
27427// AsShopifyLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
27428func (asls AzureSearchLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
27429	return nil, false
27430}
27431
27432// AsServiceNowLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
27433func (asls AzureSearchLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
27434	return nil, false
27435}
27436
27437// AsQuickBooksLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
27438func (asls AzureSearchLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
27439	return nil, false
27440}
27441
27442// AsPrestoLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
27443func (asls AzureSearchLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
27444	return nil, false
27445}
27446
27447// AsPhoenixLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
27448func (asls AzureSearchLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
27449	return nil, false
27450}
27451
27452// AsPaypalLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
27453func (asls AzureSearchLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
27454	return nil, false
27455}
27456
27457// AsMarketoLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
27458func (asls AzureSearchLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
27459	return nil, false
27460}
27461
27462// AsMariaDBLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
27463func (asls AzureSearchLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
27464	return nil, false
27465}
27466
27467// AsMagentoLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
27468func (asls AzureSearchLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
27469	return nil, false
27470}
27471
27472// AsJiraLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
27473func (asls AzureSearchLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
27474	return nil, false
27475}
27476
27477// AsImpalaLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
27478func (asls AzureSearchLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
27479	return nil, false
27480}
27481
27482// AsHubspotLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
27483func (asls AzureSearchLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
27484	return nil, false
27485}
27486
27487// AsHiveLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
27488func (asls AzureSearchLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
27489	return nil, false
27490}
27491
27492// AsHBaseLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
27493func (asls AzureSearchLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
27494	return nil, false
27495}
27496
27497// AsGreenplumLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
27498func (asls AzureSearchLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
27499	return nil, false
27500}
27501
27502// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
27503func (asls AzureSearchLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
27504	return nil, false
27505}
27506
27507// AsEloquaLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
27508func (asls AzureSearchLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
27509	return nil, false
27510}
27511
27512// AsDrillLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
27513func (asls AzureSearchLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
27514	return nil, false
27515}
27516
27517// AsCouchbaseLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
27518func (asls AzureSearchLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
27519	return nil, false
27520}
27521
27522// AsConcurLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
27523func (asls AzureSearchLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
27524	return nil, false
27525}
27526
27527// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
27528func (asls AzureSearchLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
27529	return nil, false
27530}
27531
27532// AsAmazonMWSLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
27533func (asls AzureSearchLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
27534	return nil, false
27535}
27536
27537// AsSapHanaLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
27538func (asls AzureSearchLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
27539	return nil, false
27540}
27541
27542// AsSapBWLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
27543func (asls AzureSearchLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
27544	return nil, false
27545}
27546
27547// AsSftpServerLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
27548func (asls AzureSearchLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
27549	return nil, false
27550}
27551
27552// AsFtpServerLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
27553func (asls AzureSearchLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
27554	return nil, false
27555}
27556
27557// AsHTTPLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
27558func (asls AzureSearchLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
27559	return nil, false
27560}
27561
27562// AsAzureSearchLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
27563func (asls AzureSearchLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
27564	return &asls, true
27565}
27566
27567// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
27568func (asls AzureSearchLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
27569	return nil, false
27570}
27571
27572// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
27573func (asls AzureSearchLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
27574	return nil, false
27575}
27576
27577// AsAmazonS3LinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
27578func (asls AzureSearchLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
27579	return nil, false
27580}
27581
27582// AsRestServiceLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
27583func (asls AzureSearchLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) {
27584	return nil, false
27585}
27586
27587// AsSapOpenHubLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
27588func (asls AzureSearchLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) {
27589	return nil, false
27590}
27591
27592// AsSapEccLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
27593func (asls AzureSearchLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
27594	return nil, false
27595}
27596
27597// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
27598func (asls AzureSearchLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
27599	return nil, false
27600}
27601
27602// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
27603func (asls AzureSearchLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) {
27604	return nil, false
27605}
27606
27607// AsSalesforceLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
27608func (asls AzureSearchLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
27609	return nil, false
27610}
27611
27612// AsOffice365LinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
27613func (asls AzureSearchLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) {
27614	return nil, false
27615}
27616
27617// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
27618func (asls AzureSearchLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) {
27619	return nil, false
27620}
27621
27622// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
27623func (asls AzureSearchLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
27624	return nil, false
27625}
27626
27627// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
27628func (asls AzureSearchLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) {
27629	return nil, false
27630}
27631
27632// AsMongoDbV2LinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
27633func (asls AzureSearchLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) {
27634	return nil, false
27635}
27636
27637// AsMongoDbLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
27638func (asls AzureSearchLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
27639	return nil, false
27640}
27641
27642// AsCassandraLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
27643func (asls AzureSearchLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
27644	return nil, false
27645}
27646
27647// AsWebLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
27648func (asls AzureSearchLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
27649	return nil, false
27650}
27651
27652// AsODataLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
27653func (asls AzureSearchLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
27654	return nil, false
27655}
27656
27657// AsHdfsLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
27658func (asls AzureSearchLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
27659	return nil, false
27660}
27661
27662// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
27663func (asls AzureSearchLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) {
27664	return nil, false
27665}
27666
27667// AsInformixLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
27668func (asls AzureSearchLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) {
27669	return nil, false
27670}
27671
27672// AsOdbcLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
27673func (asls AzureSearchLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
27674	return nil, false
27675}
27676
27677// AsAzureMLLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
27678func (asls AzureSearchLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
27679	return nil, false
27680}
27681
27682// AsTeradataLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
27683func (asls AzureSearchLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
27684	return nil, false
27685}
27686
27687// AsDb2LinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
27688func (asls AzureSearchLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
27689	return nil, false
27690}
27691
27692// AsSybaseLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
27693func (asls AzureSearchLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
27694	return nil, false
27695}
27696
27697// AsPostgreSQLLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
27698func (asls AzureSearchLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
27699	return nil, false
27700}
27701
27702// AsMySQLLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
27703func (asls AzureSearchLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
27704	return nil, false
27705}
27706
27707// AsAzureMySQLLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
27708func (asls AzureSearchLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
27709	return nil, false
27710}
27711
27712// AsOracleLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
27713func (asls AzureSearchLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
27714	return nil, false
27715}
27716
27717// AsFileServerLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
27718func (asls AzureSearchLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
27719	return nil, false
27720}
27721
27722// AsHDInsightLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
27723func (asls AzureSearchLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
27724	return nil, false
27725}
27726
27727// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
27728func (asls AzureSearchLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) {
27729	return nil, false
27730}
27731
27732// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
27733func (asls AzureSearchLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) {
27734	return nil, false
27735}
27736
27737// AsDynamicsLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
27738func (asls AzureSearchLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
27739	return nil, false
27740}
27741
27742// AsCosmosDbLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
27743func (asls AzureSearchLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
27744	return nil, false
27745}
27746
27747// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
27748func (asls AzureSearchLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
27749	return nil, false
27750}
27751
27752// AsAzureBatchLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
27753func (asls AzureSearchLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
27754	return nil, false
27755}
27756
27757// AsAzureSQLMILinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
27758func (asls AzureSearchLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) {
27759	return nil, false
27760}
27761
27762// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
27763func (asls AzureSearchLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
27764	return nil, false
27765}
27766
27767// AsSQLServerLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
27768func (asls AzureSearchLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
27769	return nil, false
27770}
27771
27772// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
27773func (asls AzureSearchLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
27774	return nil, false
27775}
27776
27777// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
27778func (asls AzureSearchLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) {
27779	return nil, false
27780}
27781
27782// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
27783func (asls AzureSearchLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) {
27784	return nil, false
27785}
27786
27787// AsAzureStorageLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
27788func (asls AzureSearchLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
27789	return nil, false
27790}
27791
27792// AsLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
27793func (asls AzureSearchLinkedService) AsLinkedService() (*LinkedService, bool) {
27794	return nil, false
27795}
27796
27797// AsBasicLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
27798func (asls AzureSearchLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
27799	return &asls, true
27800}
27801
27802// UnmarshalJSON is the custom unmarshaler for AzureSearchLinkedService struct.
27803func (asls *AzureSearchLinkedService) UnmarshalJSON(body []byte) error {
27804	var m map[string]*json.RawMessage
27805	err := json.Unmarshal(body, &m)
27806	if err != nil {
27807		return err
27808	}
27809	for k, v := range m {
27810		switch k {
27811		case "typeProperties":
27812			if v != nil {
27813				var azureSearchLinkedServiceTypeProperties AzureSearchLinkedServiceTypeProperties
27814				err = json.Unmarshal(*v, &azureSearchLinkedServiceTypeProperties)
27815				if err != nil {
27816					return err
27817				}
27818				asls.AzureSearchLinkedServiceTypeProperties = &azureSearchLinkedServiceTypeProperties
27819			}
27820		default:
27821			if v != nil {
27822				var additionalProperties interface{}
27823				err = json.Unmarshal(*v, &additionalProperties)
27824				if err != nil {
27825					return err
27826				}
27827				if asls.AdditionalProperties == nil {
27828					asls.AdditionalProperties = make(map[string]interface{})
27829				}
27830				asls.AdditionalProperties[k] = additionalProperties
27831			}
27832		case "connectVia":
27833			if v != nil {
27834				var connectVia IntegrationRuntimeReference
27835				err = json.Unmarshal(*v, &connectVia)
27836				if err != nil {
27837					return err
27838				}
27839				asls.ConnectVia = &connectVia
27840			}
27841		case "description":
27842			if v != nil {
27843				var description string
27844				err = json.Unmarshal(*v, &description)
27845				if err != nil {
27846					return err
27847				}
27848				asls.Description = &description
27849			}
27850		case "parameters":
27851			if v != nil {
27852				var parameters map[string]*ParameterSpecification
27853				err = json.Unmarshal(*v, &parameters)
27854				if err != nil {
27855					return err
27856				}
27857				asls.Parameters = parameters
27858			}
27859		case "annotations":
27860			if v != nil {
27861				var annotations []interface{}
27862				err = json.Unmarshal(*v, &annotations)
27863				if err != nil {
27864					return err
27865				}
27866				asls.Annotations = &annotations
27867			}
27868		case "type":
27869			if v != nil {
27870				var typeVar TypeBasicLinkedService
27871				err = json.Unmarshal(*v, &typeVar)
27872				if err != nil {
27873					return err
27874				}
27875				asls.Type = typeVar
27876			}
27877		}
27878	}
27879
27880	return nil
27881}
27882
27883// AzureSearchLinkedServiceTypeProperties windows Azure Search Service linked service properties.
27884type AzureSearchLinkedServiceTypeProperties struct {
27885	// URL - URL for Azure Search service. Type: string (or Expression with resultType string).
27886	URL interface{} `json:"url,omitempty"`
27887	// Key - Admin Key for Azure Search service
27888	Key BasicSecretBase `json:"key,omitempty"`
27889	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
27890	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
27891}
27892
27893// UnmarshalJSON is the custom unmarshaler for AzureSearchLinkedServiceTypeProperties struct.
27894func (aslstp *AzureSearchLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
27895	var m map[string]*json.RawMessage
27896	err := json.Unmarshal(body, &m)
27897	if err != nil {
27898		return err
27899	}
27900	for k, v := range m {
27901		switch k {
27902		case "url":
27903			if v != nil {
27904				var URL interface{}
27905				err = json.Unmarshal(*v, &URL)
27906				if err != nil {
27907					return err
27908				}
27909				aslstp.URL = URL
27910			}
27911		case "key":
27912			if v != nil {
27913				key, err := unmarshalBasicSecretBase(*v)
27914				if err != nil {
27915					return err
27916				}
27917				aslstp.Key = key
27918			}
27919		case "encryptedCredential":
27920			if v != nil {
27921				var encryptedCredential interface{}
27922				err = json.Unmarshal(*v, &encryptedCredential)
27923				if err != nil {
27924					return err
27925				}
27926				aslstp.EncryptedCredential = encryptedCredential
27927			}
27928		}
27929	}
27930
27931	return nil
27932}
27933
27934// AzureSQLDatabaseLinkedService microsoft Azure SQL Database linked service.
27935type AzureSQLDatabaseLinkedService struct {
27936	// AzureSQLDatabaseLinkedServiceTypeProperties - Azure SQL Database linked service properties.
27937	*AzureSQLDatabaseLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
27938	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
27939	AdditionalProperties map[string]interface{} `json:""`
27940	// ConnectVia - The integration runtime reference.
27941	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
27942	// Description - Linked service description.
27943	Description *string `json:"description,omitempty"`
27944	// Parameters - Parameters for linked service.
27945	Parameters map[string]*ParameterSpecification `json:"parameters"`
27946	// Annotations - List of tags that can be used for describing the linked service.
27947	Annotations *[]interface{} `json:"annotations,omitempty"`
27948	// Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', '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', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage'
27949	Type TypeBasicLinkedService `json:"type,omitempty"`
27950}
27951
27952// MarshalJSON is the custom marshaler for AzureSQLDatabaseLinkedService.
27953func (asdls AzureSQLDatabaseLinkedService) MarshalJSON() ([]byte, error) {
27954	asdls.Type = TypeAzureSQLDatabase
27955	objectMap := make(map[string]interface{})
27956	if asdls.AzureSQLDatabaseLinkedServiceTypeProperties != nil {
27957		objectMap["typeProperties"] = asdls.AzureSQLDatabaseLinkedServiceTypeProperties
27958	}
27959	if asdls.ConnectVia != nil {
27960		objectMap["connectVia"] = asdls.ConnectVia
27961	}
27962	if asdls.Description != nil {
27963		objectMap["description"] = asdls.Description
27964	}
27965	if asdls.Parameters != nil {
27966		objectMap["parameters"] = asdls.Parameters
27967	}
27968	if asdls.Annotations != nil {
27969		objectMap["annotations"] = asdls.Annotations
27970	}
27971	if asdls.Type != "" {
27972		objectMap["type"] = asdls.Type
27973	}
27974	for k, v := range asdls.AdditionalProperties {
27975		objectMap[k] = v
27976	}
27977	return json.Marshal(objectMap)
27978}
27979
27980// AsAzureFunctionLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
27981func (asdls AzureSQLDatabaseLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) {
27982	return nil, false
27983}
27984
27985// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
27986func (asdls AzureSQLDatabaseLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) {
27987	return nil, false
27988}
27989
27990// AsSapTableLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
27991func (asdls AzureSQLDatabaseLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) {
27992	return nil, false
27993}
27994
27995// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
27996func (asdls AzureSQLDatabaseLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) {
27997	return nil, false
27998}
27999
28000// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
28001func (asdls AzureSQLDatabaseLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) {
28002	return nil, false
28003}
28004
28005// AsDynamicsAXLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
28006func (asdls AzureSQLDatabaseLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) {
28007	return nil, false
28008}
28009
28010// AsResponsysLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
28011func (asdls AzureSQLDatabaseLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
28012	return nil, false
28013}
28014
28015// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
28016func (asdls AzureSQLDatabaseLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
28017	return nil, false
28018}
28019
28020// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
28021func (asdls AzureSQLDatabaseLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
28022	return nil, false
28023}
28024
28025// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
28026func (asdls AzureSQLDatabaseLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
28027	return nil, false
28028}
28029
28030// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
28031func (asdls AzureSQLDatabaseLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
28032	return nil, false
28033}
28034
28035// AsNetezzaLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
28036func (asdls AzureSQLDatabaseLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
28037	return nil, false
28038}
28039
28040// AsVerticaLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
28041func (asdls AzureSQLDatabaseLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
28042	return nil, false
28043}
28044
28045// AsZohoLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
28046func (asdls AzureSQLDatabaseLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
28047	return nil, false
28048}
28049
28050// AsXeroLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
28051func (asdls AzureSQLDatabaseLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
28052	return nil, false
28053}
28054
28055// AsSquareLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
28056func (asdls AzureSQLDatabaseLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
28057	return nil, false
28058}
28059
28060// AsSparkLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
28061func (asdls AzureSQLDatabaseLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
28062	return nil, false
28063}
28064
28065// AsShopifyLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
28066func (asdls AzureSQLDatabaseLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
28067	return nil, false
28068}
28069
28070// AsServiceNowLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
28071func (asdls AzureSQLDatabaseLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
28072	return nil, false
28073}
28074
28075// AsQuickBooksLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
28076func (asdls AzureSQLDatabaseLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
28077	return nil, false
28078}
28079
28080// AsPrestoLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
28081func (asdls AzureSQLDatabaseLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
28082	return nil, false
28083}
28084
28085// AsPhoenixLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
28086func (asdls AzureSQLDatabaseLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
28087	return nil, false
28088}
28089
28090// AsPaypalLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
28091func (asdls AzureSQLDatabaseLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
28092	return nil, false
28093}
28094
28095// AsMarketoLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
28096func (asdls AzureSQLDatabaseLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
28097	return nil, false
28098}
28099
28100// AsMariaDBLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
28101func (asdls AzureSQLDatabaseLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
28102	return nil, false
28103}
28104
28105// AsMagentoLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
28106func (asdls AzureSQLDatabaseLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
28107	return nil, false
28108}
28109
28110// AsJiraLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
28111func (asdls AzureSQLDatabaseLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
28112	return nil, false
28113}
28114
28115// AsImpalaLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
28116func (asdls AzureSQLDatabaseLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
28117	return nil, false
28118}
28119
28120// AsHubspotLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
28121func (asdls AzureSQLDatabaseLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
28122	return nil, false
28123}
28124
28125// AsHiveLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
28126func (asdls AzureSQLDatabaseLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
28127	return nil, false
28128}
28129
28130// AsHBaseLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
28131func (asdls AzureSQLDatabaseLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
28132	return nil, false
28133}
28134
28135// AsGreenplumLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
28136func (asdls AzureSQLDatabaseLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
28137	return nil, false
28138}
28139
28140// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
28141func (asdls AzureSQLDatabaseLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
28142	return nil, false
28143}
28144
28145// AsEloquaLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
28146func (asdls AzureSQLDatabaseLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
28147	return nil, false
28148}
28149
28150// AsDrillLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
28151func (asdls AzureSQLDatabaseLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
28152	return nil, false
28153}
28154
28155// AsCouchbaseLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
28156func (asdls AzureSQLDatabaseLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
28157	return nil, false
28158}
28159
28160// AsConcurLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
28161func (asdls AzureSQLDatabaseLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
28162	return nil, false
28163}
28164
28165// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
28166func (asdls AzureSQLDatabaseLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
28167	return nil, false
28168}
28169
28170// AsAmazonMWSLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
28171func (asdls AzureSQLDatabaseLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
28172	return nil, false
28173}
28174
28175// AsSapHanaLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
28176func (asdls AzureSQLDatabaseLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
28177	return nil, false
28178}
28179
28180// AsSapBWLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
28181func (asdls AzureSQLDatabaseLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
28182	return nil, false
28183}
28184
28185// AsSftpServerLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
28186func (asdls AzureSQLDatabaseLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
28187	return nil, false
28188}
28189
28190// AsFtpServerLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
28191func (asdls AzureSQLDatabaseLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
28192	return nil, false
28193}
28194
28195// AsHTTPLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
28196func (asdls AzureSQLDatabaseLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
28197	return nil, false
28198}
28199
28200// AsAzureSearchLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
28201func (asdls AzureSQLDatabaseLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
28202	return nil, false
28203}
28204
28205// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
28206func (asdls AzureSQLDatabaseLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
28207	return nil, false
28208}
28209
28210// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
28211func (asdls AzureSQLDatabaseLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
28212	return nil, false
28213}
28214
28215// AsAmazonS3LinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
28216func (asdls AzureSQLDatabaseLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
28217	return nil, false
28218}
28219
28220// AsRestServiceLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
28221func (asdls AzureSQLDatabaseLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) {
28222	return nil, false
28223}
28224
28225// AsSapOpenHubLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
28226func (asdls AzureSQLDatabaseLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) {
28227	return nil, false
28228}
28229
28230// AsSapEccLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
28231func (asdls AzureSQLDatabaseLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
28232	return nil, false
28233}
28234
28235// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
28236func (asdls AzureSQLDatabaseLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
28237	return nil, false
28238}
28239
28240// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
28241func (asdls AzureSQLDatabaseLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) {
28242	return nil, false
28243}
28244
28245// AsSalesforceLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
28246func (asdls AzureSQLDatabaseLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
28247	return nil, false
28248}
28249
28250// AsOffice365LinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
28251func (asdls AzureSQLDatabaseLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) {
28252	return nil, false
28253}
28254
28255// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
28256func (asdls AzureSQLDatabaseLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) {
28257	return nil, false
28258}
28259
28260// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
28261func (asdls AzureSQLDatabaseLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
28262	return nil, false
28263}
28264
28265// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
28266func (asdls AzureSQLDatabaseLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) {
28267	return nil, false
28268}
28269
28270// AsMongoDbV2LinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
28271func (asdls AzureSQLDatabaseLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) {
28272	return nil, false
28273}
28274
28275// AsMongoDbLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
28276func (asdls AzureSQLDatabaseLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
28277	return nil, false
28278}
28279
28280// AsCassandraLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
28281func (asdls AzureSQLDatabaseLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
28282	return nil, false
28283}
28284
28285// AsWebLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
28286func (asdls AzureSQLDatabaseLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
28287	return nil, false
28288}
28289
28290// AsODataLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
28291func (asdls AzureSQLDatabaseLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
28292	return nil, false
28293}
28294
28295// AsHdfsLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
28296func (asdls AzureSQLDatabaseLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
28297	return nil, false
28298}
28299
28300// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
28301func (asdls AzureSQLDatabaseLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) {
28302	return nil, false
28303}
28304
28305// AsInformixLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
28306func (asdls AzureSQLDatabaseLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) {
28307	return nil, false
28308}
28309
28310// AsOdbcLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
28311func (asdls AzureSQLDatabaseLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
28312	return nil, false
28313}
28314
28315// AsAzureMLLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
28316func (asdls AzureSQLDatabaseLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
28317	return nil, false
28318}
28319
28320// AsTeradataLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
28321func (asdls AzureSQLDatabaseLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
28322	return nil, false
28323}
28324
28325// AsDb2LinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
28326func (asdls AzureSQLDatabaseLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
28327	return nil, false
28328}
28329
28330// AsSybaseLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
28331func (asdls AzureSQLDatabaseLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
28332	return nil, false
28333}
28334
28335// AsPostgreSQLLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
28336func (asdls AzureSQLDatabaseLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
28337	return nil, false
28338}
28339
28340// AsMySQLLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
28341func (asdls AzureSQLDatabaseLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
28342	return nil, false
28343}
28344
28345// AsAzureMySQLLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
28346func (asdls AzureSQLDatabaseLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
28347	return nil, false
28348}
28349
28350// AsOracleLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
28351func (asdls AzureSQLDatabaseLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
28352	return nil, false
28353}
28354
28355// AsFileServerLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
28356func (asdls AzureSQLDatabaseLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
28357	return nil, false
28358}
28359
28360// AsHDInsightLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
28361func (asdls AzureSQLDatabaseLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
28362	return nil, false
28363}
28364
28365// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
28366func (asdls AzureSQLDatabaseLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) {
28367	return nil, false
28368}
28369
28370// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
28371func (asdls AzureSQLDatabaseLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) {
28372	return nil, false
28373}
28374
28375// AsDynamicsLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
28376func (asdls AzureSQLDatabaseLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
28377	return nil, false
28378}
28379
28380// AsCosmosDbLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
28381func (asdls AzureSQLDatabaseLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
28382	return nil, false
28383}
28384
28385// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
28386func (asdls AzureSQLDatabaseLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
28387	return nil, false
28388}
28389
28390// AsAzureBatchLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
28391func (asdls AzureSQLDatabaseLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
28392	return nil, false
28393}
28394
28395// AsAzureSQLMILinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
28396func (asdls AzureSQLDatabaseLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) {
28397	return nil, false
28398}
28399
28400// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
28401func (asdls AzureSQLDatabaseLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
28402	return &asdls, true
28403}
28404
28405// AsSQLServerLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
28406func (asdls AzureSQLDatabaseLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
28407	return nil, false
28408}
28409
28410// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
28411func (asdls AzureSQLDatabaseLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
28412	return nil, false
28413}
28414
28415// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
28416func (asdls AzureSQLDatabaseLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) {
28417	return nil, false
28418}
28419
28420// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
28421func (asdls AzureSQLDatabaseLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) {
28422	return nil, false
28423}
28424
28425// AsAzureStorageLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
28426func (asdls AzureSQLDatabaseLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
28427	return nil, false
28428}
28429
28430// AsLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
28431func (asdls AzureSQLDatabaseLinkedService) AsLinkedService() (*LinkedService, bool) {
28432	return nil, false
28433}
28434
28435// AsBasicLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
28436func (asdls AzureSQLDatabaseLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
28437	return &asdls, true
28438}
28439
28440// UnmarshalJSON is the custom unmarshaler for AzureSQLDatabaseLinkedService struct.
28441func (asdls *AzureSQLDatabaseLinkedService) UnmarshalJSON(body []byte) error {
28442	var m map[string]*json.RawMessage
28443	err := json.Unmarshal(body, &m)
28444	if err != nil {
28445		return err
28446	}
28447	for k, v := range m {
28448		switch k {
28449		case "typeProperties":
28450			if v != nil {
28451				var azureSQLDatabaseLinkedServiceTypeProperties AzureSQLDatabaseLinkedServiceTypeProperties
28452				err = json.Unmarshal(*v, &azureSQLDatabaseLinkedServiceTypeProperties)
28453				if err != nil {
28454					return err
28455				}
28456				asdls.AzureSQLDatabaseLinkedServiceTypeProperties = &azureSQLDatabaseLinkedServiceTypeProperties
28457			}
28458		default:
28459			if v != nil {
28460				var additionalProperties interface{}
28461				err = json.Unmarshal(*v, &additionalProperties)
28462				if err != nil {
28463					return err
28464				}
28465				if asdls.AdditionalProperties == nil {
28466					asdls.AdditionalProperties = make(map[string]interface{})
28467				}
28468				asdls.AdditionalProperties[k] = additionalProperties
28469			}
28470		case "connectVia":
28471			if v != nil {
28472				var connectVia IntegrationRuntimeReference
28473				err = json.Unmarshal(*v, &connectVia)
28474				if err != nil {
28475					return err
28476				}
28477				asdls.ConnectVia = &connectVia
28478			}
28479		case "description":
28480			if v != nil {
28481				var description string
28482				err = json.Unmarshal(*v, &description)
28483				if err != nil {
28484					return err
28485				}
28486				asdls.Description = &description
28487			}
28488		case "parameters":
28489			if v != nil {
28490				var parameters map[string]*ParameterSpecification
28491				err = json.Unmarshal(*v, &parameters)
28492				if err != nil {
28493					return err
28494				}
28495				asdls.Parameters = parameters
28496			}
28497		case "annotations":
28498			if v != nil {
28499				var annotations []interface{}
28500				err = json.Unmarshal(*v, &annotations)
28501				if err != nil {
28502					return err
28503				}
28504				asdls.Annotations = &annotations
28505			}
28506		case "type":
28507			if v != nil {
28508				var typeVar TypeBasicLinkedService
28509				err = json.Unmarshal(*v, &typeVar)
28510				if err != nil {
28511					return err
28512				}
28513				asdls.Type = typeVar
28514			}
28515		}
28516	}
28517
28518	return nil
28519}
28520
28521// AzureSQLDatabaseLinkedServiceTypeProperties azure SQL Database linked service properties.
28522type AzureSQLDatabaseLinkedServiceTypeProperties struct {
28523	// ConnectionString - The connection string. Type: string, SecureString or AzureKeyVaultSecretReference.
28524	ConnectionString interface{} `json:"connectionString,omitempty"`
28525	// Password - The Azure key vault secret reference of password in connection string.
28526	Password *AzureKeyVaultSecretReference `json:"password,omitempty"`
28527	// ServicePrincipalID - The ID of the service principal used to authenticate against Azure SQL Database. Type: string (or Expression with resultType string).
28528	ServicePrincipalID interface{} `json:"servicePrincipalId,omitempty"`
28529	// ServicePrincipalKey - The key of the service principal used to authenticate against Azure SQL Database.
28530	ServicePrincipalKey BasicSecretBase `json:"servicePrincipalKey,omitempty"`
28531	// Tenant - The name or ID of the tenant to which the service principal belongs. Type: string (or Expression with resultType string).
28532	Tenant interface{} `json:"tenant,omitempty"`
28533	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
28534	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
28535}
28536
28537// UnmarshalJSON is the custom unmarshaler for AzureSQLDatabaseLinkedServiceTypeProperties struct.
28538func (asdlstp *AzureSQLDatabaseLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
28539	var m map[string]*json.RawMessage
28540	err := json.Unmarshal(body, &m)
28541	if err != nil {
28542		return err
28543	}
28544	for k, v := range m {
28545		switch k {
28546		case "connectionString":
28547			if v != nil {
28548				var connectionString interface{}
28549				err = json.Unmarshal(*v, &connectionString)
28550				if err != nil {
28551					return err
28552				}
28553				asdlstp.ConnectionString = connectionString
28554			}
28555		case "password":
28556			if v != nil {
28557				var password AzureKeyVaultSecretReference
28558				err = json.Unmarshal(*v, &password)
28559				if err != nil {
28560					return err
28561				}
28562				asdlstp.Password = &password
28563			}
28564		case "servicePrincipalId":
28565			if v != nil {
28566				var servicePrincipalID interface{}
28567				err = json.Unmarshal(*v, &servicePrincipalID)
28568				if err != nil {
28569					return err
28570				}
28571				asdlstp.ServicePrincipalID = servicePrincipalID
28572			}
28573		case "servicePrincipalKey":
28574			if v != nil {
28575				servicePrincipalKey, err := unmarshalBasicSecretBase(*v)
28576				if err != nil {
28577					return err
28578				}
28579				asdlstp.ServicePrincipalKey = servicePrincipalKey
28580			}
28581		case "tenant":
28582			if v != nil {
28583				var tenant interface{}
28584				err = json.Unmarshal(*v, &tenant)
28585				if err != nil {
28586					return err
28587				}
28588				asdlstp.Tenant = tenant
28589			}
28590		case "encryptedCredential":
28591			if v != nil {
28592				var encryptedCredential interface{}
28593				err = json.Unmarshal(*v, &encryptedCredential)
28594				if err != nil {
28595					return err
28596				}
28597				asdlstp.EncryptedCredential = encryptedCredential
28598			}
28599		}
28600	}
28601
28602	return nil
28603}
28604
28605// AzureSQLDWLinkedService azure SQL Data Warehouse linked service.
28606type AzureSQLDWLinkedService struct {
28607	// AzureSQLDWLinkedServiceTypeProperties - Azure SQL Data Warehouse linked service properties.
28608	*AzureSQLDWLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
28609	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
28610	AdditionalProperties map[string]interface{} `json:""`
28611	// ConnectVia - The integration runtime reference.
28612	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
28613	// Description - Linked service description.
28614	Description *string `json:"description,omitempty"`
28615	// Parameters - Parameters for linked service.
28616	Parameters map[string]*ParameterSpecification `json:"parameters"`
28617	// Annotations - List of tags that can be used for describing the linked service.
28618	Annotations *[]interface{} `json:"annotations,omitempty"`
28619	// Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', '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', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage'
28620	Type TypeBasicLinkedService `json:"type,omitempty"`
28621}
28622
28623// MarshalJSON is the custom marshaler for AzureSQLDWLinkedService.
28624func (asdls AzureSQLDWLinkedService) MarshalJSON() ([]byte, error) {
28625	asdls.Type = TypeAzureSQLDW
28626	objectMap := make(map[string]interface{})
28627	if asdls.AzureSQLDWLinkedServiceTypeProperties != nil {
28628		objectMap["typeProperties"] = asdls.AzureSQLDWLinkedServiceTypeProperties
28629	}
28630	if asdls.ConnectVia != nil {
28631		objectMap["connectVia"] = asdls.ConnectVia
28632	}
28633	if asdls.Description != nil {
28634		objectMap["description"] = asdls.Description
28635	}
28636	if asdls.Parameters != nil {
28637		objectMap["parameters"] = asdls.Parameters
28638	}
28639	if asdls.Annotations != nil {
28640		objectMap["annotations"] = asdls.Annotations
28641	}
28642	if asdls.Type != "" {
28643		objectMap["type"] = asdls.Type
28644	}
28645	for k, v := range asdls.AdditionalProperties {
28646		objectMap[k] = v
28647	}
28648	return json.Marshal(objectMap)
28649}
28650
28651// AsAzureFunctionLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
28652func (asdls AzureSQLDWLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) {
28653	return nil, false
28654}
28655
28656// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
28657func (asdls AzureSQLDWLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) {
28658	return nil, false
28659}
28660
28661// AsSapTableLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
28662func (asdls AzureSQLDWLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) {
28663	return nil, false
28664}
28665
28666// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
28667func (asdls AzureSQLDWLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) {
28668	return nil, false
28669}
28670
28671// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
28672func (asdls AzureSQLDWLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) {
28673	return nil, false
28674}
28675
28676// AsDynamicsAXLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
28677func (asdls AzureSQLDWLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) {
28678	return nil, false
28679}
28680
28681// AsResponsysLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
28682func (asdls AzureSQLDWLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
28683	return nil, false
28684}
28685
28686// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
28687func (asdls AzureSQLDWLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
28688	return nil, false
28689}
28690
28691// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
28692func (asdls AzureSQLDWLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
28693	return nil, false
28694}
28695
28696// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
28697func (asdls AzureSQLDWLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
28698	return nil, false
28699}
28700
28701// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
28702func (asdls AzureSQLDWLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
28703	return nil, false
28704}
28705
28706// AsNetezzaLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
28707func (asdls AzureSQLDWLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
28708	return nil, false
28709}
28710
28711// AsVerticaLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
28712func (asdls AzureSQLDWLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
28713	return nil, false
28714}
28715
28716// AsZohoLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
28717func (asdls AzureSQLDWLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
28718	return nil, false
28719}
28720
28721// AsXeroLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
28722func (asdls AzureSQLDWLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
28723	return nil, false
28724}
28725
28726// AsSquareLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
28727func (asdls AzureSQLDWLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
28728	return nil, false
28729}
28730
28731// AsSparkLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
28732func (asdls AzureSQLDWLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
28733	return nil, false
28734}
28735
28736// AsShopifyLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
28737func (asdls AzureSQLDWLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
28738	return nil, false
28739}
28740
28741// AsServiceNowLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
28742func (asdls AzureSQLDWLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
28743	return nil, false
28744}
28745
28746// AsQuickBooksLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
28747func (asdls AzureSQLDWLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
28748	return nil, false
28749}
28750
28751// AsPrestoLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
28752func (asdls AzureSQLDWLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
28753	return nil, false
28754}
28755
28756// AsPhoenixLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
28757func (asdls AzureSQLDWLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
28758	return nil, false
28759}
28760
28761// AsPaypalLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
28762func (asdls AzureSQLDWLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
28763	return nil, false
28764}
28765
28766// AsMarketoLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
28767func (asdls AzureSQLDWLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
28768	return nil, false
28769}
28770
28771// AsMariaDBLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
28772func (asdls AzureSQLDWLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
28773	return nil, false
28774}
28775
28776// AsMagentoLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
28777func (asdls AzureSQLDWLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
28778	return nil, false
28779}
28780
28781// AsJiraLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
28782func (asdls AzureSQLDWLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
28783	return nil, false
28784}
28785
28786// AsImpalaLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
28787func (asdls AzureSQLDWLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
28788	return nil, false
28789}
28790
28791// AsHubspotLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
28792func (asdls AzureSQLDWLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
28793	return nil, false
28794}
28795
28796// AsHiveLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
28797func (asdls AzureSQLDWLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
28798	return nil, false
28799}
28800
28801// AsHBaseLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
28802func (asdls AzureSQLDWLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
28803	return nil, false
28804}
28805
28806// AsGreenplumLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
28807func (asdls AzureSQLDWLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
28808	return nil, false
28809}
28810
28811// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
28812func (asdls AzureSQLDWLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
28813	return nil, false
28814}
28815
28816// AsEloquaLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
28817func (asdls AzureSQLDWLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
28818	return nil, false
28819}
28820
28821// AsDrillLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
28822func (asdls AzureSQLDWLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
28823	return nil, false
28824}
28825
28826// AsCouchbaseLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
28827func (asdls AzureSQLDWLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
28828	return nil, false
28829}
28830
28831// AsConcurLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
28832func (asdls AzureSQLDWLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
28833	return nil, false
28834}
28835
28836// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
28837func (asdls AzureSQLDWLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
28838	return nil, false
28839}
28840
28841// AsAmazonMWSLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
28842func (asdls AzureSQLDWLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
28843	return nil, false
28844}
28845
28846// AsSapHanaLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
28847func (asdls AzureSQLDWLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
28848	return nil, false
28849}
28850
28851// AsSapBWLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
28852func (asdls AzureSQLDWLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
28853	return nil, false
28854}
28855
28856// AsSftpServerLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
28857func (asdls AzureSQLDWLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
28858	return nil, false
28859}
28860
28861// AsFtpServerLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
28862func (asdls AzureSQLDWLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
28863	return nil, false
28864}
28865
28866// AsHTTPLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
28867func (asdls AzureSQLDWLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
28868	return nil, false
28869}
28870
28871// AsAzureSearchLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
28872func (asdls AzureSQLDWLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
28873	return nil, false
28874}
28875
28876// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
28877func (asdls AzureSQLDWLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
28878	return nil, false
28879}
28880
28881// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
28882func (asdls AzureSQLDWLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
28883	return nil, false
28884}
28885
28886// AsAmazonS3LinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
28887func (asdls AzureSQLDWLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
28888	return nil, false
28889}
28890
28891// AsRestServiceLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
28892func (asdls AzureSQLDWLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) {
28893	return nil, false
28894}
28895
28896// AsSapOpenHubLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
28897func (asdls AzureSQLDWLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) {
28898	return nil, false
28899}
28900
28901// AsSapEccLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
28902func (asdls AzureSQLDWLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
28903	return nil, false
28904}
28905
28906// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
28907func (asdls AzureSQLDWLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
28908	return nil, false
28909}
28910
28911// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
28912func (asdls AzureSQLDWLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) {
28913	return nil, false
28914}
28915
28916// AsSalesforceLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
28917func (asdls AzureSQLDWLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
28918	return nil, false
28919}
28920
28921// AsOffice365LinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
28922func (asdls AzureSQLDWLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) {
28923	return nil, false
28924}
28925
28926// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
28927func (asdls AzureSQLDWLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) {
28928	return nil, false
28929}
28930
28931// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
28932func (asdls AzureSQLDWLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
28933	return nil, false
28934}
28935
28936// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
28937func (asdls AzureSQLDWLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) {
28938	return nil, false
28939}
28940
28941// AsMongoDbV2LinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
28942func (asdls AzureSQLDWLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) {
28943	return nil, false
28944}
28945
28946// AsMongoDbLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
28947func (asdls AzureSQLDWLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
28948	return nil, false
28949}
28950
28951// AsCassandraLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
28952func (asdls AzureSQLDWLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
28953	return nil, false
28954}
28955
28956// AsWebLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
28957func (asdls AzureSQLDWLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
28958	return nil, false
28959}
28960
28961// AsODataLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
28962func (asdls AzureSQLDWLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
28963	return nil, false
28964}
28965
28966// AsHdfsLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
28967func (asdls AzureSQLDWLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
28968	return nil, false
28969}
28970
28971// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
28972func (asdls AzureSQLDWLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) {
28973	return nil, false
28974}
28975
28976// AsInformixLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
28977func (asdls AzureSQLDWLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) {
28978	return nil, false
28979}
28980
28981// AsOdbcLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
28982func (asdls AzureSQLDWLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
28983	return nil, false
28984}
28985
28986// AsAzureMLLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
28987func (asdls AzureSQLDWLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
28988	return nil, false
28989}
28990
28991// AsTeradataLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
28992func (asdls AzureSQLDWLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
28993	return nil, false
28994}
28995
28996// AsDb2LinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
28997func (asdls AzureSQLDWLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
28998	return nil, false
28999}
29000
29001// AsSybaseLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
29002func (asdls AzureSQLDWLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
29003	return nil, false
29004}
29005
29006// AsPostgreSQLLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
29007func (asdls AzureSQLDWLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
29008	return nil, false
29009}
29010
29011// AsMySQLLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
29012func (asdls AzureSQLDWLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
29013	return nil, false
29014}
29015
29016// AsAzureMySQLLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
29017func (asdls AzureSQLDWLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
29018	return nil, false
29019}
29020
29021// AsOracleLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
29022func (asdls AzureSQLDWLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
29023	return nil, false
29024}
29025
29026// AsFileServerLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
29027func (asdls AzureSQLDWLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
29028	return nil, false
29029}
29030
29031// AsHDInsightLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
29032func (asdls AzureSQLDWLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
29033	return nil, false
29034}
29035
29036// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
29037func (asdls AzureSQLDWLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) {
29038	return nil, false
29039}
29040
29041// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
29042func (asdls AzureSQLDWLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) {
29043	return nil, false
29044}
29045
29046// AsDynamicsLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
29047func (asdls AzureSQLDWLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
29048	return nil, false
29049}
29050
29051// AsCosmosDbLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
29052func (asdls AzureSQLDWLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
29053	return nil, false
29054}
29055
29056// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
29057func (asdls AzureSQLDWLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
29058	return nil, false
29059}
29060
29061// AsAzureBatchLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
29062func (asdls AzureSQLDWLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
29063	return nil, false
29064}
29065
29066// AsAzureSQLMILinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
29067func (asdls AzureSQLDWLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) {
29068	return nil, false
29069}
29070
29071// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
29072func (asdls AzureSQLDWLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
29073	return nil, false
29074}
29075
29076// AsSQLServerLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
29077func (asdls AzureSQLDWLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
29078	return nil, false
29079}
29080
29081// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
29082func (asdls AzureSQLDWLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
29083	return &asdls, true
29084}
29085
29086// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
29087func (asdls AzureSQLDWLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) {
29088	return nil, false
29089}
29090
29091// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
29092func (asdls AzureSQLDWLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) {
29093	return nil, false
29094}
29095
29096// AsAzureStorageLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
29097func (asdls AzureSQLDWLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
29098	return nil, false
29099}
29100
29101// AsLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
29102func (asdls AzureSQLDWLinkedService) AsLinkedService() (*LinkedService, bool) {
29103	return nil, false
29104}
29105
29106// AsBasicLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
29107func (asdls AzureSQLDWLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
29108	return &asdls, true
29109}
29110
29111// UnmarshalJSON is the custom unmarshaler for AzureSQLDWLinkedService struct.
29112func (asdls *AzureSQLDWLinkedService) UnmarshalJSON(body []byte) error {
29113	var m map[string]*json.RawMessage
29114	err := json.Unmarshal(body, &m)
29115	if err != nil {
29116		return err
29117	}
29118	for k, v := range m {
29119		switch k {
29120		case "typeProperties":
29121			if v != nil {
29122				var azureSQLDWLinkedServiceTypeProperties AzureSQLDWLinkedServiceTypeProperties
29123				err = json.Unmarshal(*v, &azureSQLDWLinkedServiceTypeProperties)
29124				if err != nil {
29125					return err
29126				}
29127				asdls.AzureSQLDWLinkedServiceTypeProperties = &azureSQLDWLinkedServiceTypeProperties
29128			}
29129		default:
29130			if v != nil {
29131				var additionalProperties interface{}
29132				err = json.Unmarshal(*v, &additionalProperties)
29133				if err != nil {
29134					return err
29135				}
29136				if asdls.AdditionalProperties == nil {
29137					asdls.AdditionalProperties = make(map[string]interface{})
29138				}
29139				asdls.AdditionalProperties[k] = additionalProperties
29140			}
29141		case "connectVia":
29142			if v != nil {
29143				var connectVia IntegrationRuntimeReference
29144				err = json.Unmarshal(*v, &connectVia)
29145				if err != nil {
29146					return err
29147				}
29148				asdls.ConnectVia = &connectVia
29149			}
29150		case "description":
29151			if v != nil {
29152				var description string
29153				err = json.Unmarshal(*v, &description)
29154				if err != nil {
29155					return err
29156				}
29157				asdls.Description = &description
29158			}
29159		case "parameters":
29160			if v != nil {
29161				var parameters map[string]*ParameterSpecification
29162				err = json.Unmarshal(*v, &parameters)
29163				if err != nil {
29164					return err
29165				}
29166				asdls.Parameters = parameters
29167			}
29168		case "annotations":
29169			if v != nil {
29170				var annotations []interface{}
29171				err = json.Unmarshal(*v, &annotations)
29172				if err != nil {
29173					return err
29174				}
29175				asdls.Annotations = &annotations
29176			}
29177		case "type":
29178			if v != nil {
29179				var typeVar TypeBasicLinkedService
29180				err = json.Unmarshal(*v, &typeVar)
29181				if err != nil {
29182					return err
29183				}
29184				asdls.Type = typeVar
29185			}
29186		}
29187	}
29188
29189	return nil
29190}
29191
29192// AzureSQLDWLinkedServiceTypeProperties azure SQL Data Warehouse linked service properties.
29193type AzureSQLDWLinkedServiceTypeProperties struct {
29194	// ConnectionString - The connection string. Type: string, SecureString or AzureKeyVaultSecretReference. Type: string, SecureString or AzureKeyVaultSecretReference.
29195	ConnectionString interface{} `json:"connectionString,omitempty"`
29196	// Password - The Azure key vault secret reference of password in connection string.
29197	Password *AzureKeyVaultSecretReference `json:"password,omitempty"`
29198	// ServicePrincipalID - The ID of the service principal used to authenticate against Azure SQL Data Warehouse. Type: string (or Expression with resultType string).
29199	ServicePrincipalID interface{} `json:"servicePrincipalId,omitempty"`
29200	// ServicePrincipalKey - The key of the service principal used to authenticate against Azure SQL Data Warehouse.
29201	ServicePrincipalKey BasicSecretBase `json:"servicePrincipalKey,omitempty"`
29202	// Tenant - The name or ID of the tenant to which the service principal belongs. Type: string (or Expression with resultType string).
29203	Tenant interface{} `json:"tenant,omitempty"`
29204	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
29205	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
29206}
29207
29208// UnmarshalJSON is the custom unmarshaler for AzureSQLDWLinkedServiceTypeProperties struct.
29209func (asdlstp *AzureSQLDWLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
29210	var m map[string]*json.RawMessage
29211	err := json.Unmarshal(body, &m)
29212	if err != nil {
29213		return err
29214	}
29215	for k, v := range m {
29216		switch k {
29217		case "connectionString":
29218			if v != nil {
29219				var connectionString interface{}
29220				err = json.Unmarshal(*v, &connectionString)
29221				if err != nil {
29222					return err
29223				}
29224				asdlstp.ConnectionString = connectionString
29225			}
29226		case "password":
29227			if v != nil {
29228				var password AzureKeyVaultSecretReference
29229				err = json.Unmarshal(*v, &password)
29230				if err != nil {
29231					return err
29232				}
29233				asdlstp.Password = &password
29234			}
29235		case "servicePrincipalId":
29236			if v != nil {
29237				var servicePrincipalID interface{}
29238				err = json.Unmarshal(*v, &servicePrincipalID)
29239				if err != nil {
29240					return err
29241				}
29242				asdlstp.ServicePrincipalID = servicePrincipalID
29243			}
29244		case "servicePrincipalKey":
29245			if v != nil {
29246				servicePrincipalKey, err := unmarshalBasicSecretBase(*v)
29247				if err != nil {
29248					return err
29249				}
29250				asdlstp.ServicePrincipalKey = servicePrincipalKey
29251			}
29252		case "tenant":
29253			if v != nil {
29254				var tenant interface{}
29255				err = json.Unmarshal(*v, &tenant)
29256				if err != nil {
29257					return err
29258				}
29259				asdlstp.Tenant = tenant
29260			}
29261		case "encryptedCredential":
29262			if v != nil {
29263				var encryptedCredential interface{}
29264				err = json.Unmarshal(*v, &encryptedCredential)
29265				if err != nil {
29266					return err
29267				}
29268				asdlstp.EncryptedCredential = encryptedCredential
29269			}
29270		}
29271	}
29272
29273	return nil
29274}
29275
29276// AzureSQLDWTableDataset the Azure SQL Data Warehouse dataset.
29277type AzureSQLDWTableDataset struct {
29278	// AzureSQLDWTableDatasetTypeProperties - Azure SQL Data Warehouse dataset properties.
29279	*AzureSQLDWTableDatasetTypeProperties `json:"typeProperties,omitempty"`
29280	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
29281	AdditionalProperties map[string]interface{} `json:""`
29282	// Description - Dataset description.
29283	Description *string `json:"description,omitempty"`
29284	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
29285	Structure interface{} `json:"structure,omitempty"`
29286	// Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement.
29287	Schema interface{} `json:"schema,omitempty"`
29288	// LinkedServiceName - Linked service reference.
29289	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
29290	// Parameters - Parameters for dataset.
29291	Parameters map[string]*ParameterSpecification `json:"parameters"`
29292	// Annotations - List of tags that can be used for describing the Dataset.
29293	Annotations *[]interface{} `json:"annotations,omitempty"`
29294	// Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level.
29295	Folder *DatasetFolder `json:"folder,omitempty"`
29296	// Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', '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', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeDelimitedText', 'TypeParquet', 'TypeAmazonS3Object'
29297	Type TypeBasicDataset `json:"type,omitempty"`
29298}
29299
29300// MarshalJSON is the custom marshaler for AzureSQLDWTableDataset.
29301func (asdtd AzureSQLDWTableDataset) MarshalJSON() ([]byte, error) {
29302	asdtd.Type = TypeAzureSQLDWTable
29303	objectMap := make(map[string]interface{})
29304	if asdtd.AzureSQLDWTableDatasetTypeProperties != nil {
29305		objectMap["typeProperties"] = asdtd.AzureSQLDWTableDatasetTypeProperties
29306	}
29307	if asdtd.Description != nil {
29308		objectMap["description"] = asdtd.Description
29309	}
29310	if asdtd.Structure != nil {
29311		objectMap["structure"] = asdtd.Structure
29312	}
29313	if asdtd.Schema != nil {
29314		objectMap["schema"] = asdtd.Schema
29315	}
29316	if asdtd.LinkedServiceName != nil {
29317		objectMap["linkedServiceName"] = asdtd.LinkedServiceName
29318	}
29319	if asdtd.Parameters != nil {
29320		objectMap["parameters"] = asdtd.Parameters
29321	}
29322	if asdtd.Annotations != nil {
29323		objectMap["annotations"] = asdtd.Annotations
29324	}
29325	if asdtd.Folder != nil {
29326		objectMap["folder"] = asdtd.Folder
29327	}
29328	if asdtd.Type != "" {
29329		objectMap["type"] = asdtd.Type
29330	}
29331	for k, v := range asdtd.AdditionalProperties {
29332		objectMap[k] = v
29333	}
29334	return json.Marshal(objectMap)
29335}
29336
29337// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
29338func (asdtd AzureSQLDWTableDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) {
29339	return nil, false
29340}
29341
29342// AsAzureDataExplorerTableDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
29343func (asdtd AzureSQLDWTableDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) {
29344	return nil, false
29345}
29346
29347// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
29348func (asdtd AzureSQLDWTableDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) {
29349	return nil, false
29350}
29351
29352// AsDynamicsAXResourceDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
29353func (asdtd AzureSQLDWTableDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) {
29354	return nil, false
29355}
29356
29357// AsResponsysObjectDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
29358func (asdtd AzureSQLDWTableDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
29359	return nil, false
29360}
29361
29362// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
29363func (asdtd AzureSQLDWTableDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
29364	return nil, false
29365}
29366
29367// AsVerticaTableDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
29368func (asdtd AzureSQLDWTableDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
29369	return nil, false
29370}
29371
29372// AsNetezzaTableDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
29373func (asdtd AzureSQLDWTableDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
29374	return nil, false
29375}
29376
29377// AsZohoObjectDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
29378func (asdtd AzureSQLDWTableDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
29379	return nil, false
29380}
29381
29382// AsXeroObjectDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
29383func (asdtd AzureSQLDWTableDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
29384	return nil, false
29385}
29386
29387// AsSquareObjectDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
29388func (asdtd AzureSQLDWTableDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
29389	return nil, false
29390}
29391
29392// AsSparkObjectDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
29393func (asdtd AzureSQLDWTableDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
29394	return nil, false
29395}
29396
29397// AsShopifyObjectDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
29398func (asdtd AzureSQLDWTableDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
29399	return nil, false
29400}
29401
29402// AsServiceNowObjectDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
29403func (asdtd AzureSQLDWTableDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
29404	return nil, false
29405}
29406
29407// AsQuickBooksObjectDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
29408func (asdtd AzureSQLDWTableDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
29409	return nil, false
29410}
29411
29412// AsPrestoObjectDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
29413func (asdtd AzureSQLDWTableDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
29414	return nil, false
29415}
29416
29417// AsPhoenixObjectDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
29418func (asdtd AzureSQLDWTableDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
29419	return nil, false
29420}
29421
29422// AsPaypalObjectDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
29423func (asdtd AzureSQLDWTableDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
29424	return nil, false
29425}
29426
29427// AsMarketoObjectDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
29428func (asdtd AzureSQLDWTableDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
29429	return nil, false
29430}
29431
29432// AsMariaDBTableDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
29433func (asdtd AzureSQLDWTableDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
29434	return nil, false
29435}
29436
29437// AsMagentoObjectDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
29438func (asdtd AzureSQLDWTableDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
29439	return nil, false
29440}
29441
29442// AsJiraObjectDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
29443func (asdtd AzureSQLDWTableDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
29444	return nil, false
29445}
29446
29447// AsImpalaObjectDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
29448func (asdtd AzureSQLDWTableDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
29449	return nil, false
29450}
29451
29452// AsHubspotObjectDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
29453func (asdtd AzureSQLDWTableDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
29454	return nil, false
29455}
29456
29457// AsHiveObjectDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
29458func (asdtd AzureSQLDWTableDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
29459	return nil, false
29460}
29461
29462// AsHBaseObjectDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
29463func (asdtd AzureSQLDWTableDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
29464	return nil, false
29465}
29466
29467// AsGreenplumTableDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
29468func (asdtd AzureSQLDWTableDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
29469	return nil, false
29470}
29471
29472// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
29473func (asdtd AzureSQLDWTableDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
29474	return nil, false
29475}
29476
29477// AsEloquaObjectDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
29478func (asdtd AzureSQLDWTableDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
29479	return nil, false
29480}
29481
29482// AsDrillTableDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
29483func (asdtd AzureSQLDWTableDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
29484	return nil, false
29485}
29486
29487// AsCouchbaseTableDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
29488func (asdtd AzureSQLDWTableDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
29489	return nil, false
29490}
29491
29492// AsConcurObjectDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
29493func (asdtd AzureSQLDWTableDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
29494	return nil, false
29495}
29496
29497// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
29498func (asdtd AzureSQLDWTableDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
29499	return nil, false
29500}
29501
29502// AsAmazonMWSObjectDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
29503func (asdtd AzureSQLDWTableDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
29504	return nil, false
29505}
29506
29507// AsHTTPDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
29508func (asdtd AzureSQLDWTableDataset) AsHTTPDataset() (*HTTPDataset, bool) {
29509	return nil, false
29510}
29511
29512// AsAzureSearchIndexDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
29513func (asdtd AzureSQLDWTableDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
29514	return nil, false
29515}
29516
29517// AsWebTableDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
29518func (asdtd AzureSQLDWTableDataset) AsWebTableDataset() (*WebTableDataset, bool) {
29519	return nil, false
29520}
29521
29522// AsSapTableResourceDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
29523func (asdtd AzureSQLDWTableDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) {
29524	return nil, false
29525}
29526
29527// AsRestResourceDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
29528func (asdtd AzureSQLDWTableDataset) AsRestResourceDataset() (*RestResourceDataset, bool) {
29529	return nil, false
29530}
29531
29532// AsSQLServerTableDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
29533func (asdtd AzureSQLDWTableDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
29534	return nil, false
29535}
29536
29537// AsSapOpenHubTableDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
29538func (asdtd AzureSQLDWTableDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) {
29539	return nil, false
29540}
29541
29542// AsSapHanaTableDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
29543func (asdtd AzureSQLDWTableDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) {
29544	return nil, false
29545}
29546
29547// AsSapEccResourceDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
29548func (asdtd AzureSQLDWTableDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
29549	return nil, false
29550}
29551
29552// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
29553func (asdtd AzureSQLDWTableDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
29554	return nil, false
29555}
29556
29557// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
29558func (asdtd AzureSQLDWTableDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) {
29559	return nil, false
29560}
29561
29562// AsSalesforceObjectDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
29563func (asdtd AzureSQLDWTableDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
29564	return nil, false
29565}
29566
29567// AsMicrosoftAccessTableDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
29568func (asdtd AzureSQLDWTableDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) {
29569	return nil, false
29570}
29571
29572// AsPostgreSQLTableDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
29573func (asdtd AzureSQLDWTableDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) {
29574	return nil, false
29575}
29576
29577// AsMySQLTableDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
29578func (asdtd AzureSQLDWTableDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) {
29579	return nil, false
29580}
29581
29582// AsOdbcTableDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
29583func (asdtd AzureSQLDWTableDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) {
29584	return nil, false
29585}
29586
29587// AsInformixTableDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
29588func (asdtd AzureSQLDWTableDataset) AsInformixTableDataset() (*InformixTableDataset, bool) {
29589	return nil, false
29590}
29591
29592// AsRelationalTableDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
29593func (asdtd AzureSQLDWTableDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
29594	return nil, false
29595}
29596
29597// AsAzureMySQLTableDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
29598func (asdtd AzureSQLDWTableDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
29599	return nil, false
29600}
29601
29602// AsTeradataTableDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
29603func (asdtd AzureSQLDWTableDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) {
29604	return nil, false
29605}
29606
29607// AsOracleTableDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
29608func (asdtd AzureSQLDWTableDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
29609	return nil, false
29610}
29611
29612// AsODataResourceDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
29613func (asdtd AzureSQLDWTableDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
29614	return nil, false
29615}
29616
29617// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
29618func (asdtd AzureSQLDWTableDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) {
29619	return nil, false
29620}
29621
29622// AsMongoDbV2CollectionDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
29623func (asdtd AzureSQLDWTableDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) {
29624	return nil, false
29625}
29626
29627// AsMongoDbCollectionDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
29628func (asdtd AzureSQLDWTableDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
29629	return nil, false
29630}
29631
29632// AsFileShareDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
29633func (asdtd AzureSQLDWTableDataset) AsFileShareDataset() (*FileShareDataset, bool) {
29634	return nil, false
29635}
29636
29637// AsOffice365Dataset is the BasicDataset implementation for AzureSQLDWTableDataset.
29638func (asdtd AzureSQLDWTableDataset) AsOffice365Dataset() (*Office365Dataset, bool) {
29639	return nil, false
29640}
29641
29642// AsAzureBlobFSDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
29643func (asdtd AzureSQLDWTableDataset) AsAzureBlobFSDataset() (*AzureBlobFSDataset, bool) {
29644	return nil, false
29645}
29646
29647// AsAzureDataLakeStoreDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
29648func (asdtd AzureSQLDWTableDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) {
29649	return nil, false
29650}
29651
29652// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
29653func (asdtd AzureSQLDWTableDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) {
29654	return nil, false
29655}
29656
29657// AsDynamicsCrmEntityDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
29658func (asdtd AzureSQLDWTableDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) {
29659	return nil, false
29660}
29661
29662// AsDynamicsEntityDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
29663func (asdtd AzureSQLDWTableDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
29664	return nil, false
29665}
29666
29667// AsDocumentDbCollectionDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
29668func (asdtd AzureSQLDWTableDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
29669	return nil, false
29670}
29671
29672// AsCustomDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
29673func (asdtd AzureSQLDWTableDataset) AsCustomDataset() (*CustomDataset, bool) {
29674	return nil, false
29675}
29676
29677// AsCassandraTableDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
29678func (asdtd AzureSQLDWTableDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
29679	return nil, false
29680}
29681
29682// AsAzureSQLDWTableDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
29683func (asdtd AzureSQLDWTableDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
29684	return &asdtd, true
29685}
29686
29687// AsAzureSQLMITableDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
29688func (asdtd AzureSQLDWTableDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) {
29689	return nil, false
29690}
29691
29692// AsAzureSQLTableDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
29693func (asdtd AzureSQLDWTableDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
29694	return nil, false
29695}
29696
29697// AsAzureTableDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
29698func (asdtd AzureSQLDWTableDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
29699	return nil, false
29700}
29701
29702// AsAzureBlobDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
29703func (asdtd AzureSQLDWTableDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) {
29704	return nil, false
29705}
29706
29707// AsBinaryDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
29708func (asdtd AzureSQLDWTableDataset) AsBinaryDataset() (*BinaryDataset, bool) {
29709	return nil, false
29710}
29711
29712// AsDelimitedTextDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
29713func (asdtd AzureSQLDWTableDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) {
29714	return nil, false
29715}
29716
29717// AsParquetDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
29718func (asdtd AzureSQLDWTableDataset) AsParquetDataset() (*ParquetDataset, bool) {
29719	return nil, false
29720}
29721
29722// AsAmazonS3Dataset is the BasicDataset implementation for AzureSQLDWTableDataset.
29723func (asdtd AzureSQLDWTableDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) {
29724	return nil, false
29725}
29726
29727// AsDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
29728func (asdtd AzureSQLDWTableDataset) AsDataset() (*Dataset, bool) {
29729	return nil, false
29730}
29731
29732// AsBasicDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
29733func (asdtd AzureSQLDWTableDataset) AsBasicDataset() (BasicDataset, bool) {
29734	return &asdtd, true
29735}
29736
29737// UnmarshalJSON is the custom unmarshaler for AzureSQLDWTableDataset struct.
29738func (asdtd *AzureSQLDWTableDataset) UnmarshalJSON(body []byte) error {
29739	var m map[string]*json.RawMessage
29740	err := json.Unmarshal(body, &m)
29741	if err != nil {
29742		return err
29743	}
29744	for k, v := range m {
29745		switch k {
29746		case "typeProperties":
29747			if v != nil {
29748				var azureSQLDWTableDatasetTypeProperties AzureSQLDWTableDatasetTypeProperties
29749				err = json.Unmarshal(*v, &azureSQLDWTableDatasetTypeProperties)
29750				if err != nil {
29751					return err
29752				}
29753				asdtd.AzureSQLDWTableDatasetTypeProperties = &azureSQLDWTableDatasetTypeProperties
29754			}
29755		default:
29756			if v != nil {
29757				var additionalProperties interface{}
29758				err = json.Unmarshal(*v, &additionalProperties)
29759				if err != nil {
29760					return err
29761				}
29762				if asdtd.AdditionalProperties == nil {
29763					asdtd.AdditionalProperties = make(map[string]interface{})
29764				}
29765				asdtd.AdditionalProperties[k] = additionalProperties
29766			}
29767		case "description":
29768			if v != nil {
29769				var description string
29770				err = json.Unmarshal(*v, &description)
29771				if err != nil {
29772					return err
29773				}
29774				asdtd.Description = &description
29775			}
29776		case "structure":
29777			if v != nil {
29778				var structure interface{}
29779				err = json.Unmarshal(*v, &structure)
29780				if err != nil {
29781					return err
29782				}
29783				asdtd.Structure = structure
29784			}
29785		case "schema":
29786			if v != nil {
29787				var schema interface{}
29788				err = json.Unmarshal(*v, &schema)
29789				if err != nil {
29790					return err
29791				}
29792				asdtd.Schema = schema
29793			}
29794		case "linkedServiceName":
29795			if v != nil {
29796				var linkedServiceName LinkedServiceReference
29797				err = json.Unmarshal(*v, &linkedServiceName)
29798				if err != nil {
29799					return err
29800				}
29801				asdtd.LinkedServiceName = &linkedServiceName
29802			}
29803		case "parameters":
29804			if v != nil {
29805				var parameters map[string]*ParameterSpecification
29806				err = json.Unmarshal(*v, &parameters)
29807				if err != nil {
29808					return err
29809				}
29810				asdtd.Parameters = parameters
29811			}
29812		case "annotations":
29813			if v != nil {
29814				var annotations []interface{}
29815				err = json.Unmarshal(*v, &annotations)
29816				if err != nil {
29817					return err
29818				}
29819				asdtd.Annotations = &annotations
29820			}
29821		case "folder":
29822			if v != nil {
29823				var folder DatasetFolder
29824				err = json.Unmarshal(*v, &folder)
29825				if err != nil {
29826					return err
29827				}
29828				asdtd.Folder = &folder
29829			}
29830		case "type":
29831			if v != nil {
29832				var typeVar TypeBasicDataset
29833				err = json.Unmarshal(*v, &typeVar)
29834				if err != nil {
29835					return err
29836				}
29837				asdtd.Type = typeVar
29838			}
29839		}
29840	}
29841
29842	return nil
29843}
29844
29845// AzureSQLDWTableDatasetTypeProperties azure SQL Data Warehouse dataset properties.
29846type AzureSQLDWTableDatasetTypeProperties struct {
29847	// TableName - The table name of the Azure SQL Data Warehouse. Type: string (or Expression with resultType string).
29848	TableName interface{} `json:"tableName,omitempty"`
29849}
29850
29851// AzureSQLMILinkedService azure SQL Managed Instance linked service.
29852type AzureSQLMILinkedService struct {
29853	// AzureSQLMILinkedServiceTypeProperties - Azure SQL Managed Instance linked service properties.
29854	*AzureSQLMILinkedServiceTypeProperties `json:"typeProperties,omitempty"`
29855	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
29856	AdditionalProperties map[string]interface{} `json:""`
29857	// ConnectVia - The integration runtime reference.
29858	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
29859	// Description - Linked service description.
29860	Description *string `json:"description,omitempty"`
29861	// Parameters - Parameters for linked service.
29862	Parameters map[string]*ParameterSpecification `json:"parameters"`
29863	// Annotations - List of tags that can be used for describing the linked service.
29864	Annotations *[]interface{} `json:"annotations,omitempty"`
29865	// Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', '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', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage'
29866	Type TypeBasicLinkedService `json:"type,omitempty"`
29867}
29868
29869// MarshalJSON is the custom marshaler for AzureSQLMILinkedService.
29870func (asmls AzureSQLMILinkedService) MarshalJSON() ([]byte, error) {
29871	asmls.Type = TypeAzureSQLMI
29872	objectMap := make(map[string]interface{})
29873	if asmls.AzureSQLMILinkedServiceTypeProperties != nil {
29874		objectMap["typeProperties"] = asmls.AzureSQLMILinkedServiceTypeProperties
29875	}
29876	if asmls.ConnectVia != nil {
29877		objectMap["connectVia"] = asmls.ConnectVia
29878	}
29879	if asmls.Description != nil {
29880		objectMap["description"] = asmls.Description
29881	}
29882	if asmls.Parameters != nil {
29883		objectMap["parameters"] = asmls.Parameters
29884	}
29885	if asmls.Annotations != nil {
29886		objectMap["annotations"] = asmls.Annotations
29887	}
29888	if asmls.Type != "" {
29889		objectMap["type"] = asmls.Type
29890	}
29891	for k, v := range asmls.AdditionalProperties {
29892		objectMap[k] = v
29893	}
29894	return json.Marshal(objectMap)
29895}
29896
29897// AsAzureFunctionLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService.
29898func (asmls AzureSQLMILinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) {
29899	return nil, false
29900}
29901
29902// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService.
29903func (asmls AzureSQLMILinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) {
29904	return nil, false
29905}
29906
29907// AsSapTableLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService.
29908func (asmls AzureSQLMILinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) {
29909	return nil, false
29910}
29911
29912// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService.
29913func (asmls AzureSQLMILinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) {
29914	return nil, false
29915}
29916
29917// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService.
29918func (asmls AzureSQLMILinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) {
29919	return nil, false
29920}
29921
29922// AsDynamicsAXLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService.
29923func (asmls AzureSQLMILinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) {
29924	return nil, false
29925}
29926
29927// AsResponsysLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService.
29928func (asmls AzureSQLMILinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
29929	return nil, false
29930}
29931
29932// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService.
29933func (asmls AzureSQLMILinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
29934	return nil, false
29935}
29936
29937// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService.
29938func (asmls AzureSQLMILinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
29939	return nil, false
29940}
29941
29942// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService.
29943func (asmls AzureSQLMILinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
29944	return nil, false
29945}
29946
29947// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService.
29948func (asmls AzureSQLMILinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
29949	return nil, false
29950}
29951
29952// AsNetezzaLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService.
29953func (asmls AzureSQLMILinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
29954	return nil, false
29955}
29956
29957// AsVerticaLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService.
29958func (asmls AzureSQLMILinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
29959	return nil, false
29960}
29961
29962// AsZohoLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService.
29963func (asmls AzureSQLMILinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
29964	return nil, false
29965}
29966
29967// AsXeroLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService.
29968func (asmls AzureSQLMILinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
29969	return nil, false
29970}
29971
29972// AsSquareLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService.
29973func (asmls AzureSQLMILinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
29974	return nil, false
29975}
29976
29977// AsSparkLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService.
29978func (asmls AzureSQLMILinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
29979	return nil, false
29980}
29981
29982// AsShopifyLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService.
29983func (asmls AzureSQLMILinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
29984	return nil, false
29985}
29986
29987// AsServiceNowLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService.
29988func (asmls AzureSQLMILinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
29989	return nil, false
29990}
29991
29992// AsQuickBooksLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService.
29993func (asmls AzureSQLMILinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
29994	return nil, false
29995}
29996
29997// AsPrestoLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService.
29998func (asmls AzureSQLMILinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
29999	return nil, false
30000}
30001
30002// AsPhoenixLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService.
30003func (asmls AzureSQLMILinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
30004	return nil, false
30005}
30006
30007// AsPaypalLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService.
30008func (asmls AzureSQLMILinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
30009	return nil, false
30010}
30011
30012// AsMarketoLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService.
30013func (asmls AzureSQLMILinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
30014	return nil, false
30015}
30016
30017// AsMariaDBLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService.
30018func (asmls AzureSQLMILinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
30019	return nil, false
30020}
30021
30022// AsMagentoLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService.
30023func (asmls AzureSQLMILinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
30024	return nil, false
30025}
30026
30027// AsJiraLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService.
30028func (asmls AzureSQLMILinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
30029	return nil, false
30030}
30031
30032// AsImpalaLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService.
30033func (asmls AzureSQLMILinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
30034	return nil, false
30035}
30036
30037// AsHubspotLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService.
30038func (asmls AzureSQLMILinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
30039	return nil, false
30040}
30041
30042// AsHiveLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService.
30043func (asmls AzureSQLMILinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
30044	return nil, false
30045}
30046
30047// AsHBaseLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService.
30048func (asmls AzureSQLMILinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
30049	return nil, false
30050}
30051
30052// AsGreenplumLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService.
30053func (asmls AzureSQLMILinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
30054	return nil, false
30055}
30056
30057// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService.
30058func (asmls AzureSQLMILinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
30059	return nil, false
30060}
30061
30062// AsEloquaLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService.
30063func (asmls AzureSQLMILinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
30064	return nil, false
30065}
30066
30067// AsDrillLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService.
30068func (asmls AzureSQLMILinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
30069	return nil, false
30070}
30071
30072// AsCouchbaseLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService.
30073func (asmls AzureSQLMILinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
30074	return nil, false
30075}
30076
30077// AsConcurLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService.
30078func (asmls AzureSQLMILinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
30079	return nil, false
30080}
30081
30082// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService.
30083func (asmls AzureSQLMILinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
30084	return nil, false
30085}
30086
30087// AsAmazonMWSLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService.
30088func (asmls AzureSQLMILinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
30089	return nil, false
30090}
30091
30092// AsSapHanaLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService.
30093func (asmls AzureSQLMILinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
30094	return nil, false
30095}
30096
30097// AsSapBWLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService.
30098func (asmls AzureSQLMILinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
30099	return nil, false
30100}
30101
30102// AsSftpServerLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService.
30103func (asmls AzureSQLMILinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
30104	return nil, false
30105}
30106
30107// AsFtpServerLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService.
30108func (asmls AzureSQLMILinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
30109	return nil, false
30110}
30111
30112// AsHTTPLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService.
30113func (asmls AzureSQLMILinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
30114	return nil, false
30115}
30116
30117// AsAzureSearchLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService.
30118func (asmls AzureSQLMILinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
30119	return nil, false
30120}
30121
30122// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService.
30123func (asmls AzureSQLMILinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
30124	return nil, false
30125}
30126
30127// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService.
30128func (asmls AzureSQLMILinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
30129	return nil, false
30130}
30131
30132// AsAmazonS3LinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService.
30133func (asmls AzureSQLMILinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
30134	return nil, false
30135}
30136
30137// AsRestServiceLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService.
30138func (asmls AzureSQLMILinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) {
30139	return nil, false
30140}
30141
30142// AsSapOpenHubLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService.
30143func (asmls AzureSQLMILinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) {
30144	return nil, false
30145}
30146
30147// AsSapEccLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService.
30148func (asmls AzureSQLMILinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
30149	return nil, false
30150}
30151
30152// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService.
30153func (asmls AzureSQLMILinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
30154	return nil, false
30155}
30156
30157// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService.
30158func (asmls AzureSQLMILinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) {
30159	return nil, false
30160}
30161
30162// AsSalesforceLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService.
30163func (asmls AzureSQLMILinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
30164	return nil, false
30165}
30166
30167// AsOffice365LinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService.
30168func (asmls AzureSQLMILinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) {
30169	return nil, false
30170}
30171
30172// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService.
30173func (asmls AzureSQLMILinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) {
30174	return nil, false
30175}
30176
30177// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService.
30178func (asmls AzureSQLMILinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
30179	return nil, false
30180}
30181
30182// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService.
30183func (asmls AzureSQLMILinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) {
30184	return nil, false
30185}
30186
30187// AsMongoDbV2LinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService.
30188func (asmls AzureSQLMILinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) {
30189	return nil, false
30190}
30191
30192// AsMongoDbLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService.
30193func (asmls AzureSQLMILinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
30194	return nil, false
30195}
30196
30197// AsCassandraLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService.
30198func (asmls AzureSQLMILinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
30199	return nil, false
30200}
30201
30202// AsWebLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService.
30203func (asmls AzureSQLMILinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
30204	return nil, false
30205}
30206
30207// AsODataLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService.
30208func (asmls AzureSQLMILinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
30209	return nil, false
30210}
30211
30212// AsHdfsLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService.
30213func (asmls AzureSQLMILinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
30214	return nil, false
30215}
30216
30217// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService.
30218func (asmls AzureSQLMILinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) {
30219	return nil, false
30220}
30221
30222// AsInformixLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService.
30223func (asmls AzureSQLMILinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) {
30224	return nil, false
30225}
30226
30227// AsOdbcLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService.
30228func (asmls AzureSQLMILinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
30229	return nil, false
30230}
30231
30232// AsAzureMLLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService.
30233func (asmls AzureSQLMILinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
30234	return nil, false
30235}
30236
30237// AsTeradataLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService.
30238func (asmls AzureSQLMILinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
30239	return nil, false
30240}
30241
30242// AsDb2LinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService.
30243func (asmls AzureSQLMILinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
30244	return nil, false
30245}
30246
30247// AsSybaseLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService.
30248func (asmls AzureSQLMILinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
30249	return nil, false
30250}
30251
30252// AsPostgreSQLLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService.
30253func (asmls AzureSQLMILinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
30254	return nil, false
30255}
30256
30257// AsMySQLLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService.
30258func (asmls AzureSQLMILinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
30259	return nil, false
30260}
30261
30262// AsAzureMySQLLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService.
30263func (asmls AzureSQLMILinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
30264	return nil, false
30265}
30266
30267// AsOracleLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService.
30268func (asmls AzureSQLMILinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
30269	return nil, false
30270}
30271
30272// AsFileServerLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService.
30273func (asmls AzureSQLMILinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
30274	return nil, false
30275}
30276
30277// AsHDInsightLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService.
30278func (asmls AzureSQLMILinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
30279	return nil, false
30280}
30281
30282// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService.
30283func (asmls AzureSQLMILinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) {
30284	return nil, false
30285}
30286
30287// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService.
30288func (asmls AzureSQLMILinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) {
30289	return nil, false
30290}
30291
30292// AsDynamicsLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService.
30293func (asmls AzureSQLMILinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
30294	return nil, false
30295}
30296
30297// AsCosmosDbLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService.
30298func (asmls AzureSQLMILinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
30299	return nil, false
30300}
30301
30302// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService.
30303func (asmls AzureSQLMILinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
30304	return nil, false
30305}
30306
30307// AsAzureBatchLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService.
30308func (asmls AzureSQLMILinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
30309	return nil, false
30310}
30311
30312// AsAzureSQLMILinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService.
30313func (asmls AzureSQLMILinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) {
30314	return &asmls, true
30315}
30316
30317// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService.
30318func (asmls AzureSQLMILinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
30319	return nil, false
30320}
30321
30322// AsSQLServerLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService.
30323func (asmls AzureSQLMILinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
30324	return nil, false
30325}
30326
30327// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService.
30328func (asmls AzureSQLMILinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
30329	return nil, false
30330}
30331
30332// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService.
30333func (asmls AzureSQLMILinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) {
30334	return nil, false
30335}
30336
30337// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService.
30338func (asmls AzureSQLMILinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) {
30339	return nil, false
30340}
30341
30342// AsAzureStorageLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService.
30343func (asmls AzureSQLMILinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
30344	return nil, false
30345}
30346
30347// AsLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService.
30348func (asmls AzureSQLMILinkedService) AsLinkedService() (*LinkedService, bool) {
30349	return nil, false
30350}
30351
30352// AsBasicLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService.
30353func (asmls AzureSQLMILinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
30354	return &asmls, true
30355}
30356
30357// UnmarshalJSON is the custom unmarshaler for AzureSQLMILinkedService struct.
30358func (asmls *AzureSQLMILinkedService) UnmarshalJSON(body []byte) error {
30359	var m map[string]*json.RawMessage
30360	err := json.Unmarshal(body, &m)
30361	if err != nil {
30362		return err
30363	}
30364	for k, v := range m {
30365		switch k {
30366		case "typeProperties":
30367			if v != nil {
30368				var azureSQLMILinkedServiceTypeProperties AzureSQLMILinkedServiceTypeProperties
30369				err = json.Unmarshal(*v, &azureSQLMILinkedServiceTypeProperties)
30370				if err != nil {
30371					return err
30372				}
30373				asmls.AzureSQLMILinkedServiceTypeProperties = &azureSQLMILinkedServiceTypeProperties
30374			}
30375		default:
30376			if v != nil {
30377				var additionalProperties interface{}
30378				err = json.Unmarshal(*v, &additionalProperties)
30379				if err != nil {
30380					return err
30381				}
30382				if asmls.AdditionalProperties == nil {
30383					asmls.AdditionalProperties = make(map[string]interface{})
30384				}
30385				asmls.AdditionalProperties[k] = additionalProperties
30386			}
30387		case "connectVia":
30388			if v != nil {
30389				var connectVia IntegrationRuntimeReference
30390				err = json.Unmarshal(*v, &connectVia)
30391				if err != nil {
30392					return err
30393				}
30394				asmls.ConnectVia = &connectVia
30395			}
30396		case "description":
30397			if v != nil {
30398				var description string
30399				err = json.Unmarshal(*v, &description)
30400				if err != nil {
30401					return err
30402				}
30403				asmls.Description = &description
30404			}
30405		case "parameters":
30406			if v != nil {
30407				var parameters map[string]*ParameterSpecification
30408				err = json.Unmarshal(*v, &parameters)
30409				if err != nil {
30410					return err
30411				}
30412				asmls.Parameters = parameters
30413			}
30414		case "annotations":
30415			if v != nil {
30416				var annotations []interface{}
30417				err = json.Unmarshal(*v, &annotations)
30418				if err != nil {
30419					return err
30420				}
30421				asmls.Annotations = &annotations
30422			}
30423		case "type":
30424			if v != nil {
30425				var typeVar TypeBasicLinkedService
30426				err = json.Unmarshal(*v, &typeVar)
30427				if err != nil {
30428					return err
30429				}
30430				asmls.Type = typeVar
30431			}
30432		}
30433	}
30434
30435	return nil
30436}
30437
30438// AzureSQLMILinkedServiceTypeProperties azure SQL Managed Instance linked service properties.
30439type AzureSQLMILinkedServiceTypeProperties struct {
30440	// ConnectionString - The connection string. Type: string, SecureString or AzureKeyVaultSecretReference.
30441	ConnectionString interface{} `json:"connectionString,omitempty"`
30442	// Password - The Azure key vault secret reference of password in connection string.
30443	Password *AzureKeyVaultSecretReference `json:"password,omitempty"`
30444	// ServicePrincipalID - The ID of the service principal used to authenticate against Azure SQL Managed Instance. Type: string (or Expression with resultType string).
30445	ServicePrincipalID interface{} `json:"servicePrincipalId,omitempty"`
30446	// ServicePrincipalKey - The key of the service principal used to authenticate against Azure SQL Managed Instance.
30447	ServicePrincipalKey BasicSecretBase `json:"servicePrincipalKey,omitempty"`
30448	// Tenant - The name or ID of the tenant to which the service principal belongs. Type: string (or Expression with resultType string).
30449	Tenant interface{} `json:"tenant,omitempty"`
30450	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
30451	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
30452}
30453
30454// UnmarshalJSON is the custom unmarshaler for AzureSQLMILinkedServiceTypeProperties struct.
30455func (asmlstp *AzureSQLMILinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
30456	var m map[string]*json.RawMessage
30457	err := json.Unmarshal(body, &m)
30458	if err != nil {
30459		return err
30460	}
30461	for k, v := range m {
30462		switch k {
30463		case "connectionString":
30464			if v != nil {
30465				var connectionString interface{}
30466				err = json.Unmarshal(*v, &connectionString)
30467				if err != nil {
30468					return err
30469				}
30470				asmlstp.ConnectionString = connectionString
30471			}
30472		case "password":
30473			if v != nil {
30474				var password AzureKeyVaultSecretReference
30475				err = json.Unmarshal(*v, &password)
30476				if err != nil {
30477					return err
30478				}
30479				asmlstp.Password = &password
30480			}
30481		case "servicePrincipalId":
30482			if v != nil {
30483				var servicePrincipalID interface{}
30484				err = json.Unmarshal(*v, &servicePrincipalID)
30485				if err != nil {
30486					return err
30487				}
30488				asmlstp.ServicePrincipalID = servicePrincipalID
30489			}
30490		case "servicePrincipalKey":
30491			if v != nil {
30492				servicePrincipalKey, err := unmarshalBasicSecretBase(*v)
30493				if err != nil {
30494					return err
30495				}
30496				asmlstp.ServicePrincipalKey = servicePrincipalKey
30497			}
30498		case "tenant":
30499			if v != nil {
30500				var tenant interface{}
30501				err = json.Unmarshal(*v, &tenant)
30502				if err != nil {
30503					return err
30504				}
30505				asmlstp.Tenant = tenant
30506			}
30507		case "encryptedCredential":
30508			if v != nil {
30509				var encryptedCredential interface{}
30510				err = json.Unmarshal(*v, &encryptedCredential)
30511				if err != nil {
30512					return err
30513				}
30514				asmlstp.EncryptedCredential = encryptedCredential
30515			}
30516		}
30517	}
30518
30519	return nil
30520}
30521
30522// AzureSQLMITableDataset the Azure SQL Managed Instance dataset.
30523type AzureSQLMITableDataset struct {
30524	// AzureSQLMITableDatasetTypeProperties - Azure SQL Managed Instance dataset properties.
30525	*AzureSQLMITableDatasetTypeProperties `json:"typeProperties,omitempty"`
30526	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
30527	AdditionalProperties map[string]interface{} `json:""`
30528	// Description - Dataset description.
30529	Description *string `json:"description,omitempty"`
30530	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
30531	Structure interface{} `json:"structure,omitempty"`
30532	// Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement.
30533	Schema interface{} `json:"schema,omitempty"`
30534	// LinkedServiceName - Linked service reference.
30535	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
30536	// Parameters - Parameters for dataset.
30537	Parameters map[string]*ParameterSpecification `json:"parameters"`
30538	// Annotations - List of tags that can be used for describing the Dataset.
30539	Annotations *[]interface{} `json:"annotations,omitempty"`
30540	// Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level.
30541	Folder *DatasetFolder `json:"folder,omitempty"`
30542	// Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', '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', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeDelimitedText', 'TypeParquet', 'TypeAmazonS3Object'
30543	Type TypeBasicDataset `json:"type,omitempty"`
30544}
30545
30546// MarshalJSON is the custom marshaler for AzureSQLMITableDataset.
30547func (asmtd AzureSQLMITableDataset) MarshalJSON() ([]byte, error) {
30548	asmtd.Type = TypeAzureSQLMITable
30549	objectMap := make(map[string]interface{})
30550	if asmtd.AzureSQLMITableDatasetTypeProperties != nil {
30551		objectMap["typeProperties"] = asmtd.AzureSQLMITableDatasetTypeProperties
30552	}
30553	if asmtd.Description != nil {
30554		objectMap["description"] = asmtd.Description
30555	}
30556	if asmtd.Structure != nil {
30557		objectMap["structure"] = asmtd.Structure
30558	}
30559	if asmtd.Schema != nil {
30560		objectMap["schema"] = asmtd.Schema
30561	}
30562	if asmtd.LinkedServiceName != nil {
30563		objectMap["linkedServiceName"] = asmtd.LinkedServiceName
30564	}
30565	if asmtd.Parameters != nil {
30566		objectMap["parameters"] = asmtd.Parameters
30567	}
30568	if asmtd.Annotations != nil {
30569		objectMap["annotations"] = asmtd.Annotations
30570	}
30571	if asmtd.Folder != nil {
30572		objectMap["folder"] = asmtd.Folder
30573	}
30574	if asmtd.Type != "" {
30575		objectMap["type"] = asmtd.Type
30576	}
30577	for k, v := range asmtd.AdditionalProperties {
30578		objectMap[k] = v
30579	}
30580	return json.Marshal(objectMap)
30581}
30582
30583// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for AzureSQLMITableDataset.
30584func (asmtd AzureSQLMITableDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) {
30585	return nil, false
30586}
30587
30588// AsAzureDataExplorerTableDataset is the BasicDataset implementation for AzureSQLMITableDataset.
30589func (asmtd AzureSQLMITableDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) {
30590	return nil, false
30591}
30592
30593// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for AzureSQLMITableDataset.
30594func (asmtd AzureSQLMITableDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) {
30595	return nil, false
30596}
30597
30598// AsDynamicsAXResourceDataset is the BasicDataset implementation for AzureSQLMITableDataset.
30599func (asmtd AzureSQLMITableDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) {
30600	return nil, false
30601}
30602
30603// AsResponsysObjectDataset is the BasicDataset implementation for AzureSQLMITableDataset.
30604func (asmtd AzureSQLMITableDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
30605	return nil, false
30606}
30607
30608// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for AzureSQLMITableDataset.
30609func (asmtd AzureSQLMITableDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
30610	return nil, false
30611}
30612
30613// AsVerticaTableDataset is the BasicDataset implementation for AzureSQLMITableDataset.
30614func (asmtd AzureSQLMITableDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
30615	return nil, false
30616}
30617
30618// AsNetezzaTableDataset is the BasicDataset implementation for AzureSQLMITableDataset.
30619func (asmtd AzureSQLMITableDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
30620	return nil, false
30621}
30622
30623// AsZohoObjectDataset is the BasicDataset implementation for AzureSQLMITableDataset.
30624func (asmtd AzureSQLMITableDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
30625	return nil, false
30626}
30627
30628// AsXeroObjectDataset is the BasicDataset implementation for AzureSQLMITableDataset.
30629func (asmtd AzureSQLMITableDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
30630	return nil, false
30631}
30632
30633// AsSquareObjectDataset is the BasicDataset implementation for AzureSQLMITableDataset.
30634func (asmtd AzureSQLMITableDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
30635	return nil, false
30636}
30637
30638// AsSparkObjectDataset is the BasicDataset implementation for AzureSQLMITableDataset.
30639func (asmtd AzureSQLMITableDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
30640	return nil, false
30641}
30642
30643// AsShopifyObjectDataset is the BasicDataset implementation for AzureSQLMITableDataset.
30644func (asmtd AzureSQLMITableDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
30645	return nil, false
30646}
30647
30648// AsServiceNowObjectDataset is the BasicDataset implementation for AzureSQLMITableDataset.
30649func (asmtd AzureSQLMITableDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
30650	return nil, false
30651}
30652
30653// AsQuickBooksObjectDataset is the BasicDataset implementation for AzureSQLMITableDataset.
30654func (asmtd AzureSQLMITableDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
30655	return nil, false
30656}
30657
30658// AsPrestoObjectDataset is the BasicDataset implementation for AzureSQLMITableDataset.
30659func (asmtd AzureSQLMITableDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
30660	return nil, false
30661}
30662
30663// AsPhoenixObjectDataset is the BasicDataset implementation for AzureSQLMITableDataset.
30664func (asmtd AzureSQLMITableDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
30665	return nil, false
30666}
30667
30668// AsPaypalObjectDataset is the BasicDataset implementation for AzureSQLMITableDataset.
30669func (asmtd AzureSQLMITableDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
30670	return nil, false
30671}
30672
30673// AsMarketoObjectDataset is the BasicDataset implementation for AzureSQLMITableDataset.
30674func (asmtd AzureSQLMITableDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
30675	return nil, false
30676}
30677
30678// AsMariaDBTableDataset is the BasicDataset implementation for AzureSQLMITableDataset.
30679func (asmtd AzureSQLMITableDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
30680	return nil, false
30681}
30682
30683// AsMagentoObjectDataset is the BasicDataset implementation for AzureSQLMITableDataset.
30684func (asmtd AzureSQLMITableDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
30685	return nil, false
30686}
30687
30688// AsJiraObjectDataset is the BasicDataset implementation for AzureSQLMITableDataset.
30689func (asmtd AzureSQLMITableDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
30690	return nil, false
30691}
30692
30693// AsImpalaObjectDataset is the BasicDataset implementation for AzureSQLMITableDataset.
30694func (asmtd AzureSQLMITableDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
30695	return nil, false
30696}
30697
30698// AsHubspotObjectDataset is the BasicDataset implementation for AzureSQLMITableDataset.
30699func (asmtd AzureSQLMITableDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
30700	return nil, false
30701}
30702
30703// AsHiveObjectDataset is the BasicDataset implementation for AzureSQLMITableDataset.
30704func (asmtd AzureSQLMITableDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
30705	return nil, false
30706}
30707
30708// AsHBaseObjectDataset is the BasicDataset implementation for AzureSQLMITableDataset.
30709func (asmtd AzureSQLMITableDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
30710	return nil, false
30711}
30712
30713// AsGreenplumTableDataset is the BasicDataset implementation for AzureSQLMITableDataset.
30714func (asmtd AzureSQLMITableDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
30715	return nil, false
30716}
30717
30718// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for AzureSQLMITableDataset.
30719func (asmtd AzureSQLMITableDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
30720	return nil, false
30721}
30722
30723// AsEloquaObjectDataset is the BasicDataset implementation for AzureSQLMITableDataset.
30724func (asmtd AzureSQLMITableDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
30725	return nil, false
30726}
30727
30728// AsDrillTableDataset is the BasicDataset implementation for AzureSQLMITableDataset.
30729func (asmtd AzureSQLMITableDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
30730	return nil, false
30731}
30732
30733// AsCouchbaseTableDataset is the BasicDataset implementation for AzureSQLMITableDataset.
30734func (asmtd AzureSQLMITableDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
30735	return nil, false
30736}
30737
30738// AsConcurObjectDataset is the BasicDataset implementation for AzureSQLMITableDataset.
30739func (asmtd AzureSQLMITableDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
30740	return nil, false
30741}
30742
30743// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for AzureSQLMITableDataset.
30744func (asmtd AzureSQLMITableDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
30745	return nil, false
30746}
30747
30748// AsAmazonMWSObjectDataset is the BasicDataset implementation for AzureSQLMITableDataset.
30749func (asmtd AzureSQLMITableDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
30750	return nil, false
30751}
30752
30753// AsHTTPDataset is the BasicDataset implementation for AzureSQLMITableDataset.
30754func (asmtd AzureSQLMITableDataset) AsHTTPDataset() (*HTTPDataset, bool) {
30755	return nil, false
30756}
30757
30758// AsAzureSearchIndexDataset is the BasicDataset implementation for AzureSQLMITableDataset.
30759func (asmtd AzureSQLMITableDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
30760	return nil, false
30761}
30762
30763// AsWebTableDataset is the BasicDataset implementation for AzureSQLMITableDataset.
30764func (asmtd AzureSQLMITableDataset) AsWebTableDataset() (*WebTableDataset, bool) {
30765	return nil, false
30766}
30767
30768// AsSapTableResourceDataset is the BasicDataset implementation for AzureSQLMITableDataset.
30769func (asmtd AzureSQLMITableDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) {
30770	return nil, false
30771}
30772
30773// AsRestResourceDataset is the BasicDataset implementation for AzureSQLMITableDataset.
30774func (asmtd AzureSQLMITableDataset) AsRestResourceDataset() (*RestResourceDataset, bool) {
30775	return nil, false
30776}
30777
30778// AsSQLServerTableDataset is the BasicDataset implementation for AzureSQLMITableDataset.
30779func (asmtd AzureSQLMITableDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
30780	return nil, false
30781}
30782
30783// AsSapOpenHubTableDataset is the BasicDataset implementation for AzureSQLMITableDataset.
30784func (asmtd AzureSQLMITableDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) {
30785	return nil, false
30786}
30787
30788// AsSapHanaTableDataset is the BasicDataset implementation for AzureSQLMITableDataset.
30789func (asmtd AzureSQLMITableDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) {
30790	return nil, false
30791}
30792
30793// AsSapEccResourceDataset is the BasicDataset implementation for AzureSQLMITableDataset.
30794func (asmtd AzureSQLMITableDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
30795	return nil, false
30796}
30797
30798// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for AzureSQLMITableDataset.
30799func (asmtd AzureSQLMITableDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
30800	return nil, false
30801}
30802
30803// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for AzureSQLMITableDataset.
30804func (asmtd AzureSQLMITableDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) {
30805	return nil, false
30806}
30807
30808// AsSalesforceObjectDataset is the BasicDataset implementation for AzureSQLMITableDataset.
30809func (asmtd AzureSQLMITableDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
30810	return nil, false
30811}
30812
30813// AsMicrosoftAccessTableDataset is the BasicDataset implementation for AzureSQLMITableDataset.
30814func (asmtd AzureSQLMITableDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) {
30815	return nil, false
30816}
30817
30818// AsPostgreSQLTableDataset is the BasicDataset implementation for AzureSQLMITableDataset.
30819func (asmtd AzureSQLMITableDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) {
30820	return nil, false
30821}
30822
30823// AsMySQLTableDataset is the BasicDataset implementation for AzureSQLMITableDataset.
30824func (asmtd AzureSQLMITableDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) {
30825	return nil, false
30826}
30827
30828// AsOdbcTableDataset is the BasicDataset implementation for AzureSQLMITableDataset.
30829func (asmtd AzureSQLMITableDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) {
30830	return nil, false
30831}
30832
30833// AsInformixTableDataset is the BasicDataset implementation for AzureSQLMITableDataset.
30834func (asmtd AzureSQLMITableDataset) AsInformixTableDataset() (*InformixTableDataset, bool) {
30835	return nil, false
30836}
30837
30838// AsRelationalTableDataset is the BasicDataset implementation for AzureSQLMITableDataset.
30839func (asmtd AzureSQLMITableDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
30840	return nil, false
30841}
30842
30843// AsAzureMySQLTableDataset is the BasicDataset implementation for AzureSQLMITableDataset.
30844func (asmtd AzureSQLMITableDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
30845	return nil, false
30846}
30847
30848// AsTeradataTableDataset is the BasicDataset implementation for AzureSQLMITableDataset.
30849func (asmtd AzureSQLMITableDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) {
30850	return nil, false
30851}
30852
30853// AsOracleTableDataset is the BasicDataset implementation for AzureSQLMITableDataset.
30854func (asmtd AzureSQLMITableDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
30855	return nil, false
30856}
30857
30858// AsODataResourceDataset is the BasicDataset implementation for AzureSQLMITableDataset.
30859func (asmtd AzureSQLMITableDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
30860	return nil, false
30861}
30862
30863// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for AzureSQLMITableDataset.
30864func (asmtd AzureSQLMITableDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) {
30865	return nil, false
30866}
30867
30868// AsMongoDbV2CollectionDataset is the BasicDataset implementation for AzureSQLMITableDataset.
30869func (asmtd AzureSQLMITableDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) {
30870	return nil, false
30871}
30872
30873// AsMongoDbCollectionDataset is the BasicDataset implementation for AzureSQLMITableDataset.
30874func (asmtd AzureSQLMITableDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
30875	return nil, false
30876}
30877
30878// AsFileShareDataset is the BasicDataset implementation for AzureSQLMITableDataset.
30879func (asmtd AzureSQLMITableDataset) AsFileShareDataset() (*FileShareDataset, bool) {
30880	return nil, false
30881}
30882
30883// AsOffice365Dataset is the BasicDataset implementation for AzureSQLMITableDataset.
30884func (asmtd AzureSQLMITableDataset) AsOffice365Dataset() (*Office365Dataset, bool) {
30885	return nil, false
30886}
30887
30888// AsAzureBlobFSDataset is the BasicDataset implementation for AzureSQLMITableDataset.
30889func (asmtd AzureSQLMITableDataset) AsAzureBlobFSDataset() (*AzureBlobFSDataset, bool) {
30890	return nil, false
30891}
30892
30893// AsAzureDataLakeStoreDataset is the BasicDataset implementation for AzureSQLMITableDataset.
30894func (asmtd AzureSQLMITableDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) {
30895	return nil, false
30896}
30897
30898// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for AzureSQLMITableDataset.
30899func (asmtd AzureSQLMITableDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) {
30900	return nil, false
30901}
30902
30903// AsDynamicsCrmEntityDataset is the BasicDataset implementation for AzureSQLMITableDataset.
30904func (asmtd AzureSQLMITableDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) {
30905	return nil, false
30906}
30907
30908// AsDynamicsEntityDataset is the BasicDataset implementation for AzureSQLMITableDataset.
30909func (asmtd AzureSQLMITableDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
30910	return nil, false
30911}
30912
30913// AsDocumentDbCollectionDataset is the BasicDataset implementation for AzureSQLMITableDataset.
30914func (asmtd AzureSQLMITableDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
30915	return nil, false
30916}
30917
30918// AsCustomDataset is the BasicDataset implementation for AzureSQLMITableDataset.
30919func (asmtd AzureSQLMITableDataset) AsCustomDataset() (*CustomDataset, bool) {
30920	return nil, false
30921}
30922
30923// AsCassandraTableDataset is the BasicDataset implementation for AzureSQLMITableDataset.
30924func (asmtd AzureSQLMITableDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
30925	return nil, false
30926}
30927
30928// AsAzureSQLDWTableDataset is the BasicDataset implementation for AzureSQLMITableDataset.
30929func (asmtd AzureSQLMITableDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
30930	return nil, false
30931}
30932
30933// AsAzureSQLMITableDataset is the BasicDataset implementation for AzureSQLMITableDataset.
30934func (asmtd AzureSQLMITableDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) {
30935	return &asmtd, true
30936}
30937
30938// AsAzureSQLTableDataset is the BasicDataset implementation for AzureSQLMITableDataset.
30939func (asmtd AzureSQLMITableDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
30940	return nil, false
30941}
30942
30943// AsAzureTableDataset is the BasicDataset implementation for AzureSQLMITableDataset.
30944func (asmtd AzureSQLMITableDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
30945	return nil, false
30946}
30947
30948// AsAzureBlobDataset is the BasicDataset implementation for AzureSQLMITableDataset.
30949func (asmtd AzureSQLMITableDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) {
30950	return nil, false
30951}
30952
30953// AsBinaryDataset is the BasicDataset implementation for AzureSQLMITableDataset.
30954func (asmtd AzureSQLMITableDataset) AsBinaryDataset() (*BinaryDataset, bool) {
30955	return nil, false
30956}
30957
30958// AsDelimitedTextDataset is the BasicDataset implementation for AzureSQLMITableDataset.
30959func (asmtd AzureSQLMITableDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) {
30960	return nil, false
30961}
30962
30963// AsParquetDataset is the BasicDataset implementation for AzureSQLMITableDataset.
30964func (asmtd AzureSQLMITableDataset) AsParquetDataset() (*ParquetDataset, bool) {
30965	return nil, false
30966}
30967
30968// AsAmazonS3Dataset is the BasicDataset implementation for AzureSQLMITableDataset.
30969func (asmtd AzureSQLMITableDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) {
30970	return nil, false
30971}
30972
30973// AsDataset is the BasicDataset implementation for AzureSQLMITableDataset.
30974func (asmtd AzureSQLMITableDataset) AsDataset() (*Dataset, bool) {
30975	return nil, false
30976}
30977
30978// AsBasicDataset is the BasicDataset implementation for AzureSQLMITableDataset.
30979func (asmtd AzureSQLMITableDataset) AsBasicDataset() (BasicDataset, bool) {
30980	return &asmtd, true
30981}
30982
30983// UnmarshalJSON is the custom unmarshaler for AzureSQLMITableDataset struct.
30984func (asmtd *AzureSQLMITableDataset) UnmarshalJSON(body []byte) error {
30985	var m map[string]*json.RawMessage
30986	err := json.Unmarshal(body, &m)
30987	if err != nil {
30988		return err
30989	}
30990	for k, v := range m {
30991		switch k {
30992		case "typeProperties":
30993			if v != nil {
30994				var azureSQLMITableDatasetTypeProperties AzureSQLMITableDatasetTypeProperties
30995				err = json.Unmarshal(*v, &azureSQLMITableDatasetTypeProperties)
30996				if err != nil {
30997					return err
30998				}
30999				asmtd.AzureSQLMITableDatasetTypeProperties = &azureSQLMITableDatasetTypeProperties
31000			}
31001		default:
31002			if v != nil {
31003				var additionalProperties interface{}
31004				err = json.Unmarshal(*v, &additionalProperties)
31005				if err != nil {
31006					return err
31007				}
31008				if asmtd.AdditionalProperties == nil {
31009					asmtd.AdditionalProperties = make(map[string]interface{})
31010				}
31011				asmtd.AdditionalProperties[k] = additionalProperties
31012			}
31013		case "description":
31014			if v != nil {
31015				var description string
31016				err = json.Unmarshal(*v, &description)
31017				if err != nil {
31018					return err
31019				}
31020				asmtd.Description = &description
31021			}
31022		case "structure":
31023			if v != nil {
31024				var structure interface{}
31025				err = json.Unmarshal(*v, &structure)
31026				if err != nil {
31027					return err
31028				}
31029				asmtd.Structure = structure
31030			}
31031		case "schema":
31032			if v != nil {
31033				var schema interface{}
31034				err = json.Unmarshal(*v, &schema)
31035				if err != nil {
31036					return err
31037				}
31038				asmtd.Schema = schema
31039			}
31040		case "linkedServiceName":
31041			if v != nil {
31042				var linkedServiceName LinkedServiceReference
31043				err = json.Unmarshal(*v, &linkedServiceName)
31044				if err != nil {
31045					return err
31046				}
31047				asmtd.LinkedServiceName = &linkedServiceName
31048			}
31049		case "parameters":
31050			if v != nil {
31051				var parameters map[string]*ParameterSpecification
31052				err = json.Unmarshal(*v, &parameters)
31053				if err != nil {
31054					return err
31055				}
31056				asmtd.Parameters = parameters
31057			}
31058		case "annotations":
31059			if v != nil {
31060				var annotations []interface{}
31061				err = json.Unmarshal(*v, &annotations)
31062				if err != nil {
31063					return err
31064				}
31065				asmtd.Annotations = &annotations
31066			}
31067		case "folder":
31068			if v != nil {
31069				var folder DatasetFolder
31070				err = json.Unmarshal(*v, &folder)
31071				if err != nil {
31072					return err
31073				}
31074				asmtd.Folder = &folder
31075			}
31076		case "type":
31077			if v != nil {
31078				var typeVar TypeBasicDataset
31079				err = json.Unmarshal(*v, &typeVar)
31080				if err != nil {
31081					return err
31082				}
31083				asmtd.Type = typeVar
31084			}
31085		}
31086	}
31087
31088	return nil
31089}
31090
31091// AzureSQLMITableDatasetTypeProperties azure SQL Managed Instance dataset properties.
31092type AzureSQLMITableDatasetTypeProperties struct {
31093	// TableName - This property will be retired. Please consider using schema + table properties instead.
31094	TableName interface{} `json:"tableName,omitempty"`
31095	// Schema - The schema name of the Azure SQL Managed Instance. Type: string (or Expression with resultType string).
31096	Schema interface{} `json:"schema,omitempty"`
31097	// Table - The table name of the Azure SQL Managed Instance dataset. Type: string (or Expression with resultType string).
31098	Table interface{} `json:"table,omitempty"`
31099}
31100
31101// AzureSQLSink a copy activity Azure SQL sink.
31102type AzureSQLSink struct {
31103	// SQLWriterStoredProcedureName - SQL writer stored procedure name. Type: string (or Expression with resultType string).
31104	SQLWriterStoredProcedureName interface{} `json:"sqlWriterStoredProcedureName,omitempty"`
31105	// SQLWriterTableType - SQL writer table type. Type: string (or Expression with resultType string).
31106	SQLWriterTableType interface{} `json:"sqlWriterTableType,omitempty"`
31107	// PreCopyScript - SQL pre-copy script. Type: string (or Expression with resultType string).
31108	PreCopyScript interface{} `json:"preCopyScript,omitempty"`
31109	// StoredProcedureParameters - SQL stored procedure parameters.
31110	StoredProcedureParameters map[string]*StoredProcedureParameter `json:"storedProcedureParameters"`
31111	// StoredProcedureTableTypeParameterName - The stored procedure parameter name of the table type. Type: string (or Expression with resultType string).
31112	StoredProcedureTableTypeParameterName interface{} `json:"storedProcedureTableTypeParameterName,omitempty"`
31113	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
31114	AdditionalProperties map[string]interface{} `json:""`
31115	// WriteBatchSize - Write batch size. Type: integer (or Expression with resultType integer), minimum: 0.
31116	WriteBatchSize interface{} `json:"writeBatchSize,omitempty"`
31117	// 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])).
31118	WriteBatchTimeout interface{} `json:"writeBatchTimeout,omitempty"`
31119	// SinkRetryCount - Sink retry count. Type: integer (or Expression with resultType integer).
31120	SinkRetryCount interface{} `json:"sinkRetryCount,omitempty"`
31121	// 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])).
31122	SinkRetryWait interface{} `json:"sinkRetryWait,omitempty"`
31123	// MaxConcurrentConnections - The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer).
31124	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
31125	// Type - Possible values include: 'TypeCopySink', 'TypeCosmosDbMongoDbAPISink', 'TypeSalesforceServiceCloudSink', 'TypeSalesforceSink', 'TypeAzureDataExplorerSink', 'TypeCommonDataServiceForAppsSink', 'TypeDynamicsCrmSink', 'TypeDynamicsSink', 'TypeMicrosoftAccessSink', 'TypeInformixSink', 'TypeOdbcSink', 'TypeAzureSearchIndexSink', 'TypeAzureBlobFSSink', 'TypeAzureDataLakeStoreSink', 'TypeOracleSink', 'TypeSQLDWSink', 'TypeSQLMISink', 'TypeAzureSQLSink', 'TypeSQLServerSink', 'TypeSQLSink', 'TypeDocumentDbCollectionSink', 'TypeFileSystemSink', 'TypeBlobSink', 'TypeBinarySink', 'TypeParquetSink', 'TypeAzureTableSink', 'TypeAzureQueueSink', 'TypeSapCloudForCustomerSink', 'TypeAzurePostgreSQLSink', 'TypeDelimitedTextSink'
31126	Type TypeBasicCopySink `json:"type,omitempty"`
31127}
31128
31129// MarshalJSON is the custom marshaler for AzureSQLSink.
31130func (ass AzureSQLSink) MarshalJSON() ([]byte, error) {
31131	ass.Type = TypeAzureSQLSink
31132	objectMap := make(map[string]interface{})
31133	if ass.SQLWriterStoredProcedureName != nil {
31134		objectMap["sqlWriterStoredProcedureName"] = ass.SQLWriterStoredProcedureName
31135	}
31136	if ass.SQLWriterTableType != nil {
31137		objectMap["sqlWriterTableType"] = ass.SQLWriterTableType
31138	}
31139	if ass.PreCopyScript != nil {
31140		objectMap["preCopyScript"] = ass.PreCopyScript
31141	}
31142	if ass.StoredProcedureParameters != nil {
31143		objectMap["storedProcedureParameters"] = ass.StoredProcedureParameters
31144	}
31145	if ass.StoredProcedureTableTypeParameterName != nil {
31146		objectMap["storedProcedureTableTypeParameterName"] = ass.StoredProcedureTableTypeParameterName
31147	}
31148	if ass.WriteBatchSize != nil {
31149		objectMap["writeBatchSize"] = ass.WriteBatchSize
31150	}
31151	if ass.WriteBatchTimeout != nil {
31152		objectMap["writeBatchTimeout"] = ass.WriteBatchTimeout
31153	}
31154	if ass.SinkRetryCount != nil {
31155		objectMap["sinkRetryCount"] = ass.SinkRetryCount
31156	}
31157	if ass.SinkRetryWait != nil {
31158		objectMap["sinkRetryWait"] = ass.SinkRetryWait
31159	}
31160	if ass.MaxConcurrentConnections != nil {
31161		objectMap["maxConcurrentConnections"] = ass.MaxConcurrentConnections
31162	}
31163	if ass.Type != "" {
31164		objectMap["type"] = ass.Type
31165	}
31166	for k, v := range ass.AdditionalProperties {
31167		objectMap[k] = v
31168	}
31169	return json.Marshal(objectMap)
31170}
31171
31172// AsCosmosDbMongoDbAPISink is the BasicCopySink implementation for AzureSQLSink.
31173func (ass AzureSQLSink) AsCosmosDbMongoDbAPISink() (*CosmosDbMongoDbAPISink, bool) {
31174	return nil, false
31175}
31176
31177// AsSalesforceServiceCloudSink is the BasicCopySink implementation for AzureSQLSink.
31178func (ass AzureSQLSink) AsSalesforceServiceCloudSink() (*SalesforceServiceCloudSink, bool) {
31179	return nil, false
31180}
31181
31182// AsSalesforceSink is the BasicCopySink implementation for AzureSQLSink.
31183func (ass AzureSQLSink) AsSalesforceSink() (*SalesforceSink, bool) {
31184	return nil, false
31185}
31186
31187// AsAzureDataExplorerSink is the BasicCopySink implementation for AzureSQLSink.
31188func (ass AzureSQLSink) AsAzureDataExplorerSink() (*AzureDataExplorerSink, bool) {
31189	return nil, false
31190}
31191
31192// AsCommonDataServiceForAppsSink is the BasicCopySink implementation for AzureSQLSink.
31193func (ass AzureSQLSink) AsCommonDataServiceForAppsSink() (*CommonDataServiceForAppsSink, bool) {
31194	return nil, false
31195}
31196
31197// AsDynamicsCrmSink is the BasicCopySink implementation for AzureSQLSink.
31198func (ass AzureSQLSink) AsDynamicsCrmSink() (*DynamicsCrmSink, bool) {
31199	return nil, false
31200}
31201
31202// AsDynamicsSink is the BasicCopySink implementation for AzureSQLSink.
31203func (ass AzureSQLSink) AsDynamicsSink() (*DynamicsSink, bool) {
31204	return nil, false
31205}
31206
31207// AsMicrosoftAccessSink is the BasicCopySink implementation for AzureSQLSink.
31208func (ass AzureSQLSink) AsMicrosoftAccessSink() (*MicrosoftAccessSink, bool) {
31209	return nil, false
31210}
31211
31212// AsInformixSink is the BasicCopySink implementation for AzureSQLSink.
31213func (ass AzureSQLSink) AsInformixSink() (*InformixSink, bool) {
31214	return nil, false
31215}
31216
31217// AsOdbcSink is the BasicCopySink implementation for AzureSQLSink.
31218func (ass AzureSQLSink) AsOdbcSink() (*OdbcSink, bool) {
31219	return nil, false
31220}
31221
31222// AsAzureSearchIndexSink is the BasicCopySink implementation for AzureSQLSink.
31223func (ass AzureSQLSink) AsAzureSearchIndexSink() (*AzureSearchIndexSink, bool) {
31224	return nil, false
31225}
31226
31227// AsAzureBlobFSSink is the BasicCopySink implementation for AzureSQLSink.
31228func (ass AzureSQLSink) AsAzureBlobFSSink() (*AzureBlobFSSink, bool) {
31229	return nil, false
31230}
31231
31232// AsAzureDataLakeStoreSink is the BasicCopySink implementation for AzureSQLSink.
31233func (ass AzureSQLSink) AsAzureDataLakeStoreSink() (*AzureDataLakeStoreSink, bool) {
31234	return nil, false
31235}
31236
31237// AsOracleSink is the BasicCopySink implementation for AzureSQLSink.
31238func (ass AzureSQLSink) AsOracleSink() (*OracleSink, bool) {
31239	return nil, false
31240}
31241
31242// AsSQLDWSink is the BasicCopySink implementation for AzureSQLSink.
31243func (ass AzureSQLSink) AsSQLDWSink() (*SQLDWSink, bool) {
31244	return nil, false
31245}
31246
31247// AsSQLMISink is the BasicCopySink implementation for AzureSQLSink.
31248func (ass AzureSQLSink) AsSQLMISink() (*SQLMISink, bool) {
31249	return nil, false
31250}
31251
31252// AsAzureSQLSink is the BasicCopySink implementation for AzureSQLSink.
31253func (ass AzureSQLSink) AsAzureSQLSink() (*AzureSQLSink, bool) {
31254	return &ass, true
31255}
31256
31257// AsSQLServerSink is the BasicCopySink implementation for AzureSQLSink.
31258func (ass AzureSQLSink) AsSQLServerSink() (*SQLServerSink, bool) {
31259	return nil, false
31260}
31261
31262// AsSQLSink is the BasicCopySink implementation for AzureSQLSink.
31263func (ass AzureSQLSink) AsSQLSink() (*SQLSink, bool) {
31264	return nil, false
31265}
31266
31267// AsDocumentDbCollectionSink is the BasicCopySink implementation for AzureSQLSink.
31268func (ass AzureSQLSink) AsDocumentDbCollectionSink() (*DocumentDbCollectionSink, bool) {
31269	return nil, false
31270}
31271
31272// AsFileSystemSink is the BasicCopySink implementation for AzureSQLSink.
31273func (ass AzureSQLSink) AsFileSystemSink() (*FileSystemSink, bool) {
31274	return nil, false
31275}
31276
31277// AsBlobSink is the BasicCopySink implementation for AzureSQLSink.
31278func (ass AzureSQLSink) AsBlobSink() (*BlobSink, bool) {
31279	return nil, false
31280}
31281
31282// AsBinarySink is the BasicCopySink implementation for AzureSQLSink.
31283func (ass AzureSQLSink) AsBinarySink() (*BinarySink, bool) {
31284	return nil, false
31285}
31286
31287// AsParquetSink is the BasicCopySink implementation for AzureSQLSink.
31288func (ass AzureSQLSink) AsParquetSink() (*ParquetSink, bool) {
31289	return nil, false
31290}
31291
31292// AsAzureTableSink is the BasicCopySink implementation for AzureSQLSink.
31293func (ass AzureSQLSink) AsAzureTableSink() (*AzureTableSink, bool) {
31294	return nil, false
31295}
31296
31297// AsAzureQueueSink is the BasicCopySink implementation for AzureSQLSink.
31298func (ass AzureSQLSink) AsAzureQueueSink() (*AzureQueueSink, bool) {
31299	return nil, false
31300}
31301
31302// AsSapCloudForCustomerSink is the BasicCopySink implementation for AzureSQLSink.
31303func (ass AzureSQLSink) AsSapCloudForCustomerSink() (*SapCloudForCustomerSink, bool) {
31304	return nil, false
31305}
31306
31307// AsAzurePostgreSQLSink is the BasicCopySink implementation for AzureSQLSink.
31308func (ass AzureSQLSink) AsAzurePostgreSQLSink() (*AzurePostgreSQLSink, bool) {
31309	return nil, false
31310}
31311
31312// AsDelimitedTextSink is the BasicCopySink implementation for AzureSQLSink.
31313func (ass AzureSQLSink) AsDelimitedTextSink() (*DelimitedTextSink, bool) {
31314	return nil, false
31315}
31316
31317// AsCopySink is the BasicCopySink implementation for AzureSQLSink.
31318func (ass AzureSQLSink) AsCopySink() (*CopySink, bool) {
31319	return nil, false
31320}
31321
31322// AsBasicCopySink is the BasicCopySink implementation for AzureSQLSink.
31323func (ass AzureSQLSink) AsBasicCopySink() (BasicCopySink, bool) {
31324	return &ass, true
31325}
31326
31327// UnmarshalJSON is the custom unmarshaler for AzureSQLSink struct.
31328func (ass *AzureSQLSink) UnmarshalJSON(body []byte) error {
31329	var m map[string]*json.RawMessage
31330	err := json.Unmarshal(body, &m)
31331	if err != nil {
31332		return err
31333	}
31334	for k, v := range m {
31335		switch k {
31336		case "sqlWriterStoredProcedureName":
31337			if v != nil {
31338				var SQLWriterStoredProcedureName interface{}
31339				err = json.Unmarshal(*v, &SQLWriterStoredProcedureName)
31340				if err != nil {
31341					return err
31342				}
31343				ass.SQLWriterStoredProcedureName = SQLWriterStoredProcedureName
31344			}
31345		case "sqlWriterTableType":
31346			if v != nil {
31347				var SQLWriterTableType interface{}
31348				err = json.Unmarshal(*v, &SQLWriterTableType)
31349				if err != nil {
31350					return err
31351				}
31352				ass.SQLWriterTableType = SQLWriterTableType
31353			}
31354		case "preCopyScript":
31355			if v != nil {
31356				var preCopyScript interface{}
31357				err = json.Unmarshal(*v, &preCopyScript)
31358				if err != nil {
31359					return err
31360				}
31361				ass.PreCopyScript = preCopyScript
31362			}
31363		case "storedProcedureParameters":
31364			if v != nil {
31365				var storedProcedureParameters map[string]*StoredProcedureParameter
31366				err = json.Unmarshal(*v, &storedProcedureParameters)
31367				if err != nil {
31368					return err
31369				}
31370				ass.StoredProcedureParameters = storedProcedureParameters
31371			}
31372		case "storedProcedureTableTypeParameterName":
31373			if v != nil {
31374				var storedProcedureTableTypeParameterName interface{}
31375				err = json.Unmarshal(*v, &storedProcedureTableTypeParameterName)
31376				if err != nil {
31377					return err
31378				}
31379				ass.StoredProcedureTableTypeParameterName = storedProcedureTableTypeParameterName
31380			}
31381		default:
31382			if v != nil {
31383				var additionalProperties interface{}
31384				err = json.Unmarshal(*v, &additionalProperties)
31385				if err != nil {
31386					return err
31387				}
31388				if ass.AdditionalProperties == nil {
31389					ass.AdditionalProperties = make(map[string]interface{})
31390				}
31391				ass.AdditionalProperties[k] = additionalProperties
31392			}
31393		case "writeBatchSize":
31394			if v != nil {
31395				var writeBatchSize interface{}
31396				err = json.Unmarshal(*v, &writeBatchSize)
31397				if err != nil {
31398					return err
31399				}
31400				ass.WriteBatchSize = writeBatchSize
31401			}
31402		case "writeBatchTimeout":
31403			if v != nil {
31404				var writeBatchTimeout interface{}
31405				err = json.Unmarshal(*v, &writeBatchTimeout)
31406				if err != nil {
31407					return err
31408				}
31409				ass.WriteBatchTimeout = writeBatchTimeout
31410			}
31411		case "sinkRetryCount":
31412			if v != nil {
31413				var sinkRetryCount interface{}
31414				err = json.Unmarshal(*v, &sinkRetryCount)
31415				if err != nil {
31416					return err
31417				}
31418				ass.SinkRetryCount = sinkRetryCount
31419			}
31420		case "sinkRetryWait":
31421			if v != nil {
31422				var sinkRetryWait interface{}
31423				err = json.Unmarshal(*v, &sinkRetryWait)
31424				if err != nil {
31425					return err
31426				}
31427				ass.SinkRetryWait = sinkRetryWait
31428			}
31429		case "maxConcurrentConnections":
31430			if v != nil {
31431				var maxConcurrentConnections interface{}
31432				err = json.Unmarshal(*v, &maxConcurrentConnections)
31433				if err != nil {
31434					return err
31435				}
31436				ass.MaxConcurrentConnections = maxConcurrentConnections
31437			}
31438		case "type":
31439			if v != nil {
31440				var typeVar TypeBasicCopySink
31441				err = json.Unmarshal(*v, &typeVar)
31442				if err != nil {
31443					return err
31444				}
31445				ass.Type = typeVar
31446			}
31447		}
31448	}
31449
31450	return nil
31451}
31452
31453// AzureSQLSource a copy activity Azure SQL source.
31454type AzureSQLSource struct {
31455	// SQLReaderQuery - SQL reader query. Type: string (or Expression with resultType string).
31456	SQLReaderQuery interface{} `json:"sqlReaderQuery,omitempty"`
31457	// 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).
31458	SQLReaderStoredProcedureName interface{} `json:"sqlReaderStoredProcedureName,omitempty"`
31459	// StoredProcedureParameters - Value and type setting for stored procedure parameters. Example: "{Parameter1: {value: "1", type: "int"}}".
31460	StoredProcedureParameters map[string]*StoredProcedureParameter `json:"storedProcedureParameters"`
31461	// ProduceAdditionalTypes - Which additional types to produce.
31462	ProduceAdditionalTypes interface{} `json:"produceAdditionalTypes,omitempty"`
31463	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
31464	AdditionalProperties map[string]interface{} `json:""`
31465	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
31466	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
31467	// 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])).
31468	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
31469	// MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer).
31470	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
31471	// Type - Possible values include: 'TypeCopySource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', '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', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeCassandraSource', 'TypeWebSource', 'TypeTeradataSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeAzureMySQLSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeRestSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceServiceCloudSource', 'TypeSalesforceSource', 'TypeODataSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeMicrosoftAccessSource', 'TypeInformixSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAzureTableSource', 'TypeBinarySource', 'TypeDelimitedTextSource', 'TypeParquetSource'
31472	Type TypeBasicCopySource `json:"type,omitempty"`
31473}
31474
31475// MarshalJSON is the custom marshaler for AzureSQLSource.
31476func (ass AzureSQLSource) MarshalJSON() ([]byte, error) {
31477	ass.Type = TypeAzureSQLSource
31478	objectMap := make(map[string]interface{})
31479	if ass.SQLReaderQuery != nil {
31480		objectMap["sqlReaderQuery"] = ass.SQLReaderQuery
31481	}
31482	if ass.SQLReaderStoredProcedureName != nil {
31483		objectMap["sqlReaderStoredProcedureName"] = ass.SQLReaderStoredProcedureName
31484	}
31485	if ass.StoredProcedureParameters != nil {
31486		objectMap["storedProcedureParameters"] = ass.StoredProcedureParameters
31487	}
31488	if ass.ProduceAdditionalTypes != nil {
31489		objectMap["produceAdditionalTypes"] = ass.ProduceAdditionalTypes
31490	}
31491	if ass.SourceRetryCount != nil {
31492		objectMap["sourceRetryCount"] = ass.SourceRetryCount
31493	}
31494	if ass.SourceRetryWait != nil {
31495		objectMap["sourceRetryWait"] = ass.SourceRetryWait
31496	}
31497	if ass.MaxConcurrentConnections != nil {
31498		objectMap["maxConcurrentConnections"] = ass.MaxConcurrentConnections
31499	}
31500	if ass.Type != "" {
31501		objectMap["type"] = ass.Type
31502	}
31503	for k, v := range ass.AdditionalProperties {
31504		objectMap[k] = v
31505	}
31506	return json.Marshal(objectMap)
31507}
31508
31509// AsAmazonRedshiftSource is the BasicCopySource implementation for AzureSQLSource.
31510func (ass AzureSQLSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
31511	return nil, false
31512}
31513
31514// AsGoogleAdWordsSource is the BasicCopySource implementation for AzureSQLSource.
31515func (ass AzureSQLSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) {
31516	return nil, false
31517}
31518
31519// AsOracleServiceCloudSource is the BasicCopySource implementation for AzureSQLSource.
31520func (ass AzureSQLSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) {
31521	return nil, false
31522}
31523
31524// AsDynamicsAXSource is the BasicCopySource implementation for AzureSQLSource.
31525func (ass AzureSQLSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) {
31526	return nil, false
31527}
31528
31529// AsResponsysSource is the BasicCopySource implementation for AzureSQLSource.
31530func (ass AzureSQLSource) AsResponsysSource() (*ResponsysSource, bool) {
31531	return nil, false
31532}
31533
31534// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for AzureSQLSource.
31535func (ass AzureSQLSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
31536	return nil, false
31537}
31538
31539// AsVerticaSource is the BasicCopySource implementation for AzureSQLSource.
31540func (ass AzureSQLSource) AsVerticaSource() (*VerticaSource, bool) {
31541	return nil, false
31542}
31543
31544// AsNetezzaSource is the BasicCopySource implementation for AzureSQLSource.
31545func (ass AzureSQLSource) AsNetezzaSource() (*NetezzaSource, bool) {
31546	return nil, false
31547}
31548
31549// AsZohoSource is the BasicCopySource implementation for AzureSQLSource.
31550func (ass AzureSQLSource) AsZohoSource() (*ZohoSource, bool) {
31551	return nil, false
31552}
31553
31554// AsXeroSource is the BasicCopySource implementation for AzureSQLSource.
31555func (ass AzureSQLSource) AsXeroSource() (*XeroSource, bool) {
31556	return nil, false
31557}
31558
31559// AsSquareSource is the BasicCopySource implementation for AzureSQLSource.
31560func (ass AzureSQLSource) AsSquareSource() (*SquareSource, bool) {
31561	return nil, false
31562}
31563
31564// AsSparkSource is the BasicCopySource implementation for AzureSQLSource.
31565func (ass AzureSQLSource) AsSparkSource() (*SparkSource, bool) {
31566	return nil, false
31567}
31568
31569// AsShopifySource is the BasicCopySource implementation for AzureSQLSource.
31570func (ass AzureSQLSource) AsShopifySource() (*ShopifySource, bool) {
31571	return nil, false
31572}
31573
31574// AsServiceNowSource is the BasicCopySource implementation for AzureSQLSource.
31575func (ass AzureSQLSource) AsServiceNowSource() (*ServiceNowSource, bool) {
31576	return nil, false
31577}
31578
31579// AsQuickBooksSource is the BasicCopySource implementation for AzureSQLSource.
31580func (ass AzureSQLSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
31581	return nil, false
31582}
31583
31584// AsPrestoSource is the BasicCopySource implementation for AzureSQLSource.
31585func (ass AzureSQLSource) AsPrestoSource() (*PrestoSource, bool) {
31586	return nil, false
31587}
31588
31589// AsPhoenixSource is the BasicCopySource implementation for AzureSQLSource.
31590func (ass AzureSQLSource) AsPhoenixSource() (*PhoenixSource, bool) {
31591	return nil, false
31592}
31593
31594// AsPaypalSource is the BasicCopySource implementation for AzureSQLSource.
31595func (ass AzureSQLSource) AsPaypalSource() (*PaypalSource, bool) {
31596	return nil, false
31597}
31598
31599// AsMarketoSource is the BasicCopySource implementation for AzureSQLSource.
31600func (ass AzureSQLSource) AsMarketoSource() (*MarketoSource, bool) {
31601	return nil, false
31602}
31603
31604// AsMariaDBSource is the BasicCopySource implementation for AzureSQLSource.
31605func (ass AzureSQLSource) AsMariaDBSource() (*MariaDBSource, bool) {
31606	return nil, false
31607}
31608
31609// AsMagentoSource is the BasicCopySource implementation for AzureSQLSource.
31610func (ass AzureSQLSource) AsMagentoSource() (*MagentoSource, bool) {
31611	return nil, false
31612}
31613
31614// AsJiraSource is the BasicCopySource implementation for AzureSQLSource.
31615func (ass AzureSQLSource) AsJiraSource() (*JiraSource, bool) {
31616	return nil, false
31617}
31618
31619// AsImpalaSource is the BasicCopySource implementation for AzureSQLSource.
31620func (ass AzureSQLSource) AsImpalaSource() (*ImpalaSource, bool) {
31621	return nil, false
31622}
31623
31624// AsHubspotSource is the BasicCopySource implementation for AzureSQLSource.
31625func (ass AzureSQLSource) AsHubspotSource() (*HubspotSource, bool) {
31626	return nil, false
31627}
31628
31629// AsHiveSource is the BasicCopySource implementation for AzureSQLSource.
31630func (ass AzureSQLSource) AsHiveSource() (*HiveSource, bool) {
31631	return nil, false
31632}
31633
31634// AsHBaseSource is the BasicCopySource implementation for AzureSQLSource.
31635func (ass AzureSQLSource) AsHBaseSource() (*HBaseSource, bool) {
31636	return nil, false
31637}
31638
31639// AsGreenplumSource is the BasicCopySource implementation for AzureSQLSource.
31640func (ass AzureSQLSource) AsGreenplumSource() (*GreenplumSource, bool) {
31641	return nil, false
31642}
31643
31644// AsGoogleBigQuerySource is the BasicCopySource implementation for AzureSQLSource.
31645func (ass AzureSQLSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
31646	return nil, false
31647}
31648
31649// AsEloquaSource is the BasicCopySource implementation for AzureSQLSource.
31650func (ass AzureSQLSource) AsEloquaSource() (*EloquaSource, bool) {
31651	return nil, false
31652}
31653
31654// AsDrillSource is the BasicCopySource implementation for AzureSQLSource.
31655func (ass AzureSQLSource) AsDrillSource() (*DrillSource, bool) {
31656	return nil, false
31657}
31658
31659// AsCouchbaseSource is the BasicCopySource implementation for AzureSQLSource.
31660func (ass AzureSQLSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
31661	return nil, false
31662}
31663
31664// AsConcurSource is the BasicCopySource implementation for AzureSQLSource.
31665func (ass AzureSQLSource) AsConcurSource() (*ConcurSource, bool) {
31666	return nil, false
31667}
31668
31669// AsAzurePostgreSQLSource is the BasicCopySource implementation for AzureSQLSource.
31670func (ass AzureSQLSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
31671	return nil, false
31672}
31673
31674// AsAmazonMWSSource is the BasicCopySource implementation for AzureSQLSource.
31675func (ass AzureSQLSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
31676	return nil, false
31677}
31678
31679// AsHTTPSource is the BasicCopySource implementation for AzureSQLSource.
31680func (ass AzureSQLSource) AsHTTPSource() (*HTTPSource, bool) {
31681	return nil, false
31682}
31683
31684// AsAzureBlobFSSource is the BasicCopySource implementation for AzureSQLSource.
31685func (ass AzureSQLSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) {
31686	return nil, false
31687}
31688
31689// AsAzureDataLakeStoreSource is the BasicCopySource implementation for AzureSQLSource.
31690func (ass AzureSQLSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
31691	return nil, false
31692}
31693
31694// AsOffice365Source is the BasicCopySource implementation for AzureSQLSource.
31695func (ass AzureSQLSource) AsOffice365Source() (*Office365Source, bool) {
31696	return nil, false
31697}
31698
31699// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for AzureSQLSource.
31700func (ass AzureSQLSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) {
31701	return nil, false
31702}
31703
31704// AsMongoDbV2Source is the BasicCopySource implementation for AzureSQLSource.
31705func (ass AzureSQLSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) {
31706	return nil, false
31707}
31708
31709// AsMongoDbSource is the BasicCopySource implementation for AzureSQLSource.
31710func (ass AzureSQLSource) AsMongoDbSource() (*MongoDbSource, bool) {
31711	return nil, false
31712}
31713
31714// AsCassandraSource is the BasicCopySource implementation for AzureSQLSource.
31715func (ass AzureSQLSource) AsCassandraSource() (*CassandraSource, bool) {
31716	return nil, false
31717}
31718
31719// AsWebSource is the BasicCopySource implementation for AzureSQLSource.
31720func (ass AzureSQLSource) AsWebSource() (*WebSource, bool) {
31721	return nil, false
31722}
31723
31724// AsTeradataSource is the BasicCopySource implementation for AzureSQLSource.
31725func (ass AzureSQLSource) AsTeradataSource() (*TeradataSource, bool) {
31726	return nil, false
31727}
31728
31729// AsOracleSource is the BasicCopySource implementation for AzureSQLSource.
31730func (ass AzureSQLSource) AsOracleSource() (*OracleSource, bool) {
31731	return nil, false
31732}
31733
31734// AsAzureDataExplorerSource is the BasicCopySource implementation for AzureSQLSource.
31735func (ass AzureSQLSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) {
31736	return nil, false
31737}
31738
31739// AsAzureMySQLSource is the BasicCopySource implementation for AzureSQLSource.
31740func (ass AzureSQLSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
31741	return nil, false
31742}
31743
31744// AsHdfsSource is the BasicCopySource implementation for AzureSQLSource.
31745func (ass AzureSQLSource) AsHdfsSource() (*HdfsSource, bool) {
31746	return nil, false
31747}
31748
31749// AsFileSystemSource is the BasicCopySource implementation for AzureSQLSource.
31750func (ass AzureSQLSource) AsFileSystemSource() (*FileSystemSource, bool) {
31751	return nil, false
31752}
31753
31754// AsSQLDWSource is the BasicCopySource implementation for AzureSQLSource.
31755func (ass AzureSQLSource) AsSQLDWSource() (*SQLDWSource, bool) {
31756	return nil, false
31757}
31758
31759// AsSQLMISource is the BasicCopySource implementation for AzureSQLSource.
31760func (ass AzureSQLSource) AsSQLMISource() (*SQLMISource, bool) {
31761	return nil, false
31762}
31763
31764// AsAzureSQLSource is the BasicCopySource implementation for AzureSQLSource.
31765func (ass AzureSQLSource) AsAzureSQLSource() (*AzureSQLSource, bool) {
31766	return &ass, true
31767}
31768
31769// AsSQLServerSource is the BasicCopySource implementation for AzureSQLSource.
31770func (ass AzureSQLSource) AsSQLServerSource() (*SQLServerSource, bool) {
31771	return nil, false
31772}
31773
31774// AsSQLSource is the BasicCopySource implementation for AzureSQLSource.
31775func (ass AzureSQLSource) AsSQLSource() (*SQLSource, bool) {
31776	return nil, false
31777}
31778
31779// AsRestSource is the BasicCopySource implementation for AzureSQLSource.
31780func (ass AzureSQLSource) AsRestSource() (*RestSource, bool) {
31781	return nil, false
31782}
31783
31784// AsSapTableSource is the BasicCopySource implementation for AzureSQLSource.
31785func (ass AzureSQLSource) AsSapTableSource() (*SapTableSource, bool) {
31786	return nil, false
31787}
31788
31789// AsSapOpenHubSource is the BasicCopySource implementation for AzureSQLSource.
31790func (ass AzureSQLSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) {
31791	return nil, false
31792}
31793
31794// AsSapHanaSource is the BasicCopySource implementation for AzureSQLSource.
31795func (ass AzureSQLSource) AsSapHanaSource() (*SapHanaSource, bool) {
31796	return nil, false
31797}
31798
31799// AsSapEccSource is the BasicCopySource implementation for AzureSQLSource.
31800func (ass AzureSQLSource) AsSapEccSource() (*SapEccSource, bool) {
31801	return nil, false
31802}
31803
31804// AsSapCloudForCustomerSource is the BasicCopySource implementation for AzureSQLSource.
31805func (ass AzureSQLSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
31806	return nil, false
31807}
31808
31809// AsSalesforceServiceCloudSource is the BasicCopySource implementation for AzureSQLSource.
31810func (ass AzureSQLSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) {
31811	return nil, false
31812}
31813
31814// AsSalesforceSource is the BasicCopySource implementation for AzureSQLSource.
31815func (ass AzureSQLSource) AsSalesforceSource() (*SalesforceSource, bool) {
31816	return nil, false
31817}
31818
31819// AsODataSource is the BasicCopySource implementation for AzureSQLSource.
31820func (ass AzureSQLSource) AsODataSource() (*ODataSource, bool) {
31821	return nil, false
31822}
31823
31824// AsSybaseSource is the BasicCopySource implementation for AzureSQLSource.
31825func (ass AzureSQLSource) AsSybaseSource() (*SybaseSource, bool) {
31826	return nil, false
31827}
31828
31829// AsPostgreSQLSource is the BasicCopySource implementation for AzureSQLSource.
31830func (ass AzureSQLSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) {
31831	return nil, false
31832}
31833
31834// AsMySQLSource is the BasicCopySource implementation for AzureSQLSource.
31835func (ass AzureSQLSource) AsMySQLSource() (*MySQLSource, bool) {
31836	return nil, false
31837}
31838
31839// AsOdbcSource is the BasicCopySource implementation for AzureSQLSource.
31840func (ass AzureSQLSource) AsOdbcSource() (*OdbcSource, bool) {
31841	return nil, false
31842}
31843
31844// AsDb2Source is the BasicCopySource implementation for AzureSQLSource.
31845func (ass AzureSQLSource) AsDb2Source() (*Db2Source, bool) {
31846	return nil, false
31847}
31848
31849// AsMicrosoftAccessSource is the BasicCopySource implementation for AzureSQLSource.
31850func (ass AzureSQLSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) {
31851	return nil, false
31852}
31853
31854// AsInformixSource is the BasicCopySource implementation for AzureSQLSource.
31855func (ass AzureSQLSource) AsInformixSource() (*InformixSource, bool) {
31856	return nil, false
31857}
31858
31859// AsRelationalSource is the BasicCopySource implementation for AzureSQLSource.
31860func (ass AzureSQLSource) AsRelationalSource() (*RelationalSource, bool) {
31861	return nil, false
31862}
31863
31864// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for AzureSQLSource.
31865func (ass AzureSQLSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) {
31866	return nil, false
31867}
31868
31869// AsDynamicsCrmSource is the BasicCopySource implementation for AzureSQLSource.
31870func (ass AzureSQLSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) {
31871	return nil, false
31872}
31873
31874// AsDynamicsSource is the BasicCopySource implementation for AzureSQLSource.
31875func (ass AzureSQLSource) AsDynamicsSource() (*DynamicsSource, bool) {
31876	return nil, false
31877}
31878
31879// AsDocumentDbCollectionSource is the BasicCopySource implementation for AzureSQLSource.
31880func (ass AzureSQLSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
31881	return nil, false
31882}
31883
31884// AsBlobSource is the BasicCopySource implementation for AzureSQLSource.
31885func (ass AzureSQLSource) AsBlobSource() (*BlobSource, bool) {
31886	return nil, false
31887}
31888
31889// AsAzureTableSource is the BasicCopySource implementation for AzureSQLSource.
31890func (ass AzureSQLSource) AsAzureTableSource() (*AzureTableSource, bool) {
31891	return nil, false
31892}
31893
31894// AsBinarySource is the BasicCopySource implementation for AzureSQLSource.
31895func (ass AzureSQLSource) AsBinarySource() (*BinarySource, bool) {
31896	return nil, false
31897}
31898
31899// AsDelimitedTextSource is the BasicCopySource implementation for AzureSQLSource.
31900func (ass AzureSQLSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) {
31901	return nil, false
31902}
31903
31904// AsParquetSource is the BasicCopySource implementation for AzureSQLSource.
31905func (ass AzureSQLSource) AsParquetSource() (*ParquetSource, bool) {
31906	return nil, false
31907}
31908
31909// AsCopySource is the BasicCopySource implementation for AzureSQLSource.
31910func (ass AzureSQLSource) AsCopySource() (*CopySource, bool) {
31911	return nil, false
31912}
31913
31914// AsBasicCopySource is the BasicCopySource implementation for AzureSQLSource.
31915func (ass AzureSQLSource) AsBasicCopySource() (BasicCopySource, bool) {
31916	return &ass, true
31917}
31918
31919// UnmarshalJSON is the custom unmarshaler for AzureSQLSource struct.
31920func (ass *AzureSQLSource) UnmarshalJSON(body []byte) error {
31921	var m map[string]*json.RawMessage
31922	err := json.Unmarshal(body, &m)
31923	if err != nil {
31924		return err
31925	}
31926	for k, v := range m {
31927		switch k {
31928		case "sqlReaderQuery":
31929			if v != nil {
31930				var SQLReaderQuery interface{}
31931				err = json.Unmarshal(*v, &SQLReaderQuery)
31932				if err != nil {
31933					return err
31934				}
31935				ass.SQLReaderQuery = SQLReaderQuery
31936			}
31937		case "sqlReaderStoredProcedureName":
31938			if v != nil {
31939				var SQLReaderStoredProcedureName interface{}
31940				err = json.Unmarshal(*v, &SQLReaderStoredProcedureName)
31941				if err != nil {
31942					return err
31943				}
31944				ass.SQLReaderStoredProcedureName = SQLReaderStoredProcedureName
31945			}
31946		case "storedProcedureParameters":
31947			if v != nil {
31948				var storedProcedureParameters map[string]*StoredProcedureParameter
31949				err = json.Unmarshal(*v, &storedProcedureParameters)
31950				if err != nil {
31951					return err
31952				}
31953				ass.StoredProcedureParameters = storedProcedureParameters
31954			}
31955		case "produceAdditionalTypes":
31956			if v != nil {
31957				var produceAdditionalTypes interface{}
31958				err = json.Unmarshal(*v, &produceAdditionalTypes)
31959				if err != nil {
31960					return err
31961				}
31962				ass.ProduceAdditionalTypes = produceAdditionalTypes
31963			}
31964		default:
31965			if v != nil {
31966				var additionalProperties interface{}
31967				err = json.Unmarshal(*v, &additionalProperties)
31968				if err != nil {
31969					return err
31970				}
31971				if ass.AdditionalProperties == nil {
31972					ass.AdditionalProperties = make(map[string]interface{})
31973				}
31974				ass.AdditionalProperties[k] = additionalProperties
31975			}
31976		case "sourceRetryCount":
31977			if v != nil {
31978				var sourceRetryCount interface{}
31979				err = json.Unmarshal(*v, &sourceRetryCount)
31980				if err != nil {
31981					return err
31982				}
31983				ass.SourceRetryCount = sourceRetryCount
31984			}
31985		case "sourceRetryWait":
31986			if v != nil {
31987				var sourceRetryWait interface{}
31988				err = json.Unmarshal(*v, &sourceRetryWait)
31989				if err != nil {
31990					return err
31991				}
31992				ass.SourceRetryWait = sourceRetryWait
31993			}
31994		case "maxConcurrentConnections":
31995			if v != nil {
31996				var maxConcurrentConnections interface{}
31997				err = json.Unmarshal(*v, &maxConcurrentConnections)
31998				if err != nil {
31999					return err
32000				}
32001				ass.MaxConcurrentConnections = maxConcurrentConnections
32002			}
32003		case "type":
32004			if v != nil {
32005				var typeVar TypeBasicCopySource
32006				err = json.Unmarshal(*v, &typeVar)
32007				if err != nil {
32008					return err
32009				}
32010				ass.Type = typeVar
32011			}
32012		}
32013	}
32014
32015	return nil
32016}
32017
32018// AzureSQLTableDataset the Azure SQL Server database dataset.
32019type AzureSQLTableDataset struct {
32020	// AzureSQLTableDatasetTypeProperties - Azure SQL dataset properties.
32021	*AzureSQLTableDatasetTypeProperties `json:"typeProperties,omitempty"`
32022	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
32023	AdditionalProperties map[string]interface{} `json:""`
32024	// Description - Dataset description.
32025	Description *string `json:"description,omitempty"`
32026	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
32027	Structure interface{} `json:"structure,omitempty"`
32028	// Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement.
32029	Schema interface{} `json:"schema,omitempty"`
32030	// LinkedServiceName - Linked service reference.
32031	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
32032	// Parameters - Parameters for dataset.
32033	Parameters map[string]*ParameterSpecification `json:"parameters"`
32034	// Annotations - List of tags that can be used for describing the Dataset.
32035	Annotations *[]interface{} `json:"annotations,omitempty"`
32036	// Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level.
32037	Folder *DatasetFolder `json:"folder,omitempty"`
32038	// Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', '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', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeDelimitedText', 'TypeParquet', 'TypeAmazonS3Object'
32039	Type TypeBasicDataset `json:"type,omitempty"`
32040}
32041
32042// MarshalJSON is the custom marshaler for AzureSQLTableDataset.
32043func (astd AzureSQLTableDataset) MarshalJSON() ([]byte, error) {
32044	astd.Type = TypeAzureSQLTable
32045	objectMap := make(map[string]interface{})
32046	if astd.AzureSQLTableDatasetTypeProperties != nil {
32047		objectMap["typeProperties"] = astd.AzureSQLTableDatasetTypeProperties
32048	}
32049	if astd.Description != nil {
32050		objectMap["description"] = astd.Description
32051	}
32052	if astd.Structure != nil {
32053		objectMap["structure"] = astd.Structure
32054	}
32055	if astd.Schema != nil {
32056		objectMap["schema"] = astd.Schema
32057	}
32058	if astd.LinkedServiceName != nil {
32059		objectMap["linkedServiceName"] = astd.LinkedServiceName
32060	}
32061	if astd.Parameters != nil {
32062		objectMap["parameters"] = astd.Parameters
32063	}
32064	if astd.Annotations != nil {
32065		objectMap["annotations"] = astd.Annotations
32066	}
32067	if astd.Folder != nil {
32068		objectMap["folder"] = astd.Folder
32069	}
32070	if astd.Type != "" {
32071		objectMap["type"] = astd.Type
32072	}
32073	for k, v := range astd.AdditionalProperties {
32074		objectMap[k] = v
32075	}
32076	return json.Marshal(objectMap)
32077}
32078
32079// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for AzureSQLTableDataset.
32080func (astd AzureSQLTableDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) {
32081	return nil, false
32082}
32083
32084// AsAzureDataExplorerTableDataset is the BasicDataset implementation for AzureSQLTableDataset.
32085func (astd AzureSQLTableDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) {
32086	return nil, false
32087}
32088
32089// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for AzureSQLTableDataset.
32090func (astd AzureSQLTableDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) {
32091	return nil, false
32092}
32093
32094// AsDynamicsAXResourceDataset is the BasicDataset implementation for AzureSQLTableDataset.
32095func (astd AzureSQLTableDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) {
32096	return nil, false
32097}
32098
32099// AsResponsysObjectDataset is the BasicDataset implementation for AzureSQLTableDataset.
32100func (astd AzureSQLTableDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
32101	return nil, false
32102}
32103
32104// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for AzureSQLTableDataset.
32105func (astd AzureSQLTableDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
32106	return nil, false
32107}
32108
32109// AsVerticaTableDataset is the BasicDataset implementation for AzureSQLTableDataset.
32110func (astd AzureSQLTableDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
32111	return nil, false
32112}
32113
32114// AsNetezzaTableDataset is the BasicDataset implementation for AzureSQLTableDataset.
32115func (astd AzureSQLTableDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
32116	return nil, false
32117}
32118
32119// AsZohoObjectDataset is the BasicDataset implementation for AzureSQLTableDataset.
32120func (astd AzureSQLTableDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
32121	return nil, false
32122}
32123
32124// AsXeroObjectDataset is the BasicDataset implementation for AzureSQLTableDataset.
32125func (astd AzureSQLTableDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
32126	return nil, false
32127}
32128
32129// AsSquareObjectDataset is the BasicDataset implementation for AzureSQLTableDataset.
32130func (astd AzureSQLTableDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
32131	return nil, false
32132}
32133
32134// AsSparkObjectDataset is the BasicDataset implementation for AzureSQLTableDataset.
32135func (astd AzureSQLTableDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
32136	return nil, false
32137}
32138
32139// AsShopifyObjectDataset is the BasicDataset implementation for AzureSQLTableDataset.
32140func (astd AzureSQLTableDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
32141	return nil, false
32142}
32143
32144// AsServiceNowObjectDataset is the BasicDataset implementation for AzureSQLTableDataset.
32145func (astd AzureSQLTableDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
32146	return nil, false
32147}
32148
32149// AsQuickBooksObjectDataset is the BasicDataset implementation for AzureSQLTableDataset.
32150func (astd AzureSQLTableDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
32151	return nil, false
32152}
32153
32154// AsPrestoObjectDataset is the BasicDataset implementation for AzureSQLTableDataset.
32155func (astd AzureSQLTableDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
32156	return nil, false
32157}
32158
32159// AsPhoenixObjectDataset is the BasicDataset implementation for AzureSQLTableDataset.
32160func (astd AzureSQLTableDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
32161	return nil, false
32162}
32163
32164// AsPaypalObjectDataset is the BasicDataset implementation for AzureSQLTableDataset.
32165func (astd AzureSQLTableDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
32166	return nil, false
32167}
32168
32169// AsMarketoObjectDataset is the BasicDataset implementation for AzureSQLTableDataset.
32170func (astd AzureSQLTableDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
32171	return nil, false
32172}
32173
32174// AsMariaDBTableDataset is the BasicDataset implementation for AzureSQLTableDataset.
32175func (astd AzureSQLTableDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
32176	return nil, false
32177}
32178
32179// AsMagentoObjectDataset is the BasicDataset implementation for AzureSQLTableDataset.
32180func (astd AzureSQLTableDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
32181	return nil, false
32182}
32183
32184// AsJiraObjectDataset is the BasicDataset implementation for AzureSQLTableDataset.
32185func (astd AzureSQLTableDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
32186	return nil, false
32187}
32188
32189// AsImpalaObjectDataset is the BasicDataset implementation for AzureSQLTableDataset.
32190func (astd AzureSQLTableDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
32191	return nil, false
32192}
32193
32194// AsHubspotObjectDataset is the BasicDataset implementation for AzureSQLTableDataset.
32195func (astd AzureSQLTableDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
32196	return nil, false
32197}
32198
32199// AsHiveObjectDataset is the BasicDataset implementation for AzureSQLTableDataset.
32200func (astd AzureSQLTableDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
32201	return nil, false
32202}
32203
32204// AsHBaseObjectDataset is the BasicDataset implementation for AzureSQLTableDataset.
32205func (astd AzureSQLTableDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
32206	return nil, false
32207}
32208
32209// AsGreenplumTableDataset is the BasicDataset implementation for AzureSQLTableDataset.
32210func (astd AzureSQLTableDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
32211	return nil, false
32212}
32213
32214// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for AzureSQLTableDataset.
32215func (astd AzureSQLTableDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
32216	return nil, false
32217}
32218
32219// AsEloquaObjectDataset is the BasicDataset implementation for AzureSQLTableDataset.
32220func (astd AzureSQLTableDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
32221	return nil, false
32222}
32223
32224// AsDrillTableDataset is the BasicDataset implementation for AzureSQLTableDataset.
32225func (astd AzureSQLTableDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
32226	return nil, false
32227}
32228
32229// AsCouchbaseTableDataset is the BasicDataset implementation for AzureSQLTableDataset.
32230func (astd AzureSQLTableDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
32231	return nil, false
32232}
32233
32234// AsConcurObjectDataset is the BasicDataset implementation for AzureSQLTableDataset.
32235func (astd AzureSQLTableDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
32236	return nil, false
32237}
32238
32239// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for AzureSQLTableDataset.
32240func (astd AzureSQLTableDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
32241	return nil, false
32242}
32243
32244// AsAmazonMWSObjectDataset is the BasicDataset implementation for AzureSQLTableDataset.
32245func (astd AzureSQLTableDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
32246	return nil, false
32247}
32248
32249// AsHTTPDataset is the BasicDataset implementation for AzureSQLTableDataset.
32250func (astd AzureSQLTableDataset) AsHTTPDataset() (*HTTPDataset, bool) {
32251	return nil, false
32252}
32253
32254// AsAzureSearchIndexDataset is the BasicDataset implementation for AzureSQLTableDataset.
32255func (astd AzureSQLTableDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
32256	return nil, false
32257}
32258
32259// AsWebTableDataset is the BasicDataset implementation for AzureSQLTableDataset.
32260func (astd AzureSQLTableDataset) AsWebTableDataset() (*WebTableDataset, bool) {
32261	return nil, false
32262}
32263
32264// AsSapTableResourceDataset is the BasicDataset implementation for AzureSQLTableDataset.
32265func (astd AzureSQLTableDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) {
32266	return nil, false
32267}
32268
32269// AsRestResourceDataset is the BasicDataset implementation for AzureSQLTableDataset.
32270func (astd AzureSQLTableDataset) AsRestResourceDataset() (*RestResourceDataset, bool) {
32271	return nil, false
32272}
32273
32274// AsSQLServerTableDataset is the BasicDataset implementation for AzureSQLTableDataset.
32275func (astd AzureSQLTableDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
32276	return nil, false
32277}
32278
32279// AsSapOpenHubTableDataset is the BasicDataset implementation for AzureSQLTableDataset.
32280func (astd AzureSQLTableDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) {
32281	return nil, false
32282}
32283
32284// AsSapHanaTableDataset is the BasicDataset implementation for AzureSQLTableDataset.
32285func (astd AzureSQLTableDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) {
32286	return nil, false
32287}
32288
32289// AsSapEccResourceDataset is the BasicDataset implementation for AzureSQLTableDataset.
32290func (astd AzureSQLTableDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
32291	return nil, false
32292}
32293
32294// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for AzureSQLTableDataset.
32295func (astd AzureSQLTableDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
32296	return nil, false
32297}
32298
32299// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for AzureSQLTableDataset.
32300func (astd AzureSQLTableDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) {
32301	return nil, false
32302}
32303
32304// AsSalesforceObjectDataset is the BasicDataset implementation for AzureSQLTableDataset.
32305func (astd AzureSQLTableDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
32306	return nil, false
32307}
32308
32309// AsMicrosoftAccessTableDataset is the BasicDataset implementation for AzureSQLTableDataset.
32310func (astd AzureSQLTableDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) {
32311	return nil, false
32312}
32313
32314// AsPostgreSQLTableDataset is the BasicDataset implementation for AzureSQLTableDataset.
32315func (astd AzureSQLTableDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) {
32316	return nil, false
32317}
32318
32319// AsMySQLTableDataset is the BasicDataset implementation for AzureSQLTableDataset.
32320func (astd AzureSQLTableDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) {
32321	return nil, false
32322}
32323
32324// AsOdbcTableDataset is the BasicDataset implementation for AzureSQLTableDataset.
32325func (astd AzureSQLTableDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) {
32326	return nil, false
32327}
32328
32329// AsInformixTableDataset is the BasicDataset implementation for AzureSQLTableDataset.
32330func (astd AzureSQLTableDataset) AsInformixTableDataset() (*InformixTableDataset, bool) {
32331	return nil, false
32332}
32333
32334// AsRelationalTableDataset is the BasicDataset implementation for AzureSQLTableDataset.
32335func (astd AzureSQLTableDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
32336	return nil, false
32337}
32338
32339// AsAzureMySQLTableDataset is the BasicDataset implementation for AzureSQLTableDataset.
32340func (astd AzureSQLTableDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
32341	return nil, false
32342}
32343
32344// AsTeradataTableDataset is the BasicDataset implementation for AzureSQLTableDataset.
32345func (astd AzureSQLTableDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) {
32346	return nil, false
32347}
32348
32349// AsOracleTableDataset is the BasicDataset implementation for AzureSQLTableDataset.
32350func (astd AzureSQLTableDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
32351	return nil, false
32352}
32353
32354// AsODataResourceDataset is the BasicDataset implementation for AzureSQLTableDataset.
32355func (astd AzureSQLTableDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
32356	return nil, false
32357}
32358
32359// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for AzureSQLTableDataset.
32360func (astd AzureSQLTableDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) {
32361	return nil, false
32362}
32363
32364// AsMongoDbV2CollectionDataset is the BasicDataset implementation for AzureSQLTableDataset.
32365func (astd AzureSQLTableDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) {
32366	return nil, false
32367}
32368
32369// AsMongoDbCollectionDataset is the BasicDataset implementation for AzureSQLTableDataset.
32370func (astd AzureSQLTableDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
32371	return nil, false
32372}
32373
32374// AsFileShareDataset is the BasicDataset implementation for AzureSQLTableDataset.
32375func (astd AzureSQLTableDataset) AsFileShareDataset() (*FileShareDataset, bool) {
32376	return nil, false
32377}
32378
32379// AsOffice365Dataset is the BasicDataset implementation for AzureSQLTableDataset.
32380func (astd AzureSQLTableDataset) AsOffice365Dataset() (*Office365Dataset, bool) {
32381	return nil, false
32382}
32383
32384// AsAzureBlobFSDataset is the BasicDataset implementation for AzureSQLTableDataset.
32385func (astd AzureSQLTableDataset) AsAzureBlobFSDataset() (*AzureBlobFSDataset, bool) {
32386	return nil, false
32387}
32388
32389// AsAzureDataLakeStoreDataset is the BasicDataset implementation for AzureSQLTableDataset.
32390func (astd AzureSQLTableDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) {
32391	return nil, false
32392}
32393
32394// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for AzureSQLTableDataset.
32395func (astd AzureSQLTableDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) {
32396	return nil, false
32397}
32398
32399// AsDynamicsCrmEntityDataset is the BasicDataset implementation for AzureSQLTableDataset.
32400func (astd AzureSQLTableDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) {
32401	return nil, false
32402}
32403
32404// AsDynamicsEntityDataset is the BasicDataset implementation for AzureSQLTableDataset.
32405func (astd AzureSQLTableDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
32406	return nil, false
32407}
32408
32409// AsDocumentDbCollectionDataset is the BasicDataset implementation for AzureSQLTableDataset.
32410func (astd AzureSQLTableDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
32411	return nil, false
32412}
32413
32414// AsCustomDataset is the BasicDataset implementation for AzureSQLTableDataset.
32415func (astd AzureSQLTableDataset) AsCustomDataset() (*CustomDataset, bool) {
32416	return nil, false
32417}
32418
32419// AsCassandraTableDataset is the BasicDataset implementation for AzureSQLTableDataset.
32420func (astd AzureSQLTableDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
32421	return nil, false
32422}
32423
32424// AsAzureSQLDWTableDataset is the BasicDataset implementation for AzureSQLTableDataset.
32425func (astd AzureSQLTableDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
32426	return nil, false
32427}
32428
32429// AsAzureSQLMITableDataset is the BasicDataset implementation for AzureSQLTableDataset.
32430func (astd AzureSQLTableDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) {
32431	return nil, false
32432}
32433
32434// AsAzureSQLTableDataset is the BasicDataset implementation for AzureSQLTableDataset.
32435func (astd AzureSQLTableDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
32436	return &astd, true
32437}
32438
32439// AsAzureTableDataset is the BasicDataset implementation for AzureSQLTableDataset.
32440func (astd AzureSQLTableDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
32441	return nil, false
32442}
32443
32444// AsAzureBlobDataset is the BasicDataset implementation for AzureSQLTableDataset.
32445func (astd AzureSQLTableDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) {
32446	return nil, false
32447}
32448
32449// AsBinaryDataset is the BasicDataset implementation for AzureSQLTableDataset.
32450func (astd AzureSQLTableDataset) AsBinaryDataset() (*BinaryDataset, bool) {
32451	return nil, false
32452}
32453
32454// AsDelimitedTextDataset is the BasicDataset implementation for AzureSQLTableDataset.
32455func (astd AzureSQLTableDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) {
32456	return nil, false
32457}
32458
32459// AsParquetDataset is the BasicDataset implementation for AzureSQLTableDataset.
32460func (astd AzureSQLTableDataset) AsParquetDataset() (*ParquetDataset, bool) {
32461	return nil, false
32462}
32463
32464// AsAmazonS3Dataset is the BasicDataset implementation for AzureSQLTableDataset.
32465func (astd AzureSQLTableDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) {
32466	return nil, false
32467}
32468
32469// AsDataset is the BasicDataset implementation for AzureSQLTableDataset.
32470func (astd AzureSQLTableDataset) AsDataset() (*Dataset, bool) {
32471	return nil, false
32472}
32473
32474// AsBasicDataset is the BasicDataset implementation for AzureSQLTableDataset.
32475func (astd AzureSQLTableDataset) AsBasicDataset() (BasicDataset, bool) {
32476	return &astd, true
32477}
32478
32479// UnmarshalJSON is the custom unmarshaler for AzureSQLTableDataset struct.
32480func (astd *AzureSQLTableDataset) UnmarshalJSON(body []byte) error {
32481	var m map[string]*json.RawMessage
32482	err := json.Unmarshal(body, &m)
32483	if err != nil {
32484		return err
32485	}
32486	for k, v := range m {
32487		switch k {
32488		case "typeProperties":
32489			if v != nil {
32490				var azureSQLTableDatasetTypeProperties AzureSQLTableDatasetTypeProperties
32491				err = json.Unmarshal(*v, &azureSQLTableDatasetTypeProperties)
32492				if err != nil {
32493					return err
32494				}
32495				astd.AzureSQLTableDatasetTypeProperties = &azureSQLTableDatasetTypeProperties
32496			}
32497		default:
32498			if v != nil {
32499				var additionalProperties interface{}
32500				err = json.Unmarshal(*v, &additionalProperties)
32501				if err != nil {
32502					return err
32503				}
32504				if astd.AdditionalProperties == nil {
32505					astd.AdditionalProperties = make(map[string]interface{})
32506				}
32507				astd.AdditionalProperties[k] = additionalProperties
32508			}
32509		case "description":
32510			if v != nil {
32511				var description string
32512				err = json.Unmarshal(*v, &description)
32513				if err != nil {
32514					return err
32515				}
32516				astd.Description = &description
32517			}
32518		case "structure":
32519			if v != nil {
32520				var structure interface{}
32521				err = json.Unmarshal(*v, &structure)
32522				if err != nil {
32523					return err
32524				}
32525				astd.Structure = structure
32526			}
32527		case "schema":
32528			if v != nil {
32529				var schema interface{}
32530				err = json.Unmarshal(*v, &schema)
32531				if err != nil {
32532					return err
32533				}
32534				astd.Schema = schema
32535			}
32536		case "linkedServiceName":
32537			if v != nil {
32538				var linkedServiceName LinkedServiceReference
32539				err = json.Unmarshal(*v, &linkedServiceName)
32540				if err != nil {
32541					return err
32542				}
32543				astd.LinkedServiceName = &linkedServiceName
32544			}
32545		case "parameters":
32546			if v != nil {
32547				var parameters map[string]*ParameterSpecification
32548				err = json.Unmarshal(*v, &parameters)
32549				if err != nil {
32550					return err
32551				}
32552				astd.Parameters = parameters
32553			}
32554		case "annotations":
32555			if v != nil {
32556				var annotations []interface{}
32557				err = json.Unmarshal(*v, &annotations)
32558				if err != nil {
32559					return err
32560				}
32561				astd.Annotations = &annotations
32562			}
32563		case "folder":
32564			if v != nil {
32565				var folder DatasetFolder
32566				err = json.Unmarshal(*v, &folder)
32567				if err != nil {
32568					return err
32569				}
32570				astd.Folder = &folder
32571			}
32572		case "type":
32573			if v != nil {
32574				var typeVar TypeBasicDataset
32575				err = json.Unmarshal(*v, &typeVar)
32576				if err != nil {
32577					return err
32578				}
32579				astd.Type = typeVar
32580			}
32581		}
32582	}
32583
32584	return nil
32585}
32586
32587// AzureSQLTableDatasetTypeProperties azure SQL dataset properties.
32588type AzureSQLTableDatasetTypeProperties struct {
32589	// TableName - The table name of the Azure SQL database. Type: string (or Expression with resultType string).
32590	TableName interface{} `json:"tableName,omitempty"`
32591}
32592
32593// AzureStorageLinkedService the storage account linked service.
32594type AzureStorageLinkedService struct {
32595	// AzureStorageLinkedServiceTypeProperties - Azure Storage linked service properties.
32596	*AzureStorageLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
32597	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
32598	AdditionalProperties map[string]interface{} `json:""`
32599	// ConnectVia - The integration runtime reference.
32600	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
32601	// Description - Linked service description.
32602	Description *string `json:"description,omitempty"`
32603	// Parameters - Parameters for linked service.
32604	Parameters map[string]*ParameterSpecification `json:"parameters"`
32605	// Annotations - List of tags that can be used for describing the linked service.
32606	Annotations *[]interface{} `json:"annotations,omitempty"`
32607	// Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', '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', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage'
32608	Type TypeBasicLinkedService `json:"type,omitempty"`
32609}
32610
32611// MarshalJSON is the custom marshaler for AzureStorageLinkedService.
32612func (asls AzureStorageLinkedService) MarshalJSON() ([]byte, error) {
32613	asls.Type = TypeAzureStorage
32614	objectMap := make(map[string]interface{})
32615	if asls.AzureStorageLinkedServiceTypeProperties != nil {
32616		objectMap["typeProperties"] = asls.AzureStorageLinkedServiceTypeProperties
32617	}
32618	if asls.ConnectVia != nil {
32619		objectMap["connectVia"] = asls.ConnectVia
32620	}
32621	if asls.Description != nil {
32622		objectMap["description"] = asls.Description
32623	}
32624	if asls.Parameters != nil {
32625		objectMap["parameters"] = asls.Parameters
32626	}
32627	if asls.Annotations != nil {
32628		objectMap["annotations"] = asls.Annotations
32629	}
32630	if asls.Type != "" {
32631		objectMap["type"] = asls.Type
32632	}
32633	for k, v := range asls.AdditionalProperties {
32634		objectMap[k] = v
32635	}
32636	return json.Marshal(objectMap)
32637}
32638
32639// AsAzureFunctionLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
32640func (asls AzureStorageLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) {
32641	return nil, false
32642}
32643
32644// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
32645func (asls AzureStorageLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) {
32646	return nil, false
32647}
32648
32649// AsSapTableLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
32650func (asls AzureStorageLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) {
32651	return nil, false
32652}
32653
32654// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
32655func (asls AzureStorageLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) {
32656	return nil, false
32657}
32658
32659// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
32660func (asls AzureStorageLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) {
32661	return nil, false
32662}
32663
32664// AsDynamicsAXLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
32665func (asls AzureStorageLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) {
32666	return nil, false
32667}
32668
32669// AsResponsysLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
32670func (asls AzureStorageLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
32671	return nil, false
32672}
32673
32674// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
32675func (asls AzureStorageLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
32676	return nil, false
32677}
32678
32679// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
32680func (asls AzureStorageLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
32681	return nil, false
32682}
32683
32684// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
32685func (asls AzureStorageLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
32686	return nil, false
32687}
32688
32689// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
32690func (asls AzureStorageLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
32691	return nil, false
32692}
32693
32694// AsNetezzaLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
32695func (asls AzureStorageLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
32696	return nil, false
32697}
32698
32699// AsVerticaLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
32700func (asls AzureStorageLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
32701	return nil, false
32702}
32703
32704// AsZohoLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
32705func (asls AzureStorageLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
32706	return nil, false
32707}
32708
32709// AsXeroLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
32710func (asls AzureStorageLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
32711	return nil, false
32712}
32713
32714// AsSquareLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
32715func (asls AzureStorageLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
32716	return nil, false
32717}
32718
32719// AsSparkLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
32720func (asls AzureStorageLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
32721	return nil, false
32722}
32723
32724// AsShopifyLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
32725func (asls AzureStorageLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
32726	return nil, false
32727}
32728
32729// AsServiceNowLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
32730func (asls AzureStorageLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
32731	return nil, false
32732}
32733
32734// AsQuickBooksLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
32735func (asls AzureStorageLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
32736	return nil, false
32737}
32738
32739// AsPrestoLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
32740func (asls AzureStorageLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
32741	return nil, false
32742}
32743
32744// AsPhoenixLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
32745func (asls AzureStorageLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
32746	return nil, false
32747}
32748
32749// AsPaypalLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
32750func (asls AzureStorageLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
32751	return nil, false
32752}
32753
32754// AsMarketoLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
32755func (asls AzureStorageLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
32756	return nil, false
32757}
32758
32759// AsMariaDBLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
32760func (asls AzureStorageLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
32761	return nil, false
32762}
32763
32764// AsMagentoLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
32765func (asls AzureStorageLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
32766	return nil, false
32767}
32768
32769// AsJiraLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
32770func (asls AzureStorageLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
32771	return nil, false
32772}
32773
32774// AsImpalaLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
32775func (asls AzureStorageLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
32776	return nil, false
32777}
32778
32779// AsHubspotLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
32780func (asls AzureStorageLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
32781	return nil, false
32782}
32783
32784// AsHiveLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
32785func (asls AzureStorageLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
32786	return nil, false
32787}
32788
32789// AsHBaseLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
32790func (asls AzureStorageLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
32791	return nil, false
32792}
32793
32794// AsGreenplumLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
32795func (asls AzureStorageLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
32796	return nil, false
32797}
32798
32799// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
32800func (asls AzureStorageLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
32801	return nil, false
32802}
32803
32804// AsEloquaLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
32805func (asls AzureStorageLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
32806	return nil, false
32807}
32808
32809// AsDrillLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
32810func (asls AzureStorageLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
32811	return nil, false
32812}
32813
32814// AsCouchbaseLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
32815func (asls AzureStorageLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
32816	return nil, false
32817}
32818
32819// AsConcurLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
32820func (asls AzureStorageLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
32821	return nil, false
32822}
32823
32824// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
32825func (asls AzureStorageLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
32826	return nil, false
32827}
32828
32829// AsAmazonMWSLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
32830func (asls AzureStorageLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
32831	return nil, false
32832}
32833
32834// AsSapHanaLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
32835func (asls AzureStorageLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
32836	return nil, false
32837}
32838
32839// AsSapBWLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
32840func (asls AzureStorageLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
32841	return nil, false
32842}
32843
32844// AsSftpServerLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
32845func (asls AzureStorageLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
32846	return nil, false
32847}
32848
32849// AsFtpServerLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
32850func (asls AzureStorageLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
32851	return nil, false
32852}
32853
32854// AsHTTPLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
32855func (asls AzureStorageLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
32856	return nil, false
32857}
32858
32859// AsAzureSearchLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
32860func (asls AzureStorageLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
32861	return nil, false
32862}
32863
32864// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
32865func (asls AzureStorageLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
32866	return nil, false
32867}
32868
32869// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
32870func (asls AzureStorageLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
32871	return nil, false
32872}
32873
32874// AsAmazonS3LinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
32875func (asls AzureStorageLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
32876	return nil, false
32877}
32878
32879// AsRestServiceLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
32880func (asls AzureStorageLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) {
32881	return nil, false
32882}
32883
32884// AsSapOpenHubLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
32885func (asls AzureStorageLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) {
32886	return nil, false
32887}
32888
32889// AsSapEccLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
32890func (asls AzureStorageLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
32891	return nil, false
32892}
32893
32894// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
32895func (asls AzureStorageLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
32896	return nil, false
32897}
32898
32899// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
32900func (asls AzureStorageLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) {
32901	return nil, false
32902}
32903
32904// AsSalesforceLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
32905func (asls AzureStorageLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
32906	return nil, false
32907}
32908
32909// AsOffice365LinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
32910func (asls AzureStorageLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) {
32911	return nil, false
32912}
32913
32914// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
32915func (asls AzureStorageLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) {
32916	return nil, false
32917}
32918
32919// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
32920func (asls AzureStorageLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
32921	return nil, false
32922}
32923
32924// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
32925func (asls AzureStorageLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) {
32926	return nil, false
32927}
32928
32929// AsMongoDbV2LinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
32930func (asls AzureStorageLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) {
32931	return nil, false
32932}
32933
32934// AsMongoDbLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
32935func (asls AzureStorageLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
32936	return nil, false
32937}
32938
32939// AsCassandraLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
32940func (asls AzureStorageLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
32941	return nil, false
32942}
32943
32944// AsWebLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
32945func (asls AzureStorageLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
32946	return nil, false
32947}
32948
32949// AsODataLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
32950func (asls AzureStorageLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
32951	return nil, false
32952}
32953
32954// AsHdfsLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
32955func (asls AzureStorageLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
32956	return nil, false
32957}
32958
32959// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
32960func (asls AzureStorageLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) {
32961	return nil, false
32962}
32963
32964// AsInformixLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
32965func (asls AzureStorageLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) {
32966	return nil, false
32967}
32968
32969// AsOdbcLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
32970func (asls AzureStorageLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
32971	return nil, false
32972}
32973
32974// AsAzureMLLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
32975func (asls AzureStorageLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
32976	return nil, false
32977}
32978
32979// AsTeradataLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
32980func (asls AzureStorageLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
32981	return nil, false
32982}
32983
32984// AsDb2LinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
32985func (asls AzureStorageLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
32986	return nil, false
32987}
32988
32989// AsSybaseLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
32990func (asls AzureStorageLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
32991	return nil, false
32992}
32993
32994// AsPostgreSQLLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
32995func (asls AzureStorageLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
32996	return nil, false
32997}
32998
32999// AsMySQLLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
33000func (asls AzureStorageLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
33001	return nil, false
33002}
33003
33004// AsAzureMySQLLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
33005func (asls AzureStorageLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
33006	return nil, false
33007}
33008
33009// AsOracleLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
33010func (asls AzureStorageLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
33011	return nil, false
33012}
33013
33014// AsFileServerLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
33015func (asls AzureStorageLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
33016	return nil, false
33017}
33018
33019// AsHDInsightLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
33020func (asls AzureStorageLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
33021	return nil, false
33022}
33023
33024// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
33025func (asls AzureStorageLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) {
33026	return nil, false
33027}
33028
33029// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
33030func (asls AzureStorageLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) {
33031	return nil, false
33032}
33033
33034// AsDynamicsLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
33035func (asls AzureStorageLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
33036	return nil, false
33037}
33038
33039// AsCosmosDbLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
33040func (asls AzureStorageLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
33041	return nil, false
33042}
33043
33044// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
33045func (asls AzureStorageLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
33046	return nil, false
33047}
33048
33049// AsAzureBatchLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
33050func (asls AzureStorageLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
33051	return nil, false
33052}
33053
33054// AsAzureSQLMILinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
33055func (asls AzureStorageLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) {
33056	return nil, false
33057}
33058
33059// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
33060func (asls AzureStorageLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
33061	return nil, false
33062}
33063
33064// AsSQLServerLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
33065func (asls AzureStorageLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
33066	return nil, false
33067}
33068
33069// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
33070func (asls AzureStorageLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
33071	return nil, false
33072}
33073
33074// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
33075func (asls AzureStorageLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) {
33076	return nil, false
33077}
33078
33079// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
33080func (asls AzureStorageLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) {
33081	return nil, false
33082}
33083
33084// AsAzureStorageLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
33085func (asls AzureStorageLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
33086	return &asls, true
33087}
33088
33089// AsLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
33090func (asls AzureStorageLinkedService) AsLinkedService() (*LinkedService, bool) {
33091	return nil, false
33092}
33093
33094// AsBasicLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
33095func (asls AzureStorageLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
33096	return &asls, true
33097}
33098
33099// UnmarshalJSON is the custom unmarshaler for AzureStorageLinkedService struct.
33100func (asls *AzureStorageLinkedService) UnmarshalJSON(body []byte) error {
33101	var m map[string]*json.RawMessage
33102	err := json.Unmarshal(body, &m)
33103	if err != nil {
33104		return err
33105	}
33106	for k, v := range m {
33107		switch k {
33108		case "typeProperties":
33109			if v != nil {
33110				var azureStorageLinkedServiceTypeProperties AzureStorageLinkedServiceTypeProperties
33111				err = json.Unmarshal(*v, &azureStorageLinkedServiceTypeProperties)
33112				if err != nil {
33113					return err
33114				}
33115				asls.AzureStorageLinkedServiceTypeProperties = &azureStorageLinkedServiceTypeProperties
33116			}
33117		default:
33118			if v != nil {
33119				var additionalProperties interface{}
33120				err = json.Unmarshal(*v, &additionalProperties)
33121				if err != nil {
33122					return err
33123				}
33124				if asls.AdditionalProperties == nil {
33125					asls.AdditionalProperties = make(map[string]interface{})
33126				}
33127				asls.AdditionalProperties[k] = additionalProperties
33128			}
33129		case "connectVia":
33130			if v != nil {
33131				var connectVia IntegrationRuntimeReference
33132				err = json.Unmarshal(*v, &connectVia)
33133				if err != nil {
33134					return err
33135				}
33136				asls.ConnectVia = &connectVia
33137			}
33138		case "description":
33139			if v != nil {
33140				var description string
33141				err = json.Unmarshal(*v, &description)
33142				if err != nil {
33143					return err
33144				}
33145				asls.Description = &description
33146			}
33147		case "parameters":
33148			if v != nil {
33149				var parameters map[string]*ParameterSpecification
33150				err = json.Unmarshal(*v, &parameters)
33151				if err != nil {
33152					return err
33153				}
33154				asls.Parameters = parameters
33155			}
33156		case "annotations":
33157			if v != nil {
33158				var annotations []interface{}
33159				err = json.Unmarshal(*v, &annotations)
33160				if err != nil {
33161					return err
33162				}
33163				asls.Annotations = &annotations
33164			}
33165		case "type":
33166			if v != nil {
33167				var typeVar TypeBasicLinkedService
33168				err = json.Unmarshal(*v, &typeVar)
33169				if err != nil {
33170					return err
33171				}
33172				asls.Type = typeVar
33173			}
33174		}
33175	}
33176
33177	return nil
33178}
33179
33180// AzureStorageLinkedServiceTypeProperties azure Storage linked service properties.
33181type AzureStorageLinkedServiceTypeProperties struct {
33182	// ConnectionString - The connection string. It is mutually exclusive with sasUri property. Type: string, SecureString or AzureKeyVaultSecretReference.
33183	ConnectionString interface{} `json:"connectionString,omitempty"`
33184	// AccountKey - The Azure key vault secret reference of accountKey in connection string.
33185	AccountKey *AzureKeyVaultSecretReference `json:"accountKey,omitempty"`
33186	// SasURI - SAS URI of the Azure Storage resource. It is mutually exclusive with connectionString property. Type: string, SecureString or AzureKeyVaultSecretReference.
33187	SasURI interface{} `json:"sasUri,omitempty"`
33188	// SasToken - The Azure key vault secret reference of sasToken in sas uri.
33189	SasToken *AzureKeyVaultSecretReference `json:"sasToken,omitempty"`
33190	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
33191	EncryptedCredential *string `json:"encryptedCredential,omitempty"`
33192}
33193
33194// AzureTableDataset the Azure Table storage dataset.
33195type AzureTableDataset struct {
33196	// AzureTableDatasetTypeProperties - Azure Table dataset properties.
33197	*AzureTableDatasetTypeProperties `json:"typeProperties,omitempty"`
33198	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
33199	AdditionalProperties map[string]interface{} `json:""`
33200	// Description - Dataset description.
33201	Description *string `json:"description,omitempty"`
33202	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
33203	Structure interface{} `json:"structure,omitempty"`
33204	// Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement.
33205	Schema interface{} `json:"schema,omitempty"`
33206	// LinkedServiceName - Linked service reference.
33207	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
33208	// Parameters - Parameters for dataset.
33209	Parameters map[string]*ParameterSpecification `json:"parameters"`
33210	// Annotations - List of tags that can be used for describing the Dataset.
33211	Annotations *[]interface{} `json:"annotations,omitempty"`
33212	// Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level.
33213	Folder *DatasetFolder `json:"folder,omitempty"`
33214	// Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', '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', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeDelimitedText', 'TypeParquet', 'TypeAmazonS3Object'
33215	Type TypeBasicDataset `json:"type,omitempty"`
33216}
33217
33218// MarshalJSON is the custom marshaler for AzureTableDataset.
33219func (atd AzureTableDataset) MarshalJSON() ([]byte, error) {
33220	atd.Type = TypeAzureTable
33221	objectMap := make(map[string]interface{})
33222	if atd.AzureTableDatasetTypeProperties != nil {
33223		objectMap["typeProperties"] = atd.AzureTableDatasetTypeProperties
33224	}
33225	if atd.Description != nil {
33226		objectMap["description"] = atd.Description
33227	}
33228	if atd.Structure != nil {
33229		objectMap["structure"] = atd.Structure
33230	}
33231	if atd.Schema != nil {
33232		objectMap["schema"] = atd.Schema
33233	}
33234	if atd.LinkedServiceName != nil {
33235		objectMap["linkedServiceName"] = atd.LinkedServiceName
33236	}
33237	if atd.Parameters != nil {
33238		objectMap["parameters"] = atd.Parameters
33239	}
33240	if atd.Annotations != nil {
33241		objectMap["annotations"] = atd.Annotations
33242	}
33243	if atd.Folder != nil {
33244		objectMap["folder"] = atd.Folder
33245	}
33246	if atd.Type != "" {
33247		objectMap["type"] = atd.Type
33248	}
33249	for k, v := range atd.AdditionalProperties {
33250		objectMap[k] = v
33251	}
33252	return json.Marshal(objectMap)
33253}
33254
33255// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for AzureTableDataset.
33256func (atd AzureTableDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) {
33257	return nil, false
33258}
33259
33260// AsAzureDataExplorerTableDataset is the BasicDataset implementation for AzureTableDataset.
33261func (atd AzureTableDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) {
33262	return nil, false
33263}
33264
33265// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for AzureTableDataset.
33266func (atd AzureTableDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) {
33267	return nil, false
33268}
33269
33270// AsDynamicsAXResourceDataset is the BasicDataset implementation for AzureTableDataset.
33271func (atd AzureTableDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) {
33272	return nil, false
33273}
33274
33275// AsResponsysObjectDataset is the BasicDataset implementation for AzureTableDataset.
33276func (atd AzureTableDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
33277	return nil, false
33278}
33279
33280// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for AzureTableDataset.
33281func (atd AzureTableDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
33282	return nil, false
33283}
33284
33285// AsVerticaTableDataset is the BasicDataset implementation for AzureTableDataset.
33286func (atd AzureTableDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
33287	return nil, false
33288}
33289
33290// AsNetezzaTableDataset is the BasicDataset implementation for AzureTableDataset.
33291func (atd AzureTableDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
33292	return nil, false
33293}
33294
33295// AsZohoObjectDataset is the BasicDataset implementation for AzureTableDataset.
33296func (atd AzureTableDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
33297	return nil, false
33298}
33299
33300// AsXeroObjectDataset is the BasicDataset implementation for AzureTableDataset.
33301func (atd AzureTableDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
33302	return nil, false
33303}
33304
33305// AsSquareObjectDataset is the BasicDataset implementation for AzureTableDataset.
33306func (atd AzureTableDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
33307	return nil, false
33308}
33309
33310// AsSparkObjectDataset is the BasicDataset implementation for AzureTableDataset.
33311func (atd AzureTableDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
33312	return nil, false
33313}
33314
33315// AsShopifyObjectDataset is the BasicDataset implementation for AzureTableDataset.
33316func (atd AzureTableDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
33317	return nil, false
33318}
33319
33320// AsServiceNowObjectDataset is the BasicDataset implementation for AzureTableDataset.
33321func (atd AzureTableDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
33322	return nil, false
33323}
33324
33325// AsQuickBooksObjectDataset is the BasicDataset implementation for AzureTableDataset.
33326func (atd AzureTableDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
33327	return nil, false
33328}
33329
33330// AsPrestoObjectDataset is the BasicDataset implementation for AzureTableDataset.
33331func (atd AzureTableDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
33332	return nil, false
33333}
33334
33335// AsPhoenixObjectDataset is the BasicDataset implementation for AzureTableDataset.
33336func (atd AzureTableDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
33337	return nil, false
33338}
33339
33340// AsPaypalObjectDataset is the BasicDataset implementation for AzureTableDataset.
33341func (atd AzureTableDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
33342	return nil, false
33343}
33344
33345// AsMarketoObjectDataset is the BasicDataset implementation for AzureTableDataset.
33346func (atd AzureTableDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
33347	return nil, false
33348}
33349
33350// AsMariaDBTableDataset is the BasicDataset implementation for AzureTableDataset.
33351func (atd AzureTableDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
33352	return nil, false
33353}
33354
33355// AsMagentoObjectDataset is the BasicDataset implementation for AzureTableDataset.
33356func (atd AzureTableDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
33357	return nil, false
33358}
33359
33360// AsJiraObjectDataset is the BasicDataset implementation for AzureTableDataset.
33361func (atd AzureTableDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
33362	return nil, false
33363}
33364
33365// AsImpalaObjectDataset is the BasicDataset implementation for AzureTableDataset.
33366func (atd AzureTableDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
33367	return nil, false
33368}
33369
33370// AsHubspotObjectDataset is the BasicDataset implementation for AzureTableDataset.
33371func (atd AzureTableDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
33372	return nil, false
33373}
33374
33375// AsHiveObjectDataset is the BasicDataset implementation for AzureTableDataset.
33376func (atd AzureTableDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
33377	return nil, false
33378}
33379
33380// AsHBaseObjectDataset is the BasicDataset implementation for AzureTableDataset.
33381func (atd AzureTableDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
33382	return nil, false
33383}
33384
33385// AsGreenplumTableDataset is the BasicDataset implementation for AzureTableDataset.
33386func (atd AzureTableDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
33387	return nil, false
33388}
33389
33390// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for AzureTableDataset.
33391func (atd AzureTableDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
33392	return nil, false
33393}
33394
33395// AsEloquaObjectDataset is the BasicDataset implementation for AzureTableDataset.
33396func (atd AzureTableDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
33397	return nil, false
33398}
33399
33400// AsDrillTableDataset is the BasicDataset implementation for AzureTableDataset.
33401func (atd AzureTableDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
33402	return nil, false
33403}
33404
33405// AsCouchbaseTableDataset is the BasicDataset implementation for AzureTableDataset.
33406func (atd AzureTableDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
33407	return nil, false
33408}
33409
33410// AsConcurObjectDataset is the BasicDataset implementation for AzureTableDataset.
33411func (atd AzureTableDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
33412	return nil, false
33413}
33414
33415// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for AzureTableDataset.
33416func (atd AzureTableDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
33417	return nil, false
33418}
33419
33420// AsAmazonMWSObjectDataset is the BasicDataset implementation for AzureTableDataset.
33421func (atd AzureTableDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
33422	return nil, false
33423}
33424
33425// AsHTTPDataset is the BasicDataset implementation for AzureTableDataset.
33426func (atd AzureTableDataset) AsHTTPDataset() (*HTTPDataset, bool) {
33427	return nil, false
33428}
33429
33430// AsAzureSearchIndexDataset is the BasicDataset implementation for AzureTableDataset.
33431func (atd AzureTableDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
33432	return nil, false
33433}
33434
33435// AsWebTableDataset is the BasicDataset implementation for AzureTableDataset.
33436func (atd AzureTableDataset) AsWebTableDataset() (*WebTableDataset, bool) {
33437	return nil, false
33438}
33439
33440// AsSapTableResourceDataset is the BasicDataset implementation for AzureTableDataset.
33441func (atd AzureTableDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) {
33442	return nil, false
33443}
33444
33445// AsRestResourceDataset is the BasicDataset implementation for AzureTableDataset.
33446func (atd AzureTableDataset) AsRestResourceDataset() (*RestResourceDataset, bool) {
33447	return nil, false
33448}
33449
33450// AsSQLServerTableDataset is the BasicDataset implementation for AzureTableDataset.
33451func (atd AzureTableDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
33452	return nil, false
33453}
33454
33455// AsSapOpenHubTableDataset is the BasicDataset implementation for AzureTableDataset.
33456func (atd AzureTableDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) {
33457	return nil, false
33458}
33459
33460// AsSapHanaTableDataset is the BasicDataset implementation for AzureTableDataset.
33461func (atd AzureTableDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) {
33462	return nil, false
33463}
33464
33465// AsSapEccResourceDataset is the BasicDataset implementation for AzureTableDataset.
33466func (atd AzureTableDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
33467	return nil, false
33468}
33469
33470// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for AzureTableDataset.
33471func (atd AzureTableDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
33472	return nil, false
33473}
33474
33475// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for AzureTableDataset.
33476func (atd AzureTableDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) {
33477	return nil, false
33478}
33479
33480// AsSalesforceObjectDataset is the BasicDataset implementation for AzureTableDataset.
33481func (atd AzureTableDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
33482	return nil, false
33483}
33484
33485// AsMicrosoftAccessTableDataset is the BasicDataset implementation for AzureTableDataset.
33486func (atd AzureTableDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) {
33487	return nil, false
33488}
33489
33490// AsPostgreSQLTableDataset is the BasicDataset implementation for AzureTableDataset.
33491func (atd AzureTableDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) {
33492	return nil, false
33493}
33494
33495// AsMySQLTableDataset is the BasicDataset implementation for AzureTableDataset.
33496func (atd AzureTableDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) {
33497	return nil, false
33498}
33499
33500// AsOdbcTableDataset is the BasicDataset implementation for AzureTableDataset.
33501func (atd AzureTableDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) {
33502	return nil, false
33503}
33504
33505// AsInformixTableDataset is the BasicDataset implementation for AzureTableDataset.
33506func (atd AzureTableDataset) AsInformixTableDataset() (*InformixTableDataset, bool) {
33507	return nil, false
33508}
33509
33510// AsRelationalTableDataset is the BasicDataset implementation for AzureTableDataset.
33511func (atd AzureTableDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
33512	return nil, false
33513}
33514
33515// AsAzureMySQLTableDataset is the BasicDataset implementation for AzureTableDataset.
33516func (atd AzureTableDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
33517	return nil, false
33518}
33519
33520// AsTeradataTableDataset is the BasicDataset implementation for AzureTableDataset.
33521func (atd AzureTableDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) {
33522	return nil, false
33523}
33524
33525// AsOracleTableDataset is the BasicDataset implementation for AzureTableDataset.
33526func (atd AzureTableDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
33527	return nil, false
33528}
33529
33530// AsODataResourceDataset is the BasicDataset implementation for AzureTableDataset.
33531func (atd AzureTableDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
33532	return nil, false
33533}
33534
33535// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for AzureTableDataset.
33536func (atd AzureTableDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) {
33537	return nil, false
33538}
33539
33540// AsMongoDbV2CollectionDataset is the BasicDataset implementation for AzureTableDataset.
33541func (atd AzureTableDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) {
33542	return nil, false
33543}
33544
33545// AsMongoDbCollectionDataset is the BasicDataset implementation for AzureTableDataset.
33546func (atd AzureTableDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
33547	return nil, false
33548}
33549
33550// AsFileShareDataset is the BasicDataset implementation for AzureTableDataset.
33551func (atd AzureTableDataset) AsFileShareDataset() (*FileShareDataset, bool) {
33552	return nil, false
33553}
33554
33555// AsOffice365Dataset is the BasicDataset implementation for AzureTableDataset.
33556func (atd AzureTableDataset) AsOffice365Dataset() (*Office365Dataset, bool) {
33557	return nil, false
33558}
33559
33560// AsAzureBlobFSDataset is the BasicDataset implementation for AzureTableDataset.
33561func (atd AzureTableDataset) AsAzureBlobFSDataset() (*AzureBlobFSDataset, bool) {
33562	return nil, false
33563}
33564
33565// AsAzureDataLakeStoreDataset is the BasicDataset implementation for AzureTableDataset.
33566func (atd AzureTableDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) {
33567	return nil, false
33568}
33569
33570// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for AzureTableDataset.
33571func (atd AzureTableDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) {
33572	return nil, false
33573}
33574
33575// AsDynamicsCrmEntityDataset is the BasicDataset implementation for AzureTableDataset.
33576func (atd AzureTableDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) {
33577	return nil, false
33578}
33579
33580// AsDynamicsEntityDataset is the BasicDataset implementation for AzureTableDataset.
33581func (atd AzureTableDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
33582	return nil, false
33583}
33584
33585// AsDocumentDbCollectionDataset is the BasicDataset implementation for AzureTableDataset.
33586func (atd AzureTableDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
33587	return nil, false
33588}
33589
33590// AsCustomDataset is the BasicDataset implementation for AzureTableDataset.
33591func (atd AzureTableDataset) AsCustomDataset() (*CustomDataset, bool) {
33592	return nil, false
33593}
33594
33595// AsCassandraTableDataset is the BasicDataset implementation for AzureTableDataset.
33596func (atd AzureTableDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
33597	return nil, false
33598}
33599
33600// AsAzureSQLDWTableDataset is the BasicDataset implementation for AzureTableDataset.
33601func (atd AzureTableDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
33602	return nil, false
33603}
33604
33605// AsAzureSQLMITableDataset is the BasicDataset implementation for AzureTableDataset.
33606func (atd AzureTableDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) {
33607	return nil, false
33608}
33609
33610// AsAzureSQLTableDataset is the BasicDataset implementation for AzureTableDataset.
33611func (atd AzureTableDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
33612	return nil, false
33613}
33614
33615// AsAzureTableDataset is the BasicDataset implementation for AzureTableDataset.
33616func (atd AzureTableDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
33617	return &atd, true
33618}
33619
33620// AsAzureBlobDataset is the BasicDataset implementation for AzureTableDataset.
33621func (atd AzureTableDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) {
33622	return nil, false
33623}
33624
33625// AsBinaryDataset is the BasicDataset implementation for AzureTableDataset.
33626func (atd AzureTableDataset) AsBinaryDataset() (*BinaryDataset, bool) {
33627	return nil, false
33628}
33629
33630// AsDelimitedTextDataset is the BasicDataset implementation for AzureTableDataset.
33631func (atd AzureTableDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) {
33632	return nil, false
33633}
33634
33635// AsParquetDataset is the BasicDataset implementation for AzureTableDataset.
33636func (atd AzureTableDataset) AsParquetDataset() (*ParquetDataset, bool) {
33637	return nil, false
33638}
33639
33640// AsAmazonS3Dataset is the BasicDataset implementation for AzureTableDataset.
33641func (atd AzureTableDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) {
33642	return nil, false
33643}
33644
33645// AsDataset is the BasicDataset implementation for AzureTableDataset.
33646func (atd AzureTableDataset) AsDataset() (*Dataset, bool) {
33647	return nil, false
33648}
33649
33650// AsBasicDataset is the BasicDataset implementation for AzureTableDataset.
33651func (atd AzureTableDataset) AsBasicDataset() (BasicDataset, bool) {
33652	return &atd, true
33653}
33654
33655// UnmarshalJSON is the custom unmarshaler for AzureTableDataset struct.
33656func (atd *AzureTableDataset) UnmarshalJSON(body []byte) error {
33657	var m map[string]*json.RawMessage
33658	err := json.Unmarshal(body, &m)
33659	if err != nil {
33660		return err
33661	}
33662	for k, v := range m {
33663		switch k {
33664		case "typeProperties":
33665			if v != nil {
33666				var azureTableDatasetTypeProperties AzureTableDatasetTypeProperties
33667				err = json.Unmarshal(*v, &azureTableDatasetTypeProperties)
33668				if err != nil {
33669					return err
33670				}
33671				atd.AzureTableDatasetTypeProperties = &azureTableDatasetTypeProperties
33672			}
33673		default:
33674			if v != nil {
33675				var additionalProperties interface{}
33676				err = json.Unmarshal(*v, &additionalProperties)
33677				if err != nil {
33678					return err
33679				}
33680				if atd.AdditionalProperties == nil {
33681					atd.AdditionalProperties = make(map[string]interface{})
33682				}
33683				atd.AdditionalProperties[k] = additionalProperties
33684			}
33685		case "description":
33686			if v != nil {
33687				var description string
33688				err = json.Unmarshal(*v, &description)
33689				if err != nil {
33690					return err
33691				}
33692				atd.Description = &description
33693			}
33694		case "structure":
33695			if v != nil {
33696				var structure interface{}
33697				err = json.Unmarshal(*v, &structure)
33698				if err != nil {
33699					return err
33700				}
33701				atd.Structure = structure
33702			}
33703		case "schema":
33704			if v != nil {
33705				var schema interface{}
33706				err = json.Unmarshal(*v, &schema)
33707				if err != nil {
33708					return err
33709				}
33710				atd.Schema = schema
33711			}
33712		case "linkedServiceName":
33713			if v != nil {
33714				var linkedServiceName LinkedServiceReference
33715				err = json.Unmarshal(*v, &linkedServiceName)
33716				if err != nil {
33717					return err
33718				}
33719				atd.LinkedServiceName = &linkedServiceName
33720			}
33721		case "parameters":
33722			if v != nil {
33723				var parameters map[string]*ParameterSpecification
33724				err = json.Unmarshal(*v, &parameters)
33725				if err != nil {
33726					return err
33727				}
33728				atd.Parameters = parameters
33729			}
33730		case "annotations":
33731			if v != nil {
33732				var annotations []interface{}
33733				err = json.Unmarshal(*v, &annotations)
33734				if err != nil {
33735					return err
33736				}
33737				atd.Annotations = &annotations
33738			}
33739		case "folder":
33740			if v != nil {
33741				var folder DatasetFolder
33742				err = json.Unmarshal(*v, &folder)
33743				if err != nil {
33744					return err
33745				}
33746				atd.Folder = &folder
33747			}
33748		case "type":
33749			if v != nil {
33750				var typeVar TypeBasicDataset
33751				err = json.Unmarshal(*v, &typeVar)
33752				if err != nil {
33753					return err
33754				}
33755				atd.Type = typeVar
33756			}
33757		}
33758	}
33759
33760	return nil
33761}
33762
33763// AzureTableDatasetTypeProperties azure Table dataset properties.
33764type AzureTableDatasetTypeProperties struct {
33765	// TableName - The table name of the Azure Table storage. Type: string (or Expression with resultType string).
33766	TableName interface{} `json:"tableName,omitempty"`
33767}
33768
33769// AzureTableSink a copy activity Azure Table sink.
33770type AzureTableSink struct {
33771	// AzureTableDefaultPartitionKeyValue - Azure Table default partition key value. Type: string (or Expression with resultType string).
33772	AzureTableDefaultPartitionKeyValue interface{} `json:"azureTableDefaultPartitionKeyValue,omitempty"`
33773	// AzureTablePartitionKeyName - Azure Table partition key name. Type: string (or Expression with resultType string).
33774	AzureTablePartitionKeyName interface{} `json:"azureTablePartitionKeyName,omitempty"`
33775	// AzureTableRowKeyName - Azure Table row key name. Type: string (or Expression with resultType string).
33776	AzureTableRowKeyName interface{} `json:"azureTableRowKeyName,omitempty"`
33777	// AzureTableInsertType - Azure Table insert type. Type: string (or Expression with resultType string).
33778	AzureTableInsertType interface{} `json:"azureTableInsertType,omitempty"`
33779	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
33780	AdditionalProperties map[string]interface{} `json:""`
33781	// WriteBatchSize - Write batch size. Type: integer (or Expression with resultType integer), minimum: 0.
33782	WriteBatchSize interface{} `json:"writeBatchSize,omitempty"`
33783	// 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])).
33784	WriteBatchTimeout interface{} `json:"writeBatchTimeout,omitempty"`
33785	// SinkRetryCount - Sink retry count. Type: integer (or Expression with resultType integer).
33786	SinkRetryCount interface{} `json:"sinkRetryCount,omitempty"`
33787	// 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])).
33788	SinkRetryWait interface{} `json:"sinkRetryWait,omitempty"`
33789	// MaxConcurrentConnections - The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer).
33790	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
33791	// Type - Possible values include: 'TypeCopySink', 'TypeCosmosDbMongoDbAPISink', 'TypeSalesforceServiceCloudSink', 'TypeSalesforceSink', 'TypeAzureDataExplorerSink', 'TypeCommonDataServiceForAppsSink', 'TypeDynamicsCrmSink', 'TypeDynamicsSink', 'TypeMicrosoftAccessSink', 'TypeInformixSink', 'TypeOdbcSink', 'TypeAzureSearchIndexSink', 'TypeAzureBlobFSSink', 'TypeAzureDataLakeStoreSink', 'TypeOracleSink', 'TypeSQLDWSink', 'TypeSQLMISink', 'TypeAzureSQLSink', 'TypeSQLServerSink', 'TypeSQLSink', 'TypeDocumentDbCollectionSink', 'TypeFileSystemSink', 'TypeBlobSink', 'TypeBinarySink', 'TypeParquetSink', 'TypeAzureTableSink', 'TypeAzureQueueSink', 'TypeSapCloudForCustomerSink', 'TypeAzurePostgreSQLSink', 'TypeDelimitedTextSink'
33792	Type TypeBasicCopySink `json:"type,omitempty"`
33793}
33794
33795// MarshalJSON is the custom marshaler for AzureTableSink.
33796func (ats AzureTableSink) MarshalJSON() ([]byte, error) {
33797	ats.Type = TypeAzureTableSink
33798	objectMap := make(map[string]interface{})
33799	if ats.AzureTableDefaultPartitionKeyValue != nil {
33800		objectMap["azureTableDefaultPartitionKeyValue"] = ats.AzureTableDefaultPartitionKeyValue
33801	}
33802	if ats.AzureTablePartitionKeyName != nil {
33803		objectMap["azureTablePartitionKeyName"] = ats.AzureTablePartitionKeyName
33804	}
33805	if ats.AzureTableRowKeyName != nil {
33806		objectMap["azureTableRowKeyName"] = ats.AzureTableRowKeyName
33807	}
33808	if ats.AzureTableInsertType != nil {
33809		objectMap["azureTableInsertType"] = ats.AzureTableInsertType
33810	}
33811	if ats.WriteBatchSize != nil {
33812		objectMap["writeBatchSize"] = ats.WriteBatchSize
33813	}
33814	if ats.WriteBatchTimeout != nil {
33815		objectMap["writeBatchTimeout"] = ats.WriteBatchTimeout
33816	}
33817	if ats.SinkRetryCount != nil {
33818		objectMap["sinkRetryCount"] = ats.SinkRetryCount
33819	}
33820	if ats.SinkRetryWait != nil {
33821		objectMap["sinkRetryWait"] = ats.SinkRetryWait
33822	}
33823	if ats.MaxConcurrentConnections != nil {
33824		objectMap["maxConcurrentConnections"] = ats.MaxConcurrentConnections
33825	}
33826	if ats.Type != "" {
33827		objectMap["type"] = ats.Type
33828	}
33829	for k, v := range ats.AdditionalProperties {
33830		objectMap[k] = v
33831	}
33832	return json.Marshal(objectMap)
33833}
33834
33835// AsCosmosDbMongoDbAPISink is the BasicCopySink implementation for AzureTableSink.
33836func (ats AzureTableSink) AsCosmosDbMongoDbAPISink() (*CosmosDbMongoDbAPISink, bool) {
33837	return nil, false
33838}
33839
33840// AsSalesforceServiceCloudSink is the BasicCopySink implementation for AzureTableSink.
33841func (ats AzureTableSink) AsSalesforceServiceCloudSink() (*SalesforceServiceCloudSink, bool) {
33842	return nil, false
33843}
33844
33845// AsSalesforceSink is the BasicCopySink implementation for AzureTableSink.
33846func (ats AzureTableSink) AsSalesforceSink() (*SalesforceSink, bool) {
33847	return nil, false
33848}
33849
33850// AsAzureDataExplorerSink is the BasicCopySink implementation for AzureTableSink.
33851func (ats AzureTableSink) AsAzureDataExplorerSink() (*AzureDataExplorerSink, bool) {
33852	return nil, false
33853}
33854
33855// AsCommonDataServiceForAppsSink is the BasicCopySink implementation for AzureTableSink.
33856func (ats AzureTableSink) AsCommonDataServiceForAppsSink() (*CommonDataServiceForAppsSink, bool) {
33857	return nil, false
33858}
33859
33860// AsDynamicsCrmSink is the BasicCopySink implementation for AzureTableSink.
33861func (ats AzureTableSink) AsDynamicsCrmSink() (*DynamicsCrmSink, bool) {
33862	return nil, false
33863}
33864
33865// AsDynamicsSink is the BasicCopySink implementation for AzureTableSink.
33866func (ats AzureTableSink) AsDynamicsSink() (*DynamicsSink, bool) {
33867	return nil, false
33868}
33869
33870// AsMicrosoftAccessSink is the BasicCopySink implementation for AzureTableSink.
33871func (ats AzureTableSink) AsMicrosoftAccessSink() (*MicrosoftAccessSink, bool) {
33872	return nil, false
33873}
33874
33875// AsInformixSink is the BasicCopySink implementation for AzureTableSink.
33876func (ats AzureTableSink) AsInformixSink() (*InformixSink, bool) {
33877	return nil, false
33878}
33879
33880// AsOdbcSink is the BasicCopySink implementation for AzureTableSink.
33881func (ats AzureTableSink) AsOdbcSink() (*OdbcSink, bool) {
33882	return nil, false
33883}
33884
33885// AsAzureSearchIndexSink is the BasicCopySink implementation for AzureTableSink.
33886func (ats AzureTableSink) AsAzureSearchIndexSink() (*AzureSearchIndexSink, bool) {
33887	return nil, false
33888}
33889
33890// AsAzureBlobFSSink is the BasicCopySink implementation for AzureTableSink.
33891func (ats AzureTableSink) AsAzureBlobFSSink() (*AzureBlobFSSink, bool) {
33892	return nil, false
33893}
33894
33895// AsAzureDataLakeStoreSink is the BasicCopySink implementation for AzureTableSink.
33896func (ats AzureTableSink) AsAzureDataLakeStoreSink() (*AzureDataLakeStoreSink, bool) {
33897	return nil, false
33898}
33899
33900// AsOracleSink is the BasicCopySink implementation for AzureTableSink.
33901func (ats AzureTableSink) AsOracleSink() (*OracleSink, bool) {
33902	return nil, false
33903}
33904
33905// AsSQLDWSink is the BasicCopySink implementation for AzureTableSink.
33906func (ats AzureTableSink) AsSQLDWSink() (*SQLDWSink, bool) {
33907	return nil, false
33908}
33909
33910// AsSQLMISink is the BasicCopySink implementation for AzureTableSink.
33911func (ats AzureTableSink) AsSQLMISink() (*SQLMISink, bool) {
33912	return nil, false
33913}
33914
33915// AsAzureSQLSink is the BasicCopySink implementation for AzureTableSink.
33916func (ats AzureTableSink) AsAzureSQLSink() (*AzureSQLSink, bool) {
33917	return nil, false
33918}
33919
33920// AsSQLServerSink is the BasicCopySink implementation for AzureTableSink.
33921func (ats AzureTableSink) AsSQLServerSink() (*SQLServerSink, bool) {
33922	return nil, false
33923}
33924
33925// AsSQLSink is the BasicCopySink implementation for AzureTableSink.
33926func (ats AzureTableSink) AsSQLSink() (*SQLSink, bool) {
33927	return nil, false
33928}
33929
33930// AsDocumentDbCollectionSink is the BasicCopySink implementation for AzureTableSink.
33931func (ats AzureTableSink) AsDocumentDbCollectionSink() (*DocumentDbCollectionSink, bool) {
33932	return nil, false
33933}
33934
33935// AsFileSystemSink is the BasicCopySink implementation for AzureTableSink.
33936func (ats AzureTableSink) AsFileSystemSink() (*FileSystemSink, bool) {
33937	return nil, false
33938}
33939
33940// AsBlobSink is the BasicCopySink implementation for AzureTableSink.
33941func (ats AzureTableSink) AsBlobSink() (*BlobSink, bool) {
33942	return nil, false
33943}
33944
33945// AsBinarySink is the BasicCopySink implementation for AzureTableSink.
33946func (ats AzureTableSink) AsBinarySink() (*BinarySink, bool) {
33947	return nil, false
33948}
33949
33950// AsParquetSink is the BasicCopySink implementation for AzureTableSink.
33951func (ats AzureTableSink) AsParquetSink() (*ParquetSink, bool) {
33952	return nil, false
33953}
33954
33955// AsAzureTableSink is the BasicCopySink implementation for AzureTableSink.
33956func (ats AzureTableSink) AsAzureTableSink() (*AzureTableSink, bool) {
33957	return &ats, true
33958}
33959
33960// AsAzureQueueSink is the BasicCopySink implementation for AzureTableSink.
33961func (ats AzureTableSink) AsAzureQueueSink() (*AzureQueueSink, bool) {
33962	return nil, false
33963}
33964
33965// AsSapCloudForCustomerSink is the BasicCopySink implementation for AzureTableSink.
33966func (ats AzureTableSink) AsSapCloudForCustomerSink() (*SapCloudForCustomerSink, bool) {
33967	return nil, false
33968}
33969
33970// AsAzurePostgreSQLSink is the BasicCopySink implementation for AzureTableSink.
33971func (ats AzureTableSink) AsAzurePostgreSQLSink() (*AzurePostgreSQLSink, bool) {
33972	return nil, false
33973}
33974
33975// AsDelimitedTextSink is the BasicCopySink implementation for AzureTableSink.
33976func (ats AzureTableSink) AsDelimitedTextSink() (*DelimitedTextSink, bool) {
33977	return nil, false
33978}
33979
33980// AsCopySink is the BasicCopySink implementation for AzureTableSink.
33981func (ats AzureTableSink) AsCopySink() (*CopySink, bool) {
33982	return nil, false
33983}
33984
33985// AsBasicCopySink is the BasicCopySink implementation for AzureTableSink.
33986func (ats AzureTableSink) AsBasicCopySink() (BasicCopySink, bool) {
33987	return &ats, true
33988}
33989
33990// UnmarshalJSON is the custom unmarshaler for AzureTableSink struct.
33991func (ats *AzureTableSink) UnmarshalJSON(body []byte) error {
33992	var m map[string]*json.RawMessage
33993	err := json.Unmarshal(body, &m)
33994	if err != nil {
33995		return err
33996	}
33997	for k, v := range m {
33998		switch k {
33999		case "azureTableDefaultPartitionKeyValue":
34000			if v != nil {
34001				var azureTableDefaultPartitionKeyValue interface{}
34002				err = json.Unmarshal(*v, &azureTableDefaultPartitionKeyValue)
34003				if err != nil {
34004					return err
34005				}
34006				ats.AzureTableDefaultPartitionKeyValue = azureTableDefaultPartitionKeyValue
34007			}
34008		case "azureTablePartitionKeyName":
34009			if v != nil {
34010				var azureTablePartitionKeyName interface{}
34011				err = json.Unmarshal(*v, &azureTablePartitionKeyName)
34012				if err != nil {
34013					return err
34014				}
34015				ats.AzureTablePartitionKeyName = azureTablePartitionKeyName
34016			}
34017		case "azureTableRowKeyName":
34018			if v != nil {
34019				var azureTableRowKeyName interface{}
34020				err = json.Unmarshal(*v, &azureTableRowKeyName)
34021				if err != nil {
34022					return err
34023				}
34024				ats.AzureTableRowKeyName = azureTableRowKeyName
34025			}
34026		case "azureTableInsertType":
34027			if v != nil {
34028				var azureTableInsertType interface{}
34029				err = json.Unmarshal(*v, &azureTableInsertType)
34030				if err != nil {
34031					return err
34032				}
34033				ats.AzureTableInsertType = azureTableInsertType
34034			}
34035		default:
34036			if v != nil {
34037				var additionalProperties interface{}
34038				err = json.Unmarshal(*v, &additionalProperties)
34039				if err != nil {
34040					return err
34041				}
34042				if ats.AdditionalProperties == nil {
34043					ats.AdditionalProperties = make(map[string]interface{})
34044				}
34045				ats.AdditionalProperties[k] = additionalProperties
34046			}
34047		case "writeBatchSize":
34048			if v != nil {
34049				var writeBatchSize interface{}
34050				err = json.Unmarshal(*v, &writeBatchSize)
34051				if err != nil {
34052					return err
34053				}
34054				ats.WriteBatchSize = writeBatchSize
34055			}
34056		case "writeBatchTimeout":
34057			if v != nil {
34058				var writeBatchTimeout interface{}
34059				err = json.Unmarshal(*v, &writeBatchTimeout)
34060				if err != nil {
34061					return err
34062				}
34063				ats.WriteBatchTimeout = writeBatchTimeout
34064			}
34065		case "sinkRetryCount":
34066			if v != nil {
34067				var sinkRetryCount interface{}
34068				err = json.Unmarshal(*v, &sinkRetryCount)
34069				if err != nil {
34070					return err
34071				}
34072				ats.SinkRetryCount = sinkRetryCount
34073			}
34074		case "sinkRetryWait":
34075			if v != nil {
34076				var sinkRetryWait interface{}
34077				err = json.Unmarshal(*v, &sinkRetryWait)
34078				if err != nil {
34079					return err
34080				}
34081				ats.SinkRetryWait = sinkRetryWait
34082			}
34083		case "maxConcurrentConnections":
34084			if v != nil {
34085				var maxConcurrentConnections interface{}
34086				err = json.Unmarshal(*v, &maxConcurrentConnections)
34087				if err != nil {
34088					return err
34089				}
34090				ats.MaxConcurrentConnections = maxConcurrentConnections
34091			}
34092		case "type":
34093			if v != nil {
34094				var typeVar TypeBasicCopySink
34095				err = json.Unmarshal(*v, &typeVar)
34096				if err != nil {
34097					return err
34098				}
34099				ats.Type = typeVar
34100			}
34101		}
34102	}
34103
34104	return nil
34105}
34106
34107// AzureTableSource a copy activity Azure Table source.
34108type AzureTableSource struct {
34109	// AzureTableSourceQuery - Azure Table source query. Type: string (or Expression with resultType string).
34110	AzureTableSourceQuery interface{} `json:"azureTableSourceQuery,omitempty"`
34111	// AzureTableSourceIgnoreTableNotFound - Azure Table source ignore table not found. Type: boolean (or Expression with resultType boolean).
34112	AzureTableSourceIgnoreTableNotFound interface{} `json:"azureTableSourceIgnoreTableNotFound,omitempty"`
34113	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
34114	AdditionalProperties map[string]interface{} `json:""`
34115	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
34116	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
34117	// 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])).
34118	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
34119	// MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer).
34120	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
34121	// Type - Possible values include: 'TypeCopySource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', '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', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeCassandraSource', 'TypeWebSource', 'TypeTeradataSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeAzureMySQLSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeRestSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceServiceCloudSource', 'TypeSalesforceSource', 'TypeODataSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeMicrosoftAccessSource', 'TypeInformixSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAzureTableSource', 'TypeBinarySource', 'TypeDelimitedTextSource', 'TypeParquetSource'
34122	Type TypeBasicCopySource `json:"type,omitempty"`
34123}
34124
34125// MarshalJSON is the custom marshaler for AzureTableSource.
34126func (ats AzureTableSource) MarshalJSON() ([]byte, error) {
34127	ats.Type = TypeAzureTableSource
34128	objectMap := make(map[string]interface{})
34129	if ats.AzureTableSourceQuery != nil {
34130		objectMap["azureTableSourceQuery"] = ats.AzureTableSourceQuery
34131	}
34132	if ats.AzureTableSourceIgnoreTableNotFound != nil {
34133		objectMap["azureTableSourceIgnoreTableNotFound"] = ats.AzureTableSourceIgnoreTableNotFound
34134	}
34135	if ats.SourceRetryCount != nil {
34136		objectMap["sourceRetryCount"] = ats.SourceRetryCount
34137	}
34138	if ats.SourceRetryWait != nil {
34139		objectMap["sourceRetryWait"] = ats.SourceRetryWait
34140	}
34141	if ats.MaxConcurrentConnections != nil {
34142		objectMap["maxConcurrentConnections"] = ats.MaxConcurrentConnections
34143	}
34144	if ats.Type != "" {
34145		objectMap["type"] = ats.Type
34146	}
34147	for k, v := range ats.AdditionalProperties {
34148		objectMap[k] = v
34149	}
34150	return json.Marshal(objectMap)
34151}
34152
34153// AsAmazonRedshiftSource is the BasicCopySource implementation for AzureTableSource.
34154func (ats AzureTableSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
34155	return nil, false
34156}
34157
34158// AsGoogleAdWordsSource is the BasicCopySource implementation for AzureTableSource.
34159func (ats AzureTableSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) {
34160	return nil, false
34161}
34162
34163// AsOracleServiceCloudSource is the BasicCopySource implementation for AzureTableSource.
34164func (ats AzureTableSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) {
34165	return nil, false
34166}
34167
34168// AsDynamicsAXSource is the BasicCopySource implementation for AzureTableSource.
34169func (ats AzureTableSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) {
34170	return nil, false
34171}
34172
34173// AsResponsysSource is the BasicCopySource implementation for AzureTableSource.
34174func (ats AzureTableSource) AsResponsysSource() (*ResponsysSource, bool) {
34175	return nil, false
34176}
34177
34178// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for AzureTableSource.
34179func (ats AzureTableSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
34180	return nil, false
34181}
34182
34183// AsVerticaSource is the BasicCopySource implementation for AzureTableSource.
34184func (ats AzureTableSource) AsVerticaSource() (*VerticaSource, bool) {
34185	return nil, false
34186}
34187
34188// AsNetezzaSource is the BasicCopySource implementation for AzureTableSource.
34189func (ats AzureTableSource) AsNetezzaSource() (*NetezzaSource, bool) {
34190	return nil, false
34191}
34192
34193// AsZohoSource is the BasicCopySource implementation for AzureTableSource.
34194func (ats AzureTableSource) AsZohoSource() (*ZohoSource, bool) {
34195	return nil, false
34196}
34197
34198// AsXeroSource is the BasicCopySource implementation for AzureTableSource.
34199func (ats AzureTableSource) AsXeroSource() (*XeroSource, bool) {
34200	return nil, false
34201}
34202
34203// AsSquareSource is the BasicCopySource implementation for AzureTableSource.
34204func (ats AzureTableSource) AsSquareSource() (*SquareSource, bool) {
34205	return nil, false
34206}
34207
34208// AsSparkSource is the BasicCopySource implementation for AzureTableSource.
34209func (ats AzureTableSource) AsSparkSource() (*SparkSource, bool) {
34210	return nil, false
34211}
34212
34213// AsShopifySource is the BasicCopySource implementation for AzureTableSource.
34214func (ats AzureTableSource) AsShopifySource() (*ShopifySource, bool) {
34215	return nil, false
34216}
34217
34218// AsServiceNowSource is the BasicCopySource implementation for AzureTableSource.
34219func (ats AzureTableSource) AsServiceNowSource() (*ServiceNowSource, bool) {
34220	return nil, false
34221}
34222
34223// AsQuickBooksSource is the BasicCopySource implementation for AzureTableSource.
34224func (ats AzureTableSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
34225	return nil, false
34226}
34227
34228// AsPrestoSource is the BasicCopySource implementation for AzureTableSource.
34229func (ats AzureTableSource) AsPrestoSource() (*PrestoSource, bool) {
34230	return nil, false
34231}
34232
34233// AsPhoenixSource is the BasicCopySource implementation for AzureTableSource.
34234func (ats AzureTableSource) AsPhoenixSource() (*PhoenixSource, bool) {
34235	return nil, false
34236}
34237
34238// AsPaypalSource is the BasicCopySource implementation for AzureTableSource.
34239func (ats AzureTableSource) AsPaypalSource() (*PaypalSource, bool) {
34240	return nil, false
34241}
34242
34243// AsMarketoSource is the BasicCopySource implementation for AzureTableSource.
34244func (ats AzureTableSource) AsMarketoSource() (*MarketoSource, bool) {
34245	return nil, false
34246}
34247
34248// AsMariaDBSource is the BasicCopySource implementation for AzureTableSource.
34249func (ats AzureTableSource) AsMariaDBSource() (*MariaDBSource, bool) {
34250	return nil, false
34251}
34252
34253// AsMagentoSource is the BasicCopySource implementation for AzureTableSource.
34254func (ats AzureTableSource) AsMagentoSource() (*MagentoSource, bool) {
34255	return nil, false
34256}
34257
34258// AsJiraSource is the BasicCopySource implementation for AzureTableSource.
34259func (ats AzureTableSource) AsJiraSource() (*JiraSource, bool) {
34260	return nil, false
34261}
34262
34263// AsImpalaSource is the BasicCopySource implementation for AzureTableSource.
34264func (ats AzureTableSource) AsImpalaSource() (*ImpalaSource, bool) {
34265	return nil, false
34266}
34267
34268// AsHubspotSource is the BasicCopySource implementation for AzureTableSource.
34269func (ats AzureTableSource) AsHubspotSource() (*HubspotSource, bool) {
34270	return nil, false
34271}
34272
34273// AsHiveSource is the BasicCopySource implementation for AzureTableSource.
34274func (ats AzureTableSource) AsHiveSource() (*HiveSource, bool) {
34275	return nil, false
34276}
34277
34278// AsHBaseSource is the BasicCopySource implementation for AzureTableSource.
34279func (ats AzureTableSource) AsHBaseSource() (*HBaseSource, bool) {
34280	return nil, false
34281}
34282
34283// AsGreenplumSource is the BasicCopySource implementation for AzureTableSource.
34284func (ats AzureTableSource) AsGreenplumSource() (*GreenplumSource, bool) {
34285	return nil, false
34286}
34287
34288// AsGoogleBigQuerySource is the BasicCopySource implementation for AzureTableSource.
34289func (ats AzureTableSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
34290	return nil, false
34291}
34292
34293// AsEloquaSource is the BasicCopySource implementation for AzureTableSource.
34294func (ats AzureTableSource) AsEloquaSource() (*EloquaSource, bool) {
34295	return nil, false
34296}
34297
34298// AsDrillSource is the BasicCopySource implementation for AzureTableSource.
34299func (ats AzureTableSource) AsDrillSource() (*DrillSource, bool) {
34300	return nil, false
34301}
34302
34303// AsCouchbaseSource is the BasicCopySource implementation for AzureTableSource.
34304func (ats AzureTableSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
34305	return nil, false
34306}
34307
34308// AsConcurSource is the BasicCopySource implementation for AzureTableSource.
34309func (ats AzureTableSource) AsConcurSource() (*ConcurSource, bool) {
34310	return nil, false
34311}
34312
34313// AsAzurePostgreSQLSource is the BasicCopySource implementation for AzureTableSource.
34314func (ats AzureTableSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
34315	return nil, false
34316}
34317
34318// AsAmazonMWSSource is the BasicCopySource implementation for AzureTableSource.
34319func (ats AzureTableSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
34320	return nil, false
34321}
34322
34323// AsHTTPSource is the BasicCopySource implementation for AzureTableSource.
34324func (ats AzureTableSource) AsHTTPSource() (*HTTPSource, bool) {
34325	return nil, false
34326}
34327
34328// AsAzureBlobFSSource is the BasicCopySource implementation for AzureTableSource.
34329func (ats AzureTableSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) {
34330	return nil, false
34331}
34332
34333// AsAzureDataLakeStoreSource is the BasicCopySource implementation for AzureTableSource.
34334func (ats AzureTableSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
34335	return nil, false
34336}
34337
34338// AsOffice365Source is the BasicCopySource implementation for AzureTableSource.
34339func (ats AzureTableSource) AsOffice365Source() (*Office365Source, bool) {
34340	return nil, false
34341}
34342
34343// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for AzureTableSource.
34344func (ats AzureTableSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) {
34345	return nil, false
34346}
34347
34348// AsMongoDbV2Source is the BasicCopySource implementation for AzureTableSource.
34349func (ats AzureTableSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) {
34350	return nil, false
34351}
34352
34353// AsMongoDbSource is the BasicCopySource implementation for AzureTableSource.
34354func (ats AzureTableSource) AsMongoDbSource() (*MongoDbSource, bool) {
34355	return nil, false
34356}
34357
34358// AsCassandraSource is the BasicCopySource implementation for AzureTableSource.
34359func (ats AzureTableSource) AsCassandraSource() (*CassandraSource, bool) {
34360	return nil, false
34361}
34362
34363// AsWebSource is the BasicCopySource implementation for AzureTableSource.
34364func (ats AzureTableSource) AsWebSource() (*WebSource, bool) {
34365	return nil, false
34366}
34367
34368// AsTeradataSource is the BasicCopySource implementation for AzureTableSource.
34369func (ats AzureTableSource) AsTeradataSource() (*TeradataSource, bool) {
34370	return nil, false
34371}
34372
34373// AsOracleSource is the BasicCopySource implementation for AzureTableSource.
34374func (ats AzureTableSource) AsOracleSource() (*OracleSource, bool) {
34375	return nil, false
34376}
34377
34378// AsAzureDataExplorerSource is the BasicCopySource implementation for AzureTableSource.
34379func (ats AzureTableSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) {
34380	return nil, false
34381}
34382
34383// AsAzureMySQLSource is the BasicCopySource implementation for AzureTableSource.
34384func (ats AzureTableSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
34385	return nil, false
34386}
34387
34388// AsHdfsSource is the BasicCopySource implementation for AzureTableSource.
34389func (ats AzureTableSource) AsHdfsSource() (*HdfsSource, bool) {
34390	return nil, false
34391}
34392
34393// AsFileSystemSource is the BasicCopySource implementation for AzureTableSource.
34394func (ats AzureTableSource) AsFileSystemSource() (*FileSystemSource, bool) {
34395	return nil, false
34396}
34397
34398// AsSQLDWSource is the BasicCopySource implementation for AzureTableSource.
34399func (ats AzureTableSource) AsSQLDWSource() (*SQLDWSource, bool) {
34400	return nil, false
34401}
34402
34403// AsSQLMISource is the BasicCopySource implementation for AzureTableSource.
34404func (ats AzureTableSource) AsSQLMISource() (*SQLMISource, bool) {
34405	return nil, false
34406}
34407
34408// AsAzureSQLSource is the BasicCopySource implementation for AzureTableSource.
34409func (ats AzureTableSource) AsAzureSQLSource() (*AzureSQLSource, bool) {
34410	return nil, false
34411}
34412
34413// AsSQLServerSource is the BasicCopySource implementation for AzureTableSource.
34414func (ats AzureTableSource) AsSQLServerSource() (*SQLServerSource, bool) {
34415	return nil, false
34416}
34417
34418// AsSQLSource is the BasicCopySource implementation for AzureTableSource.
34419func (ats AzureTableSource) AsSQLSource() (*SQLSource, bool) {
34420	return nil, false
34421}
34422
34423// AsRestSource is the BasicCopySource implementation for AzureTableSource.
34424func (ats AzureTableSource) AsRestSource() (*RestSource, bool) {
34425	return nil, false
34426}
34427
34428// AsSapTableSource is the BasicCopySource implementation for AzureTableSource.
34429func (ats AzureTableSource) AsSapTableSource() (*SapTableSource, bool) {
34430	return nil, false
34431}
34432
34433// AsSapOpenHubSource is the BasicCopySource implementation for AzureTableSource.
34434func (ats AzureTableSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) {
34435	return nil, false
34436}
34437
34438// AsSapHanaSource is the BasicCopySource implementation for AzureTableSource.
34439func (ats AzureTableSource) AsSapHanaSource() (*SapHanaSource, bool) {
34440	return nil, false
34441}
34442
34443// AsSapEccSource is the BasicCopySource implementation for AzureTableSource.
34444func (ats AzureTableSource) AsSapEccSource() (*SapEccSource, bool) {
34445	return nil, false
34446}
34447
34448// AsSapCloudForCustomerSource is the BasicCopySource implementation for AzureTableSource.
34449func (ats AzureTableSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
34450	return nil, false
34451}
34452
34453// AsSalesforceServiceCloudSource is the BasicCopySource implementation for AzureTableSource.
34454func (ats AzureTableSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) {
34455	return nil, false
34456}
34457
34458// AsSalesforceSource is the BasicCopySource implementation for AzureTableSource.
34459func (ats AzureTableSource) AsSalesforceSource() (*SalesforceSource, bool) {
34460	return nil, false
34461}
34462
34463// AsODataSource is the BasicCopySource implementation for AzureTableSource.
34464func (ats AzureTableSource) AsODataSource() (*ODataSource, bool) {
34465	return nil, false
34466}
34467
34468// AsSybaseSource is the BasicCopySource implementation for AzureTableSource.
34469func (ats AzureTableSource) AsSybaseSource() (*SybaseSource, bool) {
34470	return nil, false
34471}
34472
34473// AsPostgreSQLSource is the BasicCopySource implementation for AzureTableSource.
34474func (ats AzureTableSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) {
34475	return nil, false
34476}
34477
34478// AsMySQLSource is the BasicCopySource implementation for AzureTableSource.
34479func (ats AzureTableSource) AsMySQLSource() (*MySQLSource, bool) {
34480	return nil, false
34481}
34482
34483// AsOdbcSource is the BasicCopySource implementation for AzureTableSource.
34484func (ats AzureTableSource) AsOdbcSource() (*OdbcSource, bool) {
34485	return nil, false
34486}
34487
34488// AsDb2Source is the BasicCopySource implementation for AzureTableSource.
34489func (ats AzureTableSource) AsDb2Source() (*Db2Source, bool) {
34490	return nil, false
34491}
34492
34493// AsMicrosoftAccessSource is the BasicCopySource implementation for AzureTableSource.
34494func (ats AzureTableSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) {
34495	return nil, false
34496}
34497
34498// AsInformixSource is the BasicCopySource implementation for AzureTableSource.
34499func (ats AzureTableSource) AsInformixSource() (*InformixSource, bool) {
34500	return nil, false
34501}
34502
34503// AsRelationalSource is the BasicCopySource implementation for AzureTableSource.
34504func (ats AzureTableSource) AsRelationalSource() (*RelationalSource, bool) {
34505	return nil, false
34506}
34507
34508// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for AzureTableSource.
34509func (ats AzureTableSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) {
34510	return nil, false
34511}
34512
34513// AsDynamicsCrmSource is the BasicCopySource implementation for AzureTableSource.
34514func (ats AzureTableSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) {
34515	return nil, false
34516}
34517
34518// AsDynamicsSource is the BasicCopySource implementation for AzureTableSource.
34519func (ats AzureTableSource) AsDynamicsSource() (*DynamicsSource, bool) {
34520	return nil, false
34521}
34522
34523// AsDocumentDbCollectionSource is the BasicCopySource implementation for AzureTableSource.
34524func (ats AzureTableSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
34525	return nil, false
34526}
34527
34528// AsBlobSource is the BasicCopySource implementation for AzureTableSource.
34529func (ats AzureTableSource) AsBlobSource() (*BlobSource, bool) {
34530	return nil, false
34531}
34532
34533// AsAzureTableSource is the BasicCopySource implementation for AzureTableSource.
34534func (ats AzureTableSource) AsAzureTableSource() (*AzureTableSource, bool) {
34535	return &ats, true
34536}
34537
34538// AsBinarySource is the BasicCopySource implementation for AzureTableSource.
34539func (ats AzureTableSource) AsBinarySource() (*BinarySource, bool) {
34540	return nil, false
34541}
34542
34543// AsDelimitedTextSource is the BasicCopySource implementation for AzureTableSource.
34544func (ats AzureTableSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) {
34545	return nil, false
34546}
34547
34548// AsParquetSource is the BasicCopySource implementation for AzureTableSource.
34549func (ats AzureTableSource) AsParquetSource() (*ParquetSource, bool) {
34550	return nil, false
34551}
34552
34553// AsCopySource is the BasicCopySource implementation for AzureTableSource.
34554func (ats AzureTableSource) AsCopySource() (*CopySource, bool) {
34555	return nil, false
34556}
34557
34558// AsBasicCopySource is the BasicCopySource implementation for AzureTableSource.
34559func (ats AzureTableSource) AsBasicCopySource() (BasicCopySource, bool) {
34560	return &ats, true
34561}
34562
34563// UnmarshalJSON is the custom unmarshaler for AzureTableSource struct.
34564func (ats *AzureTableSource) UnmarshalJSON(body []byte) error {
34565	var m map[string]*json.RawMessage
34566	err := json.Unmarshal(body, &m)
34567	if err != nil {
34568		return err
34569	}
34570	for k, v := range m {
34571		switch k {
34572		case "azureTableSourceQuery":
34573			if v != nil {
34574				var azureTableSourceQuery interface{}
34575				err = json.Unmarshal(*v, &azureTableSourceQuery)
34576				if err != nil {
34577					return err
34578				}
34579				ats.AzureTableSourceQuery = azureTableSourceQuery
34580			}
34581		case "azureTableSourceIgnoreTableNotFound":
34582			if v != nil {
34583				var azureTableSourceIgnoreTableNotFound interface{}
34584				err = json.Unmarshal(*v, &azureTableSourceIgnoreTableNotFound)
34585				if err != nil {
34586					return err
34587				}
34588				ats.AzureTableSourceIgnoreTableNotFound = azureTableSourceIgnoreTableNotFound
34589			}
34590		default:
34591			if v != nil {
34592				var additionalProperties interface{}
34593				err = json.Unmarshal(*v, &additionalProperties)
34594				if err != nil {
34595					return err
34596				}
34597				if ats.AdditionalProperties == nil {
34598					ats.AdditionalProperties = make(map[string]interface{})
34599				}
34600				ats.AdditionalProperties[k] = additionalProperties
34601			}
34602		case "sourceRetryCount":
34603			if v != nil {
34604				var sourceRetryCount interface{}
34605				err = json.Unmarshal(*v, &sourceRetryCount)
34606				if err != nil {
34607					return err
34608				}
34609				ats.SourceRetryCount = sourceRetryCount
34610			}
34611		case "sourceRetryWait":
34612			if v != nil {
34613				var sourceRetryWait interface{}
34614				err = json.Unmarshal(*v, &sourceRetryWait)
34615				if err != nil {
34616					return err
34617				}
34618				ats.SourceRetryWait = sourceRetryWait
34619			}
34620		case "maxConcurrentConnections":
34621			if v != nil {
34622				var maxConcurrentConnections interface{}
34623				err = json.Unmarshal(*v, &maxConcurrentConnections)
34624				if err != nil {
34625					return err
34626				}
34627				ats.MaxConcurrentConnections = maxConcurrentConnections
34628			}
34629		case "type":
34630			if v != nil {
34631				var typeVar TypeBasicCopySource
34632				err = json.Unmarshal(*v, &typeVar)
34633				if err != nil {
34634					return err
34635				}
34636				ats.Type = typeVar
34637			}
34638		}
34639	}
34640
34641	return nil
34642}
34643
34644// AzureTableStorageLinkedService the azure table storage linked service.
34645type AzureTableStorageLinkedService struct {
34646	// AzureStorageLinkedServiceTypeProperties - Azure Table Storage linked service properties.
34647	*AzureStorageLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
34648	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
34649	AdditionalProperties map[string]interface{} `json:""`
34650	// ConnectVia - The integration runtime reference.
34651	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
34652	// Description - Linked service description.
34653	Description *string `json:"description,omitempty"`
34654	// Parameters - Parameters for linked service.
34655	Parameters map[string]*ParameterSpecification `json:"parameters"`
34656	// Annotations - List of tags that can be used for describing the linked service.
34657	Annotations *[]interface{} `json:"annotations,omitempty"`
34658	// Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', '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', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage'
34659	Type TypeBasicLinkedService `json:"type,omitempty"`
34660}
34661
34662// MarshalJSON is the custom marshaler for AzureTableStorageLinkedService.
34663func (atsls AzureTableStorageLinkedService) MarshalJSON() ([]byte, error) {
34664	atsls.Type = TypeAzureTableStorage
34665	objectMap := make(map[string]interface{})
34666	if atsls.AzureStorageLinkedServiceTypeProperties != nil {
34667		objectMap["typeProperties"] = atsls.AzureStorageLinkedServiceTypeProperties
34668	}
34669	if atsls.ConnectVia != nil {
34670		objectMap["connectVia"] = atsls.ConnectVia
34671	}
34672	if atsls.Description != nil {
34673		objectMap["description"] = atsls.Description
34674	}
34675	if atsls.Parameters != nil {
34676		objectMap["parameters"] = atsls.Parameters
34677	}
34678	if atsls.Annotations != nil {
34679		objectMap["annotations"] = atsls.Annotations
34680	}
34681	if atsls.Type != "" {
34682		objectMap["type"] = atsls.Type
34683	}
34684	for k, v := range atsls.AdditionalProperties {
34685		objectMap[k] = v
34686	}
34687	return json.Marshal(objectMap)
34688}
34689
34690// AsAzureFunctionLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService.
34691func (atsls AzureTableStorageLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) {
34692	return nil, false
34693}
34694
34695// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService.
34696func (atsls AzureTableStorageLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) {
34697	return nil, false
34698}
34699
34700// AsSapTableLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService.
34701func (atsls AzureTableStorageLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) {
34702	return nil, false
34703}
34704
34705// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService.
34706func (atsls AzureTableStorageLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) {
34707	return nil, false
34708}
34709
34710// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService.
34711func (atsls AzureTableStorageLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) {
34712	return nil, false
34713}
34714
34715// AsDynamicsAXLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService.
34716func (atsls AzureTableStorageLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) {
34717	return nil, false
34718}
34719
34720// AsResponsysLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService.
34721func (atsls AzureTableStorageLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
34722	return nil, false
34723}
34724
34725// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService.
34726func (atsls AzureTableStorageLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
34727	return nil, false
34728}
34729
34730// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService.
34731func (atsls AzureTableStorageLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
34732	return nil, false
34733}
34734
34735// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService.
34736func (atsls AzureTableStorageLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
34737	return nil, false
34738}
34739
34740// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService.
34741func (atsls AzureTableStorageLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
34742	return nil, false
34743}
34744
34745// AsNetezzaLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService.
34746func (atsls AzureTableStorageLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
34747	return nil, false
34748}
34749
34750// AsVerticaLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService.
34751func (atsls AzureTableStorageLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
34752	return nil, false
34753}
34754
34755// AsZohoLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService.
34756func (atsls AzureTableStorageLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
34757	return nil, false
34758}
34759
34760// AsXeroLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService.
34761func (atsls AzureTableStorageLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
34762	return nil, false
34763}
34764
34765// AsSquareLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService.
34766func (atsls AzureTableStorageLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
34767	return nil, false
34768}
34769
34770// AsSparkLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService.
34771func (atsls AzureTableStorageLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
34772	return nil, false
34773}
34774
34775// AsShopifyLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService.
34776func (atsls AzureTableStorageLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
34777	return nil, false
34778}
34779
34780// AsServiceNowLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService.
34781func (atsls AzureTableStorageLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
34782	return nil, false
34783}
34784
34785// AsQuickBooksLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService.
34786func (atsls AzureTableStorageLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
34787	return nil, false
34788}
34789
34790// AsPrestoLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService.
34791func (atsls AzureTableStorageLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
34792	return nil, false
34793}
34794
34795// AsPhoenixLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService.
34796func (atsls AzureTableStorageLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
34797	return nil, false
34798}
34799
34800// AsPaypalLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService.
34801func (atsls AzureTableStorageLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
34802	return nil, false
34803}
34804
34805// AsMarketoLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService.
34806func (atsls AzureTableStorageLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
34807	return nil, false
34808}
34809
34810// AsMariaDBLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService.
34811func (atsls AzureTableStorageLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
34812	return nil, false
34813}
34814
34815// AsMagentoLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService.
34816func (atsls AzureTableStorageLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
34817	return nil, false
34818}
34819
34820// AsJiraLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService.
34821func (atsls AzureTableStorageLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
34822	return nil, false
34823}
34824
34825// AsImpalaLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService.
34826func (atsls AzureTableStorageLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
34827	return nil, false
34828}
34829
34830// AsHubspotLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService.
34831func (atsls AzureTableStorageLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
34832	return nil, false
34833}
34834
34835// AsHiveLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService.
34836func (atsls AzureTableStorageLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
34837	return nil, false
34838}
34839
34840// AsHBaseLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService.
34841func (atsls AzureTableStorageLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
34842	return nil, false
34843}
34844
34845// AsGreenplumLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService.
34846func (atsls AzureTableStorageLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
34847	return nil, false
34848}
34849
34850// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService.
34851func (atsls AzureTableStorageLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
34852	return nil, false
34853}
34854
34855// AsEloquaLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService.
34856func (atsls AzureTableStorageLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
34857	return nil, false
34858}
34859
34860// AsDrillLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService.
34861func (atsls AzureTableStorageLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
34862	return nil, false
34863}
34864
34865// AsCouchbaseLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService.
34866func (atsls AzureTableStorageLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
34867	return nil, false
34868}
34869
34870// AsConcurLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService.
34871func (atsls AzureTableStorageLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
34872	return nil, false
34873}
34874
34875// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService.
34876func (atsls AzureTableStorageLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
34877	return nil, false
34878}
34879
34880// AsAmazonMWSLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService.
34881func (atsls AzureTableStorageLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
34882	return nil, false
34883}
34884
34885// AsSapHanaLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService.
34886func (atsls AzureTableStorageLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
34887	return nil, false
34888}
34889
34890// AsSapBWLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService.
34891func (atsls AzureTableStorageLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
34892	return nil, false
34893}
34894
34895// AsSftpServerLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService.
34896func (atsls AzureTableStorageLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
34897	return nil, false
34898}
34899
34900// AsFtpServerLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService.
34901func (atsls AzureTableStorageLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
34902	return nil, false
34903}
34904
34905// AsHTTPLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService.
34906func (atsls AzureTableStorageLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
34907	return nil, false
34908}
34909
34910// AsAzureSearchLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService.
34911func (atsls AzureTableStorageLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
34912	return nil, false
34913}
34914
34915// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService.
34916func (atsls AzureTableStorageLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
34917	return nil, false
34918}
34919
34920// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService.
34921func (atsls AzureTableStorageLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
34922	return nil, false
34923}
34924
34925// AsAmazonS3LinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService.
34926func (atsls AzureTableStorageLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
34927	return nil, false
34928}
34929
34930// AsRestServiceLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService.
34931func (atsls AzureTableStorageLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) {
34932	return nil, false
34933}
34934
34935// AsSapOpenHubLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService.
34936func (atsls AzureTableStorageLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) {
34937	return nil, false
34938}
34939
34940// AsSapEccLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService.
34941func (atsls AzureTableStorageLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
34942	return nil, false
34943}
34944
34945// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService.
34946func (atsls AzureTableStorageLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
34947	return nil, false
34948}
34949
34950// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService.
34951func (atsls AzureTableStorageLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) {
34952	return nil, false
34953}
34954
34955// AsSalesforceLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService.
34956func (atsls AzureTableStorageLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
34957	return nil, false
34958}
34959
34960// AsOffice365LinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService.
34961func (atsls AzureTableStorageLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) {
34962	return nil, false
34963}
34964
34965// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService.
34966func (atsls AzureTableStorageLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) {
34967	return nil, false
34968}
34969
34970// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService.
34971func (atsls AzureTableStorageLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
34972	return nil, false
34973}
34974
34975// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService.
34976func (atsls AzureTableStorageLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) {
34977	return nil, false
34978}
34979
34980// AsMongoDbV2LinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService.
34981func (atsls AzureTableStorageLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) {
34982	return nil, false
34983}
34984
34985// AsMongoDbLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService.
34986func (atsls AzureTableStorageLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
34987	return nil, false
34988}
34989
34990// AsCassandraLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService.
34991func (atsls AzureTableStorageLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
34992	return nil, false
34993}
34994
34995// AsWebLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService.
34996func (atsls AzureTableStorageLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
34997	return nil, false
34998}
34999
35000// AsODataLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService.
35001func (atsls AzureTableStorageLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
35002	return nil, false
35003}
35004
35005// AsHdfsLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService.
35006func (atsls AzureTableStorageLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
35007	return nil, false
35008}
35009
35010// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService.
35011func (atsls AzureTableStorageLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) {
35012	return nil, false
35013}
35014
35015// AsInformixLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService.
35016func (atsls AzureTableStorageLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) {
35017	return nil, false
35018}
35019
35020// AsOdbcLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService.
35021func (atsls AzureTableStorageLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
35022	return nil, false
35023}
35024
35025// AsAzureMLLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService.
35026func (atsls AzureTableStorageLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
35027	return nil, false
35028}
35029
35030// AsTeradataLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService.
35031func (atsls AzureTableStorageLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
35032	return nil, false
35033}
35034
35035// AsDb2LinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService.
35036func (atsls AzureTableStorageLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
35037	return nil, false
35038}
35039
35040// AsSybaseLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService.
35041func (atsls AzureTableStorageLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
35042	return nil, false
35043}
35044
35045// AsPostgreSQLLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService.
35046func (atsls AzureTableStorageLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
35047	return nil, false
35048}
35049
35050// AsMySQLLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService.
35051func (atsls AzureTableStorageLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
35052	return nil, false
35053}
35054
35055// AsAzureMySQLLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService.
35056func (atsls AzureTableStorageLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
35057	return nil, false
35058}
35059
35060// AsOracleLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService.
35061func (atsls AzureTableStorageLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
35062	return nil, false
35063}
35064
35065// AsFileServerLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService.
35066func (atsls AzureTableStorageLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
35067	return nil, false
35068}
35069
35070// AsHDInsightLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService.
35071func (atsls AzureTableStorageLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
35072	return nil, false
35073}
35074
35075// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService.
35076func (atsls AzureTableStorageLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) {
35077	return nil, false
35078}
35079
35080// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService.
35081func (atsls AzureTableStorageLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) {
35082	return nil, false
35083}
35084
35085// AsDynamicsLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService.
35086func (atsls AzureTableStorageLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
35087	return nil, false
35088}
35089
35090// AsCosmosDbLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService.
35091func (atsls AzureTableStorageLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
35092	return nil, false
35093}
35094
35095// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService.
35096func (atsls AzureTableStorageLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
35097	return nil, false
35098}
35099
35100// AsAzureBatchLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService.
35101func (atsls AzureTableStorageLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
35102	return nil, false
35103}
35104
35105// AsAzureSQLMILinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService.
35106func (atsls AzureTableStorageLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) {
35107	return nil, false
35108}
35109
35110// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService.
35111func (atsls AzureTableStorageLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
35112	return nil, false
35113}
35114
35115// AsSQLServerLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService.
35116func (atsls AzureTableStorageLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
35117	return nil, false
35118}
35119
35120// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService.
35121func (atsls AzureTableStorageLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
35122	return nil, false
35123}
35124
35125// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService.
35126func (atsls AzureTableStorageLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) {
35127	return &atsls, true
35128}
35129
35130// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService.
35131func (atsls AzureTableStorageLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) {
35132	return nil, false
35133}
35134
35135// AsAzureStorageLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService.
35136func (atsls AzureTableStorageLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
35137	return nil, false
35138}
35139
35140// AsLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService.
35141func (atsls AzureTableStorageLinkedService) AsLinkedService() (*LinkedService, bool) {
35142	return nil, false
35143}
35144
35145// AsBasicLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService.
35146func (atsls AzureTableStorageLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
35147	return &atsls, true
35148}
35149
35150// UnmarshalJSON is the custom unmarshaler for AzureTableStorageLinkedService struct.
35151func (atsls *AzureTableStorageLinkedService) UnmarshalJSON(body []byte) error {
35152	var m map[string]*json.RawMessage
35153	err := json.Unmarshal(body, &m)
35154	if err != nil {
35155		return err
35156	}
35157	for k, v := range m {
35158		switch k {
35159		case "typeProperties":
35160			if v != nil {
35161				var azureStorageLinkedServiceTypeProperties AzureStorageLinkedServiceTypeProperties
35162				err = json.Unmarshal(*v, &azureStorageLinkedServiceTypeProperties)
35163				if err != nil {
35164					return err
35165				}
35166				atsls.AzureStorageLinkedServiceTypeProperties = &azureStorageLinkedServiceTypeProperties
35167			}
35168		default:
35169			if v != nil {
35170				var additionalProperties interface{}
35171				err = json.Unmarshal(*v, &additionalProperties)
35172				if err != nil {
35173					return err
35174				}
35175				if atsls.AdditionalProperties == nil {
35176					atsls.AdditionalProperties = make(map[string]interface{})
35177				}
35178				atsls.AdditionalProperties[k] = additionalProperties
35179			}
35180		case "connectVia":
35181			if v != nil {
35182				var connectVia IntegrationRuntimeReference
35183				err = json.Unmarshal(*v, &connectVia)
35184				if err != nil {
35185					return err
35186				}
35187				atsls.ConnectVia = &connectVia
35188			}
35189		case "description":
35190			if v != nil {
35191				var description string
35192				err = json.Unmarshal(*v, &description)
35193				if err != nil {
35194					return err
35195				}
35196				atsls.Description = &description
35197			}
35198		case "parameters":
35199			if v != nil {
35200				var parameters map[string]*ParameterSpecification
35201				err = json.Unmarshal(*v, &parameters)
35202				if err != nil {
35203					return err
35204				}
35205				atsls.Parameters = parameters
35206			}
35207		case "annotations":
35208			if v != nil {
35209				var annotations []interface{}
35210				err = json.Unmarshal(*v, &annotations)
35211				if err != nil {
35212					return err
35213				}
35214				atsls.Annotations = &annotations
35215			}
35216		case "type":
35217			if v != nil {
35218				var typeVar TypeBasicLinkedService
35219				err = json.Unmarshal(*v, &typeVar)
35220				if err != nil {
35221					return err
35222				}
35223				atsls.Type = typeVar
35224			}
35225		}
35226	}
35227
35228	return nil
35229}
35230
35231// BinaryDataset binary dataset.
35232type BinaryDataset struct {
35233	// BinaryDatasetTypeProperties - Binary dataset properties.
35234	*BinaryDatasetTypeProperties `json:"typeProperties,omitempty"`
35235	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
35236	AdditionalProperties map[string]interface{} `json:""`
35237	// Description - Dataset description.
35238	Description *string `json:"description,omitempty"`
35239	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
35240	Structure interface{} `json:"structure,omitempty"`
35241	// Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement.
35242	Schema interface{} `json:"schema,omitempty"`
35243	// LinkedServiceName - Linked service reference.
35244	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
35245	// Parameters - Parameters for dataset.
35246	Parameters map[string]*ParameterSpecification `json:"parameters"`
35247	// Annotations - List of tags that can be used for describing the Dataset.
35248	Annotations *[]interface{} `json:"annotations,omitempty"`
35249	// Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level.
35250	Folder *DatasetFolder `json:"folder,omitempty"`
35251	// Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', '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', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeDelimitedText', 'TypeParquet', 'TypeAmazonS3Object'
35252	Type TypeBasicDataset `json:"type,omitempty"`
35253}
35254
35255// MarshalJSON is the custom marshaler for BinaryDataset.
35256func (bd BinaryDataset) MarshalJSON() ([]byte, error) {
35257	bd.Type = TypeBinary
35258	objectMap := make(map[string]interface{})
35259	if bd.BinaryDatasetTypeProperties != nil {
35260		objectMap["typeProperties"] = bd.BinaryDatasetTypeProperties
35261	}
35262	if bd.Description != nil {
35263		objectMap["description"] = bd.Description
35264	}
35265	if bd.Structure != nil {
35266		objectMap["structure"] = bd.Structure
35267	}
35268	if bd.Schema != nil {
35269		objectMap["schema"] = bd.Schema
35270	}
35271	if bd.LinkedServiceName != nil {
35272		objectMap["linkedServiceName"] = bd.LinkedServiceName
35273	}
35274	if bd.Parameters != nil {
35275		objectMap["parameters"] = bd.Parameters
35276	}
35277	if bd.Annotations != nil {
35278		objectMap["annotations"] = bd.Annotations
35279	}
35280	if bd.Folder != nil {
35281		objectMap["folder"] = bd.Folder
35282	}
35283	if bd.Type != "" {
35284		objectMap["type"] = bd.Type
35285	}
35286	for k, v := range bd.AdditionalProperties {
35287		objectMap[k] = v
35288	}
35289	return json.Marshal(objectMap)
35290}
35291
35292// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for BinaryDataset.
35293func (bd BinaryDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) {
35294	return nil, false
35295}
35296
35297// AsAzureDataExplorerTableDataset is the BasicDataset implementation for BinaryDataset.
35298func (bd BinaryDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) {
35299	return nil, false
35300}
35301
35302// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for BinaryDataset.
35303func (bd BinaryDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) {
35304	return nil, false
35305}
35306
35307// AsDynamicsAXResourceDataset is the BasicDataset implementation for BinaryDataset.
35308func (bd BinaryDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) {
35309	return nil, false
35310}
35311
35312// AsResponsysObjectDataset is the BasicDataset implementation for BinaryDataset.
35313func (bd BinaryDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
35314	return nil, false
35315}
35316
35317// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for BinaryDataset.
35318func (bd BinaryDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
35319	return nil, false
35320}
35321
35322// AsVerticaTableDataset is the BasicDataset implementation for BinaryDataset.
35323func (bd BinaryDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
35324	return nil, false
35325}
35326
35327// AsNetezzaTableDataset is the BasicDataset implementation for BinaryDataset.
35328func (bd BinaryDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
35329	return nil, false
35330}
35331
35332// AsZohoObjectDataset is the BasicDataset implementation for BinaryDataset.
35333func (bd BinaryDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
35334	return nil, false
35335}
35336
35337// AsXeroObjectDataset is the BasicDataset implementation for BinaryDataset.
35338func (bd BinaryDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
35339	return nil, false
35340}
35341
35342// AsSquareObjectDataset is the BasicDataset implementation for BinaryDataset.
35343func (bd BinaryDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
35344	return nil, false
35345}
35346
35347// AsSparkObjectDataset is the BasicDataset implementation for BinaryDataset.
35348func (bd BinaryDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
35349	return nil, false
35350}
35351
35352// AsShopifyObjectDataset is the BasicDataset implementation for BinaryDataset.
35353func (bd BinaryDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
35354	return nil, false
35355}
35356
35357// AsServiceNowObjectDataset is the BasicDataset implementation for BinaryDataset.
35358func (bd BinaryDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
35359	return nil, false
35360}
35361
35362// AsQuickBooksObjectDataset is the BasicDataset implementation for BinaryDataset.
35363func (bd BinaryDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
35364	return nil, false
35365}
35366
35367// AsPrestoObjectDataset is the BasicDataset implementation for BinaryDataset.
35368func (bd BinaryDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
35369	return nil, false
35370}
35371
35372// AsPhoenixObjectDataset is the BasicDataset implementation for BinaryDataset.
35373func (bd BinaryDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
35374	return nil, false
35375}
35376
35377// AsPaypalObjectDataset is the BasicDataset implementation for BinaryDataset.
35378func (bd BinaryDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
35379	return nil, false
35380}
35381
35382// AsMarketoObjectDataset is the BasicDataset implementation for BinaryDataset.
35383func (bd BinaryDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
35384	return nil, false
35385}
35386
35387// AsMariaDBTableDataset is the BasicDataset implementation for BinaryDataset.
35388func (bd BinaryDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
35389	return nil, false
35390}
35391
35392// AsMagentoObjectDataset is the BasicDataset implementation for BinaryDataset.
35393func (bd BinaryDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
35394	return nil, false
35395}
35396
35397// AsJiraObjectDataset is the BasicDataset implementation for BinaryDataset.
35398func (bd BinaryDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
35399	return nil, false
35400}
35401
35402// AsImpalaObjectDataset is the BasicDataset implementation for BinaryDataset.
35403func (bd BinaryDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
35404	return nil, false
35405}
35406
35407// AsHubspotObjectDataset is the BasicDataset implementation for BinaryDataset.
35408func (bd BinaryDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
35409	return nil, false
35410}
35411
35412// AsHiveObjectDataset is the BasicDataset implementation for BinaryDataset.
35413func (bd BinaryDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
35414	return nil, false
35415}
35416
35417// AsHBaseObjectDataset is the BasicDataset implementation for BinaryDataset.
35418func (bd BinaryDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
35419	return nil, false
35420}
35421
35422// AsGreenplumTableDataset is the BasicDataset implementation for BinaryDataset.
35423func (bd BinaryDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
35424	return nil, false
35425}
35426
35427// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for BinaryDataset.
35428func (bd BinaryDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
35429	return nil, false
35430}
35431
35432// AsEloquaObjectDataset is the BasicDataset implementation for BinaryDataset.
35433func (bd BinaryDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
35434	return nil, false
35435}
35436
35437// AsDrillTableDataset is the BasicDataset implementation for BinaryDataset.
35438func (bd BinaryDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
35439	return nil, false
35440}
35441
35442// AsCouchbaseTableDataset is the BasicDataset implementation for BinaryDataset.
35443func (bd BinaryDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
35444	return nil, false
35445}
35446
35447// AsConcurObjectDataset is the BasicDataset implementation for BinaryDataset.
35448func (bd BinaryDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
35449	return nil, false
35450}
35451
35452// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for BinaryDataset.
35453func (bd BinaryDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
35454	return nil, false
35455}
35456
35457// AsAmazonMWSObjectDataset is the BasicDataset implementation for BinaryDataset.
35458func (bd BinaryDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
35459	return nil, false
35460}
35461
35462// AsHTTPDataset is the BasicDataset implementation for BinaryDataset.
35463func (bd BinaryDataset) AsHTTPDataset() (*HTTPDataset, bool) {
35464	return nil, false
35465}
35466
35467// AsAzureSearchIndexDataset is the BasicDataset implementation for BinaryDataset.
35468func (bd BinaryDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
35469	return nil, false
35470}
35471
35472// AsWebTableDataset is the BasicDataset implementation for BinaryDataset.
35473func (bd BinaryDataset) AsWebTableDataset() (*WebTableDataset, bool) {
35474	return nil, false
35475}
35476
35477// AsSapTableResourceDataset is the BasicDataset implementation for BinaryDataset.
35478func (bd BinaryDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) {
35479	return nil, false
35480}
35481
35482// AsRestResourceDataset is the BasicDataset implementation for BinaryDataset.
35483func (bd BinaryDataset) AsRestResourceDataset() (*RestResourceDataset, bool) {
35484	return nil, false
35485}
35486
35487// AsSQLServerTableDataset is the BasicDataset implementation for BinaryDataset.
35488func (bd BinaryDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
35489	return nil, false
35490}
35491
35492// AsSapOpenHubTableDataset is the BasicDataset implementation for BinaryDataset.
35493func (bd BinaryDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) {
35494	return nil, false
35495}
35496
35497// AsSapHanaTableDataset is the BasicDataset implementation for BinaryDataset.
35498func (bd BinaryDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) {
35499	return nil, false
35500}
35501
35502// AsSapEccResourceDataset is the BasicDataset implementation for BinaryDataset.
35503func (bd BinaryDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
35504	return nil, false
35505}
35506
35507// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for BinaryDataset.
35508func (bd BinaryDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
35509	return nil, false
35510}
35511
35512// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for BinaryDataset.
35513func (bd BinaryDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) {
35514	return nil, false
35515}
35516
35517// AsSalesforceObjectDataset is the BasicDataset implementation for BinaryDataset.
35518func (bd BinaryDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
35519	return nil, false
35520}
35521
35522// AsMicrosoftAccessTableDataset is the BasicDataset implementation for BinaryDataset.
35523func (bd BinaryDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) {
35524	return nil, false
35525}
35526
35527// AsPostgreSQLTableDataset is the BasicDataset implementation for BinaryDataset.
35528func (bd BinaryDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) {
35529	return nil, false
35530}
35531
35532// AsMySQLTableDataset is the BasicDataset implementation for BinaryDataset.
35533func (bd BinaryDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) {
35534	return nil, false
35535}
35536
35537// AsOdbcTableDataset is the BasicDataset implementation for BinaryDataset.
35538func (bd BinaryDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) {
35539	return nil, false
35540}
35541
35542// AsInformixTableDataset is the BasicDataset implementation for BinaryDataset.
35543func (bd BinaryDataset) AsInformixTableDataset() (*InformixTableDataset, bool) {
35544	return nil, false
35545}
35546
35547// AsRelationalTableDataset is the BasicDataset implementation for BinaryDataset.
35548func (bd BinaryDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
35549	return nil, false
35550}
35551
35552// AsAzureMySQLTableDataset is the BasicDataset implementation for BinaryDataset.
35553func (bd BinaryDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
35554	return nil, false
35555}
35556
35557// AsTeradataTableDataset is the BasicDataset implementation for BinaryDataset.
35558func (bd BinaryDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) {
35559	return nil, false
35560}
35561
35562// AsOracleTableDataset is the BasicDataset implementation for BinaryDataset.
35563func (bd BinaryDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
35564	return nil, false
35565}
35566
35567// AsODataResourceDataset is the BasicDataset implementation for BinaryDataset.
35568func (bd BinaryDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
35569	return nil, false
35570}
35571
35572// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for BinaryDataset.
35573func (bd BinaryDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) {
35574	return nil, false
35575}
35576
35577// AsMongoDbV2CollectionDataset is the BasicDataset implementation for BinaryDataset.
35578func (bd BinaryDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) {
35579	return nil, false
35580}
35581
35582// AsMongoDbCollectionDataset is the BasicDataset implementation for BinaryDataset.
35583func (bd BinaryDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
35584	return nil, false
35585}
35586
35587// AsFileShareDataset is the BasicDataset implementation for BinaryDataset.
35588func (bd BinaryDataset) AsFileShareDataset() (*FileShareDataset, bool) {
35589	return nil, false
35590}
35591
35592// AsOffice365Dataset is the BasicDataset implementation for BinaryDataset.
35593func (bd BinaryDataset) AsOffice365Dataset() (*Office365Dataset, bool) {
35594	return nil, false
35595}
35596
35597// AsAzureBlobFSDataset is the BasicDataset implementation for BinaryDataset.
35598func (bd BinaryDataset) AsAzureBlobFSDataset() (*AzureBlobFSDataset, bool) {
35599	return nil, false
35600}
35601
35602// AsAzureDataLakeStoreDataset is the BasicDataset implementation for BinaryDataset.
35603func (bd BinaryDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) {
35604	return nil, false
35605}
35606
35607// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for BinaryDataset.
35608func (bd BinaryDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) {
35609	return nil, false
35610}
35611
35612// AsDynamicsCrmEntityDataset is the BasicDataset implementation for BinaryDataset.
35613func (bd BinaryDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) {
35614	return nil, false
35615}
35616
35617// AsDynamicsEntityDataset is the BasicDataset implementation for BinaryDataset.
35618func (bd BinaryDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
35619	return nil, false
35620}
35621
35622// AsDocumentDbCollectionDataset is the BasicDataset implementation for BinaryDataset.
35623func (bd BinaryDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
35624	return nil, false
35625}
35626
35627// AsCustomDataset is the BasicDataset implementation for BinaryDataset.
35628func (bd BinaryDataset) AsCustomDataset() (*CustomDataset, bool) {
35629	return nil, false
35630}
35631
35632// AsCassandraTableDataset is the BasicDataset implementation for BinaryDataset.
35633func (bd BinaryDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
35634	return nil, false
35635}
35636
35637// AsAzureSQLDWTableDataset is the BasicDataset implementation for BinaryDataset.
35638func (bd BinaryDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
35639	return nil, false
35640}
35641
35642// AsAzureSQLMITableDataset is the BasicDataset implementation for BinaryDataset.
35643func (bd BinaryDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) {
35644	return nil, false
35645}
35646
35647// AsAzureSQLTableDataset is the BasicDataset implementation for BinaryDataset.
35648func (bd BinaryDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
35649	return nil, false
35650}
35651
35652// AsAzureTableDataset is the BasicDataset implementation for BinaryDataset.
35653func (bd BinaryDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
35654	return nil, false
35655}
35656
35657// AsAzureBlobDataset is the BasicDataset implementation for BinaryDataset.
35658func (bd BinaryDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) {
35659	return nil, false
35660}
35661
35662// AsBinaryDataset is the BasicDataset implementation for BinaryDataset.
35663func (bd BinaryDataset) AsBinaryDataset() (*BinaryDataset, bool) {
35664	return &bd, true
35665}
35666
35667// AsDelimitedTextDataset is the BasicDataset implementation for BinaryDataset.
35668func (bd BinaryDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) {
35669	return nil, false
35670}
35671
35672// AsParquetDataset is the BasicDataset implementation for BinaryDataset.
35673func (bd BinaryDataset) AsParquetDataset() (*ParquetDataset, bool) {
35674	return nil, false
35675}
35676
35677// AsAmazonS3Dataset is the BasicDataset implementation for BinaryDataset.
35678func (bd BinaryDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) {
35679	return nil, false
35680}
35681
35682// AsDataset is the BasicDataset implementation for BinaryDataset.
35683func (bd BinaryDataset) AsDataset() (*Dataset, bool) {
35684	return nil, false
35685}
35686
35687// AsBasicDataset is the BasicDataset implementation for BinaryDataset.
35688func (bd BinaryDataset) AsBasicDataset() (BasicDataset, bool) {
35689	return &bd, true
35690}
35691
35692// UnmarshalJSON is the custom unmarshaler for BinaryDataset struct.
35693func (bd *BinaryDataset) UnmarshalJSON(body []byte) error {
35694	var m map[string]*json.RawMessage
35695	err := json.Unmarshal(body, &m)
35696	if err != nil {
35697		return err
35698	}
35699	for k, v := range m {
35700		switch k {
35701		case "typeProperties":
35702			if v != nil {
35703				var binaryDatasetTypeProperties BinaryDatasetTypeProperties
35704				err = json.Unmarshal(*v, &binaryDatasetTypeProperties)
35705				if err != nil {
35706					return err
35707				}
35708				bd.BinaryDatasetTypeProperties = &binaryDatasetTypeProperties
35709			}
35710		default:
35711			if v != nil {
35712				var additionalProperties interface{}
35713				err = json.Unmarshal(*v, &additionalProperties)
35714				if err != nil {
35715					return err
35716				}
35717				if bd.AdditionalProperties == nil {
35718					bd.AdditionalProperties = make(map[string]interface{})
35719				}
35720				bd.AdditionalProperties[k] = additionalProperties
35721			}
35722		case "description":
35723			if v != nil {
35724				var description string
35725				err = json.Unmarshal(*v, &description)
35726				if err != nil {
35727					return err
35728				}
35729				bd.Description = &description
35730			}
35731		case "structure":
35732			if v != nil {
35733				var structure interface{}
35734				err = json.Unmarshal(*v, &structure)
35735				if err != nil {
35736					return err
35737				}
35738				bd.Structure = structure
35739			}
35740		case "schema":
35741			if v != nil {
35742				var schema interface{}
35743				err = json.Unmarshal(*v, &schema)
35744				if err != nil {
35745					return err
35746				}
35747				bd.Schema = schema
35748			}
35749		case "linkedServiceName":
35750			if v != nil {
35751				var linkedServiceName LinkedServiceReference
35752				err = json.Unmarshal(*v, &linkedServiceName)
35753				if err != nil {
35754					return err
35755				}
35756				bd.LinkedServiceName = &linkedServiceName
35757			}
35758		case "parameters":
35759			if v != nil {
35760				var parameters map[string]*ParameterSpecification
35761				err = json.Unmarshal(*v, &parameters)
35762				if err != nil {
35763					return err
35764				}
35765				bd.Parameters = parameters
35766			}
35767		case "annotations":
35768			if v != nil {
35769				var annotations []interface{}
35770				err = json.Unmarshal(*v, &annotations)
35771				if err != nil {
35772					return err
35773				}
35774				bd.Annotations = &annotations
35775			}
35776		case "folder":
35777			if v != nil {
35778				var folder DatasetFolder
35779				err = json.Unmarshal(*v, &folder)
35780				if err != nil {
35781					return err
35782				}
35783				bd.Folder = &folder
35784			}
35785		case "type":
35786			if v != nil {
35787				var typeVar TypeBasicDataset
35788				err = json.Unmarshal(*v, &typeVar)
35789				if err != nil {
35790					return err
35791				}
35792				bd.Type = typeVar
35793			}
35794		}
35795	}
35796
35797	return nil
35798}
35799
35800// BinaryDatasetTypeProperties binary dataset properties.
35801type BinaryDatasetTypeProperties struct {
35802	// Location - The location of the Binary storage.
35803	Location *DatasetLocation `json:"location,omitempty"`
35804	// Compression - The data compression method used for the binary dataset.
35805	Compression BasicDatasetCompression `json:"compression,omitempty"`
35806}
35807
35808// UnmarshalJSON is the custom unmarshaler for BinaryDatasetTypeProperties struct.
35809func (bdtp *BinaryDatasetTypeProperties) UnmarshalJSON(body []byte) error {
35810	var m map[string]*json.RawMessage
35811	err := json.Unmarshal(body, &m)
35812	if err != nil {
35813		return err
35814	}
35815	for k, v := range m {
35816		switch k {
35817		case "location":
35818			if v != nil {
35819				var location DatasetLocation
35820				err = json.Unmarshal(*v, &location)
35821				if err != nil {
35822					return err
35823				}
35824				bdtp.Location = &location
35825			}
35826		case "compression":
35827			if v != nil {
35828				compression, err := unmarshalBasicDatasetCompression(*v)
35829				if err != nil {
35830					return err
35831				}
35832				bdtp.Compression = compression
35833			}
35834		}
35835	}
35836
35837	return nil
35838}
35839
35840// BinarySink a copy activity Binary sink.
35841type BinarySink struct {
35842	// StoreSettings - Binary store settings.
35843	StoreSettings *StoreReadSettings `json:"storeSettings,omitempty"`
35844	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
35845	AdditionalProperties map[string]interface{} `json:""`
35846	// WriteBatchSize - Write batch size. Type: integer (or Expression with resultType integer), minimum: 0.
35847	WriteBatchSize interface{} `json:"writeBatchSize,omitempty"`
35848	// 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])).
35849	WriteBatchTimeout interface{} `json:"writeBatchTimeout,omitempty"`
35850	// SinkRetryCount - Sink retry count. Type: integer (or Expression with resultType integer).
35851	SinkRetryCount interface{} `json:"sinkRetryCount,omitempty"`
35852	// 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])).
35853	SinkRetryWait interface{} `json:"sinkRetryWait,omitempty"`
35854	// MaxConcurrentConnections - The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer).
35855	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
35856	// Type - Possible values include: 'TypeCopySink', 'TypeCosmosDbMongoDbAPISink', 'TypeSalesforceServiceCloudSink', 'TypeSalesforceSink', 'TypeAzureDataExplorerSink', 'TypeCommonDataServiceForAppsSink', 'TypeDynamicsCrmSink', 'TypeDynamicsSink', 'TypeMicrosoftAccessSink', 'TypeInformixSink', 'TypeOdbcSink', 'TypeAzureSearchIndexSink', 'TypeAzureBlobFSSink', 'TypeAzureDataLakeStoreSink', 'TypeOracleSink', 'TypeSQLDWSink', 'TypeSQLMISink', 'TypeAzureSQLSink', 'TypeSQLServerSink', 'TypeSQLSink', 'TypeDocumentDbCollectionSink', 'TypeFileSystemSink', 'TypeBlobSink', 'TypeBinarySink', 'TypeParquetSink', 'TypeAzureTableSink', 'TypeAzureQueueSink', 'TypeSapCloudForCustomerSink', 'TypeAzurePostgreSQLSink', 'TypeDelimitedTextSink'
35857	Type TypeBasicCopySink `json:"type,omitempty"`
35858}
35859
35860// MarshalJSON is the custom marshaler for BinarySink.
35861func (bs BinarySink) MarshalJSON() ([]byte, error) {
35862	bs.Type = TypeBinarySink
35863	objectMap := make(map[string]interface{})
35864	if bs.StoreSettings != nil {
35865		objectMap["storeSettings"] = bs.StoreSettings
35866	}
35867	if bs.WriteBatchSize != nil {
35868		objectMap["writeBatchSize"] = bs.WriteBatchSize
35869	}
35870	if bs.WriteBatchTimeout != nil {
35871		objectMap["writeBatchTimeout"] = bs.WriteBatchTimeout
35872	}
35873	if bs.SinkRetryCount != nil {
35874		objectMap["sinkRetryCount"] = bs.SinkRetryCount
35875	}
35876	if bs.SinkRetryWait != nil {
35877		objectMap["sinkRetryWait"] = bs.SinkRetryWait
35878	}
35879	if bs.MaxConcurrentConnections != nil {
35880		objectMap["maxConcurrentConnections"] = bs.MaxConcurrentConnections
35881	}
35882	if bs.Type != "" {
35883		objectMap["type"] = bs.Type
35884	}
35885	for k, v := range bs.AdditionalProperties {
35886		objectMap[k] = v
35887	}
35888	return json.Marshal(objectMap)
35889}
35890
35891// AsCosmosDbMongoDbAPISink is the BasicCopySink implementation for BinarySink.
35892func (bs BinarySink) AsCosmosDbMongoDbAPISink() (*CosmosDbMongoDbAPISink, bool) {
35893	return nil, false
35894}
35895
35896// AsSalesforceServiceCloudSink is the BasicCopySink implementation for BinarySink.
35897func (bs BinarySink) AsSalesforceServiceCloudSink() (*SalesforceServiceCloudSink, bool) {
35898	return nil, false
35899}
35900
35901// AsSalesforceSink is the BasicCopySink implementation for BinarySink.
35902func (bs BinarySink) AsSalesforceSink() (*SalesforceSink, bool) {
35903	return nil, false
35904}
35905
35906// AsAzureDataExplorerSink is the BasicCopySink implementation for BinarySink.
35907func (bs BinarySink) AsAzureDataExplorerSink() (*AzureDataExplorerSink, bool) {
35908	return nil, false
35909}
35910
35911// AsCommonDataServiceForAppsSink is the BasicCopySink implementation for BinarySink.
35912func (bs BinarySink) AsCommonDataServiceForAppsSink() (*CommonDataServiceForAppsSink, bool) {
35913	return nil, false
35914}
35915
35916// AsDynamicsCrmSink is the BasicCopySink implementation for BinarySink.
35917func (bs BinarySink) AsDynamicsCrmSink() (*DynamicsCrmSink, bool) {
35918	return nil, false
35919}
35920
35921// AsDynamicsSink is the BasicCopySink implementation for BinarySink.
35922func (bs BinarySink) AsDynamicsSink() (*DynamicsSink, bool) {
35923	return nil, false
35924}
35925
35926// AsMicrosoftAccessSink is the BasicCopySink implementation for BinarySink.
35927func (bs BinarySink) AsMicrosoftAccessSink() (*MicrosoftAccessSink, bool) {
35928	return nil, false
35929}
35930
35931// AsInformixSink is the BasicCopySink implementation for BinarySink.
35932func (bs BinarySink) AsInformixSink() (*InformixSink, bool) {
35933	return nil, false
35934}
35935
35936// AsOdbcSink is the BasicCopySink implementation for BinarySink.
35937func (bs BinarySink) AsOdbcSink() (*OdbcSink, bool) {
35938	return nil, false
35939}
35940
35941// AsAzureSearchIndexSink is the BasicCopySink implementation for BinarySink.
35942func (bs BinarySink) AsAzureSearchIndexSink() (*AzureSearchIndexSink, bool) {
35943	return nil, false
35944}
35945
35946// AsAzureBlobFSSink is the BasicCopySink implementation for BinarySink.
35947func (bs BinarySink) AsAzureBlobFSSink() (*AzureBlobFSSink, bool) {
35948	return nil, false
35949}
35950
35951// AsAzureDataLakeStoreSink is the BasicCopySink implementation for BinarySink.
35952func (bs BinarySink) AsAzureDataLakeStoreSink() (*AzureDataLakeStoreSink, bool) {
35953	return nil, false
35954}
35955
35956// AsOracleSink is the BasicCopySink implementation for BinarySink.
35957func (bs BinarySink) AsOracleSink() (*OracleSink, bool) {
35958	return nil, false
35959}
35960
35961// AsSQLDWSink is the BasicCopySink implementation for BinarySink.
35962func (bs BinarySink) AsSQLDWSink() (*SQLDWSink, bool) {
35963	return nil, false
35964}
35965
35966// AsSQLMISink is the BasicCopySink implementation for BinarySink.
35967func (bs BinarySink) AsSQLMISink() (*SQLMISink, bool) {
35968	return nil, false
35969}
35970
35971// AsAzureSQLSink is the BasicCopySink implementation for BinarySink.
35972func (bs BinarySink) AsAzureSQLSink() (*AzureSQLSink, bool) {
35973	return nil, false
35974}
35975
35976// AsSQLServerSink is the BasicCopySink implementation for BinarySink.
35977func (bs BinarySink) AsSQLServerSink() (*SQLServerSink, bool) {
35978	return nil, false
35979}
35980
35981// AsSQLSink is the BasicCopySink implementation for BinarySink.
35982func (bs BinarySink) AsSQLSink() (*SQLSink, bool) {
35983	return nil, false
35984}
35985
35986// AsDocumentDbCollectionSink is the BasicCopySink implementation for BinarySink.
35987func (bs BinarySink) AsDocumentDbCollectionSink() (*DocumentDbCollectionSink, bool) {
35988	return nil, false
35989}
35990
35991// AsFileSystemSink is the BasicCopySink implementation for BinarySink.
35992func (bs BinarySink) AsFileSystemSink() (*FileSystemSink, bool) {
35993	return nil, false
35994}
35995
35996// AsBlobSink is the BasicCopySink implementation for BinarySink.
35997func (bs BinarySink) AsBlobSink() (*BlobSink, bool) {
35998	return nil, false
35999}
36000
36001// AsBinarySink is the BasicCopySink implementation for BinarySink.
36002func (bs BinarySink) AsBinarySink() (*BinarySink, bool) {
36003	return &bs, true
36004}
36005
36006// AsParquetSink is the BasicCopySink implementation for BinarySink.
36007func (bs BinarySink) AsParquetSink() (*ParquetSink, bool) {
36008	return nil, false
36009}
36010
36011// AsAzureTableSink is the BasicCopySink implementation for BinarySink.
36012func (bs BinarySink) AsAzureTableSink() (*AzureTableSink, bool) {
36013	return nil, false
36014}
36015
36016// AsAzureQueueSink is the BasicCopySink implementation for BinarySink.
36017func (bs BinarySink) AsAzureQueueSink() (*AzureQueueSink, bool) {
36018	return nil, false
36019}
36020
36021// AsSapCloudForCustomerSink is the BasicCopySink implementation for BinarySink.
36022func (bs BinarySink) AsSapCloudForCustomerSink() (*SapCloudForCustomerSink, bool) {
36023	return nil, false
36024}
36025
36026// AsAzurePostgreSQLSink is the BasicCopySink implementation for BinarySink.
36027func (bs BinarySink) AsAzurePostgreSQLSink() (*AzurePostgreSQLSink, bool) {
36028	return nil, false
36029}
36030
36031// AsDelimitedTextSink is the BasicCopySink implementation for BinarySink.
36032func (bs BinarySink) AsDelimitedTextSink() (*DelimitedTextSink, bool) {
36033	return nil, false
36034}
36035
36036// AsCopySink is the BasicCopySink implementation for BinarySink.
36037func (bs BinarySink) AsCopySink() (*CopySink, bool) {
36038	return nil, false
36039}
36040
36041// AsBasicCopySink is the BasicCopySink implementation for BinarySink.
36042func (bs BinarySink) AsBasicCopySink() (BasicCopySink, bool) {
36043	return &bs, true
36044}
36045
36046// UnmarshalJSON is the custom unmarshaler for BinarySink struct.
36047func (bs *BinarySink) UnmarshalJSON(body []byte) error {
36048	var m map[string]*json.RawMessage
36049	err := json.Unmarshal(body, &m)
36050	if err != nil {
36051		return err
36052	}
36053	for k, v := range m {
36054		switch k {
36055		case "storeSettings":
36056			if v != nil {
36057				var storeSettings StoreReadSettings
36058				err = json.Unmarshal(*v, &storeSettings)
36059				if err != nil {
36060					return err
36061				}
36062				bs.StoreSettings = &storeSettings
36063			}
36064		default:
36065			if v != nil {
36066				var additionalProperties interface{}
36067				err = json.Unmarshal(*v, &additionalProperties)
36068				if err != nil {
36069					return err
36070				}
36071				if bs.AdditionalProperties == nil {
36072					bs.AdditionalProperties = make(map[string]interface{})
36073				}
36074				bs.AdditionalProperties[k] = additionalProperties
36075			}
36076		case "writeBatchSize":
36077			if v != nil {
36078				var writeBatchSize interface{}
36079				err = json.Unmarshal(*v, &writeBatchSize)
36080				if err != nil {
36081					return err
36082				}
36083				bs.WriteBatchSize = writeBatchSize
36084			}
36085		case "writeBatchTimeout":
36086			if v != nil {
36087				var writeBatchTimeout interface{}
36088				err = json.Unmarshal(*v, &writeBatchTimeout)
36089				if err != nil {
36090					return err
36091				}
36092				bs.WriteBatchTimeout = writeBatchTimeout
36093			}
36094		case "sinkRetryCount":
36095			if v != nil {
36096				var sinkRetryCount interface{}
36097				err = json.Unmarshal(*v, &sinkRetryCount)
36098				if err != nil {
36099					return err
36100				}
36101				bs.SinkRetryCount = sinkRetryCount
36102			}
36103		case "sinkRetryWait":
36104			if v != nil {
36105				var sinkRetryWait interface{}
36106				err = json.Unmarshal(*v, &sinkRetryWait)
36107				if err != nil {
36108					return err
36109				}
36110				bs.SinkRetryWait = sinkRetryWait
36111			}
36112		case "maxConcurrentConnections":
36113			if v != nil {
36114				var maxConcurrentConnections interface{}
36115				err = json.Unmarshal(*v, &maxConcurrentConnections)
36116				if err != nil {
36117					return err
36118				}
36119				bs.MaxConcurrentConnections = maxConcurrentConnections
36120			}
36121		case "type":
36122			if v != nil {
36123				var typeVar TypeBasicCopySink
36124				err = json.Unmarshal(*v, &typeVar)
36125				if err != nil {
36126					return err
36127				}
36128				bs.Type = typeVar
36129			}
36130		}
36131	}
36132
36133	return nil
36134}
36135
36136// BinarySource a copy activity Binary source.
36137type BinarySource struct {
36138	// StoreSettings - Binary store settings.
36139	StoreSettings *StoreReadSettings `json:"storeSettings,omitempty"`
36140	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
36141	AdditionalProperties map[string]interface{} `json:""`
36142	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
36143	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
36144	// 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])).
36145	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
36146	// MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer).
36147	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
36148	// Type - Possible values include: 'TypeCopySource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', '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', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeCassandraSource', 'TypeWebSource', 'TypeTeradataSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeAzureMySQLSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeRestSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceServiceCloudSource', 'TypeSalesforceSource', 'TypeODataSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeMicrosoftAccessSource', 'TypeInformixSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAzureTableSource', 'TypeBinarySource', 'TypeDelimitedTextSource', 'TypeParquetSource'
36149	Type TypeBasicCopySource `json:"type,omitempty"`
36150}
36151
36152// MarshalJSON is the custom marshaler for BinarySource.
36153func (bs BinarySource) MarshalJSON() ([]byte, error) {
36154	bs.Type = TypeBinarySource
36155	objectMap := make(map[string]interface{})
36156	if bs.StoreSettings != nil {
36157		objectMap["storeSettings"] = bs.StoreSettings
36158	}
36159	if bs.SourceRetryCount != nil {
36160		objectMap["sourceRetryCount"] = bs.SourceRetryCount
36161	}
36162	if bs.SourceRetryWait != nil {
36163		objectMap["sourceRetryWait"] = bs.SourceRetryWait
36164	}
36165	if bs.MaxConcurrentConnections != nil {
36166		objectMap["maxConcurrentConnections"] = bs.MaxConcurrentConnections
36167	}
36168	if bs.Type != "" {
36169		objectMap["type"] = bs.Type
36170	}
36171	for k, v := range bs.AdditionalProperties {
36172		objectMap[k] = v
36173	}
36174	return json.Marshal(objectMap)
36175}
36176
36177// AsAmazonRedshiftSource is the BasicCopySource implementation for BinarySource.
36178func (bs BinarySource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
36179	return nil, false
36180}
36181
36182// AsGoogleAdWordsSource is the BasicCopySource implementation for BinarySource.
36183func (bs BinarySource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) {
36184	return nil, false
36185}
36186
36187// AsOracleServiceCloudSource is the BasicCopySource implementation for BinarySource.
36188func (bs BinarySource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) {
36189	return nil, false
36190}
36191
36192// AsDynamicsAXSource is the BasicCopySource implementation for BinarySource.
36193func (bs BinarySource) AsDynamicsAXSource() (*DynamicsAXSource, bool) {
36194	return nil, false
36195}
36196
36197// AsResponsysSource is the BasicCopySource implementation for BinarySource.
36198func (bs BinarySource) AsResponsysSource() (*ResponsysSource, bool) {
36199	return nil, false
36200}
36201
36202// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for BinarySource.
36203func (bs BinarySource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
36204	return nil, false
36205}
36206
36207// AsVerticaSource is the BasicCopySource implementation for BinarySource.
36208func (bs BinarySource) AsVerticaSource() (*VerticaSource, bool) {
36209	return nil, false
36210}
36211
36212// AsNetezzaSource is the BasicCopySource implementation for BinarySource.
36213func (bs BinarySource) AsNetezzaSource() (*NetezzaSource, bool) {
36214	return nil, false
36215}
36216
36217// AsZohoSource is the BasicCopySource implementation for BinarySource.
36218func (bs BinarySource) AsZohoSource() (*ZohoSource, bool) {
36219	return nil, false
36220}
36221
36222// AsXeroSource is the BasicCopySource implementation for BinarySource.
36223func (bs BinarySource) AsXeroSource() (*XeroSource, bool) {
36224	return nil, false
36225}
36226
36227// AsSquareSource is the BasicCopySource implementation for BinarySource.
36228func (bs BinarySource) AsSquareSource() (*SquareSource, bool) {
36229	return nil, false
36230}
36231
36232// AsSparkSource is the BasicCopySource implementation for BinarySource.
36233func (bs BinarySource) AsSparkSource() (*SparkSource, bool) {
36234	return nil, false
36235}
36236
36237// AsShopifySource is the BasicCopySource implementation for BinarySource.
36238func (bs BinarySource) AsShopifySource() (*ShopifySource, bool) {
36239	return nil, false
36240}
36241
36242// AsServiceNowSource is the BasicCopySource implementation for BinarySource.
36243func (bs BinarySource) AsServiceNowSource() (*ServiceNowSource, bool) {
36244	return nil, false
36245}
36246
36247// AsQuickBooksSource is the BasicCopySource implementation for BinarySource.
36248func (bs BinarySource) AsQuickBooksSource() (*QuickBooksSource, bool) {
36249	return nil, false
36250}
36251
36252// AsPrestoSource is the BasicCopySource implementation for BinarySource.
36253func (bs BinarySource) AsPrestoSource() (*PrestoSource, bool) {
36254	return nil, false
36255}
36256
36257// AsPhoenixSource is the BasicCopySource implementation for BinarySource.
36258func (bs BinarySource) AsPhoenixSource() (*PhoenixSource, bool) {
36259	return nil, false
36260}
36261
36262// AsPaypalSource is the BasicCopySource implementation for BinarySource.
36263func (bs BinarySource) AsPaypalSource() (*PaypalSource, bool) {
36264	return nil, false
36265}
36266
36267// AsMarketoSource is the BasicCopySource implementation for BinarySource.
36268func (bs BinarySource) AsMarketoSource() (*MarketoSource, bool) {
36269	return nil, false
36270}
36271
36272// AsMariaDBSource is the BasicCopySource implementation for BinarySource.
36273func (bs BinarySource) AsMariaDBSource() (*MariaDBSource, bool) {
36274	return nil, false
36275}
36276
36277// AsMagentoSource is the BasicCopySource implementation for BinarySource.
36278func (bs BinarySource) AsMagentoSource() (*MagentoSource, bool) {
36279	return nil, false
36280}
36281
36282// AsJiraSource is the BasicCopySource implementation for BinarySource.
36283func (bs BinarySource) AsJiraSource() (*JiraSource, bool) {
36284	return nil, false
36285}
36286
36287// AsImpalaSource is the BasicCopySource implementation for BinarySource.
36288func (bs BinarySource) AsImpalaSource() (*ImpalaSource, bool) {
36289	return nil, false
36290}
36291
36292// AsHubspotSource is the BasicCopySource implementation for BinarySource.
36293func (bs BinarySource) AsHubspotSource() (*HubspotSource, bool) {
36294	return nil, false
36295}
36296
36297// AsHiveSource is the BasicCopySource implementation for BinarySource.
36298func (bs BinarySource) AsHiveSource() (*HiveSource, bool) {
36299	return nil, false
36300}
36301
36302// AsHBaseSource is the BasicCopySource implementation for BinarySource.
36303func (bs BinarySource) AsHBaseSource() (*HBaseSource, bool) {
36304	return nil, false
36305}
36306
36307// AsGreenplumSource is the BasicCopySource implementation for BinarySource.
36308func (bs BinarySource) AsGreenplumSource() (*GreenplumSource, bool) {
36309	return nil, false
36310}
36311
36312// AsGoogleBigQuerySource is the BasicCopySource implementation for BinarySource.
36313func (bs BinarySource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
36314	return nil, false
36315}
36316
36317// AsEloquaSource is the BasicCopySource implementation for BinarySource.
36318func (bs BinarySource) AsEloquaSource() (*EloquaSource, bool) {
36319	return nil, false
36320}
36321
36322// AsDrillSource is the BasicCopySource implementation for BinarySource.
36323func (bs BinarySource) AsDrillSource() (*DrillSource, bool) {
36324	return nil, false
36325}
36326
36327// AsCouchbaseSource is the BasicCopySource implementation for BinarySource.
36328func (bs BinarySource) AsCouchbaseSource() (*CouchbaseSource, bool) {
36329	return nil, false
36330}
36331
36332// AsConcurSource is the BasicCopySource implementation for BinarySource.
36333func (bs BinarySource) AsConcurSource() (*ConcurSource, bool) {
36334	return nil, false
36335}
36336
36337// AsAzurePostgreSQLSource is the BasicCopySource implementation for BinarySource.
36338func (bs BinarySource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
36339	return nil, false
36340}
36341
36342// AsAmazonMWSSource is the BasicCopySource implementation for BinarySource.
36343func (bs BinarySource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
36344	return nil, false
36345}
36346
36347// AsHTTPSource is the BasicCopySource implementation for BinarySource.
36348func (bs BinarySource) AsHTTPSource() (*HTTPSource, bool) {
36349	return nil, false
36350}
36351
36352// AsAzureBlobFSSource is the BasicCopySource implementation for BinarySource.
36353func (bs BinarySource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) {
36354	return nil, false
36355}
36356
36357// AsAzureDataLakeStoreSource is the BasicCopySource implementation for BinarySource.
36358func (bs BinarySource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
36359	return nil, false
36360}
36361
36362// AsOffice365Source is the BasicCopySource implementation for BinarySource.
36363func (bs BinarySource) AsOffice365Source() (*Office365Source, bool) {
36364	return nil, false
36365}
36366
36367// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for BinarySource.
36368func (bs BinarySource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) {
36369	return nil, false
36370}
36371
36372// AsMongoDbV2Source is the BasicCopySource implementation for BinarySource.
36373func (bs BinarySource) AsMongoDbV2Source() (*MongoDbV2Source, bool) {
36374	return nil, false
36375}
36376
36377// AsMongoDbSource is the BasicCopySource implementation for BinarySource.
36378func (bs BinarySource) AsMongoDbSource() (*MongoDbSource, bool) {
36379	return nil, false
36380}
36381
36382// AsCassandraSource is the BasicCopySource implementation for BinarySource.
36383func (bs BinarySource) AsCassandraSource() (*CassandraSource, bool) {
36384	return nil, false
36385}
36386
36387// AsWebSource is the BasicCopySource implementation for BinarySource.
36388func (bs BinarySource) AsWebSource() (*WebSource, bool) {
36389	return nil, false
36390}
36391
36392// AsTeradataSource is the BasicCopySource implementation for BinarySource.
36393func (bs BinarySource) AsTeradataSource() (*TeradataSource, bool) {
36394	return nil, false
36395}
36396
36397// AsOracleSource is the BasicCopySource implementation for BinarySource.
36398func (bs BinarySource) AsOracleSource() (*OracleSource, bool) {
36399	return nil, false
36400}
36401
36402// AsAzureDataExplorerSource is the BasicCopySource implementation for BinarySource.
36403func (bs BinarySource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) {
36404	return nil, false
36405}
36406
36407// AsAzureMySQLSource is the BasicCopySource implementation for BinarySource.
36408func (bs BinarySource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
36409	return nil, false
36410}
36411
36412// AsHdfsSource is the BasicCopySource implementation for BinarySource.
36413func (bs BinarySource) AsHdfsSource() (*HdfsSource, bool) {
36414	return nil, false
36415}
36416
36417// AsFileSystemSource is the BasicCopySource implementation for BinarySource.
36418func (bs BinarySource) AsFileSystemSource() (*FileSystemSource, bool) {
36419	return nil, false
36420}
36421
36422// AsSQLDWSource is the BasicCopySource implementation for BinarySource.
36423func (bs BinarySource) AsSQLDWSource() (*SQLDWSource, bool) {
36424	return nil, false
36425}
36426
36427// AsSQLMISource is the BasicCopySource implementation for BinarySource.
36428func (bs BinarySource) AsSQLMISource() (*SQLMISource, bool) {
36429	return nil, false
36430}
36431
36432// AsAzureSQLSource is the BasicCopySource implementation for BinarySource.
36433func (bs BinarySource) AsAzureSQLSource() (*AzureSQLSource, bool) {
36434	return nil, false
36435}
36436
36437// AsSQLServerSource is the BasicCopySource implementation for BinarySource.
36438func (bs BinarySource) AsSQLServerSource() (*SQLServerSource, bool) {
36439	return nil, false
36440}
36441
36442// AsSQLSource is the BasicCopySource implementation for BinarySource.
36443func (bs BinarySource) AsSQLSource() (*SQLSource, bool) {
36444	return nil, false
36445}
36446
36447// AsRestSource is the BasicCopySource implementation for BinarySource.
36448func (bs BinarySource) AsRestSource() (*RestSource, bool) {
36449	return nil, false
36450}
36451
36452// AsSapTableSource is the BasicCopySource implementation for BinarySource.
36453func (bs BinarySource) AsSapTableSource() (*SapTableSource, bool) {
36454	return nil, false
36455}
36456
36457// AsSapOpenHubSource is the BasicCopySource implementation for BinarySource.
36458func (bs BinarySource) AsSapOpenHubSource() (*SapOpenHubSource, bool) {
36459	return nil, false
36460}
36461
36462// AsSapHanaSource is the BasicCopySource implementation for BinarySource.
36463func (bs BinarySource) AsSapHanaSource() (*SapHanaSource, bool) {
36464	return nil, false
36465}
36466
36467// AsSapEccSource is the BasicCopySource implementation for BinarySource.
36468func (bs BinarySource) AsSapEccSource() (*SapEccSource, bool) {
36469	return nil, false
36470}
36471
36472// AsSapCloudForCustomerSource is the BasicCopySource implementation for BinarySource.
36473func (bs BinarySource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
36474	return nil, false
36475}
36476
36477// AsSalesforceServiceCloudSource is the BasicCopySource implementation for BinarySource.
36478func (bs BinarySource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) {
36479	return nil, false
36480}
36481
36482// AsSalesforceSource is the BasicCopySource implementation for BinarySource.
36483func (bs BinarySource) AsSalesforceSource() (*SalesforceSource, bool) {
36484	return nil, false
36485}
36486
36487// AsODataSource is the BasicCopySource implementation for BinarySource.
36488func (bs BinarySource) AsODataSource() (*ODataSource, bool) {
36489	return nil, false
36490}
36491
36492// AsSybaseSource is the BasicCopySource implementation for BinarySource.
36493func (bs BinarySource) AsSybaseSource() (*SybaseSource, bool) {
36494	return nil, false
36495}
36496
36497// AsPostgreSQLSource is the BasicCopySource implementation for BinarySource.
36498func (bs BinarySource) AsPostgreSQLSource() (*PostgreSQLSource, bool) {
36499	return nil, false
36500}
36501
36502// AsMySQLSource is the BasicCopySource implementation for BinarySource.
36503func (bs BinarySource) AsMySQLSource() (*MySQLSource, bool) {
36504	return nil, false
36505}
36506
36507// AsOdbcSource is the BasicCopySource implementation for BinarySource.
36508func (bs BinarySource) AsOdbcSource() (*OdbcSource, bool) {
36509	return nil, false
36510}
36511
36512// AsDb2Source is the BasicCopySource implementation for BinarySource.
36513func (bs BinarySource) AsDb2Source() (*Db2Source, bool) {
36514	return nil, false
36515}
36516
36517// AsMicrosoftAccessSource is the BasicCopySource implementation for BinarySource.
36518func (bs BinarySource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) {
36519	return nil, false
36520}
36521
36522// AsInformixSource is the BasicCopySource implementation for BinarySource.
36523func (bs BinarySource) AsInformixSource() (*InformixSource, bool) {
36524	return nil, false
36525}
36526
36527// AsRelationalSource is the BasicCopySource implementation for BinarySource.
36528func (bs BinarySource) AsRelationalSource() (*RelationalSource, bool) {
36529	return nil, false
36530}
36531
36532// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for BinarySource.
36533func (bs BinarySource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) {
36534	return nil, false
36535}
36536
36537// AsDynamicsCrmSource is the BasicCopySource implementation for BinarySource.
36538func (bs BinarySource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) {
36539	return nil, false
36540}
36541
36542// AsDynamicsSource is the BasicCopySource implementation for BinarySource.
36543func (bs BinarySource) AsDynamicsSource() (*DynamicsSource, bool) {
36544	return nil, false
36545}
36546
36547// AsDocumentDbCollectionSource is the BasicCopySource implementation for BinarySource.
36548func (bs BinarySource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
36549	return nil, false
36550}
36551
36552// AsBlobSource is the BasicCopySource implementation for BinarySource.
36553func (bs BinarySource) AsBlobSource() (*BlobSource, bool) {
36554	return nil, false
36555}
36556
36557// AsAzureTableSource is the BasicCopySource implementation for BinarySource.
36558func (bs BinarySource) AsAzureTableSource() (*AzureTableSource, bool) {
36559	return nil, false
36560}
36561
36562// AsBinarySource is the BasicCopySource implementation for BinarySource.
36563func (bs BinarySource) AsBinarySource() (*BinarySource, bool) {
36564	return &bs, true
36565}
36566
36567// AsDelimitedTextSource is the BasicCopySource implementation for BinarySource.
36568func (bs BinarySource) AsDelimitedTextSource() (*DelimitedTextSource, bool) {
36569	return nil, false
36570}
36571
36572// AsParquetSource is the BasicCopySource implementation for BinarySource.
36573func (bs BinarySource) AsParquetSource() (*ParquetSource, bool) {
36574	return nil, false
36575}
36576
36577// AsCopySource is the BasicCopySource implementation for BinarySource.
36578func (bs BinarySource) AsCopySource() (*CopySource, bool) {
36579	return nil, false
36580}
36581
36582// AsBasicCopySource is the BasicCopySource implementation for BinarySource.
36583func (bs BinarySource) AsBasicCopySource() (BasicCopySource, bool) {
36584	return &bs, true
36585}
36586
36587// UnmarshalJSON is the custom unmarshaler for BinarySource struct.
36588func (bs *BinarySource) UnmarshalJSON(body []byte) error {
36589	var m map[string]*json.RawMessage
36590	err := json.Unmarshal(body, &m)
36591	if err != nil {
36592		return err
36593	}
36594	for k, v := range m {
36595		switch k {
36596		case "storeSettings":
36597			if v != nil {
36598				var storeSettings StoreReadSettings
36599				err = json.Unmarshal(*v, &storeSettings)
36600				if err != nil {
36601					return err
36602				}
36603				bs.StoreSettings = &storeSettings
36604			}
36605		default:
36606			if v != nil {
36607				var additionalProperties interface{}
36608				err = json.Unmarshal(*v, &additionalProperties)
36609				if err != nil {
36610					return err
36611				}
36612				if bs.AdditionalProperties == nil {
36613					bs.AdditionalProperties = make(map[string]interface{})
36614				}
36615				bs.AdditionalProperties[k] = additionalProperties
36616			}
36617		case "sourceRetryCount":
36618			if v != nil {
36619				var sourceRetryCount interface{}
36620				err = json.Unmarshal(*v, &sourceRetryCount)
36621				if err != nil {
36622					return err
36623				}
36624				bs.SourceRetryCount = sourceRetryCount
36625			}
36626		case "sourceRetryWait":
36627			if v != nil {
36628				var sourceRetryWait interface{}
36629				err = json.Unmarshal(*v, &sourceRetryWait)
36630				if err != nil {
36631					return err
36632				}
36633				bs.SourceRetryWait = sourceRetryWait
36634			}
36635		case "maxConcurrentConnections":
36636			if v != nil {
36637				var maxConcurrentConnections interface{}
36638				err = json.Unmarshal(*v, &maxConcurrentConnections)
36639				if err != nil {
36640					return err
36641				}
36642				bs.MaxConcurrentConnections = maxConcurrentConnections
36643			}
36644		case "type":
36645			if v != nil {
36646				var typeVar TypeBasicCopySource
36647				err = json.Unmarshal(*v, &typeVar)
36648				if err != nil {
36649					return err
36650				}
36651				bs.Type = typeVar
36652			}
36653		}
36654	}
36655
36656	return nil
36657}
36658
36659// BlobEventsTrigger trigger that runs every time a Blob event occurs.
36660type BlobEventsTrigger struct {
36661	// BlobEventsTriggerTypeProperties - Blob Events Trigger properties.
36662	*BlobEventsTriggerTypeProperties `json:"typeProperties,omitempty"`
36663	// Pipelines - Pipelines that need to be started.
36664	Pipelines *[]TriggerPipelineReference `json:"pipelines,omitempty"`
36665	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
36666	AdditionalProperties map[string]interface{} `json:""`
36667	// Description - Trigger description.
36668	Description *string `json:"description,omitempty"`
36669	// RuntimeState - READ-ONLY; Indicates if trigger is running or not. Updated when Start/Stop APIs are called on the Trigger. Possible values include: 'Started', 'Stopped', 'Disabled'
36670	RuntimeState TriggerRuntimeState `json:"runtimeState,omitempty"`
36671	// Annotations - List of tags that can be used for describing the trigger.
36672	Annotations *[]interface{} `json:"annotations,omitempty"`
36673	// Type - Possible values include: 'TypeTrigger', 'TypeRerunTumblingWindowTrigger', 'TypeTumblingWindowTrigger', 'TypeBlobEventsTrigger', 'TypeBlobTrigger', 'TypeScheduleTrigger', 'TypeMultiplePipelineTrigger'
36674	Type TypeBasicTrigger `json:"type,omitempty"`
36675}
36676
36677// MarshalJSON is the custom marshaler for BlobEventsTrigger.
36678func (bet BlobEventsTrigger) MarshalJSON() ([]byte, error) {
36679	bet.Type = TypeBlobEventsTrigger
36680	objectMap := make(map[string]interface{})
36681	if bet.BlobEventsTriggerTypeProperties != nil {
36682		objectMap["typeProperties"] = bet.BlobEventsTriggerTypeProperties
36683	}
36684	if bet.Pipelines != nil {
36685		objectMap["pipelines"] = bet.Pipelines
36686	}
36687	if bet.Description != nil {
36688		objectMap["description"] = bet.Description
36689	}
36690	if bet.Annotations != nil {
36691		objectMap["annotations"] = bet.Annotations
36692	}
36693	if bet.Type != "" {
36694		objectMap["type"] = bet.Type
36695	}
36696	for k, v := range bet.AdditionalProperties {
36697		objectMap[k] = v
36698	}
36699	return json.Marshal(objectMap)
36700}
36701
36702// AsRerunTumblingWindowTrigger is the BasicTrigger implementation for BlobEventsTrigger.
36703func (bet BlobEventsTrigger) AsRerunTumblingWindowTrigger() (*RerunTumblingWindowTrigger, bool) {
36704	return nil, false
36705}
36706
36707// AsTumblingWindowTrigger is the BasicTrigger implementation for BlobEventsTrigger.
36708func (bet BlobEventsTrigger) AsTumblingWindowTrigger() (*TumblingWindowTrigger, bool) {
36709	return nil, false
36710}
36711
36712// AsBlobEventsTrigger is the BasicTrigger implementation for BlobEventsTrigger.
36713func (bet BlobEventsTrigger) AsBlobEventsTrigger() (*BlobEventsTrigger, bool) {
36714	return &bet, true
36715}
36716
36717// AsBlobTrigger is the BasicTrigger implementation for BlobEventsTrigger.
36718func (bet BlobEventsTrigger) AsBlobTrigger() (*BlobTrigger, bool) {
36719	return nil, false
36720}
36721
36722// AsScheduleTrigger is the BasicTrigger implementation for BlobEventsTrigger.
36723func (bet BlobEventsTrigger) AsScheduleTrigger() (*ScheduleTrigger, bool) {
36724	return nil, false
36725}
36726
36727// AsMultiplePipelineTrigger is the BasicTrigger implementation for BlobEventsTrigger.
36728func (bet BlobEventsTrigger) AsMultiplePipelineTrigger() (*MultiplePipelineTrigger, bool) {
36729	return nil, false
36730}
36731
36732// AsBasicMultiplePipelineTrigger is the BasicTrigger implementation for BlobEventsTrigger.
36733func (bet BlobEventsTrigger) AsBasicMultiplePipelineTrigger() (BasicMultiplePipelineTrigger, bool) {
36734	return &bet, true
36735}
36736
36737// AsTrigger is the BasicTrigger implementation for BlobEventsTrigger.
36738func (bet BlobEventsTrigger) AsTrigger() (*Trigger, bool) {
36739	return nil, false
36740}
36741
36742// AsBasicTrigger is the BasicTrigger implementation for BlobEventsTrigger.
36743func (bet BlobEventsTrigger) AsBasicTrigger() (BasicTrigger, bool) {
36744	return &bet, true
36745}
36746
36747// UnmarshalJSON is the custom unmarshaler for BlobEventsTrigger struct.
36748func (bet *BlobEventsTrigger) UnmarshalJSON(body []byte) error {
36749	var m map[string]*json.RawMessage
36750	err := json.Unmarshal(body, &m)
36751	if err != nil {
36752		return err
36753	}
36754	for k, v := range m {
36755		switch k {
36756		case "typeProperties":
36757			if v != nil {
36758				var blobEventsTriggerTypeProperties BlobEventsTriggerTypeProperties
36759				err = json.Unmarshal(*v, &blobEventsTriggerTypeProperties)
36760				if err != nil {
36761					return err
36762				}
36763				bet.BlobEventsTriggerTypeProperties = &blobEventsTriggerTypeProperties
36764			}
36765		case "pipelines":
36766			if v != nil {
36767				var pipelines []TriggerPipelineReference
36768				err = json.Unmarshal(*v, &pipelines)
36769				if err != nil {
36770					return err
36771				}
36772				bet.Pipelines = &pipelines
36773			}
36774		default:
36775			if v != nil {
36776				var additionalProperties interface{}
36777				err = json.Unmarshal(*v, &additionalProperties)
36778				if err != nil {
36779					return err
36780				}
36781				if bet.AdditionalProperties == nil {
36782					bet.AdditionalProperties = make(map[string]interface{})
36783				}
36784				bet.AdditionalProperties[k] = additionalProperties
36785			}
36786		case "description":
36787			if v != nil {
36788				var description string
36789				err = json.Unmarshal(*v, &description)
36790				if err != nil {
36791					return err
36792				}
36793				bet.Description = &description
36794			}
36795		case "runtimeState":
36796			if v != nil {
36797				var runtimeState TriggerRuntimeState
36798				err = json.Unmarshal(*v, &runtimeState)
36799				if err != nil {
36800					return err
36801				}
36802				bet.RuntimeState = runtimeState
36803			}
36804		case "annotations":
36805			if v != nil {
36806				var annotations []interface{}
36807				err = json.Unmarshal(*v, &annotations)
36808				if err != nil {
36809					return err
36810				}
36811				bet.Annotations = &annotations
36812			}
36813		case "type":
36814			if v != nil {
36815				var typeVar TypeBasicTrigger
36816				err = json.Unmarshal(*v, &typeVar)
36817				if err != nil {
36818					return err
36819				}
36820				bet.Type = typeVar
36821			}
36822		}
36823	}
36824
36825	return nil
36826}
36827
36828// BlobEventsTriggerTypeProperties blob Events Trigger properties.
36829type BlobEventsTriggerTypeProperties struct {
36830	// 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.
36831	BlobPathBeginsWith *string `json:"blobPathBeginsWith,omitempty"`
36832	// 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.
36833	BlobPathEndsWith *string `json:"blobPathEndsWith,omitempty"`
36834	// Events - The type of events that cause this trigger to fire.
36835	Events *[]BlobEventTypes `json:"events,omitempty"`
36836	// Scope - The ARM resource ID of the Storage Account.
36837	Scope *string `json:"scope,omitempty"`
36838}
36839
36840// BlobSink a copy activity Azure Blob sink.
36841type BlobSink struct {
36842	// BlobWriterOverwriteFiles - Blob writer overwrite files. Type: boolean (or Expression with resultType boolean).
36843	BlobWriterOverwriteFiles interface{} `json:"blobWriterOverwriteFiles,omitempty"`
36844	// BlobWriterDateTimeFormat - Blob writer date time format. Type: string (or Expression with resultType string).
36845	BlobWriterDateTimeFormat interface{} `json:"blobWriterDateTimeFormat,omitempty"`
36846	// BlobWriterAddHeader - Blob writer add header. Type: boolean (or Expression with resultType boolean).
36847	BlobWriterAddHeader interface{} `json:"blobWriterAddHeader,omitempty"`
36848	// CopyBehavior - The type of copy behavior for copy sink.
36849	CopyBehavior interface{} `json:"copyBehavior,omitempty"`
36850	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
36851	AdditionalProperties map[string]interface{} `json:""`
36852	// WriteBatchSize - Write batch size. Type: integer (or Expression with resultType integer), minimum: 0.
36853	WriteBatchSize interface{} `json:"writeBatchSize,omitempty"`
36854	// 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])).
36855	WriteBatchTimeout interface{} `json:"writeBatchTimeout,omitempty"`
36856	// SinkRetryCount - Sink retry count. Type: integer (or Expression with resultType integer).
36857	SinkRetryCount interface{} `json:"sinkRetryCount,omitempty"`
36858	// 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])).
36859	SinkRetryWait interface{} `json:"sinkRetryWait,omitempty"`
36860	// MaxConcurrentConnections - The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer).
36861	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
36862	// Type - Possible values include: 'TypeCopySink', 'TypeCosmosDbMongoDbAPISink', 'TypeSalesforceServiceCloudSink', 'TypeSalesforceSink', 'TypeAzureDataExplorerSink', 'TypeCommonDataServiceForAppsSink', 'TypeDynamicsCrmSink', 'TypeDynamicsSink', 'TypeMicrosoftAccessSink', 'TypeInformixSink', 'TypeOdbcSink', 'TypeAzureSearchIndexSink', 'TypeAzureBlobFSSink', 'TypeAzureDataLakeStoreSink', 'TypeOracleSink', 'TypeSQLDWSink', 'TypeSQLMISink', 'TypeAzureSQLSink', 'TypeSQLServerSink', 'TypeSQLSink', 'TypeDocumentDbCollectionSink', 'TypeFileSystemSink', 'TypeBlobSink', 'TypeBinarySink', 'TypeParquetSink', 'TypeAzureTableSink', 'TypeAzureQueueSink', 'TypeSapCloudForCustomerSink', 'TypeAzurePostgreSQLSink', 'TypeDelimitedTextSink'
36863	Type TypeBasicCopySink `json:"type,omitempty"`
36864}
36865
36866// MarshalJSON is the custom marshaler for BlobSink.
36867func (bs BlobSink) MarshalJSON() ([]byte, error) {
36868	bs.Type = TypeBlobSink
36869	objectMap := make(map[string]interface{})
36870	if bs.BlobWriterOverwriteFiles != nil {
36871		objectMap["blobWriterOverwriteFiles"] = bs.BlobWriterOverwriteFiles
36872	}
36873	if bs.BlobWriterDateTimeFormat != nil {
36874		objectMap["blobWriterDateTimeFormat"] = bs.BlobWriterDateTimeFormat
36875	}
36876	if bs.BlobWriterAddHeader != nil {
36877		objectMap["blobWriterAddHeader"] = bs.BlobWriterAddHeader
36878	}
36879	if bs.CopyBehavior != nil {
36880		objectMap["copyBehavior"] = bs.CopyBehavior
36881	}
36882	if bs.WriteBatchSize != nil {
36883		objectMap["writeBatchSize"] = bs.WriteBatchSize
36884	}
36885	if bs.WriteBatchTimeout != nil {
36886		objectMap["writeBatchTimeout"] = bs.WriteBatchTimeout
36887	}
36888	if bs.SinkRetryCount != nil {
36889		objectMap["sinkRetryCount"] = bs.SinkRetryCount
36890	}
36891	if bs.SinkRetryWait != nil {
36892		objectMap["sinkRetryWait"] = bs.SinkRetryWait
36893	}
36894	if bs.MaxConcurrentConnections != nil {
36895		objectMap["maxConcurrentConnections"] = bs.MaxConcurrentConnections
36896	}
36897	if bs.Type != "" {
36898		objectMap["type"] = bs.Type
36899	}
36900	for k, v := range bs.AdditionalProperties {
36901		objectMap[k] = v
36902	}
36903	return json.Marshal(objectMap)
36904}
36905
36906// AsCosmosDbMongoDbAPISink is the BasicCopySink implementation for BlobSink.
36907func (bs BlobSink) AsCosmosDbMongoDbAPISink() (*CosmosDbMongoDbAPISink, bool) {
36908	return nil, false
36909}
36910
36911// AsSalesforceServiceCloudSink is the BasicCopySink implementation for BlobSink.
36912func (bs BlobSink) AsSalesforceServiceCloudSink() (*SalesforceServiceCloudSink, bool) {
36913	return nil, false
36914}
36915
36916// AsSalesforceSink is the BasicCopySink implementation for BlobSink.
36917func (bs BlobSink) AsSalesforceSink() (*SalesforceSink, bool) {
36918	return nil, false
36919}
36920
36921// AsAzureDataExplorerSink is the BasicCopySink implementation for BlobSink.
36922func (bs BlobSink) AsAzureDataExplorerSink() (*AzureDataExplorerSink, bool) {
36923	return nil, false
36924}
36925
36926// AsCommonDataServiceForAppsSink is the BasicCopySink implementation for BlobSink.
36927func (bs BlobSink) AsCommonDataServiceForAppsSink() (*CommonDataServiceForAppsSink, bool) {
36928	return nil, false
36929}
36930
36931// AsDynamicsCrmSink is the BasicCopySink implementation for BlobSink.
36932func (bs BlobSink) AsDynamicsCrmSink() (*DynamicsCrmSink, bool) {
36933	return nil, false
36934}
36935
36936// AsDynamicsSink is the BasicCopySink implementation for BlobSink.
36937func (bs BlobSink) AsDynamicsSink() (*DynamicsSink, bool) {
36938	return nil, false
36939}
36940
36941// AsMicrosoftAccessSink is the BasicCopySink implementation for BlobSink.
36942func (bs BlobSink) AsMicrosoftAccessSink() (*MicrosoftAccessSink, bool) {
36943	return nil, false
36944}
36945
36946// AsInformixSink is the BasicCopySink implementation for BlobSink.
36947func (bs BlobSink) AsInformixSink() (*InformixSink, bool) {
36948	return nil, false
36949}
36950
36951// AsOdbcSink is the BasicCopySink implementation for BlobSink.
36952func (bs BlobSink) AsOdbcSink() (*OdbcSink, bool) {
36953	return nil, false
36954}
36955
36956// AsAzureSearchIndexSink is the BasicCopySink implementation for BlobSink.
36957func (bs BlobSink) AsAzureSearchIndexSink() (*AzureSearchIndexSink, bool) {
36958	return nil, false
36959}
36960
36961// AsAzureBlobFSSink is the BasicCopySink implementation for BlobSink.
36962func (bs BlobSink) AsAzureBlobFSSink() (*AzureBlobFSSink, bool) {
36963	return nil, false
36964}
36965
36966// AsAzureDataLakeStoreSink is the BasicCopySink implementation for BlobSink.
36967func (bs BlobSink) AsAzureDataLakeStoreSink() (*AzureDataLakeStoreSink, bool) {
36968	return nil, false
36969}
36970
36971// AsOracleSink is the BasicCopySink implementation for BlobSink.
36972func (bs BlobSink) AsOracleSink() (*OracleSink, bool) {
36973	return nil, false
36974}
36975
36976// AsSQLDWSink is the BasicCopySink implementation for BlobSink.
36977func (bs BlobSink) AsSQLDWSink() (*SQLDWSink, bool) {
36978	return nil, false
36979}
36980
36981// AsSQLMISink is the BasicCopySink implementation for BlobSink.
36982func (bs BlobSink) AsSQLMISink() (*SQLMISink, bool) {
36983	return nil, false
36984}
36985
36986// AsAzureSQLSink is the BasicCopySink implementation for BlobSink.
36987func (bs BlobSink) AsAzureSQLSink() (*AzureSQLSink, bool) {
36988	return nil, false
36989}
36990
36991// AsSQLServerSink is the BasicCopySink implementation for BlobSink.
36992func (bs BlobSink) AsSQLServerSink() (*SQLServerSink, bool) {
36993	return nil, false
36994}
36995
36996// AsSQLSink is the BasicCopySink implementation for BlobSink.
36997func (bs BlobSink) AsSQLSink() (*SQLSink, bool) {
36998	return nil, false
36999}
37000
37001// AsDocumentDbCollectionSink is the BasicCopySink implementation for BlobSink.
37002func (bs BlobSink) AsDocumentDbCollectionSink() (*DocumentDbCollectionSink, bool) {
37003	return nil, false
37004}
37005
37006// AsFileSystemSink is the BasicCopySink implementation for BlobSink.
37007func (bs BlobSink) AsFileSystemSink() (*FileSystemSink, bool) {
37008	return nil, false
37009}
37010
37011// AsBlobSink is the BasicCopySink implementation for BlobSink.
37012func (bs BlobSink) AsBlobSink() (*BlobSink, bool) {
37013	return &bs, true
37014}
37015
37016// AsBinarySink is the BasicCopySink implementation for BlobSink.
37017func (bs BlobSink) AsBinarySink() (*BinarySink, bool) {
37018	return nil, false
37019}
37020
37021// AsParquetSink is the BasicCopySink implementation for BlobSink.
37022func (bs BlobSink) AsParquetSink() (*ParquetSink, bool) {
37023	return nil, false
37024}
37025
37026// AsAzureTableSink is the BasicCopySink implementation for BlobSink.
37027func (bs BlobSink) AsAzureTableSink() (*AzureTableSink, bool) {
37028	return nil, false
37029}
37030
37031// AsAzureQueueSink is the BasicCopySink implementation for BlobSink.
37032func (bs BlobSink) AsAzureQueueSink() (*AzureQueueSink, bool) {
37033	return nil, false
37034}
37035
37036// AsSapCloudForCustomerSink is the BasicCopySink implementation for BlobSink.
37037func (bs BlobSink) AsSapCloudForCustomerSink() (*SapCloudForCustomerSink, bool) {
37038	return nil, false
37039}
37040
37041// AsAzurePostgreSQLSink is the BasicCopySink implementation for BlobSink.
37042func (bs BlobSink) AsAzurePostgreSQLSink() (*AzurePostgreSQLSink, bool) {
37043	return nil, false
37044}
37045
37046// AsDelimitedTextSink is the BasicCopySink implementation for BlobSink.
37047func (bs BlobSink) AsDelimitedTextSink() (*DelimitedTextSink, bool) {
37048	return nil, false
37049}
37050
37051// AsCopySink is the BasicCopySink implementation for BlobSink.
37052func (bs BlobSink) AsCopySink() (*CopySink, bool) {
37053	return nil, false
37054}
37055
37056// AsBasicCopySink is the BasicCopySink implementation for BlobSink.
37057func (bs BlobSink) AsBasicCopySink() (BasicCopySink, bool) {
37058	return &bs, true
37059}
37060
37061// UnmarshalJSON is the custom unmarshaler for BlobSink struct.
37062func (bs *BlobSink) UnmarshalJSON(body []byte) error {
37063	var m map[string]*json.RawMessage
37064	err := json.Unmarshal(body, &m)
37065	if err != nil {
37066		return err
37067	}
37068	for k, v := range m {
37069		switch k {
37070		case "blobWriterOverwriteFiles":
37071			if v != nil {
37072				var blobWriterOverwriteFiles interface{}
37073				err = json.Unmarshal(*v, &blobWriterOverwriteFiles)
37074				if err != nil {
37075					return err
37076				}
37077				bs.BlobWriterOverwriteFiles = blobWriterOverwriteFiles
37078			}
37079		case "blobWriterDateTimeFormat":
37080			if v != nil {
37081				var blobWriterDateTimeFormat interface{}
37082				err = json.Unmarshal(*v, &blobWriterDateTimeFormat)
37083				if err != nil {
37084					return err
37085				}
37086				bs.BlobWriterDateTimeFormat = blobWriterDateTimeFormat
37087			}
37088		case "blobWriterAddHeader":
37089			if v != nil {
37090				var blobWriterAddHeader interface{}
37091				err = json.Unmarshal(*v, &blobWriterAddHeader)
37092				if err != nil {
37093					return err
37094				}
37095				bs.BlobWriterAddHeader = blobWriterAddHeader
37096			}
37097		case "copyBehavior":
37098			if v != nil {
37099				var copyBehavior interface{}
37100				err = json.Unmarshal(*v, &copyBehavior)
37101				if err != nil {
37102					return err
37103				}
37104				bs.CopyBehavior = copyBehavior
37105			}
37106		default:
37107			if v != nil {
37108				var additionalProperties interface{}
37109				err = json.Unmarshal(*v, &additionalProperties)
37110				if err != nil {
37111					return err
37112				}
37113				if bs.AdditionalProperties == nil {
37114					bs.AdditionalProperties = make(map[string]interface{})
37115				}
37116				bs.AdditionalProperties[k] = additionalProperties
37117			}
37118		case "writeBatchSize":
37119			if v != nil {
37120				var writeBatchSize interface{}
37121				err = json.Unmarshal(*v, &writeBatchSize)
37122				if err != nil {
37123					return err
37124				}
37125				bs.WriteBatchSize = writeBatchSize
37126			}
37127		case "writeBatchTimeout":
37128			if v != nil {
37129				var writeBatchTimeout interface{}
37130				err = json.Unmarshal(*v, &writeBatchTimeout)
37131				if err != nil {
37132					return err
37133				}
37134				bs.WriteBatchTimeout = writeBatchTimeout
37135			}
37136		case "sinkRetryCount":
37137			if v != nil {
37138				var sinkRetryCount interface{}
37139				err = json.Unmarshal(*v, &sinkRetryCount)
37140				if err != nil {
37141					return err
37142				}
37143				bs.SinkRetryCount = sinkRetryCount
37144			}
37145		case "sinkRetryWait":
37146			if v != nil {
37147				var sinkRetryWait interface{}
37148				err = json.Unmarshal(*v, &sinkRetryWait)
37149				if err != nil {
37150					return err
37151				}
37152				bs.SinkRetryWait = sinkRetryWait
37153			}
37154		case "maxConcurrentConnections":
37155			if v != nil {
37156				var maxConcurrentConnections interface{}
37157				err = json.Unmarshal(*v, &maxConcurrentConnections)
37158				if err != nil {
37159					return err
37160				}
37161				bs.MaxConcurrentConnections = maxConcurrentConnections
37162			}
37163		case "type":
37164			if v != nil {
37165				var typeVar TypeBasicCopySink
37166				err = json.Unmarshal(*v, &typeVar)
37167				if err != nil {
37168					return err
37169				}
37170				bs.Type = typeVar
37171			}
37172		}
37173	}
37174
37175	return nil
37176}
37177
37178// BlobSource a copy activity Azure Blob source.
37179type BlobSource struct {
37180	// TreatEmptyAsNull - Treat empty as null. Type: boolean (or Expression with resultType boolean).
37181	TreatEmptyAsNull interface{} `json:"treatEmptyAsNull,omitempty"`
37182	// SkipHeaderLineCount - Number of header lines to skip from each blob. Type: integer (or Expression with resultType integer).
37183	SkipHeaderLineCount interface{} `json:"skipHeaderLineCount,omitempty"`
37184	// Recursive - If true, files under the folder path will be read recursively. Default is true. Type: boolean (or Expression with resultType boolean).
37185	Recursive interface{} `json:"recursive,omitempty"`
37186	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
37187	AdditionalProperties map[string]interface{} `json:""`
37188	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
37189	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
37190	// 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])).
37191	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
37192	// MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer).
37193	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
37194	// Type - Possible values include: 'TypeCopySource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', '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', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeCassandraSource', 'TypeWebSource', 'TypeTeradataSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeAzureMySQLSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeRestSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceServiceCloudSource', 'TypeSalesforceSource', 'TypeODataSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeMicrosoftAccessSource', 'TypeInformixSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAzureTableSource', 'TypeBinarySource', 'TypeDelimitedTextSource', 'TypeParquetSource'
37195	Type TypeBasicCopySource `json:"type,omitempty"`
37196}
37197
37198// MarshalJSON is the custom marshaler for BlobSource.
37199func (bs BlobSource) MarshalJSON() ([]byte, error) {
37200	bs.Type = TypeBlobSource
37201	objectMap := make(map[string]interface{})
37202	if bs.TreatEmptyAsNull != nil {
37203		objectMap["treatEmptyAsNull"] = bs.TreatEmptyAsNull
37204	}
37205	if bs.SkipHeaderLineCount != nil {
37206		objectMap["skipHeaderLineCount"] = bs.SkipHeaderLineCount
37207	}
37208	if bs.Recursive != nil {
37209		objectMap["recursive"] = bs.Recursive
37210	}
37211	if bs.SourceRetryCount != nil {
37212		objectMap["sourceRetryCount"] = bs.SourceRetryCount
37213	}
37214	if bs.SourceRetryWait != nil {
37215		objectMap["sourceRetryWait"] = bs.SourceRetryWait
37216	}
37217	if bs.MaxConcurrentConnections != nil {
37218		objectMap["maxConcurrentConnections"] = bs.MaxConcurrentConnections
37219	}
37220	if bs.Type != "" {
37221		objectMap["type"] = bs.Type
37222	}
37223	for k, v := range bs.AdditionalProperties {
37224		objectMap[k] = v
37225	}
37226	return json.Marshal(objectMap)
37227}
37228
37229// AsAmazonRedshiftSource is the BasicCopySource implementation for BlobSource.
37230func (bs BlobSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
37231	return nil, false
37232}
37233
37234// AsGoogleAdWordsSource is the BasicCopySource implementation for BlobSource.
37235func (bs BlobSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) {
37236	return nil, false
37237}
37238
37239// AsOracleServiceCloudSource is the BasicCopySource implementation for BlobSource.
37240func (bs BlobSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) {
37241	return nil, false
37242}
37243
37244// AsDynamicsAXSource is the BasicCopySource implementation for BlobSource.
37245func (bs BlobSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) {
37246	return nil, false
37247}
37248
37249// AsResponsysSource is the BasicCopySource implementation for BlobSource.
37250func (bs BlobSource) AsResponsysSource() (*ResponsysSource, bool) {
37251	return nil, false
37252}
37253
37254// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for BlobSource.
37255func (bs BlobSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
37256	return nil, false
37257}
37258
37259// AsVerticaSource is the BasicCopySource implementation for BlobSource.
37260func (bs BlobSource) AsVerticaSource() (*VerticaSource, bool) {
37261	return nil, false
37262}
37263
37264// AsNetezzaSource is the BasicCopySource implementation for BlobSource.
37265func (bs BlobSource) AsNetezzaSource() (*NetezzaSource, bool) {
37266	return nil, false
37267}
37268
37269// AsZohoSource is the BasicCopySource implementation for BlobSource.
37270func (bs BlobSource) AsZohoSource() (*ZohoSource, bool) {
37271	return nil, false
37272}
37273
37274// AsXeroSource is the BasicCopySource implementation for BlobSource.
37275func (bs BlobSource) AsXeroSource() (*XeroSource, bool) {
37276	return nil, false
37277}
37278
37279// AsSquareSource is the BasicCopySource implementation for BlobSource.
37280func (bs BlobSource) AsSquareSource() (*SquareSource, bool) {
37281	return nil, false
37282}
37283
37284// AsSparkSource is the BasicCopySource implementation for BlobSource.
37285func (bs BlobSource) AsSparkSource() (*SparkSource, bool) {
37286	return nil, false
37287}
37288
37289// AsShopifySource is the BasicCopySource implementation for BlobSource.
37290func (bs BlobSource) AsShopifySource() (*ShopifySource, bool) {
37291	return nil, false
37292}
37293
37294// AsServiceNowSource is the BasicCopySource implementation for BlobSource.
37295func (bs BlobSource) AsServiceNowSource() (*ServiceNowSource, bool) {
37296	return nil, false
37297}
37298
37299// AsQuickBooksSource is the BasicCopySource implementation for BlobSource.
37300func (bs BlobSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
37301	return nil, false
37302}
37303
37304// AsPrestoSource is the BasicCopySource implementation for BlobSource.
37305func (bs BlobSource) AsPrestoSource() (*PrestoSource, bool) {
37306	return nil, false
37307}
37308
37309// AsPhoenixSource is the BasicCopySource implementation for BlobSource.
37310func (bs BlobSource) AsPhoenixSource() (*PhoenixSource, bool) {
37311	return nil, false
37312}
37313
37314// AsPaypalSource is the BasicCopySource implementation for BlobSource.
37315func (bs BlobSource) AsPaypalSource() (*PaypalSource, bool) {
37316	return nil, false
37317}
37318
37319// AsMarketoSource is the BasicCopySource implementation for BlobSource.
37320func (bs BlobSource) AsMarketoSource() (*MarketoSource, bool) {
37321	return nil, false
37322}
37323
37324// AsMariaDBSource is the BasicCopySource implementation for BlobSource.
37325func (bs BlobSource) AsMariaDBSource() (*MariaDBSource, bool) {
37326	return nil, false
37327}
37328
37329// AsMagentoSource is the BasicCopySource implementation for BlobSource.
37330func (bs BlobSource) AsMagentoSource() (*MagentoSource, bool) {
37331	return nil, false
37332}
37333
37334// AsJiraSource is the BasicCopySource implementation for BlobSource.
37335func (bs BlobSource) AsJiraSource() (*JiraSource, bool) {
37336	return nil, false
37337}
37338
37339// AsImpalaSource is the BasicCopySource implementation for BlobSource.
37340func (bs BlobSource) AsImpalaSource() (*ImpalaSource, bool) {
37341	return nil, false
37342}
37343
37344// AsHubspotSource is the BasicCopySource implementation for BlobSource.
37345func (bs BlobSource) AsHubspotSource() (*HubspotSource, bool) {
37346	return nil, false
37347}
37348
37349// AsHiveSource is the BasicCopySource implementation for BlobSource.
37350func (bs BlobSource) AsHiveSource() (*HiveSource, bool) {
37351	return nil, false
37352}
37353
37354// AsHBaseSource is the BasicCopySource implementation for BlobSource.
37355func (bs BlobSource) AsHBaseSource() (*HBaseSource, bool) {
37356	return nil, false
37357}
37358
37359// AsGreenplumSource is the BasicCopySource implementation for BlobSource.
37360func (bs BlobSource) AsGreenplumSource() (*GreenplumSource, bool) {
37361	return nil, false
37362}
37363
37364// AsGoogleBigQuerySource is the BasicCopySource implementation for BlobSource.
37365func (bs BlobSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
37366	return nil, false
37367}
37368
37369// AsEloquaSource is the BasicCopySource implementation for BlobSource.
37370func (bs BlobSource) AsEloquaSource() (*EloquaSource, bool) {
37371	return nil, false
37372}
37373
37374// AsDrillSource is the BasicCopySource implementation for BlobSource.
37375func (bs BlobSource) AsDrillSource() (*DrillSource, bool) {
37376	return nil, false
37377}
37378
37379// AsCouchbaseSource is the BasicCopySource implementation for BlobSource.
37380func (bs BlobSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
37381	return nil, false
37382}
37383
37384// AsConcurSource is the BasicCopySource implementation for BlobSource.
37385func (bs BlobSource) AsConcurSource() (*ConcurSource, bool) {
37386	return nil, false
37387}
37388
37389// AsAzurePostgreSQLSource is the BasicCopySource implementation for BlobSource.
37390func (bs BlobSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
37391	return nil, false
37392}
37393
37394// AsAmazonMWSSource is the BasicCopySource implementation for BlobSource.
37395func (bs BlobSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
37396	return nil, false
37397}
37398
37399// AsHTTPSource is the BasicCopySource implementation for BlobSource.
37400func (bs BlobSource) AsHTTPSource() (*HTTPSource, bool) {
37401	return nil, false
37402}
37403
37404// AsAzureBlobFSSource is the BasicCopySource implementation for BlobSource.
37405func (bs BlobSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) {
37406	return nil, false
37407}
37408
37409// AsAzureDataLakeStoreSource is the BasicCopySource implementation for BlobSource.
37410func (bs BlobSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
37411	return nil, false
37412}
37413
37414// AsOffice365Source is the BasicCopySource implementation for BlobSource.
37415func (bs BlobSource) AsOffice365Source() (*Office365Source, bool) {
37416	return nil, false
37417}
37418
37419// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for BlobSource.
37420func (bs BlobSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) {
37421	return nil, false
37422}
37423
37424// AsMongoDbV2Source is the BasicCopySource implementation for BlobSource.
37425func (bs BlobSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) {
37426	return nil, false
37427}
37428
37429// AsMongoDbSource is the BasicCopySource implementation for BlobSource.
37430func (bs BlobSource) AsMongoDbSource() (*MongoDbSource, bool) {
37431	return nil, false
37432}
37433
37434// AsCassandraSource is the BasicCopySource implementation for BlobSource.
37435func (bs BlobSource) AsCassandraSource() (*CassandraSource, bool) {
37436	return nil, false
37437}
37438
37439// AsWebSource is the BasicCopySource implementation for BlobSource.
37440func (bs BlobSource) AsWebSource() (*WebSource, bool) {
37441	return nil, false
37442}
37443
37444// AsTeradataSource is the BasicCopySource implementation for BlobSource.
37445func (bs BlobSource) AsTeradataSource() (*TeradataSource, bool) {
37446	return nil, false
37447}
37448
37449// AsOracleSource is the BasicCopySource implementation for BlobSource.
37450func (bs BlobSource) AsOracleSource() (*OracleSource, bool) {
37451	return nil, false
37452}
37453
37454// AsAzureDataExplorerSource is the BasicCopySource implementation for BlobSource.
37455func (bs BlobSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) {
37456	return nil, false
37457}
37458
37459// AsAzureMySQLSource is the BasicCopySource implementation for BlobSource.
37460func (bs BlobSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
37461	return nil, false
37462}
37463
37464// AsHdfsSource is the BasicCopySource implementation for BlobSource.
37465func (bs BlobSource) AsHdfsSource() (*HdfsSource, bool) {
37466	return nil, false
37467}
37468
37469// AsFileSystemSource is the BasicCopySource implementation for BlobSource.
37470func (bs BlobSource) AsFileSystemSource() (*FileSystemSource, bool) {
37471	return nil, false
37472}
37473
37474// AsSQLDWSource is the BasicCopySource implementation for BlobSource.
37475func (bs BlobSource) AsSQLDWSource() (*SQLDWSource, bool) {
37476	return nil, false
37477}
37478
37479// AsSQLMISource is the BasicCopySource implementation for BlobSource.
37480func (bs BlobSource) AsSQLMISource() (*SQLMISource, bool) {
37481	return nil, false
37482}
37483
37484// AsAzureSQLSource is the BasicCopySource implementation for BlobSource.
37485func (bs BlobSource) AsAzureSQLSource() (*AzureSQLSource, bool) {
37486	return nil, false
37487}
37488
37489// AsSQLServerSource is the BasicCopySource implementation for BlobSource.
37490func (bs BlobSource) AsSQLServerSource() (*SQLServerSource, bool) {
37491	return nil, false
37492}
37493
37494// AsSQLSource is the BasicCopySource implementation for BlobSource.
37495func (bs BlobSource) AsSQLSource() (*SQLSource, bool) {
37496	return nil, false
37497}
37498
37499// AsRestSource is the BasicCopySource implementation for BlobSource.
37500func (bs BlobSource) AsRestSource() (*RestSource, bool) {
37501	return nil, false
37502}
37503
37504// AsSapTableSource is the BasicCopySource implementation for BlobSource.
37505func (bs BlobSource) AsSapTableSource() (*SapTableSource, bool) {
37506	return nil, false
37507}
37508
37509// AsSapOpenHubSource is the BasicCopySource implementation for BlobSource.
37510func (bs BlobSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) {
37511	return nil, false
37512}
37513
37514// AsSapHanaSource is the BasicCopySource implementation for BlobSource.
37515func (bs BlobSource) AsSapHanaSource() (*SapHanaSource, bool) {
37516	return nil, false
37517}
37518
37519// AsSapEccSource is the BasicCopySource implementation for BlobSource.
37520func (bs BlobSource) AsSapEccSource() (*SapEccSource, bool) {
37521	return nil, false
37522}
37523
37524// AsSapCloudForCustomerSource is the BasicCopySource implementation for BlobSource.
37525func (bs BlobSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
37526	return nil, false
37527}
37528
37529// AsSalesforceServiceCloudSource is the BasicCopySource implementation for BlobSource.
37530func (bs BlobSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) {
37531	return nil, false
37532}
37533
37534// AsSalesforceSource is the BasicCopySource implementation for BlobSource.
37535func (bs BlobSource) AsSalesforceSource() (*SalesforceSource, bool) {
37536	return nil, false
37537}
37538
37539// AsODataSource is the BasicCopySource implementation for BlobSource.
37540func (bs BlobSource) AsODataSource() (*ODataSource, bool) {
37541	return nil, false
37542}
37543
37544// AsSybaseSource is the BasicCopySource implementation for BlobSource.
37545func (bs BlobSource) AsSybaseSource() (*SybaseSource, bool) {
37546	return nil, false
37547}
37548
37549// AsPostgreSQLSource is the BasicCopySource implementation for BlobSource.
37550func (bs BlobSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) {
37551	return nil, false
37552}
37553
37554// AsMySQLSource is the BasicCopySource implementation for BlobSource.
37555func (bs BlobSource) AsMySQLSource() (*MySQLSource, bool) {
37556	return nil, false
37557}
37558
37559// AsOdbcSource is the BasicCopySource implementation for BlobSource.
37560func (bs BlobSource) AsOdbcSource() (*OdbcSource, bool) {
37561	return nil, false
37562}
37563
37564// AsDb2Source is the BasicCopySource implementation for BlobSource.
37565func (bs BlobSource) AsDb2Source() (*Db2Source, bool) {
37566	return nil, false
37567}
37568
37569// AsMicrosoftAccessSource is the BasicCopySource implementation for BlobSource.
37570func (bs BlobSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) {
37571	return nil, false
37572}
37573
37574// AsInformixSource is the BasicCopySource implementation for BlobSource.
37575func (bs BlobSource) AsInformixSource() (*InformixSource, bool) {
37576	return nil, false
37577}
37578
37579// AsRelationalSource is the BasicCopySource implementation for BlobSource.
37580func (bs BlobSource) AsRelationalSource() (*RelationalSource, bool) {
37581	return nil, false
37582}
37583
37584// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for BlobSource.
37585func (bs BlobSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) {
37586	return nil, false
37587}
37588
37589// AsDynamicsCrmSource is the BasicCopySource implementation for BlobSource.
37590func (bs BlobSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) {
37591	return nil, false
37592}
37593
37594// AsDynamicsSource is the BasicCopySource implementation for BlobSource.
37595func (bs BlobSource) AsDynamicsSource() (*DynamicsSource, bool) {
37596	return nil, false
37597}
37598
37599// AsDocumentDbCollectionSource is the BasicCopySource implementation for BlobSource.
37600func (bs BlobSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
37601	return nil, false
37602}
37603
37604// AsBlobSource is the BasicCopySource implementation for BlobSource.
37605func (bs BlobSource) AsBlobSource() (*BlobSource, bool) {
37606	return &bs, true
37607}
37608
37609// AsAzureTableSource is the BasicCopySource implementation for BlobSource.
37610func (bs BlobSource) AsAzureTableSource() (*AzureTableSource, bool) {
37611	return nil, false
37612}
37613
37614// AsBinarySource is the BasicCopySource implementation for BlobSource.
37615func (bs BlobSource) AsBinarySource() (*BinarySource, bool) {
37616	return nil, false
37617}
37618
37619// AsDelimitedTextSource is the BasicCopySource implementation for BlobSource.
37620func (bs BlobSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) {
37621	return nil, false
37622}
37623
37624// AsParquetSource is the BasicCopySource implementation for BlobSource.
37625func (bs BlobSource) AsParquetSource() (*ParquetSource, bool) {
37626	return nil, false
37627}
37628
37629// AsCopySource is the BasicCopySource implementation for BlobSource.
37630func (bs BlobSource) AsCopySource() (*CopySource, bool) {
37631	return nil, false
37632}
37633
37634// AsBasicCopySource is the BasicCopySource implementation for BlobSource.
37635func (bs BlobSource) AsBasicCopySource() (BasicCopySource, bool) {
37636	return &bs, true
37637}
37638
37639// UnmarshalJSON is the custom unmarshaler for BlobSource struct.
37640func (bs *BlobSource) UnmarshalJSON(body []byte) error {
37641	var m map[string]*json.RawMessage
37642	err := json.Unmarshal(body, &m)
37643	if err != nil {
37644		return err
37645	}
37646	for k, v := range m {
37647		switch k {
37648		case "treatEmptyAsNull":
37649			if v != nil {
37650				var treatEmptyAsNull interface{}
37651				err = json.Unmarshal(*v, &treatEmptyAsNull)
37652				if err != nil {
37653					return err
37654				}
37655				bs.TreatEmptyAsNull = treatEmptyAsNull
37656			}
37657		case "skipHeaderLineCount":
37658			if v != nil {
37659				var skipHeaderLineCount interface{}
37660				err = json.Unmarshal(*v, &skipHeaderLineCount)
37661				if err != nil {
37662					return err
37663				}
37664				bs.SkipHeaderLineCount = skipHeaderLineCount
37665			}
37666		case "recursive":
37667			if v != nil {
37668				var recursive interface{}
37669				err = json.Unmarshal(*v, &recursive)
37670				if err != nil {
37671					return err
37672				}
37673				bs.Recursive = recursive
37674			}
37675		default:
37676			if v != nil {
37677				var additionalProperties interface{}
37678				err = json.Unmarshal(*v, &additionalProperties)
37679				if err != nil {
37680					return err
37681				}
37682				if bs.AdditionalProperties == nil {
37683					bs.AdditionalProperties = make(map[string]interface{})
37684				}
37685				bs.AdditionalProperties[k] = additionalProperties
37686			}
37687		case "sourceRetryCount":
37688			if v != nil {
37689				var sourceRetryCount interface{}
37690				err = json.Unmarshal(*v, &sourceRetryCount)
37691				if err != nil {
37692					return err
37693				}
37694				bs.SourceRetryCount = sourceRetryCount
37695			}
37696		case "sourceRetryWait":
37697			if v != nil {
37698				var sourceRetryWait interface{}
37699				err = json.Unmarshal(*v, &sourceRetryWait)
37700				if err != nil {
37701					return err
37702				}
37703				bs.SourceRetryWait = sourceRetryWait
37704			}
37705		case "maxConcurrentConnections":
37706			if v != nil {
37707				var maxConcurrentConnections interface{}
37708				err = json.Unmarshal(*v, &maxConcurrentConnections)
37709				if err != nil {
37710					return err
37711				}
37712				bs.MaxConcurrentConnections = maxConcurrentConnections
37713			}
37714		case "type":
37715			if v != nil {
37716				var typeVar TypeBasicCopySource
37717				err = json.Unmarshal(*v, &typeVar)
37718				if err != nil {
37719					return err
37720				}
37721				bs.Type = typeVar
37722			}
37723		}
37724	}
37725
37726	return nil
37727}
37728
37729// BlobTrigger trigger that runs every time the selected Blob container changes.
37730type BlobTrigger struct {
37731	// BlobTriggerTypeProperties - Blob Trigger properties.
37732	*BlobTriggerTypeProperties `json:"typeProperties,omitempty"`
37733	// Pipelines - Pipelines that need to be started.
37734	Pipelines *[]TriggerPipelineReference `json:"pipelines,omitempty"`
37735	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
37736	AdditionalProperties map[string]interface{} `json:""`
37737	// Description - Trigger description.
37738	Description *string `json:"description,omitempty"`
37739	// RuntimeState - READ-ONLY; Indicates if trigger is running or not. Updated when Start/Stop APIs are called on the Trigger. Possible values include: 'Started', 'Stopped', 'Disabled'
37740	RuntimeState TriggerRuntimeState `json:"runtimeState,omitempty"`
37741	// Annotations - List of tags that can be used for describing the trigger.
37742	Annotations *[]interface{} `json:"annotations,omitempty"`
37743	// Type - Possible values include: 'TypeTrigger', 'TypeRerunTumblingWindowTrigger', 'TypeTumblingWindowTrigger', 'TypeBlobEventsTrigger', 'TypeBlobTrigger', 'TypeScheduleTrigger', 'TypeMultiplePipelineTrigger'
37744	Type TypeBasicTrigger `json:"type,omitempty"`
37745}
37746
37747// MarshalJSON is the custom marshaler for BlobTrigger.
37748func (bt BlobTrigger) MarshalJSON() ([]byte, error) {
37749	bt.Type = TypeBlobTrigger
37750	objectMap := make(map[string]interface{})
37751	if bt.BlobTriggerTypeProperties != nil {
37752		objectMap["typeProperties"] = bt.BlobTriggerTypeProperties
37753	}
37754	if bt.Pipelines != nil {
37755		objectMap["pipelines"] = bt.Pipelines
37756	}
37757	if bt.Description != nil {
37758		objectMap["description"] = bt.Description
37759	}
37760	if bt.Annotations != nil {
37761		objectMap["annotations"] = bt.Annotations
37762	}
37763	if bt.Type != "" {
37764		objectMap["type"] = bt.Type
37765	}
37766	for k, v := range bt.AdditionalProperties {
37767		objectMap[k] = v
37768	}
37769	return json.Marshal(objectMap)
37770}
37771
37772// AsRerunTumblingWindowTrigger is the BasicTrigger implementation for BlobTrigger.
37773func (bt BlobTrigger) AsRerunTumblingWindowTrigger() (*RerunTumblingWindowTrigger, bool) {
37774	return nil, false
37775}
37776
37777// AsTumblingWindowTrigger is the BasicTrigger implementation for BlobTrigger.
37778func (bt BlobTrigger) AsTumblingWindowTrigger() (*TumblingWindowTrigger, bool) {
37779	return nil, false
37780}
37781
37782// AsBlobEventsTrigger is the BasicTrigger implementation for BlobTrigger.
37783func (bt BlobTrigger) AsBlobEventsTrigger() (*BlobEventsTrigger, bool) {
37784	return nil, false
37785}
37786
37787// AsBlobTrigger is the BasicTrigger implementation for BlobTrigger.
37788func (bt BlobTrigger) AsBlobTrigger() (*BlobTrigger, bool) {
37789	return &bt, true
37790}
37791
37792// AsScheduleTrigger is the BasicTrigger implementation for BlobTrigger.
37793func (bt BlobTrigger) AsScheduleTrigger() (*ScheduleTrigger, bool) {
37794	return nil, false
37795}
37796
37797// AsMultiplePipelineTrigger is the BasicTrigger implementation for BlobTrigger.
37798func (bt BlobTrigger) AsMultiplePipelineTrigger() (*MultiplePipelineTrigger, bool) {
37799	return nil, false
37800}
37801
37802// AsBasicMultiplePipelineTrigger is the BasicTrigger implementation for BlobTrigger.
37803func (bt BlobTrigger) AsBasicMultiplePipelineTrigger() (BasicMultiplePipelineTrigger, bool) {
37804	return &bt, true
37805}
37806
37807// AsTrigger is the BasicTrigger implementation for BlobTrigger.
37808func (bt BlobTrigger) AsTrigger() (*Trigger, bool) {
37809	return nil, false
37810}
37811
37812// AsBasicTrigger is the BasicTrigger implementation for BlobTrigger.
37813func (bt BlobTrigger) AsBasicTrigger() (BasicTrigger, bool) {
37814	return &bt, true
37815}
37816
37817// UnmarshalJSON is the custom unmarshaler for BlobTrigger struct.
37818func (bt *BlobTrigger) UnmarshalJSON(body []byte) error {
37819	var m map[string]*json.RawMessage
37820	err := json.Unmarshal(body, &m)
37821	if err != nil {
37822		return err
37823	}
37824	for k, v := range m {
37825		switch k {
37826		case "typeProperties":
37827			if v != nil {
37828				var blobTriggerTypeProperties BlobTriggerTypeProperties
37829				err = json.Unmarshal(*v, &blobTriggerTypeProperties)
37830				if err != nil {
37831					return err
37832				}
37833				bt.BlobTriggerTypeProperties = &blobTriggerTypeProperties
37834			}
37835		case "pipelines":
37836			if v != nil {
37837				var pipelines []TriggerPipelineReference
37838				err = json.Unmarshal(*v, &pipelines)
37839				if err != nil {
37840					return err
37841				}
37842				bt.Pipelines = &pipelines
37843			}
37844		default:
37845			if v != nil {
37846				var additionalProperties interface{}
37847				err = json.Unmarshal(*v, &additionalProperties)
37848				if err != nil {
37849					return err
37850				}
37851				if bt.AdditionalProperties == nil {
37852					bt.AdditionalProperties = make(map[string]interface{})
37853				}
37854				bt.AdditionalProperties[k] = additionalProperties
37855			}
37856		case "description":
37857			if v != nil {
37858				var description string
37859				err = json.Unmarshal(*v, &description)
37860				if err != nil {
37861					return err
37862				}
37863				bt.Description = &description
37864			}
37865		case "runtimeState":
37866			if v != nil {
37867				var runtimeState TriggerRuntimeState
37868				err = json.Unmarshal(*v, &runtimeState)
37869				if err != nil {
37870					return err
37871				}
37872				bt.RuntimeState = runtimeState
37873			}
37874		case "annotations":
37875			if v != nil {
37876				var annotations []interface{}
37877				err = json.Unmarshal(*v, &annotations)
37878				if err != nil {
37879					return err
37880				}
37881				bt.Annotations = &annotations
37882			}
37883		case "type":
37884			if v != nil {
37885				var typeVar TypeBasicTrigger
37886				err = json.Unmarshal(*v, &typeVar)
37887				if err != nil {
37888					return err
37889				}
37890				bt.Type = typeVar
37891			}
37892		}
37893	}
37894
37895	return nil
37896}
37897
37898// BlobTriggerTypeProperties blob Trigger properties.
37899type BlobTriggerTypeProperties struct {
37900	// FolderPath - The path of the container/folder that will trigger the pipeline.
37901	FolderPath *string `json:"folderPath,omitempty"`
37902	// MaxConcurrency - The max number of parallel files to handle when it is triggered.
37903	MaxConcurrency *int32 `json:"maxConcurrency,omitempty"`
37904	// LinkedService - The Azure Storage linked service reference.
37905	LinkedService *LinkedServiceReference `json:"linkedService,omitempty"`
37906}
37907
37908// CassandraLinkedService linked service for Cassandra data source.
37909type CassandraLinkedService struct {
37910	// CassandraLinkedServiceTypeProperties - Cassandra linked service properties.
37911	*CassandraLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
37912	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
37913	AdditionalProperties map[string]interface{} `json:""`
37914	// ConnectVia - The integration runtime reference.
37915	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
37916	// Description - Linked service description.
37917	Description *string `json:"description,omitempty"`
37918	// Parameters - Parameters for linked service.
37919	Parameters map[string]*ParameterSpecification `json:"parameters"`
37920	// Annotations - List of tags that can be used for describing the linked service.
37921	Annotations *[]interface{} `json:"annotations,omitempty"`
37922	// Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', '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', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage'
37923	Type TypeBasicLinkedService `json:"type,omitempty"`
37924}
37925
37926// MarshalJSON is the custom marshaler for CassandraLinkedService.
37927func (cls CassandraLinkedService) MarshalJSON() ([]byte, error) {
37928	cls.Type = TypeCassandra
37929	objectMap := make(map[string]interface{})
37930	if cls.CassandraLinkedServiceTypeProperties != nil {
37931		objectMap["typeProperties"] = cls.CassandraLinkedServiceTypeProperties
37932	}
37933	if cls.ConnectVia != nil {
37934		objectMap["connectVia"] = cls.ConnectVia
37935	}
37936	if cls.Description != nil {
37937		objectMap["description"] = cls.Description
37938	}
37939	if cls.Parameters != nil {
37940		objectMap["parameters"] = cls.Parameters
37941	}
37942	if cls.Annotations != nil {
37943		objectMap["annotations"] = cls.Annotations
37944	}
37945	if cls.Type != "" {
37946		objectMap["type"] = cls.Type
37947	}
37948	for k, v := range cls.AdditionalProperties {
37949		objectMap[k] = v
37950	}
37951	return json.Marshal(objectMap)
37952}
37953
37954// AsAzureFunctionLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
37955func (cls CassandraLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) {
37956	return nil, false
37957}
37958
37959// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
37960func (cls CassandraLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) {
37961	return nil, false
37962}
37963
37964// AsSapTableLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
37965func (cls CassandraLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) {
37966	return nil, false
37967}
37968
37969// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
37970func (cls CassandraLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) {
37971	return nil, false
37972}
37973
37974// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
37975func (cls CassandraLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) {
37976	return nil, false
37977}
37978
37979// AsDynamicsAXLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
37980func (cls CassandraLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) {
37981	return nil, false
37982}
37983
37984// AsResponsysLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
37985func (cls CassandraLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
37986	return nil, false
37987}
37988
37989// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
37990func (cls CassandraLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
37991	return nil, false
37992}
37993
37994// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
37995func (cls CassandraLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
37996	return nil, false
37997}
37998
37999// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
38000func (cls CassandraLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
38001	return nil, false
38002}
38003
38004// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
38005func (cls CassandraLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
38006	return nil, false
38007}
38008
38009// AsNetezzaLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
38010func (cls CassandraLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
38011	return nil, false
38012}
38013
38014// AsVerticaLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
38015func (cls CassandraLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
38016	return nil, false
38017}
38018
38019// AsZohoLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
38020func (cls CassandraLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
38021	return nil, false
38022}
38023
38024// AsXeroLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
38025func (cls CassandraLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
38026	return nil, false
38027}
38028
38029// AsSquareLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
38030func (cls CassandraLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
38031	return nil, false
38032}
38033
38034// AsSparkLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
38035func (cls CassandraLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
38036	return nil, false
38037}
38038
38039// AsShopifyLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
38040func (cls CassandraLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
38041	return nil, false
38042}
38043
38044// AsServiceNowLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
38045func (cls CassandraLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
38046	return nil, false
38047}
38048
38049// AsQuickBooksLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
38050func (cls CassandraLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
38051	return nil, false
38052}
38053
38054// AsPrestoLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
38055func (cls CassandraLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
38056	return nil, false
38057}
38058
38059// AsPhoenixLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
38060func (cls CassandraLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
38061	return nil, false
38062}
38063
38064// AsPaypalLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
38065func (cls CassandraLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
38066	return nil, false
38067}
38068
38069// AsMarketoLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
38070func (cls CassandraLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
38071	return nil, false
38072}
38073
38074// AsMariaDBLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
38075func (cls CassandraLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
38076	return nil, false
38077}
38078
38079// AsMagentoLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
38080func (cls CassandraLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
38081	return nil, false
38082}
38083
38084// AsJiraLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
38085func (cls CassandraLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
38086	return nil, false
38087}
38088
38089// AsImpalaLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
38090func (cls CassandraLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
38091	return nil, false
38092}
38093
38094// AsHubspotLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
38095func (cls CassandraLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
38096	return nil, false
38097}
38098
38099// AsHiveLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
38100func (cls CassandraLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
38101	return nil, false
38102}
38103
38104// AsHBaseLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
38105func (cls CassandraLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
38106	return nil, false
38107}
38108
38109// AsGreenplumLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
38110func (cls CassandraLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
38111	return nil, false
38112}
38113
38114// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
38115func (cls CassandraLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
38116	return nil, false
38117}
38118
38119// AsEloquaLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
38120func (cls CassandraLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
38121	return nil, false
38122}
38123
38124// AsDrillLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
38125func (cls CassandraLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
38126	return nil, false
38127}
38128
38129// AsCouchbaseLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
38130func (cls CassandraLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
38131	return nil, false
38132}
38133
38134// AsConcurLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
38135func (cls CassandraLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
38136	return nil, false
38137}
38138
38139// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
38140func (cls CassandraLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
38141	return nil, false
38142}
38143
38144// AsAmazonMWSLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
38145func (cls CassandraLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
38146	return nil, false
38147}
38148
38149// AsSapHanaLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
38150func (cls CassandraLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
38151	return nil, false
38152}
38153
38154// AsSapBWLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
38155func (cls CassandraLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
38156	return nil, false
38157}
38158
38159// AsSftpServerLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
38160func (cls CassandraLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
38161	return nil, false
38162}
38163
38164// AsFtpServerLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
38165func (cls CassandraLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
38166	return nil, false
38167}
38168
38169// AsHTTPLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
38170func (cls CassandraLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
38171	return nil, false
38172}
38173
38174// AsAzureSearchLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
38175func (cls CassandraLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
38176	return nil, false
38177}
38178
38179// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
38180func (cls CassandraLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
38181	return nil, false
38182}
38183
38184// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
38185func (cls CassandraLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
38186	return nil, false
38187}
38188
38189// AsAmazonS3LinkedService is the BasicLinkedService implementation for CassandraLinkedService.
38190func (cls CassandraLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
38191	return nil, false
38192}
38193
38194// AsRestServiceLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
38195func (cls CassandraLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) {
38196	return nil, false
38197}
38198
38199// AsSapOpenHubLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
38200func (cls CassandraLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) {
38201	return nil, false
38202}
38203
38204// AsSapEccLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
38205func (cls CassandraLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
38206	return nil, false
38207}
38208
38209// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
38210func (cls CassandraLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
38211	return nil, false
38212}
38213
38214// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
38215func (cls CassandraLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) {
38216	return nil, false
38217}
38218
38219// AsSalesforceLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
38220func (cls CassandraLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
38221	return nil, false
38222}
38223
38224// AsOffice365LinkedService is the BasicLinkedService implementation for CassandraLinkedService.
38225func (cls CassandraLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) {
38226	return nil, false
38227}
38228
38229// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
38230func (cls CassandraLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) {
38231	return nil, false
38232}
38233
38234// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
38235func (cls CassandraLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
38236	return nil, false
38237}
38238
38239// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for CassandraLinkedService.
38240func (cls CassandraLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) {
38241	return nil, false
38242}
38243
38244// AsMongoDbV2LinkedService is the BasicLinkedService implementation for CassandraLinkedService.
38245func (cls CassandraLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) {
38246	return nil, false
38247}
38248
38249// AsMongoDbLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
38250func (cls CassandraLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
38251	return nil, false
38252}
38253
38254// AsCassandraLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
38255func (cls CassandraLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
38256	return &cls, true
38257}
38258
38259// AsWebLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
38260func (cls CassandraLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
38261	return nil, false
38262}
38263
38264// AsODataLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
38265func (cls CassandraLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
38266	return nil, false
38267}
38268
38269// AsHdfsLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
38270func (cls CassandraLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
38271	return nil, false
38272}
38273
38274// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
38275func (cls CassandraLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) {
38276	return nil, false
38277}
38278
38279// AsInformixLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
38280func (cls CassandraLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) {
38281	return nil, false
38282}
38283
38284// AsOdbcLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
38285func (cls CassandraLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
38286	return nil, false
38287}
38288
38289// AsAzureMLLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
38290func (cls CassandraLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
38291	return nil, false
38292}
38293
38294// AsTeradataLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
38295func (cls CassandraLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
38296	return nil, false
38297}
38298
38299// AsDb2LinkedService is the BasicLinkedService implementation for CassandraLinkedService.
38300func (cls CassandraLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
38301	return nil, false
38302}
38303
38304// AsSybaseLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
38305func (cls CassandraLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
38306	return nil, false
38307}
38308
38309// AsPostgreSQLLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
38310func (cls CassandraLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
38311	return nil, false
38312}
38313
38314// AsMySQLLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
38315func (cls CassandraLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
38316	return nil, false
38317}
38318
38319// AsAzureMySQLLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
38320func (cls CassandraLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
38321	return nil, false
38322}
38323
38324// AsOracleLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
38325func (cls CassandraLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
38326	return nil, false
38327}
38328
38329// AsFileServerLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
38330func (cls CassandraLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
38331	return nil, false
38332}
38333
38334// AsHDInsightLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
38335func (cls CassandraLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
38336	return nil, false
38337}
38338
38339// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
38340func (cls CassandraLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) {
38341	return nil, false
38342}
38343
38344// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
38345func (cls CassandraLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) {
38346	return nil, false
38347}
38348
38349// AsDynamicsLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
38350func (cls CassandraLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
38351	return nil, false
38352}
38353
38354// AsCosmosDbLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
38355func (cls CassandraLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
38356	return nil, false
38357}
38358
38359// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
38360func (cls CassandraLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
38361	return nil, false
38362}
38363
38364// AsAzureBatchLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
38365func (cls CassandraLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
38366	return nil, false
38367}
38368
38369// AsAzureSQLMILinkedService is the BasicLinkedService implementation for CassandraLinkedService.
38370func (cls CassandraLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) {
38371	return nil, false
38372}
38373
38374// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
38375func (cls CassandraLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
38376	return nil, false
38377}
38378
38379// AsSQLServerLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
38380func (cls CassandraLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
38381	return nil, false
38382}
38383
38384// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
38385func (cls CassandraLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
38386	return nil, false
38387}
38388
38389// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
38390func (cls CassandraLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) {
38391	return nil, false
38392}
38393
38394// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
38395func (cls CassandraLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) {
38396	return nil, false
38397}
38398
38399// AsAzureStorageLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
38400func (cls CassandraLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
38401	return nil, false
38402}
38403
38404// AsLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
38405func (cls CassandraLinkedService) AsLinkedService() (*LinkedService, bool) {
38406	return nil, false
38407}
38408
38409// AsBasicLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
38410func (cls CassandraLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
38411	return &cls, true
38412}
38413
38414// UnmarshalJSON is the custom unmarshaler for CassandraLinkedService struct.
38415func (cls *CassandraLinkedService) UnmarshalJSON(body []byte) error {
38416	var m map[string]*json.RawMessage
38417	err := json.Unmarshal(body, &m)
38418	if err != nil {
38419		return err
38420	}
38421	for k, v := range m {
38422		switch k {
38423		case "typeProperties":
38424			if v != nil {
38425				var cassandraLinkedServiceTypeProperties CassandraLinkedServiceTypeProperties
38426				err = json.Unmarshal(*v, &cassandraLinkedServiceTypeProperties)
38427				if err != nil {
38428					return err
38429				}
38430				cls.CassandraLinkedServiceTypeProperties = &cassandraLinkedServiceTypeProperties
38431			}
38432		default:
38433			if v != nil {
38434				var additionalProperties interface{}
38435				err = json.Unmarshal(*v, &additionalProperties)
38436				if err != nil {
38437					return err
38438				}
38439				if cls.AdditionalProperties == nil {
38440					cls.AdditionalProperties = make(map[string]interface{})
38441				}
38442				cls.AdditionalProperties[k] = additionalProperties
38443			}
38444		case "connectVia":
38445			if v != nil {
38446				var connectVia IntegrationRuntimeReference
38447				err = json.Unmarshal(*v, &connectVia)
38448				if err != nil {
38449					return err
38450				}
38451				cls.ConnectVia = &connectVia
38452			}
38453		case "description":
38454			if v != nil {
38455				var description string
38456				err = json.Unmarshal(*v, &description)
38457				if err != nil {
38458					return err
38459				}
38460				cls.Description = &description
38461			}
38462		case "parameters":
38463			if v != nil {
38464				var parameters map[string]*ParameterSpecification
38465				err = json.Unmarshal(*v, &parameters)
38466				if err != nil {
38467					return err
38468				}
38469				cls.Parameters = parameters
38470			}
38471		case "annotations":
38472			if v != nil {
38473				var annotations []interface{}
38474				err = json.Unmarshal(*v, &annotations)
38475				if err != nil {
38476					return err
38477				}
38478				cls.Annotations = &annotations
38479			}
38480		case "type":
38481			if v != nil {
38482				var typeVar TypeBasicLinkedService
38483				err = json.Unmarshal(*v, &typeVar)
38484				if err != nil {
38485					return err
38486				}
38487				cls.Type = typeVar
38488			}
38489		}
38490	}
38491
38492	return nil
38493}
38494
38495// CassandraLinkedServiceTypeProperties cassandra linked service properties.
38496type CassandraLinkedServiceTypeProperties struct {
38497	// Host - Host name for connection. Type: string (or Expression with resultType string).
38498	Host interface{} `json:"host,omitempty"`
38499	// AuthenticationType - AuthenticationType to be used for connection. Type: string (or Expression with resultType string).
38500	AuthenticationType interface{} `json:"authenticationType,omitempty"`
38501	// Port - The port for the connection. Type: integer (or Expression with resultType integer).
38502	Port interface{} `json:"port,omitempty"`
38503	// Username - Username for authentication. Type: string (or Expression with resultType string).
38504	Username interface{} `json:"username,omitempty"`
38505	// Password - Password for authentication.
38506	Password BasicSecretBase `json:"password,omitempty"`
38507	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
38508	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
38509}
38510
38511// UnmarshalJSON is the custom unmarshaler for CassandraLinkedServiceTypeProperties struct.
38512func (clstp *CassandraLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
38513	var m map[string]*json.RawMessage
38514	err := json.Unmarshal(body, &m)
38515	if err != nil {
38516		return err
38517	}
38518	for k, v := range m {
38519		switch k {
38520		case "host":
38521			if v != nil {
38522				var host interface{}
38523				err = json.Unmarshal(*v, &host)
38524				if err != nil {
38525					return err
38526				}
38527				clstp.Host = host
38528			}
38529		case "authenticationType":
38530			if v != nil {
38531				var authenticationType interface{}
38532				err = json.Unmarshal(*v, &authenticationType)
38533				if err != nil {
38534					return err
38535				}
38536				clstp.AuthenticationType = authenticationType
38537			}
38538		case "port":
38539			if v != nil {
38540				var port interface{}
38541				err = json.Unmarshal(*v, &port)
38542				if err != nil {
38543					return err
38544				}
38545				clstp.Port = port
38546			}
38547		case "username":
38548			if v != nil {
38549				var username interface{}
38550				err = json.Unmarshal(*v, &username)
38551				if err != nil {
38552					return err
38553				}
38554				clstp.Username = username
38555			}
38556		case "password":
38557			if v != nil {
38558				password, err := unmarshalBasicSecretBase(*v)
38559				if err != nil {
38560					return err
38561				}
38562				clstp.Password = password
38563			}
38564		case "encryptedCredential":
38565			if v != nil {
38566				var encryptedCredential interface{}
38567				err = json.Unmarshal(*v, &encryptedCredential)
38568				if err != nil {
38569					return err
38570				}
38571				clstp.EncryptedCredential = encryptedCredential
38572			}
38573		}
38574	}
38575
38576	return nil
38577}
38578
38579// CassandraSource a copy activity source for a Cassandra database.
38580type CassandraSource struct {
38581	// Query - Database query. Should be a SQL-92 query expression or Cassandra Query Language (CQL) command. Type: string (or Expression with resultType string).
38582	Query interface{} `json:"query,omitempty"`
38583	// 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. Possible values include: 'ALL', 'EACHQUORUM', 'QUORUM', 'LOCALQUORUM', 'ONE', 'TWO', 'THREE', 'LOCALONE', 'SERIAL', 'LOCALSERIAL'
38584	ConsistencyLevel CassandraSourceReadConsistencyLevels `json:"consistencyLevel,omitempty"`
38585	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
38586	AdditionalProperties map[string]interface{} `json:""`
38587	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
38588	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
38589	// 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])).
38590	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
38591	// MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer).
38592	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
38593	// Type - Possible values include: 'TypeCopySource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', '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', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeCassandraSource', 'TypeWebSource', 'TypeTeradataSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeAzureMySQLSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeRestSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceServiceCloudSource', 'TypeSalesforceSource', 'TypeODataSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeMicrosoftAccessSource', 'TypeInformixSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAzureTableSource', 'TypeBinarySource', 'TypeDelimitedTextSource', 'TypeParquetSource'
38594	Type TypeBasicCopySource `json:"type,omitempty"`
38595}
38596
38597// MarshalJSON is the custom marshaler for CassandraSource.
38598func (cs CassandraSource) MarshalJSON() ([]byte, error) {
38599	cs.Type = TypeCassandraSource
38600	objectMap := make(map[string]interface{})
38601	if cs.Query != nil {
38602		objectMap["query"] = cs.Query
38603	}
38604	if cs.ConsistencyLevel != "" {
38605		objectMap["consistencyLevel"] = cs.ConsistencyLevel
38606	}
38607	if cs.SourceRetryCount != nil {
38608		objectMap["sourceRetryCount"] = cs.SourceRetryCount
38609	}
38610	if cs.SourceRetryWait != nil {
38611		objectMap["sourceRetryWait"] = cs.SourceRetryWait
38612	}
38613	if cs.MaxConcurrentConnections != nil {
38614		objectMap["maxConcurrentConnections"] = cs.MaxConcurrentConnections
38615	}
38616	if cs.Type != "" {
38617		objectMap["type"] = cs.Type
38618	}
38619	for k, v := range cs.AdditionalProperties {
38620		objectMap[k] = v
38621	}
38622	return json.Marshal(objectMap)
38623}
38624
38625// AsAmazonRedshiftSource is the BasicCopySource implementation for CassandraSource.
38626func (cs CassandraSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
38627	return nil, false
38628}
38629
38630// AsGoogleAdWordsSource is the BasicCopySource implementation for CassandraSource.
38631func (cs CassandraSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) {
38632	return nil, false
38633}
38634
38635// AsOracleServiceCloudSource is the BasicCopySource implementation for CassandraSource.
38636func (cs CassandraSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) {
38637	return nil, false
38638}
38639
38640// AsDynamicsAXSource is the BasicCopySource implementation for CassandraSource.
38641func (cs CassandraSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) {
38642	return nil, false
38643}
38644
38645// AsResponsysSource is the BasicCopySource implementation for CassandraSource.
38646func (cs CassandraSource) AsResponsysSource() (*ResponsysSource, bool) {
38647	return nil, false
38648}
38649
38650// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for CassandraSource.
38651func (cs CassandraSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
38652	return nil, false
38653}
38654
38655// AsVerticaSource is the BasicCopySource implementation for CassandraSource.
38656func (cs CassandraSource) AsVerticaSource() (*VerticaSource, bool) {
38657	return nil, false
38658}
38659
38660// AsNetezzaSource is the BasicCopySource implementation for CassandraSource.
38661func (cs CassandraSource) AsNetezzaSource() (*NetezzaSource, bool) {
38662	return nil, false
38663}
38664
38665// AsZohoSource is the BasicCopySource implementation for CassandraSource.
38666func (cs CassandraSource) AsZohoSource() (*ZohoSource, bool) {
38667	return nil, false
38668}
38669
38670// AsXeroSource is the BasicCopySource implementation for CassandraSource.
38671func (cs CassandraSource) AsXeroSource() (*XeroSource, bool) {
38672	return nil, false
38673}
38674
38675// AsSquareSource is the BasicCopySource implementation for CassandraSource.
38676func (cs CassandraSource) AsSquareSource() (*SquareSource, bool) {
38677	return nil, false
38678}
38679
38680// AsSparkSource is the BasicCopySource implementation for CassandraSource.
38681func (cs CassandraSource) AsSparkSource() (*SparkSource, bool) {
38682	return nil, false
38683}
38684
38685// AsShopifySource is the BasicCopySource implementation for CassandraSource.
38686func (cs CassandraSource) AsShopifySource() (*ShopifySource, bool) {
38687	return nil, false
38688}
38689
38690// AsServiceNowSource is the BasicCopySource implementation for CassandraSource.
38691func (cs CassandraSource) AsServiceNowSource() (*ServiceNowSource, bool) {
38692	return nil, false
38693}
38694
38695// AsQuickBooksSource is the BasicCopySource implementation for CassandraSource.
38696func (cs CassandraSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
38697	return nil, false
38698}
38699
38700// AsPrestoSource is the BasicCopySource implementation for CassandraSource.
38701func (cs CassandraSource) AsPrestoSource() (*PrestoSource, bool) {
38702	return nil, false
38703}
38704
38705// AsPhoenixSource is the BasicCopySource implementation for CassandraSource.
38706func (cs CassandraSource) AsPhoenixSource() (*PhoenixSource, bool) {
38707	return nil, false
38708}
38709
38710// AsPaypalSource is the BasicCopySource implementation for CassandraSource.
38711func (cs CassandraSource) AsPaypalSource() (*PaypalSource, bool) {
38712	return nil, false
38713}
38714
38715// AsMarketoSource is the BasicCopySource implementation for CassandraSource.
38716func (cs CassandraSource) AsMarketoSource() (*MarketoSource, bool) {
38717	return nil, false
38718}
38719
38720// AsMariaDBSource is the BasicCopySource implementation for CassandraSource.
38721func (cs CassandraSource) AsMariaDBSource() (*MariaDBSource, bool) {
38722	return nil, false
38723}
38724
38725// AsMagentoSource is the BasicCopySource implementation for CassandraSource.
38726func (cs CassandraSource) AsMagentoSource() (*MagentoSource, bool) {
38727	return nil, false
38728}
38729
38730// AsJiraSource is the BasicCopySource implementation for CassandraSource.
38731func (cs CassandraSource) AsJiraSource() (*JiraSource, bool) {
38732	return nil, false
38733}
38734
38735// AsImpalaSource is the BasicCopySource implementation for CassandraSource.
38736func (cs CassandraSource) AsImpalaSource() (*ImpalaSource, bool) {
38737	return nil, false
38738}
38739
38740// AsHubspotSource is the BasicCopySource implementation for CassandraSource.
38741func (cs CassandraSource) AsHubspotSource() (*HubspotSource, bool) {
38742	return nil, false
38743}
38744
38745// AsHiveSource is the BasicCopySource implementation for CassandraSource.
38746func (cs CassandraSource) AsHiveSource() (*HiveSource, bool) {
38747	return nil, false
38748}
38749
38750// AsHBaseSource is the BasicCopySource implementation for CassandraSource.
38751func (cs CassandraSource) AsHBaseSource() (*HBaseSource, bool) {
38752	return nil, false
38753}
38754
38755// AsGreenplumSource is the BasicCopySource implementation for CassandraSource.
38756func (cs CassandraSource) AsGreenplumSource() (*GreenplumSource, bool) {
38757	return nil, false
38758}
38759
38760// AsGoogleBigQuerySource is the BasicCopySource implementation for CassandraSource.
38761func (cs CassandraSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
38762	return nil, false
38763}
38764
38765// AsEloquaSource is the BasicCopySource implementation for CassandraSource.
38766func (cs CassandraSource) AsEloquaSource() (*EloquaSource, bool) {
38767	return nil, false
38768}
38769
38770// AsDrillSource is the BasicCopySource implementation for CassandraSource.
38771func (cs CassandraSource) AsDrillSource() (*DrillSource, bool) {
38772	return nil, false
38773}
38774
38775// AsCouchbaseSource is the BasicCopySource implementation for CassandraSource.
38776func (cs CassandraSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
38777	return nil, false
38778}
38779
38780// AsConcurSource is the BasicCopySource implementation for CassandraSource.
38781func (cs CassandraSource) AsConcurSource() (*ConcurSource, bool) {
38782	return nil, false
38783}
38784
38785// AsAzurePostgreSQLSource is the BasicCopySource implementation for CassandraSource.
38786func (cs CassandraSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
38787	return nil, false
38788}
38789
38790// AsAmazonMWSSource is the BasicCopySource implementation for CassandraSource.
38791func (cs CassandraSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
38792	return nil, false
38793}
38794
38795// AsHTTPSource is the BasicCopySource implementation for CassandraSource.
38796func (cs CassandraSource) AsHTTPSource() (*HTTPSource, bool) {
38797	return nil, false
38798}
38799
38800// AsAzureBlobFSSource is the BasicCopySource implementation for CassandraSource.
38801func (cs CassandraSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) {
38802	return nil, false
38803}
38804
38805// AsAzureDataLakeStoreSource is the BasicCopySource implementation for CassandraSource.
38806func (cs CassandraSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
38807	return nil, false
38808}
38809
38810// AsOffice365Source is the BasicCopySource implementation for CassandraSource.
38811func (cs CassandraSource) AsOffice365Source() (*Office365Source, bool) {
38812	return nil, false
38813}
38814
38815// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for CassandraSource.
38816func (cs CassandraSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) {
38817	return nil, false
38818}
38819
38820// AsMongoDbV2Source is the BasicCopySource implementation for CassandraSource.
38821func (cs CassandraSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) {
38822	return nil, false
38823}
38824
38825// AsMongoDbSource is the BasicCopySource implementation for CassandraSource.
38826func (cs CassandraSource) AsMongoDbSource() (*MongoDbSource, bool) {
38827	return nil, false
38828}
38829
38830// AsCassandraSource is the BasicCopySource implementation for CassandraSource.
38831func (cs CassandraSource) AsCassandraSource() (*CassandraSource, bool) {
38832	return &cs, true
38833}
38834
38835// AsWebSource is the BasicCopySource implementation for CassandraSource.
38836func (cs CassandraSource) AsWebSource() (*WebSource, bool) {
38837	return nil, false
38838}
38839
38840// AsTeradataSource is the BasicCopySource implementation for CassandraSource.
38841func (cs CassandraSource) AsTeradataSource() (*TeradataSource, bool) {
38842	return nil, false
38843}
38844
38845// AsOracleSource is the BasicCopySource implementation for CassandraSource.
38846func (cs CassandraSource) AsOracleSource() (*OracleSource, bool) {
38847	return nil, false
38848}
38849
38850// AsAzureDataExplorerSource is the BasicCopySource implementation for CassandraSource.
38851func (cs CassandraSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) {
38852	return nil, false
38853}
38854
38855// AsAzureMySQLSource is the BasicCopySource implementation for CassandraSource.
38856func (cs CassandraSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
38857	return nil, false
38858}
38859
38860// AsHdfsSource is the BasicCopySource implementation for CassandraSource.
38861func (cs CassandraSource) AsHdfsSource() (*HdfsSource, bool) {
38862	return nil, false
38863}
38864
38865// AsFileSystemSource is the BasicCopySource implementation for CassandraSource.
38866func (cs CassandraSource) AsFileSystemSource() (*FileSystemSource, bool) {
38867	return nil, false
38868}
38869
38870// AsSQLDWSource is the BasicCopySource implementation for CassandraSource.
38871func (cs CassandraSource) AsSQLDWSource() (*SQLDWSource, bool) {
38872	return nil, false
38873}
38874
38875// AsSQLMISource is the BasicCopySource implementation for CassandraSource.
38876func (cs CassandraSource) AsSQLMISource() (*SQLMISource, bool) {
38877	return nil, false
38878}
38879
38880// AsAzureSQLSource is the BasicCopySource implementation for CassandraSource.
38881func (cs CassandraSource) AsAzureSQLSource() (*AzureSQLSource, bool) {
38882	return nil, false
38883}
38884
38885// AsSQLServerSource is the BasicCopySource implementation for CassandraSource.
38886func (cs CassandraSource) AsSQLServerSource() (*SQLServerSource, bool) {
38887	return nil, false
38888}
38889
38890// AsSQLSource is the BasicCopySource implementation for CassandraSource.
38891func (cs CassandraSource) AsSQLSource() (*SQLSource, bool) {
38892	return nil, false
38893}
38894
38895// AsRestSource is the BasicCopySource implementation for CassandraSource.
38896func (cs CassandraSource) AsRestSource() (*RestSource, bool) {
38897	return nil, false
38898}
38899
38900// AsSapTableSource is the BasicCopySource implementation for CassandraSource.
38901func (cs CassandraSource) AsSapTableSource() (*SapTableSource, bool) {
38902	return nil, false
38903}
38904
38905// AsSapOpenHubSource is the BasicCopySource implementation for CassandraSource.
38906func (cs CassandraSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) {
38907	return nil, false
38908}
38909
38910// AsSapHanaSource is the BasicCopySource implementation for CassandraSource.
38911func (cs CassandraSource) AsSapHanaSource() (*SapHanaSource, bool) {
38912	return nil, false
38913}
38914
38915// AsSapEccSource is the BasicCopySource implementation for CassandraSource.
38916func (cs CassandraSource) AsSapEccSource() (*SapEccSource, bool) {
38917	return nil, false
38918}
38919
38920// AsSapCloudForCustomerSource is the BasicCopySource implementation for CassandraSource.
38921func (cs CassandraSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
38922	return nil, false
38923}
38924
38925// AsSalesforceServiceCloudSource is the BasicCopySource implementation for CassandraSource.
38926func (cs CassandraSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) {
38927	return nil, false
38928}
38929
38930// AsSalesforceSource is the BasicCopySource implementation for CassandraSource.
38931func (cs CassandraSource) AsSalesforceSource() (*SalesforceSource, bool) {
38932	return nil, false
38933}
38934
38935// AsODataSource is the BasicCopySource implementation for CassandraSource.
38936func (cs CassandraSource) AsODataSource() (*ODataSource, bool) {
38937	return nil, false
38938}
38939
38940// AsSybaseSource is the BasicCopySource implementation for CassandraSource.
38941func (cs CassandraSource) AsSybaseSource() (*SybaseSource, bool) {
38942	return nil, false
38943}
38944
38945// AsPostgreSQLSource is the BasicCopySource implementation for CassandraSource.
38946func (cs CassandraSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) {
38947	return nil, false
38948}
38949
38950// AsMySQLSource is the BasicCopySource implementation for CassandraSource.
38951func (cs CassandraSource) AsMySQLSource() (*MySQLSource, bool) {
38952	return nil, false
38953}
38954
38955// AsOdbcSource is the BasicCopySource implementation for CassandraSource.
38956func (cs CassandraSource) AsOdbcSource() (*OdbcSource, bool) {
38957	return nil, false
38958}
38959
38960// AsDb2Source is the BasicCopySource implementation for CassandraSource.
38961func (cs CassandraSource) AsDb2Source() (*Db2Source, bool) {
38962	return nil, false
38963}
38964
38965// AsMicrosoftAccessSource is the BasicCopySource implementation for CassandraSource.
38966func (cs CassandraSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) {
38967	return nil, false
38968}
38969
38970// AsInformixSource is the BasicCopySource implementation for CassandraSource.
38971func (cs CassandraSource) AsInformixSource() (*InformixSource, bool) {
38972	return nil, false
38973}
38974
38975// AsRelationalSource is the BasicCopySource implementation for CassandraSource.
38976func (cs CassandraSource) AsRelationalSource() (*RelationalSource, bool) {
38977	return nil, false
38978}
38979
38980// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for CassandraSource.
38981func (cs CassandraSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) {
38982	return nil, false
38983}
38984
38985// AsDynamicsCrmSource is the BasicCopySource implementation for CassandraSource.
38986func (cs CassandraSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) {
38987	return nil, false
38988}
38989
38990// AsDynamicsSource is the BasicCopySource implementation for CassandraSource.
38991func (cs CassandraSource) AsDynamicsSource() (*DynamicsSource, bool) {
38992	return nil, false
38993}
38994
38995// AsDocumentDbCollectionSource is the BasicCopySource implementation for CassandraSource.
38996func (cs CassandraSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
38997	return nil, false
38998}
38999
39000// AsBlobSource is the BasicCopySource implementation for CassandraSource.
39001func (cs CassandraSource) AsBlobSource() (*BlobSource, bool) {
39002	return nil, false
39003}
39004
39005// AsAzureTableSource is the BasicCopySource implementation for CassandraSource.
39006func (cs CassandraSource) AsAzureTableSource() (*AzureTableSource, bool) {
39007	return nil, false
39008}
39009
39010// AsBinarySource is the BasicCopySource implementation for CassandraSource.
39011func (cs CassandraSource) AsBinarySource() (*BinarySource, bool) {
39012	return nil, false
39013}
39014
39015// AsDelimitedTextSource is the BasicCopySource implementation for CassandraSource.
39016func (cs CassandraSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) {
39017	return nil, false
39018}
39019
39020// AsParquetSource is the BasicCopySource implementation for CassandraSource.
39021func (cs CassandraSource) AsParquetSource() (*ParquetSource, bool) {
39022	return nil, false
39023}
39024
39025// AsCopySource is the BasicCopySource implementation for CassandraSource.
39026func (cs CassandraSource) AsCopySource() (*CopySource, bool) {
39027	return nil, false
39028}
39029
39030// AsBasicCopySource is the BasicCopySource implementation for CassandraSource.
39031func (cs CassandraSource) AsBasicCopySource() (BasicCopySource, bool) {
39032	return &cs, true
39033}
39034
39035// UnmarshalJSON is the custom unmarshaler for CassandraSource struct.
39036func (cs *CassandraSource) UnmarshalJSON(body []byte) error {
39037	var m map[string]*json.RawMessage
39038	err := json.Unmarshal(body, &m)
39039	if err != nil {
39040		return err
39041	}
39042	for k, v := range m {
39043		switch k {
39044		case "query":
39045			if v != nil {
39046				var query interface{}
39047				err = json.Unmarshal(*v, &query)
39048				if err != nil {
39049					return err
39050				}
39051				cs.Query = query
39052			}
39053		case "consistencyLevel":
39054			if v != nil {
39055				var consistencyLevel CassandraSourceReadConsistencyLevels
39056				err = json.Unmarshal(*v, &consistencyLevel)
39057				if err != nil {
39058					return err
39059				}
39060				cs.ConsistencyLevel = consistencyLevel
39061			}
39062		default:
39063			if v != nil {
39064				var additionalProperties interface{}
39065				err = json.Unmarshal(*v, &additionalProperties)
39066				if err != nil {
39067					return err
39068				}
39069				if cs.AdditionalProperties == nil {
39070					cs.AdditionalProperties = make(map[string]interface{})
39071				}
39072				cs.AdditionalProperties[k] = additionalProperties
39073			}
39074		case "sourceRetryCount":
39075			if v != nil {
39076				var sourceRetryCount interface{}
39077				err = json.Unmarshal(*v, &sourceRetryCount)
39078				if err != nil {
39079					return err
39080				}
39081				cs.SourceRetryCount = sourceRetryCount
39082			}
39083		case "sourceRetryWait":
39084			if v != nil {
39085				var sourceRetryWait interface{}
39086				err = json.Unmarshal(*v, &sourceRetryWait)
39087				if err != nil {
39088					return err
39089				}
39090				cs.SourceRetryWait = sourceRetryWait
39091			}
39092		case "maxConcurrentConnections":
39093			if v != nil {
39094				var maxConcurrentConnections interface{}
39095				err = json.Unmarshal(*v, &maxConcurrentConnections)
39096				if err != nil {
39097					return err
39098				}
39099				cs.MaxConcurrentConnections = maxConcurrentConnections
39100			}
39101		case "type":
39102			if v != nil {
39103				var typeVar TypeBasicCopySource
39104				err = json.Unmarshal(*v, &typeVar)
39105				if err != nil {
39106					return err
39107				}
39108				cs.Type = typeVar
39109			}
39110		}
39111	}
39112
39113	return nil
39114}
39115
39116// CassandraTableDataset the Cassandra database dataset.
39117type CassandraTableDataset struct {
39118	// CassandraTableDatasetTypeProperties - Cassandra dataset properties.
39119	*CassandraTableDatasetTypeProperties `json:"typeProperties,omitempty"`
39120	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
39121	AdditionalProperties map[string]interface{} `json:""`
39122	// Description - Dataset description.
39123	Description *string `json:"description,omitempty"`
39124	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
39125	Structure interface{} `json:"structure,omitempty"`
39126	// Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement.
39127	Schema interface{} `json:"schema,omitempty"`
39128	// LinkedServiceName - Linked service reference.
39129	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
39130	// Parameters - Parameters for dataset.
39131	Parameters map[string]*ParameterSpecification `json:"parameters"`
39132	// Annotations - List of tags that can be used for describing the Dataset.
39133	Annotations *[]interface{} `json:"annotations,omitempty"`
39134	// Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level.
39135	Folder *DatasetFolder `json:"folder,omitempty"`
39136	// Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', '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', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeDelimitedText', 'TypeParquet', 'TypeAmazonS3Object'
39137	Type TypeBasicDataset `json:"type,omitempty"`
39138}
39139
39140// MarshalJSON is the custom marshaler for CassandraTableDataset.
39141func (ctd CassandraTableDataset) MarshalJSON() ([]byte, error) {
39142	ctd.Type = TypeCassandraTable
39143	objectMap := make(map[string]interface{})
39144	if ctd.CassandraTableDatasetTypeProperties != nil {
39145		objectMap["typeProperties"] = ctd.CassandraTableDatasetTypeProperties
39146	}
39147	if ctd.Description != nil {
39148		objectMap["description"] = ctd.Description
39149	}
39150	if ctd.Structure != nil {
39151		objectMap["structure"] = ctd.Structure
39152	}
39153	if ctd.Schema != nil {
39154		objectMap["schema"] = ctd.Schema
39155	}
39156	if ctd.LinkedServiceName != nil {
39157		objectMap["linkedServiceName"] = ctd.LinkedServiceName
39158	}
39159	if ctd.Parameters != nil {
39160		objectMap["parameters"] = ctd.Parameters
39161	}
39162	if ctd.Annotations != nil {
39163		objectMap["annotations"] = ctd.Annotations
39164	}
39165	if ctd.Folder != nil {
39166		objectMap["folder"] = ctd.Folder
39167	}
39168	if ctd.Type != "" {
39169		objectMap["type"] = ctd.Type
39170	}
39171	for k, v := range ctd.AdditionalProperties {
39172		objectMap[k] = v
39173	}
39174	return json.Marshal(objectMap)
39175}
39176
39177// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for CassandraTableDataset.
39178func (ctd CassandraTableDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) {
39179	return nil, false
39180}
39181
39182// AsAzureDataExplorerTableDataset is the BasicDataset implementation for CassandraTableDataset.
39183func (ctd CassandraTableDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) {
39184	return nil, false
39185}
39186
39187// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for CassandraTableDataset.
39188func (ctd CassandraTableDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) {
39189	return nil, false
39190}
39191
39192// AsDynamicsAXResourceDataset is the BasicDataset implementation for CassandraTableDataset.
39193func (ctd CassandraTableDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) {
39194	return nil, false
39195}
39196
39197// AsResponsysObjectDataset is the BasicDataset implementation for CassandraTableDataset.
39198func (ctd CassandraTableDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
39199	return nil, false
39200}
39201
39202// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for CassandraTableDataset.
39203func (ctd CassandraTableDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
39204	return nil, false
39205}
39206
39207// AsVerticaTableDataset is the BasicDataset implementation for CassandraTableDataset.
39208func (ctd CassandraTableDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
39209	return nil, false
39210}
39211
39212// AsNetezzaTableDataset is the BasicDataset implementation for CassandraTableDataset.
39213func (ctd CassandraTableDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
39214	return nil, false
39215}
39216
39217// AsZohoObjectDataset is the BasicDataset implementation for CassandraTableDataset.
39218func (ctd CassandraTableDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
39219	return nil, false
39220}
39221
39222// AsXeroObjectDataset is the BasicDataset implementation for CassandraTableDataset.
39223func (ctd CassandraTableDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
39224	return nil, false
39225}
39226
39227// AsSquareObjectDataset is the BasicDataset implementation for CassandraTableDataset.
39228func (ctd CassandraTableDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
39229	return nil, false
39230}
39231
39232// AsSparkObjectDataset is the BasicDataset implementation for CassandraTableDataset.
39233func (ctd CassandraTableDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
39234	return nil, false
39235}
39236
39237// AsShopifyObjectDataset is the BasicDataset implementation for CassandraTableDataset.
39238func (ctd CassandraTableDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
39239	return nil, false
39240}
39241
39242// AsServiceNowObjectDataset is the BasicDataset implementation for CassandraTableDataset.
39243func (ctd CassandraTableDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
39244	return nil, false
39245}
39246
39247// AsQuickBooksObjectDataset is the BasicDataset implementation for CassandraTableDataset.
39248func (ctd CassandraTableDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
39249	return nil, false
39250}
39251
39252// AsPrestoObjectDataset is the BasicDataset implementation for CassandraTableDataset.
39253func (ctd CassandraTableDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
39254	return nil, false
39255}
39256
39257// AsPhoenixObjectDataset is the BasicDataset implementation for CassandraTableDataset.
39258func (ctd CassandraTableDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
39259	return nil, false
39260}
39261
39262// AsPaypalObjectDataset is the BasicDataset implementation for CassandraTableDataset.
39263func (ctd CassandraTableDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
39264	return nil, false
39265}
39266
39267// AsMarketoObjectDataset is the BasicDataset implementation for CassandraTableDataset.
39268func (ctd CassandraTableDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
39269	return nil, false
39270}
39271
39272// AsMariaDBTableDataset is the BasicDataset implementation for CassandraTableDataset.
39273func (ctd CassandraTableDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
39274	return nil, false
39275}
39276
39277// AsMagentoObjectDataset is the BasicDataset implementation for CassandraTableDataset.
39278func (ctd CassandraTableDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
39279	return nil, false
39280}
39281
39282// AsJiraObjectDataset is the BasicDataset implementation for CassandraTableDataset.
39283func (ctd CassandraTableDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
39284	return nil, false
39285}
39286
39287// AsImpalaObjectDataset is the BasicDataset implementation for CassandraTableDataset.
39288func (ctd CassandraTableDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
39289	return nil, false
39290}
39291
39292// AsHubspotObjectDataset is the BasicDataset implementation for CassandraTableDataset.
39293func (ctd CassandraTableDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
39294	return nil, false
39295}
39296
39297// AsHiveObjectDataset is the BasicDataset implementation for CassandraTableDataset.
39298func (ctd CassandraTableDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
39299	return nil, false
39300}
39301
39302// AsHBaseObjectDataset is the BasicDataset implementation for CassandraTableDataset.
39303func (ctd CassandraTableDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
39304	return nil, false
39305}
39306
39307// AsGreenplumTableDataset is the BasicDataset implementation for CassandraTableDataset.
39308func (ctd CassandraTableDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
39309	return nil, false
39310}
39311
39312// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for CassandraTableDataset.
39313func (ctd CassandraTableDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
39314	return nil, false
39315}
39316
39317// AsEloquaObjectDataset is the BasicDataset implementation for CassandraTableDataset.
39318func (ctd CassandraTableDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
39319	return nil, false
39320}
39321
39322// AsDrillTableDataset is the BasicDataset implementation for CassandraTableDataset.
39323func (ctd CassandraTableDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
39324	return nil, false
39325}
39326
39327// AsCouchbaseTableDataset is the BasicDataset implementation for CassandraTableDataset.
39328func (ctd CassandraTableDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
39329	return nil, false
39330}
39331
39332// AsConcurObjectDataset is the BasicDataset implementation for CassandraTableDataset.
39333func (ctd CassandraTableDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
39334	return nil, false
39335}
39336
39337// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for CassandraTableDataset.
39338func (ctd CassandraTableDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
39339	return nil, false
39340}
39341
39342// AsAmazonMWSObjectDataset is the BasicDataset implementation for CassandraTableDataset.
39343func (ctd CassandraTableDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
39344	return nil, false
39345}
39346
39347// AsHTTPDataset is the BasicDataset implementation for CassandraTableDataset.
39348func (ctd CassandraTableDataset) AsHTTPDataset() (*HTTPDataset, bool) {
39349	return nil, false
39350}
39351
39352// AsAzureSearchIndexDataset is the BasicDataset implementation for CassandraTableDataset.
39353func (ctd CassandraTableDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
39354	return nil, false
39355}
39356
39357// AsWebTableDataset is the BasicDataset implementation for CassandraTableDataset.
39358func (ctd CassandraTableDataset) AsWebTableDataset() (*WebTableDataset, bool) {
39359	return nil, false
39360}
39361
39362// AsSapTableResourceDataset is the BasicDataset implementation for CassandraTableDataset.
39363func (ctd CassandraTableDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) {
39364	return nil, false
39365}
39366
39367// AsRestResourceDataset is the BasicDataset implementation for CassandraTableDataset.
39368func (ctd CassandraTableDataset) AsRestResourceDataset() (*RestResourceDataset, bool) {
39369	return nil, false
39370}
39371
39372// AsSQLServerTableDataset is the BasicDataset implementation for CassandraTableDataset.
39373func (ctd CassandraTableDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
39374	return nil, false
39375}
39376
39377// AsSapOpenHubTableDataset is the BasicDataset implementation for CassandraTableDataset.
39378func (ctd CassandraTableDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) {
39379	return nil, false
39380}
39381
39382// AsSapHanaTableDataset is the BasicDataset implementation for CassandraTableDataset.
39383func (ctd CassandraTableDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) {
39384	return nil, false
39385}
39386
39387// AsSapEccResourceDataset is the BasicDataset implementation for CassandraTableDataset.
39388func (ctd CassandraTableDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
39389	return nil, false
39390}
39391
39392// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for CassandraTableDataset.
39393func (ctd CassandraTableDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
39394	return nil, false
39395}
39396
39397// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for CassandraTableDataset.
39398func (ctd CassandraTableDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) {
39399	return nil, false
39400}
39401
39402// AsSalesforceObjectDataset is the BasicDataset implementation for CassandraTableDataset.
39403func (ctd CassandraTableDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
39404	return nil, false
39405}
39406
39407// AsMicrosoftAccessTableDataset is the BasicDataset implementation for CassandraTableDataset.
39408func (ctd CassandraTableDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) {
39409	return nil, false
39410}
39411
39412// AsPostgreSQLTableDataset is the BasicDataset implementation for CassandraTableDataset.
39413func (ctd CassandraTableDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) {
39414	return nil, false
39415}
39416
39417// AsMySQLTableDataset is the BasicDataset implementation for CassandraTableDataset.
39418func (ctd CassandraTableDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) {
39419	return nil, false
39420}
39421
39422// AsOdbcTableDataset is the BasicDataset implementation for CassandraTableDataset.
39423func (ctd CassandraTableDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) {
39424	return nil, false
39425}
39426
39427// AsInformixTableDataset is the BasicDataset implementation for CassandraTableDataset.
39428func (ctd CassandraTableDataset) AsInformixTableDataset() (*InformixTableDataset, bool) {
39429	return nil, false
39430}
39431
39432// AsRelationalTableDataset is the BasicDataset implementation for CassandraTableDataset.
39433func (ctd CassandraTableDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
39434	return nil, false
39435}
39436
39437// AsAzureMySQLTableDataset is the BasicDataset implementation for CassandraTableDataset.
39438func (ctd CassandraTableDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
39439	return nil, false
39440}
39441
39442// AsTeradataTableDataset is the BasicDataset implementation for CassandraTableDataset.
39443func (ctd CassandraTableDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) {
39444	return nil, false
39445}
39446
39447// AsOracleTableDataset is the BasicDataset implementation for CassandraTableDataset.
39448func (ctd CassandraTableDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
39449	return nil, false
39450}
39451
39452// AsODataResourceDataset is the BasicDataset implementation for CassandraTableDataset.
39453func (ctd CassandraTableDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
39454	return nil, false
39455}
39456
39457// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for CassandraTableDataset.
39458func (ctd CassandraTableDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) {
39459	return nil, false
39460}
39461
39462// AsMongoDbV2CollectionDataset is the BasicDataset implementation for CassandraTableDataset.
39463func (ctd CassandraTableDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) {
39464	return nil, false
39465}
39466
39467// AsMongoDbCollectionDataset is the BasicDataset implementation for CassandraTableDataset.
39468func (ctd CassandraTableDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
39469	return nil, false
39470}
39471
39472// AsFileShareDataset is the BasicDataset implementation for CassandraTableDataset.
39473func (ctd CassandraTableDataset) AsFileShareDataset() (*FileShareDataset, bool) {
39474	return nil, false
39475}
39476
39477// AsOffice365Dataset is the BasicDataset implementation for CassandraTableDataset.
39478func (ctd CassandraTableDataset) AsOffice365Dataset() (*Office365Dataset, bool) {
39479	return nil, false
39480}
39481
39482// AsAzureBlobFSDataset is the BasicDataset implementation for CassandraTableDataset.
39483func (ctd CassandraTableDataset) AsAzureBlobFSDataset() (*AzureBlobFSDataset, bool) {
39484	return nil, false
39485}
39486
39487// AsAzureDataLakeStoreDataset is the BasicDataset implementation for CassandraTableDataset.
39488func (ctd CassandraTableDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) {
39489	return nil, false
39490}
39491
39492// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for CassandraTableDataset.
39493func (ctd CassandraTableDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) {
39494	return nil, false
39495}
39496
39497// AsDynamicsCrmEntityDataset is the BasicDataset implementation for CassandraTableDataset.
39498func (ctd CassandraTableDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) {
39499	return nil, false
39500}
39501
39502// AsDynamicsEntityDataset is the BasicDataset implementation for CassandraTableDataset.
39503func (ctd CassandraTableDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
39504	return nil, false
39505}
39506
39507// AsDocumentDbCollectionDataset is the BasicDataset implementation for CassandraTableDataset.
39508func (ctd CassandraTableDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
39509	return nil, false
39510}
39511
39512// AsCustomDataset is the BasicDataset implementation for CassandraTableDataset.
39513func (ctd CassandraTableDataset) AsCustomDataset() (*CustomDataset, bool) {
39514	return nil, false
39515}
39516
39517// AsCassandraTableDataset is the BasicDataset implementation for CassandraTableDataset.
39518func (ctd CassandraTableDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
39519	return &ctd, true
39520}
39521
39522// AsAzureSQLDWTableDataset is the BasicDataset implementation for CassandraTableDataset.
39523func (ctd CassandraTableDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
39524	return nil, false
39525}
39526
39527// AsAzureSQLMITableDataset is the BasicDataset implementation for CassandraTableDataset.
39528func (ctd CassandraTableDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) {
39529	return nil, false
39530}
39531
39532// AsAzureSQLTableDataset is the BasicDataset implementation for CassandraTableDataset.
39533func (ctd CassandraTableDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
39534	return nil, false
39535}
39536
39537// AsAzureTableDataset is the BasicDataset implementation for CassandraTableDataset.
39538func (ctd CassandraTableDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
39539	return nil, false
39540}
39541
39542// AsAzureBlobDataset is the BasicDataset implementation for CassandraTableDataset.
39543func (ctd CassandraTableDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) {
39544	return nil, false
39545}
39546
39547// AsBinaryDataset is the BasicDataset implementation for CassandraTableDataset.
39548func (ctd CassandraTableDataset) AsBinaryDataset() (*BinaryDataset, bool) {
39549	return nil, false
39550}
39551
39552// AsDelimitedTextDataset is the BasicDataset implementation for CassandraTableDataset.
39553func (ctd CassandraTableDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) {
39554	return nil, false
39555}
39556
39557// AsParquetDataset is the BasicDataset implementation for CassandraTableDataset.
39558func (ctd CassandraTableDataset) AsParquetDataset() (*ParquetDataset, bool) {
39559	return nil, false
39560}
39561
39562// AsAmazonS3Dataset is the BasicDataset implementation for CassandraTableDataset.
39563func (ctd CassandraTableDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) {
39564	return nil, false
39565}
39566
39567// AsDataset is the BasicDataset implementation for CassandraTableDataset.
39568func (ctd CassandraTableDataset) AsDataset() (*Dataset, bool) {
39569	return nil, false
39570}
39571
39572// AsBasicDataset is the BasicDataset implementation for CassandraTableDataset.
39573func (ctd CassandraTableDataset) AsBasicDataset() (BasicDataset, bool) {
39574	return &ctd, true
39575}
39576
39577// UnmarshalJSON is the custom unmarshaler for CassandraTableDataset struct.
39578func (ctd *CassandraTableDataset) UnmarshalJSON(body []byte) error {
39579	var m map[string]*json.RawMessage
39580	err := json.Unmarshal(body, &m)
39581	if err != nil {
39582		return err
39583	}
39584	for k, v := range m {
39585		switch k {
39586		case "typeProperties":
39587			if v != nil {
39588				var cassandraTableDatasetTypeProperties CassandraTableDatasetTypeProperties
39589				err = json.Unmarshal(*v, &cassandraTableDatasetTypeProperties)
39590				if err != nil {
39591					return err
39592				}
39593				ctd.CassandraTableDatasetTypeProperties = &cassandraTableDatasetTypeProperties
39594			}
39595		default:
39596			if v != nil {
39597				var additionalProperties interface{}
39598				err = json.Unmarshal(*v, &additionalProperties)
39599				if err != nil {
39600					return err
39601				}
39602				if ctd.AdditionalProperties == nil {
39603					ctd.AdditionalProperties = make(map[string]interface{})
39604				}
39605				ctd.AdditionalProperties[k] = additionalProperties
39606			}
39607		case "description":
39608			if v != nil {
39609				var description string
39610				err = json.Unmarshal(*v, &description)
39611				if err != nil {
39612					return err
39613				}
39614				ctd.Description = &description
39615			}
39616		case "structure":
39617			if v != nil {
39618				var structure interface{}
39619				err = json.Unmarshal(*v, &structure)
39620				if err != nil {
39621					return err
39622				}
39623				ctd.Structure = structure
39624			}
39625		case "schema":
39626			if v != nil {
39627				var schema interface{}
39628				err = json.Unmarshal(*v, &schema)
39629				if err != nil {
39630					return err
39631				}
39632				ctd.Schema = schema
39633			}
39634		case "linkedServiceName":
39635			if v != nil {
39636				var linkedServiceName LinkedServiceReference
39637				err = json.Unmarshal(*v, &linkedServiceName)
39638				if err != nil {
39639					return err
39640				}
39641				ctd.LinkedServiceName = &linkedServiceName
39642			}
39643		case "parameters":
39644			if v != nil {
39645				var parameters map[string]*ParameterSpecification
39646				err = json.Unmarshal(*v, &parameters)
39647				if err != nil {
39648					return err
39649				}
39650				ctd.Parameters = parameters
39651			}
39652		case "annotations":
39653			if v != nil {
39654				var annotations []interface{}
39655				err = json.Unmarshal(*v, &annotations)
39656				if err != nil {
39657					return err
39658				}
39659				ctd.Annotations = &annotations
39660			}
39661		case "folder":
39662			if v != nil {
39663				var folder DatasetFolder
39664				err = json.Unmarshal(*v, &folder)
39665				if err != nil {
39666					return err
39667				}
39668				ctd.Folder = &folder
39669			}
39670		case "type":
39671			if v != nil {
39672				var typeVar TypeBasicDataset
39673				err = json.Unmarshal(*v, &typeVar)
39674				if err != nil {
39675					return err
39676				}
39677				ctd.Type = typeVar
39678			}
39679		}
39680	}
39681
39682	return nil
39683}
39684
39685// CassandraTableDatasetTypeProperties cassandra dataset properties.
39686type CassandraTableDatasetTypeProperties struct {
39687	// TableName - The table name of the Cassandra database. Type: string (or Expression with resultType string).
39688	TableName interface{} `json:"tableName,omitempty"`
39689	// Keyspace - The keyspace of the Cassandra database. Type: string (or Expression with resultType string).
39690	Keyspace interface{} `json:"keyspace,omitempty"`
39691}
39692
39693// CloudError the object that defines the structure of an Azure Data Factory error response.
39694type CloudError struct {
39695	// CloudErrorBody - Error data
39696	*CloudErrorBody `json:"error,omitempty"`
39697}
39698
39699// MarshalJSON is the custom marshaler for CloudError.
39700func (ce CloudError) MarshalJSON() ([]byte, error) {
39701	objectMap := make(map[string]interface{})
39702	if ce.CloudErrorBody != nil {
39703		objectMap["error"] = ce.CloudErrorBody
39704	}
39705	return json.Marshal(objectMap)
39706}
39707
39708// UnmarshalJSON is the custom unmarshaler for CloudError struct.
39709func (ce *CloudError) UnmarshalJSON(body []byte) error {
39710	var m map[string]*json.RawMessage
39711	err := json.Unmarshal(body, &m)
39712	if err != nil {
39713		return err
39714	}
39715	for k, v := range m {
39716		switch k {
39717		case "error":
39718			if v != nil {
39719				var cloudErrorBody CloudErrorBody
39720				err = json.Unmarshal(*v, &cloudErrorBody)
39721				if err != nil {
39722					return err
39723				}
39724				ce.CloudErrorBody = &cloudErrorBody
39725			}
39726		}
39727	}
39728
39729	return nil
39730}
39731
39732// CloudErrorBody the object that defines the structure of an Azure Data Factory error.
39733type CloudErrorBody struct {
39734	// Code - Error code.
39735	Code *string `json:"code,omitempty"`
39736	// Message - Error message.
39737	Message *string `json:"message,omitempty"`
39738	// Target - Property name/path in request associated with error.
39739	Target *string `json:"target,omitempty"`
39740	// Details - Array with additional error details.
39741	Details *[]CloudError `json:"details,omitempty"`
39742}
39743
39744// CommonDataServiceForAppsEntityDataset the Common Data Service for Apps entity dataset.
39745type CommonDataServiceForAppsEntityDataset struct {
39746	// CommonDataServiceForAppsEntityDatasetTypeProperties - Common Data Service for Apps entity dataset properties.
39747	*CommonDataServiceForAppsEntityDatasetTypeProperties `json:"typeProperties,omitempty"`
39748	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
39749	AdditionalProperties map[string]interface{} `json:""`
39750	// Description - Dataset description.
39751	Description *string `json:"description,omitempty"`
39752	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
39753	Structure interface{} `json:"structure,omitempty"`
39754	// Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement.
39755	Schema interface{} `json:"schema,omitempty"`
39756	// LinkedServiceName - Linked service reference.
39757	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
39758	// Parameters - Parameters for dataset.
39759	Parameters map[string]*ParameterSpecification `json:"parameters"`
39760	// Annotations - List of tags that can be used for describing the Dataset.
39761	Annotations *[]interface{} `json:"annotations,omitempty"`
39762	// Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level.
39763	Folder *DatasetFolder `json:"folder,omitempty"`
39764	// Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', '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', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeDelimitedText', 'TypeParquet', 'TypeAmazonS3Object'
39765	Type TypeBasicDataset `json:"type,omitempty"`
39766}
39767
39768// MarshalJSON is the custom marshaler for CommonDataServiceForAppsEntityDataset.
39769func (cdsfaed CommonDataServiceForAppsEntityDataset) MarshalJSON() ([]byte, error) {
39770	cdsfaed.Type = TypeCommonDataServiceForAppsEntity
39771	objectMap := make(map[string]interface{})
39772	if cdsfaed.CommonDataServiceForAppsEntityDatasetTypeProperties != nil {
39773		objectMap["typeProperties"] = cdsfaed.CommonDataServiceForAppsEntityDatasetTypeProperties
39774	}
39775	if cdsfaed.Description != nil {
39776		objectMap["description"] = cdsfaed.Description
39777	}
39778	if cdsfaed.Structure != nil {
39779		objectMap["structure"] = cdsfaed.Structure
39780	}
39781	if cdsfaed.Schema != nil {
39782		objectMap["schema"] = cdsfaed.Schema
39783	}
39784	if cdsfaed.LinkedServiceName != nil {
39785		objectMap["linkedServiceName"] = cdsfaed.LinkedServiceName
39786	}
39787	if cdsfaed.Parameters != nil {
39788		objectMap["parameters"] = cdsfaed.Parameters
39789	}
39790	if cdsfaed.Annotations != nil {
39791		objectMap["annotations"] = cdsfaed.Annotations
39792	}
39793	if cdsfaed.Folder != nil {
39794		objectMap["folder"] = cdsfaed.Folder
39795	}
39796	if cdsfaed.Type != "" {
39797		objectMap["type"] = cdsfaed.Type
39798	}
39799	for k, v := range cdsfaed.AdditionalProperties {
39800		objectMap[k] = v
39801	}
39802	return json.Marshal(objectMap)
39803}
39804
39805// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset.
39806func (cdsfaed CommonDataServiceForAppsEntityDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) {
39807	return nil, false
39808}
39809
39810// AsAzureDataExplorerTableDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset.
39811func (cdsfaed CommonDataServiceForAppsEntityDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) {
39812	return nil, false
39813}
39814
39815// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset.
39816func (cdsfaed CommonDataServiceForAppsEntityDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) {
39817	return nil, false
39818}
39819
39820// AsDynamicsAXResourceDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset.
39821func (cdsfaed CommonDataServiceForAppsEntityDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) {
39822	return nil, false
39823}
39824
39825// AsResponsysObjectDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset.
39826func (cdsfaed CommonDataServiceForAppsEntityDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
39827	return nil, false
39828}
39829
39830// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset.
39831func (cdsfaed CommonDataServiceForAppsEntityDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
39832	return nil, false
39833}
39834
39835// AsVerticaTableDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset.
39836func (cdsfaed CommonDataServiceForAppsEntityDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
39837	return nil, false
39838}
39839
39840// AsNetezzaTableDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset.
39841func (cdsfaed CommonDataServiceForAppsEntityDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
39842	return nil, false
39843}
39844
39845// AsZohoObjectDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset.
39846func (cdsfaed CommonDataServiceForAppsEntityDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
39847	return nil, false
39848}
39849
39850// AsXeroObjectDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset.
39851func (cdsfaed CommonDataServiceForAppsEntityDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
39852	return nil, false
39853}
39854
39855// AsSquareObjectDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset.
39856func (cdsfaed CommonDataServiceForAppsEntityDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
39857	return nil, false
39858}
39859
39860// AsSparkObjectDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset.
39861func (cdsfaed CommonDataServiceForAppsEntityDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
39862	return nil, false
39863}
39864
39865// AsShopifyObjectDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset.
39866func (cdsfaed CommonDataServiceForAppsEntityDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
39867	return nil, false
39868}
39869
39870// AsServiceNowObjectDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset.
39871func (cdsfaed CommonDataServiceForAppsEntityDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
39872	return nil, false
39873}
39874
39875// AsQuickBooksObjectDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset.
39876func (cdsfaed CommonDataServiceForAppsEntityDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
39877	return nil, false
39878}
39879
39880// AsPrestoObjectDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset.
39881func (cdsfaed CommonDataServiceForAppsEntityDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
39882	return nil, false
39883}
39884
39885// AsPhoenixObjectDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset.
39886func (cdsfaed CommonDataServiceForAppsEntityDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
39887	return nil, false
39888}
39889
39890// AsPaypalObjectDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset.
39891func (cdsfaed CommonDataServiceForAppsEntityDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
39892	return nil, false
39893}
39894
39895// AsMarketoObjectDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset.
39896func (cdsfaed CommonDataServiceForAppsEntityDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
39897	return nil, false
39898}
39899
39900// AsMariaDBTableDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset.
39901func (cdsfaed CommonDataServiceForAppsEntityDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
39902	return nil, false
39903}
39904
39905// AsMagentoObjectDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset.
39906func (cdsfaed CommonDataServiceForAppsEntityDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
39907	return nil, false
39908}
39909
39910// AsJiraObjectDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset.
39911func (cdsfaed CommonDataServiceForAppsEntityDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
39912	return nil, false
39913}
39914
39915// AsImpalaObjectDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset.
39916func (cdsfaed CommonDataServiceForAppsEntityDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
39917	return nil, false
39918}
39919
39920// AsHubspotObjectDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset.
39921func (cdsfaed CommonDataServiceForAppsEntityDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
39922	return nil, false
39923}
39924
39925// AsHiveObjectDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset.
39926func (cdsfaed CommonDataServiceForAppsEntityDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
39927	return nil, false
39928}
39929
39930// AsHBaseObjectDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset.
39931func (cdsfaed CommonDataServiceForAppsEntityDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
39932	return nil, false
39933}
39934
39935// AsGreenplumTableDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset.
39936func (cdsfaed CommonDataServiceForAppsEntityDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
39937	return nil, false
39938}
39939
39940// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset.
39941func (cdsfaed CommonDataServiceForAppsEntityDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
39942	return nil, false
39943}
39944
39945// AsEloquaObjectDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset.
39946func (cdsfaed CommonDataServiceForAppsEntityDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
39947	return nil, false
39948}
39949
39950// AsDrillTableDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset.
39951func (cdsfaed CommonDataServiceForAppsEntityDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
39952	return nil, false
39953}
39954
39955// AsCouchbaseTableDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset.
39956func (cdsfaed CommonDataServiceForAppsEntityDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
39957	return nil, false
39958}
39959
39960// AsConcurObjectDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset.
39961func (cdsfaed CommonDataServiceForAppsEntityDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
39962	return nil, false
39963}
39964
39965// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset.
39966func (cdsfaed CommonDataServiceForAppsEntityDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
39967	return nil, false
39968}
39969
39970// AsAmazonMWSObjectDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset.
39971func (cdsfaed CommonDataServiceForAppsEntityDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
39972	return nil, false
39973}
39974
39975// AsHTTPDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset.
39976func (cdsfaed CommonDataServiceForAppsEntityDataset) AsHTTPDataset() (*HTTPDataset, bool) {
39977	return nil, false
39978}
39979
39980// AsAzureSearchIndexDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset.
39981func (cdsfaed CommonDataServiceForAppsEntityDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
39982	return nil, false
39983}
39984
39985// AsWebTableDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset.
39986func (cdsfaed CommonDataServiceForAppsEntityDataset) AsWebTableDataset() (*WebTableDataset, bool) {
39987	return nil, false
39988}
39989
39990// AsSapTableResourceDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset.
39991func (cdsfaed CommonDataServiceForAppsEntityDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) {
39992	return nil, false
39993}
39994
39995// AsRestResourceDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset.
39996func (cdsfaed CommonDataServiceForAppsEntityDataset) AsRestResourceDataset() (*RestResourceDataset, bool) {
39997	return nil, false
39998}
39999
40000// AsSQLServerTableDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset.
40001func (cdsfaed CommonDataServiceForAppsEntityDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
40002	return nil, false
40003}
40004
40005// AsSapOpenHubTableDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset.
40006func (cdsfaed CommonDataServiceForAppsEntityDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) {
40007	return nil, false
40008}
40009
40010// AsSapHanaTableDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset.
40011func (cdsfaed CommonDataServiceForAppsEntityDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) {
40012	return nil, false
40013}
40014
40015// AsSapEccResourceDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset.
40016func (cdsfaed CommonDataServiceForAppsEntityDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
40017	return nil, false
40018}
40019
40020// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset.
40021func (cdsfaed CommonDataServiceForAppsEntityDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
40022	return nil, false
40023}
40024
40025// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset.
40026func (cdsfaed CommonDataServiceForAppsEntityDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) {
40027	return nil, false
40028}
40029
40030// AsSalesforceObjectDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset.
40031func (cdsfaed CommonDataServiceForAppsEntityDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
40032	return nil, false
40033}
40034
40035// AsMicrosoftAccessTableDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset.
40036func (cdsfaed CommonDataServiceForAppsEntityDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) {
40037	return nil, false
40038}
40039
40040// AsPostgreSQLTableDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset.
40041func (cdsfaed CommonDataServiceForAppsEntityDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) {
40042	return nil, false
40043}
40044
40045// AsMySQLTableDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset.
40046func (cdsfaed CommonDataServiceForAppsEntityDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) {
40047	return nil, false
40048}
40049
40050// AsOdbcTableDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset.
40051func (cdsfaed CommonDataServiceForAppsEntityDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) {
40052	return nil, false
40053}
40054
40055// AsInformixTableDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset.
40056func (cdsfaed CommonDataServiceForAppsEntityDataset) AsInformixTableDataset() (*InformixTableDataset, bool) {
40057	return nil, false
40058}
40059
40060// AsRelationalTableDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset.
40061func (cdsfaed CommonDataServiceForAppsEntityDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
40062	return nil, false
40063}
40064
40065// AsAzureMySQLTableDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset.
40066func (cdsfaed CommonDataServiceForAppsEntityDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
40067	return nil, false
40068}
40069
40070// AsTeradataTableDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset.
40071func (cdsfaed CommonDataServiceForAppsEntityDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) {
40072	return nil, false
40073}
40074
40075// AsOracleTableDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset.
40076func (cdsfaed CommonDataServiceForAppsEntityDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
40077	return nil, false
40078}
40079
40080// AsODataResourceDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset.
40081func (cdsfaed CommonDataServiceForAppsEntityDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
40082	return nil, false
40083}
40084
40085// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset.
40086func (cdsfaed CommonDataServiceForAppsEntityDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) {
40087	return nil, false
40088}
40089
40090// AsMongoDbV2CollectionDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset.
40091func (cdsfaed CommonDataServiceForAppsEntityDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) {
40092	return nil, false
40093}
40094
40095// AsMongoDbCollectionDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset.
40096func (cdsfaed CommonDataServiceForAppsEntityDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
40097	return nil, false
40098}
40099
40100// AsFileShareDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset.
40101func (cdsfaed CommonDataServiceForAppsEntityDataset) AsFileShareDataset() (*FileShareDataset, bool) {
40102	return nil, false
40103}
40104
40105// AsOffice365Dataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset.
40106func (cdsfaed CommonDataServiceForAppsEntityDataset) AsOffice365Dataset() (*Office365Dataset, bool) {
40107	return nil, false
40108}
40109
40110// AsAzureBlobFSDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset.
40111func (cdsfaed CommonDataServiceForAppsEntityDataset) AsAzureBlobFSDataset() (*AzureBlobFSDataset, bool) {
40112	return nil, false
40113}
40114
40115// AsAzureDataLakeStoreDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset.
40116func (cdsfaed CommonDataServiceForAppsEntityDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) {
40117	return nil, false
40118}
40119
40120// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset.
40121func (cdsfaed CommonDataServiceForAppsEntityDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) {
40122	return &cdsfaed, true
40123}
40124
40125// AsDynamicsCrmEntityDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset.
40126func (cdsfaed CommonDataServiceForAppsEntityDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) {
40127	return nil, false
40128}
40129
40130// AsDynamicsEntityDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset.
40131func (cdsfaed CommonDataServiceForAppsEntityDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
40132	return nil, false
40133}
40134
40135// AsDocumentDbCollectionDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset.
40136func (cdsfaed CommonDataServiceForAppsEntityDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
40137	return nil, false
40138}
40139
40140// AsCustomDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset.
40141func (cdsfaed CommonDataServiceForAppsEntityDataset) AsCustomDataset() (*CustomDataset, bool) {
40142	return nil, false
40143}
40144
40145// AsCassandraTableDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset.
40146func (cdsfaed CommonDataServiceForAppsEntityDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
40147	return nil, false
40148}
40149
40150// AsAzureSQLDWTableDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset.
40151func (cdsfaed CommonDataServiceForAppsEntityDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
40152	return nil, false
40153}
40154
40155// AsAzureSQLMITableDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset.
40156func (cdsfaed CommonDataServiceForAppsEntityDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) {
40157	return nil, false
40158}
40159
40160// AsAzureSQLTableDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset.
40161func (cdsfaed CommonDataServiceForAppsEntityDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
40162	return nil, false
40163}
40164
40165// AsAzureTableDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset.
40166func (cdsfaed CommonDataServiceForAppsEntityDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
40167	return nil, false
40168}
40169
40170// AsAzureBlobDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset.
40171func (cdsfaed CommonDataServiceForAppsEntityDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) {
40172	return nil, false
40173}
40174
40175// AsBinaryDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset.
40176func (cdsfaed CommonDataServiceForAppsEntityDataset) AsBinaryDataset() (*BinaryDataset, bool) {
40177	return nil, false
40178}
40179
40180// AsDelimitedTextDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset.
40181func (cdsfaed CommonDataServiceForAppsEntityDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) {
40182	return nil, false
40183}
40184
40185// AsParquetDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset.
40186func (cdsfaed CommonDataServiceForAppsEntityDataset) AsParquetDataset() (*ParquetDataset, bool) {
40187	return nil, false
40188}
40189
40190// AsAmazonS3Dataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset.
40191func (cdsfaed CommonDataServiceForAppsEntityDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) {
40192	return nil, false
40193}
40194
40195// AsDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset.
40196func (cdsfaed CommonDataServiceForAppsEntityDataset) AsDataset() (*Dataset, bool) {
40197	return nil, false
40198}
40199
40200// AsBasicDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset.
40201func (cdsfaed CommonDataServiceForAppsEntityDataset) AsBasicDataset() (BasicDataset, bool) {
40202	return &cdsfaed, true
40203}
40204
40205// UnmarshalJSON is the custom unmarshaler for CommonDataServiceForAppsEntityDataset struct.
40206func (cdsfaed *CommonDataServiceForAppsEntityDataset) UnmarshalJSON(body []byte) error {
40207	var m map[string]*json.RawMessage
40208	err := json.Unmarshal(body, &m)
40209	if err != nil {
40210		return err
40211	}
40212	for k, v := range m {
40213		switch k {
40214		case "typeProperties":
40215			if v != nil {
40216				var commonDataServiceForAppsEntityDatasetTypeProperties CommonDataServiceForAppsEntityDatasetTypeProperties
40217				err = json.Unmarshal(*v, &commonDataServiceForAppsEntityDatasetTypeProperties)
40218				if err != nil {
40219					return err
40220				}
40221				cdsfaed.CommonDataServiceForAppsEntityDatasetTypeProperties = &commonDataServiceForAppsEntityDatasetTypeProperties
40222			}
40223		default:
40224			if v != nil {
40225				var additionalProperties interface{}
40226				err = json.Unmarshal(*v, &additionalProperties)
40227				if err != nil {
40228					return err
40229				}
40230				if cdsfaed.AdditionalProperties == nil {
40231					cdsfaed.AdditionalProperties = make(map[string]interface{})
40232				}
40233				cdsfaed.AdditionalProperties[k] = additionalProperties
40234			}
40235		case "description":
40236			if v != nil {
40237				var description string
40238				err = json.Unmarshal(*v, &description)
40239				if err != nil {
40240					return err
40241				}
40242				cdsfaed.Description = &description
40243			}
40244		case "structure":
40245			if v != nil {
40246				var structure interface{}
40247				err = json.Unmarshal(*v, &structure)
40248				if err != nil {
40249					return err
40250				}
40251				cdsfaed.Structure = structure
40252			}
40253		case "schema":
40254			if v != nil {
40255				var schema interface{}
40256				err = json.Unmarshal(*v, &schema)
40257				if err != nil {
40258					return err
40259				}
40260				cdsfaed.Schema = schema
40261			}
40262		case "linkedServiceName":
40263			if v != nil {
40264				var linkedServiceName LinkedServiceReference
40265				err = json.Unmarshal(*v, &linkedServiceName)
40266				if err != nil {
40267					return err
40268				}
40269				cdsfaed.LinkedServiceName = &linkedServiceName
40270			}
40271		case "parameters":
40272			if v != nil {
40273				var parameters map[string]*ParameterSpecification
40274				err = json.Unmarshal(*v, &parameters)
40275				if err != nil {
40276					return err
40277				}
40278				cdsfaed.Parameters = parameters
40279			}
40280		case "annotations":
40281			if v != nil {
40282				var annotations []interface{}
40283				err = json.Unmarshal(*v, &annotations)
40284				if err != nil {
40285					return err
40286				}
40287				cdsfaed.Annotations = &annotations
40288			}
40289		case "folder":
40290			if v != nil {
40291				var folder DatasetFolder
40292				err = json.Unmarshal(*v, &folder)
40293				if err != nil {
40294					return err
40295				}
40296				cdsfaed.Folder = &folder
40297			}
40298		case "type":
40299			if v != nil {
40300				var typeVar TypeBasicDataset
40301				err = json.Unmarshal(*v, &typeVar)
40302				if err != nil {
40303					return err
40304				}
40305				cdsfaed.Type = typeVar
40306			}
40307		}
40308	}
40309
40310	return nil
40311}
40312
40313// CommonDataServiceForAppsEntityDatasetTypeProperties common Data Service for Apps entity dataset
40314// properties.
40315type CommonDataServiceForAppsEntityDatasetTypeProperties struct {
40316	// EntityName - The logical name of the entity. Type: string (or Expression with resultType string).
40317	EntityName interface{} `json:"entityName,omitempty"`
40318}
40319
40320// CommonDataServiceForAppsLinkedService common Data Service for Apps linked service.
40321type CommonDataServiceForAppsLinkedService struct {
40322	// CommonDataServiceForAppsLinkedServiceTypeProperties - Common Data Service for Apps linked service properties.
40323	*CommonDataServiceForAppsLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
40324	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
40325	AdditionalProperties map[string]interface{} `json:""`
40326	// ConnectVia - The integration runtime reference.
40327	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
40328	// Description - Linked service description.
40329	Description *string `json:"description,omitempty"`
40330	// Parameters - Parameters for linked service.
40331	Parameters map[string]*ParameterSpecification `json:"parameters"`
40332	// Annotations - List of tags that can be used for describing the linked service.
40333	Annotations *[]interface{} `json:"annotations,omitempty"`
40334	// Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', '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', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage'
40335	Type TypeBasicLinkedService `json:"type,omitempty"`
40336}
40337
40338// MarshalJSON is the custom marshaler for CommonDataServiceForAppsLinkedService.
40339func (cdsfals CommonDataServiceForAppsLinkedService) MarshalJSON() ([]byte, error) {
40340	cdsfals.Type = TypeCommonDataServiceForApps
40341	objectMap := make(map[string]interface{})
40342	if cdsfals.CommonDataServiceForAppsLinkedServiceTypeProperties != nil {
40343		objectMap["typeProperties"] = cdsfals.CommonDataServiceForAppsLinkedServiceTypeProperties
40344	}
40345	if cdsfals.ConnectVia != nil {
40346		objectMap["connectVia"] = cdsfals.ConnectVia
40347	}
40348	if cdsfals.Description != nil {
40349		objectMap["description"] = cdsfals.Description
40350	}
40351	if cdsfals.Parameters != nil {
40352		objectMap["parameters"] = cdsfals.Parameters
40353	}
40354	if cdsfals.Annotations != nil {
40355		objectMap["annotations"] = cdsfals.Annotations
40356	}
40357	if cdsfals.Type != "" {
40358		objectMap["type"] = cdsfals.Type
40359	}
40360	for k, v := range cdsfals.AdditionalProperties {
40361		objectMap[k] = v
40362	}
40363	return json.Marshal(objectMap)
40364}
40365
40366// AsAzureFunctionLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService.
40367func (cdsfals CommonDataServiceForAppsLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) {
40368	return nil, false
40369}
40370
40371// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService.
40372func (cdsfals CommonDataServiceForAppsLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) {
40373	return nil, false
40374}
40375
40376// AsSapTableLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService.
40377func (cdsfals CommonDataServiceForAppsLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) {
40378	return nil, false
40379}
40380
40381// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService.
40382func (cdsfals CommonDataServiceForAppsLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) {
40383	return nil, false
40384}
40385
40386// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService.
40387func (cdsfals CommonDataServiceForAppsLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) {
40388	return nil, false
40389}
40390
40391// AsDynamicsAXLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService.
40392func (cdsfals CommonDataServiceForAppsLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) {
40393	return nil, false
40394}
40395
40396// AsResponsysLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService.
40397func (cdsfals CommonDataServiceForAppsLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
40398	return nil, false
40399}
40400
40401// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService.
40402func (cdsfals CommonDataServiceForAppsLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
40403	return nil, false
40404}
40405
40406// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService.
40407func (cdsfals CommonDataServiceForAppsLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
40408	return nil, false
40409}
40410
40411// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService.
40412func (cdsfals CommonDataServiceForAppsLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
40413	return nil, false
40414}
40415
40416// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService.
40417func (cdsfals CommonDataServiceForAppsLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
40418	return nil, false
40419}
40420
40421// AsNetezzaLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService.
40422func (cdsfals CommonDataServiceForAppsLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
40423	return nil, false
40424}
40425
40426// AsVerticaLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService.
40427func (cdsfals CommonDataServiceForAppsLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
40428	return nil, false
40429}
40430
40431// AsZohoLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService.
40432func (cdsfals CommonDataServiceForAppsLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
40433	return nil, false
40434}
40435
40436// AsXeroLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService.
40437func (cdsfals CommonDataServiceForAppsLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
40438	return nil, false
40439}
40440
40441// AsSquareLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService.
40442func (cdsfals CommonDataServiceForAppsLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
40443	return nil, false
40444}
40445
40446// AsSparkLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService.
40447func (cdsfals CommonDataServiceForAppsLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
40448	return nil, false
40449}
40450
40451// AsShopifyLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService.
40452func (cdsfals CommonDataServiceForAppsLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
40453	return nil, false
40454}
40455
40456// AsServiceNowLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService.
40457func (cdsfals CommonDataServiceForAppsLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
40458	return nil, false
40459}
40460
40461// AsQuickBooksLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService.
40462func (cdsfals CommonDataServiceForAppsLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
40463	return nil, false
40464}
40465
40466// AsPrestoLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService.
40467func (cdsfals CommonDataServiceForAppsLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
40468	return nil, false
40469}
40470
40471// AsPhoenixLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService.
40472func (cdsfals CommonDataServiceForAppsLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
40473	return nil, false
40474}
40475
40476// AsPaypalLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService.
40477func (cdsfals CommonDataServiceForAppsLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
40478	return nil, false
40479}
40480
40481// AsMarketoLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService.
40482func (cdsfals CommonDataServiceForAppsLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
40483	return nil, false
40484}
40485
40486// AsMariaDBLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService.
40487func (cdsfals CommonDataServiceForAppsLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
40488	return nil, false
40489}
40490
40491// AsMagentoLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService.
40492func (cdsfals CommonDataServiceForAppsLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
40493	return nil, false
40494}
40495
40496// AsJiraLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService.
40497func (cdsfals CommonDataServiceForAppsLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
40498	return nil, false
40499}
40500
40501// AsImpalaLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService.
40502func (cdsfals CommonDataServiceForAppsLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
40503	return nil, false
40504}
40505
40506// AsHubspotLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService.
40507func (cdsfals CommonDataServiceForAppsLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
40508	return nil, false
40509}
40510
40511// AsHiveLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService.
40512func (cdsfals CommonDataServiceForAppsLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
40513	return nil, false
40514}
40515
40516// AsHBaseLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService.
40517func (cdsfals CommonDataServiceForAppsLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
40518	return nil, false
40519}
40520
40521// AsGreenplumLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService.
40522func (cdsfals CommonDataServiceForAppsLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
40523	return nil, false
40524}
40525
40526// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService.
40527func (cdsfals CommonDataServiceForAppsLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
40528	return nil, false
40529}
40530
40531// AsEloquaLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService.
40532func (cdsfals CommonDataServiceForAppsLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
40533	return nil, false
40534}
40535
40536// AsDrillLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService.
40537func (cdsfals CommonDataServiceForAppsLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
40538	return nil, false
40539}
40540
40541// AsCouchbaseLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService.
40542func (cdsfals CommonDataServiceForAppsLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
40543	return nil, false
40544}
40545
40546// AsConcurLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService.
40547func (cdsfals CommonDataServiceForAppsLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
40548	return nil, false
40549}
40550
40551// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService.
40552func (cdsfals CommonDataServiceForAppsLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
40553	return nil, false
40554}
40555
40556// AsAmazonMWSLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService.
40557func (cdsfals CommonDataServiceForAppsLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
40558	return nil, false
40559}
40560
40561// AsSapHanaLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService.
40562func (cdsfals CommonDataServiceForAppsLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
40563	return nil, false
40564}
40565
40566// AsSapBWLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService.
40567func (cdsfals CommonDataServiceForAppsLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
40568	return nil, false
40569}
40570
40571// AsSftpServerLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService.
40572func (cdsfals CommonDataServiceForAppsLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
40573	return nil, false
40574}
40575
40576// AsFtpServerLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService.
40577func (cdsfals CommonDataServiceForAppsLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
40578	return nil, false
40579}
40580
40581// AsHTTPLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService.
40582func (cdsfals CommonDataServiceForAppsLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
40583	return nil, false
40584}
40585
40586// AsAzureSearchLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService.
40587func (cdsfals CommonDataServiceForAppsLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
40588	return nil, false
40589}
40590
40591// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService.
40592func (cdsfals CommonDataServiceForAppsLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
40593	return nil, false
40594}
40595
40596// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService.
40597func (cdsfals CommonDataServiceForAppsLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
40598	return nil, false
40599}
40600
40601// AsAmazonS3LinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService.
40602func (cdsfals CommonDataServiceForAppsLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
40603	return nil, false
40604}
40605
40606// AsRestServiceLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService.
40607func (cdsfals CommonDataServiceForAppsLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) {
40608	return nil, false
40609}
40610
40611// AsSapOpenHubLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService.
40612func (cdsfals CommonDataServiceForAppsLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) {
40613	return nil, false
40614}
40615
40616// AsSapEccLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService.
40617func (cdsfals CommonDataServiceForAppsLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
40618	return nil, false
40619}
40620
40621// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService.
40622func (cdsfals CommonDataServiceForAppsLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
40623	return nil, false
40624}
40625
40626// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService.
40627func (cdsfals CommonDataServiceForAppsLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) {
40628	return nil, false
40629}
40630
40631// AsSalesforceLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService.
40632func (cdsfals CommonDataServiceForAppsLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
40633	return nil, false
40634}
40635
40636// AsOffice365LinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService.
40637func (cdsfals CommonDataServiceForAppsLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) {
40638	return nil, false
40639}
40640
40641// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService.
40642func (cdsfals CommonDataServiceForAppsLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) {
40643	return nil, false
40644}
40645
40646// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService.
40647func (cdsfals CommonDataServiceForAppsLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
40648	return nil, false
40649}
40650
40651// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService.
40652func (cdsfals CommonDataServiceForAppsLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) {
40653	return nil, false
40654}
40655
40656// AsMongoDbV2LinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService.
40657func (cdsfals CommonDataServiceForAppsLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) {
40658	return nil, false
40659}
40660
40661// AsMongoDbLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService.
40662func (cdsfals CommonDataServiceForAppsLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
40663	return nil, false
40664}
40665
40666// AsCassandraLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService.
40667func (cdsfals CommonDataServiceForAppsLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
40668	return nil, false
40669}
40670
40671// AsWebLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService.
40672func (cdsfals CommonDataServiceForAppsLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
40673	return nil, false
40674}
40675
40676// AsODataLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService.
40677func (cdsfals CommonDataServiceForAppsLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
40678	return nil, false
40679}
40680
40681// AsHdfsLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService.
40682func (cdsfals CommonDataServiceForAppsLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
40683	return nil, false
40684}
40685
40686// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService.
40687func (cdsfals CommonDataServiceForAppsLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) {
40688	return nil, false
40689}
40690
40691// AsInformixLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService.
40692func (cdsfals CommonDataServiceForAppsLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) {
40693	return nil, false
40694}
40695
40696// AsOdbcLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService.
40697func (cdsfals CommonDataServiceForAppsLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
40698	return nil, false
40699}
40700
40701// AsAzureMLLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService.
40702func (cdsfals CommonDataServiceForAppsLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
40703	return nil, false
40704}
40705
40706// AsTeradataLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService.
40707func (cdsfals CommonDataServiceForAppsLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
40708	return nil, false
40709}
40710
40711// AsDb2LinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService.
40712func (cdsfals CommonDataServiceForAppsLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
40713	return nil, false
40714}
40715
40716// AsSybaseLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService.
40717func (cdsfals CommonDataServiceForAppsLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
40718	return nil, false
40719}
40720
40721// AsPostgreSQLLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService.
40722func (cdsfals CommonDataServiceForAppsLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
40723	return nil, false
40724}
40725
40726// AsMySQLLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService.
40727func (cdsfals CommonDataServiceForAppsLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
40728	return nil, false
40729}
40730
40731// AsAzureMySQLLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService.
40732func (cdsfals CommonDataServiceForAppsLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
40733	return nil, false
40734}
40735
40736// AsOracleLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService.
40737func (cdsfals CommonDataServiceForAppsLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
40738	return nil, false
40739}
40740
40741// AsFileServerLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService.
40742func (cdsfals CommonDataServiceForAppsLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
40743	return nil, false
40744}
40745
40746// AsHDInsightLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService.
40747func (cdsfals CommonDataServiceForAppsLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
40748	return nil, false
40749}
40750
40751// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService.
40752func (cdsfals CommonDataServiceForAppsLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) {
40753	return &cdsfals, true
40754}
40755
40756// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService.
40757func (cdsfals CommonDataServiceForAppsLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) {
40758	return nil, false
40759}
40760
40761// AsDynamicsLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService.
40762func (cdsfals CommonDataServiceForAppsLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
40763	return nil, false
40764}
40765
40766// AsCosmosDbLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService.
40767func (cdsfals CommonDataServiceForAppsLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
40768	return nil, false
40769}
40770
40771// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService.
40772func (cdsfals CommonDataServiceForAppsLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
40773	return nil, false
40774}
40775
40776// AsAzureBatchLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService.
40777func (cdsfals CommonDataServiceForAppsLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
40778	return nil, false
40779}
40780
40781// AsAzureSQLMILinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService.
40782func (cdsfals CommonDataServiceForAppsLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) {
40783	return nil, false
40784}
40785
40786// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService.
40787func (cdsfals CommonDataServiceForAppsLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
40788	return nil, false
40789}
40790
40791// AsSQLServerLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService.
40792func (cdsfals CommonDataServiceForAppsLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
40793	return nil, false
40794}
40795
40796// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService.
40797func (cdsfals CommonDataServiceForAppsLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
40798	return nil, false
40799}
40800
40801// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService.
40802func (cdsfals CommonDataServiceForAppsLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) {
40803	return nil, false
40804}
40805
40806// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService.
40807func (cdsfals CommonDataServiceForAppsLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) {
40808	return nil, false
40809}
40810
40811// AsAzureStorageLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService.
40812func (cdsfals CommonDataServiceForAppsLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
40813	return nil, false
40814}
40815
40816// AsLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService.
40817func (cdsfals CommonDataServiceForAppsLinkedService) AsLinkedService() (*LinkedService, bool) {
40818	return nil, false
40819}
40820
40821// AsBasicLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService.
40822func (cdsfals CommonDataServiceForAppsLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
40823	return &cdsfals, true
40824}
40825
40826// UnmarshalJSON is the custom unmarshaler for CommonDataServiceForAppsLinkedService struct.
40827func (cdsfals *CommonDataServiceForAppsLinkedService) UnmarshalJSON(body []byte) error {
40828	var m map[string]*json.RawMessage
40829	err := json.Unmarshal(body, &m)
40830	if err != nil {
40831		return err
40832	}
40833	for k, v := range m {
40834		switch k {
40835		case "typeProperties":
40836			if v != nil {
40837				var commonDataServiceForAppsLinkedServiceTypeProperties CommonDataServiceForAppsLinkedServiceTypeProperties
40838				err = json.Unmarshal(*v, &commonDataServiceForAppsLinkedServiceTypeProperties)
40839				if err != nil {
40840					return err
40841				}
40842				cdsfals.CommonDataServiceForAppsLinkedServiceTypeProperties = &commonDataServiceForAppsLinkedServiceTypeProperties
40843			}
40844		default:
40845			if v != nil {
40846				var additionalProperties interface{}
40847				err = json.Unmarshal(*v, &additionalProperties)
40848				if err != nil {
40849					return err
40850				}
40851				if cdsfals.AdditionalProperties == nil {
40852					cdsfals.AdditionalProperties = make(map[string]interface{})
40853				}
40854				cdsfals.AdditionalProperties[k] = additionalProperties
40855			}
40856		case "connectVia":
40857			if v != nil {
40858				var connectVia IntegrationRuntimeReference
40859				err = json.Unmarshal(*v, &connectVia)
40860				if err != nil {
40861					return err
40862				}
40863				cdsfals.ConnectVia = &connectVia
40864			}
40865		case "description":
40866			if v != nil {
40867				var description string
40868				err = json.Unmarshal(*v, &description)
40869				if err != nil {
40870					return err
40871				}
40872				cdsfals.Description = &description
40873			}
40874		case "parameters":
40875			if v != nil {
40876				var parameters map[string]*ParameterSpecification
40877				err = json.Unmarshal(*v, &parameters)
40878				if err != nil {
40879					return err
40880				}
40881				cdsfals.Parameters = parameters
40882			}
40883		case "annotations":
40884			if v != nil {
40885				var annotations []interface{}
40886				err = json.Unmarshal(*v, &annotations)
40887				if err != nil {
40888					return err
40889				}
40890				cdsfals.Annotations = &annotations
40891			}
40892		case "type":
40893			if v != nil {
40894				var typeVar TypeBasicLinkedService
40895				err = json.Unmarshal(*v, &typeVar)
40896				if err != nil {
40897					return err
40898				}
40899				cdsfals.Type = typeVar
40900			}
40901		}
40902	}
40903
40904	return nil
40905}
40906
40907// CommonDataServiceForAppsLinkedServiceTypeProperties common Data Service for Apps linked service
40908// properties.
40909type CommonDataServiceForAppsLinkedServiceTypeProperties struct {
40910	// DeploymentType - The deployment type of the Common Data Service for Apps instance. 'Online' for Common Data Service for Apps Online and 'OnPremisesWithIfd' for Common Data Service for Apps on-premises with Ifd. Type: string (or Expression with resultType string). Possible values include: 'Online', 'OnPremisesWithIfd'
40911	DeploymentType DynamicsDeploymentType `json:"deploymentType,omitempty"`
40912	// HostName - The host name of the on-premises Common Data Service for Apps server. The property is required for on-prem and not allowed for online. Type: string (or Expression with resultType string).
40913	HostName interface{} `json:"hostName,omitempty"`
40914	// Port - The port of on-premises Common Data Service for Apps 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.
40915	Port interface{} `json:"port,omitempty"`
40916	// ServiceURI - The URL to the Microsoft Common Data Service for Apps server. The property is required for on-line and not allowed for on-prem. Type: string (or Expression with resultType string).
40917	ServiceURI interface{} `json:"serviceUri,omitempty"`
40918	// OrganizationName - The organization name of the Common Data Service for Apps instance. The property is required for on-prem and required for online when there are more than one Common Data Service for Apps instances associated with the user. Type: string (or Expression with resultType string).
40919	OrganizationName interface{} `json:"organizationName,omitempty"`
40920	// AuthenticationType - The authentication type to connect to Common Data Service for Apps server. 'Office365' for online scenario, 'Ifd' for on-premises with Ifd scenario. Type: string (or Expression with resultType string). Possible values include: 'Office365', 'Ifd'
40921	AuthenticationType DynamicsAuthenticationType `json:"authenticationType,omitempty"`
40922	// Username - User name to access the Common Data Service for Apps instance. Type: string (or Expression with resultType string).
40923	Username interface{} `json:"username,omitempty"`
40924	// Password - Password to access the Common Data Service for Apps instance.
40925	Password BasicSecretBase `json:"password,omitempty"`
40926	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
40927	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
40928}
40929
40930// UnmarshalJSON is the custom unmarshaler for CommonDataServiceForAppsLinkedServiceTypeProperties struct.
40931func (cdsfalstp *CommonDataServiceForAppsLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
40932	var m map[string]*json.RawMessage
40933	err := json.Unmarshal(body, &m)
40934	if err != nil {
40935		return err
40936	}
40937	for k, v := range m {
40938		switch k {
40939		case "deploymentType":
40940			if v != nil {
40941				var deploymentType DynamicsDeploymentType
40942				err = json.Unmarshal(*v, &deploymentType)
40943				if err != nil {
40944					return err
40945				}
40946				cdsfalstp.DeploymentType = deploymentType
40947			}
40948		case "hostName":
40949			if v != nil {
40950				var hostName interface{}
40951				err = json.Unmarshal(*v, &hostName)
40952				if err != nil {
40953					return err
40954				}
40955				cdsfalstp.HostName = hostName
40956			}
40957		case "port":
40958			if v != nil {
40959				var port interface{}
40960				err = json.Unmarshal(*v, &port)
40961				if err != nil {
40962					return err
40963				}
40964				cdsfalstp.Port = port
40965			}
40966		case "serviceUri":
40967			if v != nil {
40968				var serviceURI interface{}
40969				err = json.Unmarshal(*v, &serviceURI)
40970				if err != nil {
40971					return err
40972				}
40973				cdsfalstp.ServiceURI = serviceURI
40974			}
40975		case "organizationName":
40976			if v != nil {
40977				var organizationName interface{}
40978				err = json.Unmarshal(*v, &organizationName)
40979				if err != nil {
40980					return err
40981				}
40982				cdsfalstp.OrganizationName = organizationName
40983			}
40984		case "authenticationType":
40985			if v != nil {
40986				var authenticationType DynamicsAuthenticationType
40987				err = json.Unmarshal(*v, &authenticationType)
40988				if err != nil {
40989					return err
40990				}
40991				cdsfalstp.AuthenticationType = authenticationType
40992			}
40993		case "username":
40994			if v != nil {
40995				var username interface{}
40996				err = json.Unmarshal(*v, &username)
40997				if err != nil {
40998					return err
40999				}
41000				cdsfalstp.Username = username
41001			}
41002		case "password":
41003			if v != nil {
41004				password, err := unmarshalBasicSecretBase(*v)
41005				if err != nil {
41006					return err
41007				}
41008				cdsfalstp.Password = password
41009			}
41010		case "encryptedCredential":
41011			if v != nil {
41012				var encryptedCredential interface{}
41013				err = json.Unmarshal(*v, &encryptedCredential)
41014				if err != nil {
41015					return err
41016				}
41017				cdsfalstp.EncryptedCredential = encryptedCredential
41018			}
41019		}
41020	}
41021
41022	return nil
41023}
41024
41025// CommonDataServiceForAppsSink a copy activity Common Data Service for Apps sink.
41026type CommonDataServiceForAppsSink struct {
41027	// WriteBehavior - The write behavior for the operation.
41028	WriteBehavior *string `json:"writeBehavior,omitempty"`
41029	// IgnoreNullValues - The flag indicating whether to ignore null values from input dataset (except key fields) during write operation. Default is false. Type: boolean (or Expression with resultType boolean).
41030	IgnoreNullValues interface{} `json:"ignoreNullValues,omitempty"`
41031	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
41032	AdditionalProperties map[string]interface{} `json:""`
41033	// WriteBatchSize - Write batch size. Type: integer (or Expression with resultType integer), minimum: 0.
41034	WriteBatchSize interface{} `json:"writeBatchSize,omitempty"`
41035	// 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])).
41036	WriteBatchTimeout interface{} `json:"writeBatchTimeout,omitempty"`
41037	// SinkRetryCount - Sink retry count. Type: integer (or Expression with resultType integer).
41038	SinkRetryCount interface{} `json:"sinkRetryCount,omitempty"`
41039	// 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])).
41040	SinkRetryWait interface{} `json:"sinkRetryWait,omitempty"`
41041	// MaxConcurrentConnections - The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer).
41042	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
41043	// Type - Possible values include: 'TypeCopySink', 'TypeCosmosDbMongoDbAPISink', 'TypeSalesforceServiceCloudSink', 'TypeSalesforceSink', 'TypeAzureDataExplorerSink', 'TypeCommonDataServiceForAppsSink', 'TypeDynamicsCrmSink', 'TypeDynamicsSink', 'TypeMicrosoftAccessSink', 'TypeInformixSink', 'TypeOdbcSink', 'TypeAzureSearchIndexSink', 'TypeAzureBlobFSSink', 'TypeAzureDataLakeStoreSink', 'TypeOracleSink', 'TypeSQLDWSink', 'TypeSQLMISink', 'TypeAzureSQLSink', 'TypeSQLServerSink', 'TypeSQLSink', 'TypeDocumentDbCollectionSink', 'TypeFileSystemSink', 'TypeBlobSink', 'TypeBinarySink', 'TypeParquetSink', 'TypeAzureTableSink', 'TypeAzureQueueSink', 'TypeSapCloudForCustomerSink', 'TypeAzurePostgreSQLSink', 'TypeDelimitedTextSink'
41044	Type TypeBasicCopySink `json:"type,omitempty"`
41045}
41046
41047// MarshalJSON is the custom marshaler for CommonDataServiceForAppsSink.
41048func (cdsfas CommonDataServiceForAppsSink) MarshalJSON() ([]byte, error) {
41049	cdsfas.Type = TypeCommonDataServiceForAppsSink
41050	objectMap := make(map[string]interface{})
41051	if cdsfas.WriteBehavior != nil {
41052		objectMap["writeBehavior"] = cdsfas.WriteBehavior
41053	}
41054	if cdsfas.IgnoreNullValues != nil {
41055		objectMap["ignoreNullValues"] = cdsfas.IgnoreNullValues
41056	}
41057	if cdsfas.WriteBatchSize != nil {
41058		objectMap["writeBatchSize"] = cdsfas.WriteBatchSize
41059	}
41060	if cdsfas.WriteBatchTimeout != nil {
41061		objectMap["writeBatchTimeout"] = cdsfas.WriteBatchTimeout
41062	}
41063	if cdsfas.SinkRetryCount != nil {
41064		objectMap["sinkRetryCount"] = cdsfas.SinkRetryCount
41065	}
41066	if cdsfas.SinkRetryWait != nil {
41067		objectMap["sinkRetryWait"] = cdsfas.SinkRetryWait
41068	}
41069	if cdsfas.MaxConcurrentConnections != nil {
41070		objectMap["maxConcurrentConnections"] = cdsfas.MaxConcurrentConnections
41071	}
41072	if cdsfas.Type != "" {
41073		objectMap["type"] = cdsfas.Type
41074	}
41075	for k, v := range cdsfas.AdditionalProperties {
41076		objectMap[k] = v
41077	}
41078	return json.Marshal(objectMap)
41079}
41080
41081// AsCosmosDbMongoDbAPISink is the BasicCopySink implementation for CommonDataServiceForAppsSink.
41082func (cdsfas CommonDataServiceForAppsSink) AsCosmosDbMongoDbAPISink() (*CosmosDbMongoDbAPISink, bool) {
41083	return nil, false
41084}
41085
41086// AsSalesforceServiceCloudSink is the BasicCopySink implementation for CommonDataServiceForAppsSink.
41087func (cdsfas CommonDataServiceForAppsSink) AsSalesforceServiceCloudSink() (*SalesforceServiceCloudSink, bool) {
41088	return nil, false
41089}
41090
41091// AsSalesforceSink is the BasicCopySink implementation for CommonDataServiceForAppsSink.
41092func (cdsfas CommonDataServiceForAppsSink) AsSalesforceSink() (*SalesforceSink, bool) {
41093	return nil, false
41094}
41095
41096// AsAzureDataExplorerSink is the BasicCopySink implementation for CommonDataServiceForAppsSink.
41097func (cdsfas CommonDataServiceForAppsSink) AsAzureDataExplorerSink() (*AzureDataExplorerSink, bool) {
41098	return nil, false
41099}
41100
41101// AsCommonDataServiceForAppsSink is the BasicCopySink implementation for CommonDataServiceForAppsSink.
41102func (cdsfas CommonDataServiceForAppsSink) AsCommonDataServiceForAppsSink() (*CommonDataServiceForAppsSink, bool) {
41103	return &cdsfas, true
41104}
41105
41106// AsDynamicsCrmSink is the BasicCopySink implementation for CommonDataServiceForAppsSink.
41107func (cdsfas CommonDataServiceForAppsSink) AsDynamicsCrmSink() (*DynamicsCrmSink, bool) {
41108	return nil, false
41109}
41110
41111// AsDynamicsSink is the BasicCopySink implementation for CommonDataServiceForAppsSink.
41112func (cdsfas CommonDataServiceForAppsSink) AsDynamicsSink() (*DynamicsSink, bool) {
41113	return nil, false
41114}
41115
41116// AsMicrosoftAccessSink is the BasicCopySink implementation for CommonDataServiceForAppsSink.
41117func (cdsfas CommonDataServiceForAppsSink) AsMicrosoftAccessSink() (*MicrosoftAccessSink, bool) {
41118	return nil, false
41119}
41120
41121// AsInformixSink is the BasicCopySink implementation for CommonDataServiceForAppsSink.
41122func (cdsfas CommonDataServiceForAppsSink) AsInformixSink() (*InformixSink, bool) {
41123	return nil, false
41124}
41125
41126// AsOdbcSink is the BasicCopySink implementation for CommonDataServiceForAppsSink.
41127func (cdsfas CommonDataServiceForAppsSink) AsOdbcSink() (*OdbcSink, bool) {
41128	return nil, false
41129}
41130
41131// AsAzureSearchIndexSink is the BasicCopySink implementation for CommonDataServiceForAppsSink.
41132func (cdsfas CommonDataServiceForAppsSink) AsAzureSearchIndexSink() (*AzureSearchIndexSink, bool) {
41133	return nil, false
41134}
41135
41136// AsAzureBlobFSSink is the BasicCopySink implementation for CommonDataServiceForAppsSink.
41137func (cdsfas CommonDataServiceForAppsSink) AsAzureBlobFSSink() (*AzureBlobFSSink, bool) {
41138	return nil, false
41139}
41140
41141// AsAzureDataLakeStoreSink is the BasicCopySink implementation for CommonDataServiceForAppsSink.
41142func (cdsfas CommonDataServiceForAppsSink) AsAzureDataLakeStoreSink() (*AzureDataLakeStoreSink, bool) {
41143	return nil, false
41144}
41145
41146// AsOracleSink is the BasicCopySink implementation for CommonDataServiceForAppsSink.
41147func (cdsfas CommonDataServiceForAppsSink) AsOracleSink() (*OracleSink, bool) {
41148	return nil, false
41149}
41150
41151// AsSQLDWSink is the BasicCopySink implementation for CommonDataServiceForAppsSink.
41152func (cdsfas CommonDataServiceForAppsSink) AsSQLDWSink() (*SQLDWSink, bool) {
41153	return nil, false
41154}
41155
41156// AsSQLMISink is the BasicCopySink implementation for CommonDataServiceForAppsSink.
41157func (cdsfas CommonDataServiceForAppsSink) AsSQLMISink() (*SQLMISink, bool) {
41158	return nil, false
41159}
41160
41161// AsAzureSQLSink is the BasicCopySink implementation for CommonDataServiceForAppsSink.
41162func (cdsfas CommonDataServiceForAppsSink) AsAzureSQLSink() (*AzureSQLSink, bool) {
41163	return nil, false
41164}
41165
41166// AsSQLServerSink is the BasicCopySink implementation for CommonDataServiceForAppsSink.
41167func (cdsfas CommonDataServiceForAppsSink) AsSQLServerSink() (*SQLServerSink, bool) {
41168	return nil, false
41169}
41170
41171// AsSQLSink is the BasicCopySink implementation for CommonDataServiceForAppsSink.
41172func (cdsfas CommonDataServiceForAppsSink) AsSQLSink() (*SQLSink, bool) {
41173	return nil, false
41174}
41175
41176// AsDocumentDbCollectionSink is the BasicCopySink implementation for CommonDataServiceForAppsSink.
41177func (cdsfas CommonDataServiceForAppsSink) AsDocumentDbCollectionSink() (*DocumentDbCollectionSink, bool) {
41178	return nil, false
41179}
41180
41181// AsFileSystemSink is the BasicCopySink implementation for CommonDataServiceForAppsSink.
41182func (cdsfas CommonDataServiceForAppsSink) AsFileSystemSink() (*FileSystemSink, bool) {
41183	return nil, false
41184}
41185
41186// AsBlobSink is the BasicCopySink implementation for CommonDataServiceForAppsSink.
41187func (cdsfas CommonDataServiceForAppsSink) AsBlobSink() (*BlobSink, bool) {
41188	return nil, false
41189}
41190
41191// AsBinarySink is the BasicCopySink implementation for CommonDataServiceForAppsSink.
41192func (cdsfas CommonDataServiceForAppsSink) AsBinarySink() (*BinarySink, bool) {
41193	return nil, false
41194}
41195
41196// AsParquetSink is the BasicCopySink implementation for CommonDataServiceForAppsSink.
41197func (cdsfas CommonDataServiceForAppsSink) AsParquetSink() (*ParquetSink, bool) {
41198	return nil, false
41199}
41200
41201// AsAzureTableSink is the BasicCopySink implementation for CommonDataServiceForAppsSink.
41202func (cdsfas CommonDataServiceForAppsSink) AsAzureTableSink() (*AzureTableSink, bool) {
41203	return nil, false
41204}
41205
41206// AsAzureQueueSink is the BasicCopySink implementation for CommonDataServiceForAppsSink.
41207func (cdsfas CommonDataServiceForAppsSink) AsAzureQueueSink() (*AzureQueueSink, bool) {
41208	return nil, false
41209}
41210
41211// AsSapCloudForCustomerSink is the BasicCopySink implementation for CommonDataServiceForAppsSink.
41212func (cdsfas CommonDataServiceForAppsSink) AsSapCloudForCustomerSink() (*SapCloudForCustomerSink, bool) {
41213	return nil, false
41214}
41215
41216// AsAzurePostgreSQLSink is the BasicCopySink implementation for CommonDataServiceForAppsSink.
41217func (cdsfas CommonDataServiceForAppsSink) AsAzurePostgreSQLSink() (*AzurePostgreSQLSink, bool) {
41218	return nil, false
41219}
41220
41221// AsDelimitedTextSink is the BasicCopySink implementation for CommonDataServiceForAppsSink.
41222func (cdsfas CommonDataServiceForAppsSink) AsDelimitedTextSink() (*DelimitedTextSink, bool) {
41223	return nil, false
41224}
41225
41226// AsCopySink is the BasicCopySink implementation for CommonDataServiceForAppsSink.
41227func (cdsfas CommonDataServiceForAppsSink) AsCopySink() (*CopySink, bool) {
41228	return nil, false
41229}
41230
41231// AsBasicCopySink is the BasicCopySink implementation for CommonDataServiceForAppsSink.
41232func (cdsfas CommonDataServiceForAppsSink) AsBasicCopySink() (BasicCopySink, bool) {
41233	return &cdsfas, true
41234}
41235
41236// UnmarshalJSON is the custom unmarshaler for CommonDataServiceForAppsSink struct.
41237func (cdsfas *CommonDataServiceForAppsSink) UnmarshalJSON(body []byte) error {
41238	var m map[string]*json.RawMessage
41239	err := json.Unmarshal(body, &m)
41240	if err != nil {
41241		return err
41242	}
41243	for k, v := range m {
41244		switch k {
41245		case "writeBehavior":
41246			if v != nil {
41247				var writeBehavior string
41248				err = json.Unmarshal(*v, &writeBehavior)
41249				if err != nil {
41250					return err
41251				}
41252				cdsfas.WriteBehavior = &writeBehavior
41253			}
41254		case "ignoreNullValues":
41255			if v != nil {
41256				var ignoreNullValues interface{}
41257				err = json.Unmarshal(*v, &ignoreNullValues)
41258				if err != nil {
41259					return err
41260				}
41261				cdsfas.IgnoreNullValues = ignoreNullValues
41262			}
41263		default:
41264			if v != nil {
41265				var additionalProperties interface{}
41266				err = json.Unmarshal(*v, &additionalProperties)
41267				if err != nil {
41268					return err
41269				}
41270				if cdsfas.AdditionalProperties == nil {
41271					cdsfas.AdditionalProperties = make(map[string]interface{})
41272				}
41273				cdsfas.AdditionalProperties[k] = additionalProperties
41274			}
41275		case "writeBatchSize":
41276			if v != nil {
41277				var writeBatchSize interface{}
41278				err = json.Unmarshal(*v, &writeBatchSize)
41279				if err != nil {
41280					return err
41281				}
41282				cdsfas.WriteBatchSize = writeBatchSize
41283			}
41284		case "writeBatchTimeout":
41285			if v != nil {
41286				var writeBatchTimeout interface{}
41287				err = json.Unmarshal(*v, &writeBatchTimeout)
41288				if err != nil {
41289					return err
41290				}
41291				cdsfas.WriteBatchTimeout = writeBatchTimeout
41292			}
41293		case "sinkRetryCount":
41294			if v != nil {
41295				var sinkRetryCount interface{}
41296				err = json.Unmarshal(*v, &sinkRetryCount)
41297				if err != nil {
41298					return err
41299				}
41300				cdsfas.SinkRetryCount = sinkRetryCount
41301			}
41302		case "sinkRetryWait":
41303			if v != nil {
41304				var sinkRetryWait interface{}
41305				err = json.Unmarshal(*v, &sinkRetryWait)
41306				if err != nil {
41307					return err
41308				}
41309				cdsfas.SinkRetryWait = sinkRetryWait
41310			}
41311		case "maxConcurrentConnections":
41312			if v != nil {
41313				var maxConcurrentConnections interface{}
41314				err = json.Unmarshal(*v, &maxConcurrentConnections)
41315				if err != nil {
41316					return err
41317				}
41318				cdsfas.MaxConcurrentConnections = maxConcurrentConnections
41319			}
41320		case "type":
41321			if v != nil {
41322				var typeVar TypeBasicCopySink
41323				err = json.Unmarshal(*v, &typeVar)
41324				if err != nil {
41325					return err
41326				}
41327				cdsfas.Type = typeVar
41328			}
41329		}
41330	}
41331
41332	return nil
41333}
41334
41335// CommonDataServiceForAppsSource a copy activity Common Data Service for Apps source.
41336type CommonDataServiceForAppsSource struct {
41337	// Query - FetchXML is a proprietary query language that is used in Microsoft Common Data Service for Apps (online & on-premises). Type: string (or Expression with resultType string).
41338	Query interface{} `json:"query,omitempty"`
41339	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
41340	AdditionalProperties map[string]interface{} `json:""`
41341	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
41342	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
41343	// 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])).
41344	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
41345	// MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer).
41346	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
41347	// Type - Possible values include: 'TypeCopySource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', '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', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeCassandraSource', 'TypeWebSource', 'TypeTeradataSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeAzureMySQLSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeRestSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceServiceCloudSource', 'TypeSalesforceSource', 'TypeODataSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeMicrosoftAccessSource', 'TypeInformixSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAzureTableSource', 'TypeBinarySource', 'TypeDelimitedTextSource', 'TypeParquetSource'
41348	Type TypeBasicCopySource `json:"type,omitempty"`
41349}
41350
41351// MarshalJSON is the custom marshaler for CommonDataServiceForAppsSource.
41352func (cdsfas CommonDataServiceForAppsSource) MarshalJSON() ([]byte, error) {
41353	cdsfas.Type = TypeCommonDataServiceForAppsSource
41354	objectMap := make(map[string]interface{})
41355	if cdsfas.Query != nil {
41356		objectMap["query"] = cdsfas.Query
41357	}
41358	if cdsfas.SourceRetryCount != nil {
41359		objectMap["sourceRetryCount"] = cdsfas.SourceRetryCount
41360	}
41361	if cdsfas.SourceRetryWait != nil {
41362		objectMap["sourceRetryWait"] = cdsfas.SourceRetryWait
41363	}
41364	if cdsfas.MaxConcurrentConnections != nil {
41365		objectMap["maxConcurrentConnections"] = cdsfas.MaxConcurrentConnections
41366	}
41367	if cdsfas.Type != "" {
41368		objectMap["type"] = cdsfas.Type
41369	}
41370	for k, v := range cdsfas.AdditionalProperties {
41371		objectMap[k] = v
41372	}
41373	return json.Marshal(objectMap)
41374}
41375
41376// AsAmazonRedshiftSource is the BasicCopySource implementation for CommonDataServiceForAppsSource.
41377func (cdsfas CommonDataServiceForAppsSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
41378	return nil, false
41379}
41380
41381// AsGoogleAdWordsSource is the BasicCopySource implementation for CommonDataServiceForAppsSource.
41382func (cdsfas CommonDataServiceForAppsSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) {
41383	return nil, false
41384}
41385
41386// AsOracleServiceCloudSource is the BasicCopySource implementation for CommonDataServiceForAppsSource.
41387func (cdsfas CommonDataServiceForAppsSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) {
41388	return nil, false
41389}
41390
41391// AsDynamicsAXSource is the BasicCopySource implementation for CommonDataServiceForAppsSource.
41392func (cdsfas CommonDataServiceForAppsSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) {
41393	return nil, false
41394}
41395
41396// AsResponsysSource is the BasicCopySource implementation for CommonDataServiceForAppsSource.
41397func (cdsfas CommonDataServiceForAppsSource) AsResponsysSource() (*ResponsysSource, bool) {
41398	return nil, false
41399}
41400
41401// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for CommonDataServiceForAppsSource.
41402func (cdsfas CommonDataServiceForAppsSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
41403	return nil, false
41404}
41405
41406// AsVerticaSource is the BasicCopySource implementation for CommonDataServiceForAppsSource.
41407func (cdsfas CommonDataServiceForAppsSource) AsVerticaSource() (*VerticaSource, bool) {
41408	return nil, false
41409}
41410
41411// AsNetezzaSource is the BasicCopySource implementation for CommonDataServiceForAppsSource.
41412func (cdsfas CommonDataServiceForAppsSource) AsNetezzaSource() (*NetezzaSource, bool) {
41413	return nil, false
41414}
41415
41416// AsZohoSource is the BasicCopySource implementation for CommonDataServiceForAppsSource.
41417func (cdsfas CommonDataServiceForAppsSource) AsZohoSource() (*ZohoSource, bool) {
41418	return nil, false
41419}
41420
41421// AsXeroSource is the BasicCopySource implementation for CommonDataServiceForAppsSource.
41422func (cdsfas CommonDataServiceForAppsSource) AsXeroSource() (*XeroSource, bool) {
41423	return nil, false
41424}
41425
41426// AsSquareSource is the BasicCopySource implementation for CommonDataServiceForAppsSource.
41427func (cdsfas CommonDataServiceForAppsSource) AsSquareSource() (*SquareSource, bool) {
41428	return nil, false
41429}
41430
41431// AsSparkSource is the BasicCopySource implementation for CommonDataServiceForAppsSource.
41432func (cdsfas CommonDataServiceForAppsSource) AsSparkSource() (*SparkSource, bool) {
41433	return nil, false
41434}
41435
41436// AsShopifySource is the BasicCopySource implementation for CommonDataServiceForAppsSource.
41437func (cdsfas CommonDataServiceForAppsSource) AsShopifySource() (*ShopifySource, bool) {
41438	return nil, false
41439}
41440
41441// AsServiceNowSource is the BasicCopySource implementation for CommonDataServiceForAppsSource.
41442func (cdsfas CommonDataServiceForAppsSource) AsServiceNowSource() (*ServiceNowSource, bool) {
41443	return nil, false
41444}
41445
41446// AsQuickBooksSource is the BasicCopySource implementation for CommonDataServiceForAppsSource.
41447func (cdsfas CommonDataServiceForAppsSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
41448	return nil, false
41449}
41450
41451// AsPrestoSource is the BasicCopySource implementation for CommonDataServiceForAppsSource.
41452func (cdsfas CommonDataServiceForAppsSource) AsPrestoSource() (*PrestoSource, bool) {
41453	return nil, false
41454}
41455
41456// AsPhoenixSource is the BasicCopySource implementation for CommonDataServiceForAppsSource.
41457func (cdsfas CommonDataServiceForAppsSource) AsPhoenixSource() (*PhoenixSource, bool) {
41458	return nil, false
41459}
41460
41461// AsPaypalSource is the BasicCopySource implementation for CommonDataServiceForAppsSource.
41462func (cdsfas CommonDataServiceForAppsSource) AsPaypalSource() (*PaypalSource, bool) {
41463	return nil, false
41464}
41465
41466// AsMarketoSource is the BasicCopySource implementation for CommonDataServiceForAppsSource.
41467func (cdsfas CommonDataServiceForAppsSource) AsMarketoSource() (*MarketoSource, bool) {
41468	return nil, false
41469}
41470
41471// AsMariaDBSource is the BasicCopySource implementation for CommonDataServiceForAppsSource.
41472func (cdsfas CommonDataServiceForAppsSource) AsMariaDBSource() (*MariaDBSource, bool) {
41473	return nil, false
41474}
41475
41476// AsMagentoSource is the BasicCopySource implementation for CommonDataServiceForAppsSource.
41477func (cdsfas CommonDataServiceForAppsSource) AsMagentoSource() (*MagentoSource, bool) {
41478	return nil, false
41479}
41480
41481// AsJiraSource is the BasicCopySource implementation for CommonDataServiceForAppsSource.
41482func (cdsfas CommonDataServiceForAppsSource) AsJiraSource() (*JiraSource, bool) {
41483	return nil, false
41484}
41485
41486// AsImpalaSource is the BasicCopySource implementation for CommonDataServiceForAppsSource.
41487func (cdsfas CommonDataServiceForAppsSource) AsImpalaSource() (*ImpalaSource, bool) {
41488	return nil, false
41489}
41490
41491// AsHubspotSource is the BasicCopySource implementation for CommonDataServiceForAppsSource.
41492func (cdsfas CommonDataServiceForAppsSource) AsHubspotSource() (*HubspotSource, bool) {
41493	return nil, false
41494}
41495
41496// AsHiveSource is the BasicCopySource implementation for CommonDataServiceForAppsSource.
41497func (cdsfas CommonDataServiceForAppsSource) AsHiveSource() (*HiveSource, bool) {
41498	return nil, false
41499}
41500
41501// AsHBaseSource is the BasicCopySource implementation for CommonDataServiceForAppsSource.
41502func (cdsfas CommonDataServiceForAppsSource) AsHBaseSource() (*HBaseSource, bool) {
41503	return nil, false
41504}
41505
41506// AsGreenplumSource is the BasicCopySource implementation for CommonDataServiceForAppsSource.
41507func (cdsfas CommonDataServiceForAppsSource) AsGreenplumSource() (*GreenplumSource, bool) {
41508	return nil, false
41509}
41510
41511// AsGoogleBigQuerySource is the BasicCopySource implementation for CommonDataServiceForAppsSource.
41512func (cdsfas CommonDataServiceForAppsSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
41513	return nil, false
41514}
41515
41516// AsEloquaSource is the BasicCopySource implementation for CommonDataServiceForAppsSource.
41517func (cdsfas CommonDataServiceForAppsSource) AsEloquaSource() (*EloquaSource, bool) {
41518	return nil, false
41519}
41520
41521// AsDrillSource is the BasicCopySource implementation for CommonDataServiceForAppsSource.
41522func (cdsfas CommonDataServiceForAppsSource) AsDrillSource() (*DrillSource, bool) {
41523	return nil, false
41524}
41525
41526// AsCouchbaseSource is the BasicCopySource implementation for CommonDataServiceForAppsSource.
41527func (cdsfas CommonDataServiceForAppsSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
41528	return nil, false
41529}
41530
41531// AsConcurSource is the BasicCopySource implementation for CommonDataServiceForAppsSource.
41532func (cdsfas CommonDataServiceForAppsSource) AsConcurSource() (*ConcurSource, bool) {
41533	return nil, false
41534}
41535
41536// AsAzurePostgreSQLSource is the BasicCopySource implementation for CommonDataServiceForAppsSource.
41537func (cdsfas CommonDataServiceForAppsSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
41538	return nil, false
41539}
41540
41541// AsAmazonMWSSource is the BasicCopySource implementation for CommonDataServiceForAppsSource.
41542func (cdsfas CommonDataServiceForAppsSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
41543	return nil, false
41544}
41545
41546// AsHTTPSource is the BasicCopySource implementation for CommonDataServiceForAppsSource.
41547func (cdsfas CommonDataServiceForAppsSource) AsHTTPSource() (*HTTPSource, bool) {
41548	return nil, false
41549}
41550
41551// AsAzureBlobFSSource is the BasicCopySource implementation for CommonDataServiceForAppsSource.
41552func (cdsfas CommonDataServiceForAppsSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) {
41553	return nil, false
41554}
41555
41556// AsAzureDataLakeStoreSource is the BasicCopySource implementation for CommonDataServiceForAppsSource.
41557func (cdsfas CommonDataServiceForAppsSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
41558	return nil, false
41559}
41560
41561// AsOffice365Source is the BasicCopySource implementation for CommonDataServiceForAppsSource.
41562func (cdsfas CommonDataServiceForAppsSource) AsOffice365Source() (*Office365Source, bool) {
41563	return nil, false
41564}
41565
41566// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for CommonDataServiceForAppsSource.
41567func (cdsfas CommonDataServiceForAppsSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) {
41568	return nil, false
41569}
41570
41571// AsMongoDbV2Source is the BasicCopySource implementation for CommonDataServiceForAppsSource.
41572func (cdsfas CommonDataServiceForAppsSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) {
41573	return nil, false
41574}
41575
41576// AsMongoDbSource is the BasicCopySource implementation for CommonDataServiceForAppsSource.
41577func (cdsfas CommonDataServiceForAppsSource) AsMongoDbSource() (*MongoDbSource, bool) {
41578	return nil, false
41579}
41580
41581// AsCassandraSource is the BasicCopySource implementation for CommonDataServiceForAppsSource.
41582func (cdsfas CommonDataServiceForAppsSource) AsCassandraSource() (*CassandraSource, bool) {
41583	return nil, false
41584}
41585
41586// AsWebSource is the BasicCopySource implementation for CommonDataServiceForAppsSource.
41587func (cdsfas CommonDataServiceForAppsSource) AsWebSource() (*WebSource, bool) {
41588	return nil, false
41589}
41590
41591// AsTeradataSource is the BasicCopySource implementation for CommonDataServiceForAppsSource.
41592func (cdsfas CommonDataServiceForAppsSource) AsTeradataSource() (*TeradataSource, bool) {
41593	return nil, false
41594}
41595
41596// AsOracleSource is the BasicCopySource implementation for CommonDataServiceForAppsSource.
41597func (cdsfas CommonDataServiceForAppsSource) AsOracleSource() (*OracleSource, bool) {
41598	return nil, false
41599}
41600
41601// AsAzureDataExplorerSource is the BasicCopySource implementation for CommonDataServiceForAppsSource.
41602func (cdsfas CommonDataServiceForAppsSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) {
41603	return nil, false
41604}
41605
41606// AsAzureMySQLSource is the BasicCopySource implementation for CommonDataServiceForAppsSource.
41607func (cdsfas CommonDataServiceForAppsSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
41608	return nil, false
41609}
41610
41611// AsHdfsSource is the BasicCopySource implementation for CommonDataServiceForAppsSource.
41612func (cdsfas CommonDataServiceForAppsSource) AsHdfsSource() (*HdfsSource, bool) {
41613	return nil, false
41614}
41615
41616// AsFileSystemSource is the BasicCopySource implementation for CommonDataServiceForAppsSource.
41617func (cdsfas CommonDataServiceForAppsSource) AsFileSystemSource() (*FileSystemSource, bool) {
41618	return nil, false
41619}
41620
41621// AsSQLDWSource is the BasicCopySource implementation for CommonDataServiceForAppsSource.
41622func (cdsfas CommonDataServiceForAppsSource) AsSQLDWSource() (*SQLDWSource, bool) {
41623	return nil, false
41624}
41625
41626// AsSQLMISource is the BasicCopySource implementation for CommonDataServiceForAppsSource.
41627func (cdsfas CommonDataServiceForAppsSource) AsSQLMISource() (*SQLMISource, bool) {
41628	return nil, false
41629}
41630
41631// AsAzureSQLSource is the BasicCopySource implementation for CommonDataServiceForAppsSource.
41632func (cdsfas CommonDataServiceForAppsSource) AsAzureSQLSource() (*AzureSQLSource, bool) {
41633	return nil, false
41634}
41635
41636// AsSQLServerSource is the BasicCopySource implementation for CommonDataServiceForAppsSource.
41637func (cdsfas CommonDataServiceForAppsSource) AsSQLServerSource() (*SQLServerSource, bool) {
41638	return nil, false
41639}
41640
41641// AsSQLSource is the BasicCopySource implementation for CommonDataServiceForAppsSource.
41642func (cdsfas CommonDataServiceForAppsSource) AsSQLSource() (*SQLSource, bool) {
41643	return nil, false
41644}
41645
41646// AsRestSource is the BasicCopySource implementation for CommonDataServiceForAppsSource.
41647func (cdsfas CommonDataServiceForAppsSource) AsRestSource() (*RestSource, bool) {
41648	return nil, false
41649}
41650
41651// AsSapTableSource is the BasicCopySource implementation for CommonDataServiceForAppsSource.
41652func (cdsfas CommonDataServiceForAppsSource) AsSapTableSource() (*SapTableSource, bool) {
41653	return nil, false
41654}
41655
41656// AsSapOpenHubSource is the BasicCopySource implementation for CommonDataServiceForAppsSource.
41657func (cdsfas CommonDataServiceForAppsSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) {
41658	return nil, false
41659}
41660
41661// AsSapHanaSource is the BasicCopySource implementation for CommonDataServiceForAppsSource.
41662func (cdsfas CommonDataServiceForAppsSource) AsSapHanaSource() (*SapHanaSource, bool) {
41663	return nil, false
41664}
41665
41666// AsSapEccSource is the BasicCopySource implementation for CommonDataServiceForAppsSource.
41667func (cdsfas CommonDataServiceForAppsSource) AsSapEccSource() (*SapEccSource, bool) {
41668	return nil, false
41669}
41670
41671// AsSapCloudForCustomerSource is the BasicCopySource implementation for CommonDataServiceForAppsSource.
41672func (cdsfas CommonDataServiceForAppsSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
41673	return nil, false
41674}
41675
41676// AsSalesforceServiceCloudSource is the BasicCopySource implementation for CommonDataServiceForAppsSource.
41677func (cdsfas CommonDataServiceForAppsSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) {
41678	return nil, false
41679}
41680
41681// AsSalesforceSource is the BasicCopySource implementation for CommonDataServiceForAppsSource.
41682func (cdsfas CommonDataServiceForAppsSource) AsSalesforceSource() (*SalesforceSource, bool) {
41683	return nil, false
41684}
41685
41686// AsODataSource is the BasicCopySource implementation for CommonDataServiceForAppsSource.
41687func (cdsfas CommonDataServiceForAppsSource) AsODataSource() (*ODataSource, bool) {
41688	return nil, false
41689}
41690
41691// AsSybaseSource is the BasicCopySource implementation for CommonDataServiceForAppsSource.
41692func (cdsfas CommonDataServiceForAppsSource) AsSybaseSource() (*SybaseSource, bool) {
41693	return nil, false
41694}
41695
41696// AsPostgreSQLSource is the BasicCopySource implementation for CommonDataServiceForAppsSource.
41697func (cdsfas CommonDataServiceForAppsSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) {
41698	return nil, false
41699}
41700
41701// AsMySQLSource is the BasicCopySource implementation for CommonDataServiceForAppsSource.
41702func (cdsfas CommonDataServiceForAppsSource) AsMySQLSource() (*MySQLSource, bool) {
41703	return nil, false
41704}
41705
41706// AsOdbcSource is the BasicCopySource implementation for CommonDataServiceForAppsSource.
41707func (cdsfas CommonDataServiceForAppsSource) AsOdbcSource() (*OdbcSource, bool) {
41708	return nil, false
41709}
41710
41711// AsDb2Source is the BasicCopySource implementation for CommonDataServiceForAppsSource.
41712func (cdsfas CommonDataServiceForAppsSource) AsDb2Source() (*Db2Source, bool) {
41713	return nil, false
41714}
41715
41716// AsMicrosoftAccessSource is the BasicCopySource implementation for CommonDataServiceForAppsSource.
41717func (cdsfas CommonDataServiceForAppsSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) {
41718	return nil, false
41719}
41720
41721// AsInformixSource is the BasicCopySource implementation for CommonDataServiceForAppsSource.
41722func (cdsfas CommonDataServiceForAppsSource) AsInformixSource() (*InformixSource, bool) {
41723	return nil, false
41724}
41725
41726// AsRelationalSource is the BasicCopySource implementation for CommonDataServiceForAppsSource.
41727func (cdsfas CommonDataServiceForAppsSource) AsRelationalSource() (*RelationalSource, bool) {
41728	return nil, false
41729}
41730
41731// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for CommonDataServiceForAppsSource.
41732func (cdsfas CommonDataServiceForAppsSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) {
41733	return &cdsfas, true
41734}
41735
41736// AsDynamicsCrmSource is the BasicCopySource implementation for CommonDataServiceForAppsSource.
41737func (cdsfas CommonDataServiceForAppsSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) {
41738	return nil, false
41739}
41740
41741// AsDynamicsSource is the BasicCopySource implementation for CommonDataServiceForAppsSource.
41742func (cdsfas CommonDataServiceForAppsSource) AsDynamicsSource() (*DynamicsSource, bool) {
41743	return nil, false
41744}
41745
41746// AsDocumentDbCollectionSource is the BasicCopySource implementation for CommonDataServiceForAppsSource.
41747func (cdsfas CommonDataServiceForAppsSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
41748	return nil, false
41749}
41750
41751// AsBlobSource is the BasicCopySource implementation for CommonDataServiceForAppsSource.
41752func (cdsfas CommonDataServiceForAppsSource) AsBlobSource() (*BlobSource, bool) {
41753	return nil, false
41754}
41755
41756// AsAzureTableSource is the BasicCopySource implementation for CommonDataServiceForAppsSource.
41757func (cdsfas CommonDataServiceForAppsSource) AsAzureTableSource() (*AzureTableSource, bool) {
41758	return nil, false
41759}
41760
41761// AsBinarySource is the BasicCopySource implementation for CommonDataServiceForAppsSource.
41762func (cdsfas CommonDataServiceForAppsSource) AsBinarySource() (*BinarySource, bool) {
41763	return nil, false
41764}
41765
41766// AsDelimitedTextSource is the BasicCopySource implementation for CommonDataServiceForAppsSource.
41767func (cdsfas CommonDataServiceForAppsSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) {
41768	return nil, false
41769}
41770
41771// AsParquetSource is the BasicCopySource implementation for CommonDataServiceForAppsSource.
41772func (cdsfas CommonDataServiceForAppsSource) AsParquetSource() (*ParquetSource, bool) {
41773	return nil, false
41774}
41775
41776// AsCopySource is the BasicCopySource implementation for CommonDataServiceForAppsSource.
41777func (cdsfas CommonDataServiceForAppsSource) AsCopySource() (*CopySource, bool) {
41778	return nil, false
41779}
41780
41781// AsBasicCopySource is the BasicCopySource implementation for CommonDataServiceForAppsSource.
41782func (cdsfas CommonDataServiceForAppsSource) AsBasicCopySource() (BasicCopySource, bool) {
41783	return &cdsfas, true
41784}
41785
41786// UnmarshalJSON is the custom unmarshaler for CommonDataServiceForAppsSource struct.
41787func (cdsfas *CommonDataServiceForAppsSource) UnmarshalJSON(body []byte) error {
41788	var m map[string]*json.RawMessage
41789	err := json.Unmarshal(body, &m)
41790	if err != nil {
41791		return err
41792	}
41793	for k, v := range m {
41794		switch k {
41795		case "query":
41796			if v != nil {
41797				var query interface{}
41798				err = json.Unmarshal(*v, &query)
41799				if err != nil {
41800					return err
41801				}
41802				cdsfas.Query = query
41803			}
41804		default:
41805			if v != nil {
41806				var additionalProperties interface{}
41807				err = json.Unmarshal(*v, &additionalProperties)
41808				if err != nil {
41809					return err
41810				}
41811				if cdsfas.AdditionalProperties == nil {
41812					cdsfas.AdditionalProperties = make(map[string]interface{})
41813				}
41814				cdsfas.AdditionalProperties[k] = additionalProperties
41815			}
41816		case "sourceRetryCount":
41817			if v != nil {
41818				var sourceRetryCount interface{}
41819				err = json.Unmarshal(*v, &sourceRetryCount)
41820				if err != nil {
41821					return err
41822				}
41823				cdsfas.SourceRetryCount = sourceRetryCount
41824			}
41825		case "sourceRetryWait":
41826			if v != nil {
41827				var sourceRetryWait interface{}
41828				err = json.Unmarshal(*v, &sourceRetryWait)
41829				if err != nil {
41830					return err
41831				}
41832				cdsfas.SourceRetryWait = sourceRetryWait
41833			}
41834		case "maxConcurrentConnections":
41835			if v != nil {
41836				var maxConcurrentConnections interface{}
41837				err = json.Unmarshal(*v, &maxConcurrentConnections)
41838				if err != nil {
41839					return err
41840				}
41841				cdsfas.MaxConcurrentConnections = maxConcurrentConnections
41842			}
41843		case "type":
41844			if v != nil {
41845				var typeVar TypeBasicCopySource
41846				err = json.Unmarshal(*v, &typeVar)
41847				if err != nil {
41848					return err
41849				}
41850				cdsfas.Type = typeVar
41851			}
41852		}
41853	}
41854
41855	return nil
41856}
41857
41858// ConcurLinkedService concur Service linked service.
41859type ConcurLinkedService struct {
41860	// ConcurLinkedServiceTypeProperties - Concur Service linked service properties.
41861	*ConcurLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
41862	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
41863	AdditionalProperties map[string]interface{} `json:""`
41864	// ConnectVia - The integration runtime reference.
41865	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
41866	// Description - Linked service description.
41867	Description *string `json:"description,omitempty"`
41868	// Parameters - Parameters for linked service.
41869	Parameters map[string]*ParameterSpecification `json:"parameters"`
41870	// Annotations - List of tags that can be used for describing the linked service.
41871	Annotations *[]interface{} `json:"annotations,omitempty"`
41872	// Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', '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', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage'
41873	Type TypeBasicLinkedService `json:"type,omitempty"`
41874}
41875
41876// MarshalJSON is the custom marshaler for ConcurLinkedService.
41877func (cls ConcurLinkedService) MarshalJSON() ([]byte, error) {
41878	cls.Type = TypeConcur
41879	objectMap := make(map[string]interface{})
41880	if cls.ConcurLinkedServiceTypeProperties != nil {
41881		objectMap["typeProperties"] = cls.ConcurLinkedServiceTypeProperties
41882	}
41883	if cls.ConnectVia != nil {
41884		objectMap["connectVia"] = cls.ConnectVia
41885	}
41886	if cls.Description != nil {
41887		objectMap["description"] = cls.Description
41888	}
41889	if cls.Parameters != nil {
41890		objectMap["parameters"] = cls.Parameters
41891	}
41892	if cls.Annotations != nil {
41893		objectMap["annotations"] = cls.Annotations
41894	}
41895	if cls.Type != "" {
41896		objectMap["type"] = cls.Type
41897	}
41898	for k, v := range cls.AdditionalProperties {
41899		objectMap[k] = v
41900	}
41901	return json.Marshal(objectMap)
41902}
41903
41904// AsAzureFunctionLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
41905func (cls ConcurLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) {
41906	return nil, false
41907}
41908
41909// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
41910func (cls ConcurLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) {
41911	return nil, false
41912}
41913
41914// AsSapTableLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
41915func (cls ConcurLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) {
41916	return nil, false
41917}
41918
41919// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
41920func (cls ConcurLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) {
41921	return nil, false
41922}
41923
41924// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
41925func (cls ConcurLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) {
41926	return nil, false
41927}
41928
41929// AsDynamicsAXLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
41930func (cls ConcurLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) {
41931	return nil, false
41932}
41933
41934// AsResponsysLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
41935func (cls ConcurLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
41936	return nil, false
41937}
41938
41939// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
41940func (cls ConcurLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
41941	return nil, false
41942}
41943
41944// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
41945func (cls ConcurLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
41946	return nil, false
41947}
41948
41949// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
41950func (cls ConcurLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
41951	return nil, false
41952}
41953
41954// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
41955func (cls ConcurLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
41956	return nil, false
41957}
41958
41959// AsNetezzaLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
41960func (cls ConcurLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
41961	return nil, false
41962}
41963
41964// AsVerticaLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
41965func (cls ConcurLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
41966	return nil, false
41967}
41968
41969// AsZohoLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
41970func (cls ConcurLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
41971	return nil, false
41972}
41973
41974// AsXeroLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
41975func (cls ConcurLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
41976	return nil, false
41977}
41978
41979// AsSquareLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
41980func (cls ConcurLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
41981	return nil, false
41982}
41983
41984// AsSparkLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
41985func (cls ConcurLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
41986	return nil, false
41987}
41988
41989// AsShopifyLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
41990func (cls ConcurLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
41991	return nil, false
41992}
41993
41994// AsServiceNowLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
41995func (cls ConcurLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
41996	return nil, false
41997}
41998
41999// AsQuickBooksLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
42000func (cls ConcurLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
42001	return nil, false
42002}
42003
42004// AsPrestoLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
42005func (cls ConcurLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
42006	return nil, false
42007}
42008
42009// AsPhoenixLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
42010func (cls ConcurLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
42011	return nil, false
42012}
42013
42014// AsPaypalLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
42015func (cls ConcurLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
42016	return nil, false
42017}
42018
42019// AsMarketoLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
42020func (cls ConcurLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
42021	return nil, false
42022}
42023
42024// AsMariaDBLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
42025func (cls ConcurLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
42026	return nil, false
42027}
42028
42029// AsMagentoLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
42030func (cls ConcurLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
42031	return nil, false
42032}
42033
42034// AsJiraLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
42035func (cls ConcurLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
42036	return nil, false
42037}
42038
42039// AsImpalaLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
42040func (cls ConcurLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
42041	return nil, false
42042}
42043
42044// AsHubspotLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
42045func (cls ConcurLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
42046	return nil, false
42047}
42048
42049// AsHiveLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
42050func (cls ConcurLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
42051	return nil, false
42052}
42053
42054// AsHBaseLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
42055func (cls ConcurLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
42056	return nil, false
42057}
42058
42059// AsGreenplumLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
42060func (cls ConcurLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
42061	return nil, false
42062}
42063
42064// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
42065func (cls ConcurLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
42066	return nil, false
42067}
42068
42069// AsEloquaLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
42070func (cls ConcurLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
42071	return nil, false
42072}
42073
42074// AsDrillLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
42075func (cls ConcurLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
42076	return nil, false
42077}
42078
42079// AsCouchbaseLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
42080func (cls ConcurLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
42081	return nil, false
42082}
42083
42084// AsConcurLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
42085func (cls ConcurLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
42086	return &cls, true
42087}
42088
42089// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
42090func (cls ConcurLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
42091	return nil, false
42092}
42093
42094// AsAmazonMWSLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
42095func (cls ConcurLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
42096	return nil, false
42097}
42098
42099// AsSapHanaLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
42100func (cls ConcurLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
42101	return nil, false
42102}
42103
42104// AsSapBWLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
42105func (cls ConcurLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
42106	return nil, false
42107}
42108
42109// AsSftpServerLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
42110func (cls ConcurLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
42111	return nil, false
42112}
42113
42114// AsFtpServerLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
42115func (cls ConcurLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
42116	return nil, false
42117}
42118
42119// AsHTTPLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
42120func (cls ConcurLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
42121	return nil, false
42122}
42123
42124// AsAzureSearchLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
42125func (cls ConcurLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
42126	return nil, false
42127}
42128
42129// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
42130func (cls ConcurLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
42131	return nil, false
42132}
42133
42134// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
42135func (cls ConcurLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
42136	return nil, false
42137}
42138
42139// AsAmazonS3LinkedService is the BasicLinkedService implementation for ConcurLinkedService.
42140func (cls ConcurLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
42141	return nil, false
42142}
42143
42144// AsRestServiceLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
42145func (cls ConcurLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) {
42146	return nil, false
42147}
42148
42149// AsSapOpenHubLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
42150func (cls ConcurLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) {
42151	return nil, false
42152}
42153
42154// AsSapEccLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
42155func (cls ConcurLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
42156	return nil, false
42157}
42158
42159// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
42160func (cls ConcurLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
42161	return nil, false
42162}
42163
42164// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
42165func (cls ConcurLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) {
42166	return nil, false
42167}
42168
42169// AsSalesforceLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
42170func (cls ConcurLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
42171	return nil, false
42172}
42173
42174// AsOffice365LinkedService is the BasicLinkedService implementation for ConcurLinkedService.
42175func (cls ConcurLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) {
42176	return nil, false
42177}
42178
42179// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
42180func (cls ConcurLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) {
42181	return nil, false
42182}
42183
42184// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
42185func (cls ConcurLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
42186	return nil, false
42187}
42188
42189// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for ConcurLinkedService.
42190func (cls ConcurLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) {
42191	return nil, false
42192}
42193
42194// AsMongoDbV2LinkedService is the BasicLinkedService implementation for ConcurLinkedService.
42195func (cls ConcurLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) {
42196	return nil, false
42197}
42198
42199// AsMongoDbLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
42200func (cls ConcurLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
42201	return nil, false
42202}
42203
42204// AsCassandraLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
42205func (cls ConcurLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
42206	return nil, false
42207}
42208
42209// AsWebLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
42210func (cls ConcurLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
42211	return nil, false
42212}
42213
42214// AsODataLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
42215func (cls ConcurLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
42216	return nil, false
42217}
42218
42219// AsHdfsLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
42220func (cls ConcurLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
42221	return nil, false
42222}
42223
42224// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
42225func (cls ConcurLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) {
42226	return nil, false
42227}
42228
42229// AsInformixLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
42230func (cls ConcurLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) {
42231	return nil, false
42232}
42233
42234// AsOdbcLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
42235func (cls ConcurLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
42236	return nil, false
42237}
42238
42239// AsAzureMLLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
42240func (cls ConcurLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
42241	return nil, false
42242}
42243
42244// AsTeradataLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
42245func (cls ConcurLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
42246	return nil, false
42247}
42248
42249// AsDb2LinkedService is the BasicLinkedService implementation for ConcurLinkedService.
42250func (cls ConcurLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
42251	return nil, false
42252}
42253
42254// AsSybaseLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
42255func (cls ConcurLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
42256	return nil, false
42257}
42258
42259// AsPostgreSQLLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
42260func (cls ConcurLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
42261	return nil, false
42262}
42263
42264// AsMySQLLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
42265func (cls ConcurLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
42266	return nil, false
42267}
42268
42269// AsAzureMySQLLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
42270func (cls ConcurLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
42271	return nil, false
42272}
42273
42274// AsOracleLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
42275func (cls ConcurLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
42276	return nil, false
42277}
42278
42279// AsFileServerLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
42280func (cls ConcurLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
42281	return nil, false
42282}
42283
42284// AsHDInsightLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
42285func (cls ConcurLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
42286	return nil, false
42287}
42288
42289// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
42290func (cls ConcurLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) {
42291	return nil, false
42292}
42293
42294// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
42295func (cls ConcurLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) {
42296	return nil, false
42297}
42298
42299// AsDynamicsLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
42300func (cls ConcurLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
42301	return nil, false
42302}
42303
42304// AsCosmosDbLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
42305func (cls ConcurLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
42306	return nil, false
42307}
42308
42309// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
42310func (cls ConcurLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
42311	return nil, false
42312}
42313
42314// AsAzureBatchLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
42315func (cls ConcurLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
42316	return nil, false
42317}
42318
42319// AsAzureSQLMILinkedService is the BasicLinkedService implementation for ConcurLinkedService.
42320func (cls ConcurLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) {
42321	return nil, false
42322}
42323
42324// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
42325func (cls ConcurLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
42326	return nil, false
42327}
42328
42329// AsSQLServerLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
42330func (cls ConcurLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
42331	return nil, false
42332}
42333
42334// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
42335func (cls ConcurLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
42336	return nil, false
42337}
42338
42339// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
42340func (cls ConcurLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) {
42341	return nil, false
42342}
42343
42344// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
42345func (cls ConcurLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) {
42346	return nil, false
42347}
42348
42349// AsAzureStorageLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
42350func (cls ConcurLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
42351	return nil, false
42352}
42353
42354// AsLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
42355func (cls ConcurLinkedService) AsLinkedService() (*LinkedService, bool) {
42356	return nil, false
42357}
42358
42359// AsBasicLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
42360func (cls ConcurLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
42361	return &cls, true
42362}
42363
42364// UnmarshalJSON is the custom unmarshaler for ConcurLinkedService struct.
42365func (cls *ConcurLinkedService) UnmarshalJSON(body []byte) error {
42366	var m map[string]*json.RawMessage
42367	err := json.Unmarshal(body, &m)
42368	if err != nil {
42369		return err
42370	}
42371	for k, v := range m {
42372		switch k {
42373		case "typeProperties":
42374			if v != nil {
42375				var concurLinkedServiceTypeProperties ConcurLinkedServiceTypeProperties
42376				err = json.Unmarshal(*v, &concurLinkedServiceTypeProperties)
42377				if err != nil {
42378					return err
42379				}
42380				cls.ConcurLinkedServiceTypeProperties = &concurLinkedServiceTypeProperties
42381			}
42382		default:
42383			if v != nil {
42384				var additionalProperties interface{}
42385				err = json.Unmarshal(*v, &additionalProperties)
42386				if err != nil {
42387					return err
42388				}
42389				if cls.AdditionalProperties == nil {
42390					cls.AdditionalProperties = make(map[string]interface{})
42391				}
42392				cls.AdditionalProperties[k] = additionalProperties
42393			}
42394		case "connectVia":
42395			if v != nil {
42396				var connectVia IntegrationRuntimeReference
42397				err = json.Unmarshal(*v, &connectVia)
42398				if err != nil {
42399					return err
42400				}
42401				cls.ConnectVia = &connectVia
42402			}
42403		case "description":
42404			if v != nil {
42405				var description string
42406				err = json.Unmarshal(*v, &description)
42407				if err != nil {
42408					return err
42409				}
42410				cls.Description = &description
42411			}
42412		case "parameters":
42413			if v != nil {
42414				var parameters map[string]*ParameterSpecification
42415				err = json.Unmarshal(*v, &parameters)
42416				if err != nil {
42417					return err
42418				}
42419				cls.Parameters = parameters
42420			}
42421		case "annotations":
42422			if v != nil {
42423				var annotations []interface{}
42424				err = json.Unmarshal(*v, &annotations)
42425				if err != nil {
42426					return err
42427				}
42428				cls.Annotations = &annotations
42429			}
42430		case "type":
42431			if v != nil {
42432				var typeVar TypeBasicLinkedService
42433				err = json.Unmarshal(*v, &typeVar)
42434				if err != nil {
42435					return err
42436				}
42437				cls.Type = typeVar
42438			}
42439		}
42440	}
42441
42442	return nil
42443}
42444
42445// ConcurLinkedServiceTypeProperties concur Service linked service properties.
42446type ConcurLinkedServiceTypeProperties struct {
42447	// ClientID - Application client_id supplied by Concur App Management.
42448	ClientID interface{} `json:"clientId,omitempty"`
42449	// Username - The user name that you use to access Concur Service.
42450	Username interface{} `json:"username,omitempty"`
42451	// Password - The password corresponding to the user name that you provided in the username field.
42452	Password BasicSecretBase `json:"password,omitempty"`
42453	// UseEncryptedEndpoints - Specifies whether the data source endpoints are encrypted using HTTPS. The default value is true.
42454	UseEncryptedEndpoints interface{} `json:"useEncryptedEndpoints,omitempty"`
42455	// 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.
42456	UseHostVerification interface{} `json:"useHostVerification,omitempty"`
42457	// UsePeerVerification - Specifies whether to verify the identity of the server when connecting over SSL. The default value is true.
42458	UsePeerVerification interface{} `json:"usePeerVerification,omitempty"`
42459	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
42460	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
42461}
42462
42463// UnmarshalJSON is the custom unmarshaler for ConcurLinkedServiceTypeProperties struct.
42464func (clstp *ConcurLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
42465	var m map[string]*json.RawMessage
42466	err := json.Unmarshal(body, &m)
42467	if err != nil {
42468		return err
42469	}
42470	for k, v := range m {
42471		switch k {
42472		case "clientId":
42473			if v != nil {
42474				var clientID interface{}
42475				err = json.Unmarshal(*v, &clientID)
42476				if err != nil {
42477					return err
42478				}
42479				clstp.ClientID = clientID
42480			}
42481		case "username":
42482			if v != nil {
42483				var username interface{}
42484				err = json.Unmarshal(*v, &username)
42485				if err != nil {
42486					return err
42487				}
42488				clstp.Username = username
42489			}
42490		case "password":
42491			if v != nil {
42492				password, err := unmarshalBasicSecretBase(*v)
42493				if err != nil {
42494					return err
42495				}
42496				clstp.Password = password
42497			}
42498		case "useEncryptedEndpoints":
42499			if v != nil {
42500				var useEncryptedEndpoints interface{}
42501				err = json.Unmarshal(*v, &useEncryptedEndpoints)
42502				if err != nil {
42503					return err
42504				}
42505				clstp.UseEncryptedEndpoints = useEncryptedEndpoints
42506			}
42507		case "useHostVerification":
42508			if v != nil {
42509				var useHostVerification interface{}
42510				err = json.Unmarshal(*v, &useHostVerification)
42511				if err != nil {
42512					return err
42513				}
42514				clstp.UseHostVerification = useHostVerification
42515			}
42516		case "usePeerVerification":
42517			if v != nil {
42518				var usePeerVerification interface{}
42519				err = json.Unmarshal(*v, &usePeerVerification)
42520				if err != nil {
42521					return err
42522				}
42523				clstp.UsePeerVerification = usePeerVerification
42524			}
42525		case "encryptedCredential":
42526			if v != nil {
42527				var encryptedCredential interface{}
42528				err = json.Unmarshal(*v, &encryptedCredential)
42529				if err != nil {
42530					return err
42531				}
42532				clstp.EncryptedCredential = encryptedCredential
42533			}
42534		}
42535	}
42536
42537	return nil
42538}
42539
42540// ConcurObjectDataset concur Service dataset.
42541type ConcurObjectDataset struct {
42542	// GenericDatasetTypeProperties - Properties specific to this dataset type.
42543	*GenericDatasetTypeProperties `json:"typeProperties,omitempty"`
42544	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
42545	AdditionalProperties map[string]interface{} `json:""`
42546	// Description - Dataset description.
42547	Description *string `json:"description,omitempty"`
42548	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
42549	Structure interface{} `json:"structure,omitempty"`
42550	// Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement.
42551	Schema interface{} `json:"schema,omitempty"`
42552	// LinkedServiceName - Linked service reference.
42553	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
42554	// Parameters - Parameters for dataset.
42555	Parameters map[string]*ParameterSpecification `json:"parameters"`
42556	// Annotations - List of tags that can be used for describing the Dataset.
42557	Annotations *[]interface{} `json:"annotations,omitempty"`
42558	// Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level.
42559	Folder *DatasetFolder `json:"folder,omitempty"`
42560	// Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', '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', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeDelimitedText', 'TypeParquet', 'TypeAmazonS3Object'
42561	Type TypeBasicDataset `json:"type,omitempty"`
42562}
42563
42564// MarshalJSON is the custom marshaler for ConcurObjectDataset.
42565func (cod ConcurObjectDataset) MarshalJSON() ([]byte, error) {
42566	cod.Type = TypeConcurObject
42567	objectMap := make(map[string]interface{})
42568	if cod.GenericDatasetTypeProperties != nil {
42569		objectMap["typeProperties"] = cod.GenericDatasetTypeProperties
42570	}
42571	if cod.Description != nil {
42572		objectMap["description"] = cod.Description
42573	}
42574	if cod.Structure != nil {
42575		objectMap["structure"] = cod.Structure
42576	}
42577	if cod.Schema != nil {
42578		objectMap["schema"] = cod.Schema
42579	}
42580	if cod.LinkedServiceName != nil {
42581		objectMap["linkedServiceName"] = cod.LinkedServiceName
42582	}
42583	if cod.Parameters != nil {
42584		objectMap["parameters"] = cod.Parameters
42585	}
42586	if cod.Annotations != nil {
42587		objectMap["annotations"] = cod.Annotations
42588	}
42589	if cod.Folder != nil {
42590		objectMap["folder"] = cod.Folder
42591	}
42592	if cod.Type != "" {
42593		objectMap["type"] = cod.Type
42594	}
42595	for k, v := range cod.AdditionalProperties {
42596		objectMap[k] = v
42597	}
42598	return json.Marshal(objectMap)
42599}
42600
42601// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for ConcurObjectDataset.
42602func (cod ConcurObjectDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) {
42603	return nil, false
42604}
42605
42606// AsAzureDataExplorerTableDataset is the BasicDataset implementation for ConcurObjectDataset.
42607func (cod ConcurObjectDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) {
42608	return nil, false
42609}
42610
42611// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for ConcurObjectDataset.
42612func (cod ConcurObjectDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) {
42613	return nil, false
42614}
42615
42616// AsDynamicsAXResourceDataset is the BasicDataset implementation for ConcurObjectDataset.
42617func (cod ConcurObjectDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) {
42618	return nil, false
42619}
42620
42621// AsResponsysObjectDataset is the BasicDataset implementation for ConcurObjectDataset.
42622func (cod ConcurObjectDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
42623	return nil, false
42624}
42625
42626// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for ConcurObjectDataset.
42627func (cod ConcurObjectDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
42628	return nil, false
42629}
42630
42631// AsVerticaTableDataset is the BasicDataset implementation for ConcurObjectDataset.
42632func (cod ConcurObjectDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
42633	return nil, false
42634}
42635
42636// AsNetezzaTableDataset is the BasicDataset implementation for ConcurObjectDataset.
42637func (cod ConcurObjectDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
42638	return nil, false
42639}
42640
42641// AsZohoObjectDataset is the BasicDataset implementation for ConcurObjectDataset.
42642func (cod ConcurObjectDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
42643	return nil, false
42644}
42645
42646// AsXeroObjectDataset is the BasicDataset implementation for ConcurObjectDataset.
42647func (cod ConcurObjectDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
42648	return nil, false
42649}
42650
42651// AsSquareObjectDataset is the BasicDataset implementation for ConcurObjectDataset.
42652func (cod ConcurObjectDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
42653	return nil, false
42654}
42655
42656// AsSparkObjectDataset is the BasicDataset implementation for ConcurObjectDataset.
42657func (cod ConcurObjectDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
42658	return nil, false
42659}
42660
42661// AsShopifyObjectDataset is the BasicDataset implementation for ConcurObjectDataset.
42662func (cod ConcurObjectDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
42663	return nil, false
42664}
42665
42666// AsServiceNowObjectDataset is the BasicDataset implementation for ConcurObjectDataset.
42667func (cod ConcurObjectDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
42668	return nil, false
42669}
42670
42671// AsQuickBooksObjectDataset is the BasicDataset implementation for ConcurObjectDataset.
42672func (cod ConcurObjectDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
42673	return nil, false
42674}
42675
42676// AsPrestoObjectDataset is the BasicDataset implementation for ConcurObjectDataset.
42677func (cod ConcurObjectDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
42678	return nil, false
42679}
42680
42681// AsPhoenixObjectDataset is the BasicDataset implementation for ConcurObjectDataset.
42682func (cod ConcurObjectDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
42683	return nil, false
42684}
42685
42686// AsPaypalObjectDataset is the BasicDataset implementation for ConcurObjectDataset.
42687func (cod ConcurObjectDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
42688	return nil, false
42689}
42690
42691// AsMarketoObjectDataset is the BasicDataset implementation for ConcurObjectDataset.
42692func (cod ConcurObjectDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
42693	return nil, false
42694}
42695
42696// AsMariaDBTableDataset is the BasicDataset implementation for ConcurObjectDataset.
42697func (cod ConcurObjectDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
42698	return nil, false
42699}
42700
42701// AsMagentoObjectDataset is the BasicDataset implementation for ConcurObjectDataset.
42702func (cod ConcurObjectDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
42703	return nil, false
42704}
42705
42706// AsJiraObjectDataset is the BasicDataset implementation for ConcurObjectDataset.
42707func (cod ConcurObjectDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
42708	return nil, false
42709}
42710
42711// AsImpalaObjectDataset is the BasicDataset implementation for ConcurObjectDataset.
42712func (cod ConcurObjectDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
42713	return nil, false
42714}
42715
42716// AsHubspotObjectDataset is the BasicDataset implementation for ConcurObjectDataset.
42717func (cod ConcurObjectDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
42718	return nil, false
42719}
42720
42721// AsHiveObjectDataset is the BasicDataset implementation for ConcurObjectDataset.
42722func (cod ConcurObjectDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
42723	return nil, false
42724}
42725
42726// AsHBaseObjectDataset is the BasicDataset implementation for ConcurObjectDataset.
42727func (cod ConcurObjectDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
42728	return nil, false
42729}
42730
42731// AsGreenplumTableDataset is the BasicDataset implementation for ConcurObjectDataset.
42732func (cod ConcurObjectDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
42733	return nil, false
42734}
42735
42736// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for ConcurObjectDataset.
42737func (cod ConcurObjectDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
42738	return nil, false
42739}
42740
42741// AsEloquaObjectDataset is the BasicDataset implementation for ConcurObjectDataset.
42742func (cod ConcurObjectDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
42743	return nil, false
42744}
42745
42746// AsDrillTableDataset is the BasicDataset implementation for ConcurObjectDataset.
42747func (cod ConcurObjectDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
42748	return nil, false
42749}
42750
42751// AsCouchbaseTableDataset is the BasicDataset implementation for ConcurObjectDataset.
42752func (cod ConcurObjectDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
42753	return nil, false
42754}
42755
42756// AsConcurObjectDataset is the BasicDataset implementation for ConcurObjectDataset.
42757func (cod ConcurObjectDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
42758	return &cod, true
42759}
42760
42761// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for ConcurObjectDataset.
42762func (cod ConcurObjectDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
42763	return nil, false
42764}
42765
42766// AsAmazonMWSObjectDataset is the BasicDataset implementation for ConcurObjectDataset.
42767func (cod ConcurObjectDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
42768	return nil, false
42769}
42770
42771// AsHTTPDataset is the BasicDataset implementation for ConcurObjectDataset.
42772func (cod ConcurObjectDataset) AsHTTPDataset() (*HTTPDataset, bool) {
42773	return nil, false
42774}
42775
42776// AsAzureSearchIndexDataset is the BasicDataset implementation for ConcurObjectDataset.
42777func (cod ConcurObjectDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
42778	return nil, false
42779}
42780
42781// AsWebTableDataset is the BasicDataset implementation for ConcurObjectDataset.
42782func (cod ConcurObjectDataset) AsWebTableDataset() (*WebTableDataset, bool) {
42783	return nil, false
42784}
42785
42786// AsSapTableResourceDataset is the BasicDataset implementation for ConcurObjectDataset.
42787func (cod ConcurObjectDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) {
42788	return nil, false
42789}
42790
42791// AsRestResourceDataset is the BasicDataset implementation for ConcurObjectDataset.
42792func (cod ConcurObjectDataset) AsRestResourceDataset() (*RestResourceDataset, bool) {
42793	return nil, false
42794}
42795
42796// AsSQLServerTableDataset is the BasicDataset implementation for ConcurObjectDataset.
42797func (cod ConcurObjectDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
42798	return nil, false
42799}
42800
42801// AsSapOpenHubTableDataset is the BasicDataset implementation for ConcurObjectDataset.
42802func (cod ConcurObjectDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) {
42803	return nil, false
42804}
42805
42806// AsSapHanaTableDataset is the BasicDataset implementation for ConcurObjectDataset.
42807func (cod ConcurObjectDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) {
42808	return nil, false
42809}
42810
42811// AsSapEccResourceDataset is the BasicDataset implementation for ConcurObjectDataset.
42812func (cod ConcurObjectDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
42813	return nil, false
42814}
42815
42816// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for ConcurObjectDataset.
42817func (cod ConcurObjectDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
42818	return nil, false
42819}
42820
42821// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for ConcurObjectDataset.
42822func (cod ConcurObjectDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) {
42823	return nil, false
42824}
42825
42826// AsSalesforceObjectDataset is the BasicDataset implementation for ConcurObjectDataset.
42827func (cod ConcurObjectDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
42828	return nil, false
42829}
42830
42831// AsMicrosoftAccessTableDataset is the BasicDataset implementation for ConcurObjectDataset.
42832func (cod ConcurObjectDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) {
42833	return nil, false
42834}
42835
42836// AsPostgreSQLTableDataset is the BasicDataset implementation for ConcurObjectDataset.
42837func (cod ConcurObjectDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) {
42838	return nil, false
42839}
42840
42841// AsMySQLTableDataset is the BasicDataset implementation for ConcurObjectDataset.
42842func (cod ConcurObjectDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) {
42843	return nil, false
42844}
42845
42846// AsOdbcTableDataset is the BasicDataset implementation for ConcurObjectDataset.
42847func (cod ConcurObjectDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) {
42848	return nil, false
42849}
42850
42851// AsInformixTableDataset is the BasicDataset implementation for ConcurObjectDataset.
42852func (cod ConcurObjectDataset) AsInformixTableDataset() (*InformixTableDataset, bool) {
42853	return nil, false
42854}
42855
42856// AsRelationalTableDataset is the BasicDataset implementation for ConcurObjectDataset.
42857func (cod ConcurObjectDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
42858	return nil, false
42859}
42860
42861// AsAzureMySQLTableDataset is the BasicDataset implementation for ConcurObjectDataset.
42862func (cod ConcurObjectDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
42863	return nil, false
42864}
42865
42866// AsTeradataTableDataset is the BasicDataset implementation for ConcurObjectDataset.
42867func (cod ConcurObjectDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) {
42868	return nil, false
42869}
42870
42871// AsOracleTableDataset is the BasicDataset implementation for ConcurObjectDataset.
42872func (cod ConcurObjectDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
42873	return nil, false
42874}
42875
42876// AsODataResourceDataset is the BasicDataset implementation for ConcurObjectDataset.
42877func (cod ConcurObjectDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
42878	return nil, false
42879}
42880
42881// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for ConcurObjectDataset.
42882func (cod ConcurObjectDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) {
42883	return nil, false
42884}
42885
42886// AsMongoDbV2CollectionDataset is the BasicDataset implementation for ConcurObjectDataset.
42887func (cod ConcurObjectDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) {
42888	return nil, false
42889}
42890
42891// AsMongoDbCollectionDataset is the BasicDataset implementation for ConcurObjectDataset.
42892func (cod ConcurObjectDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
42893	return nil, false
42894}
42895
42896// AsFileShareDataset is the BasicDataset implementation for ConcurObjectDataset.
42897func (cod ConcurObjectDataset) AsFileShareDataset() (*FileShareDataset, bool) {
42898	return nil, false
42899}
42900
42901// AsOffice365Dataset is the BasicDataset implementation for ConcurObjectDataset.
42902func (cod ConcurObjectDataset) AsOffice365Dataset() (*Office365Dataset, bool) {
42903	return nil, false
42904}
42905
42906// AsAzureBlobFSDataset is the BasicDataset implementation for ConcurObjectDataset.
42907func (cod ConcurObjectDataset) AsAzureBlobFSDataset() (*AzureBlobFSDataset, bool) {
42908	return nil, false
42909}
42910
42911// AsAzureDataLakeStoreDataset is the BasicDataset implementation for ConcurObjectDataset.
42912func (cod ConcurObjectDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) {
42913	return nil, false
42914}
42915
42916// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for ConcurObjectDataset.
42917func (cod ConcurObjectDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) {
42918	return nil, false
42919}
42920
42921// AsDynamicsCrmEntityDataset is the BasicDataset implementation for ConcurObjectDataset.
42922func (cod ConcurObjectDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) {
42923	return nil, false
42924}
42925
42926// AsDynamicsEntityDataset is the BasicDataset implementation for ConcurObjectDataset.
42927func (cod ConcurObjectDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
42928	return nil, false
42929}
42930
42931// AsDocumentDbCollectionDataset is the BasicDataset implementation for ConcurObjectDataset.
42932func (cod ConcurObjectDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
42933	return nil, false
42934}
42935
42936// AsCustomDataset is the BasicDataset implementation for ConcurObjectDataset.
42937func (cod ConcurObjectDataset) AsCustomDataset() (*CustomDataset, bool) {
42938	return nil, false
42939}
42940
42941// AsCassandraTableDataset is the BasicDataset implementation for ConcurObjectDataset.
42942func (cod ConcurObjectDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
42943	return nil, false
42944}
42945
42946// AsAzureSQLDWTableDataset is the BasicDataset implementation for ConcurObjectDataset.
42947func (cod ConcurObjectDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
42948	return nil, false
42949}
42950
42951// AsAzureSQLMITableDataset is the BasicDataset implementation for ConcurObjectDataset.
42952func (cod ConcurObjectDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) {
42953	return nil, false
42954}
42955
42956// AsAzureSQLTableDataset is the BasicDataset implementation for ConcurObjectDataset.
42957func (cod ConcurObjectDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
42958	return nil, false
42959}
42960
42961// AsAzureTableDataset is the BasicDataset implementation for ConcurObjectDataset.
42962func (cod ConcurObjectDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
42963	return nil, false
42964}
42965
42966// AsAzureBlobDataset is the BasicDataset implementation for ConcurObjectDataset.
42967func (cod ConcurObjectDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) {
42968	return nil, false
42969}
42970
42971// AsBinaryDataset is the BasicDataset implementation for ConcurObjectDataset.
42972func (cod ConcurObjectDataset) AsBinaryDataset() (*BinaryDataset, bool) {
42973	return nil, false
42974}
42975
42976// AsDelimitedTextDataset is the BasicDataset implementation for ConcurObjectDataset.
42977func (cod ConcurObjectDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) {
42978	return nil, false
42979}
42980
42981// AsParquetDataset is the BasicDataset implementation for ConcurObjectDataset.
42982func (cod ConcurObjectDataset) AsParquetDataset() (*ParquetDataset, bool) {
42983	return nil, false
42984}
42985
42986// AsAmazonS3Dataset is the BasicDataset implementation for ConcurObjectDataset.
42987func (cod ConcurObjectDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) {
42988	return nil, false
42989}
42990
42991// AsDataset is the BasicDataset implementation for ConcurObjectDataset.
42992func (cod ConcurObjectDataset) AsDataset() (*Dataset, bool) {
42993	return nil, false
42994}
42995
42996// AsBasicDataset is the BasicDataset implementation for ConcurObjectDataset.
42997func (cod ConcurObjectDataset) AsBasicDataset() (BasicDataset, bool) {
42998	return &cod, true
42999}
43000
43001// UnmarshalJSON is the custom unmarshaler for ConcurObjectDataset struct.
43002func (cod *ConcurObjectDataset) UnmarshalJSON(body []byte) error {
43003	var m map[string]*json.RawMessage
43004	err := json.Unmarshal(body, &m)
43005	if err != nil {
43006		return err
43007	}
43008	for k, v := range m {
43009		switch k {
43010		case "typeProperties":
43011			if v != nil {
43012				var genericDatasetTypeProperties GenericDatasetTypeProperties
43013				err = json.Unmarshal(*v, &genericDatasetTypeProperties)
43014				if err != nil {
43015					return err
43016				}
43017				cod.GenericDatasetTypeProperties = &genericDatasetTypeProperties
43018			}
43019		default:
43020			if v != nil {
43021				var additionalProperties interface{}
43022				err = json.Unmarshal(*v, &additionalProperties)
43023				if err != nil {
43024					return err
43025				}
43026				if cod.AdditionalProperties == nil {
43027					cod.AdditionalProperties = make(map[string]interface{})
43028				}
43029				cod.AdditionalProperties[k] = additionalProperties
43030			}
43031		case "description":
43032			if v != nil {
43033				var description string
43034				err = json.Unmarshal(*v, &description)
43035				if err != nil {
43036					return err
43037				}
43038				cod.Description = &description
43039			}
43040		case "structure":
43041			if v != nil {
43042				var structure interface{}
43043				err = json.Unmarshal(*v, &structure)
43044				if err != nil {
43045					return err
43046				}
43047				cod.Structure = structure
43048			}
43049		case "schema":
43050			if v != nil {
43051				var schema interface{}
43052				err = json.Unmarshal(*v, &schema)
43053				if err != nil {
43054					return err
43055				}
43056				cod.Schema = schema
43057			}
43058		case "linkedServiceName":
43059			if v != nil {
43060				var linkedServiceName LinkedServiceReference
43061				err = json.Unmarshal(*v, &linkedServiceName)
43062				if err != nil {
43063					return err
43064				}
43065				cod.LinkedServiceName = &linkedServiceName
43066			}
43067		case "parameters":
43068			if v != nil {
43069				var parameters map[string]*ParameterSpecification
43070				err = json.Unmarshal(*v, &parameters)
43071				if err != nil {
43072					return err
43073				}
43074				cod.Parameters = parameters
43075			}
43076		case "annotations":
43077			if v != nil {
43078				var annotations []interface{}
43079				err = json.Unmarshal(*v, &annotations)
43080				if err != nil {
43081					return err
43082				}
43083				cod.Annotations = &annotations
43084			}
43085		case "folder":
43086			if v != nil {
43087				var folder DatasetFolder
43088				err = json.Unmarshal(*v, &folder)
43089				if err != nil {
43090					return err
43091				}
43092				cod.Folder = &folder
43093			}
43094		case "type":
43095			if v != nil {
43096				var typeVar TypeBasicDataset
43097				err = json.Unmarshal(*v, &typeVar)
43098				if err != nil {
43099					return err
43100				}
43101				cod.Type = typeVar
43102			}
43103		}
43104	}
43105
43106	return nil
43107}
43108
43109// ConcurSource a copy activity Concur Service source.
43110type ConcurSource struct {
43111	// Query - A query to retrieve data from source. Type: string (or Expression with resultType string).
43112	Query interface{} `json:"query,omitempty"`
43113	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
43114	AdditionalProperties map[string]interface{} `json:""`
43115	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
43116	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
43117	// 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])).
43118	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
43119	// MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer).
43120	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
43121	// Type - Possible values include: 'TypeCopySource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', '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', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeCassandraSource', 'TypeWebSource', 'TypeTeradataSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeAzureMySQLSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeRestSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceServiceCloudSource', 'TypeSalesforceSource', 'TypeODataSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeMicrosoftAccessSource', 'TypeInformixSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAzureTableSource', 'TypeBinarySource', 'TypeDelimitedTextSource', 'TypeParquetSource'
43122	Type TypeBasicCopySource `json:"type,omitempty"`
43123}
43124
43125// MarshalJSON is the custom marshaler for ConcurSource.
43126func (cs ConcurSource) MarshalJSON() ([]byte, error) {
43127	cs.Type = TypeConcurSource
43128	objectMap := make(map[string]interface{})
43129	if cs.Query != nil {
43130		objectMap["query"] = cs.Query
43131	}
43132	if cs.SourceRetryCount != nil {
43133		objectMap["sourceRetryCount"] = cs.SourceRetryCount
43134	}
43135	if cs.SourceRetryWait != nil {
43136		objectMap["sourceRetryWait"] = cs.SourceRetryWait
43137	}
43138	if cs.MaxConcurrentConnections != nil {
43139		objectMap["maxConcurrentConnections"] = cs.MaxConcurrentConnections
43140	}
43141	if cs.Type != "" {
43142		objectMap["type"] = cs.Type
43143	}
43144	for k, v := range cs.AdditionalProperties {
43145		objectMap[k] = v
43146	}
43147	return json.Marshal(objectMap)
43148}
43149
43150// AsAmazonRedshiftSource is the BasicCopySource implementation for ConcurSource.
43151func (cs ConcurSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
43152	return nil, false
43153}
43154
43155// AsGoogleAdWordsSource is the BasicCopySource implementation for ConcurSource.
43156func (cs ConcurSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) {
43157	return nil, false
43158}
43159
43160// AsOracleServiceCloudSource is the BasicCopySource implementation for ConcurSource.
43161func (cs ConcurSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) {
43162	return nil, false
43163}
43164
43165// AsDynamicsAXSource is the BasicCopySource implementation for ConcurSource.
43166func (cs ConcurSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) {
43167	return nil, false
43168}
43169
43170// AsResponsysSource is the BasicCopySource implementation for ConcurSource.
43171func (cs ConcurSource) AsResponsysSource() (*ResponsysSource, bool) {
43172	return nil, false
43173}
43174
43175// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for ConcurSource.
43176func (cs ConcurSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
43177	return nil, false
43178}
43179
43180// AsVerticaSource is the BasicCopySource implementation for ConcurSource.
43181func (cs ConcurSource) AsVerticaSource() (*VerticaSource, bool) {
43182	return nil, false
43183}
43184
43185// AsNetezzaSource is the BasicCopySource implementation for ConcurSource.
43186func (cs ConcurSource) AsNetezzaSource() (*NetezzaSource, bool) {
43187	return nil, false
43188}
43189
43190// AsZohoSource is the BasicCopySource implementation for ConcurSource.
43191func (cs ConcurSource) AsZohoSource() (*ZohoSource, bool) {
43192	return nil, false
43193}
43194
43195// AsXeroSource is the BasicCopySource implementation for ConcurSource.
43196func (cs ConcurSource) AsXeroSource() (*XeroSource, bool) {
43197	return nil, false
43198}
43199
43200// AsSquareSource is the BasicCopySource implementation for ConcurSource.
43201func (cs ConcurSource) AsSquareSource() (*SquareSource, bool) {
43202	return nil, false
43203}
43204
43205// AsSparkSource is the BasicCopySource implementation for ConcurSource.
43206func (cs ConcurSource) AsSparkSource() (*SparkSource, bool) {
43207	return nil, false
43208}
43209
43210// AsShopifySource is the BasicCopySource implementation for ConcurSource.
43211func (cs ConcurSource) AsShopifySource() (*ShopifySource, bool) {
43212	return nil, false
43213}
43214
43215// AsServiceNowSource is the BasicCopySource implementation for ConcurSource.
43216func (cs ConcurSource) AsServiceNowSource() (*ServiceNowSource, bool) {
43217	return nil, false
43218}
43219
43220// AsQuickBooksSource is the BasicCopySource implementation for ConcurSource.
43221func (cs ConcurSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
43222	return nil, false
43223}
43224
43225// AsPrestoSource is the BasicCopySource implementation for ConcurSource.
43226func (cs ConcurSource) AsPrestoSource() (*PrestoSource, bool) {
43227	return nil, false
43228}
43229
43230// AsPhoenixSource is the BasicCopySource implementation for ConcurSource.
43231func (cs ConcurSource) AsPhoenixSource() (*PhoenixSource, bool) {
43232	return nil, false
43233}
43234
43235// AsPaypalSource is the BasicCopySource implementation for ConcurSource.
43236func (cs ConcurSource) AsPaypalSource() (*PaypalSource, bool) {
43237	return nil, false
43238}
43239
43240// AsMarketoSource is the BasicCopySource implementation for ConcurSource.
43241func (cs ConcurSource) AsMarketoSource() (*MarketoSource, bool) {
43242	return nil, false
43243}
43244
43245// AsMariaDBSource is the BasicCopySource implementation for ConcurSource.
43246func (cs ConcurSource) AsMariaDBSource() (*MariaDBSource, bool) {
43247	return nil, false
43248}
43249
43250// AsMagentoSource is the BasicCopySource implementation for ConcurSource.
43251func (cs ConcurSource) AsMagentoSource() (*MagentoSource, bool) {
43252	return nil, false
43253}
43254
43255// AsJiraSource is the BasicCopySource implementation for ConcurSource.
43256func (cs ConcurSource) AsJiraSource() (*JiraSource, bool) {
43257	return nil, false
43258}
43259
43260// AsImpalaSource is the BasicCopySource implementation for ConcurSource.
43261func (cs ConcurSource) AsImpalaSource() (*ImpalaSource, bool) {
43262	return nil, false
43263}
43264
43265// AsHubspotSource is the BasicCopySource implementation for ConcurSource.
43266func (cs ConcurSource) AsHubspotSource() (*HubspotSource, bool) {
43267	return nil, false
43268}
43269
43270// AsHiveSource is the BasicCopySource implementation for ConcurSource.
43271func (cs ConcurSource) AsHiveSource() (*HiveSource, bool) {
43272	return nil, false
43273}
43274
43275// AsHBaseSource is the BasicCopySource implementation for ConcurSource.
43276func (cs ConcurSource) AsHBaseSource() (*HBaseSource, bool) {
43277	return nil, false
43278}
43279
43280// AsGreenplumSource is the BasicCopySource implementation for ConcurSource.
43281func (cs ConcurSource) AsGreenplumSource() (*GreenplumSource, bool) {
43282	return nil, false
43283}
43284
43285// AsGoogleBigQuerySource is the BasicCopySource implementation for ConcurSource.
43286func (cs ConcurSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
43287	return nil, false
43288}
43289
43290// AsEloquaSource is the BasicCopySource implementation for ConcurSource.
43291func (cs ConcurSource) AsEloquaSource() (*EloquaSource, bool) {
43292	return nil, false
43293}
43294
43295// AsDrillSource is the BasicCopySource implementation for ConcurSource.
43296func (cs ConcurSource) AsDrillSource() (*DrillSource, bool) {
43297	return nil, false
43298}
43299
43300// AsCouchbaseSource is the BasicCopySource implementation for ConcurSource.
43301func (cs ConcurSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
43302	return nil, false
43303}
43304
43305// AsConcurSource is the BasicCopySource implementation for ConcurSource.
43306func (cs ConcurSource) AsConcurSource() (*ConcurSource, bool) {
43307	return &cs, true
43308}
43309
43310// AsAzurePostgreSQLSource is the BasicCopySource implementation for ConcurSource.
43311func (cs ConcurSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
43312	return nil, false
43313}
43314
43315// AsAmazonMWSSource is the BasicCopySource implementation for ConcurSource.
43316func (cs ConcurSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
43317	return nil, false
43318}
43319
43320// AsHTTPSource is the BasicCopySource implementation for ConcurSource.
43321func (cs ConcurSource) AsHTTPSource() (*HTTPSource, bool) {
43322	return nil, false
43323}
43324
43325// AsAzureBlobFSSource is the BasicCopySource implementation for ConcurSource.
43326func (cs ConcurSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) {
43327	return nil, false
43328}
43329
43330// AsAzureDataLakeStoreSource is the BasicCopySource implementation for ConcurSource.
43331func (cs ConcurSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
43332	return nil, false
43333}
43334
43335// AsOffice365Source is the BasicCopySource implementation for ConcurSource.
43336func (cs ConcurSource) AsOffice365Source() (*Office365Source, bool) {
43337	return nil, false
43338}
43339
43340// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for ConcurSource.
43341func (cs ConcurSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) {
43342	return nil, false
43343}
43344
43345// AsMongoDbV2Source is the BasicCopySource implementation for ConcurSource.
43346func (cs ConcurSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) {
43347	return nil, false
43348}
43349
43350// AsMongoDbSource is the BasicCopySource implementation for ConcurSource.
43351func (cs ConcurSource) AsMongoDbSource() (*MongoDbSource, bool) {
43352	return nil, false
43353}
43354
43355// AsCassandraSource is the BasicCopySource implementation for ConcurSource.
43356func (cs ConcurSource) AsCassandraSource() (*CassandraSource, bool) {
43357	return nil, false
43358}
43359
43360// AsWebSource is the BasicCopySource implementation for ConcurSource.
43361func (cs ConcurSource) AsWebSource() (*WebSource, bool) {
43362	return nil, false
43363}
43364
43365// AsTeradataSource is the BasicCopySource implementation for ConcurSource.
43366func (cs ConcurSource) AsTeradataSource() (*TeradataSource, bool) {
43367	return nil, false
43368}
43369
43370// AsOracleSource is the BasicCopySource implementation for ConcurSource.
43371func (cs ConcurSource) AsOracleSource() (*OracleSource, bool) {
43372	return nil, false
43373}
43374
43375// AsAzureDataExplorerSource is the BasicCopySource implementation for ConcurSource.
43376func (cs ConcurSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) {
43377	return nil, false
43378}
43379
43380// AsAzureMySQLSource is the BasicCopySource implementation for ConcurSource.
43381func (cs ConcurSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
43382	return nil, false
43383}
43384
43385// AsHdfsSource is the BasicCopySource implementation for ConcurSource.
43386func (cs ConcurSource) AsHdfsSource() (*HdfsSource, bool) {
43387	return nil, false
43388}
43389
43390// AsFileSystemSource is the BasicCopySource implementation for ConcurSource.
43391func (cs ConcurSource) AsFileSystemSource() (*FileSystemSource, bool) {
43392	return nil, false
43393}
43394
43395// AsSQLDWSource is the BasicCopySource implementation for ConcurSource.
43396func (cs ConcurSource) AsSQLDWSource() (*SQLDWSource, bool) {
43397	return nil, false
43398}
43399
43400// AsSQLMISource is the BasicCopySource implementation for ConcurSource.
43401func (cs ConcurSource) AsSQLMISource() (*SQLMISource, bool) {
43402	return nil, false
43403}
43404
43405// AsAzureSQLSource is the BasicCopySource implementation for ConcurSource.
43406func (cs ConcurSource) AsAzureSQLSource() (*AzureSQLSource, bool) {
43407	return nil, false
43408}
43409
43410// AsSQLServerSource is the BasicCopySource implementation for ConcurSource.
43411func (cs ConcurSource) AsSQLServerSource() (*SQLServerSource, bool) {
43412	return nil, false
43413}
43414
43415// AsSQLSource is the BasicCopySource implementation for ConcurSource.
43416func (cs ConcurSource) AsSQLSource() (*SQLSource, bool) {
43417	return nil, false
43418}
43419
43420// AsRestSource is the BasicCopySource implementation for ConcurSource.
43421func (cs ConcurSource) AsRestSource() (*RestSource, bool) {
43422	return nil, false
43423}
43424
43425// AsSapTableSource is the BasicCopySource implementation for ConcurSource.
43426func (cs ConcurSource) AsSapTableSource() (*SapTableSource, bool) {
43427	return nil, false
43428}
43429
43430// AsSapOpenHubSource is the BasicCopySource implementation for ConcurSource.
43431func (cs ConcurSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) {
43432	return nil, false
43433}
43434
43435// AsSapHanaSource is the BasicCopySource implementation for ConcurSource.
43436func (cs ConcurSource) AsSapHanaSource() (*SapHanaSource, bool) {
43437	return nil, false
43438}
43439
43440// AsSapEccSource is the BasicCopySource implementation for ConcurSource.
43441func (cs ConcurSource) AsSapEccSource() (*SapEccSource, bool) {
43442	return nil, false
43443}
43444
43445// AsSapCloudForCustomerSource is the BasicCopySource implementation for ConcurSource.
43446func (cs ConcurSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
43447	return nil, false
43448}
43449
43450// AsSalesforceServiceCloudSource is the BasicCopySource implementation for ConcurSource.
43451func (cs ConcurSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) {
43452	return nil, false
43453}
43454
43455// AsSalesforceSource is the BasicCopySource implementation for ConcurSource.
43456func (cs ConcurSource) AsSalesforceSource() (*SalesforceSource, bool) {
43457	return nil, false
43458}
43459
43460// AsODataSource is the BasicCopySource implementation for ConcurSource.
43461func (cs ConcurSource) AsODataSource() (*ODataSource, bool) {
43462	return nil, false
43463}
43464
43465// AsSybaseSource is the BasicCopySource implementation for ConcurSource.
43466func (cs ConcurSource) AsSybaseSource() (*SybaseSource, bool) {
43467	return nil, false
43468}
43469
43470// AsPostgreSQLSource is the BasicCopySource implementation for ConcurSource.
43471func (cs ConcurSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) {
43472	return nil, false
43473}
43474
43475// AsMySQLSource is the BasicCopySource implementation for ConcurSource.
43476func (cs ConcurSource) AsMySQLSource() (*MySQLSource, bool) {
43477	return nil, false
43478}
43479
43480// AsOdbcSource is the BasicCopySource implementation for ConcurSource.
43481func (cs ConcurSource) AsOdbcSource() (*OdbcSource, bool) {
43482	return nil, false
43483}
43484
43485// AsDb2Source is the BasicCopySource implementation for ConcurSource.
43486func (cs ConcurSource) AsDb2Source() (*Db2Source, bool) {
43487	return nil, false
43488}
43489
43490// AsMicrosoftAccessSource is the BasicCopySource implementation for ConcurSource.
43491func (cs ConcurSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) {
43492	return nil, false
43493}
43494
43495// AsInformixSource is the BasicCopySource implementation for ConcurSource.
43496func (cs ConcurSource) AsInformixSource() (*InformixSource, bool) {
43497	return nil, false
43498}
43499
43500// AsRelationalSource is the BasicCopySource implementation for ConcurSource.
43501func (cs ConcurSource) AsRelationalSource() (*RelationalSource, bool) {
43502	return nil, false
43503}
43504
43505// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for ConcurSource.
43506func (cs ConcurSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) {
43507	return nil, false
43508}
43509
43510// AsDynamicsCrmSource is the BasicCopySource implementation for ConcurSource.
43511func (cs ConcurSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) {
43512	return nil, false
43513}
43514
43515// AsDynamicsSource is the BasicCopySource implementation for ConcurSource.
43516func (cs ConcurSource) AsDynamicsSource() (*DynamicsSource, bool) {
43517	return nil, false
43518}
43519
43520// AsDocumentDbCollectionSource is the BasicCopySource implementation for ConcurSource.
43521func (cs ConcurSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
43522	return nil, false
43523}
43524
43525// AsBlobSource is the BasicCopySource implementation for ConcurSource.
43526func (cs ConcurSource) AsBlobSource() (*BlobSource, bool) {
43527	return nil, false
43528}
43529
43530// AsAzureTableSource is the BasicCopySource implementation for ConcurSource.
43531func (cs ConcurSource) AsAzureTableSource() (*AzureTableSource, bool) {
43532	return nil, false
43533}
43534
43535// AsBinarySource is the BasicCopySource implementation for ConcurSource.
43536func (cs ConcurSource) AsBinarySource() (*BinarySource, bool) {
43537	return nil, false
43538}
43539
43540// AsDelimitedTextSource is the BasicCopySource implementation for ConcurSource.
43541func (cs ConcurSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) {
43542	return nil, false
43543}
43544
43545// AsParquetSource is the BasicCopySource implementation for ConcurSource.
43546func (cs ConcurSource) AsParquetSource() (*ParquetSource, bool) {
43547	return nil, false
43548}
43549
43550// AsCopySource is the BasicCopySource implementation for ConcurSource.
43551func (cs ConcurSource) AsCopySource() (*CopySource, bool) {
43552	return nil, false
43553}
43554
43555// AsBasicCopySource is the BasicCopySource implementation for ConcurSource.
43556func (cs ConcurSource) AsBasicCopySource() (BasicCopySource, bool) {
43557	return &cs, true
43558}
43559
43560// UnmarshalJSON is the custom unmarshaler for ConcurSource struct.
43561func (cs *ConcurSource) UnmarshalJSON(body []byte) error {
43562	var m map[string]*json.RawMessage
43563	err := json.Unmarshal(body, &m)
43564	if err != nil {
43565		return err
43566	}
43567	for k, v := range m {
43568		switch k {
43569		case "query":
43570			if v != nil {
43571				var query interface{}
43572				err = json.Unmarshal(*v, &query)
43573				if err != nil {
43574					return err
43575				}
43576				cs.Query = query
43577			}
43578		default:
43579			if v != nil {
43580				var additionalProperties interface{}
43581				err = json.Unmarshal(*v, &additionalProperties)
43582				if err != nil {
43583					return err
43584				}
43585				if cs.AdditionalProperties == nil {
43586					cs.AdditionalProperties = make(map[string]interface{})
43587				}
43588				cs.AdditionalProperties[k] = additionalProperties
43589			}
43590		case "sourceRetryCount":
43591			if v != nil {
43592				var sourceRetryCount interface{}
43593				err = json.Unmarshal(*v, &sourceRetryCount)
43594				if err != nil {
43595					return err
43596				}
43597				cs.SourceRetryCount = sourceRetryCount
43598			}
43599		case "sourceRetryWait":
43600			if v != nil {
43601				var sourceRetryWait interface{}
43602				err = json.Unmarshal(*v, &sourceRetryWait)
43603				if err != nil {
43604					return err
43605				}
43606				cs.SourceRetryWait = sourceRetryWait
43607			}
43608		case "maxConcurrentConnections":
43609			if v != nil {
43610				var maxConcurrentConnections interface{}
43611				err = json.Unmarshal(*v, &maxConcurrentConnections)
43612				if err != nil {
43613					return err
43614				}
43615				cs.MaxConcurrentConnections = maxConcurrentConnections
43616			}
43617		case "type":
43618			if v != nil {
43619				var typeVar TypeBasicCopySource
43620				err = json.Unmarshal(*v, &typeVar)
43621				if err != nil {
43622					return err
43623				}
43624				cs.Type = typeVar
43625			}
43626		}
43627	}
43628
43629	return nil
43630}
43631
43632// BasicControlActivity base class for all control activities like IfCondition, ForEach , Until.
43633type BasicControlActivity interface {
43634	AsWebHookActivity() (*WebHookActivity, bool)
43635	AsAppendVariableActivity() (*AppendVariableActivity, bool)
43636	AsSetVariableActivity() (*SetVariableActivity, bool)
43637	AsFilterActivity() (*FilterActivity, bool)
43638	AsValidationActivity() (*ValidationActivity, bool)
43639	AsUntilActivity() (*UntilActivity, bool)
43640	AsWaitActivity() (*WaitActivity, bool)
43641	AsForEachActivity() (*ForEachActivity, bool)
43642	AsIfConditionActivity() (*IfConditionActivity, bool)
43643	AsExecutePipelineActivity() (*ExecutePipelineActivity, bool)
43644	AsControlActivity() (*ControlActivity, bool)
43645}
43646
43647// ControlActivity base class for all control activities like IfCondition, ForEach , Until.
43648type ControlActivity struct {
43649	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
43650	AdditionalProperties map[string]interface{} `json:""`
43651	// Name - Activity name.
43652	Name *string `json:"name,omitempty"`
43653	// Description - Activity description.
43654	Description *string `json:"description,omitempty"`
43655	// DependsOn - Activity depends on condition.
43656	DependsOn *[]ActivityDependency `json:"dependsOn,omitempty"`
43657	// UserProperties - Activity user properties.
43658	UserProperties *[]UserProperty `json:"userProperties,omitempty"`
43659	// Type - Possible values include: 'TypeActivity', 'TypeAzureFunctionActivity', 'TypeDatabricksSparkPython', 'TypeDatabricksSparkJar', 'TypeDatabricksNotebook', 'TypeDataLakeAnalyticsUSQL', 'TypeAzureMLUpdateResource', 'TypeAzureMLBatchExecution', 'TypeGetMetadata', 'TypeWebActivity', 'TypeLookup', 'TypeAzureDataExplorerCommand', 'TypeDelete', 'TypeSQLServerStoredProcedure', 'TypeCustom', 'TypeExecuteSSISPackage', 'TypeHDInsightSpark', 'TypeHDInsightStreaming', 'TypeHDInsightMapReduce', 'TypeHDInsightPig', 'TypeHDInsightHive', 'TypeCopy', 'TypeExecution', 'TypeWebHook', 'TypeAppendVariable', 'TypeSetVariable', 'TypeFilter', 'TypeValidation', 'TypeUntil', 'TypeWait', 'TypeForEach', 'TypeIfCondition', 'TypeExecutePipeline', 'TypeContainer'
43660	Type TypeBasicActivity `json:"type,omitempty"`
43661}
43662
43663func unmarshalBasicControlActivity(body []byte) (BasicControlActivity, error) {
43664	var m map[string]interface{}
43665	err := json.Unmarshal(body, &m)
43666	if err != nil {
43667		return nil, err
43668	}
43669
43670	switch m["type"] {
43671	case string(TypeWebHook):
43672		var wha WebHookActivity
43673		err := json.Unmarshal(body, &wha)
43674		return wha, err
43675	case string(TypeAppendVariable):
43676		var ava AppendVariableActivity
43677		err := json.Unmarshal(body, &ava)
43678		return ava, err
43679	case string(TypeSetVariable):
43680		var sva SetVariableActivity
43681		err := json.Unmarshal(body, &sva)
43682		return sva, err
43683	case string(TypeFilter):
43684		var fa FilterActivity
43685		err := json.Unmarshal(body, &fa)
43686		return fa, err
43687	case string(TypeValidation):
43688		var va ValidationActivity
43689		err := json.Unmarshal(body, &va)
43690		return va, err
43691	case string(TypeUntil):
43692		var ua UntilActivity
43693		err := json.Unmarshal(body, &ua)
43694		return ua, err
43695	case string(TypeWait):
43696		var wa WaitActivity
43697		err := json.Unmarshal(body, &wa)
43698		return wa, err
43699	case string(TypeForEach):
43700		var fea ForEachActivity
43701		err := json.Unmarshal(body, &fea)
43702		return fea, err
43703	case string(TypeIfCondition):
43704		var ica IfConditionActivity
43705		err := json.Unmarshal(body, &ica)
43706		return ica, err
43707	case string(TypeExecutePipeline):
43708		var epa ExecutePipelineActivity
43709		err := json.Unmarshal(body, &epa)
43710		return epa, err
43711	default:
43712		var ca ControlActivity
43713		err := json.Unmarshal(body, &ca)
43714		return ca, err
43715	}
43716}
43717func unmarshalBasicControlActivityArray(body []byte) ([]BasicControlActivity, error) {
43718	var rawMessages []*json.RawMessage
43719	err := json.Unmarshal(body, &rawMessages)
43720	if err != nil {
43721		return nil, err
43722	}
43723
43724	caArray := make([]BasicControlActivity, len(rawMessages))
43725
43726	for index, rawMessage := range rawMessages {
43727		ca, err := unmarshalBasicControlActivity(*rawMessage)
43728		if err != nil {
43729			return nil, err
43730		}
43731		caArray[index] = ca
43732	}
43733	return caArray, nil
43734}
43735
43736// MarshalJSON is the custom marshaler for ControlActivity.
43737func (ca ControlActivity) MarshalJSON() ([]byte, error) {
43738	ca.Type = TypeContainer
43739	objectMap := make(map[string]interface{})
43740	if ca.Name != nil {
43741		objectMap["name"] = ca.Name
43742	}
43743	if ca.Description != nil {
43744		objectMap["description"] = ca.Description
43745	}
43746	if ca.DependsOn != nil {
43747		objectMap["dependsOn"] = ca.DependsOn
43748	}
43749	if ca.UserProperties != nil {
43750		objectMap["userProperties"] = ca.UserProperties
43751	}
43752	if ca.Type != "" {
43753		objectMap["type"] = ca.Type
43754	}
43755	for k, v := range ca.AdditionalProperties {
43756		objectMap[k] = v
43757	}
43758	return json.Marshal(objectMap)
43759}
43760
43761// AsAzureFunctionActivity is the BasicActivity implementation for ControlActivity.
43762func (ca ControlActivity) AsAzureFunctionActivity() (*AzureFunctionActivity, bool) {
43763	return nil, false
43764}
43765
43766// AsDatabricksSparkPythonActivity is the BasicActivity implementation for ControlActivity.
43767func (ca ControlActivity) AsDatabricksSparkPythonActivity() (*DatabricksSparkPythonActivity, bool) {
43768	return nil, false
43769}
43770
43771// AsDatabricksSparkJarActivity is the BasicActivity implementation for ControlActivity.
43772func (ca ControlActivity) AsDatabricksSparkJarActivity() (*DatabricksSparkJarActivity, bool) {
43773	return nil, false
43774}
43775
43776// AsDatabricksNotebookActivity is the BasicActivity implementation for ControlActivity.
43777func (ca ControlActivity) AsDatabricksNotebookActivity() (*DatabricksNotebookActivity, bool) {
43778	return nil, false
43779}
43780
43781// AsDataLakeAnalyticsUSQLActivity is the BasicActivity implementation for ControlActivity.
43782func (ca ControlActivity) AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalyticsUSQLActivity, bool) {
43783	return nil, false
43784}
43785
43786// AsAzureMLUpdateResourceActivity is the BasicActivity implementation for ControlActivity.
43787func (ca ControlActivity) AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool) {
43788	return nil, false
43789}
43790
43791// AsAzureMLBatchExecutionActivity is the BasicActivity implementation for ControlActivity.
43792func (ca ControlActivity) AsAzureMLBatchExecutionActivity() (*AzureMLBatchExecutionActivity, bool) {
43793	return nil, false
43794}
43795
43796// AsGetMetadataActivity is the BasicActivity implementation for ControlActivity.
43797func (ca ControlActivity) AsGetMetadataActivity() (*GetMetadataActivity, bool) {
43798	return nil, false
43799}
43800
43801// AsWebActivity is the BasicActivity implementation for ControlActivity.
43802func (ca ControlActivity) AsWebActivity() (*WebActivity, bool) {
43803	return nil, false
43804}
43805
43806// AsLookupActivity is the BasicActivity implementation for ControlActivity.
43807func (ca ControlActivity) AsLookupActivity() (*LookupActivity, bool) {
43808	return nil, false
43809}
43810
43811// AsAzureDataExplorerCommandActivity is the BasicActivity implementation for ControlActivity.
43812func (ca ControlActivity) AsAzureDataExplorerCommandActivity() (*AzureDataExplorerCommandActivity, bool) {
43813	return nil, false
43814}
43815
43816// AsDeleteActivity is the BasicActivity implementation for ControlActivity.
43817func (ca ControlActivity) AsDeleteActivity() (*DeleteActivity, bool) {
43818	return nil, false
43819}
43820
43821// AsSQLServerStoredProcedureActivity is the BasicActivity implementation for ControlActivity.
43822func (ca ControlActivity) AsSQLServerStoredProcedureActivity() (*SQLServerStoredProcedureActivity, bool) {
43823	return nil, false
43824}
43825
43826// AsCustomActivity is the BasicActivity implementation for ControlActivity.
43827func (ca ControlActivity) AsCustomActivity() (*CustomActivity, bool) {
43828	return nil, false
43829}
43830
43831// AsExecuteSSISPackageActivity is the BasicActivity implementation for ControlActivity.
43832func (ca ControlActivity) AsExecuteSSISPackageActivity() (*ExecuteSSISPackageActivity, bool) {
43833	return nil, false
43834}
43835
43836// AsHDInsightSparkActivity is the BasicActivity implementation for ControlActivity.
43837func (ca ControlActivity) AsHDInsightSparkActivity() (*HDInsightSparkActivity, bool) {
43838	return nil, false
43839}
43840
43841// AsHDInsightStreamingActivity is the BasicActivity implementation for ControlActivity.
43842func (ca ControlActivity) AsHDInsightStreamingActivity() (*HDInsightStreamingActivity, bool) {
43843	return nil, false
43844}
43845
43846// AsHDInsightMapReduceActivity is the BasicActivity implementation for ControlActivity.
43847func (ca ControlActivity) AsHDInsightMapReduceActivity() (*HDInsightMapReduceActivity, bool) {
43848	return nil, false
43849}
43850
43851// AsHDInsightPigActivity is the BasicActivity implementation for ControlActivity.
43852func (ca ControlActivity) AsHDInsightPigActivity() (*HDInsightPigActivity, bool) {
43853	return nil, false
43854}
43855
43856// AsHDInsightHiveActivity is the BasicActivity implementation for ControlActivity.
43857func (ca ControlActivity) AsHDInsightHiveActivity() (*HDInsightHiveActivity, bool) {
43858	return nil, false
43859}
43860
43861// AsCopyActivity is the BasicActivity implementation for ControlActivity.
43862func (ca ControlActivity) AsCopyActivity() (*CopyActivity, bool) {
43863	return nil, false
43864}
43865
43866// AsExecutionActivity is the BasicActivity implementation for ControlActivity.
43867func (ca ControlActivity) AsExecutionActivity() (*ExecutionActivity, bool) {
43868	return nil, false
43869}
43870
43871// AsBasicExecutionActivity is the BasicActivity implementation for ControlActivity.
43872func (ca ControlActivity) AsBasicExecutionActivity() (BasicExecutionActivity, bool) {
43873	return nil, false
43874}
43875
43876// AsWebHookActivity is the BasicActivity implementation for ControlActivity.
43877func (ca ControlActivity) AsWebHookActivity() (*WebHookActivity, bool) {
43878	return nil, false
43879}
43880
43881// AsAppendVariableActivity is the BasicActivity implementation for ControlActivity.
43882func (ca ControlActivity) AsAppendVariableActivity() (*AppendVariableActivity, bool) {
43883	return nil, false
43884}
43885
43886// AsSetVariableActivity is the BasicActivity implementation for ControlActivity.
43887func (ca ControlActivity) AsSetVariableActivity() (*SetVariableActivity, bool) {
43888	return nil, false
43889}
43890
43891// AsFilterActivity is the BasicActivity implementation for ControlActivity.
43892func (ca ControlActivity) AsFilterActivity() (*FilterActivity, bool) {
43893	return nil, false
43894}
43895
43896// AsValidationActivity is the BasicActivity implementation for ControlActivity.
43897func (ca ControlActivity) AsValidationActivity() (*ValidationActivity, bool) {
43898	return nil, false
43899}
43900
43901// AsUntilActivity is the BasicActivity implementation for ControlActivity.
43902func (ca ControlActivity) AsUntilActivity() (*UntilActivity, bool) {
43903	return nil, false
43904}
43905
43906// AsWaitActivity is the BasicActivity implementation for ControlActivity.
43907func (ca ControlActivity) AsWaitActivity() (*WaitActivity, bool) {
43908	return nil, false
43909}
43910
43911// AsForEachActivity is the BasicActivity implementation for ControlActivity.
43912func (ca ControlActivity) AsForEachActivity() (*ForEachActivity, bool) {
43913	return nil, false
43914}
43915
43916// AsIfConditionActivity is the BasicActivity implementation for ControlActivity.
43917func (ca ControlActivity) AsIfConditionActivity() (*IfConditionActivity, bool) {
43918	return nil, false
43919}
43920
43921// AsExecutePipelineActivity is the BasicActivity implementation for ControlActivity.
43922func (ca ControlActivity) AsExecutePipelineActivity() (*ExecutePipelineActivity, bool) {
43923	return nil, false
43924}
43925
43926// AsControlActivity is the BasicActivity implementation for ControlActivity.
43927func (ca ControlActivity) AsControlActivity() (*ControlActivity, bool) {
43928	return &ca, true
43929}
43930
43931// AsBasicControlActivity is the BasicActivity implementation for ControlActivity.
43932func (ca ControlActivity) AsBasicControlActivity() (BasicControlActivity, bool) {
43933	return &ca, true
43934}
43935
43936// AsActivity is the BasicActivity implementation for ControlActivity.
43937func (ca ControlActivity) AsActivity() (*Activity, bool) {
43938	return nil, false
43939}
43940
43941// AsBasicActivity is the BasicActivity implementation for ControlActivity.
43942func (ca ControlActivity) AsBasicActivity() (BasicActivity, bool) {
43943	return &ca, true
43944}
43945
43946// UnmarshalJSON is the custom unmarshaler for ControlActivity struct.
43947func (ca *ControlActivity) UnmarshalJSON(body []byte) error {
43948	var m map[string]*json.RawMessage
43949	err := json.Unmarshal(body, &m)
43950	if err != nil {
43951		return err
43952	}
43953	for k, v := range m {
43954		switch k {
43955		default:
43956			if v != nil {
43957				var additionalProperties interface{}
43958				err = json.Unmarshal(*v, &additionalProperties)
43959				if err != nil {
43960					return err
43961				}
43962				if ca.AdditionalProperties == nil {
43963					ca.AdditionalProperties = make(map[string]interface{})
43964				}
43965				ca.AdditionalProperties[k] = additionalProperties
43966			}
43967		case "name":
43968			if v != nil {
43969				var name string
43970				err = json.Unmarshal(*v, &name)
43971				if err != nil {
43972					return err
43973				}
43974				ca.Name = &name
43975			}
43976		case "description":
43977			if v != nil {
43978				var description string
43979				err = json.Unmarshal(*v, &description)
43980				if err != nil {
43981					return err
43982				}
43983				ca.Description = &description
43984			}
43985		case "dependsOn":
43986			if v != nil {
43987				var dependsOn []ActivityDependency
43988				err = json.Unmarshal(*v, &dependsOn)
43989				if err != nil {
43990					return err
43991				}
43992				ca.DependsOn = &dependsOn
43993			}
43994		case "userProperties":
43995			if v != nil {
43996				var userProperties []UserProperty
43997				err = json.Unmarshal(*v, &userProperties)
43998				if err != nil {
43999					return err
44000				}
44001				ca.UserProperties = &userProperties
44002			}
44003		case "type":
44004			if v != nil {
44005				var typeVar TypeBasicActivity
44006				err = json.Unmarshal(*v, &typeVar)
44007				if err != nil {
44008					return err
44009				}
44010				ca.Type = typeVar
44011			}
44012		}
44013	}
44014
44015	return nil
44016}
44017
44018// CopyActivity copy activity.
44019type CopyActivity struct {
44020	// CopyActivityTypeProperties - Copy activity properties.
44021	*CopyActivityTypeProperties `json:"typeProperties,omitempty"`
44022	// Inputs - List of inputs for the activity.
44023	Inputs *[]DatasetReference `json:"inputs,omitempty"`
44024	// Outputs - List of outputs for the activity.
44025	Outputs *[]DatasetReference `json:"outputs,omitempty"`
44026	// LinkedServiceName - Linked service reference.
44027	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
44028	// Policy - Activity policy.
44029	Policy *ActivityPolicy `json:"policy,omitempty"`
44030	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
44031	AdditionalProperties map[string]interface{} `json:""`
44032	// Name - Activity name.
44033	Name *string `json:"name,omitempty"`
44034	// Description - Activity description.
44035	Description *string `json:"description,omitempty"`
44036	// DependsOn - Activity depends on condition.
44037	DependsOn *[]ActivityDependency `json:"dependsOn,omitempty"`
44038	// UserProperties - Activity user properties.
44039	UserProperties *[]UserProperty `json:"userProperties,omitempty"`
44040	// Type - Possible values include: 'TypeActivity', 'TypeAzureFunctionActivity', 'TypeDatabricksSparkPython', 'TypeDatabricksSparkJar', 'TypeDatabricksNotebook', 'TypeDataLakeAnalyticsUSQL', 'TypeAzureMLUpdateResource', 'TypeAzureMLBatchExecution', 'TypeGetMetadata', 'TypeWebActivity', 'TypeLookup', 'TypeAzureDataExplorerCommand', 'TypeDelete', 'TypeSQLServerStoredProcedure', 'TypeCustom', 'TypeExecuteSSISPackage', 'TypeHDInsightSpark', 'TypeHDInsightStreaming', 'TypeHDInsightMapReduce', 'TypeHDInsightPig', 'TypeHDInsightHive', 'TypeCopy', 'TypeExecution', 'TypeWebHook', 'TypeAppendVariable', 'TypeSetVariable', 'TypeFilter', 'TypeValidation', 'TypeUntil', 'TypeWait', 'TypeForEach', 'TypeIfCondition', 'TypeExecutePipeline', 'TypeContainer'
44041	Type TypeBasicActivity `json:"type,omitempty"`
44042}
44043
44044// MarshalJSON is the custom marshaler for CopyActivity.
44045func (ca CopyActivity) MarshalJSON() ([]byte, error) {
44046	ca.Type = TypeCopy
44047	objectMap := make(map[string]interface{})
44048	if ca.CopyActivityTypeProperties != nil {
44049		objectMap["typeProperties"] = ca.CopyActivityTypeProperties
44050	}
44051	if ca.Inputs != nil {
44052		objectMap["inputs"] = ca.Inputs
44053	}
44054	if ca.Outputs != nil {
44055		objectMap["outputs"] = ca.Outputs
44056	}
44057	if ca.LinkedServiceName != nil {
44058		objectMap["linkedServiceName"] = ca.LinkedServiceName
44059	}
44060	if ca.Policy != nil {
44061		objectMap["policy"] = ca.Policy
44062	}
44063	if ca.Name != nil {
44064		objectMap["name"] = ca.Name
44065	}
44066	if ca.Description != nil {
44067		objectMap["description"] = ca.Description
44068	}
44069	if ca.DependsOn != nil {
44070		objectMap["dependsOn"] = ca.DependsOn
44071	}
44072	if ca.UserProperties != nil {
44073		objectMap["userProperties"] = ca.UserProperties
44074	}
44075	if ca.Type != "" {
44076		objectMap["type"] = ca.Type
44077	}
44078	for k, v := range ca.AdditionalProperties {
44079		objectMap[k] = v
44080	}
44081	return json.Marshal(objectMap)
44082}
44083
44084// AsAzureFunctionActivity is the BasicActivity implementation for CopyActivity.
44085func (ca CopyActivity) AsAzureFunctionActivity() (*AzureFunctionActivity, bool) {
44086	return nil, false
44087}
44088
44089// AsDatabricksSparkPythonActivity is the BasicActivity implementation for CopyActivity.
44090func (ca CopyActivity) AsDatabricksSparkPythonActivity() (*DatabricksSparkPythonActivity, bool) {
44091	return nil, false
44092}
44093
44094// AsDatabricksSparkJarActivity is the BasicActivity implementation for CopyActivity.
44095func (ca CopyActivity) AsDatabricksSparkJarActivity() (*DatabricksSparkJarActivity, bool) {
44096	return nil, false
44097}
44098
44099// AsDatabricksNotebookActivity is the BasicActivity implementation for CopyActivity.
44100func (ca CopyActivity) AsDatabricksNotebookActivity() (*DatabricksNotebookActivity, bool) {
44101	return nil, false
44102}
44103
44104// AsDataLakeAnalyticsUSQLActivity is the BasicActivity implementation for CopyActivity.
44105func (ca CopyActivity) AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalyticsUSQLActivity, bool) {
44106	return nil, false
44107}
44108
44109// AsAzureMLUpdateResourceActivity is the BasicActivity implementation for CopyActivity.
44110func (ca CopyActivity) AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool) {
44111	return nil, false
44112}
44113
44114// AsAzureMLBatchExecutionActivity is the BasicActivity implementation for CopyActivity.
44115func (ca CopyActivity) AsAzureMLBatchExecutionActivity() (*AzureMLBatchExecutionActivity, bool) {
44116	return nil, false
44117}
44118
44119// AsGetMetadataActivity is the BasicActivity implementation for CopyActivity.
44120func (ca CopyActivity) AsGetMetadataActivity() (*GetMetadataActivity, bool) {
44121	return nil, false
44122}
44123
44124// AsWebActivity is the BasicActivity implementation for CopyActivity.
44125func (ca CopyActivity) AsWebActivity() (*WebActivity, bool) {
44126	return nil, false
44127}
44128
44129// AsLookupActivity is the BasicActivity implementation for CopyActivity.
44130func (ca CopyActivity) AsLookupActivity() (*LookupActivity, bool) {
44131	return nil, false
44132}
44133
44134// AsAzureDataExplorerCommandActivity is the BasicActivity implementation for CopyActivity.
44135func (ca CopyActivity) AsAzureDataExplorerCommandActivity() (*AzureDataExplorerCommandActivity, bool) {
44136	return nil, false
44137}
44138
44139// AsDeleteActivity is the BasicActivity implementation for CopyActivity.
44140func (ca CopyActivity) AsDeleteActivity() (*DeleteActivity, bool) {
44141	return nil, false
44142}
44143
44144// AsSQLServerStoredProcedureActivity is the BasicActivity implementation for CopyActivity.
44145func (ca CopyActivity) AsSQLServerStoredProcedureActivity() (*SQLServerStoredProcedureActivity, bool) {
44146	return nil, false
44147}
44148
44149// AsCustomActivity is the BasicActivity implementation for CopyActivity.
44150func (ca CopyActivity) AsCustomActivity() (*CustomActivity, bool) {
44151	return nil, false
44152}
44153
44154// AsExecuteSSISPackageActivity is the BasicActivity implementation for CopyActivity.
44155func (ca CopyActivity) AsExecuteSSISPackageActivity() (*ExecuteSSISPackageActivity, bool) {
44156	return nil, false
44157}
44158
44159// AsHDInsightSparkActivity is the BasicActivity implementation for CopyActivity.
44160func (ca CopyActivity) AsHDInsightSparkActivity() (*HDInsightSparkActivity, bool) {
44161	return nil, false
44162}
44163
44164// AsHDInsightStreamingActivity is the BasicActivity implementation for CopyActivity.
44165func (ca CopyActivity) AsHDInsightStreamingActivity() (*HDInsightStreamingActivity, bool) {
44166	return nil, false
44167}
44168
44169// AsHDInsightMapReduceActivity is the BasicActivity implementation for CopyActivity.
44170func (ca CopyActivity) AsHDInsightMapReduceActivity() (*HDInsightMapReduceActivity, bool) {
44171	return nil, false
44172}
44173
44174// AsHDInsightPigActivity is the BasicActivity implementation for CopyActivity.
44175func (ca CopyActivity) AsHDInsightPigActivity() (*HDInsightPigActivity, bool) {
44176	return nil, false
44177}
44178
44179// AsHDInsightHiveActivity is the BasicActivity implementation for CopyActivity.
44180func (ca CopyActivity) AsHDInsightHiveActivity() (*HDInsightHiveActivity, bool) {
44181	return nil, false
44182}
44183
44184// AsCopyActivity is the BasicActivity implementation for CopyActivity.
44185func (ca CopyActivity) AsCopyActivity() (*CopyActivity, bool) {
44186	return &ca, true
44187}
44188
44189// AsExecutionActivity is the BasicActivity implementation for CopyActivity.
44190func (ca CopyActivity) AsExecutionActivity() (*ExecutionActivity, bool) {
44191	return nil, false
44192}
44193
44194// AsBasicExecutionActivity is the BasicActivity implementation for CopyActivity.
44195func (ca CopyActivity) AsBasicExecutionActivity() (BasicExecutionActivity, bool) {
44196	return &ca, true
44197}
44198
44199// AsWebHookActivity is the BasicActivity implementation for CopyActivity.
44200func (ca CopyActivity) AsWebHookActivity() (*WebHookActivity, bool) {
44201	return nil, false
44202}
44203
44204// AsAppendVariableActivity is the BasicActivity implementation for CopyActivity.
44205func (ca CopyActivity) AsAppendVariableActivity() (*AppendVariableActivity, bool) {
44206	return nil, false
44207}
44208
44209// AsSetVariableActivity is the BasicActivity implementation for CopyActivity.
44210func (ca CopyActivity) AsSetVariableActivity() (*SetVariableActivity, bool) {
44211	return nil, false
44212}
44213
44214// AsFilterActivity is the BasicActivity implementation for CopyActivity.
44215func (ca CopyActivity) AsFilterActivity() (*FilterActivity, bool) {
44216	return nil, false
44217}
44218
44219// AsValidationActivity is the BasicActivity implementation for CopyActivity.
44220func (ca CopyActivity) AsValidationActivity() (*ValidationActivity, bool) {
44221	return nil, false
44222}
44223
44224// AsUntilActivity is the BasicActivity implementation for CopyActivity.
44225func (ca CopyActivity) AsUntilActivity() (*UntilActivity, bool) {
44226	return nil, false
44227}
44228
44229// AsWaitActivity is the BasicActivity implementation for CopyActivity.
44230func (ca CopyActivity) AsWaitActivity() (*WaitActivity, bool) {
44231	return nil, false
44232}
44233
44234// AsForEachActivity is the BasicActivity implementation for CopyActivity.
44235func (ca CopyActivity) AsForEachActivity() (*ForEachActivity, bool) {
44236	return nil, false
44237}
44238
44239// AsIfConditionActivity is the BasicActivity implementation for CopyActivity.
44240func (ca CopyActivity) AsIfConditionActivity() (*IfConditionActivity, bool) {
44241	return nil, false
44242}
44243
44244// AsExecutePipelineActivity is the BasicActivity implementation for CopyActivity.
44245func (ca CopyActivity) AsExecutePipelineActivity() (*ExecutePipelineActivity, bool) {
44246	return nil, false
44247}
44248
44249// AsControlActivity is the BasicActivity implementation for CopyActivity.
44250func (ca CopyActivity) AsControlActivity() (*ControlActivity, bool) {
44251	return nil, false
44252}
44253
44254// AsBasicControlActivity is the BasicActivity implementation for CopyActivity.
44255func (ca CopyActivity) AsBasicControlActivity() (BasicControlActivity, bool) {
44256	return nil, false
44257}
44258
44259// AsActivity is the BasicActivity implementation for CopyActivity.
44260func (ca CopyActivity) AsActivity() (*Activity, bool) {
44261	return nil, false
44262}
44263
44264// AsBasicActivity is the BasicActivity implementation for CopyActivity.
44265func (ca CopyActivity) AsBasicActivity() (BasicActivity, bool) {
44266	return &ca, true
44267}
44268
44269// UnmarshalJSON is the custom unmarshaler for CopyActivity struct.
44270func (ca *CopyActivity) UnmarshalJSON(body []byte) error {
44271	var m map[string]*json.RawMessage
44272	err := json.Unmarshal(body, &m)
44273	if err != nil {
44274		return err
44275	}
44276	for k, v := range m {
44277		switch k {
44278		case "typeProperties":
44279			if v != nil {
44280				var copyActivityTypeProperties CopyActivityTypeProperties
44281				err = json.Unmarshal(*v, &copyActivityTypeProperties)
44282				if err != nil {
44283					return err
44284				}
44285				ca.CopyActivityTypeProperties = &copyActivityTypeProperties
44286			}
44287		case "inputs":
44288			if v != nil {
44289				var inputs []DatasetReference
44290				err = json.Unmarshal(*v, &inputs)
44291				if err != nil {
44292					return err
44293				}
44294				ca.Inputs = &inputs
44295			}
44296		case "outputs":
44297			if v != nil {
44298				var outputs []DatasetReference
44299				err = json.Unmarshal(*v, &outputs)
44300				if err != nil {
44301					return err
44302				}
44303				ca.Outputs = &outputs
44304			}
44305		case "linkedServiceName":
44306			if v != nil {
44307				var linkedServiceName LinkedServiceReference
44308				err = json.Unmarshal(*v, &linkedServiceName)
44309				if err != nil {
44310					return err
44311				}
44312				ca.LinkedServiceName = &linkedServiceName
44313			}
44314		case "policy":
44315			if v != nil {
44316				var policy ActivityPolicy
44317				err = json.Unmarshal(*v, &policy)
44318				if err != nil {
44319					return err
44320				}
44321				ca.Policy = &policy
44322			}
44323		default:
44324			if v != nil {
44325				var additionalProperties interface{}
44326				err = json.Unmarshal(*v, &additionalProperties)
44327				if err != nil {
44328					return err
44329				}
44330				if ca.AdditionalProperties == nil {
44331					ca.AdditionalProperties = make(map[string]interface{})
44332				}
44333				ca.AdditionalProperties[k] = additionalProperties
44334			}
44335		case "name":
44336			if v != nil {
44337				var name string
44338				err = json.Unmarshal(*v, &name)
44339				if err != nil {
44340					return err
44341				}
44342				ca.Name = &name
44343			}
44344		case "description":
44345			if v != nil {
44346				var description string
44347				err = json.Unmarshal(*v, &description)
44348				if err != nil {
44349					return err
44350				}
44351				ca.Description = &description
44352			}
44353		case "dependsOn":
44354			if v != nil {
44355				var dependsOn []ActivityDependency
44356				err = json.Unmarshal(*v, &dependsOn)
44357				if err != nil {
44358					return err
44359				}
44360				ca.DependsOn = &dependsOn
44361			}
44362		case "userProperties":
44363			if v != nil {
44364				var userProperties []UserProperty
44365				err = json.Unmarshal(*v, &userProperties)
44366				if err != nil {
44367					return err
44368				}
44369				ca.UserProperties = &userProperties
44370			}
44371		case "type":
44372			if v != nil {
44373				var typeVar TypeBasicActivity
44374				err = json.Unmarshal(*v, &typeVar)
44375				if err != nil {
44376					return err
44377				}
44378				ca.Type = typeVar
44379			}
44380		}
44381	}
44382
44383	return nil
44384}
44385
44386// CopyActivityTypeProperties copy activity properties.
44387type CopyActivityTypeProperties struct {
44388	// Source - Copy activity source.
44389	Source BasicCopySource `json:"source,omitempty"`
44390	// Sink - Copy activity sink.
44391	Sink BasicCopySink `json:"sink,omitempty"`
44392	// Translator - Copy activity translator. If not specified, tabular translator is used.
44393	Translator interface{} `json:"translator,omitempty"`
44394	// EnableStaging - Specifies whether to copy data via an interim staging. Default value is false. Type: boolean (or Expression with resultType boolean).
44395	EnableStaging interface{} `json:"enableStaging,omitempty"`
44396	// StagingSettings - Specifies interim staging settings when EnableStaging is true.
44397	StagingSettings *StagingSettings `json:"stagingSettings,omitempty"`
44398	// 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.
44399	ParallelCopies interface{} `json:"parallelCopies,omitempty"`
44400	// DataIntegrationUnits - Maximum number of data integration units that can be used to perform this data movement. Type: integer (or Expression with resultType integer), minimum: 0.
44401	DataIntegrationUnits interface{} `json:"dataIntegrationUnits,omitempty"`
44402	// EnableSkipIncompatibleRow - Whether to skip incompatible row. Default value is false. Type: boolean (or Expression with resultType boolean).
44403	EnableSkipIncompatibleRow interface{} `json:"enableSkipIncompatibleRow,omitempty"`
44404	// RedirectIncompatibleRowSettings - Redirect incompatible row settings when EnableSkipIncompatibleRow is true.
44405	RedirectIncompatibleRowSettings *RedirectIncompatibleRowSettings `json:"redirectIncompatibleRowSettings,omitempty"`
44406	// PreserveRules - Preserve Rules.
44407	PreserveRules *[]interface{} `json:"preserveRules,omitempty"`
44408	// Preserve - Preserve rules.
44409	Preserve *[]interface{} `json:"preserve,omitempty"`
44410}
44411
44412// UnmarshalJSON is the custom unmarshaler for CopyActivityTypeProperties struct.
44413func (catp *CopyActivityTypeProperties) UnmarshalJSON(body []byte) error {
44414	var m map[string]*json.RawMessage
44415	err := json.Unmarshal(body, &m)
44416	if err != nil {
44417		return err
44418	}
44419	for k, v := range m {
44420		switch k {
44421		case "source":
44422			if v != nil {
44423				source, err := unmarshalBasicCopySource(*v)
44424				if err != nil {
44425					return err
44426				}
44427				catp.Source = source
44428			}
44429		case "sink":
44430			if v != nil {
44431				sink, err := unmarshalBasicCopySink(*v)
44432				if err != nil {
44433					return err
44434				}
44435				catp.Sink = sink
44436			}
44437		case "translator":
44438			if v != nil {
44439				var translator interface{}
44440				err = json.Unmarshal(*v, &translator)
44441				if err != nil {
44442					return err
44443				}
44444				catp.Translator = translator
44445			}
44446		case "enableStaging":
44447			if v != nil {
44448				var enableStaging interface{}
44449				err = json.Unmarshal(*v, &enableStaging)
44450				if err != nil {
44451					return err
44452				}
44453				catp.EnableStaging = enableStaging
44454			}
44455		case "stagingSettings":
44456			if v != nil {
44457				var stagingSettings StagingSettings
44458				err = json.Unmarshal(*v, &stagingSettings)
44459				if err != nil {
44460					return err
44461				}
44462				catp.StagingSettings = &stagingSettings
44463			}
44464		case "parallelCopies":
44465			if v != nil {
44466				var parallelCopies interface{}
44467				err = json.Unmarshal(*v, &parallelCopies)
44468				if err != nil {
44469					return err
44470				}
44471				catp.ParallelCopies = parallelCopies
44472			}
44473		case "dataIntegrationUnits":
44474			if v != nil {
44475				var dataIntegrationUnits interface{}
44476				err = json.Unmarshal(*v, &dataIntegrationUnits)
44477				if err != nil {
44478					return err
44479				}
44480				catp.DataIntegrationUnits = dataIntegrationUnits
44481			}
44482		case "enableSkipIncompatibleRow":
44483			if v != nil {
44484				var enableSkipIncompatibleRow interface{}
44485				err = json.Unmarshal(*v, &enableSkipIncompatibleRow)
44486				if err != nil {
44487					return err
44488				}
44489				catp.EnableSkipIncompatibleRow = enableSkipIncompatibleRow
44490			}
44491		case "redirectIncompatibleRowSettings":
44492			if v != nil {
44493				var redirectIncompatibleRowSettings RedirectIncompatibleRowSettings
44494				err = json.Unmarshal(*v, &redirectIncompatibleRowSettings)
44495				if err != nil {
44496					return err
44497				}
44498				catp.RedirectIncompatibleRowSettings = &redirectIncompatibleRowSettings
44499			}
44500		case "preserveRules":
44501			if v != nil {
44502				var preserveRules []interface{}
44503				err = json.Unmarshal(*v, &preserveRules)
44504				if err != nil {
44505					return err
44506				}
44507				catp.PreserveRules = &preserveRules
44508			}
44509		case "preserve":
44510			if v != nil {
44511				var preserve []interface{}
44512				err = json.Unmarshal(*v, &preserve)
44513				if err != nil {
44514					return err
44515				}
44516				catp.Preserve = &preserve
44517			}
44518		}
44519	}
44520
44521	return nil
44522}
44523
44524// BasicCopySink a copy activity sink.
44525type BasicCopySink interface {
44526	AsCosmosDbMongoDbAPISink() (*CosmosDbMongoDbAPISink, bool)
44527	AsSalesforceServiceCloudSink() (*SalesforceServiceCloudSink, bool)
44528	AsSalesforceSink() (*SalesforceSink, bool)
44529	AsAzureDataExplorerSink() (*AzureDataExplorerSink, bool)
44530	AsCommonDataServiceForAppsSink() (*CommonDataServiceForAppsSink, bool)
44531	AsDynamicsCrmSink() (*DynamicsCrmSink, bool)
44532	AsDynamicsSink() (*DynamicsSink, bool)
44533	AsMicrosoftAccessSink() (*MicrosoftAccessSink, bool)
44534	AsInformixSink() (*InformixSink, bool)
44535	AsOdbcSink() (*OdbcSink, bool)
44536	AsAzureSearchIndexSink() (*AzureSearchIndexSink, bool)
44537	AsAzureBlobFSSink() (*AzureBlobFSSink, bool)
44538	AsAzureDataLakeStoreSink() (*AzureDataLakeStoreSink, bool)
44539	AsOracleSink() (*OracleSink, bool)
44540	AsSQLDWSink() (*SQLDWSink, bool)
44541	AsSQLMISink() (*SQLMISink, bool)
44542	AsAzureSQLSink() (*AzureSQLSink, bool)
44543	AsSQLServerSink() (*SQLServerSink, bool)
44544	AsSQLSink() (*SQLSink, bool)
44545	AsDocumentDbCollectionSink() (*DocumentDbCollectionSink, bool)
44546	AsFileSystemSink() (*FileSystemSink, bool)
44547	AsBlobSink() (*BlobSink, bool)
44548	AsBinarySink() (*BinarySink, bool)
44549	AsParquetSink() (*ParquetSink, bool)
44550	AsAzureTableSink() (*AzureTableSink, bool)
44551	AsAzureQueueSink() (*AzureQueueSink, bool)
44552	AsSapCloudForCustomerSink() (*SapCloudForCustomerSink, bool)
44553	AsAzurePostgreSQLSink() (*AzurePostgreSQLSink, bool)
44554	AsDelimitedTextSink() (*DelimitedTextSink, bool)
44555	AsCopySink() (*CopySink, bool)
44556}
44557
44558// CopySink a copy activity sink.
44559type CopySink struct {
44560	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
44561	AdditionalProperties map[string]interface{} `json:""`
44562	// WriteBatchSize - Write batch size. Type: integer (or Expression with resultType integer), minimum: 0.
44563	WriteBatchSize interface{} `json:"writeBatchSize,omitempty"`
44564	// 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])).
44565	WriteBatchTimeout interface{} `json:"writeBatchTimeout,omitempty"`
44566	// SinkRetryCount - Sink retry count. Type: integer (or Expression with resultType integer).
44567	SinkRetryCount interface{} `json:"sinkRetryCount,omitempty"`
44568	// 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])).
44569	SinkRetryWait interface{} `json:"sinkRetryWait,omitempty"`
44570	// MaxConcurrentConnections - The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer).
44571	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
44572	// Type - Possible values include: 'TypeCopySink', 'TypeCosmosDbMongoDbAPISink', 'TypeSalesforceServiceCloudSink', 'TypeSalesforceSink', 'TypeAzureDataExplorerSink', 'TypeCommonDataServiceForAppsSink', 'TypeDynamicsCrmSink', 'TypeDynamicsSink', 'TypeMicrosoftAccessSink', 'TypeInformixSink', 'TypeOdbcSink', 'TypeAzureSearchIndexSink', 'TypeAzureBlobFSSink', 'TypeAzureDataLakeStoreSink', 'TypeOracleSink', 'TypeSQLDWSink', 'TypeSQLMISink', 'TypeAzureSQLSink', 'TypeSQLServerSink', 'TypeSQLSink', 'TypeDocumentDbCollectionSink', 'TypeFileSystemSink', 'TypeBlobSink', 'TypeBinarySink', 'TypeParquetSink', 'TypeAzureTableSink', 'TypeAzureQueueSink', 'TypeSapCloudForCustomerSink', 'TypeAzurePostgreSQLSink', 'TypeDelimitedTextSink'
44573	Type TypeBasicCopySink `json:"type,omitempty"`
44574}
44575
44576func unmarshalBasicCopySink(body []byte) (BasicCopySink, error) {
44577	var m map[string]interface{}
44578	err := json.Unmarshal(body, &m)
44579	if err != nil {
44580		return nil, err
44581	}
44582
44583	switch m["type"] {
44584	case string(TypeCosmosDbMongoDbAPISink):
44585		var cdmdas CosmosDbMongoDbAPISink
44586		err := json.Unmarshal(body, &cdmdas)
44587		return cdmdas, err
44588	case string(TypeSalesforceServiceCloudSink):
44589		var sscs SalesforceServiceCloudSink
44590		err := json.Unmarshal(body, &sscs)
44591		return sscs, err
44592	case string(TypeSalesforceSink):
44593		var ss SalesforceSink
44594		err := json.Unmarshal(body, &ss)
44595		return ss, err
44596	case string(TypeAzureDataExplorerSink):
44597		var ades AzureDataExplorerSink
44598		err := json.Unmarshal(body, &ades)
44599		return ades, err
44600	case string(TypeCommonDataServiceForAppsSink):
44601		var cdsfas CommonDataServiceForAppsSink
44602		err := json.Unmarshal(body, &cdsfas)
44603		return cdsfas, err
44604	case string(TypeDynamicsCrmSink):
44605		var dcs DynamicsCrmSink
44606		err := json.Unmarshal(body, &dcs)
44607		return dcs, err
44608	case string(TypeDynamicsSink):
44609		var ds DynamicsSink
44610		err := json.Unmarshal(body, &ds)
44611		return ds, err
44612	case string(TypeMicrosoftAccessSink):
44613		var mas MicrosoftAccessSink
44614		err := json.Unmarshal(body, &mas)
44615		return mas, err
44616	case string(TypeInformixSink):
44617		var is InformixSink
44618		err := json.Unmarshal(body, &is)
44619		return is, err
44620	case string(TypeOdbcSink):
44621		var osVar OdbcSink
44622		err := json.Unmarshal(body, &osVar)
44623		return osVar, err
44624	case string(TypeAzureSearchIndexSink):
44625		var asis AzureSearchIndexSink
44626		err := json.Unmarshal(body, &asis)
44627		return asis, err
44628	case string(TypeAzureBlobFSSink):
44629		var abfs AzureBlobFSSink
44630		err := json.Unmarshal(body, &abfs)
44631		return abfs, err
44632	case string(TypeAzureDataLakeStoreSink):
44633		var adlss AzureDataLakeStoreSink
44634		err := json.Unmarshal(body, &adlss)
44635		return adlss, err
44636	case string(TypeOracleSink):
44637		var osVar OracleSink
44638		err := json.Unmarshal(body, &osVar)
44639		return osVar, err
44640	case string(TypeSQLDWSink):
44641		var sds SQLDWSink
44642		err := json.Unmarshal(body, &sds)
44643		return sds, err
44644	case string(TypeSQLMISink):
44645		var sms SQLMISink
44646		err := json.Unmarshal(body, &sms)
44647		return sms, err
44648	case string(TypeAzureSQLSink):
44649		var ass AzureSQLSink
44650		err := json.Unmarshal(body, &ass)
44651		return ass, err
44652	case string(TypeSQLServerSink):
44653		var sss SQLServerSink
44654		err := json.Unmarshal(body, &sss)
44655		return sss, err
44656	case string(TypeSQLSink):
44657		var ss SQLSink
44658		err := json.Unmarshal(body, &ss)
44659		return ss, err
44660	case string(TypeDocumentDbCollectionSink):
44661		var ddcs DocumentDbCollectionSink
44662		err := json.Unmarshal(body, &ddcs)
44663		return ddcs, err
44664	case string(TypeFileSystemSink):
44665		var fss FileSystemSink
44666		err := json.Unmarshal(body, &fss)
44667		return fss, err
44668	case string(TypeBlobSink):
44669		var bs BlobSink
44670		err := json.Unmarshal(body, &bs)
44671		return bs, err
44672	case string(TypeBinarySink):
44673		var bs BinarySink
44674		err := json.Unmarshal(body, &bs)
44675		return bs, err
44676	case string(TypeParquetSink):
44677		var ps ParquetSink
44678		err := json.Unmarshal(body, &ps)
44679		return ps, err
44680	case string(TypeAzureTableSink):
44681		var ats AzureTableSink
44682		err := json.Unmarshal(body, &ats)
44683		return ats, err
44684	case string(TypeAzureQueueSink):
44685		var aqs AzureQueueSink
44686		err := json.Unmarshal(body, &aqs)
44687		return aqs, err
44688	case string(TypeSapCloudForCustomerSink):
44689		var scfcs SapCloudForCustomerSink
44690		err := json.Unmarshal(body, &scfcs)
44691		return scfcs, err
44692	case string(TypeAzurePostgreSQLSink):
44693		var apss AzurePostgreSQLSink
44694		err := json.Unmarshal(body, &apss)
44695		return apss, err
44696	case string(TypeDelimitedTextSink):
44697		var dts DelimitedTextSink
44698		err := json.Unmarshal(body, &dts)
44699		return dts, err
44700	default:
44701		var cs CopySink
44702		err := json.Unmarshal(body, &cs)
44703		return cs, err
44704	}
44705}
44706func unmarshalBasicCopySinkArray(body []byte) ([]BasicCopySink, error) {
44707	var rawMessages []*json.RawMessage
44708	err := json.Unmarshal(body, &rawMessages)
44709	if err != nil {
44710		return nil, err
44711	}
44712
44713	csArray := make([]BasicCopySink, len(rawMessages))
44714
44715	for index, rawMessage := range rawMessages {
44716		cs, err := unmarshalBasicCopySink(*rawMessage)
44717		if err != nil {
44718			return nil, err
44719		}
44720		csArray[index] = cs
44721	}
44722	return csArray, nil
44723}
44724
44725// MarshalJSON is the custom marshaler for CopySink.
44726func (cs CopySink) MarshalJSON() ([]byte, error) {
44727	cs.Type = TypeCopySink
44728	objectMap := make(map[string]interface{})
44729	if cs.WriteBatchSize != nil {
44730		objectMap["writeBatchSize"] = cs.WriteBatchSize
44731	}
44732	if cs.WriteBatchTimeout != nil {
44733		objectMap["writeBatchTimeout"] = cs.WriteBatchTimeout
44734	}
44735	if cs.SinkRetryCount != nil {
44736		objectMap["sinkRetryCount"] = cs.SinkRetryCount
44737	}
44738	if cs.SinkRetryWait != nil {
44739		objectMap["sinkRetryWait"] = cs.SinkRetryWait
44740	}
44741	if cs.MaxConcurrentConnections != nil {
44742		objectMap["maxConcurrentConnections"] = cs.MaxConcurrentConnections
44743	}
44744	if cs.Type != "" {
44745		objectMap["type"] = cs.Type
44746	}
44747	for k, v := range cs.AdditionalProperties {
44748		objectMap[k] = v
44749	}
44750	return json.Marshal(objectMap)
44751}
44752
44753// AsCosmosDbMongoDbAPISink is the BasicCopySink implementation for CopySink.
44754func (cs CopySink) AsCosmosDbMongoDbAPISink() (*CosmosDbMongoDbAPISink, bool) {
44755	return nil, false
44756}
44757
44758// AsSalesforceServiceCloudSink is the BasicCopySink implementation for CopySink.
44759func (cs CopySink) AsSalesforceServiceCloudSink() (*SalesforceServiceCloudSink, bool) {
44760	return nil, false
44761}
44762
44763// AsSalesforceSink is the BasicCopySink implementation for CopySink.
44764func (cs CopySink) AsSalesforceSink() (*SalesforceSink, bool) {
44765	return nil, false
44766}
44767
44768// AsAzureDataExplorerSink is the BasicCopySink implementation for CopySink.
44769func (cs CopySink) AsAzureDataExplorerSink() (*AzureDataExplorerSink, bool) {
44770	return nil, false
44771}
44772
44773// AsCommonDataServiceForAppsSink is the BasicCopySink implementation for CopySink.
44774func (cs CopySink) AsCommonDataServiceForAppsSink() (*CommonDataServiceForAppsSink, bool) {
44775	return nil, false
44776}
44777
44778// AsDynamicsCrmSink is the BasicCopySink implementation for CopySink.
44779func (cs CopySink) AsDynamicsCrmSink() (*DynamicsCrmSink, bool) {
44780	return nil, false
44781}
44782
44783// AsDynamicsSink is the BasicCopySink implementation for CopySink.
44784func (cs CopySink) AsDynamicsSink() (*DynamicsSink, bool) {
44785	return nil, false
44786}
44787
44788// AsMicrosoftAccessSink is the BasicCopySink implementation for CopySink.
44789func (cs CopySink) AsMicrosoftAccessSink() (*MicrosoftAccessSink, bool) {
44790	return nil, false
44791}
44792
44793// AsInformixSink is the BasicCopySink implementation for CopySink.
44794func (cs CopySink) AsInformixSink() (*InformixSink, bool) {
44795	return nil, false
44796}
44797
44798// AsOdbcSink is the BasicCopySink implementation for CopySink.
44799func (cs CopySink) AsOdbcSink() (*OdbcSink, bool) {
44800	return nil, false
44801}
44802
44803// AsAzureSearchIndexSink is the BasicCopySink implementation for CopySink.
44804func (cs CopySink) AsAzureSearchIndexSink() (*AzureSearchIndexSink, bool) {
44805	return nil, false
44806}
44807
44808// AsAzureBlobFSSink is the BasicCopySink implementation for CopySink.
44809func (cs CopySink) AsAzureBlobFSSink() (*AzureBlobFSSink, bool) {
44810	return nil, false
44811}
44812
44813// AsAzureDataLakeStoreSink is the BasicCopySink implementation for CopySink.
44814func (cs CopySink) AsAzureDataLakeStoreSink() (*AzureDataLakeStoreSink, bool) {
44815	return nil, false
44816}
44817
44818// AsOracleSink is the BasicCopySink implementation for CopySink.
44819func (cs CopySink) AsOracleSink() (*OracleSink, bool) {
44820	return nil, false
44821}
44822
44823// AsSQLDWSink is the BasicCopySink implementation for CopySink.
44824func (cs CopySink) AsSQLDWSink() (*SQLDWSink, bool) {
44825	return nil, false
44826}
44827
44828// AsSQLMISink is the BasicCopySink implementation for CopySink.
44829func (cs CopySink) AsSQLMISink() (*SQLMISink, bool) {
44830	return nil, false
44831}
44832
44833// AsAzureSQLSink is the BasicCopySink implementation for CopySink.
44834func (cs CopySink) AsAzureSQLSink() (*AzureSQLSink, bool) {
44835	return nil, false
44836}
44837
44838// AsSQLServerSink is the BasicCopySink implementation for CopySink.
44839func (cs CopySink) AsSQLServerSink() (*SQLServerSink, bool) {
44840	return nil, false
44841}
44842
44843// AsSQLSink is the BasicCopySink implementation for CopySink.
44844func (cs CopySink) AsSQLSink() (*SQLSink, bool) {
44845	return nil, false
44846}
44847
44848// AsDocumentDbCollectionSink is the BasicCopySink implementation for CopySink.
44849func (cs CopySink) AsDocumentDbCollectionSink() (*DocumentDbCollectionSink, bool) {
44850	return nil, false
44851}
44852
44853// AsFileSystemSink is the BasicCopySink implementation for CopySink.
44854func (cs CopySink) AsFileSystemSink() (*FileSystemSink, bool) {
44855	return nil, false
44856}
44857
44858// AsBlobSink is the BasicCopySink implementation for CopySink.
44859func (cs CopySink) AsBlobSink() (*BlobSink, bool) {
44860	return nil, false
44861}
44862
44863// AsBinarySink is the BasicCopySink implementation for CopySink.
44864func (cs CopySink) AsBinarySink() (*BinarySink, bool) {
44865	return nil, false
44866}
44867
44868// AsParquetSink is the BasicCopySink implementation for CopySink.
44869func (cs CopySink) AsParquetSink() (*ParquetSink, bool) {
44870	return nil, false
44871}
44872
44873// AsAzureTableSink is the BasicCopySink implementation for CopySink.
44874func (cs CopySink) AsAzureTableSink() (*AzureTableSink, bool) {
44875	return nil, false
44876}
44877
44878// AsAzureQueueSink is the BasicCopySink implementation for CopySink.
44879func (cs CopySink) AsAzureQueueSink() (*AzureQueueSink, bool) {
44880	return nil, false
44881}
44882
44883// AsSapCloudForCustomerSink is the BasicCopySink implementation for CopySink.
44884func (cs CopySink) AsSapCloudForCustomerSink() (*SapCloudForCustomerSink, bool) {
44885	return nil, false
44886}
44887
44888// AsAzurePostgreSQLSink is the BasicCopySink implementation for CopySink.
44889func (cs CopySink) AsAzurePostgreSQLSink() (*AzurePostgreSQLSink, bool) {
44890	return nil, false
44891}
44892
44893// AsDelimitedTextSink is the BasicCopySink implementation for CopySink.
44894func (cs CopySink) AsDelimitedTextSink() (*DelimitedTextSink, bool) {
44895	return nil, false
44896}
44897
44898// AsCopySink is the BasicCopySink implementation for CopySink.
44899func (cs CopySink) AsCopySink() (*CopySink, bool) {
44900	return &cs, true
44901}
44902
44903// AsBasicCopySink is the BasicCopySink implementation for CopySink.
44904func (cs CopySink) AsBasicCopySink() (BasicCopySink, bool) {
44905	return &cs, true
44906}
44907
44908// UnmarshalJSON is the custom unmarshaler for CopySink struct.
44909func (cs *CopySink) UnmarshalJSON(body []byte) error {
44910	var m map[string]*json.RawMessage
44911	err := json.Unmarshal(body, &m)
44912	if err != nil {
44913		return err
44914	}
44915	for k, v := range m {
44916		switch k {
44917		default:
44918			if v != nil {
44919				var additionalProperties interface{}
44920				err = json.Unmarshal(*v, &additionalProperties)
44921				if err != nil {
44922					return err
44923				}
44924				if cs.AdditionalProperties == nil {
44925					cs.AdditionalProperties = make(map[string]interface{})
44926				}
44927				cs.AdditionalProperties[k] = additionalProperties
44928			}
44929		case "writeBatchSize":
44930			if v != nil {
44931				var writeBatchSize interface{}
44932				err = json.Unmarshal(*v, &writeBatchSize)
44933				if err != nil {
44934					return err
44935				}
44936				cs.WriteBatchSize = writeBatchSize
44937			}
44938		case "writeBatchTimeout":
44939			if v != nil {
44940				var writeBatchTimeout interface{}
44941				err = json.Unmarshal(*v, &writeBatchTimeout)
44942				if err != nil {
44943					return err
44944				}
44945				cs.WriteBatchTimeout = writeBatchTimeout
44946			}
44947		case "sinkRetryCount":
44948			if v != nil {
44949				var sinkRetryCount interface{}
44950				err = json.Unmarshal(*v, &sinkRetryCount)
44951				if err != nil {
44952					return err
44953				}
44954				cs.SinkRetryCount = sinkRetryCount
44955			}
44956		case "sinkRetryWait":
44957			if v != nil {
44958				var sinkRetryWait interface{}
44959				err = json.Unmarshal(*v, &sinkRetryWait)
44960				if err != nil {
44961					return err
44962				}
44963				cs.SinkRetryWait = sinkRetryWait
44964			}
44965		case "maxConcurrentConnections":
44966			if v != nil {
44967				var maxConcurrentConnections interface{}
44968				err = json.Unmarshal(*v, &maxConcurrentConnections)
44969				if err != nil {
44970					return err
44971				}
44972				cs.MaxConcurrentConnections = maxConcurrentConnections
44973			}
44974		case "type":
44975			if v != nil {
44976				var typeVar TypeBasicCopySink
44977				err = json.Unmarshal(*v, &typeVar)
44978				if err != nil {
44979					return err
44980				}
44981				cs.Type = typeVar
44982			}
44983		}
44984	}
44985
44986	return nil
44987}
44988
44989// BasicCopySource a copy activity source.
44990type BasicCopySource interface {
44991	AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool)
44992	AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool)
44993	AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool)
44994	AsDynamicsAXSource() (*DynamicsAXSource, bool)
44995	AsResponsysSource() (*ResponsysSource, bool)
44996	AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool)
44997	AsVerticaSource() (*VerticaSource, bool)
44998	AsNetezzaSource() (*NetezzaSource, bool)
44999	AsZohoSource() (*ZohoSource, bool)
45000	AsXeroSource() (*XeroSource, bool)
45001	AsSquareSource() (*SquareSource, bool)
45002	AsSparkSource() (*SparkSource, bool)
45003	AsShopifySource() (*ShopifySource, bool)
45004	AsServiceNowSource() (*ServiceNowSource, bool)
45005	AsQuickBooksSource() (*QuickBooksSource, bool)
45006	AsPrestoSource() (*PrestoSource, bool)
45007	AsPhoenixSource() (*PhoenixSource, bool)
45008	AsPaypalSource() (*PaypalSource, bool)
45009	AsMarketoSource() (*MarketoSource, bool)
45010	AsMariaDBSource() (*MariaDBSource, bool)
45011	AsMagentoSource() (*MagentoSource, bool)
45012	AsJiraSource() (*JiraSource, bool)
45013	AsImpalaSource() (*ImpalaSource, bool)
45014	AsHubspotSource() (*HubspotSource, bool)
45015	AsHiveSource() (*HiveSource, bool)
45016	AsHBaseSource() (*HBaseSource, bool)
45017	AsGreenplumSource() (*GreenplumSource, bool)
45018	AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool)
45019	AsEloquaSource() (*EloquaSource, bool)
45020	AsDrillSource() (*DrillSource, bool)
45021	AsCouchbaseSource() (*CouchbaseSource, bool)
45022	AsConcurSource() (*ConcurSource, bool)
45023	AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool)
45024	AsAmazonMWSSource() (*AmazonMWSSource, bool)
45025	AsHTTPSource() (*HTTPSource, bool)
45026	AsAzureBlobFSSource() (*AzureBlobFSSource, bool)
45027	AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool)
45028	AsOffice365Source() (*Office365Source, bool)
45029	AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool)
45030	AsMongoDbV2Source() (*MongoDbV2Source, bool)
45031	AsMongoDbSource() (*MongoDbSource, bool)
45032	AsCassandraSource() (*CassandraSource, bool)
45033	AsWebSource() (*WebSource, bool)
45034	AsTeradataSource() (*TeradataSource, bool)
45035	AsOracleSource() (*OracleSource, bool)
45036	AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool)
45037	AsAzureMySQLSource() (*AzureMySQLSource, bool)
45038	AsHdfsSource() (*HdfsSource, bool)
45039	AsFileSystemSource() (*FileSystemSource, bool)
45040	AsSQLDWSource() (*SQLDWSource, bool)
45041	AsSQLMISource() (*SQLMISource, bool)
45042	AsAzureSQLSource() (*AzureSQLSource, bool)
45043	AsSQLServerSource() (*SQLServerSource, bool)
45044	AsSQLSource() (*SQLSource, bool)
45045	AsRestSource() (*RestSource, bool)
45046	AsSapTableSource() (*SapTableSource, bool)
45047	AsSapOpenHubSource() (*SapOpenHubSource, bool)
45048	AsSapHanaSource() (*SapHanaSource, bool)
45049	AsSapEccSource() (*SapEccSource, bool)
45050	AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool)
45051	AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool)
45052	AsSalesforceSource() (*SalesforceSource, bool)
45053	AsODataSource() (*ODataSource, bool)
45054	AsSybaseSource() (*SybaseSource, bool)
45055	AsPostgreSQLSource() (*PostgreSQLSource, bool)
45056	AsMySQLSource() (*MySQLSource, bool)
45057	AsOdbcSource() (*OdbcSource, bool)
45058	AsDb2Source() (*Db2Source, bool)
45059	AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool)
45060	AsInformixSource() (*InformixSource, bool)
45061	AsRelationalSource() (*RelationalSource, bool)
45062	AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool)
45063	AsDynamicsCrmSource() (*DynamicsCrmSource, bool)
45064	AsDynamicsSource() (*DynamicsSource, bool)
45065	AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool)
45066	AsBlobSource() (*BlobSource, bool)
45067	AsAzureTableSource() (*AzureTableSource, bool)
45068	AsBinarySource() (*BinarySource, bool)
45069	AsDelimitedTextSource() (*DelimitedTextSource, bool)
45070	AsParquetSource() (*ParquetSource, bool)
45071	AsCopySource() (*CopySource, bool)
45072}
45073
45074// CopySource a copy activity source.
45075type CopySource struct {
45076	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
45077	AdditionalProperties map[string]interface{} `json:""`
45078	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
45079	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
45080	// 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])).
45081	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
45082	// MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer).
45083	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
45084	// Type - Possible values include: 'TypeCopySource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', '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', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeCassandraSource', 'TypeWebSource', 'TypeTeradataSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeAzureMySQLSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeRestSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceServiceCloudSource', 'TypeSalesforceSource', 'TypeODataSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeMicrosoftAccessSource', 'TypeInformixSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAzureTableSource', 'TypeBinarySource', 'TypeDelimitedTextSource', 'TypeParquetSource'
45085	Type TypeBasicCopySource `json:"type,omitempty"`
45086}
45087
45088func unmarshalBasicCopySource(body []byte) (BasicCopySource, error) {
45089	var m map[string]interface{}
45090	err := json.Unmarshal(body, &m)
45091	if err != nil {
45092		return nil, err
45093	}
45094
45095	switch m["type"] {
45096	case string(TypeAmazonRedshiftSource):
45097		var ars AmazonRedshiftSource
45098		err := json.Unmarshal(body, &ars)
45099		return ars, err
45100	case string(TypeGoogleAdWordsSource):
45101		var gaws GoogleAdWordsSource
45102		err := json.Unmarshal(body, &gaws)
45103		return gaws, err
45104	case string(TypeOracleServiceCloudSource):
45105		var oscs OracleServiceCloudSource
45106		err := json.Unmarshal(body, &oscs)
45107		return oscs, err
45108	case string(TypeDynamicsAXSource):
45109		var das DynamicsAXSource
45110		err := json.Unmarshal(body, &das)
45111		return das, err
45112	case string(TypeResponsysSource):
45113		var rs ResponsysSource
45114		err := json.Unmarshal(body, &rs)
45115		return rs, err
45116	case string(TypeSalesforceMarketingCloudSource):
45117		var smcs SalesforceMarketingCloudSource
45118		err := json.Unmarshal(body, &smcs)
45119		return smcs, err
45120	case string(TypeVerticaSource):
45121		var vs VerticaSource
45122		err := json.Unmarshal(body, &vs)
45123		return vs, err
45124	case string(TypeNetezzaSource):
45125		var ns NetezzaSource
45126		err := json.Unmarshal(body, &ns)
45127		return ns, err
45128	case string(TypeZohoSource):
45129		var zs ZohoSource
45130		err := json.Unmarshal(body, &zs)
45131		return zs, err
45132	case string(TypeXeroSource):
45133		var xs XeroSource
45134		err := json.Unmarshal(body, &xs)
45135		return xs, err
45136	case string(TypeSquareSource):
45137		var ss SquareSource
45138		err := json.Unmarshal(body, &ss)
45139		return ss, err
45140	case string(TypeSparkSource):
45141		var ss SparkSource
45142		err := json.Unmarshal(body, &ss)
45143		return ss, err
45144	case string(TypeShopifySource):
45145		var ss ShopifySource
45146		err := json.Unmarshal(body, &ss)
45147		return ss, err
45148	case string(TypeServiceNowSource):
45149		var sns ServiceNowSource
45150		err := json.Unmarshal(body, &sns)
45151		return sns, err
45152	case string(TypeQuickBooksSource):
45153		var qbs QuickBooksSource
45154		err := json.Unmarshal(body, &qbs)
45155		return qbs, err
45156	case string(TypePrestoSource):
45157		var ps PrestoSource
45158		err := json.Unmarshal(body, &ps)
45159		return ps, err
45160	case string(TypePhoenixSource):
45161		var ps PhoenixSource
45162		err := json.Unmarshal(body, &ps)
45163		return ps, err
45164	case string(TypePaypalSource):
45165		var ps PaypalSource
45166		err := json.Unmarshal(body, &ps)
45167		return ps, err
45168	case string(TypeMarketoSource):
45169		var ms MarketoSource
45170		err := json.Unmarshal(body, &ms)
45171		return ms, err
45172	case string(TypeMariaDBSource):
45173		var mds MariaDBSource
45174		err := json.Unmarshal(body, &mds)
45175		return mds, err
45176	case string(TypeMagentoSource):
45177		var ms MagentoSource
45178		err := json.Unmarshal(body, &ms)
45179		return ms, err
45180	case string(TypeJiraSource):
45181		var js JiraSource
45182		err := json.Unmarshal(body, &js)
45183		return js, err
45184	case string(TypeImpalaSource):
45185		var is ImpalaSource
45186		err := json.Unmarshal(body, &is)
45187		return is, err
45188	case string(TypeHubspotSource):
45189		var hs HubspotSource
45190		err := json.Unmarshal(body, &hs)
45191		return hs, err
45192	case string(TypeHiveSource):
45193		var hs HiveSource
45194		err := json.Unmarshal(body, &hs)
45195		return hs, err
45196	case string(TypeHBaseSource):
45197		var hbs HBaseSource
45198		err := json.Unmarshal(body, &hbs)
45199		return hbs, err
45200	case string(TypeGreenplumSource):
45201		var gs GreenplumSource
45202		err := json.Unmarshal(body, &gs)
45203		return gs, err
45204	case string(TypeGoogleBigQuerySource):
45205		var gbqs GoogleBigQuerySource
45206		err := json.Unmarshal(body, &gbqs)
45207		return gbqs, err
45208	case string(TypeEloquaSource):
45209		var es EloquaSource
45210		err := json.Unmarshal(body, &es)
45211		return es, err
45212	case string(TypeDrillSource):
45213		var ds DrillSource
45214		err := json.Unmarshal(body, &ds)
45215		return ds, err
45216	case string(TypeCouchbaseSource):
45217		var cs CouchbaseSource
45218		err := json.Unmarshal(body, &cs)
45219		return cs, err
45220	case string(TypeConcurSource):
45221		var cs ConcurSource
45222		err := json.Unmarshal(body, &cs)
45223		return cs, err
45224	case string(TypeAzurePostgreSQLSource):
45225		var apss AzurePostgreSQLSource
45226		err := json.Unmarshal(body, &apss)
45227		return apss, err
45228	case string(TypeAmazonMWSSource):
45229		var ams AmazonMWSSource
45230		err := json.Unmarshal(body, &ams)
45231		return ams, err
45232	case string(TypeHTTPSource):
45233		var hs HTTPSource
45234		err := json.Unmarshal(body, &hs)
45235		return hs, err
45236	case string(TypeAzureBlobFSSource):
45237		var abfs AzureBlobFSSource
45238		err := json.Unmarshal(body, &abfs)
45239		return abfs, err
45240	case string(TypeAzureDataLakeStoreSource):
45241		var adlss AzureDataLakeStoreSource
45242		err := json.Unmarshal(body, &adlss)
45243		return adlss, err
45244	case string(TypeOffice365Source):
45245		var o3s Office365Source
45246		err := json.Unmarshal(body, &o3s)
45247		return o3s, err
45248	case string(TypeCosmosDbMongoDbAPISource):
45249		var cdmdas CosmosDbMongoDbAPISource
45250		err := json.Unmarshal(body, &cdmdas)
45251		return cdmdas, err
45252	case string(TypeMongoDbV2Source):
45253		var mdvs MongoDbV2Source
45254		err := json.Unmarshal(body, &mdvs)
45255		return mdvs, err
45256	case string(TypeMongoDbSource):
45257		var mds MongoDbSource
45258		err := json.Unmarshal(body, &mds)
45259		return mds, err
45260	case string(TypeCassandraSource):
45261		var cs CassandraSource
45262		err := json.Unmarshal(body, &cs)
45263		return cs, err
45264	case string(TypeWebSource):
45265		var ws WebSource
45266		err := json.Unmarshal(body, &ws)
45267		return ws, err
45268	case string(TypeTeradataSource):
45269		var ts TeradataSource
45270		err := json.Unmarshal(body, &ts)
45271		return ts, err
45272	case string(TypeOracleSource):
45273		var osVar OracleSource
45274		err := json.Unmarshal(body, &osVar)
45275		return osVar, err
45276	case string(TypeAzureDataExplorerSource):
45277		var ades AzureDataExplorerSource
45278		err := json.Unmarshal(body, &ades)
45279		return ades, err
45280	case string(TypeAzureMySQLSource):
45281		var amss AzureMySQLSource
45282		err := json.Unmarshal(body, &amss)
45283		return amss, err
45284	case string(TypeHdfsSource):
45285		var hs HdfsSource
45286		err := json.Unmarshal(body, &hs)
45287		return hs, err
45288	case string(TypeFileSystemSource):
45289		var fss FileSystemSource
45290		err := json.Unmarshal(body, &fss)
45291		return fss, err
45292	case string(TypeSQLDWSource):
45293		var sds SQLDWSource
45294		err := json.Unmarshal(body, &sds)
45295		return sds, err
45296	case string(TypeSQLMISource):
45297		var sms SQLMISource
45298		err := json.Unmarshal(body, &sms)
45299		return sms, err
45300	case string(TypeAzureSQLSource):
45301		var ass AzureSQLSource
45302		err := json.Unmarshal(body, &ass)
45303		return ass, err
45304	case string(TypeSQLServerSource):
45305		var sss SQLServerSource
45306		err := json.Unmarshal(body, &sss)
45307		return sss, err
45308	case string(TypeSQLSource):
45309		var ss SQLSource
45310		err := json.Unmarshal(body, &ss)
45311		return ss, err
45312	case string(TypeRestSource):
45313		var rs RestSource
45314		err := json.Unmarshal(body, &rs)
45315		return rs, err
45316	case string(TypeSapTableSource):
45317		var sts SapTableSource
45318		err := json.Unmarshal(body, &sts)
45319		return sts, err
45320	case string(TypeSapOpenHubSource):
45321		var sohs SapOpenHubSource
45322		err := json.Unmarshal(body, &sohs)
45323		return sohs, err
45324	case string(TypeSapHanaSource):
45325		var shs SapHanaSource
45326		err := json.Unmarshal(body, &shs)
45327		return shs, err
45328	case string(TypeSapEccSource):
45329		var ses SapEccSource
45330		err := json.Unmarshal(body, &ses)
45331		return ses, err
45332	case string(TypeSapCloudForCustomerSource):
45333		var scfcs SapCloudForCustomerSource
45334		err := json.Unmarshal(body, &scfcs)
45335		return scfcs, err
45336	case string(TypeSalesforceServiceCloudSource):
45337		var sscs SalesforceServiceCloudSource
45338		err := json.Unmarshal(body, &sscs)
45339		return sscs, err
45340	case string(TypeSalesforceSource):
45341		var ss SalesforceSource
45342		err := json.Unmarshal(body, &ss)
45343		return ss, err
45344	case string(TypeODataSource):
45345		var ods ODataSource
45346		err := json.Unmarshal(body, &ods)
45347		return ods, err
45348	case string(TypeSybaseSource):
45349		var ss SybaseSource
45350		err := json.Unmarshal(body, &ss)
45351		return ss, err
45352	case string(TypePostgreSQLSource):
45353		var pss PostgreSQLSource
45354		err := json.Unmarshal(body, &pss)
45355		return pss, err
45356	case string(TypeMySQLSource):
45357		var mss MySQLSource
45358		err := json.Unmarshal(body, &mss)
45359		return mss, err
45360	case string(TypeOdbcSource):
45361		var osVar OdbcSource
45362		err := json.Unmarshal(body, &osVar)
45363		return osVar, err
45364	case string(TypeDb2Source):
45365		var d2s Db2Source
45366		err := json.Unmarshal(body, &d2s)
45367		return d2s, err
45368	case string(TypeMicrosoftAccessSource):
45369		var mas MicrosoftAccessSource
45370		err := json.Unmarshal(body, &mas)
45371		return mas, err
45372	case string(TypeInformixSource):
45373		var is InformixSource
45374		err := json.Unmarshal(body, &is)
45375		return is, err
45376	case string(TypeRelationalSource):
45377		var rs RelationalSource
45378		err := json.Unmarshal(body, &rs)
45379		return rs, err
45380	case string(TypeCommonDataServiceForAppsSource):
45381		var cdsfas CommonDataServiceForAppsSource
45382		err := json.Unmarshal(body, &cdsfas)
45383		return cdsfas, err
45384	case string(TypeDynamicsCrmSource):
45385		var dcs DynamicsCrmSource
45386		err := json.Unmarshal(body, &dcs)
45387		return dcs, err
45388	case string(TypeDynamicsSource):
45389		var ds DynamicsSource
45390		err := json.Unmarshal(body, &ds)
45391		return ds, err
45392	case string(TypeDocumentDbCollectionSource):
45393		var ddcs DocumentDbCollectionSource
45394		err := json.Unmarshal(body, &ddcs)
45395		return ddcs, err
45396	case string(TypeBlobSource):
45397		var bs BlobSource
45398		err := json.Unmarshal(body, &bs)
45399		return bs, err
45400	case string(TypeAzureTableSource):
45401		var ats AzureTableSource
45402		err := json.Unmarshal(body, &ats)
45403		return ats, err
45404	case string(TypeBinarySource):
45405		var bs BinarySource
45406		err := json.Unmarshal(body, &bs)
45407		return bs, err
45408	case string(TypeDelimitedTextSource):
45409		var dts DelimitedTextSource
45410		err := json.Unmarshal(body, &dts)
45411		return dts, err
45412	case string(TypeParquetSource):
45413		var ps ParquetSource
45414		err := json.Unmarshal(body, &ps)
45415		return ps, err
45416	default:
45417		var cs CopySource
45418		err := json.Unmarshal(body, &cs)
45419		return cs, err
45420	}
45421}
45422func unmarshalBasicCopySourceArray(body []byte) ([]BasicCopySource, error) {
45423	var rawMessages []*json.RawMessage
45424	err := json.Unmarshal(body, &rawMessages)
45425	if err != nil {
45426		return nil, err
45427	}
45428
45429	csArray := make([]BasicCopySource, len(rawMessages))
45430
45431	for index, rawMessage := range rawMessages {
45432		cs, err := unmarshalBasicCopySource(*rawMessage)
45433		if err != nil {
45434			return nil, err
45435		}
45436		csArray[index] = cs
45437	}
45438	return csArray, nil
45439}
45440
45441// MarshalJSON is the custom marshaler for CopySource.
45442func (cs CopySource) MarshalJSON() ([]byte, error) {
45443	cs.Type = TypeCopySource
45444	objectMap := make(map[string]interface{})
45445	if cs.SourceRetryCount != nil {
45446		objectMap["sourceRetryCount"] = cs.SourceRetryCount
45447	}
45448	if cs.SourceRetryWait != nil {
45449		objectMap["sourceRetryWait"] = cs.SourceRetryWait
45450	}
45451	if cs.MaxConcurrentConnections != nil {
45452		objectMap["maxConcurrentConnections"] = cs.MaxConcurrentConnections
45453	}
45454	if cs.Type != "" {
45455		objectMap["type"] = cs.Type
45456	}
45457	for k, v := range cs.AdditionalProperties {
45458		objectMap[k] = v
45459	}
45460	return json.Marshal(objectMap)
45461}
45462
45463// AsAmazonRedshiftSource is the BasicCopySource implementation for CopySource.
45464func (cs CopySource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
45465	return nil, false
45466}
45467
45468// AsGoogleAdWordsSource is the BasicCopySource implementation for CopySource.
45469func (cs CopySource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) {
45470	return nil, false
45471}
45472
45473// AsOracleServiceCloudSource is the BasicCopySource implementation for CopySource.
45474func (cs CopySource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) {
45475	return nil, false
45476}
45477
45478// AsDynamicsAXSource is the BasicCopySource implementation for CopySource.
45479func (cs CopySource) AsDynamicsAXSource() (*DynamicsAXSource, bool) {
45480	return nil, false
45481}
45482
45483// AsResponsysSource is the BasicCopySource implementation for CopySource.
45484func (cs CopySource) AsResponsysSource() (*ResponsysSource, bool) {
45485	return nil, false
45486}
45487
45488// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for CopySource.
45489func (cs CopySource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
45490	return nil, false
45491}
45492
45493// AsVerticaSource is the BasicCopySource implementation for CopySource.
45494func (cs CopySource) AsVerticaSource() (*VerticaSource, bool) {
45495	return nil, false
45496}
45497
45498// AsNetezzaSource is the BasicCopySource implementation for CopySource.
45499func (cs CopySource) AsNetezzaSource() (*NetezzaSource, bool) {
45500	return nil, false
45501}
45502
45503// AsZohoSource is the BasicCopySource implementation for CopySource.
45504func (cs CopySource) AsZohoSource() (*ZohoSource, bool) {
45505	return nil, false
45506}
45507
45508// AsXeroSource is the BasicCopySource implementation for CopySource.
45509func (cs CopySource) AsXeroSource() (*XeroSource, bool) {
45510	return nil, false
45511}
45512
45513// AsSquareSource is the BasicCopySource implementation for CopySource.
45514func (cs CopySource) AsSquareSource() (*SquareSource, bool) {
45515	return nil, false
45516}
45517
45518// AsSparkSource is the BasicCopySource implementation for CopySource.
45519func (cs CopySource) AsSparkSource() (*SparkSource, bool) {
45520	return nil, false
45521}
45522
45523// AsShopifySource is the BasicCopySource implementation for CopySource.
45524func (cs CopySource) AsShopifySource() (*ShopifySource, bool) {
45525	return nil, false
45526}
45527
45528// AsServiceNowSource is the BasicCopySource implementation for CopySource.
45529func (cs CopySource) AsServiceNowSource() (*ServiceNowSource, bool) {
45530	return nil, false
45531}
45532
45533// AsQuickBooksSource is the BasicCopySource implementation for CopySource.
45534func (cs CopySource) AsQuickBooksSource() (*QuickBooksSource, bool) {
45535	return nil, false
45536}
45537
45538// AsPrestoSource is the BasicCopySource implementation for CopySource.
45539func (cs CopySource) AsPrestoSource() (*PrestoSource, bool) {
45540	return nil, false
45541}
45542
45543// AsPhoenixSource is the BasicCopySource implementation for CopySource.
45544func (cs CopySource) AsPhoenixSource() (*PhoenixSource, bool) {
45545	return nil, false
45546}
45547
45548// AsPaypalSource is the BasicCopySource implementation for CopySource.
45549func (cs CopySource) AsPaypalSource() (*PaypalSource, bool) {
45550	return nil, false
45551}
45552
45553// AsMarketoSource is the BasicCopySource implementation for CopySource.
45554func (cs CopySource) AsMarketoSource() (*MarketoSource, bool) {
45555	return nil, false
45556}
45557
45558// AsMariaDBSource is the BasicCopySource implementation for CopySource.
45559func (cs CopySource) AsMariaDBSource() (*MariaDBSource, bool) {
45560	return nil, false
45561}
45562
45563// AsMagentoSource is the BasicCopySource implementation for CopySource.
45564func (cs CopySource) AsMagentoSource() (*MagentoSource, bool) {
45565	return nil, false
45566}
45567
45568// AsJiraSource is the BasicCopySource implementation for CopySource.
45569func (cs CopySource) AsJiraSource() (*JiraSource, bool) {
45570	return nil, false
45571}
45572
45573// AsImpalaSource is the BasicCopySource implementation for CopySource.
45574func (cs CopySource) AsImpalaSource() (*ImpalaSource, bool) {
45575	return nil, false
45576}
45577
45578// AsHubspotSource is the BasicCopySource implementation for CopySource.
45579func (cs CopySource) AsHubspotSource() (*HubspotSource, bool) {
45580	return nil, false
45581}
45582
45583// AsHiveSource is the BasicCopySource implementation for CopySource.
45584func (cs CopySource) AsHiveSource() (*HiveSource, bool) {
45585	return nil, false
45586}
45587
45588// AsHBaseSource is the BasicCopySource implementation for CopySource.
45589func (cs CopySource) AsHBaseSource() (*HBaseSource, bool) {
45590	return nil, false
45591}
45592
45593// AsGreenplumSource is the BasicCopySource implementation for CopySource.
45594func (cs CopySource) AsGreenplumSource() (*GreenplumSource, bool) {
45595	return nil, false
45596}
45597
45598// AsGoogleBigQuerySource is the BasicCopySource implementation for CopySource.
45599func (cs CopySource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
45600	return nil, false
45601}
45602
45603// AsEloquaSource is the BasicCopySource implementation for CopySource.
45604func (cs CopySource) AsEloquaSource() (*EloquaSource, bool) {
45605	return nil, false
45606}
45607
45608// AsDrillSource is the BasicCopySource implementation for CopySource.
45609func (cs CopySource) AsDrillSource() (*DrillSource, bool) {
45610	return nil, false
45611}
45612
45613// AsCouchbaseSource is the BasicCopySource implementation for CopySource.
45614func (cs CopySource) AsCouchbaseSource() (*CouchbaseSource, bool) {
45615	return nil, false
45616}
45617
45618// AsConcurSource is the BasicCopySource implementation for CopySource.
45619func (cs CopySource) AsConcurSource() (*ConcurSource, bool) {
45620	return nil, false
45621}
45622
45623// AsAzurePostgreSQLSource is the BasicCopySource implementation for CopySource.
45624func (cs CopySource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
45625	return nil, false
45626}
45627
45628// AsAmazonMWSSource is the BasicCopySource implementation for CopySource.
45629func (cs CopySource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
45630	return nil, false
45631}
45632
45633// AsHTTPSource is the BasicCopySource implementation for CopySource.
45634func (cs CopySource) AsHTTPSource() (*HTTPSource, bool) {
45635	return nil, false
45636}
45637
45638// AsAzureBlobFSSource is the BasicCopySource implementation for CopySource.
45639func (cs CopySource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) {
45640	return nil, false
45641}
45642
45643// AsAzureDataLakeStoreSource is the BasicCopySource implementation for CopySource.
45644func (cs CopySource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
45645	return nil, false
45646}
45647
45648// AsOffice365Source is the BasicCopySource implementation for CopySource.
45649func (cs CopySource) AsOffice365Source() (*Office365Source, bool) {
45650	return nil, false
45651}
45652
45653// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for CopySource.
45654func (cs CopySource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) {
45655	return nil, false
45656}
45657
45658// AsMongoDbV2Source is the BasicCopySource implementation for CopySource.
45659func (cs CopySource) AsMongoDbV2Source() (*MongoDbV2Source, bool) {
45660	return nil, false
45661}
45662
45663// AsMongoDbSource is the BasicCopySource implementation for CopySource.
45664func (cs CopySource) AsMongoDbSource() (*MongoDbSource, bool) {
45665	return nil, false
45666}
45667
45668// AsCassandraSource is the BasicCopySource implementation for CopySource.
45669func (cs CopySource) AsCassandraSource() (*CassandraSource, bool) {
45670	return nil, false
45671}
45672
45673// AsWebSource is the BasicCopySource implementation for CopySource.
45674func (cs CopySource) AsWebSource() (*WebSource, bool) {
45675	return nil, false
45676}
45677
45678// AsTeradataSource is the BasicCopySource implementation for CopySource.
45679func (cs CopySource) AsTeradataSource() (*TeradataSource, bool) {
45680	return nil, false
45681}
45682
45683// AsOracleSource is the BasicCopySource implementation for CopySource.
45684func (cs CopySource) AsOracleSource() (*OracleSource, bool) {
45685	return nil, false
45686}
45687
45688// AsAzureDataExplorerSource is the BasicCopySource implementation for CopySource.
45689func (cs CopySource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) {
45690	return nil, false
45691}
45692
45693// AsAzureMySQLSource is the BasicCopySource implementation for CopySource.
45694func (cs CopySource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
45695	return nil, false
45696}
45697
45698// AsHdfsSource is the BasicCopySource implementation for CopySource.
45699func (cs CopySource) AsHdfsSource() (*HdfsSource, bool) {
45700	return nil, false
45701}
45702
45703// AsFileSystemSource is the BasicCopySource implementation for CopySource.
45704func (cs CopySource) AsFileSystemSource() (*FileSystemSource, bool) {
45705	return nil, false
45706}
45707
45708// AsSQLDWSource is the BasicCopySource implementation for CopySource.
45709func (cs CopySource) AsSQLDWSource() (*SQLDWSource, bool) {
45710	return nil, false
45711}
45712
45713// AsSQLMISource is the BasicCopySource implementation for CopySource.
45714func (cs CopySource) AsSQLMISource() (*SQLMISource, bool) {
45715	return nil, false
45716}
45717
45718// AsAzureSQLSource is the BasicCopySource implementation for CopySource.
45719func (cs CopySource) AsAzureSQLSource() (*AzureSQLSource, bool) {
45720	return nil, false
45721}
45722
45723// AsSQLServerSource is the BasicCopySource implementation for CopySource.
45724func (cs CopySource) AsSQLServerSource() (*SQLServerSource, bool) {
45725	return nil, false
45726}
45727
45728// AsSQLSource is the BasicCopySource implementation for CopySource.
45729func (cs CopySource) AsSQLSource() (*SQLSource, bool) {
45730	return nil, false
45731}
45732
45733// AsRestSource is the BasicCopySource implementation for CopySource.
45734func (cs CopySource) AsRestSource() (*RestSource, bool) {
45735	return nil, false
45736}
45737
45738// AsSapTableSource is the BasicCopySource implementation for CopySource.
45739func (cs CopySource) AsSapTableSource() (*SapTableSource, bool) {
45740	return nil, false
45741}
45742
45743// AsSapOpenHubSource is the BasicCopySource implementation for CopySource.
45744func (cs CopySource) AsSapOpenHubSource() (*SapOpenHubSource, bool) {
45745	return nil, false
45746}
45747
45748// AsSapHanaSource is the BasicCopySource implementation for CopySource.
45749func (cs CopySource) AsSapHanaSource() (*SapHanaSource, bool) {
45750	return nil, false
45751}
45752
45753// AsSapEccSource is the BasicCopySource implementation for CopySource.
45754func (cs CopySource) AsSapEccSource() (*SapEccSource, bool) {
45755	return nil, false
45756}
45757
45758// AsSapCloudForCustomerSource is the BasicCopySource implementation for CopySource.
45759func (cs CopySource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
45760	return nil, false
45761}
45762
45763// AsSalesforceServiceCloudSource is the BasicCopySource implementation for CopySource.
45764func (cs CopySource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) {
45765	return nil, false
45766}
45767
45768// AsSalesforceSource is the BasicCopySource implementation for CopySource.
45769func (cs CopySource) AsSalesforceSource() (*SalesforceSource, bool) {
45770	return nil, false
45771}
45772
45773// AsODataSource is the BasicCopySource implementation for CopySource.
45774func (cs CopySource) AsODataSource() (*ODataSource, bool) {
45775	return nil, false
45776}
45777
45778// AsSybaseSource is the BasicCopySource implementation for CopySource.
45779func (cs CopySource) AsSybaseSource() (*SybaseSource, bool) {
45780	return nil, false
45781}
45782
45783// AsPostgreSQLSource is the BasicCopySource implementation for CopySource.
45784func (cs CopySource) AsPostgreSQLSource() (*PostgreSQLSource, bool) {
45785	return nil, false
45786}
45787
45788// AsMySQLSource is the BasicCopySource implementation for CopySource.
45789func (cs CopySource) AsMySQLSource() (*MySQLSource, bool) {
45790	return nil, false
45791}
45792
45793// AsOdbcSource is the BasicCopySource implementation for CopySource.
45794func (cs CopySource) AsOdbcSource() (*OdbcSource, bool) {
45795	return nil, false
45796}
45797
45798// AsDb2Source is the BasicCopySource implementation for CopySource.
45799func (cs CopySource) AsDb2Source() (*Db2Source, bool) {
45800	return nil, false
45801}
45802
45803// AsMicrosoftAccessSource is the BasicCopySource implementation for CopySource.
45804func (cs CopySource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) {
45805	return nil, false
45806}
45807
45808// AsInformixSource is the BasicCopySource implementation for CopySource.
45809func (cs CopySource) AsInformixSource() (*InformixSource, bool) {
45810	return nil, false
45811}
45812
45813// AsRelationalSource is the BasicCopySource implementation for CopySource.
45814func (cs CopySource) AsRelationalSource() (*RelationalSource, bool) {
45815	return nil, false
45816}
45817
45818// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for CopySource.
45819func (cs CopySource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) {
45820	return nil, false
45821}
45822
45823// AsDynamicsCrmSource is the BasicCopySource implementation for CopySource.
45824func (cs CopySource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) {
45825	return nil, false
45826}
45827
45828// AsDynamicsSource is the BasicCopySource implementation for CopySource.
45829func (cs CopySource) AsDynamicsSource() (*DynamicsSource, bool) {
45830	return nil, false
45831}
45832
45833// AsDocumentDbCollectionSource is the BasicCopySource implementation for CopySource.
45834func (cs CopySource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
45835	return nil, false
45836}
45837
45838// AsBlobSource is the BasicCopySource implementation for CopySource.
45839func (cs CopySource) AsBlobSource() (*BlobSource, bool) {
45840	return nil, false
45841}
45842
45843// AsAzureTableSource is the BasicCopySource implementation for CopySource.
45844func (cs CopySource) AsAzureTableSource() (*AzureTableSource, bool) {
45845	return nil, false
45846}
45847
45848// AsBinarySource is the BasicCopySource implementation for CopySource.
45849func (cs CopySource) AsBinarySource() (*BinarySource, bool) {
45850	return nil, false
45851}
45852
45853// AsDelimitedTextSource is the BasicCopySource implementation for CopySource.
45854func (cs CopySource) AsDelimitedTextSource() (*DelimitedTextSource, bool) {
45855	return nil, false
45856}
45857
45858// AsParquetSource is the BasicCopySource implementation for CopySource.
45859func (cs CopySource) AsParquetSource() (*ParquetSource, bool) {
45860	return nil, false
45861}
45862
45863// AsCopySource is the BasicCopySource implementation for CopySource.
45864func (cs CopySource) AsCopySource() (*CopySource, bool) {
45865	return &cs, true
45866}
45867
45868// AsBasicCopySource is the BasicCopySource implementation for CopySource.
45869func (cs CopySource) AsBasicCopySource() (BasicCopySource, bool) {
45870	return &cs, true
45871}
45872
45873// UnmarshalJSON is the custom unmarshaler for CopySource struct.
45874func (cs *CopySource) UnmarshalJSON(body []byte) error {
45875	var m map[string]*json.RawMessage
45876	err := json.Unmarshal(body, &m)
45877	if err != nil {
45878		return err
45879	}
45880	for k, v := range m {
45881		switch k {
45882		default:
45883			if v != nil {
45884				var additionalProperties interface{}
45885				err = json.Unmarshal(*v, &additionalProperties)
45886				if err != nil {
45887					return err
45888				}
45889				if cs.AdditionalProperties == nil {
45890					cs.AdditionalProperties = make(map[string]interface{})
45891				}
45892				cs.AdditionalProperties[k] = additionalProperties
45893			}
45894		case "sourceRetryCount":
45895			if v != nil {
45896				var sourceRetryCount interface{}
45897				err = json.Unmarshal(*v, &sourceRetryCount)
45898				if err != nil {
45899					return err
45900				}
45901				cs.SourceRetryCount = sourceRetryCount
45902			}
45903		case "sourceRetryWait":
45904			if v != nil {
45905				var sourceRetryWait interface{}
45906				err = json.Unmarshal(*v, &sourceRetryWait)
45907				if err != nil {
45908					return err
45909				}
45910				cs.SourceRetryWait = sourceRetryWait
45911			}
45912		case "maxConcurrentConnections":
45913			if v != nil {
45914				var maxConcurrentConnections interface{}
45915				err = json.Unmarshal(*v, &maxConcurrentConnections)
45916				if err != nil {
45917					return err
45918				}
45919				cs.MaxConcurrentConnections = maxConcurrentConnections
45920			}
45921		case "type":
45922			if v != nil {
45923				var typeVar TypeBasicCopySource
45924				err = json.Unmarshal(*v, &typeVar)
45925				if err != nil {
45926					return err
45927				}
45928				cs.Type = typeVar
45929			}
45930		}
45931	}
45932
45933	return nil
45934}
45935
45936// CosmosDbLinkedService microsoft Azure Cosmos Database (CosmosDB) linked service.
45937type CosmosDbLinkedService struct {
45938	// CosmosDbLinkedServiceTypeProperties - CosmosDB linked service properties.
45939	*CosmosDbLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
45940	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
45941	AdditionalProperties map[string]interface{} `json:""`
45942	// ConnectVia - The integration runtime reference.
45943	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
45944	// Description - Linked service description.
45945	Description *string `json:"description,omitempty"`
45946	// Parameters - Parameters for linked service.
45947	Parameters map[string]*ParameterSpecification `json:"parameters"`
45948	// Annotations - List of tags that can be used for describing the linked service.
45949	Annotations *[]interface{} `json:"annotations,omitempty"`
45950	// Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', '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', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage'
45951	Type TypeBasicLinkedService `json:"type,omitempty"`
45952}
45953
45954// MarshalJSON is the custom marshaler for CosmosDbLinkedService.
45955func (cdls CosmosDbLinkedService) MarshalJSON() ([]byte, error) {
45956	cdls.Type = TypeCosmosDb
45957	objectMap := make(map[string]interface{})
45958	if cdls.CosmosDbLinkedServiceTypeProperties != nil {
45959		objectMap["typeProperties"] = cdls.CosmosDbLinkedServiceTypeProperties
45960	}
45961	if cdls.ConnectVia != nil {
45962		objectMap["connectVia"] = cdls.ConnectVia
45963	}
45964	if cdls.Description != nil {
45965		objectMap["description"] = cdls.Description
45966	}
45967	if cdls.Parameters != nil {
45968		objectMap["parameters"] = cdls.Parameters
45969	}
45970	if cdls.Annotations != nil {
45971		objectMap["annotations"] = cdls.Annotations
45972	}
45973	if cdls.Type != "" {
45974		objectMap["type"] = cdls.Type
45975	}
45976	for k, v := range cdls.AdditionalProperties {
45977		objectMap[k] = v
45978	}
45979	return json.Marshal(objectMap)
45980}
45981
45982// AsAzureFunctionLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
45983func (cdls CosmosDbLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) {
45984	return nil, false
45985}
45986
45987// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
45988func (cdls CosmosDbLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) {
45989	return nil, false
45990}
45991
45992// AsSapTableLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
45993func (cdls CosmosDbLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) {
45994	return nil, false
45995}
45996
45997// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
45998func (cdls CosmosDbLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) {
45999	return nil, false
46000}
46001
46002// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
46003func (cdls CosmosDbLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) {
46004	return nil, false
46005}
46006
46007// AsDynamicsAXLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
46008func (cdls CosmosDbLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) {
46009	return nil, false
46010}
46011
46012// AsResponsysLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
46013func (cdls CosmosDbLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
46014	return nil, false
46015}
46016
46017// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
46018func (cdls CosmosDbLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
46019	return nil, false
46020}
46021
46022// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
46023func (cdls CosmosDbLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
46024	return nil, false
46025}
46026
46027// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
46028func (cdls CosmosDbLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
46029	return nil, false
46030}
46031
46032// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
46033func (cdls CosmosDbLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
46034	return nil, false
46035}
46036
46037// AsNetezzaLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
46038func (cdls CosmosDbLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
46039	return nil, false
46040}
46041
46042// AsVerticaLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
46043func (cdls CosmosDbLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
46044	return nil, false
46045}
46046
46047// AsZohoLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
46048func (cdls CosmosDbLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
46049	return nil, false
46050}
46051
46052// AsXeroLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
46053func (cdls CosmosDbLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
46054	return nil, false
46055}
46056
46057// AsSquareLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
46058func (cdls CosmosDbLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
46059	return nil, false
46060}
46061
46062// AsSparkLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
46063func (cdls CosmosDbLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
46064	return nil, false
46065}
46066
46067// AsShopifyLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
46068func (cdls CosmosDbLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
46069	return nil, false
46070}
46071
46072// AsServiceNowLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
46073func (cdls CosmosDbLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
46074	return nil, false
46075}
46076
46077// AsQuickBooksLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
46078func (cdls CosmosDbLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
46079	return nil, false
46080}
46081
46082// AsPrestoLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
46083func (cdls CosmosDbLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
46084	return nil, false
46085}
46086
46087// AsPhoenixLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
46088func (cdls CosmosDbLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
46089	return nil, false
46090}
46091
46092// AsPaypalLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
46093func (cdls CosmosDbLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
46094	return nil, false
46095}
46096
46097// AsMarketoLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
46098func (cdls CosmosDbLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
46099	return nil, false
46100}
46101
46102// AsMariaDBLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
46103func (cdls CosmosDbLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
46104	return nil, false
46105}
46106
46107// AsMagentoLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
46108func (cdls CosmosDbLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
46109	return nil, false
46110}
46111
46112// AsJiraLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
46113func (cdls CosmosDbLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
46114	return nil, false
46115}
46116
46117// AsImpalaLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
46118func (cdls CosmosDbLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
46119	return nil, false
46120}
46121
46122// AsHubspotLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
46123func (cdls CosmosDbLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
46124	return nil, false
46125}
46126
46127// AsHiveLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
46128func (cdls CosmosDbLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
46129	return nil, false
46130}
46131
46132// AsHBaseLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
46133func (cdls CosmosDbLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
46134	return nil, false
46135}
46136
46137// AsGreenplumLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
46138func (cdls CosmosDbLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
46139	return nil, false
46140}
46141
46142// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
46143func (cdls CosmosDbLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
46144	return nil, false
46145}
46146
46147// AsEloquaLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
46148func (cdls CosmosDbLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
46149	return nil, false
46150}
46151
46152// AsDrillLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
46153func (cdls CosmosDbLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
46154	return nil, false
46155}
46156
46157// AsCouchbaseLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
46158func (cdls CosmosDbLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
46159	return nil, false
46160}
46161
46162// AsConcurLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
46163func (cdls CosmosDbLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
46164	return nil, false
46165}
46166
46167// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
46168func (cdls CosmosDbLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
46169	return nil, false
46170}
46171
46172// AsAmazonMWSLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
46173func (cdls CosmosDbLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
46174	return nil, false
46175}
46176
46177// AsSapHanaLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
46178func (cdls CosmosDbLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
46179	return nil, false
46180}
46181
46182// AsSapBWLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
46183func (cdls CosmosDbLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
46184	return nil, false
46185}
46186
46187// AsSftpServerLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
46188func (cdls CosmosDbLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
46189	return nil, false
46190}
46191
46192// AsFtpServerLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
46193func (cdls CosmosDbLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
46194	return nil, false
46195}
46196
46197// AsHTTPLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
46198func (cdls CosmosDbLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
46199	return nil, false
46200}
46201
46202// AsAzureSearchLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
46203func (cdls CosmosDbLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
46204	return nil, false
46205}
46206
46207// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
46208func (cdls CosmosDbLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
46209	return nil, false
46210}
46211
46212// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
46213func (cdls CosmosDbLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
46214	return nil, false
46215}
46216
46217// AsAmazonS3LinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
46218func (cdls CosmosDbLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
46219	return nil, false
46220}
46221
46222// AsRestServiceLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
46223func (cdls CosmosDbLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) {
46224	return nil, false
46225}
46226
46227// AsSapOpenHubLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
46228func (cdls CosmosDbLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) {
46229	return nil, false
46230}
46231
46232// AsSapEccLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
46233func (cdls CosmosDbLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
46234	return nil, false
46235}
46236
46237// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
46238func (cdls CosmosDbLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
46239	return nil, false
46240}
46241
46242// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
46243func (cdls CosmosDbLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) {
46244	return nil, false
46245}
46246
46247// AsSalesforceLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
46248func (cdls CosmosDbLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
46249	return nil, false
46250}
46251
46252// AsOffice365LinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
46253func (cdls CosmosDbLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) {
46254	return nil, false
46255}
46256
46257// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
46258func (cdls CosmosDbLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) {
46259	return nil, false
46260}
46261
46262// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
46263func (cdls CosmosDbLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
46264	return nil, false
46265}
46266
46267// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
46268func (cdls CosmosDbLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) {
46269	return nil, false
46270}
46271
46272// AsMongoDbV2LinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
46273func (cdls CosmosDbLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) {
46274	return nil, false
46275}
46276
46277// AsMongoDbLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
46278func (cdls CosmosDbLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
46279	return nil, false
46280}
46281
46282// AsCassandraLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
46283func (cdls CosmosDbLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
46284	return nil, false
46285}
46286
46287// AsWebLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
46288func (cdls CosmosDbLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
46289	return nil, false
46290}
46291
46292// AsODataLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
46293func (cdls CosmosDbLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
46294	return nil, false
46295}
46296
46297// AsHdfsLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
46298func (cdls CosmosDbLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
46299	return nil, false
46300}
46301
46302// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
46303func (cdls CosmosDbLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) {
46304	return nil, false
46305}
46306
46307// AsInformixLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
46308func (cdls CosmosDbLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) {
46309	return nil, false
46310}
46311
46312// AsOdbcLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
46313func (cdls CosmosDbLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
46314	return nil, false
46315}
46316
46317// AsAzureMLLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
46318func (cdls CosmosDbLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
46319	return nil, false
46320}
46321
46322// AsTeradataLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
46323func (cdls CosmosDbLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
46324	return nil, false
46325}
46326
46327// AsDb2LinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
46328func (cdls CosmosDbLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
46329	return nil, false
46330}
46331
46332// AsSybaseLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
46333func (cdls CosmosDbLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
46334	return nil, false
46335}
46336
46337// AsPostgreSQLLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
46338func (cdls CosmosDbLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
46339	return nil, false
46340}
46341
46342// AsMySQLLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
46343func (cdls CosmosDbLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
46344	return nil, false
46345}
46346
46347// AsAzureMySQLLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
46348func (cdls CosmosDbLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
46349	return nil, false
46350}
46351
46352// AsOracleLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
46353func (cdls CosmosDbLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
46354	return nil, false
46355}
46356
46357// AsFileServerLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
46358func (cdls CosmosDbLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
46359	return nil, false
46360}
46361
46362// AsHDInsightLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
46363func (cdls CosmosDbLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
46364	return nil, false
46365}
46366
46367// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
46368func (cdls CosmosDbLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) {
46369	return nil, false
46370}
46371
46372// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
46373func (cdls CosmosDbLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) {
46374	return nil, false
46375}
46376
46377// AsDynamicsLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
46378func (cdls CosmosDbLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
46379	return nil, false
46380}
46381
46382// AsCosmosDbLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
46383func (cdls CosmosDbLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
46384	return &cdls, true
46385}
46386
46387// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
46388func (cdls CosmosDbLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
46389	return nil, false
46390}
46391
46392// AsAzureBatchLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
46393func (cdls CosmosDbLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
46394	return nil, false
46395}
46396
46397// AsAzureSQLMILinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
46398func (cdls CosmosDbLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) {
46399	return nil, false
46400}
46401
46402// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
46403func (cdls CosmosDbLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
46404	return nil, false
46405}
46406
46407// AsSQLServerLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
46408func (cdls CosmosDbLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
46409	return nil, false
46410}
46411
46412// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
46413func (cdls CosmosDbLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
46414	return nil, false
46415}
46416
46417// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
46418func (cdls CosmosDbLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) {
46419	return nil, false
46420}
46421
46422// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
46423func (cdls CosmosDbLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) {
46424	return nil, false
46425}
46426
46427// AsAzureStorageLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
46428func (cdls CosmosDbLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
46429	return nil, false
46430}
46431
46432// AsLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
46433func (cdls CosmosDbLinkedService) AsLinkedService() (*LinkedService, bool) {
46434	return nil, false
46435}
46436
46437// AsBasicLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
46438func (cdls CosmosDbLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
46439	return &cdls, true
46440}
46441
46442// UnmarshalJSON is the custom unmarshaler for CosmosDbLinkedService struct.
46443func (cdls *CosmosDbLinkedService) UnmarshalJSON(body []byte) error {
46444	var m map[string]*json.RawMessage
46445	err := json.Unmarshal(body, &m)
46446	if err != nil {
46447		return err
46448	}
46449	for k, v := range m {
46450		switch k {
46451		case "typeProperties":
46452			if v != nil {
46453				var cosmosDbLinkedServiceTypeProperties CosmosDbLinkedServiceTypeProperties
46454				err = json.Unmarshal(*v, &cosmosDbLinkedServiceTypeProperties)
46455				if err != nil {
46456					return err
46457				}
46458				cdls.CosmosDbLinkedServiceTypeProperties = &cosmosDbLinkedServiceTypeProperties
46459			}
46460		default:
46461			if v != nil {
46462				var additionalProperties interface{}
46463				err = json.Unmarshal(*v, &additionalProperties)
46464				if err != nil {
46465					return err
46466				}
46467				if cdls.AdditionalProperties == nil {
46468					cdls.AdditionalProperties = make(map[string]interface{})
46469				}
46470				cdls.AdditionalProperties[k] = additionalProperties
46471			}
46472		case "connectVia":
46473			if v != nil {
46474				var connectVia IntegrationRuntimeReference
46475				err = json.Unmarshal(*v, &connectVia)
46476				if err != nil {
46477					return err
46478				}
46479				cdls.ConnectVia = &connectVia
46480			}
46481		case "description":
46482			if v != nil {
46483				var description string
46484				err = json.Unmarshal(*v, &description)
46485				if err != nil {
46486					return err
46487				}
46488				cdls.Description = &description
46489			}
46490		case "parameters":
46491			if v != nil {
46492				var parameters map[string]*ParameterSpecification
46493				err = json.Unmarshal(*v, &parameters)
46494				if err != nil {
46495					return err
46496				}
46497				cdls.Parameters = parameters
46498			}
46499		case "annotations":
46500			if v != nil {
46501				var annotations []interface{}
46502				err = json.Unmarshal(*v, &annotations)
46503				if err != nil {
46504					return err
46505				}
46506				cdls.Annotations = &annotations
46507			}
46508		case "type":
46509			if v != nil {
46510				var typeVar TypeBasicLinkedService
46511				err = json.Unmarshal(*v, &typeVar)
46512				if err != nil {
46513					return err
46514				}
46515				cdls.Type = typeVar
46516			}
46517		}
46518	}
46519
46520	return nil
46521}
46522
46523// CosmosDbLinkedServiceTypeProperties cosmosDB linked service properties.
46524type CosmosDbLinkedServiceTypeProperties struct {
46525	// ConnectionString - The connection string. Type: string, SecureString or AzureKeyVaultSecretReference.
46526	ConnectionString interface{} `json:"connectionString,omitempty"`
46527	// AccountKey - The Azure key vault secret reference of accountKey in connection string.
46528	AccountKey *AzureKeyVaultSecretReference `json:"accountKey,omitempty"`
46529	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
46530	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
46531}
46532
46533// CosmosDbMongoDbAPICollectionDataset the CosmosDB (MongoDB API) database dataset.
46534type CosmosDbMongoDbAPICollectionDataset struct {
46535	// CosmosDbMongoDbAPICollectionDatasetTypeProperties - CosmosDB (MongoDB API) database dataset properties.
46536	*CosmosDbMongoDbAPICollectionDatasetTypeProperties `json:"typeProperties,omitempty"`
46537	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
46538	AdditionalProperties map[string]interface{} `json:""`
46539	// Description - Dataset description.
46540	Description *string `json:"description,omitempty"`
46541	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
46542	Structure interface{} `json:"structure,omitempty"`
46543	// Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement.
46544	Schema interface{} `json:"schema,omitempty"`
46545	// LinkedServiceName - Linked service reference.
46546	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
46547	// Parameters - Parameters for dataset.
46548	Parameters map[string]*ParameterSpecification `json:"parameters"`
46549	// Annotations - List of tags that can be used for describing the Dataset.
46550	Annotations *[]interface{} `json:"annotations,omitempty"`
46551	// Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level.
46552	Folder *DatasetFolder `json:"folder,omitempty"`
46553	// Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', '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', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeDelimitedText', 'TypeParquet', 'TypeAmazonS3Object'
46554	Type TypeBasicDataset `json:"type,omitempty"`
46555}
46556
46557// MarshalJSON is the custom marshaler for CosmosDbMongoDbAPICollectionDataset.
46558func (cdmdacd CosmosDbMongoDbAPICollectionDataset) MarshalJSON() ([]byte, error) {
46559	cdmdacd.Type = TypeCosmosDbMongoDbAPICollection
46560	objectMap := make(map[string]interface{})
46561	if cdmdacd.CosmosDbMongoDbAPICollectionDatasetTypeProperties != nil {
46562		objectMap["typeProperties"] = cdmdacd.CosmosDbMongoDbAPICollectionDatasetTypeProperties
46563	}
46564	if cdmdacd.Description != nil {
46565		objectMap["description"] = cdmdacd.Description
46566	}
46567	if cdmdacd.Structure != nil {
46568		objectMap["structure"] = cdmdacd.Structure
46569	}
46570	if cdmdacd.Schema != nil {
46571		objectMap["schema"] = cdmdacd.Schema
46572	}
46573	if cdmdacd.LinkedServiceName != nil {
46574		objectMap["linkedServiceName"] = cdmdacd.LinkedServiceName
46575	}
46576	if cdmdacd.Parameters != nil {
46577		objectMap["parameters"] = cdmdacd.Parameters
46578	}
46579	if cdmdacd.Annotations != nil {
46580		objectMap["annotations"] = cdmdacd.Annotations
46581	}
46582	if cdmdacd.Folder != nil {
46583		objectMap["folder"] = cdmdacd.Folder
46584	}
46585	if cdmdacd.Type != "" {
46586		objectMap["type"] = cdmdacd.Type
46587	}
46588	for k, v := range cdmdacd.AdditionalProperties {
46589		objectMap[k] = v
46590	}
46591	return json.Marshal(objectMap)
46592}
46593
46594// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset.
46595func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) {
46596	return nil, false
46597}
46598
46599// AsAzureDataExplorerTableDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset.
46600func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) {
46601	return nil, false
46602}
46603
46604// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset.
46605func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) {
46606	return nil, false
46607}
46608
46609// AsDynamicsAXResourceDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset.
46610func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) {
46611	return nil, false
46612}
46613
46614// AsResponsysObjectDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset.
46615func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
46616	return nil, false
46617}
46618
46619// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset.
46620func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
46621	return nil, false
46622}
46623
46624// AsVerticaTableDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset.
46625func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
46626	return nil, false
46627}
46628
46629// AsNetezzaTableDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset.
46630func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
46631	return nil, false
46632}
46633
46634// AsZohoObjectDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset.
46635func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
46636	return nil, false
46637}
46638
46639// AsXeroObjectDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset.
46640func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
46641	return nil, false
46642}
46643
46644// AsSquareObjectDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset.
46645func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
46646	return nil, false
46647}
46648
46649// AsSparkObjectDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset.
46650func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
46651	return nil, false
46652}
46653
46654// AsShopifyObjectDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset.
46655func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
46656	return nil, false
46657}
46658
46659// AsServiceNowObjectDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset.
46660func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
46661	return nil, false
46662}
46663
46664// AsQuickBooksObjectDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset.
46665func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
46666	return nil, false
46667}
46668
46669// AsPrestoObjectDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset.
46670func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
46671	return nil, false
46672}
46673
46674// AsPhoenixObjectDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset.
46675func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
46676	return nil, false
46677}
46678
46679// AsPaypalObjectDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset.
46680func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
46681	return nil, false
46682}
46683
46684// AsMarketoObjectDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset.
46685func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
46686	return nil, false
46687}
46688
46689// AsMariaDBTableDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset.
46690func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
46691	return nil, false
46692}
46693
46694// AsMagentoObjectDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset.
46695func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
46696	return nil, false
46697}
46698
46699// AsJiraObjectDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset.
46700func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
46701	return nil, false
46702}
46703
46704// AsImpalaObjectDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset.
46705func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
46706	return nil, false
46707}
46708
46709// AsHubspotObjectDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset.
46710func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
46711	return nil, false
46712}
46713
46714// AsHiveObjectDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset.
46715func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
46716	return nil, false
46717}
46718
46719// AsHBaseObjectDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset.
46720func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
46721	return nil, false
46722}
46723
46724// AsGreenplumTableDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset.
46725func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
46726	return nil, false
46727}
46728
46729// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset.
46730func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
46731	return nil, false
46732}
46733
46734// AsEloquaObjectDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset.
46735func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
46736	return nil, false
46737}
46738
46739// AsDrillTableDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset.
46740func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
46741	return nil, false
46742}
46743
46744// AsCouchbaseTableDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset.
46745func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
46746	return nil, false
46747}
46748
46749// AsConcurObjectDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset.
46750func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
46751	return nil, false
46752}
46753
46754// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset.
46755func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
46756	return nil, false
46757}
46758
46759// AsAmazonMWSObjectDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset.
46760func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
46761	return nil, false
46762}
46763
46764// AsHTTPDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset.
46765func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsHTTPDataset() (*HTTPDataset, bool) {
46766	return nil, false
46767}
46768
46769// AsAzureSearchIndexDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset.
46770func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
46771	return nil, false
46772}
46773
46774// AsWebTableDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset.
46775func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsWebTableDataset() (*WebTableDataset, bool) {
46776	return nil, false
46777}
46778
46779// AsSapTableResourceDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset.
46780func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) {
46781	return nil, false
46782}
46783
46784// AsRestResourceDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset.
46785func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsRestResourceDataset() (*RestResourceDataset, bool) {
46786	return nil, false
46787}
46788
46789// AsSQLServerTableDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset.
46790func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
46791	return nil, false
46792}
46793
46794// AsSapOpenHubTableDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset.
46795func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) {
46796	return nil, false
46797}
46798
46799// AsSapHanaTableDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset.
46800func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) {
46801	return nil, false
46802}
46803
46804// AsSapEccResourceDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset.
46805func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
46806	return nil, false
46807}
46808
46809// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset.
46810func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
46811	return nil, false
46812}
46813
46814// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset.
46815func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) {
46816	return nil, false
46817}
46818
46819// AsSalesforceObjectDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset.
46820func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
46821	return nil, false
46822}
46823
46824// AsMicrosoftAccessTableDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset.
46825func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) {
46826	return nil, false
46827}
46828
46829// AsPostgreSQLTableDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset.
46830func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) {
46831	return nil, false
46832}
46833
46834// AsMySQLTableDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset.
46835func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) {
46836	return nil, false
46837}
46838
46839// AsOdbcTableDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset.
46840func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) {
46841	return nil, false
46842}
46843
46844// AsInformixTableDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset.
46845func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsInformixTableDataset() (*InformixTableDataset, bool) {
46846	return nil, false
46847}
46848
46849// AsRelationalTableDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset.
46850func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
46851	return nil, false
46852}
46853
46854// AsAzureMySQLTableDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset.
46855func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
46856	return nil, false
46857}
46858
46859// AsTeradataTableDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset.
46860func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) {
46861	return nil, false
46862}
46863
46864// AsOracleTableDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset.
46865func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
46866	return nil, false
46867}
46868
46869// AsODataResourceDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset.
46870func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
46871	return nil, false
46872}
46873
46874// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset.
46875func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) {
46876	return &cdmdacd, true
46877}
46878
46879// AsMongoDbV2CollectionDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset.
46880func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) {
46881	return nil, false
46882}
46883
46884// AsMongoDbCollectionDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset.
46885func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
46886	return nil, false
46887}
46888
46889// AsFileShareDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset.
46890func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsFileShareDataset() (*FileShareDataset, bool) {
46891	return nil, false
46892}
46893
46894// AsOffice365Dataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset.
46895func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsOffice365Dataset() (*Office365Dataset, bool) {
46896	return nil, false
46897}
46898
46899// AsAzureBlobFSDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset.
46900func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsAzureBlobFSDataset() (*AzureBlobFSDataset, bool) {
46901	return nil, false
46902}
46903
46904// AsAzureDataLakeStoreDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset.
46905func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) {
46906	return nil, false
46907}
46908
46909// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset.
46910func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) {
46911	return nil, false
46912}
46913
46914// AsDynamicsCrmEntityDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset.
46915func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) {
46916	return nil, false
46917}
46918
46919// AsDynamicsEntityDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset.
46920func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
46921	return nil, false
46922}
46923
46924// AsDocumentDbCollectionDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset.
46925func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
46926	return nil, false
46927}
46928
46929// AsCustomDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset.
46930func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsCustomDataset() (*CustomDataset, bool) {
46931	return nil, false
46932}
46933
46934// AsCassandraTableDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset.
46935func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
46936	return nil, false
46937}
46938
46939// AsAzureSQLDWTableDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset.
46940func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
46941	return nil, false
46942}
46943
46944// AsAzureSQLMITableDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset.
46945func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) {
46946	return nil, false
46947}
46948
46949// AsAzureSQLTableDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset.
46950func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
46951	return nil, false
46952}
46953
46954// AsAzureTableDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset.
46955func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
46956	return nil, false
46957}
46958
46959// AsAzureBlobDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset.
46960func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) {
46961	return nil, false
46962}
46963
46964// AsBinaryDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset.
46965func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsBinaryDataset() (*BinaryDataset, bool) {
46966	return nil, false
46967}
46968
46969// AsDelimitedTextDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset.
46970func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) {
46971	return nil, false
46972}
46973
46974// AsParquetDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset.
46975func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsParquetDataset() (*ParquetDataset, bool) {
46976	return nil, false
46977}
46978
46979// AsAmazonS3Dataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset.
46980func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) {
46981	return nil, false
46982}
46983
46984// AsDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset.
46985func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsDataset() (*Dataset, bool) {
46986	return nil, false
46987}
46988
46989// AsBasicDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset.
46990func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsBasicDataset() (BasicDataset, bool) {
46991	return &cdmdacd, true
46992}
46993
46994// UnmarshalJSON is the custom unmarshaler for CosmosDbMongoDbAPICollectionDataset struct.
46995func (cdmdacd *CosmosDbMongoDbAPICollectionDataset) UnmarshalJSON(body []byte) error {
46996	var m map[string]*json.RawMessage
46997	err := json.Unmarshal(body, &m)
46998	if err != nil {
46999		return err
47000	}
47001	for k, v := range m {
47002		switch k {
47003		case "typeProperties":
47004			if v != nil {
47005				var cosmosDbMongoDbAPICollectionDatasetTypeProperties CosmosDbMongoDbAPICollectionDatasetTypeProperties
47006				err = json.Unmarshal(*v, &cosmosDbMongoDbAPICollectionDatasetTypeProperties)
47007				if err != nil {
47008					return err
47009				}
47010				cdmdacd.CosmosDbMongoDbAPICollectionDatasetTypeProperties = &cosmosDbMongoDbAPICollectionDatasetTypeProperties
47011			}
47012		default:
47013			if v != nil {
47014				var additionalProperties interface{}
47015				err = json.Unmarshal(*v, &additionalProperties)
47016				if err != nil {
47017					return err
47018				}
47019				if cdmdacd.AdditionalProperties == nil {
47020					cdmdacd.AdditionalProperties = make(map[string]interface{})
47021				}
47022				cdmdacd.AdditionalProperties[k] = additionalProperties
47023			}
47024		case "description":
47025			if v != nil {
47026				var description string
47027				err = json.Unmarshal(*v, &description)
47028				if err != nil {
47029					return err
47030				}
47031				cdmdacd.Description = &description
47032			}
47033		case "structure":
47034			if v != nil {
47035				var structure interface{}
47036				err = json.Unmarshal(*v, &structure)
47037				if err != nil {
47038					return err
47039				}
47040				cdmdacd.Structure = structure
47041			}
47042		case "schema":
47043			if v != nil {
47044				var schema interface{}
47045				err = json.Unmarshal(*v, &schema)
47046				if err != nil {
47047					return err
47048				}
47049				cdmdacd.Schema = schema
47050			}
47051		case "linkedServiceName":
47052			if v != nil {
47053				var linkedServiceName LinkedServiceReference
47054				err = json.Unmarshal(*v, &linkedServiceName)
47055				if err != nil {
47056					return err
47057				}
47058				cdmdacd.LinkedServiceName = &linkedServiceName
47059			}
47060		case "parameters":
47061			if v != nil {
47062				var parameters map[string]*ParameterSpecification
47063				err = json.Unmarshal(*v, &parameters)
47064				if err != nil {
47065					return err
47066				}
47067				cdmdacd.Parameters = parameters
47068			}
47069		case "annotations":
47070			if v != nil {
47071				var annotations []interface{}
47072				err = json.Unmarshal(*v, &annotations)
47073				if err != nil {
47074					return err
47075				}
47076				cdmdacd.Annotations = &annotations
47077			}
47078		case "folder":
47079			if v != nil {
47080				var folder DatasetFolder
47081				err = json.Unmarshal(*v, &folder)
47082				if err != nil {
47083					return err
47084				}
47085				cdmdacd.Folder = &folder
47086			}
47087		case "type":
47088			if v != nil {
47089				var typeVar TypeBasicDataset
47090				err = json.Unmarshal(*v, &typeVar)
47091				if err != nil {
47092					return err
47093				}
47094				cdmdacd.Type = typeVar
47095			}
47096		}
47097	}
47098
47099	return nil
47100}
47101
47102// CosmosDbMongoDbAPICollectionDatasetTypeProperties cosmosDB (MongoDB API) database dataset properties.
47103type CosmosDbMongoDbAPICollectionDatasetTypeProperties struct {
47104	// Collection - The collection name of the CosmosDB (MongoDB API) database. Type: string (or Expression with resultType string).
47105	Collection interface{} `json:"collection,omitempty"`
47106}
47107
47108// CosmosDbMongoDbAPILinkedService linked service for CosmosDB (MongoDB API) data source.
47109type CosmosDbMongoDbAPILinkedService struct {
47110	// CosmosDbMongoDbAPILinkedServiceTypeProperties - CosmosDB (MongoDB API) linked service properties.
47111	*CosmosDbMongoDbAPILinkedServiceTypeProperties `json:"typeProperties,omitempty"`
47112	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
47113	AdditionalProperties map[string]interface{} `json:""`
47114	// ConnectVia - The integration runtime reference.
47115	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
47116	// Description - Linked service description.
47117	Description *string `json:"description,omitempty"`
47118	// Parameters - Parameters for linked service.
47119	Parameters map[string]*ParameterSpecification `json:"parameters"`
47120	// Annotations - List of tags that can be used for describing the linked service.
47121	Annotations *[]interface{} `json:"annotations,omitempty"`
47122	// Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', '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', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage'
47123	Type TypeBasicLinkedService `json:"type,omitempty"`
47124}
47125
47126// MarshalJSON is the custom marshaler for CosmosDbMongoDbAPILinkedService.
47127func (cdmdals CosmosDbMongoDbAPILinkedService) MarshalJSON() ([]byte, error) {
47128	cdmdals.Type = TypeCosmosDbMongoDbAPI
47129	objectMap := make(map[string]interface{})
47130	if cdmdals.CosmosDbMongoDbAPILinkedServiceTypeProperties != nil {
47131		objectMap["typeProperties"] = cdmdals.CosmosDbMongoDbAPILinkedServiceTypeProperties
47132	}
47133	if cdmdals.ConnectVia != nil {
47134		objectMap["connectVia"] = cdmdals.ConnectVia
47135	}
47136	if cdmdals.Description != nil {
47137		objectMap["description"] = cdmdals.Description
47138	}
47139	if cdmdals.Parameters != nil {
47140		objectMap["parameters"] = cdmdals.Parameters
47141	}
47142	if cdmdals.Annotations != nil {
47143		objectMap["annotations"] = cdmdals.Annotations
47144	}
47145	if cdmdals.Type != "" {
47146		objectMap["type"] = cdmdals.Type
47147	}
47148	for k, v := range cdmdals.AdditionalProperties {
47149		objectMap[k] = v
47150	}
47151	return json.Marshal(objectMap)
47152}
47153
47154// AsAzureFunctionLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService.
47155func (cdmdals CosmosDbMongoDbAPILinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) {
47156	return nil, false
47157}
47158
47159// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService.
47160func (cdmdals CosmosDbMongoDbAPILinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) {
47161	return nil, false
47162}
47163
47164// AsSapTableLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService.
47165func (cdmdals CosmosDbMongoDbAPILinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) {
47166	return nil, false
47167}
47168
47169// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService.
47170func (cdmdals CosmosDbMongoDbAPILinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) {
47171	return nil, false
47172}
47173
47174// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService.
47175func (cdmdals CosmosDbMongoDbAPILinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) {
47176	return nil, false
47177}
47178
47179// AsDynamicsAXLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService.
47180func (cdmdals CosmosDbMongoDbAPILinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) {
47181	return nil, false
47182}
47183
47184// AsResponsysLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService.
47185func (cdmdals CosmosDbMongoDbAPILinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
47186	return nil, false
47187}
47188
47189// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService.
47190func (cdmdals CosmosDbMongoDbAPILinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
47191	return nil, false
47192}
47193
47194// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService.
47195func (cdmdals CosmosDbMongoDbAPILinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
47196	return nil, false
47197}
47198
47199// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService.
47200func (cdmdals CosmosDbMongoDbAPILinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
47201	return nil, false
47202}
47203
47204// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService.
47205func (cdmdals CosmosDbMongoDbAPILinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
47206	return nil, false
47207}
47208
47209// AsNetezzaLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService.
47210func (cdmdals CosmosDbMongoDbAPILinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
47211	return nil, false
47212}
47213
47214// AsVerticaLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService.
47215func (cdmdals CosmosDbMongoDbAPILinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
47216	return nil, false
47217}
47218
47219// AsZohoLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService.
47220func (cdmdals CosmosDbMongoDbAPILinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
47221	return nil, false
47222}
47223
47224// AsXeroLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService.
47225func (cdmdals CosmosDbMongoDbAPILinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
47226	return nil, false
47227}
47228
47229// AsSquareLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService.
47230func (cdmdals CosmosDbMongoDbAPILinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
47231	return nil, false
47232}
47233
47234// AsSparkLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService.
47235func (cdmdals CosmosDbMongoDbAPILinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
47236	return nil, false
47237}
47238
47239// AsShopifyLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService.
47240func (cdmdals CosmosDbMongoDbAPILinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
47241	return nil, false
47242}
47243
47244// AsServiceNowLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService.
47245func (cdmdals CosmosDbMongoDbAPILinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
47246	return nil, false
47247}
47248
47249// AsQuickBooksLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService.
47250func (cdmdals CosmosDbMongoDbAPILinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
47251	return nil, false
47252}
47253
47254// AsPrestoLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService.
47255func (cdmdals CosmosDbMongoDbAPILinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
47256	return nil, false
47257}
47258
47259// AsPhoenixLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService.
47260func (cdmdals CosmosDbMongoDbAPILinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
47261	return nil, false
47262}
47263
47264// AsPaypalLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService.
47265func (cdmdals CosmosDbMongoDbAPILinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
47266	return nil, false
47267}
47268
47269// AsMarketoLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService.
47270func (cdmdals CosmosDbMongoDbAPILinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
47271	return nil, false
47272}
47273
47274// AsMariaDBLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService.
47275func (cdmdals CosmosDbMongoDbAPILinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
47276	return nil, false
47277}
47278
47279// AsMagentoLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService.
47280func (cdmdals CosmosDbMongoDbAPILinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
47281	return nil, false
47282}
47283
47284// AsJiraLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService.
47285func (cdmdals CosmosDbMongoDbAPILinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
47286	return nil, false
47287}
47288
47289// AsImpalaLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService.
47290func (cdmdals CosmosDbMongoDbAPILinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
47291	return nil, false
47292}
47293
47294// AsHubspotLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService.
47295func (cdmdals CosmosDbMongoDbAPILinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
47296	return nil, false
47297}
47298
47299// AsHiveLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService.
47300func (cdmdals CosmosDbMongoDbAPILinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
47301	return nil, false
47302}
47303
47304// AsHBaseLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService.
47305func (cdmdals CosmosDbMongoDbAPILinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
47306	return nil, false
47307}
47308
47309// AsGreenplumLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService.
47310func (cdmdals CosmosDbMongoDbAPILinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
47311	return nil, false
47312}
47313
47314// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService.
47315func (cdmdals CosmosDbMongoDbAPILinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
47316	return nil, false
47317}
47318
47319// AsEloquaLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService.
47320func (cdmdals CosmosDbMongoDbAPILinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
47321	return nil, false
47322}
47323
47324// AsDrillLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService.
47325func (cdmdals CosmosDbMongoDbAPILinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
47326	return nil, false
47327}
47328
47329// AsCouchbaseLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService.
47330func (cdmdals CosmosDbMongoDbAPILinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
47331	return nil, false
47332}
47333
47334// AsConcurLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService.
47335func (cdmdals CosmosDbMongoDbAPILinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
47336	return nil, false
47337}
47338
47339// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService.
47340func (cdmdals CosmosDbMongoDbAPILinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
47341	return nil, false
47342}
47343
47344// AsAmazonMWSLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService.
47345func (cdmdals CosmosDbMongoDbAPILinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
47346	return nil, false
47347}
47348
47349// AsSapHanaLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService.
47350func (cdmdals CosmosDbMongoDbAPILinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
47351	return nil, false
47352}
47353
47354// AsSapBWLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService.
47355func (cdmdals CosmosDbMongoDbAPILinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
47356	return nil, false
47357}
47358
47359// AsSftpServerLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService.
47360func (cdmdals CosmosDbMongoDbAPILinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
47361	return nil, false
47362}
47363
47364// AsFtpServerLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService.
47365func (cdmdals CosmosDbMongoDbAPILinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
47366	return nil, false
47367}
47368
47369// AsHTTPLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService.
47370func (cdmdals CosmosDbMongoDbAPILinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
47371	return nil, false
47372}
47373
47374// AsAzureSearchLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService.
47375func (cdmdals CosmosDbMongoDbAPILinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
47376	return nil, false
47377}
47378
47379// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService.
47380func (cdmdals CosmosDbMongoDbAPILinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
47381	return nil, false
47382}
47383
47384// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService.
47385func (cdmdals CosmosDbMongoDbAPILinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
47386	return nil, false
47387}
47388
47389// AsAmazonS3LinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService.
47390func (cdmdals CosmosDbMongoDbAPILinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
47391	return nil, false
47392}
47393
47394// AsRestServiceLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService.
47395func (cdmdals CosmosDbMongoDbAPILinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) {
47396	return nil, false
47397}
47398
47399// AsSapOpenHubLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService.
47400func (cdmdals CosmosDbMongoDbAPILinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) {
47401	return nil, false
47402}
47403
47404// AsSapEccLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService.
47405func (cdmdals CosmosDbMongoDbAPILinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
47406	return nil, false
47407}
47408
47409// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService.
47410func (cdmdals CosmosDbMongoDbAPILinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
47411	return nil, false
47412}
47413
47414// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService.
47415func (cdmdals CosmosDbMongoDbAPILinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) {
47416	return nil, false
47417}
47418
47419// AsSalesforceLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService.
47420func (cdmdals CosmosDbMongoDbAPILinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
47421	return nil, false
47422}
47423
47424// AsOffice365LinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService.
47425func (cdmdals CosmosDbMongoDbAPILinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) {
47426	return nil, false
47427}
47428
47429// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService.
47430func (cdmdals CosmosDbMongoDbAPILinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) {
47431	return nil, false
47432}
47433
47434// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService.
47435func (cdmdals CosmosDbMongoDbAPILinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
47436	return nil, false
47437}
47438
47439// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService.
47440func (cdmdals CosmosDbMongoDbAPILinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) {
47441	return &cdmdals, true
47442}
47443
47444// AsMongoDbV2LinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService.
47445func (cdmdals CosmosDbMongoDbAPILinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) {
47446	return nil, false
47447}
47448
47449// AsMongoDbLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService.
47450func (cdmdals CosmosDbMongoDbAPILinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
47451	return nil, false
47452}
47453
47454// AsCassandraLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService.
47455func (cdmdals CosmosDbMongoDbAPILinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
47456	return nil, false
47457}
47458
47459// AsWebLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService.
47460func (cdmdals CosmosDbMongoDbAPILinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
47461	return nil, false
47462}
47463
47464// AsODataLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService.
47465func (cdmdals CosmosDbMongoDbAPILinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
47466	return nil, false
47467}
47468
47469// AsHdfsLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService.
47470func (cdmdals CosmosDbMongoDbAPILinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
47471	return nil, false
47472}
47473
47474// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService.
47475func (cdmdals CosmosDbMongoDbAPILinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) {
47476	return nil, false
47477}
47478
47479// AsInformixLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService.
47480func (cdmdals CosmosDbMongoDbAPILinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) {
47481	return nil, false
47482}
47483
47484// AsOdbcLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService.
47485func (cdmdals CosmosDbMongoDbAPILinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
47486	return nil, false
47487}
47488
47489// AsAzureMLLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService.
47490func (cdmdals CosmosDbMongoDbAPILinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
47491	return nil, false
47492}
47493
47494// AsTeradataLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService.
47495func (cdmdals CosmosDbMongoDbAPILinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
47496	return nil, false
47497}
47498
47499// AsDb2LinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService.
47500func (cdmdals CosmosDbMongoDbAPILinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
47501	return nil, false
47502}
47503
47504// AsSybaseLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService.
47505func (cdmdals CosmosDbMongoDbAPILinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
47506	return nil, false
47507}
47508
47509// AsPostgreSQLLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService.
47510func (cdmdals CosmosDbMongoDbAPILinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
47511	return nil, false
47512}
47513
47514// AsMySQLLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService.
47515func (cdmdals CosmosDbMongoDbAPILinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
47516	return nil, false
47517}
47518
47519// AsAzureMySQLLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService.
47520func (cdmdals CosmosDbMongoDbAPILinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
47521	return nil, false
47522}
47523
47524// AsOracleLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService.
47525func (cdmdals CosmosDbMongoDbAPILinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
47526	return nil, false
47527}
47528
47529// AsFileServerLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService.
47530func (cdmdals CosmosDbMongoDbAPILinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
47531	return nil, false
47532}
47533
47534// AsHDInsightLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService.
47535func (cdmdals CosmosDbMongoDbAPILinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
47536	return nil, false
47537}
47538
47539// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService.
47540func (cdmdals CosmosDbMongoDbAPILinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) {
47541	return nil, false
47542}
47543
47544// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService.
47545func (cdmdals CosmosDbMongoDbAPILinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) {
47546	return nil, false
47547}
47548
47549// AsDynamicsLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService.
47550func (cdmdals CosmosDbMongoDbAPILinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
47551	return nil, false
47552}
47553
47554// AsCosmosDbLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService.
47555func (cdmdals CosmosDbMongoDbAPILinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
47556	return nil, false
47557}
47558
47559// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService.
47560func (cdmdals CosmosDbMongoDbAPILinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
47561	return nil, false
47562}
47563
47564// AsAzureBatchLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService.
47565func (cdmdals CosmosDbMongoDbAPILinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
47566	return nil, false
47567}
47568
47569// AsAzureSQLMILinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService.
47570func (cdmdals CosmosDbMongoDbAPILinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) {
47571	return nil, false
47572}
47573
47574// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService.
47575func (cdmdals CosmosDbMongoDbAPILinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
47576	return nil, false
47577}
47578
47579// AsSQLServerLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService.
47580func (cdmdals CosmosDbMongoDbAPILinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
47581	return nil, false
47582}
47583
47584// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService.
47585func (cdmdals CosmosDbMongoDbAPILinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
47586	return nil, false
47587}
47588
47589// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService.
47590func (cdmdals CosmosDbMongoDbAPILinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) {
47591	return nil, false
47592}
47593
47594// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService.
47595func (cdmdals CosmosDbMongoDbAPILinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) {
47596	return nil, false
47597}
47598
47599// AsAzureStorageLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService.
47600func (cdmdals CosmosDbMongoDbAPILinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
47601	return nil, false
47602}
47603
47604// AsLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService.
47605func (cdmdals CosmosDbMongoDbAPILinkedService) AsLinkedService() (*LinkedService, bool) {
47606	return nil, false
47607}
47608
47609// AsBasicLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService.
47610func (cdmdals CosmosDbMongoDbAPILinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
47611	return &cdmdals, true
47612}
47613
47614// UnmarshalJSON is the custom unmarshaler for CosmosDbMongoDbAPILinkedService struct.
47615func (cdmdals *CosmosDbMongoDbAPILinkedService) UnmarshalJSON(body []byte) error {
47616	var m map[string]*json.RawMessage
47617	err := json.Unmarshal(body, &m)
47618	if err != nil {
47619		return err
47620	}
47621	for k, v := range m {
47622		switch k {
47623		case "typeProperties":
47624			if v != nil {
47625				var cosmosDbMongoDbAPILinkedServiceTypeProperties CosmosDbMongoDbAPILinkedServiceTypeProperties
47626				err = json.Unmarshal(*v, &cosmosDbMongoDbAPILinkedServiceTypeProperties)
47627				if err != nil {
47628					return err
47629				}
47630				cdmdals.CosmosDbMongoDbAPILinkedServiceTypeProperties = &cosmosDbMongoDbAPILinkedServiceTypeProperties
47631			}
47632		default:
47633			if v != nil {
47634				var additionalProperties interface{}
47635				err = json.Unmarshal(*v, &additionalProperties)
47636				if err != nil {
47637					return err
47638				}
47639				if cdmdals.AdditionalProperties == nil {
47640					cdmdals.AdditionalProperties = make(map[string]interface{})
47641				}
47642				cdmdals.AdditionalProperties[k] = additionalProperties
47643			}
47644		case "connectVia":
47645			if v != nil {
47646				var connectVia IntegrationRuntimeReference
47647				err = json.Unmarshal(*v, &connectVia)
47648				if err != nil {
47649					return err
47650				}
47651				cdmdals.ConnectVia = &connectVia
47652			}
47653		case "description":
47654			if v != nil {
47655				var description string
47656				err = json.Unmarshal(*v, &description)
47657				if err != nil {
47658					return err
47659				}
47660				cdmdals.Description = &description
47661			}
47662		case "parameters":
47663			if v != nil {
47664				var parameters map[string]*ParameterSpecification
47665				err = json.Unmarshal(*v, &parameters)
47666				if err != nil {
47667					return err
47668				}
47669				cdmdals.Parameters = parameters
47670			}
47671		case "annotations":
47672			if v != nil {
47673				var annotations []interface{}
47674				err = json.Unmarshal(*v, &annotations)
47675				if err != nil {
47676					return err
47677				}
47678				cdmdals.Annotations = &annotations
47679			}
47680		case "type":
47681			if v != nil {
47682				var typeVar TypeBasicLinkedService
47683				err = json.Unmarshal(*v, &typeVar)
47684				if err != nil {
47685					return err
47686				}
47687				cdmdals.Type = typeVar
47688			}
47689		}
47690	}
47691
47692	return nil
47693}
47694
47695// CosmosDbMongoDbAPILinkedServiceTypeProperties cosmosDB (MongoDB API) linked service properties.
47696type CosmosDbMongoDbAPILinkedServiceTypeProperties struct {
47697	// ConnectionString - The CosmosDB (MongoDB API) connection string. Type: string, SecureString or AzureKeyVaultSecretReference. Type: string, SecureString or AzureKeyVaultSecretReference.
47698	ConnectionString interface{} `json:"connectionString,omitempty"`
47699	// Database - The name of the CosmosDB (MongoDB API) database that you want to access. Type: string (or Expression with resultType string).
47700	Database interface{} `json:"database,omitempty"`
47701}
47702
47703// CosmosDbMongoDbAPISink a copy activity sink for a CosmosDB (MongoDB API) database.
47704type CosmosDbMongoDbAPISink struct {
47705	// WriteBehavior - Specifies whether the document with same key to be overwritten (upsert) rather than throw exception (insert). The default value is "insert". Type: string (or Expression with resultType string). Type: string (or Expression with resultType string).
47706	WriteBehavior interface{} `json:"writeBehavior,omitempty"`
47707	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
47708	AdditionalProperties map[string]interface{} `json:""`
47709	// WriteBatchSize - Write batch size. Type: integer (or Expression with resultType integer), minimum: 0.
47710	WriteBatchSize interface{} `json:"writeBatchSize,omitempty"`
47711	// 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])).
47712	WriteBatchTimeout interface{} `json:"writeBatchTimeout,omitempty"`
47713	// SinkRetryCount - Sink retry count. Type: integer (or Expression with resultType integer).
47714	SinkRetryCount interface{} `json:"sinkRetryCount,omitempty"`
47715	// 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])).
47716	SinkRetryWait interface{} `json:"sinkRetryWait,omitempty"`
47717	// MaxConcurrentConnections - The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer).
47718	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
47719	// Type - Possible values include: 'TypeCopySink', 'TypeCosmosDbMongoDbAPISink', 'TypeSalesforceServiceCloudSink', 'TypeSalesforceSink', 'TypeAzureDataExplorerSink', 'TypeCommonDataServiceForAppsSink', 'TypeDynamicsCrmSink', 'TypeDynamicsSink', 'TypeMicrosoftAccessSink', 'TypeInformixSink', 'TypeOdbcSink', 'TypeAzureSearchIndexSink', 'TypeAzureBlobFSSink', 'TypeAzureDataLakeStoreSink', 'TypeOracleSink', 'TypeSQLDWSink', 'TypeSQLMISink', 'TypeAzureSQLSink', 'TypeSQLServerSink', 'TypeSQLSink', 'TypeDocumentDbCollectionSink', 'TypeFileSystemSink', 'TypeBlobSink', 'TypeBinarySink', 'TypeParquetSink', 'TypeAzureTableSink', 'TypeAzureQueueSink', 'TypeSapCloudForCustomerSink', 'TypeAzurePostgreSQLSink', 'TypeDelimitedTextSink'
47720	Type TypeBasicCopySink `json:"type,omitempty"`
47721}
47722
47723// MarshalJSON is the custom marshaler for CosmosDbMongoDbAPISink.
47724func (cdmdas CosmosDbMongoDbAPISink) MarshalJSON() ([]byte, error) {
47725	cdmdas.Type = TypeCosmosDbMongoDbAPISink
47726	objectMap := make(map[string]interface{})
47727	if cdmdas.WriteBehavior != nil {
47728		objectMap["writeBehavior"] = cdmdas.WriteBehavior
47729	}
47730	if cdmdas.WriteBatchSize != nil {
47731		objectMap["writeBatchSize"] = cdmdas.WriteBatchSize
47732	}
47733	if cdmdas.WriteBatchTimeout != nil {
47734		objectMap["writeBatchTimeout"] = cdmdas.WriteBatchTimeout
47735	}
47736	if cdmdas.SinkRetryCount != nil {
47737		objectMap["sinkRetryCount"] = cdmdas.SinkRetryCount
47738	}
47739	if cdmdas.SinkRetryWait != nil {
47740		objectMap["sinkRetryWait"] = cdmdas.SinkRetryWait
47741	}
47742	if cdmdas.MaxConcurrentConnections != nil {
47743		objectMap["maxConcurrentConnections"] = cdmdas.MaxConcurrentConnections
47744	}
47745	if cdmdas.Type != "" {
47746		objectMap["type"] = cdmdas.Type
47747	}
47748	for k, v := range cdmdas.AdditionalProperties {
47749		objectMap[k] = v
47750	}
47751	return json.Marshal(objectMap)
47752}
47753
47754// AsCosmosDbMongoDbAPISink is the BasicCopySink implementation for CosmosDbMongoDbAPISink.
47755func (cdmdas CosmosDbMongoDbAPISink) AsCosmosDbMongoDbAPISink() (*CosmosDbMongoDbAPISink, bool) {
47756	return &cdmdas, true
47757}
47758
47759// AsSalesforceServiceCloudSink is the BasicCopySink implementation for CosmosDbMongoDbAPISink.
47760func (cdmdas CosmosDbMongoDbAPISink) AsSalesforceServiceCloudSink() (*SalesforceServiceCloudSink, bool) {
47761	return nil, false
47762}
47763
47764// AsSalesforceSink is the BasicCopySink implementation for CosmosDbMongoDbAPISink.
47765func (cdmdas CosmosDbMongoDbAPISink) AsSalesforceSink() (*SalesforceSink, bool) {
47766	return nil, false
47767}
47768
47769// AsAzureDataExplorerSink is the BasicCopySink implementation for CosmosDbMongoDbAPISink.
47770func (cdmdas CosmosDbMongoDbAPISink) AsAzureDataExplorerSink() (*AzureDataExplorerSink, bool) {
47771	return nil, false
47772}
47773
47774// AsCommonDataServiceForAppsSink is the BasicCopySink implementation for CosmosDbMongoDbAPISink.
47775func (cdmdas CosmosDbMongoDbAPISink) AsCommonDataServiceForAppsSink() (*CommonDataServiceForAppsSink, bool) {
47776	return nil, false
47777}
47778
47779// AsDynamicsCrmSink is the BasicCopySink implementation for CosmosDbMongoDbAPISink.
47780func (cdmdas CosmosDbMongoDbAPISink) AsDynamicsCrmSink() (*DynamicsCrmSink, bool) {
47781	return nil, false
47782}
47783
47784// AsDynamicsSink is the BasicCopySink implementation for CosmosDbMongoDbAPISink.
47785func (cdmdas CosmosDbMongoDbAPISink) AsDynamicsSink() (*DynamicsSink, bool) {
47786	return nil, false
47787}
47788
47789// AsMicrosoftAccessSink is the BasicCopySink implementation for CosmosDbMongoDbAPISink.
47790func (cdmdas CosmosDbMongoDbAPISink) AsMicrosoftAccessSink() (*MicrosoftAccessSink, bool) {
47791	return nil, false
47792}
47793
47794// AsInformixSink is the BasicCopySink implementation for CosmosDbMongoDbAPISink.
47795func (cdmdas CosmosDbMongoDbAPISink) AsInformixSink() (*InformixSink, bool) {
47796	return nil, false
47797}
47798
47799// AsOdbcSink is the BasicCopySink implementation for CosmosDbMongoDbAPISink.
47800func (cdmdas CosmosDbMongoDbAPISink) AsOdbcSink() (*OdbcSink, bool) {
47801	return nil, false
47802}
47803
47804// AsAzureSearchIndexSink is the BasicCopySink implementation for CosmosDbMongoDbAPISink.
47805func (cdmdas CosmosDbMongoDbAPISink) AsAzureSearchIndexSink() (*AzureSearchIndexSink, bool) {
47806	return nil, false
47807}
47808
47809// AsAzureBlobFSSink is the BasicCopySink implementation for CosmosDbMongoDbAPISink.
47810func (cdmdas CosmosDbMongoDbAPISink) AsAzureBlobFSSink() (*AzureBlobFSSink, bool) {
47811	return nil, false
47812}
47813
47814// AsAzureDataLakeStoreSink is the BasicCopySink implementation for CosmosDbMongoDbAPISink.
47815func (cdmdas CosmosDbMongoDbAPISink) AsAzureDataLakeStoreSink() (*AzureDataLakeStoreSink, bool) {
47816	return nil, false
47817}
47818
47819// AsOracleSink is the BasicCopySink implementation for CosmosDbMongoDbAPISink.
47820func (cdmdas CosmosDbMongoDbAPISink) AsOracleSink() (*OracleSink, bool) {
47821	return nil, false
47822}
47823
47824// AsSQLDWSink is the BasicCopySink implementation for CosmosDbMongoDbAPISink.
47825func (cdmdas CosmosDbMongoDbAPISink) AsSQLDWSink() (*SQLDWSink, bool) {
47826	return nil, false
47827}
47828
47829// AsSQLMISink is the BasicCopySink implementation for CosmosDbMongoDbAPISink.
47830func (cdmdas CosmosDbMongoDbAPISink) AsSQLMISink() (*SQLMISink, bool) {
47831	return nil, false
47832}
47833
47834// AsAzureSQLSink is the BasicCopySink implementation for CosmosDbMongoDbAPISink.
47835func (cdmdas CosmosDbMongoDbAPISink) AsAzureSQLSink() (*AzureSQLSink, bool) {
47836	return nil, false
47837}
47838
47839// AsSQLServerSink is the BasicCopySink implementation for CosmosDbMongoDbAPISink.
47840func (cdmdas CosmosDbMongoDbAPISink) AsSQLServerSink() (*SQLServerSink, bool) {
47841	return nil, false
47842}
47843
47844// AsSQLSink is the BasicCopySink implementation for CosmosDbMongoDbAPISink.
47845func (cdmdas CosmosDbMongoDbAPISink) AsSQLSink() (*SQLSink, bool) {
47846	return nil, false
47847}
47848
47849// AsDocumentDbCollectionSink is the BasicCopySink implementation for CosmosDbMongoDbAPISink.
47850func (cdmdas CosmosDbMongoDbAPISink) AsDocumentDbCollectionSink() (*DocumentDbCollectionSink, bool) {
47851	return nil, false
47852}
47853
47854// AsFileSystemSink is the BasicCopySink implementation for CosmosDbMongoDbAPISink.
47855func (cdmdas CosmosDbMongoDbAPISink) AsFileSystemSink() (*FileSystemSink, bool) {
47856	return nil, false
47857}
47858
47859// AsBlobSink is the BasicCopySink implementation for CosmosDbMongoDbAPISink.
47860func (cdmdas CosmosDbMongoDbAPISink) AsBlobSink() (*BlobSink, bool) {
47861	return nil, false
47862}
47863
47864// AsBinarySink is the BasicCopySink implementation for CosmosDbMongoDbAPISink.
47865func (cdmdas CosmosDbMongoDbAPISink) AsBinarySink() (*BinarySink, bool) {
47866	return nil, false
47867}
47868
47869// AsParquetSink is the BasicCopySink implementation for CosmosDbMongoDbAPISink.
47870func (cdmdas CosmosDbMongoDbAPISink) AsParquetSink() (*ParquetSink, bool) {
47871	return nil, false
47872}
47873
47874// AsAzureTableSink is the BasicCopySink implementation for CosmosDbMongoDbAPISink.
47875func (cdmdas CosmosDbMongoDbAPISink) AsAzureTableSink() (*AzureTableSink, bool) {
47876	return nil, false
47877}
47878
47879// AsAzureQueueSink is the BasicCopySink implementation for CosmosDbMongoDbAPISink.
47880func (cdmdas CosmosDbMongoDbAPISink) AsAzureQueueSink() (*AzureQueueSink, bool) {
47881	return nil, false
47882}
47883
47884// AsSapCloudForCustomerSink is the BasicCopySink implementation for CosmosDbMongoDbAPISink.
47885func (cdmdas CosmosDbMongoDbAPISink) AsSapCloudForCustomerSink() (*SapCloudForCustomerSink, bool) {
47886	return nil, false
47887}
47888
47889// AsAzurePostgreSQLSink is the BasicCopySink implementation for CosmosDbMongoDbAPISink.
47890func (cdmdas CosmosDbMongoDbAPISink) AsAzurePostgreSQLSink() (*AzurePostgreSQLSink, bool) {
47891	return nil, false
47892}
47893
47894// AsDelimitedTextSink is the BasicCopySink implementation for CosmosDbMongoDbAPISink.
47895func (cdmdas CosmosDbMongoDbAPISink) AsDelimitedTextSink() (*DelimitedTextSink, bool) {
47896	return nil, false
47897}
47898
47899// AsCopySink is the BasicCopySink implementation for CosmosDbMongoDbAPISink.
47900func (cdmdas CosmosDbMongoDbAPISink) AsCopySink() (*CopySink, bool) {
47901	return nil, false
47902}
47903
47904// AsBasicCopySink is the BasicCopySink implementation for CosmosDbMongoDbAPISink.
47905func (cdmdas CosmosDbMongoDbAPISink) AsBasicCopySink() (BasicCopySink, bool) {
47906	return &cdmdas, true
47907}
47908
47909// UnmarshalJSON is the custom unmarshaler for CosmosDbMongoDbAPISink struct.
47910func (cdmdas *CosmosDbMongoDbAPISink) UnmarshalJSON(body []byte) error {
47911	var m map[string]*json.RawMessage
47912	err := json.Unmarshal(body, &m)
47913	if err != nil {
47914		return err
47915	}
47916	for k, v := range m {
47917		switch k {
47918		case "writeBehavior":
47919			if v != nil {
47920				var writeBehavior interface{}
47921				err = json.Unmarshal(*v, &writeBehavior)
47922				if err != nil {
47923					return err
47924				}
47925				cdmdas.WriteBehavior = writeBehavior
47926			}
47927		default:
47928			if v != nil {
47929				var additionalProperties interface{}
47930				err = json.Unmarshal(*v, &additionalProperties)
47931				if err != nil {
47932					return err
47933				}
47934				if cdmdas.AdditionalProperties == nil {
47935					cdmdas.AdditionalProperties = make(map[string]interface{})
47936				}
47937				cdmdas.AdditionalProperties[k] = additionalProperties
47938			}
47939		case "writeBatchSize":
47940			if v != nil {
47941				var writeBatchSize interface{}
47942				err = json.Unmarshal(*v, &writeBatchSize)
47943				if err != nil {
47944					return err
47945				}
47946				cdmdas.WriteBatchSize = writeBatchSize
47947			}
47948		case "writeBatchTimeout":
47949			if v != nil {
47950				var writeBatchTimeout interface{}
47951				err = json.Unmarshal(*v, &writeBatchTimeout)
47952				if err != nil {
47953					return err
47954				}
47955				cdmdas.WriteBatchTimeout = writeBatchTimeout
47956			}
47957		case "sinkRetryCount":
47958			if v != nil {
47959				var sinkRetryCount interface{}
47960				err = json.Unmarshal(*v, &sinkRetryCount)
47961				if err != nil {
47962					return err
47963				}
47964				cdmdas.SinkRetryCount = sinkRetryCount
47965			}
47966		case "sinkRetryWait":
47967			if v != nil {
47968				var sinkRetryWait interface{}
47969				err = json.Unmarshal(*v, &sinkRetryWait)
47970				if err != nil {
47971					return err
47972				}
47973				cdmdas.SinkRetryWait = sinkRetryWait
47974			}
47975		case "maxConcurrentConnections":
47976			if v != nil {
47977				var maxConcurrentConnections interface{}
47978				err = json.Unmarshal(*v, &maxConcurrentConnections)
47979				if err != nil {
47980					return err
47981				}
47982				cdmdas.MaxConcurrentConnections = maxConcurrentConnections
47983			}
47984		case "type":
47985			if v != nil {
47986				var typeVar TypeBasicCopySink
47987				err = json.Unmarshal(*v, &typeVar)
47988				if err != nil {
47989					return err
47990				}
47991				cdmdas.Type = typeVar
47992			}
47993		}
47994	}
47995
47996	return nil
47997}
47998
47999// CosmosDbMongoDbAPISource a copy activity source for a CosmosDB (MongoDB API) database.
48000type CosmosDbMongoDbAPISource struct {
48001	// Filter - Specifies selection filter using query operators. To return all documents in a collection, omit this parameter or pass an empty document ({}). Type: string (or Expression with resultType string).
48002	Filter interface{} `json:"filter,omitempty"`
48003	// CursorMethods - Cursor methods for Mongodb query.
48004	CursorMethods *MongoDbCursorMethodsProperties `json:"cursorMethods,omitempty"`
48005	// BatchSize - Specifies the number of documents to return in each batch of the response from MongoDB instance. In most cases, modifying the batch size will not affect the user or the application. This property's main purpose is to avoid hit the limitation of response size. Type: integer (or Expression with resultType integer).
48006	BatchSize interface{} `json:"batchSize,omitempty"`
48007	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
48008	AdditionalProperties map[string]interface{} `json:""`
48009	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
48010	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
48011	// 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])).
48012	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
48013	// MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer).
48014	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
48015	// Type - Possible values include: 'TypeCopySource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', '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', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeCassandraSource', 'TypeWebSource', 'TypeTeradataSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeAzureMySQLSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeRestSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceServiceCloudSource', 'TypeSalesforceSource', 'TypeODataSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeMicrosoftAccessSource', 'TypeInformixSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAzureTableSource', 'TypeBinarySource', 'TypeDelimitedTextSource', 'TypeParquetSource'
48016	Type TypeBasicCopySource `json:"type,omitempty"`
48017}
48018
48019// MarshalJSON is the custom marshaler for CosmosDbMongoDbAPISource.
48020func (cdmdas CosmosDbMongoDbAPISource) MarshalJSON() ([]byte, error) {
48021	cdmdas.Type = TypeCosmosDbMongoDbAPISource
48022	objectMap := make(map[string]interface{})
48023	if cdmdas.Filter != nil {
48024		objectMap["filter"] = cdmdas.Filter
48025	}
48026	if cdmdas.CursorMethods != nil {
48027		objectMap["cursorMethods"] = cdmdas.CursorMethods
48028	}
48029	if cdmdas.BatchSize != nil {
48030		objectMap["batchSize"] = cdmdas.BatchSize
48031	}
48032	if cdmdas.SourceRetryCount != nil {
48033		objectMap["sourceRetryCount"] = cdmdas.SourceRetryCount
48034	}
48035	if cdmdas.SourceRetryWait != nil {
48036		objectMap["sourceRetryWait"] = cdmdas.SourceRetryWait
48037	}
48038	if cdmdas.MaxConcurrentConnections != nil {
48039		objectMap["maxConcurrentConnections"] = cdmdas.MaxConcurrentConnections
48040	}
48041	if cdmdas.Type != "" {
48042		objectMap["type"] = cdmdas.Type
48043	}
48044	for k, v := range cdmdas.AdditionalProperties {
48045		objectMap[k] = v
48046	}
48047	return json.Marshal(objectMap)
48048}
48049
48050// AsAmazonRedshiftSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource.
48051func (cdmdas CosmosDbMongoDbAPISource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
48052	return nil, false
48053}
48054
48055// AsGoogleAdWordsSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource.
48056func (cdmdas CosmosDbMongoDbAPISource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) {
48057	return nil, false
48058}
48059
48060// AsOracleServiceCloudSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource.
48061func (cdmdas CosmosDbMongoDbAPISource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) {
48062	return nil, false
48063}
48064
48065// AsDynamicsAXSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource.
48066func (cdmdas CosmosDbMongoDbAPISource) AsDynamicsAXSource() (*DynamicsAXSource, bool) {
48067	return nil, false
48068}
48069
48070// AsResponsysSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource.
48071func (cdmdas CosmosDbMongoDbAPISource) AsResponsysSource() (*ResponsysSource, bool) {
48072	return nil, false
48073}
48074
48075// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource.
48076func (cdmdas CosmosDbMongoDbAPISource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
48077	return nil, false
48078}
48079
48080// AsVerticaSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource.
48081func (cdmdas CosmosDbMongoDbAPISource) AsVerticaSource() (*VerticaSource, bool) {
48082	return nil, false
48083}
48084
48085// AsNetezzaSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource.
48086func (cdmdas CosmosDbMongoDbAPISource) AsNetezzaSource() (*NetezzaSource, bool) {
48087	return nil, false
48088}
48089
48090// AsZohoSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource.
48091func (cdmdas CosmosDbMongoDbAPISource) AsZohoSource() (*ZohoSource, bool) {
48092	return nil, false
48093}
48094
48095// AsXeroSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource.
48096func (cdmdas CosmosDbMongoDbAPISource) AsXeroSource() (*XeroSource, bool) {
48097	return nil, false
48098}
48099
48100// AsSquareSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource.
48101func (cdmdas CosmosDbMongoDbAPISource) AsSquareSource() (*SquareSource, bool) {
48102	return nil, false
48103}
48104
48105// AsSparkSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource.
48106func (cdmdas CosmosDbMongoDbAPISource) AsSparkSource() (*SparkSource, bool) {
48107	return nil, false
48108}
48109
48110// AsShopifySource is the BasicCopySource implementation for CosmosDbMongoDbAPISource.
48111func (cdmdas CosmosDbMongoDbAPISource) AsShopifySource() (*ShopifySource, bool) {
48112	return nil, false
48113}
48114
48115// AsServiceNowSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource.
48116func (cdmdas CosmosDbMongoDbAPISource) AsServiceNowSource() (*ServiceNowSource, bool) {
48117	return nil, false
48118}
48119
48120// AsQuickBooksSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource.
48121func (cdmdas CosmosDbMongoDbAPISource) AsQuickBooksSource() (*QuickBooksSource, bool) {
48122	return nil, false
48123}
48124
48125// AsPrestoSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource.
48126func (cdmdas CosmosDbMongoDbAPISource) AsPrestoSource() (*PrestoSource, bool) {
48127	return nil, false
48128}
48129
48130// AsPhoenixSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource.
48131func (cdmdas CosmosDbMongoDbAPISource) AsPhoenixSource() (*PhoenixSource, bool) {
48132	return nil, false
48133}
48134
48135// AsPaypalSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource.
48136func (cdmdas CosmosDbMongoDbAPISource) AsPaypalSource() (*PaypalSource, bool) {
48137	return nil, false
48138}
48139
48140// AsMarketoSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource.
48141func (cdmdas CosmosDbMongoDbAPISource) AsMarketoSource() (*MarketoSource, bool) {
48142	return nil, false
48143}
48144
48145// AsMariaDBSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource.
48146func (cdmdas CosmosDbMongoDbAPISource) AsMariaDBSource() (*MariaDBSource, bool) {
48147	return nil, false
48148}
48149
48150// AsMagentoSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource.
48151func (cdmdas CosmosDbMongoDbAPISource) AsMagentoSource() (*MagentoSource, bool) {
48152	return nil, false
48153}
48154
48155// AsJiraSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource.
48156func (cdmdas CosmosDbMongoDbAPISource) AsJiraSource() (*JiraSource, bool) {
48157	return nil, false
48158}
48159
48160// AsImpalaSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource.
48161func (cdmdas CosmosDbMongoDbAPISource) AsImpalaSource() (*ImpalaSource, bool) {
48162	return nil, false
48163}
48164
48165// AsHubspotSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource.
48166func (cdmdas CosmosDbMongoDbAPISource) AsHubspotSource() (*HubspotSource, bool) {
48167	return nil, false
48168}
48169
48170// AsHiveSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource.
48171func (cdmdas CosmosDbMongoDbAPISource) AsHiveSource() (*HiveSource, bool) {
48172	return nil, false
48173}
48174
48175// AsHBaseSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource.
48176func (cdmdas CosmosDbMongoDbAPISource) AsHBaseSource() (*HBaseSource, bool) {
48177	return nil, false
48178}
48179
48180// AsGreenplumSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource.
48181func (cdmdas CosmosDbMongoDbAPISource) AsGreenplumSource() (*GreenplumSource, bool) {
48182	return nil, false
48183}
48184
48185// AsGoogleBigQuerySource is the BasicCopySource implementation for CosmosDbMongoDbAPISource.
48186func (cdmdas CosmosDbMongoDbAPISource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
48187	return nil, false
48188}
48189
48190// AsEloquaSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource.
48191func (cdmdas CosmosDbMongoDbAPISource) AsEloquaSource() (*EloquaSource, bool) {
48192	return nil, false
48193}
48194
48195// AsDrillSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource.
48196func (cdmdas CosmosDbMongoDbAPISource) AsDrillSource() (*DrillSource, bool) {
48197	return nil, false
48198}
48199
48200// AsCouchbaseSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource.
48201func (cdmdas CosmosDbMongoDbAPISource) AsCouchbaseSource() (*CouchbaseSource, bool) {
48202	return nil, false
48203}
48204
48205// AsConcurSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource.
48206func (cdmdas CosmosDbMongoDbAPISource) AsConcurSource() (*ConcurSource, bool) {
48207	return nil, false
48208}
48209
48210// AsAzurePostgreSQLSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource.
48211func (cdmdas CosmosDbMongoDbAPISource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
48212	return nil, false
48213}
48214
48215// AsAmazonMWSSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource.
48216func (cdmdas CosmosDbMongoDbAPISource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
48217	return nil, false
48218}
48219
48220// AsHTTPSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource.
48221func (cdmdas CosmosDbMongoDbAPISource) AsHTTPSource() (*HTTPSource, bool) {
48222	return nil, false
48223}
48224
48225// AsAzureBlobFSSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource.
48226func (cdmdas CosmosDbMongoDbAPISource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) {
48227	return nil, false
48228}
48229
48230// AsAzureDataLakeStoreSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource.
48231func (cdmdas CosmosDbMongoDbAPISource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
48232	return nil, false
48233}
48234
48235// AsOffice365Source is the BasicCopySource implementation for CosmosDbMongoDbAPISource.
48236func (cdmdas CosmosDbMongoDbAPISource) AsOffice365Source() (*Office365Source, bool) {
48237	return nil, false
48238}
48239
48240// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for CosmosDbMongoDbAPISource.
48241func (cdmdas CosmosDbMongoDbAPISource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) {
48242	return &cdmdas, true
48243}
48244
48245// AsMongoDbV2Source is the BasicCopySource implementation for CosmosDbMongoDbAPISource.
48246func (cdmdas CosmosDbMongoDbAPISource) AsMongoDbV2Source() (*MongoDbV2Source, bool) {
48247	return nil, false
48248}
48249
48250// AsMongoDbSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource.
48251func (cdmdas CosmosDbMongoDbAPISource) AsMongoDbSource() (*MongoDbSource, bool) {
48252	return nil, false
48253}
48254
48255// AsCassandraSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource.
48256func (cdmdas CosmosDbMongoDbAPISource) AsCassandraSource() (*CassandraSource, bool) {
48257	return nil, false
48258}
48259
48260// AsWebSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource.
48261func (cdmdas CosmosDbMongoDbAPISource) AsWebSource() (*WebSource, bool) {
48262	return nil, false
48263}
48264
48265// AsTeradataSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource.
48266func (cdmdas CosmosDbMongoDbAPISource) AsTeradataSource() (*TeradataSource, bool) {
48267	return nil, false
48268}
48269
48270// AsOracleSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource.
48271func (cdmdas CosmosDbMongoDbAPISource) AsOracleSource() (*OracleSource, bool) {
48272	return nil, false
48273}
48274
48275// AsAzureDataExplorerSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource.
48276func (cdmdas CosmosDbMongoDbAPISource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) {
48277	return nil, false
48278}
48279
48280// AsAzureMySQLSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource.
48281func (cdmdas CosmosDbMongoDbAPISource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
48282	return nil, false
48283}
48284
48285// AsHdfsSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource.
48286func (cdmdas CosmosDbMongoDbAPISource) AsHdfsSource() (*HdfsSource, bool) {
48287	return nil, false
48288}
48289
48290// AsFileSystemSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource.
48291func (cdmdas CosmosDbMongoDbAPISource) AsFileSystemSource() (*FileSystemSource, bool) {
48292	return nil, false
48293}
48294
48295// AsSQLDWSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource.
48296func (cdmdas CosmosDbMongoDbAPISource) AsSQLDWSource() (*SQLDWSource, bool) {
48297	return nil, false
48298}
48299
48300// AsSQLMISource is the BasicCopySource implementation for CosmosDbMongoDbAPISource.
48301func (cdmdas CosmosDbMongoDbAPISource) AsSQLMISource() (*SQLMISource, bool) {
48302	return nil, false
48303}
48304
48305// AsAzureSQLSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource.
48306func (cdmdas CosmosDbMongoDbAPISource) AsAzureSQLSource() (*AzureSQLSource, bool) {
48307	return nil, false
48308}
48309
48310// AsSQLServerSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource.
48311func (cdmdas CosmosDbMongoDbAPISource) AsSQLServerSource() (*SQLServerSource, bool) {
48312	return nil, false
48313}
48314
48315// AsSQLSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource.
48316func (cdmdas CosmosDbMongoDbAPISource) AsSQLSource() (*SQLSource, bool) {
48317	return nil, false
48318}
48319
48320// AsRestSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource.
48321func (cdmdas CosmosDbMongoDbAPISource) AsRestSource() (*RestSource, bool) {
48322	return nil, false
48323}
48324
48325// AsSapTableSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource.
48326func (cdmdas CosmosDbMongoDbAPISource) AsSapTableSource() (*SapTableSource, bool) {
48327	return nil, false
48328}
48329
48330// AsSapOpenHubSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource.
48331func (cdmdas CosmosDbMongoDbAPISource) AsSapOpenHubSource() (*SapOpenHubSource, bool) {
48332	return nil, false
48333}
48334
48335// AsSapHanaSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource.
48336func (cdmdas CosmosDbMongoDbAPISource) AsSapHanaSource() (*SapHanaSource, bool) {
48337	return nil, false
48338}
48339
48340// AsSapEccSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource.
48341func (cdmdas CosmosDbMongoDbAPISource) AsSapEccSource() (*SapEccSource, bool) {
48342	return nil, false
48343}
48344
48345// AsSapCloudForCustomerSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource.
48346func (cdmdas CosmosDbMongoDbAPISource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
48347	return nil, false
48348}
48349
48350// AsSalesforceServiceCloudSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource.
48351func (cdmdas CosmosDbMongoDbAPISource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) {
48352	return nil, false
48353}
48354
48355// AsSalesforceSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource.
48356func (cdmdas CosmosDbMongoDbAPISource) AsSalesforceSource() (*SalesforceSource, bool) {
48357	return nil, false
48358}
48359
48360// AsODataSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource.
48361func (cdmdas CosmosDbMongoDbAPISource) AsODataSource() (*ODataSource, bool) {
48362	return nil, false
48363}
48364
48365// AsSybaseSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource.
48366func (cdmdas CosmosDbMongoDbAPISource) AsSybaseSource() (*SybaseSource, bool) {
48367	return nil, false
48368}
48369
48370// AsPostgreSQLSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource.
48371func (cdmdas CosmosDbMongoDbAPISource) AsPostgreSQLSource() (*PostgreSQLSource, bool) {
48372	return nil, false
48373}
48374
48375// AsMySQLSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource.
48376func (cdmdas CosmosDbMongoDbAPISource) AsMySQLSource() (*MySQLSource, bool) {
48377	return nil, false
48378}
48379
48380// AsOdbcSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource.
48381func (cdmdas CosmosDbMongoDbAPISource) AsOdbcSource() (*OdbcSource, bool) {
48382	return nil, false
48383}
48384
48385// AsDb2Source is the BasicCopySource implementation for CosmosDbMongoDbAPISource.
48386func (cdmdas CosmosDbMongoDbAPISource) AsDb2Source() (*Db2Source, bool) {
48387	return nil, false
48388}
48389
48390// AsMicrosoftAccessSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource.
48391func (cdmdas CosmosDbMongoDbAPISource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) {
48392	return nil, false
48393}
48394
48395// AsInformixSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource.
48396func (cdmdas CosmosDbMongoDbAPISource) AsInformixSource() (*InformixSource, bool) {
48397	return nil, false
48398}
48399
48400// AsRelationalSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource.
48401func (cdmdas CosmosDbMongoDbAPISource) AsRelationalSource() (*RelationalSource, bool) {
48402	return nil, false
48403}
48404
48405// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource.
48406func (cdmdas CosmosDbMongoDbAPISource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) {
48407	return nil, false
48408}
48409
48410// AsDynamicsCrmSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource.
48411func (cdmdas CosmosDbMongoDbAPISource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) {
48412	return nil, false
48413}
48414
48415// AsDynamicsSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource.
48416func (cdmdas CosmosDbMongoDbAPISource) AsDynamicsSource() (*DynamicsSource, bool) {
48417	return nil, false
48418}
48419
48420// AsDocumentDbCollectionSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource.
48421func (cdmdas CosmosDbMongoDbAPISource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
48422	return nil, false
48423}
48424
48425// AsBlobSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource.
48426func (cdmdas CosmosDbMongoDbAPISource) AsBlobSource() (*BlobSource, bool) {
48427	return nil, false
48428}
48429
48430// AsAzureTableSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource.
48431func (cdmdas CosmosDbMongoDbAPISource) AsAzureTableSource() (*AzureTableSource, bool) {
48432	return nil, false
48433}
48434
48435// AsBinarySource is the BasicCopySource implementation for CosmosDbMongoDbAPISource.
48436func (cdmdas CosmosDbMongoDbAPISource) AsBinarySource() (*BinarySource, bool) {
48437	return nil, false
48438}
48439
48440// AsDelimitedTextSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource.
48441func (cdmdas CosmosDbMongoDbAPISource) AsDelimitedTextSource() (*DelimitedTextSource, bool) {
48442	return nil, false
48443}
48444
48445// AsParquetSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource.
48446func (cdmdas CosmosDbMongoDbAPISource) AsParquetSource() (*ParquetSource, bool) {
48447	return nil, false
48448}
48449
48450// AsCopySource is the BasicCopySource implementation for CosmosDbMongoDbAPISource.
48451func (cdmdas CosmosDbMongoDbAPISource) AsCopySource() (*CopySource, bool) {
48452	return nil, false
48453}
48454
48455// AsBasicCopySource is the BasicCopySource implementation for CosmosDbMongoDbAPISource.
48456func (cdmdas CosmosDbMongoDbAPISource) AsBasicCopySource() (BasicCopySource, bool) {
48457	return &cdmdas, true
48458}
48459
48460// UnmarshalJSON is the custom unmarshaler for CosmosDbMongoDbAPISource struct.
48461func (cdmdas *CosmosDbMongoDbAPISource) UnmarshalJSON(body []byte) error {
48462	var m map[string]*json.RawMessage
48463	err := json.Unmarshal(body, &m)
48464	if err != nil {
48465		return err
48466	}
48467	for k, v := range m {
48468		switch k {
48469		case "filter":
48470			if v != nil {
48471				var filter interface{}
48472				err = json.Unmarshal(*v, &filter)
48473				if err != nil {
48474					return err
48475				}
48476				cdmdas.Filter = filter
48477			}
48478		case "cursorMethods":
48479			if v != nil {
48480				var cursorMethods MongoDbCursorMethodsProperties
48481				err = json.Unmarshal(*v, &cursorMethods)
48482				if err != nil {
48483					return err
48484				}
48485				cdmdas.CursorMethods = &cursorMethods
48486			}
48487		case "batchSize":
48488			if v != nil {
48489				var batchSize interface{}
48490				err = json.Unmarshal(*v, &batchSize)
48491				if err != nil {
48492					return err
48493				}
48494				cdmdas.BatchSize = batchSize
48495			}
48496		default:
48497			if v != nil {
48498				var additionalProperties interface{}
48499				err = json.Unmarshal(*v, &additionalProperties)
48500				if err != nil {
48501					return err
48502				}
48503				if cdmdas.AdditionalProperties == nil {
48504					cdmdas.AdditionalProperties = make(map[string]interface{})
48505				}
48506				cdmdas.AdditionalProperties[k] = additionalProperties
48507			}
48508		case "sourceRetryCount":
48509			if v != nil {
48510				var sourceRetryCount interface{}
48511				err = json.Unmarshal(*v, &sourceRetryCount)
48512				if err != nil {
48513					return err
48514				}
48515				cdmdas.SourceRetryCount = sourceRetryCount
48516			}
48517		case "sourceRetryWait":
48518			if v != nil {
48519				var sourceRetryWait interface{}
48520				err = json.Unmarshal(*v, &sourceRetryWait)
48521				if err != nil {
48522					return err
48523				}
48524				cdmdas.SourceRetryWait = sourceRetryWait
48525			}
48526		case "maxConcurrentConnections":
48527			if v != nil {
48528				var maxConcurrentConnections interface{}
48529				err = json.Unmarshal(*v, &maxConcurrentConnections)
48530				if err != nil {
48531					return err
48532				}
48533				cdmdas.MaxConcurrentConnections = maxConcurrentConnections
48534			}
48535		case "type":
48536			if v != nil {
48537				var typeVar TypeBasicCopySource
48538				err = json.Unmarshal(*v, &typeVar)
48539				if err != nil {
48540					return err
48541				}
48542				cdmdas.Type = typeVar
48543			}
48544		}
48545	}
48546
48547	return nil
48548}
48549
48550// CouchbaseLinkedService couchbase server linked service.
48551type CouchbaseLinkedService struct {
48552	// CouchbaseLinkedServiceTypeProperties - Couchbase server linked service properties.
48553	*CouchbaseLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
48554	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
48555	AdditionalProperties map[string]interface{} `json:""`
48556	// ConnectVia - The integration runtime reference.
48557	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
48558	// Description - Linked service description.
48559	Description *string `json:"description,omitempty"`
48560	// Parameters - Parameters for linked service.
48561	Parameters map[string]*ParameterSpecification `json:"parameters"`
48562	// Annotations - List of tags that can be used for describing the linked service.
48563	Annotations *[]interface{} `json:"annotations,omitempty"`
48564	// Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', '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', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage'
48565	Type TypeBasicLinkedService `json:"type,omitempty"`
48566}
48567
48568// MarshalJSON is the custom marshaler for CouchbaseLinkedService.
48569func (cls CouchbaseLinkedService) MarshalJSON() ([]byte, error) {
48570	cls.Type = TypeCouchbase
48571	objectMap := make(map[string]interface{})
48572	if cls.CouchbaseLinkedServiceTypeProperties != nil {
48573		objectMap["typeProperties"] = cls.CouchbaseLinkedServiceTypeProperties
48574	}
48575	if cls.ConnectVia != nil {
48576		objectMap["connectVia"] = cls.ConnectVia
48577	}
48578	if cls.Description != nil {
48579		objectMap["description"] = cls.Description
48580	}
48581	if cls.Parameters != nil {
48582		objectMap["parameters"] = cls.Parameters
48583	}
48584	if cls.Annotations != nil {
48585		objectMap["annotations"] = cls.Annotations
48586	}
48587	if cls.Type != "" {
48588		objectMap["type"] = cls.Type
48589	}
48590	for k, v := range cls.AdditionalProperties {
48591		objectMap[k] = v
48592	}
48593	return json.Marshal(objectMap)
48594}
48595
48596// AsAzureFunctionLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
48597func (cls CouchbaseLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) {
48598	return nil, false
48599}
48600
48601// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
48602func (cls CouchbaseLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) {
48603	return nil, false
48604}
48605
48606// AsSapTableLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
48607func (cls CouchbaseLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) {
48608	return nil, false
48609}
48610
48611// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
48612func (cls CouchbaseLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) {
48613	return nil, false
48614}
48615
48616// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
48617func (cls CouchbaseLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) {
48618	return nil, false
48619}
48620
48621// AsDynamicsAXLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
48622func (cls CouchbaseLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) {
48623	return nil, false
48624}
48625
48626// AsResponsysLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
48627func (cls CouchbaseLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
48628	return nil, false
48629}
48630
48631// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
48632func (cls CouchbaseLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
48633	return nil, false
48634}
48635
48636// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
48637func (cls CouchbaseLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
48638	return nil, false
48639}
48640
48641// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
48642func (cls CouchbaseLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
48643	return nil, false
48644}
48645
48646// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
48647func (cls CouchbaseLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
48648	return nil, false
48649}
48650
48651// AsNetezzaLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
48652func (cls CouchbaseLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
48653	return nil, false
48654}
48655
48656// AsVerticaLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
48657func (cls CouchbaseLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
48658	return nil, false
48659}
48660
48661// AsZohoLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
48662func (cls CouchbaseLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
48663	return nil, false
48664}
48665
48666// AsXeroLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
48667func (cls CouchbaseLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
48668	return nil, false
48669}
48670
48671// AsSquareLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
48672func (cls CouchbaseLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
48673	return nil, false
48674}
48675
48676// AsSparkLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
48677func (cls CouchbaseLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
48678	return nil, false
48679}
48680
48681// AsShopifyLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
48682func (cls CouchbaseLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
48683	return nil, false
48684}
48685
48686// AsServiceNowLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
48687func (cls CouchbaseLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
48688	return nil, false
48689}
48690
48691// AsQuickBooksLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
48692func (cls CouchbaseLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
48693	return nil, false
48694}
48695
48696// AsPrestoLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
48697func (cls CouchbaseLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
48698	return nil, false
48699}
48700
48701// AsPhoenixLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
48702func (cls CouchbaseLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
48703	return nil, false
48704}
48705
48706// AsPaypalLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
48707func (cls CouchbaseLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
48708	return nil, false
48709}
48710
48711// AsMarketoLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
48712func (cls CouchbaseLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
48713	return nil, false
48714}
48715
48716// AsMariaDBLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
48717func (cls CouchbaseLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
48718	return nil, false
48719}
48720
48721// AsMagentoLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
48722func (cls CouchbaseLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
48723	return nil, false
48724}
48725
48726// AsJiraLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
48727func (cls CouchbaseLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
48728	return nil, false
48729}
48730
48731// AsImpalaLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
48732func (cls CouchbaseLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
48733	return nil, false
48734}
48735
48736// AsHubspotLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
48737func (cls CouchbaseLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
48738	return nil, false
48739}
48740
48741// AsHiveLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
48742func (cls CouchbaseLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
48743	return nil, false
48744}
48745
48746// AsHBaseLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
48747func (cls CouchbaseLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
48748	return nil, false
48749}
48750
48751// AsGreenplumLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
48752func (cls CouchbaseLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
48753	return nil, false
48754}
48755
48756// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
48757func (cls CouchbaseLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
48758	return nil, false
48759}
48760
48761// AsEloquaLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
48762func (cls CouchbaseLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
48763	return nil, false
48764}
48765
48766// AsDrillLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
48767func (cls CouchbaseLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
48768	return nil, false
48769}
48770
48771// AsCouchbaseLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
48772func (cls CouchbaseLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
48773	return &cls, true
48774}
48775
48776// AsConcurLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
48777func (cls CouchbaseLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
48778	return nil, false
48779}
48780
48781// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
48782func (cls CouchbaseLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
48783	return nil, false
48784}
48785
48786// AsAmazonMWSLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
48787func (cls CouchbaseLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
48788	return nil, false
48789}
48790
48791// AsSapHanaLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
48792func (cls CouchbaseLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
48793	return nil, false
48794}
48795
48796// AsSapBWLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
48797func (cls CouchbaseLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
48798	return nil, false
48799}
48800
48801// AsSftpServerLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
48802func (cls CouchbaseLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
48803	return nil, false
48804}
48805
48806// AsFtpServerLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
48807func (cls CouchbaseLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
48808	return nil, false
48809}
48810
48811// AsHTTPLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
48812func (cls CouchbaseLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
48813	return nil, false
48814}
48815
48816// AsAzureSearchLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
48817func (cls CouchbaseLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
48818	return nil, false
48819}
48820
48821// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
48822func (cls CouchbaseLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
48823	return nil, false
48824}
48825
48826// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
48827func (cls CouchbaseLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
48828	return nil, false
48829}
48830
48831// AsAmazonS3LinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
48832func (cls CouchbaseLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
48833	return nil, false
48834}
48835
48836// AsRestServiceLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
48837func (cls CouchbaseLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) {
48838	return nil, false
48839}
48840
48841// AsSapOpenHubLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
48842func (cls CouchbaseLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) {
48843	return nil, false
48844}
48845
48846// AsSapEccLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
48847func (cls CouchbaseLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
48848	return nil, false
48849}
48850
48851// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
48852func (cls CouchbaseLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
48853	return nil, false
48854}
48855
48856// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
48857func (cls CouchbaseLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) {
48858	return nil, false
48859}
48860
48861// AsSalesforceLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
48862func (cls CouchbaseLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
48863	return nil, false
48864}
48865
48866// AsOffice365LinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
48867func (cls CouchbaseLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) {
48868	return nil, false
48869}
48870
48871// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
48872func (cls CouchbaseLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) {
48873	return nil, false
48874}
48875
48876// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
48877func (cls CouchbaseLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
48878	return nil, false
48879}
48880
48881// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
48882func (cls CouchbaseLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) {
48883	return nil, false
48884}
48885
48886// AsMongoDbV2LinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
48887func (cls CouchbaseLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) {
48888	return nil, false
48889}
48890
48891// AsMongoDbLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
48892func (cls CouchbaseLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
48893	return nil, false
48894}
48895
48896// AsCassandraLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
48897func (cls CouchbaseLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
48898	return nil, false
48899}
48900
48901// AsWebLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
48902func (cls CouchbaseLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
48903	return nil, false
48904}
48905
48906// AsODataLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
48907func (cls CouchbaseLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
48908	return nil, false
48909}
48910
48911// AsHdfsLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
48912func (cls CouchbaseLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
48913	return nil, false
48914}
48915
48916// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
48917func (cls CouchbaseLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) {
48918	return nil, false
48919}
48920
48921// AsInformixLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
48922func (cls CouchbaseLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) {
48923	return nil, false
48924}
48925
48926// AsOdbcLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
48927func (cls CouchbaseLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
48928	return nil, false
48929}
48930
48931// AsAzureMLLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
48932func (cls CouchbaseLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
48933	return nil, false
48934}
48935
48936// AsTeradataLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
48937func (cls CouchbaseLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
48938	return nil, false
48939}
48940
48941// AsDb2LinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
48942func (cls CouchbaseLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
48943	return nil, false
48944}
48945
48946// AsSybaseLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
48947func (cls CouchbaseLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
48948	return nil, false
48949}
48950
48951// AsPostgreSQLLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
48952func (cls CouchbaseLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
48953	return nil, false
48954}
48955
48956// AsMySQLLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
48957func (cls CouchbaseLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
48958	return nil, false
48959}
48960
48961// AsAzureMySQLLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
48962func (cls CouchbaseLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
48963	return nil, false
48964}
48965
48966// AsOracleLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
48967func (cls CouchbaseLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
48968	return nil, false
48969}
48970
48971// AsFileServerLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
48972func (cls CouchbaseLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
48973	return nil, false
48974}
48975
48976// AsHDInsightLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
48977func (cls CouchbaseLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
48978	return nil, false
48979}
48980
48981// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
48982func (cls CouchbaseLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) {
48983	return nil, false
48984}
48985
48986// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
48987func (cls CouchbaseLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) {
48988	return nil, false
48989}
48990
48991// AsDynamicsLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
48992func (cls CouchbaseLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
48993	return nil, false
48994}
48995
48996// AsCosmosDbLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
48997func (cls CouchbaseLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
48998	return nil, false
48999}
49000
49001// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
49002func (cls CouchbaseLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
49003	return nil, false
49004}
49005
49006// AsAzureBatchLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
49007func (cls CouchbaseLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
49008	return nil, false
49009}
49010
49011// AsAzureSQLMILinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
49012func (cls CouchbaseLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) {
49013	return nil, false
49014}
49015
49016// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
49017func (cls CouchbaseLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
49018	return nil, false
49019}
49020
49021// AsSQLServerLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
49022func (cls CouchbaseLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
49023	return nil, false
49024}
49025
49026// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
49027func (cls CouchbaseLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
49028	return nil, false
49029}
49030
49031// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
49032func (cls CouchbaseLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) {
49033	return nil, false
49034}
49035
49036// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
49037func (cls CouchbaseLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) {
49038	return nil, false
49039}
49040
49041// AsAzureStorageLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
49042func (cls CouchbaseLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
49043	return nil, false
49044}
49045
49046// AsLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
49047func (cls CouchbaseLinkedService) AsLinkedService() (*LinkedService, bool) {
49048	return nil, false
49049}
49050
49051// AsBasicLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
49052func (cls CouchbaseLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
49053	return &cls, true
49054}
49055
49056// UnmarshalJSON is the custom unmarshaler for CouchbaseLinkedService struct.
49057func (cls *CouchbaseLinkedService) UnmarshalJSON(body []byte) error {
49058	var m map[string]*json.RawMessage
49059	err := json.Unmarshal(body, &m)
49060	if err != nil {
49061		return err
49062	}
49063	for k, v := range m {
49064		switch k {
49065		case "typeProperties":
49066			if v != nil {
49067				var couchbaseLinkedServiceTypeProperties CouchbaseLinkedServiceTypeProperties
49068				err = json.Unmarshal(*v, &couchbaseLinkedServiceTypeProperties)
49069				if err != nil {
49070					return err
49071				}
49072				cls.CouchbaseLinkedServiceTypeProperties = &couchbaseLinkedServiceTypeProperties
49073			}
49074		default:
49075			if v != nil {
49076				var additionalProperties interface{}
49077				err = json.Unmarshal(*v, &additionalProperties)
49078				if err != nil {
49079					return err
49080				}
49081				if cls.AdditionalProperties == nil {
49082					cls.AdditionalProperties = make(map[string]interface{})
49083				}
49084				cls.AdditionalProperties[k] = additionalProperties
49085			}
49086		case "connectVia":
49087			if v != nil {
49088				var connectVia IntegrationRuntimeReference
49089				err = json.Unmarshal(*v, &connectVia)
49090				if err != nil {
49091					return err
49092				}
49093				cls.ConnectVia = &connectVia
49094			}
49095		case "description":
49096			if v != nil {
49097				var description string
49098				err = json.Unmarshal(*v, &description)
49099				if err != nil {
49100					return err
49101				}
49102				cls.Description = &description
49103			}
49104		case "parameters":
49105			if v != nil {
49106				var parameters map[string]*ParameterSpecification
49107				err = json.Unmarshal(*v, &parameters)
49108				if err != nil {
49109					return err
49110				}
49111				cls.Parameters = parameters
49112			}
49113		case "annotations":
49114			if v != nil {
49115				var annotations []interface{}
49116				err = json.Unmarshal(*v, &annotations)
49117				if err != nil {
49118					return err
49119				}
49120				cls.Annotations = &annotations
49121			}
49122		case "type":
49123			if v != nil {
49124				var typeVar TypeBasicLinkedService
49125				err = json.Unmarshal(*v, &typeVar)
49126				if err != nil {
49127					return err
49128				}
49129				cls.Type = typeVar
49130			}
49131		}
49132	}
49133
49134	return nil
49135}
49136
49137// CouchbaseLinkedServiceTypeProperties couchbase server linked service properties.
49138type CouchbaseLinkedServiceTypeProperties struct {
49139	// ConnectionString - An ODBC connection string. Type: string, SecureString or AzureKeyVaultSecretReference.
49140	ConnectionString interface{} `json:"connectionString,omitempty"`
49141	// CredString - The Azure key vault secret reference of credString in connection string.
49142	CredString *AzureKeyVaultSecretReference `json:"credString,omitempty"`
49143	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
49144	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
49145}
49146
49147// CouchbaseSource a copy activity Couchbase server source.
49148type CouchbaseSource struct {
49149	// Query - A query to retrieve data from source. Type: string (or Expression with resultType string).
49150	Query interface{} `json:"query,omitempty"`
49151	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
49152	AdditionalProperties map[string]interface{} `json:""`
49153	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
49154	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
49155	// 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])).
49156	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
49157	// MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer).
49158	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
49159	// Type - Possible values include: 'TypeCopySource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', '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', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeCassandraSource', 'TypeWebSource', 'TypeTeradataSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeAzureMySQLSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeRestSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceServiceCloudSource', 'TypeSalesforceSource', 'TypeODataSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeMicrosoftAccessSource', 'TypeInformixSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAzureTableSource', 'TypeBinarySource', 'TypeDelimitedTextSource', 'TypeParquetSource'
49160	Type TypeBasicCopySource `json:"type,omitempty"`
49161}
49162
49163// MarshalJSON is the custom marshaler for CouchbaseSource.
49164func (cs CouchbaseSource) MarshalJSON() ([]byte, error) {
49165	cs.Type = TypeCouchbaseSource
49166	objectMap := make(map[string]interface{})
49167	if cs.Query != nil {
49168		objectMap["query"] = cs.Query
49169	}
49170	if cs.SourceRetryCount != nil {
49171		objectMap["sourceRetryCount"] = cs.SourceRetryCount
49172	}
49173	if cs.SourceRetryWait != nil {
49174		objectMap["sourceRetryWait"] = cs.SourceRetryWait
49175	}
49176	if cs.MaxConcurrentConnections != nil {
49177		objectMap["maxConcurrentConnections"] = cs.MaxConcurrentConnections
49178	}
49179	if cs.Type != "" {
49180		objectMap["type"] = cs.Type
49181	}
49182	for k, v := range cs.AdditionalProperties {
49183		objectMap[k] = v
49184	}
49185	return json.Marshal(objectMap)
49186}
49187
49188// AsAmazonRedshiftSource is the BasicCopySource implementation for CouchbaseSource.
49189func (cs CouchbaseSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
49190	return nil, false
49191}
49192
49193// AsGoogleAdWordsSource is the BasicCopySource implementation for CouchbaseSource.
49194func (cs CouchbaseSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) {
49195	return nil, false
49196}
49197
49198// AsOracleServiceCloudSource is the BasicCopySource implementation for CouchbaseSource.
49199func (cs CouchbaseSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) {
49200	return nil, false
49201}
49202
49203// AsDynamicsAXSource is the BasicCopySource implementation for CouchbaseSource.
49204func (cs CouchbaseSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) {
49205	return nil, false
49206}
49207
49208// AsResponsysSource is the BasicCopySource implementation for CouchbaseSource.
49209func (cs CouchbaseSource) AsResponsysSource() (*ResponsysSource, bool) {
49210	return nil, false
49211}
49212
49213// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for CouchbaseSource.
49214func (cs CouchbaseSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
49215	return nil, false
49216}
49217
49218// AsVerticaSource is the BasicCopySource implementation for CouchbaseSource.
49219func (cs CouchbaseSource) AsVerticaSource() (*VerticaSource, bool) {
49220	return nil, false
49221}
49222
49223// AsNetezzaSource is the BasicCopySource implementation for CouchbaseSource.
49224func (cs CouchbaseSource) AsNetezzaSource() (*NetezzaSource, bool) {
49225	return nil, false
49226}
49227
49228// AsZohoSource is the BasicCopySource implementation for CouchbaseSource.
49229func (cs CouchbaseSource) AsZohoSource() (*ZohoSource, bool) {
49230	return nil, false
49231}
49232
49233// AsXeroSource is the BasicCopySource implementation for CouchbaseSource.
49234func (cs CouchbaseSource) AsXeroSource() (*XeroSource, bool) {
49235	return nil, false
49236}
49237
49238// AsSquareSource is the BasicCopySource implementation for CouchbaseSource.
49239func (cs CouchbaseSource) AsSquareSource() (*SquareSource, bool) {
49240	return nil, false
49241}
49242
49243// AsSparkSource is the BasicCopySource implementation for CouchbaseSource.
49244func (cs CouchbaseSource) AsSparkSource() (*SparkSource, bool) {
49245	return nil, false
49246}
49247
49248// AsShopifySource is the BasicCopySource implementation for CouchbaseSource.
49249func (cs CouchbaseSource) AsShopifySource() (*ShopifySource, bool) {
49250	return nil, false
49251}
49252
49253// AsServiceNowSource is the BasicCopySource implementation for CouchbaseSource.
49254func (cs CouchbaseSource) AsServiceNowSource() (*ServiceNowSource, bool) {
49255	return nil, false
49256}
49257
49258// AsQuickBooksSource is the BasicCopySource implementation for CouchbaseSource.
49259func (cs CouchbaseSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
49260	return nil, false
49261}
49262
49263// AsPrestoSource is the BasicCopySource implementation for CouchbaseSource.
49264func (cs CouchbaseSource) AsPrestoSource() (*PrestoSource, bool) {
49265	return nil, false
49266}
49267
49268// AsPhoenixSource is the BasicCopySource implementation for CouchbaseSource.
49269func (cs CouchbaseSource) AsPhoenixSource() (*PhoenixSource, bool) {
49270	return nil, false
49271}
49272
49273// AsPaypalSource is the BasicCopySource implementation for CouchbaseSource.
49274func (cs CouchbaseSource) AsPaypalSource() (*PaypalSource, bool) {
49275	return nil, false
49276}
49277
49278// AsMarketoSource is the BasicCopySource implementation for CouchbaseSource.
49279func (cs CouchbaseSource) AsMarketoSource() (*MarketoSource, bool) {
49280	return nil, false
49281}
49282
49283// AsMariaDBSource is the BasicCopySource implementation for CouchbaseSource.
49284func (cs CouchbaseSource) AsMariaDBSource() (*MariaDBSource, bool) {
49285	return nil, false
49286}
49287
49288// AsMagentoSource is the BasicCopySource implementation for CouchbaseSource.
49289func (cs CouchbaseSource) AsMagentoSource() (*MagentoSource, bool) {
49290	return nil, false
49291}
49292
49293// AsJiraSource is the BasicCopySource implementation for CouchbaseSource.
49294func (cs CouchbaseSource) AsJiraSource() (*JiraSource, bool) {
49295	return nil, false
49296}
49297
49298// AsImpalaSource is the BasicCopySource implementation for CouchbaseSource.
49299func (cs CouchbaseSource) AsImpalaSource() (*ImpalaSource, bool) {
49300	return nil, false
49301}
49302
49303// AsHubspotSource is the BasicCopySource implementation for CouchbaseSource.
49304func (cs CouchbaseSource) AsHubspotSource() (*HubspotSource, bool) {
49305	return nil, false
49306}
49307
49308// AsHiveSource is the BasicCopySource implementation for CouchbaseSource.
49309func (cs CouchbaseSource) AsHiveSource() (*HiveSource, bool) {
49310	return nil, false
49311}
49312
49313// AsHBaseSource is the BasicCopySource implementation for CouchbaseSource.
49314func (cs CouchbaseSource) AsHBaseSource() (*HBaseSource, bool) {
49315	return nil, false
49316}
49317
49318// AsGreenplumSource is the BasicCopySource implementation for CouchbaseSource.
49319func (cs CouchbaseSource) AsGreenplumSource() (*GreenplumSource, bool) {
49320	return nil, false
49321}
49322
49323// AsGoogleBigQuerySource is the BasicCopySource implementation for CouchbaseSource.
49324func (cs CouchbaseSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
49325	return nil, false
49326}
49327
49328// AsEloquaSource is the BasicCopySource implementation for CouchbaseSource.
49329func (cs CouchbaseSource) AsEloquaSource() (*EloquaSource, bool) {
49330	return nil, false
49331}
49332
49333// AsDrillSource is the BasicCopySource implementation for CouchbaseSource.
49334func (cs CouchbaseSource) AsDrillSource() (*DrillSource, bool) {
49335	return nil, false
49336}
49337
49338// AsCouchbaseSource is the BasicCopySource implementation for CouchbaseSource.
49339func (cs CouchbaseSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
49340	return &cs, true
49341}
49342
49343// AsConcurSource is the BasicCopySource implementation for CouchbaseSource.
49344func (cs CouchbaseSource) AsConcurSource() (*ConcurSource, bool) {
49345	return nil, false
49346}
49347
49348// AsAzurePostgreSQLSource is the BasicCopySource implementation for CouchbaseSource.
49349func (cs CouchbaseSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
49350	return nil, false
49351}
49352
49353// AsAmazonMWSSource is the BasicCopySource implementation for CouchbaseSource.
49354func (cs CouchbaseSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
49355	return nil, false
49356}
49357
49358// AsHTTPSource is the BasicCopySource implementation for CouchbaseSource.
49359func (cs CouchbaseSource) AsHTTPSource() (*HTTPSource, bool) {
49360	return nil, false
49361}
49362
49363// AsAzureBlobFSSource is the BasicCopySource implementation for CouchbaseSource.
49364func (cs CouchbaseSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) {
49365	return nil, false
49366}
49367
49368// AsAzureDataLakeStoreSource is the BasicCopySource implementation for CouchbaseSource.
49369func (cs CouchbaseSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
49370	return nil, false
49371}
49372
49373// AsOffice365Source is the BasicCopySource implementation for CouchbaseSource.
49374func (cs CouchbaseSource) AsOffice365Source() (*Office365Source, bool) {
49375	return nil, false
49376}
49377
49378// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for CouchbaseSource.
49379func (cs CouchbaseSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) {
49380	return nil, false
49381}
49382
49383// AsMongoDbV2Source is the BasicCopySource implementation for CouchbaseSource.
49384func (cs CouchbaseSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) {
49385	return nil, false
49386}
49387
49388// AsMongoDbSource is the BasicCopySource implementation for CouchbaseSource.
49389func (cs CouchbaseSource) AsMongoDbSource() (*MongoDbSource, bool) {
49390	return nil, false
49391}
49392
49393// AsCassandraSource is the BasicCopySource implementation for CouchbaseSource.
49394func (cs CouchbaseSource) AsCassandraSource() (*CassandraSource, bool) {
49395	return nil, false
49396}
49397
49398// AsWebSource is the BasicCopySource implementation for CouchbaseSource.
49399func (cs CouchbaseSource) AsWebSource() (*WebSource, bool) {
49400	return nil, false
49401}
49402
49403// AsTeradataSource is the BasicCopySource implementation for CouchbaseSource.
49404func (cs CouchbaseSource) AsTeradataSource() (*TeradataSource, bool) {
49405	return nil, false
49406}
49407
49408// AsOracleSource is the BasicCopySource implementation for CouchbaseSource.
49409func (cs CouchbaseSource) AsOracleSource() (*OracleSource, bool) {
49410	return nil, false
49411}
49412
49413// AsAzureDataExplorerSource is the BasicCopySource implementation for CouchbaseSource.
49414func (cs CouchbaseSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) {
49415	return nil, false
49416}
49417
49418// AsAzureMySQLSource is the BasicCopySource implementation for CouchbaseSource.
49419func (cs CouchbaseSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
49420	return nil, false
49421}
49422
49423// AsHdfsSource is the BasicCopySource implementation for CouchbaseSource.
49424func (cs CouchbaseSource) AsHdfsSource() (*HdfsSource, bool) {
49425	return nil, false
49426}
49427
49428// AsFileSystemSource is the BasicCopySource implementation for CouchbaseSource.
49429func (cs CouchbaseSource) AsFileSystemSource() (*FileSystemSource, bool) {
49430	return nil, false
49431}
49432
49433// AsSQLDWSource is the BasicCopySource implementation for CouchbaseSource.
49434func (cs CouchbaseSource) AsSQLDWSource() (*SQLDWSource, bool) {
49435	return nil, false
49436}
49437
49438// AsSQLMISource is the BasicCopySource implementation for CouchbaseSource.
49439func (cs CouchbaseSource) AsSQLMISource() (*SQLMISource, bool) {
49440	return nil, false
49441}
49442
49443// AsAzureSQLSource is the BasicCopySource implementation for CouchbaseSource.
49444func (cs CouchbaseSource) AsAzureSQLSource() (*AzureSQLSource, bool) {
49445	return nil, false
49446}
49447
49448// AsSQLServerSource is the BasicCopySource implementation for CouchbaseSource.
49449func (cs CouchbaseSource) AsSQLServerSource() (*SQLServerSource, bool) {
49450	return nil, false
49451}
49452
49453// AsSQLSource is the BasicCopySource implementation for CouchbaseSource.
49454func (cs CouchbaseSource) AsSQLSource() (*SQLSource, bool) {
49455	return nil, false
49456}
49457
49458// AsRestSource is the BasicCopySource implementation for CouchbaseSource.
49459func (cs CouchbaseSource) AsRestSource() (*RestSource, bool) {
49460	return nil, false
49461}
49462
49463// AsSapTableSource is the BasicCopySource implementation for CouchbaseSource.
49464func (cs CouchbaseSource) AsSapTableSource() (*SapTableSource, bool) {
49465	return nil, false
49466}
49467
49468// AsSapOpenHubSource is the BasicCopySource implementation for CouchbaseSource.
49469func (cs CouchbaseSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) {
49470	return nil, false
49471}
49472
49473// AsSapHanaSource is the BasicCopySource implementation for CouchbaseSource.
49474func (cs CouchbaseSource) AsSapHanaSource() (*SapHanaSource, bool) {
49475	return nil, false
49476}
49477
49478// AsSapEccSource is the BasicCopySource implementation for CouchbaseSource.
49479func (cs CouchbaseSource) AsSapEccSource() (*SapEccSource, bool) {
49480	return nil, false
49481}
49482
49483// AsSapCloudForCustomerSource is the BasicCopySource implementation for CouchbaseSource.
49484func (cs CouchbaseSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
49485	return nil, false
49486}
49487
49488// AsSalesforceServiceCloudSource is the BasicCopySource implementation for CouchbaseSource.
49489func (cs CouchbaseSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) {
49490	return nil, false
49491}
49492
49493// AsSalesforceSource is the BasicCopySource implementation for CouchbaseSource.
49494func (cs CouchbaseSource) AsSalesforceSource() (*SalesforceSource, bool) {
49495	return nil, false
49496}
49497
49498// AsODataSource is the BasicCopySource implementation for CouchbaseSource.
49499func (cs CouchbaseSource) AsODataSource() (*ODataSource, bool) {
49500	return nil, false
49501}
49502
49503// AsSybaseSource is the BasicCopySource implementation for CouchbaseSource.
49504func (cs CouchbaseSource) AsSybaseSource() (*SybaseSource, bool) {
49505	return nil, false
49506}
49507
49508// AsPostgreSQLSource is the BasicCopySource implementation for CouchbaseSource.
49509func (cs CouchbaseSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) {
49510	return nil, false
49511}
49512
49513// AsMySQLSource is the BasicCopySource implementation for CouchbaseSource.
49514func (cs CouchbaseSource) AsMySQLSource() (*MySQLSource, bool) {
49515	return nil, false
49516}
49517
49518// AsOdbcSource is the BasicCopySource implementation for CouchbaseSource.
49519func (cs CouchbaseSource) AsOdbcSource() (*OdbcSource, bool) {
49520	return nil, false
49521}
49522
49523// AsDb2Source is the BasicCopySource implementation for CouchbaseSource.
49524func (cs CouchbaseSource) AsDb2Source() (*Db2Source, bool) {
49525	return nil, false
49526}
49527
49528// AsMicrosoftAccessSource is the BasicCopySource implementation for CouchbaseSource.
49529func (cs CouchbaseSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) {
49530	return nil, false
49531}
49532
49533// AsInformixSource is the BasicCopySource implementation for CouchbaseSource.
49534func (cs CouchbaseSource) AsInformixSource() (*InformixSource, bool) {
49535	return nil, false
49536}
49537
49538// AsRelationalSource is the BasicCopySource implementation for CouchbaseSource.
49539func (cs CouchbaseSource) AsRelationalSource() (*RelationalSource, bool) {
49540	return nil, false
49541}
49542
49543// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for CouchbaseSource.
49544func (cs CouchbaseSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) {
49545	return nil, false
49546}
49547
49548// AsDynamicsCrmSource is the BasicCopySource implementation for CouchbaseSource.
49549func (cs CouchbaseSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) {
49550	return nil, false
49551}
49552
49553// AsDynamicsSource is the BasicCopySource implementation for CouchbaseSource.
49554func (cs CouchbaseSource) AsDynamicsSource() (*DynamicsSource, bool) {
49555	return nil, false
49556}
49557
49558// AsDocumentDbCollectionSource is the BasicCopySource implementation for CouchbaseSource.
49559func (cs CouchbaseSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
49560	return nil, false
49561}
49562
49563// AsBlobSource is the BasicCopySource implementation for CouchbaseSource.
49564func (cs CouchbaseSource) AsBlobSource() (*BlobSource, bool) {
49565	return nil, false
49566}
49567
49568// AsAzureTableSource is the BasicCopySource implementation for CouchbaseSource.
49569func (cs CouchbaseSource) AsAzureTableSource() (*AzureTableSource, bool) {
49570	return nil, false
49571}
49572
49573// AsBinarySource is the BasicCopySource implementation for CouchbaseSource.
49574func (cs CouchbaseSource) AsBinarySource() (*BinarySource, bool) {
49575	return nil, false
49576}
49577
49578// AsDelimitedTextSource is the BasicCopySource implementation for CouchbaseSource.
49579func (cs CouchbaseSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) {
49580	return nil, false
49581}
49582
49583// AsParquetSource is the BasicCopySource implementation for CouchbaseSource.
49584func (cs CouchbaseSource) AsParquetSource() (*ParquetSource, bool) {
49585	return nil, false
49586}
49587
49588// AsCopySource is the BasicCopySource implementation for CouchbaseSource.
49589func (cs CouchbaseSource) AsCopySource() (*CopySource, bool) {
49590	return nil, false
49591}
49592
49593// AsBasicCopySource is the BasicCopySource implementation for CouchbaseSource.
49594func (cs CouchbaseSource) AsBasicCopySource() (BasicCopySource, bool) {
49595	return &cs, true
49596}
49597
49598// UnmarshalJSON is the custom unmarshaler for CouchbaseSource struct.
49599func (cs *CouchbaseSource) UnmarshalJSON(body []byte) error {
49600	var m map[string]*json.RawMessage
49601	err := json.Unmarshal(body, &m)
49602	if err != nil {
49603		return err
49604	}
49605	for k, v := range m {
49606		switch k {
49607		case "query":
49608			if v != nil {
49609				var query interface{}
49610				err = json.Unmarshal(*v, &query)
49611				if err != nil {
49612					return err
49613				}
49614				cs.Query = query
49615			}
49616		default:
49617			if v != nil {
49618				var additionalProperties interface{}
49619				err = json.Unmarshal(*v, &additionalProperties)
49620				if err != nil {
49621					return err
49622				}
49623				if cs.AdditionalProperties == nil {
49624					cs.AdditionalProperties = make(map[string]interface{})
49625				}
49626				cs.AdditionalProperties[k] = additionalProperties
49627			}
49628		case "sourceRetryCount":
49629			if v != nil {
49630				var sourceRetryCount interface{}
49631				err = json.Unmarshal(*v, &sourceRetryCount)
49632				if err != nil {
49633					return err
49634				}
49635				cs.SourceRetryCount = sourceRetryCount
49636			}
49637		case "sourceRetryWait":
49638			if v != nil {
49639				var sourceRetryWait interface{}
49640				err = json.Unmarshal(*v, &sourceRetryWait)
49641				if err != nil {
49642					return err
49643				}
49644				cs.SourceRetryWait = sourceRetryWait
49645			}
49646		case "maxConcurrentConnections":
49647			if v != nil {
49648				var maxConcurrentConnections interface{}
49649				err = json.Unmarshal(*v, &maxConcurrentConnections)
49650				if err != nil {
49651					return err
49652				}
49653				cs.MaxConcurrentConnections = maxConcurrentConnections
49654			}
49655		case "type":
49656			if v != nil {
49657				var typeVar TypeBasicCopySource
49658				err = json.Unmarshal(*v, &typeVar)
49659				if err != nil {
49660					return err
49661				}
49662				cs.Type = typeVar
49663			}
49664		}
49665	}
49666
49667	return nil
49668}
49669
49670// CouchbaseTableDataset couchbase server dataset.
49671type CouchbaseTableDataset struct {
49672	// GenericDatasetTypeProperties - Properties specific to this dataset type.
49673	*GenericDatasetTypeProperties `json:"typeProperties,omitempty"`
49674	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
49675	AdditionalProperties map[string]interface{} `json:""`
49676	// Description - Dataset description.
49677	Description *string `json:"description,omitempty"`
49678	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
49679	Structure interface{} `json:"structure,omitempty"`
49680	// Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement.
49681	Schema interface{} `json:"schema,omitempty"`
49682	// LinkedServiceName - Linked service reference.
49683	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
49684	// Parameters - Parameters for dataset.
49685	Parameters map[string]*ParameterSpecification `json:"parameters"`
49686	// Annotations - List of tags that can be used for describing the Dataset.
49687	Annotations *[]interface{} `json:"annotations,omitempty"`
49688	// Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level.
49689	Folder *DatasetFolder `json:"folder,omitempty"`
49690	// Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', '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', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeDelimitedText', 'TypeParquet', 'TypeAmazonS3Object'
49691	Type TypeBasicDataset `json:"type,omitempty"`
49692}
49693
49694// MarshalJSON is the custom marshaler for CouchbaseTableDataset.
49695func (ctd CouchbaseTableDataset) MarshalJSON() ([]byte, error) {
49696	ctd.Type = TypeCouchbaseTable
49697	objectMap := make(map[string]interface{})
49698	if ctd.GenericDatasetTypeProperties != nil {
49699		objectMap["typeProperties"] = ctd.GenericDatasetTypeProperties
49700	}
49701	if ctd.Description != nil {
49702		objectMap["description"] = ctd.Description
49703	}
49704	if ctd.Structure != nil {
49705		objectMap["structure"] = ctd.Structure
49706	}
49707	if ctd.Schema != nil {
49708		objectMap["schema"] = ctd.Schema
49709	}
49710	if ctd.LinkedServiceName != nil {
49711		objectMap["linkedServiceName"] = ctd.LinkedServiceName
49712	}
49713	if ctd.Parameters != nil {
49714		objectMap["parameters"] = ctd.Parameters
49715	}
49716	if ctd.Annotations != nil {
49717		objectMap["annotations"] = ctd.Annotations
49718	}
49719	if ctd.Folder != nil {
49720		objectMap["folder"] = ctd.Folder
49721	}
49722	if ctd.Type != "" {
49723		objectMap["type"] = ctd.Type
49724	}
49725	for k, v := range ctd.AdditionalProperties {
49726		objectMap[k] = v
49727	}
49728	return json.Marshal(objectMap)
49729}
49730
49731// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for CouchbaseTableDataset.
49732func (ctd CouchbaseTableDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) {
49733	return nil, false
49734}
49735
49736// AsAzureDataExplorerTableDataset is the BasicDataset implementation for CouchbaseTableDataset.
49737func (ctd CouchbaseTableDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) {
49738	return nil, false
49739}
49740
49741// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for CouchbaseTableDataset.
49742func (ctd CouchbaseTableDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) {
49743	return nil, false
49744}
49745
49746// AsDynamicsAXResourceDataset is the BasicDataset implementation for CouchbaseTableDataset.
49747func (ctd CouchbaseTableDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) {
49748	return nil, false
49749}
49750
49751// AsResponsysObjectDataset is the BasicDataset implementation for CouchbaseTableDataset.
49752func (ctd CouchbaseTableDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
49753	return nil, false
49754}
49755
49756// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for CouchbaseTableDataset.
49757func (ctd CouchbaseTableDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
49758	return nil, false
49759}
49760
49761// AsVerticaTableDataset is the BasicDataset implementation for CouchbaseTableDataset.
49762func (ctd CouchbaseTableDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
49763	return nil, false
49764}
49765
49766// AsNetezzaTableDataset is the BasicDataset implementation for CouchbaseTableDataset.
49767func (ctd CouchbaseTableDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
49768	return nil, false
49769}
49770
49771// AsZohoObjectDataset is the BasicDataset implementation for CouchbaseTableDataset.
49772func (ctd CouchbaseTableDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
49773	return nil, false
49774}
49775
49776// AsXeroObjectDataset is the BasicDataset implementation for CouchbaseTableDataset.
49777func (ctd CouchbaseTableDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
49778	return nil, false
49779}
49780
49781// AsSquareObjectDataset is the BasicDataset implementation for CouchbaseTableDataset.
49782func (ctd CouchbaseTableDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
49783	return nil, false
49784}
49785
49786// AsSparkObjectDataset is the BasicDataset implementation for CouchbaseTableDataset.
49787func (ctd CouchbaseTableDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
49788	return nil, false
49789}
49790
49791// AsShopifyObjectDataset is the BasicDataset implementation for CouchbaseTableDataset.
49792func (ctd CouchbaseTableDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
49793	return nil, false
49794}
49795
49796// AsServiceNowObjectDataset is the BasicDataset implementation for CouchbaseTableDataset.
49797func (ctd CouchbaseTableDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
49798	return nil, false
49799}
49800
49801// AsQuickBooksObjectDataset is the BasicDataset implementation for CouchbaseTableDataset.
49802func (ctd CouchbaseTableDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
49803	return nil, false
49804}
49805
49806// AsPrestoObjectDataset is the BasicDataset implementation for CouchbaseTableDataset.
49807func (ctd CouchbaseTableDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
49808	return nil, false
49809}
49810
49811// AsPhoenixObjectDataset is the BasicDataset implementation for CouchbaseTableDataset.
49812func (ctd CouchbaseTableDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
49813	return nil, false
49814}
49815
49816// AsPaypalObjectDataset is the BasicDataset implementation for CouchbaseTableDataset.
49817func (ctd CouchbaseTableDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
49818	return nil, false
49819}
49820
49821// AsMarketoObjectDataset is the BasicDataset implementation for CouchbaseTableDataset.
49822func (ctd CouchbaseTableDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
49823	return nil, false
49824}
49825
49826// AsMariaDBTableDataset is the BasicDataset implementation for CouchbaseTableDataset.
49827func (ctd CouchbaseTableDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
49828	return nil, false
49829}
49830
49831// AsMagentoObjectDataset is the BasicDataset implementation for CouchbaseTableDataset.
49832func (ctd CouchbaseTableDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
49833	return nil, false
49834}
49835
49836// AsJiraObjectDataset is the BasicDataset implementation for CouchbaseTableDataset.
49837func (ctd CouchbaseTableDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
49838	return nil, false
49839}
49840
49841// AsImpalaObjectDataset is the BasicDataset implementation for CouchbaseTableDataset.
49842func (ctd CouchbaseTableDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
49843	return nil, false
49844}
49845
49846// AsHubspotObjectDataset is the BasicDataset implementation for CouchbaseTableDataset.
49847func (ctd CouchbaseTableDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
49848	return nil, false
49849}
49850
49851// AsHiveObjectDataset is the BasicDataset implementation for CouchbaseTableDataset.
49852func (ctd CouchbaseTableDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
49853	return nil, false
49854}
49855
49856// AsHBaseObjectDataset is the BasicDataset implementation for CouchbaseTableDataset.
49857func (ctd CouchbaseTableDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
49858	return nil, false
49859}
49860
49861// AsGreenplumTableDataset is the BasicDataset implementation for CouchbaseTableDataset.
49862func (ctd CouchbaseTableDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
49863	return nil, false
49864}
49865
49866// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for CouchbaseTableDataset.
49867func (ctd CouchbaseTableDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
49868	return nil, false
49869}
49870
49871// AsEloquaObjectDataset is the BasicDataset implementation for CouchbaseTableDataset.
49872func (ctd CouchbaseTableDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
49873	return nil, false
49874}
49875
49876// AsDrillTableDataset is the BasicDataset implementation for CouchbaseTableDataset.
49877func (ctd CouchbaseTableDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
49878	return nil, false
49879}
49880
49881// AsCouchbaseTableDataset is the BasicDataset implementation for CouchbaseTableDataset.
49882func (ctd CouchbaseTableDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
49883	return &ctd, true
49884}
49885
49886// AsConcurObjectDataset is the BasicDataset implementation for CouchbaseTableDataset.
49887func (ctd CouchbaseTableDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
49888	return nil, false
49889}
49890
49891// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for CouchbaseTableDataset.
49892func (ctd CouchbaseTableDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
49893	return nil, false
49894}
49895
49896// AsAmazonMWSObjectDataset is the BasicDataset implementation for CouchbaseTableDataset.
49897func (ctd CouchbaseTableDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
49898	return nil, false
49899}
49900
49901// AsHTTPDataset is the BasicDataset implementation for CouchbaseTableDataset.
49902func (ctd CouchbaseTableDataset) AsHTTPDataset() (*HTTPDataset, bool) {
49903	return nil, false
49904}
49905
49906// AsAzureSearchIndexDataset is the BasicDataset implementation for CouchbaseTableDataset.
49907func (ctd CouchbaseTableDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
49908	return nil, false
49909}
49910
49911// AsWebTableDataset is the BasicDataset implementation for CouchbaseTableDataset.
49912func (ctd CouchbaseTableDataset) AsWebTableDataset() (*WebTableDataset, bool) {
49913	return nil, false
49914}
49915
49916// AsSapTableResourceDataset is the BasicDataset implementation for CouchbaseTableDataset.
49917func (ctd CouchbaseTableDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) {
49918	return nil, false
49919}
49920
49921// AsRestResourceDataset is the BasicDataset implementation for CouchbaseTableDataset.
49922func (ctd CouchbaseTableDataset) AsRestResourceDataset() (*RestResourceDataset, bool) {
49923	return nil, false
49924}
49925
49926// AsSQLServerTableDataset is the BasicDataset implementation for CouchbaseTableDataset.
49927func (ctd CouchbaseTableDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
49928	return nil, false
49929}
49930
49931// AsSapOpenHubTableDataset is the BasicDataset implementation for CouchbaseTableDataset.
49932func (ctd CouchbaseTableDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) {
49933	return nil, false
49934}
49935
49936// AsSapHanaTableDataset is the BasicDataset implementation for CouchbaseTableDataset.
49937func (ctd CouchbaseTableDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) {
49938	return nil, false
49939}
49940
49941// AsSapEccResourceDataset is the BasicDataset implementation for CouchbaseTableDataset.
49942func (ctd CouchbaseTableDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
49943	return nil, false
49944}
49945
49946// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for CouchbaseTableDataset.
49947func (ctd CouchbaseTableDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
49948	return nil, false
49949}
49950
49951// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for CouchbaseTableDataset.
49952func (ctd CouchbaseTableDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) {
49953	return nil, false
49954}
49955
49956// AsSalesforceObjectDataset is the BasicDataset implementation for CouchbaseTableDataset.
49957func (ctd CouchbaseTableDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
49958	return nil, false
49959}
49960
49961// AsMicrosoftAccessTableDataset is the BasicDataset implementation for CouchbaseTableDataset.
49962func (ctd CouchbaseTableDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) {
49963	return nil, false
49964}
49965
49966// AsPostgreSQLTableDataset is the BasicDataset implementation for CouchbaseTableDataset.
49967func (ctd CouchbaseTableDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) {
49968	return nil, false
49969}
49970
49971// AsMySQLTableDataset is the BasicDataset implementation for CouchbaseTableDataset.
49972func (ctd CouchbaseTableDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) {
49973	return nil, false
49974}
49975
49976// AsOdbcTableDataset is the BasicDataset implementation for CouchbaseTableDataset.
49977func (ctd CouchbaseTableDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) {
49978	return nil, false
49979}
49980
49981// AsInformixTableDataset is the BasicDataset implementation for CouchbaseTableDataset.
49982func (ctd CouchbaseTableDataset) AsInformixTableDataset() (*InformixTableDataset, bool) {
49983	return nil, false
49984}
49985
49986// AsRelationalTableDataset is the BasicDataset implementation for CouchbaseTableDataset.
49987func (ctd CouchbaseTableDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
49988	return nil, false
49989}
49990
49991// AsAzureMySQLTableDataset is the BasicDataset implementation for CouchbaseTableDataset.
49992func (ctd CouchbaseTableDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
49993	return nil, false
49994}
49995
49996// AsTeradataTableDataset is the BasicDataset implementation for CouchbaseTableDataset.
49997func (ctd CouchbaseTableDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) {
49998	return nil, false
49999}
50000
50001// AsOracleTableDataset is the BasicDataset implementation for CouchbaseTableDataset.
50002func (ctd CouchbaseTableDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
50003	return nil, false
50004}
50005
50006// AsODataResourceDataset is the BasicDataset implementation for CouchbaseTableDataset.
50007func (ctd CouchbaseTableDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
50008	return nil, false
50009}
50010
50011// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for CouchbaseTableDataset.
50012func (ctd CouchbaseTableDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) {
50013	return nil, false
50014}
50015
50016// AsMongoDbV2CollectionDataset is the BasicDataset implementation for CouchbaseTableDataset.
50017func (ctd CouchbaseTableDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) {
50018	return nil, false
50019}
50020
50021// AsMongoDbCollectionDataset is the BasicDataset implementation for CouchbaseTableDataset.
50022func (ctd CouchbaseTableDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
50023	return nil, false
50024}
50025
50026// AsFileShareDataset is the BasicDataset implementation for CouchbaseTableDataset.
50027func (ctd CouchbaseTableDataset) AsFileShareDataset() (*FileShareDataset, bool) {
50028	return nil, false
50029}
50030
50031// AsOffice365Dataset is the BasicDataset implementation for CouchbaseTableDataset.
50032func (ctd CouchbaseTableDataset) AsOffice365Dataset() (*Office365Dataset, bool) {
50033	return nil, false
50034}
50035
50036// AsAzureBlobFSDataset is the BasicDataset implementation for CouchbaseTableDataset.
50037func (ctd CouchbaseTableDataset) AsAzureBlobFSDataset() (*AzureBlobFSDataset, bool) {
50038	return nil, false
50039}
50040
50041// AsAzureDataLakeStoreDataset is the BasicDataset implementation for CouchbaseTableDataset.
50042func (ctd CouchbaseTableDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) {
50043	return nil, false
50044}
50045
50046// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for CouchbaseTableDataset.
50047func (ctd CouchbaseTableDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) {
50048	return nil, false
50049}
50050
50051// AsDynamicsCrmEntityDataset is the BasicDataset implementation for CouchbaseTableDataset.
50052func (ctd CouchbaseTableDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) {
50053	return nil, false
50054}
50055
50056// AsDynamicsEntityDataset is the BasicDataset implementation for CouchbaseTableDataset.
50057func (ctd CouchbaseTableDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
50058	return nil, false
50059}
50060
50061// AsDocumentDbCollectionDataset is the BasicDataset implementation for CouchbaseTableDataset.
50062func (ctd CouchbaseTableDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
50063	return nil, false
50064}
50065
50066// AsCustomDataset is the BasicDataset implementation for CouchbaseTableDataset.
50067func (ctd CouchbaseTableDataset) AsCustomDataset() (*CustomDataset, bool) {
50068	return nil, false
50069}
50070
50071// AsCassandraTableDataset is the BasicDataset implementation for CouchbaseTableDataset.
50072func (ctd CouchbaseTableDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
50073	return nil, false
50074}
50075
50076// AsAzureSQLDWTableDataset is the BasicDataset implementation for CouchbaseTableDataset.
50077func (ctd CouchbaseTableDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
50078	return nil, false
50079}
50080
50081// AsAzureSQLMITableDataset is the BasicDataset implementation for CouchbaseTableDataset.
50082func (ctd CouchbaseTableDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) {
50083	return nil, false
50084}
50085
50086// AsAzureSQLTableDataset is the BasicDataset implementation for CouchbaseTableDataset.
50087func (ctd CouchbaseTableDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
50088	return nil, false
50089}
50090
50091// AsAzureTableDataset is the BasicDataset implementation for CouchbaseTableDataset.
50092func (ctd CouchbaseTableDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
50093	return nil, false
50094}
50095
50096// AsAzureBlobDataset is the BasicDataset implementation for CouchbaseTableDataset.
50097func (ctd CouchbaseTableDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) {
50098	return nil, false
50099}
50100
50101// AsBinaryDataset is the BasicDataset implementation for CouchbaseTableDataset.
50102func (ctd CouchbaseTableDataset) AsBinaryDataset() (*BinaryDataset, bool) {
50103	return nil, false
50104}
50105
50106// AsDelimitedTextDataset is the BasicDataset implementation for CouchbaseTableDataset.
50107func (ctd CouchbaseTableDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) {
50108	return nil, false
50109}
50110
50111// AsParquetDataset is the BasicDataset implementation for CouchbaseTableDataset.
50112func (ctd CouchbaseTableDataset) AsParquetDataset() (*ParquetDataset, bool) {
50113	return nil, false
50114}
50115
50116// AsAmazonS3Dataset is the BasicDataset implementation for CouchbaseTableDataset.
50117func (ctd CouchbaseTableDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) {
50118	return nil, false
50119}
50120
50121// AsDataset is the BasicDataset implementation for CouchbaseTableDataset.
50122func (ctd CouchbaseTableDataset) AsDataset() (*Dataset, bool) {
50123	return nil, false
50124}
50125
50126// AsBasicDataset is the BasicDataset implementation for CouchbaseTableDataset.
50127func (ctd CouchbaseTableDataset) AsBasicDataset() (BasicDataset, bool) {
50128	return &ctd, true
50129}
50130
50131// UnmarshalJSON is the custom unmarshaler for CouchbaseTableDataset struct.
50132func (ctd *CouchbaseTableDataset) UnmarshalJSON(body []byte) error {
50133	var m map[string]*json.RawMessage
50134	err := json.Unmarshal(body, &m)
50135	if err != nil {
50136		return err
50137	}
50138	for k, v := range m {
50139		switch k {
50140		case "typeProperties":
50141			if v != nil {
50142				var genericDatasetTypeProperties GenericDatasetTypeProperties
50143				err = json.Unmarshal(*v, &genericDatasetTypeProperties)
50144				if err != nil {
50145					return err
50146				}
50147				ctd.GenericDatasetTypeProperties = &genericDatasetTypeProperties
50148			}
50149		default:
50150			if v != nil {
50151				var additionalProperties interface{}
50152				err = json.Unmarshal(*v, &additionalProperties)
50153				if err != nil {
50154					return err
50155				}
50156				if ctd.AdditionalProperties == nil {
50157					ctd.AdditionalProperties = make(map[string]interface{})
50158				}
50159				ctd.AdditionalProperties[k] = additionalProperties
50160			}
50161		case "description":
50162			if v != nil {
50163				var description string
50164				err = json.Unmarshal(*v, &description)
50165				if err != nil {
50166					return err
50167				}
50168				ctd.Description = &description
50169			}
50170		case "structure":
50171			if v != nil {
50172				var structure interface{}
50173				err = json.Unmarshal(*v, &structure)
50174				if err != nil {
50175					return err
50176				}
50177				ctd.Structure = structure
50178			}
50179		case "schema":
50180			if v != nil {
50181				var schema interface{}
50182				err = json.Unmarshal(*v, &schema)
50183				if err != nil {
50184					return err
50185				}
50186				ctd.Schema = schema
50187			}
50188		case "linkedServiceName":
50189			if v != nil {
50190				var linkedServiceName LinkedServiceReference
50191				err = json.Unmarshal(*v, &linkedServiceName)
50192				if err != nil {
50193					return err
50194				}
50195				ctd.LinkedServiceName = &linkedServiceName
50196			}
50197		case "parameters":
50198			if v != nil {
50199				var parameters map[string]*ParameterSpecification
50200				err = json.Unmarshal(*v, &parameters)
50201				if err != nil {
50202					return err
50203				}
50204				ctd.Parameters = parameters
50205			}
50206		case "annotations":
50207			if v != nil {
50208				var annotations []interface{}
50209				err = json.Unmarshal(*v, &annotations)
50210				if err != nil {
50211					return err
50212				}
50213				ctd.Annotations = &annotations
50214			}
50215		case "folder":
50216			if v != nil {
50217				var folder DatasetFolder
50218				err = json.Unmarshal(*v, &folder)
50219				if err != nil {
50220					return err
50221				}
50222				ctd.Folder = &folder
50223			}
50224		case "type":
50225			if v != nil {
50226				var typeVar TypeBasicDataset
50227				err = json.Unmarshal(*v, &typeVar)
50228				if err != nil {
50229					return err
50230				}
50231				ctd.Type = typeVar
50232			}
50233		}
50234	}
50235
50236	return nil
50237}
50238
50239// CreateLinkedIntegrationRuntimeRequest the linked integration runtime information.
50240type CreateLinkedIntegrationRuntimeRequest struct {
50241	// Name - The name of the linked integration runtime.
50242	Name *string `json:"name,omitempty"`
50243	// SubscriptionID - The ID of the subscription that the linked integration runtime belongs to.
50244	SubscriptionID *string `json:"subscriptionId,omitempty"`
50245	// DataFactoryName - The name of the data factory that the linked integration runtime belongs to.
50246	DataFactoryName *string `json:"dataFactoryName,omitempty"`
50247	// DataFactoryLocation - The location of the data factory that the linked integration runtime belongs to.
50248	DataFactoryLocation *string `json:"dataFactoryLocation,omitempty"`
50249}
50250
50251// CreateRunResponse response body with a run identifier.
50252type CreateRunResponse struct {
50253	autorest.Response `json:"-"`
50254	// RunID - Identifier of a run.
50255	RunID *string `json:"runId,omitempty"`
50256}
50257
50258// CustomActivity custom activity type.
50259type CustomActivity struct {
50260	// CustomActivityTypeProperties - Custom activity properties.
50261	*CustomActivityTypeProperties `json:"typeProperties,omitempty"`
50262	// LinkedServiceName - Linked service reference.
50263	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
50264	// Policy - Activity policy.
50265	Policy *ActivityPolicy `json:"policy,omitempty"`
50266	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
50267	AdditionalProperties map[string]interface{} `json:""`
50268	// Name - Activity name.
50269	Name *string `json:"name,omitempty"`
50270	// Description - Activity description.
50271	Description *string `json:"description,omitempty"`
50272	// DependsOn - Activity depends on condition.
50273	DependsOn *[]ActivityDependency `json:"dependsOn,omitempty"`
50274	// UserProperties - Activity user properties.
50275	UserProperties *[]UserProperty `json:"userProperties,omitempty"`
50276	// Type - Possible values include: 'TypeActivity', 'TypeAzureFunctionActivity', 'TypeDatabricksSparkPython', 'TypeDatabricksSparkJar', 'TypeDatabricksNotebook', 'TypeDataLakeAnalyticsUSQL', 'TypeAzureMLUpdateResource', 'TypeAzureMLBatchExecution', 'TypeGetMetadata', 'TypeWebActivity', 'TypeLookup', 'TypeAzureDataExplorerCommand', 'TypeDelete', 'TypeSQLServerStoredProcedure', 'TypeCustom', 'TypeExecuteSSISPackage', 'TypeHDInsightSpark', 'TypeHDInsightStreaming', 'TypeHDInsightMapReduce', 'TypeHDInsightPig', 'TypeHDInsightHive', 'TypeCopy', 'TypeExecution', 'TypeWebHook', 'TypeAppendVariable', 'TypeSetVariable', 'TypeFilter', 'TypeValidation', 'TypeUntil', 'TypeWait', 'TypeForEach', 'TypeIfCondition', 'TypeExecutePipeline', 'TypeContainer'
50277	Type TypeBasicActivity `json:"type,omitempty"`
50278}
50279
50280// MarshalJSON is the custom marshaler for CustomActivity.
50281func (ca CustomActivity) MarshalJSON() ([]byte, error) {
50282	ca.Type = TypeCustom
50283	objectMap := make(map[string]interface{})
50284	if ca.CustomActivityTypeProperties != nil {
50285		objectMap["typeProperties"] = ca.CustomActivityTypeProperties
50286	}
50287	if ca.LinkedServiceName != nil {
50288		objectMap["linkedServiceName"] = ca.LinkedServiceName
50289	}
50290	if ca.Policy != nil {
50291		objectMap["policy"] = ca.Policy
50292	}
50293	if ca.Name != nil {
50294		objectMap["name"] = ca.Name
50295	}
50296	if ca.Description != nil {
50297		objectMap["description"] = ca.Description
50298	}
50299	if ca.DependsOn != nil {
50300		objectMap["dependsOn"] = ca.DependsOn
50301	}
50302	if ca.UserProperties != nil {
50303		objectMap["userProperties"] = ca.UserProperties
50304	}
50305	if ca.Type != "" {
50306		objectMap["type"] = ca.Type
50307	}
50308	for k, v := range ca.AdditionalProperties {
50309		objectMap[k] = v
50310	}
50311	return json.Marshal(objectMap)
50312}
50313
50314// AsAzureFunctionActivity is the BasicActivity implementation for CustomActivity.
50315func (ca CustomActivity) AsAzureFunctionActivity() (*AzureFunctionActivity, bool) {
50316	return nil, false
50317}
50318
50319// AsDatabricksSparkPythonActivity is the BasicActivity implementation for CustomActivity.
50320func (ca CustomActivity) AsDatabricksSparkPythonActivity() (*DatabricksSparkPythonActivity, bool) {
50321	return nil, false
50322}
50323
50324// AsDatabricksSparkJarActivity is the BasicActivity implementation for CustomActivity.
50325func (ca CustomActivity) AsDatabricksSparkJarActivity() (*DatabricksSparkJarActivity, bool) {
50326	return nil, false
50327}
50328
50329// AsDatabricksNotebookActivity is the BasicActivity implementation for CustomActivity.
50330func (ca CustomActivity) AsDatabricksNotebookActivity() (*DatabricksNotebookActivity, bool) {
50331	return nil, false
50332}
50333
50334// AsDataLakeAnalyticsUSQLActivity is the BasicActivity implementation for CustomActivity.
50335func (ca CustomActivity) AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalyticsUSQLActivity, bool) {
50336	return nil, false
50337}
50338
50339// AsAzureMLUpdateResourceActivity is the BasicActivity implementation for CustomActivity.
50340func (ca CustomActivity) AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool) {
50341	return nil, false
50342}
50343
50344// AsAzureMLBatchExecutionActivity is the BasicActivity implementation for CustomActivity.
50345func (ca CustomActivity) AsAzureMLBatchExecutionActivity() (*AzureMLBatchExecutionActivity, bool) {
50346	return nil, false
50347}
50348
50349// AsGetMetadataActivity is the BasicActivity implementation for CustomActivity.
50350func (ca CustomActivity) AsGetMetadataActivity() (*GetMetadataActivity, bool) {
50351	return nil, false
50352}
50353
50354// AsWebActivity is the BasicActivity implementation for CustomActivity.
50355func (ca CustomActivity) AsWebActivity() (*WebActivity, bool) {
50356	return nil, false
50357}
50358
50359// AsLookupActivity is the BasicActivity implementation for CustomActivity.
50360func (ca CustomActivity) AsLookupActivity() (*LookupActivity, bool) {
50361	return nil, false
50362}
50363
50364// AsAzureDataExplorerCommandActivity is the BasicActivity implementation for CustomActivity.
50365func (ca CustomActivity) AsAzureDataExplorerCommandActivity() (*AzureDataExplorerCommandActivity, bool) {
50366	return nil, false
50367}
50368
50369// AsDeleteActivity is the BasicActivity implementation for CustomActivity.
50370func (ca CustomActivity) AsDeleteActivity() (*DeleteActivity, bool) {
50371	return nil, false
50372}
50373
50374// AsSQLServerStoredProcedureActivity is the BasicActivity implementation for CustomActivity.
50375func (ca CustomActivity) AsSQLServerStoredProcedureActivity() (*SQLServerStoredProcedureActivity, bool) {
50376	return nil, false
50377}
50378
50379// AsCustomActivity is the BasicActivity implementation for CustomActivity.
50380func (ca CustomActivity) AsCustomActivity() (*CustomActivity, bool) {
50381	return &ca, true
50382}
50383
50384// AsExecuteSSISPackageActivity is the BasicActivity implementation for CustomActivity.
50385func (ca CustomActivity) AsExecuteSSISPackageActivity() (*ExecuteSSISPackageActivity, bool) {
50386	return nil, false
50387}
50388
50389// AsHDInsightSparkActivity is the BasicActivity implementation for CustomActivity.
50390func (ca CustomActivity) AsHDInsightSparkActivity() (*HDInsightSparkActivity, bool) {
50391	return nil, false
50392}
50393
50394// AsHDInsightStreamingActivity is the BasicActivity implementation for CustomActivity.
50395func (ca CustomActivity) AsHDInsightStreamingActivity() (*HDInsightStreamingActivity, bool) {
50396	return nil, false
50397}
50398
50399// AsHDInsightMapReduceActivity is the BasicActivity implementation for CustomActivity.
50400func (ca CustomActivity) AsHDInsightMapReduceActivity() (*HDInsightMapReduceActivity, bool) {
50401	return nil, false
50402}
50403
50404// AsHDInsightPigActivity is the BasicActivity implementation for CustomActivity.
50405func (ca CustomActivity) AsHDInsightPigActivity() (*HDInsightPigActivity, bool) {
50406	return nil, false
50407}
50408
50409// AsHDInsightHiveActivity is the BasicActivity implementation for CustomActivity.
50410func (ca CustomActivity) AsHDInsightHiveActivity() (*HDInsightHiveActivity, bool) {
50411	return nil, false
50412}
50413
50414// AsCopyActivity is the BasicActivity implementation for CustomActivity.
50415func (ca CustomActivity) AsCopyActivity() (*CopyActivity, bool) {
50416	return nil, false
50417}
50418
50419// AsExecutionActivity is the BasicActivity implementation for CustomActivity.
50420func (ca CustomActivity) AsExecutionActivity() (*ExecutionActivity, bool) {
50421	return nil, false
50422}
50423
50424// AsBasicExecutionActivity is the BasicActivity implementation for CustomActivity.
50425func (ca CustomActivity) AsBasicExecutionActivity() (BasicExecutionActivity, bool) {
50426	return &ca, true
50427}
50428
50429// AsWebHookActivity is the BasicActivity implementation for CustomActivity.
50430func (ca CustomActivity) AsWebHookActivity() (*WebHookActivity, bool) {
50431	return nil, false
50432}
50433
50434// AsAppendVariableActivity is the BasicActivity implementation for CustomActivity.
50435func (ca CustomActivity) AsAppendVariableActivity() (*AppendVariableActivity, bool) {
50436	return nil, false
50437}
50438
50439// AsSetVariableActivity is the BasicActivity implementation for CustomActivity.
50440func (ca CustomActivity) AsSetVariableActivity() (*SetVariableActivity, bool) {
50441	return nil, false
50442}
50443
50444// AsFilterActivity is the BasicActivity implementation for CustomActivity.
50445func (ca CustomActivity) AsFilterActivity() (*FilterActivity, bool) {
50446	return nil, false
50447}
50448
50449// AsValidationActivity is the BasicActivity implementation for CustomActivity.
50450func (ca CustomActivity) AsValidationActivity() (*ValidationActivity, bool) {
50451	return nil, false
50452}
50453
50454// AsUntilActivity is the BasicActivity implementation for CustomActivity.
50455func (ca CustomActivity) AsUntilActivity() (*UntilActivity, bool) {
50456	return nil, false
50457}
50458
50459// AsWaitActivity is the BasicActivity implementation for CustomActivity.
50460func (ca CustomActivity) AsWaitActivity() (*WaitActivity, bool) {
50461	return nil, false
50462}
50463
50464// AsForEachActivity is the BasicActivity implementation for CustomActivity.
50465func (ca CustomActivity) AsForEachActivity() (*ForEachActivity, bool) {
50466	return nil, false
50467}
50468
50469// AsIfConditionActivity is the BasicActivity implementation for CustomActivity.
50470func (ca CustomActivity) AsIfConditionActivity() (*IfConditionActivity, bool) {
50471	return nil, false
50472}
50473
50474// AsExecutePipelineActivity is the BasicActivity implementation for CustomActivity.
50475func (ca CustomActivity) AsExecutePipelineActivity() (*ExecutePipelineActivity, bool) {
50476	return nil, false
50477}
50478
50479// AsControlActivity is the BasicActivity implementation for CustomActivity.
50480func (ca CustomActivity) AsControlActivity() (*ControlActivity, bool) {
50481	return nil, false
50482}
50483
50484// AsBasicControlActivity is the BasicActivity implementation for CustomActivity.
50485func (ca CustomActivity) AsBasicControlActivity() (BasicControlActivity, bool) {
50486	return nil, false
50487}
50488
50489// AsActivity is the BasicActivity implementation for CustomActivity.
50490func (ca CustomActivity) AsActivity() (*Activity, bool) {
50491	return nil, false
50492}
50493
50494// AsBasicActivity is the BasicActivity implementation for CustomActivity.
50495func (ca CustomActivity) AsBasicActivity() (BasicActivity, bool) {
50496	return &ca, true
50497}
50498
50499// UnmarshalJSON is the custom unmarshaler for CustomActivity struct.
50500func (ca *CustomActivity) UnmarshalJSON(body []byte) error {
50501	var m map[string]*json.RawMessage
50502	err := json.Unmarshal(body, &m)
50503	if err != nil {
50504		return err
50505	}
50506	for k, v := range m {
50507		switch k {
50508		case "typeProperties":
50509			if v != nil {
50510				var customActivityTypeProperties CustomActivityTypeProperties
50511				err = json.Unmarshal(*v, &customActivityTypeProperties)
50512				if err != nil {
50513					return err
50514				}
50515				ca.CustomActivityTypeProperties = &customActivityTypeProperties
50516			}
50517		case "linkedServiceName":
50518			if v != nil {
50519				var linkedServiceName LinkedServiceReference
50520				err = json.Unmarshal(*v, &linkedServiceName)
50521				if err != nil {
50522					return err
50523				}
50524				ca.LinkedServiceName = &linkedServiceName
50525			}
50526		case "policy":
50527			if v != nil {
50528				var policy ActivityPolicy
50529				err = json.Unmarshal(*v, &policy)
50530				if err != nil {
50531					return err
50532				}
50533				ca.Policy = &policy
50534			}
50535		default:
50536			if v != nil {
50537				var additionalProperties interface{}
50538				err = json.Unmarshal(*v, &additionalProperties)
50539				if err != nil {
50540					return err
50541				}
50542				if ca.AdditionalProperties == nil {
50543					ca.AdditionalProperties = make(map[string]interface{})
50544				}
50545				ca.AdditionalProperties[k] = additionalProperties
50546			}
50547		case "name":
50548			if v != nil {
50549				var name string
50550				err = json.Unmarshal(*v, &name)
50551				if err != nil {
50552					return err
50553				}
50554				ca.Name = &name
50555			}
50556		case "description":
50557			if v != nil {
50558				var description string
50559				err = json.Unmarshal(*v, &description)
50560				if err != nil {
50561					return err
50562				}
50563				ca.Description = &description
50564			}
50565		case "dependsOn":
50566			if v != nil {
50567				var dependsOn []ActivityDependency
50568				err = json.Unmarshal(*v, &dependsOn)
50569				if err != nil {
50570					return err
50571				}
50572				ca.DependsOn = &dependsOn
50573			}
50574		case "userProperties":
50575			if v != nil {
50576				var userProperties []UserProperty
50577				err = json.Unmarshal(*v, &userProperties)
50578				if err != nil {
50579					return err
50580				}
50581				ca.UserProperties = &userProperties
50582			}
50583		case "type":
50584			if v != nil {
50585				var typeVar TypeBasicActivity
50586				err = json.Unmarshal(*v, &typeVar)
50587				if err != nil {
50588					return err
50589				}
50590				ca.Type = typeVar
50591			}
50592		}
50593	}
50594
50595	return nil
50596}
50597
50598// CustomActivityReferenceObject reference objects for custom activity
50599type CustomActivityReferenceObject struct {
50600	// LinkedServices - Linked service references.
50601	LinkedServices *[]LinkedServiceReference `json:"linkedServices,omitempty"`
50602	// Datasets - Dataset references.
50603	Datasets *[]DatasetReference `json:"datasets,omitempty"`
50604}
50605
50606// CustomActivityTypeProperties custom activity properties.
50607type CustomActivityTypeProperties struct {
50608	// Command - Command for custom activity Type: string (or Expression with resultType string).
50609	Command interface{} `json:"command,omitempty"`
50610	// ResourceLinkedService - Resource linked service reference.
50611	ResourceLinkedService *LinkedServiceReference `json:"resourceLinkedService,omitempty"`
50612	// FolderPath - Folder path for resource files Type: string (or Expression with resultType string).
50613	FolderPath interface{} `json:"folderPath,omitempty"`
50614	// ReferenceObjects - Reference objects
50615	ReferenceObjects *CustomActivityReferenceObject `json:"referenceObjects,omitempty"`
50616	// 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.
50617	ExtendedProperties map[string]interface{} `json:"extendedProperties"`
50618	// RetentionTimeInDays - The retention time for the files submitted for custom activity. Type: double (or Expression with resultType double).
50619	RetentionTimeInDays interface{} `json:"retentionTimeInDays,omitempty"`
50620}
50621
50622// MarshalJSON is the custom marshaler for CustomActivityTypeProperties.
50623func (catp CustomActivityTypeProperties) MarshalJSON() ([]byte, error) {
50624	objectMap := make(map[string]interface{})
50625	if catp.Command != nil {
50626		objectMap["command"] = catp.Command
50627	}
50628	if catp.ResourceLinkedService != nil {
50629		objectMap["resourceLinkedService"] = catp.ResourceLinkedService
50630	}
50631	if catp.FolderPath != nil {
50632		objectMap["folderPath"] = catp.FolderPath
50633	}
50634	if catp.ReferenceObjects != nil {
50635		objectMap["referenceObjects"] = catp.ReferenceObjects
50636	}
50637	if catp.ExtendedProperties != nil {
50638		objectMap["extendedProperties"] = catp.ExtendedProperties
50639	}
50640	if catp.RetentionTimeInDays != nil {
50641		objectMap["retentionTimeInDays"] = catp.RetentionTimeInDays
50642	}
50643	return json.Marshal(objectMap)
50644}
50645
50646// CustomDataset the custom dataset.
50647type CustomDataset struct {
50648	// TypeProperties - Custom dataset properties.
50649	TypeProperties interface{} `json:"typeProperties,omitempty"`
50650	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
50651	AdditionalProperties map[string]interface{} `json:""`
50652	// Description - Dataset description.
50653	Description *string `json:"description,omitempty"`
50654	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
50655	Structure interface{} `json:"structure,omitempty"`
50656	// Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement.
50657	Schema interface{} `json:"schema,omitempty"`
50658	// LinkedServiceName - Linked service reference.
50659	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
50660	// Parameters - Parameters for dataset.
50661	Parameters map[string]*ParameterSpecification `json:"parameters"`
50662	// Annotations - List of tags that can be used for describing the Dataset.
50663	Annotations *[]interface{} `json:"annotations,omitempty"`
50664	// Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level.
50665	Folder *DatasetFolder `json:"folder,omitempty"`
50666	// Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', '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', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeDelimitedText', 'TypeParquet', 'TypeAmazonS3Object'
50667	Type TypeBasicDataset `json:"type,omitempty"`
50668}
50669
50670// MarshalJSON is the custom marshaler for CustomDataset.
50671func (cd CustomDataset) MarshalJSON() ([]byte, error) {
50672	cd.Type = TypeCustomDataset
50673	objectMap := make(map[string]interface{})
50674	if cd.TypeProperties != nil {
50675		objectMap["typeProperties"] = cd.TypeProperties
50676	}
50677	if cd.Description != nil {
50678		objectMap["description"] = cd.Description
50679	}
50680	if cd.Structure != nil {
50681		objectMap["structure"] = cd.Structure
50682	}
50683	if cd.Schema != nil {
50684		objectMap["schema"] = cd.Schema
50685	}
50686	if cd.LinkedServiceName != nil {
50687		objectMap["linkedServiceName"] = cd.LinkedServiceName
50688	}
50689	if cd.Parameters != nil {
50690		objectMap["parameters"] = cd.Parameters
50691	}
50692	if cd.Annotations != nil {
50693		objectMap["annotations"] = cd.Annotations
50694	}
50695	if cd.Folder != nil {
50696		objectMap["folder"] = cd.Folder
50697	}
50698	if cd.Type != "" {
50699		objectMap["type"] = cd.Type
50700	}
50701	for k, v := range cd.AdditionalProperties {
50702		objectMap[k] = v
50703	}
50704	return json.Marshal(objectMap)
50705}
50706
50707// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for CustomDataset.
50708func (cd CustomDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) {
50709	return nil, false
50710}
50711
50712// AsAzureDataExplorerTableDataset is the BasicDataset implementation for CustomDataset.
50713func (cd CustomDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) {
50714	return nil, false
50715}
50716
50717// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for CustomDataset.
50718func (cd CustomDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) {
50719	return nil, false
50720}
50721
50722// AsDynamicsAXResourceDataset is the BasicDataset implementation for CustomDataset.
50723func (cd CustomDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) {
50724	return nil, false
50725}
50726
50727// AsResponsysObjectDataset is the BasicDataset implementation for CustomDataset.
50728func (cd CustomDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
50729	return nil, false
50730}
50731
50732// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for CustomDataset.
50733func (cd CustomDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
50734	return nil, false
50735}
50736
50737// AsVerticaTableDataset is the BasicDataset implementation for CustomDataset.
50738func (cd CustomDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
50739	return nil, false
50740}
50741
50742// AsNetezzaTableDataset is the BasicDataset implementation for CustomDataset.
50743func (cd CustomDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
50744	return nil, false
50745}
50746
50747// AsZohoObjectDataset is the BasicDataset implementation for CustomDataset.
50748func (cd CustomDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
50749	return nil, false
50750}
50751
50752// AsXeroObjectDataset is the BasicDataset implementation for CustomDataset.
50753func (cd CustomDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
50754	return nil, false
50755}
50756
50757// AsSquareObjectDataset is the BasicDataset implementation for CustomDataset.
50758func (cd CustomDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
50759	return nil, false
50760}
50761
50762// AsSparkObjectDataset is the BasicDataset implementation for CustomDataset.
50763func (cd CustomDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
50764	return nil, false
50765}
50766
50767// AsShopifyObjectDataset is the BasicDataset implementation for CustomDataset.
50768func (cd CustomDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
50769	return nil, false
50770}
50771
50772// AsServiceNowObjectDataset is the BasicDataset implementation for CustomDataset.
50773func (cd CustomDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
50774	return nil, false
50775}
50776
50777// AsQuickBooksObjectDataset is the BasicDataset implementation for CustomDataset.
50778func (cd CustomDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
50779	return nil, false
50780}
50781
50782// AsPrestoObjectDataset is the BasicDataset implementation for CustomDataset.
50783func (cd CustomDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
50784	return nil, false
50785}
50786
50787// AsPhoenixObjectDataset is the BasicDataset implementation for CustomDataset.
50788func (cd CustomDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
50789	return nil, false
50790}
50791
50792// AsPaypalObjectDataset is the BasicDataset implementation for CustomDataset.
50793func (cd CustomDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
50794	return nil, false
50795}
50796
50797// AsMarketoObjectDataset is the BasicDataset implementation for CustomDataset.
50798func (cd CustomDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
50799	return nil, false
50800}
50801
50802// AsMariaDBTableDataset is the BasicDataset implementation for CustomDataset.
50803func (cd CustomDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
50804	return nil, false
50805}
50806
50807// AsMagentoObjectDataset is the BasicDataset implementation for CustomDataset.
50808func (cd CustomDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
50809	return nil, false
50810}
50811
50812// AsJiraObjectDataset is the BasicDataset implementation for CustomDataset.
50813func (cd CustomDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
50814	return nil, false
50815}
50816
50817// AsImpalaObjectDataset is the BasicDataset implementation for CustomDataset.
50818func (cd CustomDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
50819	return nil, false
50820}
50821
50822// AsHubspotObjectDataset is the BasicDataset implementation for CustomDataset.
50823func (cd CustomDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
50824	return nil, false
50825}
50826
50827// AsHiveObjectDataset is the BasicDataset implementation for CustomDataset.
50828func (cd CustomDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
50829	return nil, false
50830}
50831
50832// AsHBaseObjectDataset is the BasicDataset implementation for CustomDataset.
50833func (cd CustomDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
50834	return nil, false
50835}
50836
50837// AsGreenplumTableDataset is the BasicDataset implementation for CustomDataset.
50838func (cd CustomDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
50839	return nil, false
50840}
50841
50842// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for CustomDataset.
50843func (cd CustomDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
50844	return nil, false
50845}
50846
50847// AsEloquaObjectDataset is the BasicDataset implementation for CustomDataset.
50848func (cd CustomDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
50849	return nil, false
50850}
50851
50852// AsDrillTableDataset is the BasicDataset implementation for CustomDataset.
50853func (cd CustomDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
50854	return nil, false
50855}
50856
50857// AsCouchbaseTableDataset is the BasicDataset implementation for CustomDataset.
50858func (cd CustomDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
50859	return nil, false
50860}
50861
50862// AsConcurObjectDataset is the BasicDataset implementation for CustomDataset.
50863func (cd CustomDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
50864	return nil, false
50865}
50866
50867// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for CustomDataset.
50868func (cd CustomDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
50869	return nil, false
50870}
50871
50872// AsAmazonMWSObjectDataset is the BasicDataset implementation for CustomDataset.
50873func (cd CustomDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
50874	return nil, false
50875}
50876
50877// AsHTTPDataset is the BasicDataset implementation for CustomDataset.
50878func (cd CustomDataset) AsHTTPDataset() (*HTTPDataset, bool) {
50879	return nil, false
50880}
50881
50882// AsAzureSearchIndexDataset is the BasicDataset implementation for CustomDataset.
50883func (cd CustomDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
50884	return nil, false
50885}
50886
50887// AsWebTableDataset is the BasicDataset implementation for CustomDataset.
50888func (cd CustomDataset) AsWebTableDataset() (*WebTableDataset, bool) {
50889	return nil, false
50890}
50891
50892// AsSapTableResourceDataset is the BasicDataset implementation for CustomDataset.
50893func (cd CustomDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) {
50894	return nil, false
50895}
50896
50897// AsRestResourceDataset is the BasicDataset implementation for CustomDataset.
50898func (cd CustomDataset) AsRestResourceDataset() (*RestResourceDataset, bool) {
50899	return nil, false
50900}
50901
50902// AsSQLServerTableDataset is the BasicDataset implementation for CustomDataset.
50903func (cd CustomDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
50904	return nil, false
50905}
50906
50907// AsSapOpenHubTableDataset is the BasicDataset implementation for CustomDataset.
50908func (cd CustomDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) {
50909	return nil, false
50910}
50911
50912// AsSapHanaTableDataset is the BasicDataset implementation for CustomDataset.
50913func (cd CustomDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) {
50914	return nil, false
50915}
50916
50917// AsSapEccResourceDataset is the BasicDataset implementation for CustomDataset.
50918func (cd CustomDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
50919	return nil, false
50920}
50921
50922// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for CustomDataset.
50923func (cd CustomDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
50924	return nil, false
50925}
50926
50927// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for CustomDataset.
50928func (cd CustomDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) {
50929	return nil, false
50930}
50931
50932// AsSalesforceObjectDataset is the BasicDataset implementation for CustomDataset.
50933func (cd CustomDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
50934	return nil, false
50935}
50936
50937// AsMicrosoftAccessTableDataset is the BasicDataset implementation for CustomDataset.
50938func (cd CustomDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) {
50939	return nil, false
50940}
50941
50942// AsPostgreSQLTableDataset is the BasicDataset implementation for CustomDataset.
50943func (cd CustomDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) {
50944	return nil, false
50945}
50946
50947// AsMySQLTableDataset is the BasicDataset implementation for CustomDataset.
50948func (cd CustomDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) {
50949	return nil, false
50950}
50951
50952// AsOdbcTableDataset is the BasicDataset implementation for CustomDataset.
50953func (cd CustomDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) {
50954	return nil, false
50955}
50956
50957// AsInformixTableDataset is the BasicDataset implementation for CustomDataset.
50958func (cd CustomDataset) AsInformixTableDataset() (*InformixTableDataset, bool) {
50959	return nil, false
50960}
50961
50962// AsRelationalTableDataset is the BasicDataset implementation for CustomDataset.
50963func (cd CustomDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
50964	return nil, false
50965}
50966
50967// AsAzureMySQLTableDataset is the BasicDataset implementation for CustomDataset.
50968func (cd CustomDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
50969	return nil, false
50970}
50971
50972// AsTeradataTableDataset is the BasicDataset implementation for CustomDataset.
50973func (cd CustomDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) {
50974	return nil, false
50975}
50976
50977// AsOracleTableDataset is the BasicDataset implementation for CustomDataset.
50978func (cd CustomDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
50979	return nil, false
50980}
50981
50982// AsODataResourceDataset is the BasicDataset implementation for CustomDataset.
50983func (cd CustomDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
50984	return nil, false
50985}
50986
50987// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for CustomDataset.
50988func (cd CustomDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) {
50989	return nil, false
50990}
50991
50992// AsMongoDbV2CollectionDataset is the BasicDataset implementation for CustomDataset.
50993func (cd CustomDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) {
50994	return nil, false
50995}
50996
50997// AsMongoDbCollectionDataset is the BasicDataset implementation for CustomDataset.
50998func (cd CustomDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
50999	return nil, false
51000}
51001
51002// AsFileShareDataset is the BasicDataset implementation for CustomDataset.
51003func (cd CustomDataset) AsFileShareDataset() (*FileShareDataset, bool) {
51004	return nil, false
51005}
51006
51007// AsOffice365Dataset is the BasicDataset implementation for CustomDataset.
51008func (cd CustomDataset) AsOffice365Dataset() (*Office365Dataset, bool) {
51009	return nil, false
51010}
51011
51012// AsAzureBlobFSDataset is the BasicDataset implementation for CustomDataset.
51013func (cd CustomDataset) AsAzureBlobFSDataset() (*AzureBlobFSDataset, bool) {
51014	return nil, false
51015}
51016
51017// AsAzureDataLakeStoreDataset is the BasicDataset implementation for CustomDataset.
51018func (cd CustomDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) {
51019	return nil, false
51020}
51021
51022// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for CustomDataset.
51023func (cd CustomDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) {
51024	return nil, false
51025}
51026
51027// AsDynamicsCrmEntityDataset is the BasicDataset implementation for CustomDataset.
51028func (cd CustomDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) {
51029	return nil, false
51030}
51031
51032// AsDynamicsEntityDataset is the BasicDataset implementation for CustomDataset.
51033func (cd CustomDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
51034	return nil, false
51035}
51036
51037// AsDocumentDbCollectionDataset is the BasicDataset implementation for CustomDataset.
51038func (cd CustomDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
51039	return nil, false
51040}
51041
51042// AsCustomDataset is the BasicDataset implementation for CustomDataset.
51043func (cd CustomDataset) AsCustomDataset() (*CustomDataset, bool) {
51044	return &cd, true
51045}
51046
51047// AsCassandraTableDataset is the BasicDataset implementation for CustomDataset.
51048func (cd CustomDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
51049	return nil, false
51050}
51051
51052// AsAzureSQLDWTableDataset is the BasicDataset implementation for CustomDataset.
51053func (cd CustomDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
51054	return nil, false
51055}
51056
51057// AsAzureSQLMITableDataset is the BasicDataset implementation for CustomDataset.
51058func (cd CustomDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) {
51059	return nil, false
51060}
51061
51062// AsAzureSQLTableDataset is the BasicDataset implementation for CustomDataset.
51063func (cd CustomDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
51064	return nil, false
51065}
51066
51067// AsAzureTableDataset is the BasicDataset implementation for CustomDataset.
51068func (cd CustomDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
51069	return nil, false
51070}
51071
51072// AsAzureBlobDataset is the BasicDataset implementation for CustomDataset.
51073func (cd CustomDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) {
51074	return nil, false
51075}
51076
51077// AsBinaryDataset is the BasicDataset implementation for CustomDataset.
51078func (cd CustomDataset) AsBinaryDataset() (*BinaryDataset, bool) {
51079	return nil, false
51080}
51081
51082// AsDelimitedTextDataset is the BasicDataset implementation for CustomDataset.
51083func (cd CustomDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) {
51084	return nil, false
51085}
51086
51087// AsParquetDataset is the BasicDataset implementation for CustomDataset.
51088func (cd CustomDataset) AsParquetDataset() (*ParquetDataset, bool) {
51089	return nil, false
51090}
51091
51092// AsAmazonS3Dataset is the BasicDataset implementation for CustomDataset.
51093func (cd CustomDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) {
51094	return nil, false
51095}
51096
51097// AsDataset is the BasicDataset implementation for CustomDataset.
51098func (cd CustomDataset) AsDataset() (*Dataset, bool) {
51099	return nil, false
51100}
51101
51102// AsBasicDataset is the BasicDataset implementation for CustomDataset.
51103func (cd CustomDataset) AsBasicDataset() (BasicDataset, bool) {
51104	return &cd, true
51105}
51106
51107// UnmarshalJSON is the custom unmarshaler for CustomDataset struct.
51108func (cd *CustomDataset) UnmarshalJSON(body []byte) error {
51109	var m map[string]*json.RawMessage
51110	err := json.Unmarshal(body, &m)
51111	if err != nil {
51112		return err
51113	}
51114	for k, v := range m {
51115		switch k {
51116		case "typeProperties":
51117			if v != nil {
51118				var typeProperties interface{}
51119				err = json.Unmarshal(*v, &typeProperties)
51120				if err != nil {
51121					return err
51122				}
51123				cd.TypeProperties = typeProperties
51124			}
51125		default:
51126			if v != nil {
51127				var additionalProperties interface{}
51128				err = json.Unmarshal(*v, &additionalProperties)
51129				if err != nil {
51130					return err
51131				}
51132				if cd.AdditionalProperties == nil {
51133					cd.AdditionalProperties = make(map[string]interface{})
51134				}
51135				cd.AdditionalProperties[k] = additionalProperties
51136			}
51137		case "description":
51138			if v != nil {
51139				var description string
51140				err = json.Unmarshal(*v, &description)
51141				if err != nil {
51142					return err
51143				}
51144				cd.Description = &description
51145			}
51146		case "structure":
51147			if v != nil {
51148				var structure interface{}
51149				err = json.Unmarshal(*v, &structure)
51150				if err != nil {
51151					return err
51152				}
51153				cd.Structure = structure
51154			}
51155		case "schema":
51156			if v != nil {
51157				var schema interface{}
51158				err = json.Unmarshal(*v, &schema)
51159				if err != nil {
51160					return err
51161				}
51162				cd.Schema = schema
51163			}
51164		case "linkedServiceName":
51165			if v != nil {
51166				var linkedServiceName LinkedServiceReference
51167				err = json.Unmarshal(*v, &linkedServiceName)
51168				if err != nil {
51169					return err
51170				}
51171				cd.LinkedServiceName = &linkedServiceName
51172			}
51173		case "parameters":
51174			if v != nil {
51175				var parameters map[string]*ParameterSpecification
51176				err = json.Unmarshal(*v, &parameters)
51177				if err != nil {
51178					return err
51179				}
51180				cd.Parameters = parameters
51181			}
51182		case "annotations":
51183			if v != nil {
51184				var annotations []interface{}
51185				err = json.Unmarshal(*v, &annotations)
51186				if err != nil {
51187					return err
51188				}
51189				cd.Annotations = &annotations
51190			}
51191		case "folder":
51192			if v != nil {
51193				var folder DatasetFolder
51194				err = json.Unmarshal(*v, &folder)
51195				if err != nil {
51196					return err
51197				}
51198				cd.Folder = &folder
51199			}
51200		case "type":
51201			if v != nil {
51202				var typeVar TypeBasicDataset
51203				err = json.Unmarshal(*v, &typeVar)
51204				if err != nil {
51205					return err
51206				}
51207				cd.Type = typeVar
51208			}
51209		}
51210	}
51211
51212	return nil
51213}
51214
51215// CustomDataSourceLinkedService custom linked service.
51216type CustomDataSourceLinkedService struct {
51217	// TypeProperties - Custom linked service properties.
51218	TypeProperties interface{} `json:"typeProperties,omitempty"`
51219	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
51220	AdditionalProperties map[string]interface{} `json:""`
51221	// ConnectVia - The integration runtime reference.
51222	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
51223	// Description - Linked service description.
51224	Description *string `json:"description,omitempty"`
51225	// Parameters - Parameters for linked service.
51226	Parameters map[string]*ParameterSpecification `json:"parameters"`
51227	// Annotations - List of tags that can be used for describing the linked service.
51228	Annotations *[]interface{} `json:"annotations,omitempty"`
51229	// Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', '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', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage'
51230	Type TypeBasicLinkedService `json:"type,omitempty"`
51231}
51232
51233// MarshalJSON is the custom marshaler for CustomDataSourceLinkedService.
51234func (cdsls CustomDataSourceLinkedService) MarshalJSON() ([]byte, error) {
51235	cdsls.Type = TypeCustomDataSource
51236	objectMap := make(map[string]interface{})
51237	if cdsls.TypeProperties != nil {
51238		objectMap["typeProperties"] = cdsls.TypeProperties
51239	}
51240	if cdsls.ConnectVia != nil {
51241		objectMap["connectVia"] = cdsls.ConnectVia
51242	}
51243	if cdsls.Description != nil {
51244		objectMap["description"] = cdsls.Description
51245	}
51246	if cdsls.Parameters != nil {
51247		objectMap["parameters"] = cdsls.Parameters
51248	}
51249	if cdsls.Annotations != nil {
51250		objectMap["annotations"] = cdsls.Annotations
51251	}
51252	if cdsls.Type != "" {
51253		objectMap["type"] = cdsls.Type
51254	}
51255	for k, v := range cdsls.AdditionalProperties {
51256		objectMap[k] = v
51257	}
51258	return json.Marshal(objectMap)
51259}
51260
51261// AsAzureFunctionLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
51262func (cdsls CustomDataSourceLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) {
51263	return nil, false
51264}
51265
51266// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
51267func (cdsls CustomDataSourceLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) {
51268	return nil, false
51269}
51270
51271// AsSapTableLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
51272func (cdsls CustomDataSourceLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) {
51273	return nil, false
51274}
51275
51276// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
51277func (cdsls CustomDataSourceLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) {
51278	return nil, false
51279}
51280
51281// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
51282func (cdsls CustomDataSourceLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) {
51283	return nil, false
51284}
51285
51286// AsDynamicsAXLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
51287func (cdsls CustomDataSourceLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) {
51288	return nil, false
51289}
51290
51291// AsResponsysLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
51292func (cdsls CustomDataSourceLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
51293	return nil, false
51294}
51295
51296// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
51297func (cdsls CustomDataSourceLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
51298	return nil, false
51299}
51300
51301// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
51302func (cdsls CustomDataSourceLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
51303	return nil, false
51304}
51305
51306// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
51307func (cdsls CustomDataSourceLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
51308	return nil, false
51309}
51310
51311// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
51312func (cdsls CustomDataSourceLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
51313	return nil, false
51314}
51315
51316// AsNetezzaLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
51317func (cdsls CustomDataSourceLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
51318	return nil, false
51319}
51320
51321// AsVerticaLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
51322func (cdsls CustomDataSourceLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
51323	return nil, false
51324}
51325
51326// AsZohoLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
51327func (cdsls CustomDataSourceLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
51328	return nil, false
51329}
51330
51331// AsXeroLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
51332func (cdsls CustomDataSourceLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
51333	return nil, false
51334}
51335
51336// AsSquareLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
51337func (cdsls CustomDataSourceLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
51338	return nil, false
51339}
51340
51341// AsSparkLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
51342func (cdsls CustomDataSourceLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
51343	return nil, false
51344}
51345
51346// AsShopifyLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
51347func (cdsls CustomDataSourceLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
51348	return nil, false
51349}
51350
51351// AsServiceNowLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
51352func (cdsls CustomDataSourceLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
51353	return nil, false
51354}
51355
51356// AsQuickBooksLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
51357func (cdsls CustomDataSourceLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
51358	return nil, false
51359}
51360
51361// AsPrestoLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
51362func (cdsls CustomDataSourceLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
51363	return nil, false
51364}
51365
51366// AsPhoenixLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
51367func (cdsls CustomDataSourceLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
51368	return nil, false
51369}
51370
51371// AsPaypalLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
51372func (cdsls CustomDataSourceLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
51373	return nil, false
51374}
51375
51376// AsMarketoLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
51377func (cdsls CustomDataSourceLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
51378	return nil, false
51379}
51380
51381// AsMariaDBLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
51382func (cdsls CustomDataSourceLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
51383	return nil, false
51384}
51385
51386// AsMagentoLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
51387func (cdsls CustomDataSourceLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
51388	return nil, false
51389}
51390
51391// AsJiraLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
51392func (cdsls CustomDataSourceLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
51393	return nil, false
51394}
51395
51396// AsImpalaLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
51397func (cdsls CustomDataSourceLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
51398	return nil, false
51399}
51400
51401// AsHubspotLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
51402func (cdsls CustomDataSourceLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
51403	return nil, false
51404}
51405
51406// AsHiveLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
51407func (cdsls CustomDataSourceLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
51408	return nil, false
51409}
51410
51411// AsHBaseLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
51412func (cdsls CustomDataSourceLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
51413	return nil, false
51414}
51415
51416// AsGreenplumLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
51417func (cdsls CustomDataSourceLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
51418	return nil, false
51419}
51420
51421// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
51422func (cdsls CustomDataSourceLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
51423	return nil, false
51424}
51425
51426// AsEloquaLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
51427func (cdsls CustomDataSourceLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
51428	return nil, false
51429}
51430
51431// AsDrillLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
51432func (cdsls CustomDataSourceLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
51433	return nil, false
51434}
51435
51436// AsCouchbaseLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
51437func (cdsls CustomDataSourceLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
51438	return nil, false
51439}
51440
51441// AsConcurLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
51442func (cdsls CustomDataSourceLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
51443	return nil, false
51444}
51445
51446// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
51447func (cdsls CustomDataSourceLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
51448	return nil, false
51449}
51450
51451// AsAmazonMWSLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
51452func (cdsls CustomDataSourceLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
51453	return nil, false
51454}
51455
51456// AsSapHanaLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
51457func (cdsls CustomDataSourceLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
51458	return nil, false
51459}
51460
51461// AsSapBWLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
51462func (cdsls CustomDataSourceLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
51463	return nil, false
51464}
51465
51466// AsSftpServerLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
51467func (cdsls CustomDataSourceLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
51468	return nil, false
51469}
51470
51471// AsFtpServerLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
51472func (cdsls CustomDataSourceLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
51473	return nil, false
51474}
51475
51476// AsHTTPLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
51477func (cdsls CustomDataSourceLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
51478	return nil, false
51479}
51480
51481// AsAzureSearchLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
51482func (cdsls CustomDataSourceLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
51483	return nil, false
51484}
51485
51486// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
51487func (cdsls CustomDataSourceLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
51488	return &cdsls, true
51489}
51490
51491// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
51492func (cdsls CustomDataSourceLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
51493	return nil, false
51494}
51495
51496// AsAmazonS3LinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
51497func (cdsls CustomDataSourceLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
51498	return nil, false
51499}
51500
51501// AsRestServiceLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
51502func (cdsls CustomDataSourceLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) {
51503	return nil, false
51504}
51505
51506// AsSapOpenHubLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
51507func (cdsls CustomDataSourceLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) {
51508	return nil, false
51509}
51510
51511// AsSapEccLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
51512func (cdsls CustomDataSourceLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
51513	return nil, false
51514}
51515
51516// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
51517func (cdsls CustomDataSourceLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
51518	return nil, false
51519}
51520
51521// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
51522func (cdsls CustomDataSourceLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) {
51523	return nil, false
51524}
51525
51526// AsSalesforceLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
51527func (cdsls CustomDataSourceLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
51528	return nil, false
51529}
51530
51531// AsOffice365LinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
51532func (cdsls CustomDataSourceLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) {
51533	return nil, false
51534}
51535
51536// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
51537func (cdsls CustomDataSourceLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) {
51538	return nil, false
51539}
51540
51541// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
51542func (cdsls CustomDataSourceLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
51543	return nil, false
51544}
51545
51546// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
51547func (cdsls CustomDataSourceLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) {
51548	return nil, false
51549}
51550
51551// AsMongoDbV2LinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
51552func (cdsls CustomDataSourceLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) {
51553	return nil, false
51554}
51555
51556// AsMongoDbLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
51557func (cdsls CustomDataSourceLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
51558	return nil, false
51559}
51560
51561// AsCassandraLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
51562func (cdsls CustomDataSourceLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
51563	return nil, false
51564}
51565
51566// AsWebLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
51567func (cdsls CustomDataSourceLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
51568	return nil, false
51569}
51570
51571// AsODataLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
51572func (cdsls CustomDataSourceLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
51573	return nil, false
51574}
51575
51576// AsHdfsLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
51577func (cdsls CustomDataSourceLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
51578	return nil, false
51579}
51580
51581// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
51582func (cdsls CustomDataSourceLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) {
51583	return nil, false
51584}
51585
51586// AsInformixLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
51587func (cdsls CustomDataSourceLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) {
51588	return nil, false
51589}
51590
51591// AsOdbcLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
51592func (cdsls CustomDataSourceLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
51593	return nil, false
51594}
51595
51596// AsAzureMLLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
51597func (cdsls CustomDataSourceLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
51598	return nil, false
51599}
51600
51601// AsTeradataLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
51602func (cdsls CustomDataSourceLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
51603	return nil, false
51604}
51605
51606// AsDb2LinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
51607func (cdsls CustomDataSourceLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
51608	return nil, false
51609}
51610
51611// AsSybaseLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
51612func (cdsls CustomDataSourceLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
51613	return nil, false
51614}
51615
51616// AsPostgreSQLLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
51617func (cdsls CustomDataSourceLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
51618	return nil, false
51619}
51620
51621// AsMySQLLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
51622func (cdsls CustomDataSourceLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
51623	return nil, false
51624}
51625
51626// AsAzureMySQLLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
51627func (cdsls CustomDataSourceLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
51628	return nil, false
51629}
51630
51631// AsOracleLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
51632func (cdsls CustomDataSourceLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
51633	return nil, false
51634}
51635
51636// AsFileServerLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
51637func (cdsls CustomDataSourceLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
51638	return nil, false
51639}
51640
51641// AsHDInsightLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
51642func (cdsls CustomDataSourceLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
51643	return nil, false
51644}
51645
51646// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
51647func (cdsls CustomDataSourceLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) {
51648	return nil, false
51649}
51650
51651// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
51652func (cdsls CustomDataSourceLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) {
51653	return nil, false
51654}
51655
51656// AsDynamicsLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
51657func (cdsls CustomDataSourceLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
51658	return nil, false
51659}
51660
51661// AsCosmosDbLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
51662func (cdsls CustomDataSourceLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
51663	return nil, false
51664}
51665
51666// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
51667func (cdsls CustomDataSourceLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
51668	return nil, false
51669}
51670
51671// AsAzureBatchLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
51672func (cdsls CustomDataSourceLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
51673	return nil, false
51674}
51675
51676// AsAzureSQLMILinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
51677func (cdsls CustomDataSourceLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) {
51678	return nil, false
51679}
51680
51681// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
51682func (cdsls CustomDataSourceLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
51683	return nil, false
51684}
51685
51686// AsSQLServerLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
51687func (cdsls CustomDataSourceLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
51688	return nil, false
51689}
51690
51691// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
51692func (cdsls CustomDataSourceLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
51693	return nil, false
51694}
51695
51696// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
51697func (cdsls CustomDataSourceLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) {
51698	return nil, false
51699}
51700
51701// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
51702func (cdsls CustomDataSourceLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) {
51703	return nil, false
51704}
51705
51706// AsAzureStorageLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
51707func (cdsls CustomDataSourceLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
51708	return nil, false
51709}
51710
51711// AsLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
51712func (cdsls CustomDataSourceLinkedService) AsLinkedService() (*LinkedService, bool) {
51713	return nil, false
51714}
51715
51716// AsBasicLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
51717func (cdsls CustomDataSourceLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
51718	return &cdsls, true
51719}
51720
51721// UnmarshalJSON is the custom unmarshaler for CustomDataSourceLinkedService struct.
51722func (cdsls *CustomDataSourceLinkedService) UnmarshalJSON(body []byte) error {
51723	var m map[string]*json.RawMessage
51724	err := json.Unmarshal(body, &m)
51725	if err != nil {
51726		return err
51727	}
51728	for k, v := range m {
51729		switch k {
51730		case "typeProperties":
51731			if v != nil {
51732				var typeProperties interface{}
51733				err = json.Unmarshal(*v, &typeProperties)
51734				if err != nil {
51735					return err
51736				}
51737				cdsls.TypeProperties = typeProperties
51738			}
51739		default:
51740			if v != nil {
51741				var additionalProperties interface{}
51742				err = json.Unmarshal(*v, &additionalProperties)
51743				if err != nil {
51744					return err
51745				}
51746				if cdsls.AdditionalProperties == nil {
51747					cdsls.AdditionalProperties = make(map[string]interface{})
51748				}
51749				cdsls.AdditionalProperties[k] = additionalProperties
51750			}
51751		case "connectVia":
51752			if v != nil {
51753				var connectVia IntegrationRuntimeReference
51754				err = json.Unmarshal(*v, &connectVia)
51755				if err != nil {
51756					return err
51757				}
51758				cdsls.ConnectVia = &connectVia
51759			}
51760		case "description":
51761			if v != nil {
51762				var description string
51763				err = json.Unmarshal(*v, &description)
51764				if err != nil {
51765					return err
51766				}
51767				cdsls.Description = &description
51768			}
51769		case "parameters":
51770			if v != nil {
51771				var parameters map[string]*ParameterSpecification
51772				err = json.Unmarshal(*v, &parameters)
51773				if err != nil {
51774					return err
51775				}
51776				cdsls.Parameters = parameters
51777			}
51778		case "annotations":
51779			if v != nil {
51780				var annotations []interface{}
51781				err = json.Unmarshal(*v, &annotations)
51782				if err != nil {
51783					return err
51784				}
51785				cdsls.Annotations = &annotations
51786			}
51787		case "type":
51788			if v != nil {
51789				var typeVar TypeBasicLinkedService
51790				err = json.Unmarshal(*v, &typeVar)
51791				if err != nil {
51792					return err
51793				}
51794				cdsls.Type = typeVar
51795			}
51796		}
51797	}
51798
51799	return nil
51800}
51801
51802// DatabricksNotebookActivity databricksNotebook activity.
51803type DatabricksNotebookActivity struct {
51804	// DatabricksNotebookActivityTypeProperties - Databricks Notebook activity properties.
51805	*DatabricksNotebookActivityTypeProperties `json:"typeProperties,omitempty"`
51806	// LinkedServiceName - Linked service reference.
51807	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
51808	// Policy - Activity policy.
51809	Policy *ActivityPolicy `json:"policy,omitempty"`
51810	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
51811	AdditionalProperties map[string]interface{} `json:""`
51812	// Name - Activity name.
51813	Name *string `json:"name,omitempty"`
51814	// Description - Activity description.
51815	Description *string `json:"description,omitempty"`
51816	// DependsOn - Activity depends on condition.
51817	DependsOn *[]ActivityDependency `json:"dependsOn,omitempty"`
51818	// UserProperties - Activity user properties.
51819	UserProperties *[]UserProperty `json:"userProperties,omitempty"`
51820	// Type - Possible values include: 'TypeActivity', 'TypeAzureFunctionActivity', 'TypeDatabricksSparkPython', 'TypeDatabricksSparkJar', 'TypeDatabricksNotebook', 'TypeDataLakeAnalyticsUSQL', 'TypeAzureMLUpdateResource', 'TypeAzureMLBatchExecution', 'TypeGetMetadata', 'TypeWebActivity', 'TypeLookup', 'TypeAzureDataExplorerCommand', 'TypeDelete', 'TypeSQLServerStoredProcedure', 'TypeCustom', 'TypeExecuteSSISPackage', 'TypeHDInsightSpark', 'TypeHDInsightStreaming', 'TypeHDInsightMapReduce', 'TypeHDInsightPig', 'TypeHDInsightHive', 'TypeCopy', 'TypeExecution', 'TypeWebHook', 'TypeAppendVariable', 'TypeSetVariable', 'TypeFilter', 'TypeValidation', 'TypeUntil', 'TypeWait', 'TypeForEach', 'TypeIfCondition', 'TypeExecutePipeline', 'TypeContainer'
51821	Type TypeBasicActivity `json:"type,omitempty"`
51822}
51823
51824// MarshalJSON is the custom marshaler for DatabricksNotebookActivity.
51825func (dna DatabricksNotebookActivity) MarshalJSON() ([]byte, error) {
51826	dna.Type = TypeDatabricksNotebook
51827	objectMap := make(map[string]interface{})
51828	if dna.DatabricksNotebookActivityTypeProperties != nil {
51829		objectMap["typeProperties"] = dna.DatabricksNotebookActivityTypeProperties
51830	}
51831	if dna.LinkedServiceName != nil {
51832		objectMap["linkedServiceName"] = dna.LinkedServiceName
51833	}
51834	if dna.Policy != nil {
51835		objectMap["policy"] = dna.Policy
51836	}
51837	if dna.Name != nil {
51838		objectMap["name"] = dna.Name
51839	}
51840	if dna.Description != nil {
51841		objectMap["description"] = dna.Description
51842	}
51843	if dna.DependsOn != nil {
51844		objectMap["dependsOn"] = dna.DependsOn
51845	}
51846	if dna.UserProperties != nil {
51847		objectMap["userProperties"] = dna.UserProperties
51848	}
51849	if dna.Type != "" {
51850		objectMap["type"] = dna.Type
51851	}
51852	for k, v := range dna.AdditionalProperties {
51853		objectMap[k] = v
51854	}
51855	return json.Marshal(objectMap)
51856}
51857
51858// AsAzureFunctionActivity is the BasicActivity implementation for DatabricksNotebookActivity.
51859func (dna DatabricksNotebookActivity) AsAzureFunctionActivity() (*AzureFunctionActivity, bool) {
51860	return nil, false
51861}
51862
51863// AsDatabricksSparkPythonActivity is the BasicActivity implementation for DatabricksNotebookActivity.
51864func (dna DatabricksNotebookActivity) AsDatabricksSparkPythonActivity() (*DatabricksSparkPythonActivity, bool) {
51865	return nil, false
51866}
51867
51868// AsDatabricksSparkJarActivity is the BasicActivity implementation for DatabricksNotebookActivity.
51869func (dna DatabricksNotebookActivity) AsDatabricksSparkJarActivity() (*DatabricksSparkJarActivity, bool) {
51870	return nil, false
51871}
51872
51873// AsDatabricksNotebookActivity is the BasicActivity implementation for DatabricksNotebookActivity.
51874func (dna DatabricksNotebookActivity) AsDatabricksNotebookActivity() (*DatabricksNotebookActivity, bool) {
51875	return &dna, true
51876}
51877
51878// AsDataLakeAnalyticsUSQLActivity is the BasicActivity implementation for DatabricksNotebookActivity.
51879func (dna DatabricksNotebookActivity) AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalyticsUSQLActivity, bool) {
51880	return nil, false
51881}
51882
51883// AsAzureMLUpdateResourceActivity is the BasicActivity implementation for DatabricksNotebookActivity.
51884func (dna DatabricksNotebookActivity) AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool) {
51885	return nil, false
51886}
51887
51888// AsAzureMLBatchExecutionActivity is the BasicActivity implementation for DatabricksNotebookActivity.
51889func (dna DatabricksNotebookActivity) AsAzureMLBatchExecutionActivity() (*AzureMLBatchExecutionActivity, bool) {
51890	return nil, false
51891}
51892
51893// AsGetMetadataActivity is the BasicActivity implementation for DatabricksNotebookActivity.
51894func (dna DatabricksNotebookActivity) AsGetMetadataActivity() (*GetMetadataActivity, bool) {
51895	return nil, false
51896}
51897
51898// AsWebActivity is the BasicActivity implementation for DatabricksNotebookActivity.
51899func (dna DatabricksNotebookActivity) AsWebActivity() (*WebActivity, bool) {
51900	return nil, false
51901}
51902
51903// AsLookupActivity is the BasicActivity implementation for DatabricksNotebookActivity.
51904func (dna DatabricksNotebookActivity) AsLookupActivity() (*LookupActivity, bool) {
51905	return nil, false
51906}
51907
51908// AsAzureDataExplorerCommandActivity is the BasicActivity implementation for DatabricksNotebookActivity.
51909func (dna DatabricksNotebookActivity) AsAzureDataExplorerCommandActivity() (*AzureDataExplorerCommandActivity, bool) {
51910	return nil, false
51911}
51912
51913// AsDeleteActivity is the BasicActivity implementation for DatabricksNotebookActivity.
51914func (dna DatabricksNotebookActivity) AsDeleteActivity() (*DeleteActivity, bool) {
51915	return nil, false
51916}
51917
51918// AsSQLServerStoredProcedureActivity is the BasicActivity implementation for DatabricksNotebookActivity.
51919func (dna DatabricksNotebookActivity) AsSQLServerStoredProcedureActivity() (*SQLServerStoredProcedureActivity, bool) {
51920	return nil, false
51921}
51922
51923// AsCustomActivity is the BasicActivity implementation for DatabricksNotebookActivity.
51924func (dna DatabricksNotebookActivity) AsCustomActivity() (*CustomActivity, bool) {
51925	return nil, false
51926}
51927
51928// AsExecuteSSISPackageActivity is the BasicActivity implementation for DatabricksNotebookActivity.
51929func (dna DatabricksNotebookActivity) AsExecuteSSISPackageActivity() (*ExecuteSSISPackageActivity, bool) {
51930	return nil, false
51931}
51932
51933// AsHDInsightSparkActivity is the BasicActivity implementation for DatabricksNotebookActivity.
51934func (dna DatabricksNotebookActivity) AsHDInsightSparkActivity() (*HDInsightSparkActivity, bool) {
51935	return nil, false
51936}
51937
51938// AsHDInsightStreamingActivity is the BasicActivity implementation for DatabricksNotebookActivity.
51939func (dna DatabricksNotebookActivity) AsHDInsightStreamingActivity() (*HDInsightStreamingActivity, bool) {
51940	return nil, false
51941}
51942
51943// AsHDInsightMapReduceActivity is the BasicActivity implementation for DatabricksNotebookActivity.
51944func (dna DatabricksNotebookActivity) AsHDInsightMapReduceActivity() (*HDInsightMapReduceActivity, bool) {
51945	return nil, false
51946}
51947
51948// AsHDInsightPigActivity is the BasicActivity implementation for DatabricksNotebookActivity.
51949func (dna DatabricksNotebookActivity) AsHDInsightPigActivity() (*HDInsightPigActivity, bool) {
51950	return nil, false
51951}
51952
51953// AsHDInsightHiveActivity is the BasicActivity implementation for DatabricksNotebookActivity.
51954func (dna DatabricksNotebookActivity) AsHDInsightHiveActivity() (*HDInsightHiveActivity, bool) {
51955	return nil, false
51956}
51957
51958// AsCopyActivity is the BasicActivity implementation for DatabricksNotebookActivity.
51959func (dna DatabricksNotebookActivity) AsCopyActivity() (*CopyActivity, bool) {
51960	return nil, false
51961}
51962
51963// AsExecutionActivity is the BasicActivity implementation for DatabricksNotebookActivity.
51964func (dna DatabricksNotebookActivity) AsExecutionActivity() (*ExecutionActivity, bool) {
51965	return nil, false
51966}
51967
51968// AsBasicExecutionActivity is the BasicActivity implementation for DatabricksNotebookActivity.
51969func (dna DatabricksNotebookActivity) AsBasicExecutionActivity() (BasicExecutionActivity, bool) {
51970	return &dna, true
51971}
51972
51973// AsWebHookActivity is the BasicActivity implementation for DatabricksNotebookActivity.
51974func (dna DatabricksNotebookActivity) AsWebHookActivity() (*WebHookActivity, bool) {
51975	return nil, false
51976}
51977
51978// AsAppendVariableActivity is the BasicActivity implementation for DatabricksNotebookActivity.
51979func (dna DatabricksNotebookActivity) AsAppendVariableActivity() (*AppendVariableActivity, bool) {
51980	return nil, false
51981}
51982
51983// AsSetVariableActivity is the BasicActivity implementation for DatabricksNotebookActivity.
51984func (dna DatabricksNotebookActivity) AsSetVariableActivity() (*SetVariableActivity, bool) {
51985	return nil, false
51986}
51987
51988// AsFilterActivity is the BasicActivity implementation for DatabricksNotebookActivity.
51989func (dna DatabricksNotebookActivity) AsFilterActivity() (*FilterActivity, bool) {
51990	return nil, false
51991}
51992
51993// AsValidationActivity is the BasicActivity implementation for DatabricksNotebookActivity.
51994func (dna DatabricksNotebookActivity) AsValidationActivity() (*ValidationActivity, bool) {
51995	return nil, false
51996}
51997
51998// AsUntilActivity is the BasicActivity implementation for DatabricksNotebookActivity.
51999func (dna DatabricksNotebookActivity) AsUntilActivity() (*UntilActivity, bool) {
52000	return nil, false
52001}
52002
52003// AsWaitActivity is the BasicActivity implementation for DatabricksNotebookActivity.
52004func (dna DatabricksNotebookActivity) AsWaitActivity() (*WaitActivity, bool) {
52005	return nil, false
52006}
52007
52008// AsForEachActivity is the BasicActivity implementation for DatabricksNotebookActivity.
52009func (dna DatabricksNotebookActivity) AsForEachActivity() (*ForEachActivity, bool) {
52010	return nil, false
52011}
52012
52013// AsIfConditionActivity is the BasicActivity implementation for DatabricksNotebookActivity.
52014func (dna DatabricksNotebookActivity) AsIfConditionActivity() (*IfConditionActivity, bool) {
52015	return nil, false
52016}
52017
52018// AsExecutePipelineActivity is the BasicActivity implementation for DatabricksNotebookActivity.
52019func (dna DatabricksNotebookActivity) AsExecutePipelineActivity() (*ExecutePipelineActivity, bool) {
52020	return nil, false
52021}
52022
52023// AsControlActivity is the BasicActivity implementation for DatabricksNotebookActivity.
52024func (dna DatabricksNotebookActivity) AsControlActivity() (*ControlActivity, bool) {
52025	return nil, false
52026}
52027
52028// AsBasicControlActivity is the BasicActivity implementation for DatabricksNotebookActivity.
52029func (dna DatabricksNotebookActivity) AsBasicControlActivity() (BasicControlActivity, bool) {
52030	return nil, false
52031}
52032
52033// AsActivity is the BasicActivity implementation for DatabricksNotebookActivity.
52034func (dna DatabricksNotebookActivity) AsActivity() (*Activity, bool) {
52035	return nil, false
52036}
52037
52038// AsBasicActivity is the BasicActivity implementation for DatabricksNotebookActivity.
52039func (dna DatabricksNotebookActivity) AsBasicActivity() (BasicActivity, bool) {
52040	return &dna, true
52041}
52042
52043// UnmarshalJSON is the custom unmarshaler for DatabricksNotebookActivity struct.
52044func (dna *DatabricksNotebookActivity) UnmarshalJSON(body []byte) error {
52045	var m map[string]*json.RawMessage
52046	err := json.Unmarshal(body, &m)
52047	if err != nil {
52048		return err
52049	}
52050	for k, v := range m {
52051		switch k {
52052		case "typeProperties":
52053			if v != nil {
52054				var databricksNotebookActivityTypeProperties DatabricksNotebookActivityTypeProperties
52055				err = json.Unmarshal(*v, &databricksNotebookActivityTypeProperties)
52056				if err != nil {
52057					return err
52058				}
52059				dna.DatabricksNotebookActivityTypeProperties = &databricksNotebookActivityTypeProperties
52060			}
52061		case "linkedServiceName":
52062			if v != nil {
52063				var linkedServiceName LinkedServiceReference
52064				err = json.Unmarshal(*v, &linkedServiceName)
52065				if err != nil {
52066					return err
52067				}
52068				dna.LinkedServiceName = &linkedServiceName
52069			}
52070		case "policy":
52071			if v != nil {
52072				var policy ActivityPolicy
52073				err = json.Unmarshal(*v, &policy)
52074				if err != nil {
52075					return err
52076				}
52077				dna.Policy = &policy
52078			}
52079		default:
52080			if v != nil {
52081				var additionalProperties interface{}
52082				err = json.Unmarshal(*v, &additionalProperties)
52083				if err != nil {
52084					return err
52085				}
52086				if dna.AdditionalProperties == nil {
52087					dna.AdditionalProperties = make(map[string]interface{})
52088				}
52089				dna.AdditionalProperties[k] = additionalProperties
52090			}
52091		case "name":
52092			if v != nil {
52093				var name string
52094				err = json.Unmarshal(*v, &name)
52095				if err != nil {
52096					return err
52097				}
52098				dna.Name = &name
52099			}
52100		case "description":
52101			if v != nil {
52102				var description string
52103				err = json.Unmarshal(*v, &description)
52104				if err != nil {
52105					return err
52106				}
52107				dna.Description = &description
52108			}
52109		case "dependsOn":
52110			if v != nil {
52111				var dependsOn []ActivityDependency
52112				err = json.Unmarshal(*v, &dependsOn)
52113				if err != nil {
52114					return err
52115				}
52116				dna.DependsOn = &dependsOn
52117			}
52118		case "userProperties":
52119			if v != nil {
52120				var userProperties []UserProperty
52121				err = json.Unmarshal(*v, &userProperties)
52122				if err != nil {
52123					return err
52124				}
52125				dna.UserProperties = &userProperties
52126			}
52127		case "type":
52128			if v != nil {
52129				var typeVar TypeBasicActivity
52130				err = json.Unmarshal(*v, &typeVar)
52131				if err != nil {
52132					return err
52133				}
52134				dna.Type = typeVar
52135			}
52136		}
52137	}
52138
52139	return nil
52140}
52141
52142// DatabricksNotebookActivityTypeProperties databricks Notebook activity properties.
52143type DatabricksNotebookActivityTypeProperties struct {
52144	// 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).
52145	NotebookPath interface{} `json:"notebookPath,omitempty"`
52146	// 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.
52147	BaseParameters map[string]interface{} `json:"baseParameters"`
52148	// Libraries - A list of libraries to be installed on the cluster that will execute the job.
52149	Libraries *[]map[string]interface{} `json:"libraries,omitempty"`
52150}
52151
52152// MarshalJSON is the custom marshaler for DatabricksNotebookActivityTypeProperties.
52153func (dnatp DatabricksNotebookActivityTypeProperties) MarshalJSON() ([]byte, error) {
52154	objectMap := make(map[string]interface{})
52155	if dnatp.NotebookPath != nil {
52156		objectMap["notebookPath"] = dnatp.NotebookPath
52157	}
52158	if dnatp.BaseParameters != nil {
52159		objectMap["baseParameters"] = dnatp.BaseParameters
52160	}
52161	if dnatp.Libraries != nil {
52162		objectMap["libraries"] = dnatp.Libraries
52163	}
52164	return json.Marshal(objectMap)
52165}
52166
52167// DatabricksSparkJarActivity databricksSparkJar activity.
52168type DatabricksSparkJarActivity struct {
52169	// DatabricksSparkJarActivityTypeProperties - Databricks SparkJar activity properties.
52170	*DatabricksSparkJarActivityTypeProperties `json:"typeProperties,omitempty"`
52171	// LinkedServiceName - Linked service reference.
52172	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
52173	// Policy - Activity policy.
52174	Policy *ActivityPolicy `json:"policy,omitempty"`
52175	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
52176	AdditionalProperties map[string]interface{} `json:""`
52177	// Name - Activity name.
52178	Name *string `json:"name,omitempty"`
52179	// Description - Activity description.
52180	Description *string `json:"description,omitempty"`
52181	// DependsOn - Activity depends on condition.
52182	DependsOn *[]ActivityDependency `json:"dependsOn,omitempty"`
52183	// UserProperties - Activity user properties.
52184	UserProperties *[]UserProperty `json:"userProperties,omitempty"`
52185	// Type - Possible values include: 'TypeActivity', 'TypeAzureFunctionActivity', 'TypeDatabricksSparkPython', 'TypeDatabricksSparkJar', 'TypeDatabricksNotebook', 'TypeDataLakeAnalyticsUSQL', 'TypeAzureMLUpdateResource', 'TypeAzureMLBatchExecution', 'TypeGetMetadata', 'TypeWebActivity', 'TypeLookup', 'TypeAzureDataExplorerCommand', 'TypeDelete', 'TypeSQLServerStoredProcedure', 'TypeCustom', 'TypeExecuteSSISPackage', 'TypeHDInsightSpark', 'TypeHDInsightStreaming', 'TypeHDInsightMapReduce', 'TypeHDInsightPig', 'TypeHDInsightHive', 'TypeCopy', 'TypeExecution', 'TypeWebHook', 'TypeAppendVariable', 'TypeSetVariable', 'TypeFilter', 'TypeValidation', 'TypeUntil', 'TypeWait', 'TypeForEach', 'TypeIfCondition', 'TypeExecutePipeline', 'TypeContainer'
52186	Type TypeBasicActivity `json:"type,omitempty"`
52187}
52188
52189// MarshalJSON is the custom marshaler for DatabricksSparkJarActivity.
52190func (dsja DatabricksSparkJarActivity) MarshalJSON() ([]byte, error) {
52191	dsja.Type = TypeDatabricksSparkJar
52192	objectMap := make(map[string]interface{})
52193	if dsja.DatabricksSparkJarActivityTypeProperties != nil {
52194		objectMap["typeProperties"] = dsja.DatabricksSparkJarActivityTypeProperties
52195	}
52196	if dsja.LinkedServiceName != nil {
52197		objectMap["linkedServiceName"] = dsja.LinkedServiceName
52198	}
52199	if dsja.Policy != nil {
52200		objectMap["policy"] = dsja.Policy
52201	}
52202	if dsja.Name != nil {
52203		objectMap["name"] = dsja.Name
52204	}
52205	if dsja.Description != nil {
52206		objectMap["description"] = dsja.Description
52207	}
52208	if dsja.DependsOn != nil {
52209		objectMap["dependsOn"] = dsja.DependsOn
52210	}
52211	if dsja.UserProperties != nil {
52212		objectMap["userProperties"] = dsja.UserProperties
52213	}
52214	if dsja.Type != "" {
52215		objectMap["type"] = dsja.Type
52216	}
52217	for k, v := range dsja.AdditionalProperties {
52218		objectMap[k] = v
52219	}
52220	return json.Marshal(objectMap)
52221}
52222
52223// AsAzureFunctionActivity is the BasicActivity implementation for DatabricksSparkJarActivity.
52224func (dsja DatabricksSparkJarActivity) AsAzureFunctionActivity() (*AzureFunctionActivity, bool) {
52225	return nil, false
52226}
52227
52228// AsDatabricksSparkPythonActivity is the BasicActivity implementation for DatabricksSparkJarActivity.
52229func (dsja DatabricksSparkJarActivity) AsDatabricksSparkPythonActivity() (*DatabricksSparkPythonActivity, bool) {
52230	return nil, false
52231}
52232
52233// AsDatabricksSparkJarActivity is the BasicActivity implementation for DatabricksSparkJarActivity.
52234func (dsja DatabricksSparkJarActivity) AsDatabricksSparkJarActivity() (*DatabricksSparkJarActivity, bool) {
52235	return &dsja, true
52236}
52237
52238// AsDatabricksNotebookActivity is the BasicActivity implementation for DatabricksSparkJarActivity.
52239func (dsja DatabricksSparkJarActivity) AsDatabricksNotebookActivity() (*DatabricksNotebookActivity, bool) {
52240	return nil, false
52241}
52242
52243// AsDataLakeAnalyticsUSQLActivity is the BasicActivity implementation for DatabricksSparkJarActivity.
52244func (dsja DatabricksSparkJarActivity) AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalyticsUSQLActivity, bool) {
52245	return nil, false
52246}
52247
52248// AsAzureMLUpdateResourceActivity is the BasicActivity implementation for DatabricksSparkJarActivity.
52249func (dsja DatabricksSparkJarActivity) AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool) {
52250	return nil, false
52251}
52252
52253// AsAzureMLBatchExecutionActivity is the BasicActivity implementation for DatabricksSparkJarActivity.
52254func (dsja DatabricksSparkJarActivity) AsAzureMLBatchExecutionActivity() (*AzureMLBatchExecutionActivity, bool) {
52255	return nil, false
52256}
52257
52258// AsGetMetadataActivity is the BasicActivity implementation for DatabricksSparkJarActivity.
52259func (dsja DatabricksSparkJarActivity) AsGetMetadataActivity() (*GetMetadataActivity, bool) {
52260	return nil, false
52261}
52262
52263// AsWebActivity is the BasicActivity implementation for DatabricksSparkJarActivity.
52264func (dsja DatabricksSparkJarActivity) AsWebActivity() (*WebActivity, bool) {
52265	return nil, false
52266}
52267
52268// AsLookupActivity is the BasicActivity implementation for DatabricksSparkJarActivity.
52269func (dsja DatabricksSparkJarActivity) AsLookupActivity() (*LookupActivity, bool) {
52270	return nil, false
52271}
52272
52273// AsAzureDataExplorerCommandActivity is the BasicActivity implementation for DatabricksSparkJarActivity.
52274func (dsja DatabricksSparkJarActivity) AsAzureDataExplorerCommandActivity() (*AzureDataExplorerCommandActivity, bool) {
52275	return nil, false
52276}
52277
52278// AsDeleteActivity is the BasicActivity implementation for DatabricksSparkJarActivity.
52279func (dsja DatabricksSparkJarActivity) AsDeleteActivity() (*DeleteActivity, bool) {
52280	return nil, false
52281}
52282
52283// AsSQLServerStoredProcedureActivity is the BasicActivity implementation for DatabricksSparkJarActivity.
52284func (dsja DatabricksSparkJarActivity) AsSQLServerStoredProcedureActivity() (*SQLServerStoredProcedureActivity, bool) {
52285	return nil, false
52286}
52287
52288// AsCustomActivity is the BasicActivity implementation for DatabricksSparkJarActivity.
52289func (dsja DatabricksSparkJarActivity) AsCustomActivity() (*CustomActivity, bool) {
52290	return nil, false
52291}
52292
52293// AsExecuteSSISPackageActivity is the BasicActivity implementation for DatabricksSparkJarActivity.
52294func (dsja DatabricksSparkJarActivity) AsExecuteSSISPackageActivity() (*ExecuteSSISPackageActivity, bool) {
52295	return nil, false
52296}
52297
52298// AsHDInsightSparkActivity is the BasicActivity implementation for DatabricksSparkJarActivity.
52299func (dsja DatabricksSparkJarActivity) AsHDInsightSparkActivity() (*HDInsightSparkActivity, bool) {
52300	return nil, false
52301}
52302
52303// AsHDInsightStreamingActivity is the BasicActivity implementation for DatabricksSparkJarActivity.
52304func (dsja DatabricksSparkJarActivity) AsHDInsightStreamingActivity() (*HDInsightStreamingActivity, bool) {
52305	return nil, false
52306}
52307
52308// AsHDInsightMapReduceActivity is the BasicActivity implementation for DatabricksSparkJarActivity.
52309func (dsja DatabricksSparkJarActivity) AsHDInsightMapReduceActivity() (*HDInsightMapReduceActivity, bool) {
52310	return nil, false
52311}
52312
52313// AsHDInsightPigActivity is the BasicActivity implementation for DatabricksSparkJarActivity.
52314func (dsja DatabricksSparkJarActivity) AsHDInsightPigActivity() (*HDInsightPigActivity, bool) {
52315	return nil, false
52316}
52317
52318// AsHDInsightHiveActivity is the BasicActivity implementation for DatabricksSparkJarActivity.
52319func (dsja DatabricksSparkJarActivity) AsHDInsightHiveActivity() (*HDInsightHiveActivity, bool) {
52320	return nil, false
52321}
52322
52323// AsCopyActivity is the BasicActivity implementation for DatabricksSparkJarActivity.
52324func (dsja DatabricksSparkJarActivity) AsCopyActivity() (*CopyActivity, bool) {
52325	return nil, false
52326}
52327
52328// AsExecutionActivity is the BasicActivity implementation for DatabricksSparkJarActivity.
52329func (dsja DatabricksSparkJarActivity) AsExecutionActivity() (*ExecutionActivity, bool) {
52330	return nil, false
52331}
52332
52333// AsBasicExecutionActivity is the BasicActivity implementation for DatabricksSparkJarActivity.
52334func (dsja DatabricksSparkJarActivity) AsBasicExecutionActivity() (BasicExecutionActivity, bool) {
52335	return &dsja, true
52336}
52337
52338// AsWebHookActivity is the BasicActivity implementation for DatabricksSparkJarActivity.
52339func (dsja DatabricksSparkJarActivity) AsWebHookActivity() (*WebHookActivity, bool) {
52340	return nil, false
52341}
52342
52343// AsAppendVariableActivity is the BasicActivity implementation for DatabricksSparkJarActivity.
52344func (dsja DatabricksSparkJarActivity) AsAppendVariableActivity() (*AppendVariableActivity, bool) {
52345	return nil, false
52346}
52347
52348// AsSetVariableActivity is the BasicActivity implementation for DatabricksSparkJarActivity.
52349func (dsja DatabricksSparkJarActivity) AsSetVariableActivity() (*SetVariableActivity, bool) {
52350	return nil, false
52351}
52352
52353// AsFilterActivity is the BasicActivity implementation for DatabricksSparkJarActivity.
52354func (dsja DatabricksSparkJarActivity) AsFilterActivity() (*FilterActivity, bool) {
52355	return nil, false
52356}
52357
52358// AsValidationActivity is the BasicActivity implementation for DatabricksSparkJarActivity.
52359func (dsja DatabricksSparkJarActivity) AsValidationActivity() (*ValidationActivity, bool) {
52360	return nil, false
52361}
52362
52363// AsUntilActivity is the BasicActivity implementation for DatabricksSparkJarActivity.
52364func (dsja DatabricksSparkJarActivity) AsUntilActivity() (*UntilActivity, bool) {
52365	return nil, false
52366}
52367
52368// AsWaitActivity is the BasicActivity implementation for DatabricksSparkJarActivity.
52369func (dsja DatabricksSparkJarActivity) AsWaitActivity() (*WaitActivity, bool) {
52370	return nil, false
52371}
52372
52373// AsForEachActivity is the BasicActivity implementation for DatabricksSparkJarActivity.
52374func (dsja DatabricksSparkJarActivity) AsForEachActivity() (*ForEachActivity, bool) {
52375	return nil, false
52376}
52377
52378// AsIfConditionActivity is the BasicActivity implementation for DatabricksSparkJarActivity.
52379func (dsja DatabricksSparkJarActivity) AsIfConditionActivity() (*IfConditionActivity, bool) {
52380	return nil, false
52381}
52382
52383// AsExecutePipelineActivity is the BasicActivity implementation for DatabricksSparkJarActivity.
52384func (dsja DatabricksSparkJarActivity) AsExecutePipelineActivity() (*ExecutePipelineActivity, bool) {
52385	return nil, false
52386}
52387
52388// AsControlActivity is the BasicActivity implementation for DatabricksSparkJarActivity.
52389func (dsja DatabricksSparkJarActivity) AsControlActivity() (*ControlActivity, bool) {
52390	return nil, false
52391}
52392
52393// AsBasicControlActivity is the BasicActivity implementation for DatabricksSparkJarActivity.
52394func (dsja DatabricksSparkJarActivity) AsBasicControlActivity() (BasicControlActivity, bool) {
52395	return nil, false
52396}
52397
52398// AsActivity is the BasicActivity implementation for DatabricksSparkJarActivity.
52399func (dsja DatabricksSparkJarActivity) AsActivity() (*Activity, bool) {
52400	return nil, false
52401}
52402
52403// AsBasicActivity is the BasicActivity implementation for DatabricksSparkJarActivity.
52404func (dsja DatabricksSparkJarActivity) AsBasicActivity() (BasicActivity, bool) {
52405	return &dsja, true
52406}
52407
52408// UnmarshalJSON is the custom unmarshaler for DatabricksSparkJarActivity struct.
52409func (dsja *DatabricksSparkJarActivity) UnmarshalJSON(body []byte) error {
52410	var m map[string]*json.RawMessage
52411	err := json.Unmarshal(body, &m)
52412	if err != nil {
52413		return err
52414	}
52415	for k, v := range m {
52416		switch k {
52417		case "typeProperties":
52418			if v != nil {
52419				var databricksSparkJarActivityTypeProperties DatabricksSparkJarActivityTypeProperties
52420				err = json.Unmarshal(*v, &databricksSparkJarActivityTypeProperties)
52421				if err != nil {
52422					return err
52423				}
52424				dsja.DatabricksSparkJarActivityTypeProperties = &databricksSparkJarActivityTypeProperties
52425			}
52426		case "linkedServiceName":
52427			if v != nil {
52428				var linkedServiceName LinkedServiceReference
52429				err = json.Unmarshal(*v, &linkedServiceName)
52430				if err != nil {
52431					return err
52432				}
52433				dsja.LinkedServiceName = &linkedServiceName
52434			}
52435		case "policy":
52436			if v != nil {
52437				var policy ActivityPolicy
52438				err = json.Unmarshal(*v, &policy)
52439				if err != nil {
52440					return err
52441				}
52442				dsja.Policy = &policy
52443			}
52444		default:
52445			if v != nil {
52446				var additionalProperties interface{}
52447				err = json.Unmarshal(*v, &additionalProperties)
52448				if err != nil {
52449					return err
52450				}
52451				if dsja.AdditionalProperties == nil {
52452					dsja.AdditionalProperties = make(map[string]interface{})
52453				}
52454				dsja.AdditionalProperties[k] = additionalProperties
52455			}
52456		case "name":
52457			if v != nil {
52458				var name string
52459				err = json.Unmarshal(*v, &name)
52460				if err != nil {
52461					return err
52462				}
52463				dsja.Name = &name
52464			}
52465		case "description":
52466			if v != nil {
52467				var description string
52468				err = json.Unmarshal(*v, &description)
52469				if err != nil {
52470					return err
52471				}
52472				dsja.Description = &description
52473			}
52474		case "dependsOn":
52475			if v != nil {
52476				var dependsOn []ActivityDependency
52477				err = json.Unmarshal(*v, &dependsOn)
52478				if err != nil {
52479					return err
52480				}
52481				dsja.DependsOn = &dependsOn
52482			}
52483		case "userProperties":
52484			if v != nil {
52485				var userProperties []UserProperty
52486				err = json.Unmarshal(*v, &userProperties)
52487				if err != nil {
52488					return err
52489				}
52490				dsja.UserProperties = &userProperties
52491			}
52492		case "type":
52493			if v != nil {
52494				var typeVar TypeBasicActivity
52495				err = json.Unmarshal(*v, &typeVar)
52496				if err != nil {
52497					return err
52498				}
52499				dsja.Type = typeVar
52500			}
52501		}
52502	}
52503
52504	return nil
52505}
52506
52507// DatabricksSparkJarActivityTypeProperties databricks SparkJar activity properties.
52508type DatabricksSparkJarActivityTypeProperties struct {
52509	// MainClassName - The full name of the class containing the main method to be executed. This class must be contained in a JAR provided as a library. Type: string (or Expression with resultType string).
52510	MainClassName interface{} `json:"mainClassName,omitempty"`
52511	// Parameters - Parameters that will be passed to the main method.
52512	Parameters *[]interface{} `json:"parameters,omitempty"`
52513	// Libraries - A list of libraries to be installed on the cluster that will execute the job.
52514	Libraries *[]map[string]interface{} `json:"libraries,omitempty"`
52515}
52516
52517// DatabricksSparkPythonActivity databricksSparkPython activity.
52518type DatabricksSparkPythonActivity struct {
52519	// DatabricksSparkPythonActivityTypeProperties - Databricks SparkPython activity properties.
52520	*DatabricksSparkPythonActivityTypeProperties `json:"typeProperties,omitempty"`
52521	// LinkedServiceName - Linked service reference.
52522	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
52523	// Policy - Activity policy.
52524	Policy *ActivityPolicy `json:"policy,omitempty"`
52525	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
52526	AdditionalProperties map[string]interface{} `json:""`
52527	// Name - Activity name.
52528	Name *string `json:"name,omitempty"`
52529	// Description - Activity description.
52530	Description *string `json:"description,omitempty"`
52531	// DependsOn - Activity depends on condition.
52532	DependsOn *[]ActivityDependency `json:"dependsOn,omitempty"`
52533	// UserProperties - Activity user properties.
52534	UserProperties *[]UserProperty `json:"userProperties,omitempty"`
52535	// Type - Possible values include: 'TypeActivity', 'TypeAzureFunctionActivity', 'TypeDatabricksSparkPython', 'TypeDatabricksSparkJar', 'TypeDatabricksNotebook', 'TypeDataLakeAnalyticsUSQL', 'TypeAzureMLUpdateResource', 'TypeAzureMLBatchExecution', 'TypeGetMetadata', 'TypeWebActivity', 'TypeLookup', 'TypeAzureDataExplorerCommand', 'TypeDelete', 'TypeSQLServerStoredProcedure', 'TypeCustom', 'TypeExecuteSSISPackage', 'TypeHDInsightSpark', 'TypeHDInsightStreaming', 'TypeHDInsightMapReduce', 'TypeHDInsightPig', 'TypeHDInsightHive', 'TypeCopy', 'TypeExecution', 'TypeWebHook', 'TypeAppendVariable', 'TypeSetVariable', 'TypeFilter', 'TypeValidation', 'TypeUntil', 'TypeWait', 'TypeForEach', 'TypeIfCondition', 'TypeExecutePipeline', 'TypeContainer'
52536	Type TypeBasicActivity `json:"type,omitempty"`
52537}
52538
52539// MarshalJSON is the custom marshaler for DatabricksSparkPythonActivity.
52540func (dspa DatabricksSparkPythonActivity) MarshalJSON() ([]byte, error) {
52541	dspa.Type = TypeDatabricksSparkPython
52542	objectMap := make(map[string]interface{})
52543	if dspa.DatabricksSparkPythonActivityTypeProperties != nil {
52544		objectMap["typeProperties"] = dspa.DatabricksSparkPythonActivityTypeProperties
52545	}
52546	if dspa.LinkedServiceName != nil {
52547		objectMap["linkedServiceName"] = dspa.LinkedServiceName
52548	}
52549	if dspa.Policy != nil {
52550		objectMap["policy"] = dspa.Policy
52551	}
52552	if dspa.Name != nil {
52553		objectMap["name"] = dspa.Name
52554	}
52555	if dspa.Description != nil {
52556		objectMap["description"] = dspa.Description
52557	}
52558	if dspa.DependsOn != nil {
52559		objectMap["dependsOn"] = dspa.DependsOn
52560	}
52561	if dspa.UserProperties != nil {
52562		objectMap["userProperties"] = dspa.UserProperties
52563	}
52564	if dspa.Type != "" {
52565		objectMap["type"] = dspa.Type
52566	}
52567	for k, v := range dspa.AdditionalProperties {
52568		objectMap[k] = v
52569	}
52570	return json.Marshal(objectMap)
52571}
52572
52573// AsAzureFunctionActivity is the BasicActivity implementation for DatabricksSparkPythonActivity.
52574func (dspa DatabricksSparkPythonActivity) AsAzureFunctionActivity() (*AzureFunctionActivity, bool) {
52575	return nil, false
52576}
52577
52578// AsDatabricksSparkPythonActivity is the BasicActivity implementation for DatabricksSparkPythonActivity.
52579func (dspa DatabricksSparkPythonActivity) AsDatabricksSparkPythonActivity() (*DatabricksSparkPythonActivity, bool) {
52580	return &dspa, true
52581}
52582
52583// AsDatabricksSparkJarActivity is the BasicActivity implementation for DatabricksSparkPythonActivity.
52584func (dspa DatabricksSparkPythonActivity) AsDatabricksSparkJarActivity() (*DatabricksSparkJarActivity, bool) {
52585	return nil, false
52586}
52587
52588// AsDatabricksNotebookActivity is the BasicActivity implementation for DatabricksSparkPythonActivity.
52589func (dspa DatabricksSparkPythonActivity) AsDatabricksNotebookActivity() (*DatabricksNotebookActivity, bool) {
52590	return nil, false
52591}
52592
52593// AsDataLakeAnalyticsUSQLActivity is the BasicActivity implementation for DatabricksSparkPythonActivity.
52594func (dspa DatabricksSparkPythonActivity) AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalyticsUSQLActivity, bool) {
52595	return nil, false
52596}
52597
52598// AsAzureMLUpdateResourceActivity is the BasicActivity implementation for DatabricksSparkPythonActivity.
52599func (dspa DatabricksSparkPythonActivity) AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool) {
52600	return nil, false
52601}
52602
52603// AsAzureMLBatchExecutionActivity is the BasicActivity implementation for DatabricksSparkPythonActivity.
52604func (dspa DatabricksSparkPythonActivity) AsAzureMLBatchExecutionActivity() (*AzureMLBatchExecutionActivity, bool) {
52605	return nil, false
52606}
52607
52608// AsGetMetadataActivity is the BasicActivity implementation for DatabricksSparkPythonActivity.
52609func (dspa DatabricksSparkPythonActivity) AsGetMetadataActivity() (*GetMetadataActivity, bool) {
52610	return nil, false
52611}
52612
52613// AsWebActivity is the BasicActivity implementation for DatabricksSparkPythonActivity.
52614func (dspa DatabricksSparkPythonActivity) AsWebActivity() (*WebActivity, bool) {
52615	return nil, false
52616}
52617
52618// AsLookupActivity is the BasicActivity implementation for DatabricksSparkPythonActivity.
52619func (dspa DatabricksSparkPythonActivity) AsLookupActivity() (*LookupActivity, bool) {
52620	return nil, false
52621}
52622
52623// AsAzureDataExplorerCommandActivity is the BasicActivity implementation for DatabricksSparkPythonActivity.
52624func (dspa DatabricksSparkPythonActivity) AsAzureDataExplorerCommandActivity() (*AzureDataExplorerCommandActivity, bool) {
52625	return nil, false
52626}
52627
52628// AsDeleteActivity is the BasicActivity implementation for DatabricksSparkPythonActivity.
52629func (dspa DatabricksSparkPythonActivity) AsDeleteActivity() (*DeleteActivity, bool) {
52630	return nil, false
52631}
52632
52633// AsSQLServerStoredProcedureActivity is the BasicActivity implementation for DatabricksSparkPythonActivity.
52634func (dspa DatabricksSparkPythonActivity) AsSQLServerStoredProcedureActivity() (*SQLServerStoredProcedureActivity, bool) {
52635	return nil, false
52636}
52637
52638// AsCustomActivity is the BasicActivity implementation for DatabricksSparkPythonActivity.
52639func (dspa DatabricksSparkPythonActivity) AsCustomActivity() (*CustomActivity, bool) {
52640	return nil, false
52641}
52642
52643// AsExecuteSSISPackageActivity is the BasicActivity implementation for DatabricksSparkPythonActivity.
52644func (dspa DatabricksSparkPythonActivity) AsExecuteSSISPackageActivity() (*ExecuteSSISPackageActivity, bool) {
52645	return nil, false
52646}
52647
52648// AsHDInsightSparkActivity is the BasicActivity implementation for DatabricksSparkPythonActivity.
52649func (dspa DatabricksSparkPythonActivity) AsHDInsightSparkActivity() (*HDInsightSparkActivity, bool) {
52650	return nil, false
52651}
52652
52653// AsHDInsightStreamingActivity is the BasicActivity implementation for DatabricksSparkPythonActivity.
52654func (dspa DatabricksSparkPythonActivity) AsHDInsightStreamingActivity() (*HDInsightStreamingActivity, bool) {
52655	return nil, false
52656}
52657
52658// AsHDInsightMapReduceActivity is the BasicActivity implementation for DatabricksSparkPythonActivity.
52659func (dspa DatabricksSparkPythonActivity) AsHDInsightMapReduceActivity() (*HDInsightMapReduceActivity, bool) {
52660	return nil, false
52661}
52662
52663// AsHDInsightPigActivity is the BasicActivity implementation for DatabricksSparkPythonActivity.
52664func (dspa DatabricksSparkPythonActivity) AsHDInsightPigActivity() (*HDInsightPigActivity, bool) {
52665	return nil, false
52666}
52667
52668// AsHDInsightHiveActivity is the BasicActivity implementation for DatabricksSparkPythonActivity.
52669func (dspa DatabricksSparkPythonActivity) AsHDInsightHiveActivity() (*HDInsightHiveActivity, bool) {
52670	return nil, false
52671}
52672
52673// AsCopyActivity is the BasicActivity implementation for DatabricksSparkPythonActivity.
52674func (dspa DatabricksSparkPythonActivity) AsCopyActivity() (*CopyActivity, bool) {
52675	return nil, false
52676}
52677
52678// AsExecutionActivity is the BasicActivity implementation for DatabricksSparkPythonActivity.
52679func (dspa DatabricksSparkPythonActivity) AsExecutionActivity() (*ExecutionActivity, bool) {
52680	return nil, false
52681}
52682
52683// AsBasicExecutionActivity is the BasicActivity implementation for DatabricksSparkPythonActivity.
52684func (dspa DatabricksSparkPythonActivity) AsBasicExecutionActivity() (BasicExecutionActivity, bool) {
52685	return &dspa, true
52686}
52687
52688// AsWebHookActivity is the BasicActivity implementation for DatabricksSparkPythonActivity.
52689func (dspa DatabricksSparkPythonActivity) AsWebHookActivity() (*WebHookActivity, bool) {
52690	return nil, false
52691}
52692
52693// AsAppendVariableActivity is the BasicActivity implementation for DatabricksSparkPythonActivity.
52694func (dspa DatabricksSparkPythonActivity) AsAppendVariableActivity() (*AppendVariableActivity, bool) {
52695	return nil, false
52696}
52697
52698// AsSetVariableActivity is the BasicActivity implementation for DatabricksSparkPythonActivity.
52699func (dspa DatabricksSparkPythonActivity) AsSetVariableActivity() (*SetVariableActivity, bool) {
52700	return nil, false
52701}
52702
52703// AsFilterActivity is the BasicActivity implementation for DatabricksSparkPythonActivity.
52704func (dspa DatabricksSparkPythonActivity) AsFilterActivity() (*FilterActivity, bool) {
52705	return nil, false
52706}
52707
52708// AsValidationActivity is the BasicActivity implementation for DatabricksSparkPythonActivity.
52709func (dspa DatabricksSparkPythonActivity) AsValidationActivity() (*ValidationActivity, bool) {
52710	return nil, false
52711}
52712
52713// AsUntilActivity is the BasicActivity implementation for DatabricksSparkPythonActivity.
52714func (dspa DatabricksSparkPythonActivity) AsUntilActivity() (*UntilActivity, bool) {
52715	return nil, false
52716}
52717
52718// AsWaitActivity is the BasicActivity implementation for DatabricksSparkPythonActivity.
52719func (dspa DatabricksSparkPythonActivity) AsWaitActivity() (*WaitActivity, bool) {
52720	return nil, false
52721}
52722
52723// AsForEachActivity is the BasicActivity implementation for DatabricksSparkPythonActivity.
52724func (dspa DatabricksSparkPythonActivity) AsForEachActivity() (*ForEachActivity, bool) {
52725	return nil, false
52726}
52727
52728// AsIfConditionActivity is the BasicActivity implementation for DatabricksSparkPythonActivity.
52729func (dspa DatabricksSparkPythonActivity) AsIfConditionActivity() (*IfConditionActivity, bool) {
52730	return nil, false
52731}
52732
52733// AsExecutePipelineActivity is the BasicActivity implementation for DatabricksSparkPythonActivity.
52734func (dspa DatabricksSparkPythonActivity) AsExecutePipelineActivity() (*ExecutePipelineActivity, bool) {
52735	return nil, false
52736}
52737
52738// AsControlActivity is the BasicActivity implementation for DatabricksSparkPythonActivity.
52739func (dspa DatabricksSparkPythonActivity) AsControlActivity() (*ControlActivity, bool) {
52740	return nil, false
52741}
52742
52743// AsBasicControlActivity is the BasicActivity implementation for DatabricksSparkPythonActivity.
52744func (dspa DatabricksSparkPythonActivity) AsBasicControlActivity() (BasicControlActivity, bool) {
52745	return nil, false
52746}
52747
52748// AsActivity is the BasicActivity implementation for DatabricksSparkPythonActivity.
52749func (dspa DatabricksSparkPythonActivity) AsActivity() (*Activity, bool) {
52750	return nil, false
52751}
52752
52753// AsBasicActivity is the BasicActivity implementation for DatabricksSparkPythonActivity.
52754func (dspa DatabricksSparkPythonActivity) AsBasicActivity() (BasicActivity, bool) {
52755	return &dspa, true
52756}
52757
52758// UnmarshalJSON is the custom unmarshaler for DatabricksSparkPythonActivity struct.
52759func (dspa *DatabricksSparkPythonActivity) UnmarshalJSON(body []byte) error {
52760	var m map[string]*json.RawMessage
52761	err := json.Unmarshal(body, &m)
52762	if err != nil {
52763		return err
52764	}
52765	for k, v := range m {
52766		switch k {
52767		case "typeProperties":
52768			if v != nil {
52769				var databricksSparkPythonActivityTypeProperties DatabricksSparkPythonActivityTypeProperties
52770				err = json.Unmarshal(*v, &databricksSparkPythonActivityTypeProperties)
52771				if err != nil {
52772					return err
52773				}
52774				dspa.DatabricksSparkPythonActivityTypeProperties = &databricksSparkPythonActivityTypeProperties
52775			}
52776		case "linkedServiceName":
52777			if v != nil {
52778				var linkedServiceName LinkedServiceReference
52779				err = json.Unmarshal(*v, &linkedServiceName)
52780				if err != nil {
52781					return err
52782				}
52783				dspa.LinkedServiceName = &linkedServiceName
52784			}
52785		case "policy":
52786			if v != nil {
52787				var policy ActivityPolicy
52788				err = json.Unmarshal(*v, &policy)
52789				if err != nil {
52790					return err
52791				}
52792				dspa.Policy = &policy
52793			}
52794		default:
52795			if v != nil {
52796				var additionalProperties interface{}
52797				err = json.Unmarshal(*v, &additionalProperties)
52798				if err != nil {
52799					return err
52800				}
52801				if dspa.AdditionalProperties == nil {
52802					dspa.AdditionalProperties = make(map[string]interface{})
52803				}
52804				dspa.AdditionalProperties[k] = additionalProperties
52805			}
52806		case "name":
52807			if v != nil {
52808				var name string
52809				err = json.Unmarshal(*v, &name)
52810				if err != nil {
52811					return err
52812				}
52813				dspa.Name = &name
52814			}
52815		case "description":
52816			if v != nil {
52817				var description string
52818				err = json.Unmarshal(*v, &description)
52819				if err != nil {
52820					return err
52821				}
52822				dspa.Description = &description
52823			}
52824		case "dependsOn":
52825			if v != nil {
52826				var dependsOn []ActivityDependency
52827				err = json.Unmarshal(*v, &dependsOn)
52828				if err != nil {
52829					return err
52830				}
52831				dspa.DependsOn = &dependsOn
52832			}
52833		case "userProperties":
52834			if v != nil {
52835				var userProperties []UserProperty
52836				err = json.Unmarshal(*v, &userProperties)
52837				if err != nil {
52838					return err
52839				}
52840				dspa.UserProperties = &userProperties
52841			}
52842		case "type":
52843			if v != nil {
52844				var typeVar TypeBasicActivity
52845				err = json.Unmarshal(*v, &typeVar)
52846				if err != nil {
52847					return err
52848				}
52849				dspa.Type = typeVar
52850			}
52851		}
52852	}
52853
52854	return nil
52855}
52856
52857// DatabricksSparkPythonActivityTypeProperties databricks SparkPython activity properties.
52858type DatabricksSparkPythonActivityTypeProperties struct {
52859	// PythonFile - The URI of the Python file to be executed. DBFS paths are supported. Type: string (or Expression with resultType string).
52860	PythonFile interface{} `json:"pythonFile,omitempty"`
52861	// Parameters - Command line parameters that will be passed to the Python file.
52862	Parameters *[]interface{} `json:"parameters,omitempty"`
52863	// Libraries - A list of libraries to be installed on the cluster that will execute the job.
52864	Libraries *[]map[string]interface{} `json:"libraries,omitempty"`
52865}
52866
52867// DataLakeAnalyticsUSQLActivity data Lake Analytics U-SQL activity.
52868type DataLakeAnalyticsUSQLActivity struct {
52869	// DataLakeAnalyticsUSQLActivityTypeProperties - Data Lake Analytics U-SQL activity properties.
52870	*DataLakeAnalyticsUSQLActivityTypeProperties `json:"typeProperties,omitempty"`
52871	// LinkedServiceName - Linked service reference.
52872	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
52873	// Policy - Activity policy.
52874	Policy *ActivityPolicy `json:"policy,omitempty"`
52875	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
52876	AdditionalProperties map[string]interface{} `json:""`
52877	// Name - Activity name.
52878	Name *string `json:"name,omitempty"`
52879	// Description - Activity description.
52880	Description *string `json:"description,omitempty"`
52881	// DependsOn - Activity depends on condition.
52882	DependsOn *[]ActivityDependency `json:"dependsOn,omitempty"`
52883	// UserProperties - Activity user properties.
52884	UserProperties *[]UserProperty `json:"userProperties,omitempty"`
52885	// Type - Possible values include: 'TypeActivity', 'TypeAzureFunctionActivity', 'TypeDatabricksSparkPython', 'TypeDatabricksSparkJar', 'TypeDatabricksNotebook', 'TypeDataLakeAnalyticsUSQL', 'TypeAzureMLUpdateResource', 'TypeAzureMLBatchExecution', 'TypeGetMetadata', 'TypeWebActivity', 'TypeLookup', 'TypeAzureDataExplorerCommand', 'TypeDelete', 'TypeSQLServerStoredProcedure', 'TypeCustom', 'TypeExecuteSSISPackage', 'TypeHDInsightSpark', 'TypeHDInsightStreaming', 'TypeHDInsightMapReduce', 'TypeHDInsightPig', 'TypeHDInsightHive', 'TypeCopy', 'TypeExecution', 'TypeWebHook', 'TypeAppendVariable', 'TypeSetVariable', 'TypeFilter', 'TypeValidation', 'TypeUntil', 'TypeWait', 'TypeForEach', 'TypeIfCondition', 'TypeExecutePipeline', 'TypeContainer'
52886	Type TypeBasicActivity `json:"type,omitempty"`
52887}
52888
52889// MarshalJSON is the custom marshaler for DataLakeAnalyticsUSQLActivity.
52890func (dlaua DataLakeAnalyticsUSQLActivity) MarshalJSON() ([]byte, error) {
52891	dlaua.Type = TypeDataLakeAnalyticsUSQL
52892	objectMap := make(map[string]interface{})
52893	if dlaua.DataLakeAnalyticsUSQLActivityTypeProperties != nil {
52894		objectMap["typeProperties"] = dlaua.DataLakeAnalyticsUSQLActivityTypeProperties
52895	}
52896	if dlaua.LinkedServiceName != nil {
52897		objectMap["linkedServiceName"] = dlaua.LinkedServiceName
52898	}
52899	if dlaua.Policy != nil {
52900		objectMap["policy"] = dlaua.Policy
52901	}
52902	if dlaua.Name != nil {
52903		objectMap["name"] = dlaua.Name
52904	}
52905	if dlaua.Description != nil {
52906		objectMap["description"] = dlaua.Description
52907	}
52908	if dlaua.DependsOn != nil {
52909		objectMap["dependsOn"] = dlaua.DependsOn
52910	}
52911	if dlaua.UserProperties != nil {
52912		objectMap["userProperties"] = dlaua.UserProperties
52913	}
52914	if dlaua.Type != "" {
52915		objectMap["type"] = dlaua.Type
52916	}
52917	for k, v := range dlaua.AdditionalProperties {
52918		objectMap[k] = v
52919	}
52920	return json.Marshal(objectMap)
52921}
52922
52923// AsAzureFunctionActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity.
52924func (dlaua DataLakeAnalyticsUSQLActivity) AsAzureFunctionActivity() (*AzureFunctionActivity, bool) {
52925	return nil, false
52926}
52927
52928// AsDatabricksSparkPythonActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity.
52929func (dlaua DataLakeAnalyticsUSQLActivity) AsDatabricksSparkPythonActivity() (*DatabricksSparkPythonActivity, bool) {
52930	return nil, false
52931}
52932
52933// AsDatabricksSparkJarActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity.
52934func (dlaua DataLakeAnalyticsUSQLActivity) AsDatabricksSparkJarActivity() (*DatabricksSparkJarActivity, bool) {
52935	return nil, false
52936}
52937
52938// AsDatabricksNotebookActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity.
52939func (dlaua DataLakeAnalyticsUSQLActivity) AsDatabricksNotebookActivity() (*DatabricksNotebookActivity, bool) {
52940	return nil, false
52941}
52942
52943// AsDataLakeAnalyticsUSQLActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity.
52944func (dlaua DataLakeAnalyticsUSQLActivity) AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalyticsUSQLActivity, bool) {
52945	return &dlaua, true
52946}
52947
52948// AsAzureMLUpdateResourceActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity.
52949func (dlaua DataLakeAnalyticsUSQLActivity) AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool) {
52950	return nil, false
52951}
52952
52953// AsAzureMLBatchExecutionActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity.
52954func (dlaua DataLakeAnalyticsUSQLActivity) AsAzureMLBatchExecutionActivity() (*AzureMLBatchExecutionActivity, bool) {
52955	return nil, false
52956}
52957
52958// AsGetMetadataActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity.
52959func (dlaua DataLakeAnalyticsUSQLActivity) AsGetMetadataActivity() (*GetMetadataActivity, bool) {
52960	return nil, false
52961}
52962
52963// AsWebActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity.
52964func (dlaua DataLakeAnalyticsUSQLActivity) AsWebActivity() (*WebActivity, bool) {
52965	return nil, false
52966}
52967
52968// AsLookupActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity.
52969func (dlaua DataLakeAnalyticsUSQLActivity) AsLookupActivity() (*LookupActivity, bool) {
52970	return nil, false
52971}
52972
52973// AsAzureDataExplorerCommandActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity.
52974func (dlaua DataLakeAnalyticsUSQLActivity) AsAzureDataExplorerCommandActivity() (*AzureDataExplorerCommandActivity, bool) {
52975	return nil, false
52976}
52977
52978// AsDeleteActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity.
52979func (dlaua DataLakeAnalyticsUSQLActivity) AsDeleteActivity() (*DeleteActivity, bool) {
52980	return nil, false
52981}
52982
52983// AsSQLServerStoredProcedureActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity.
52984func (dlaua DataLakeAnalyticsUSQLActivity) AsSQLServerStoredProcedureActivity() (*SQLServerStoredProcedureActivity, bool) {
52985	return nil, false
52986}
52987
52988// AsCustomActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity.
52989func (dlaua DataLakeAnalyticsUSQLActivity) AsCustomActivity() (*CustomActivity, bool) {
52990	return nil, false
52991}
52992
52993// AsExecuteSSISPackageActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity.
52994func (dlaua DataLakeAnalyticsUSQLActivity) AsExecuteSSISPackageActivity() (*ExecuteSSISPackageActivity, bool) {
52995	return nil, false
52996}
52997
52998// AsHDInsightSparkActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity.
52999func (dlaua DataLakeAnalyticsUSQLActivity) AsHDInsightSparkActivity() (*HDInsightSparkActivity, bool) {
53000	return nil, false
53001}
53002
53003// AsHDInsightStreamingActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity.
53004func (dlaua DataLakeAnalyticsUSQLActivity) AsHDInsightStreamingActivity() (*HDInsightStreamingActivity, bool) {
53005	return nil, false
53006}
53007
53008// AsHDInsightMapReduceActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity.
53009func (dlaua DataLakeAnalyticsUSQLActivity) AsHDInsightMapReduceActivity() (*HDInsightMapReduceActivity, bool) {
53010	return nil, false
53011}
53012
53013// AsHDInsightPigActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity.
53014func (dlaua DataLakeAnalyticsUSQLActivity) AsHDInsightPigActivity() (*HDInsightPigActivity, bool) {
53015	return nil, false
53016}
53017
53018// AsHDInsightHiveActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity.
53019func (dlaua DataLakeAnalyticsUSQLActivity) AsHDInsightHiveActivity() (*HDInsightHiveActivity, bool) {
53020	return nil, false
53021}
53022
53023// AsCopyActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity.
53024func (dlaua DataLakeAnalyticsUSQLActivity) AsCopyActivity() (*CopyActivity, bool) {
53025	return nil, false
53026}
53027
53028// AsExecutionActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity.
53029func (dlaua DataLakeAnalyticsUSQLActivity) AsExecutionActivity() (*ExecutionActivity, bool) {
53030	return nil, false
53031}
53032
53033// AsBasicExecutionActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity.
53034func (dlaua DataLakeAnalyticsUSQLActivity) AsBasicExecutionActivity() (BasicExecutionActivity, bool) {
53035	return &dlaua, true
53036}
53037
53038// AsWebHookActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity.
53039func (dlaua DataLakeAnalyticsUSQLActivity) AsWebHookActivity() (*WebHookActivity, bool) {
53040	return nil, false
53041}
53042
53043// AsAppendVariableActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity.
53044func (dlaua DataLakeAnalyticsUSQLActivity) AsAppendVariableActivity() (*AppendVariableActivity, bool) {
53045	return nil, false
53046}
53047
53048// AsSetVariableActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity.
53049func (dlaua DataLakeAnalyticsUSQLActivity) AsSetVariableActivity() (*SetVariableActivity, bool) {
53050	return nil, false
53051}
53052
53053// AsFilterActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity.
53054func (dlaua DataLakeAnalyticsUSQLActivity) AsFilterActivity() (*FilterActivity, bool) {
53055	return nil, false
53056}
53057
53058// AsValidationActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity.
53059func (dlaua DataLakeAnalyticsUSQLActivity) AsValidationActivity() (*ValidationActivity, bool) {
53060	return nil, false
53061}
53062
53063// AsUntilActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity.
53064func (dlaua DataLakeAnalyticsUSQLActivity) AsUntilActivity() (*UntilActivity, bool) {
53065	return nil, false
53066}
53067
53068// AsWaitActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity.
53069func (dlaua DataLakeAnalyticsUSQLActivity) AsWaitActivity() (*WaitActivity, bool) {
53070	return nil, false
53071}
53072
53073// AsForEachActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity.
53074func (dlaua DataLakeAnalyticsUSQLActivity) AsForEachActivity() (*ForEachActivity, bool) {
53075	return nil, false
53076}
53077
53078// AsIfConditionActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity.
53079func (dlaua DataLakeAnalyticsUSQLActivity) AsIfConditionActivity() (*IfConditionActivity, bool) {
53080	return nil, false
53081}
53082
53083// AsExecutePipelineActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity.
53084func (dlaua DataLakeAnalyticsUSQLActivity) AsExecutePipelineActivity() (*ExecutePipelineActivity, bool) {
53085	return nil, false
53086}
53087
53088// AsControlActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity.
53089func (dlaua DataLakeAnalyticsUSQLActivity) AsControlActivity() (*ControlActivity, bool) {
53090	return nil, false
53091}
53092
53093// AsBasicControlActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity.
53094func (dlaua DataLakeAnalyticsUSQLActivity) AsBasicControlActivity() (BasicControlActivity, bool) {
53095	return nil, false
53096}
53097
53098// AsActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity.
53099func (dlaua DataLakeAnalyticsUSQLActivity) AsActivity() (*Activity, bool) {
53100	return nil, false
53101}
53102
53103// AsBasicActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity.
53104func (dlaua DataLakeAnalyticsUSQLActivity) AsBasicActivity() (BasicActivity, bool) {
53105	return &dlaua, true
53106}
53107
53108// UnmarshalJSON is the custom unmarshaler for DataLakeAnalyticsUSQLActivity struct.
53109func (dlaua *DataLakeAnalyticsUSQLActivity) UnmarshalJSON(body []byte) error {
53110	var m map[string]*json.RawMessage
53111	err := json.Unmarshal(body, &m)
53112	if err != nil {
53113		return err
53114	}
53115	for k, v := range m {
53116		switch k {
53117		case "typeProperties":
53118			if v != nil {
53119				var dataLakeAnalyticsUSQLActivityTypeProperties DataLakeAnalyticsUSQLActivityTypeProperties
53120				err = json.Unmarshal(*v, &dataLakeAnalyticsUSQLActivityTypeProperties)
53121				if err != nil {
53122					return err
53123				}
53124				dlaua.DataLakeAnalyticsUSQLActivityTypeProperties = &dataLakeAnalyticsUSQLActivityTypeProperties
53125			}
53126		case "linkedServiceName":
53127			if v != nil {
53128				var linkedServiceName LinkedServiceReference
53129				err = json.Unmarshal(*v, &linkedServiceName)
53130				if err != nil {
53131					return err
53132				}
53133				dlaua.LinkedServiceName = &linkedServiceName
53134			}
53135		case "policy":
53136			if v != nil {
53137				var policy ActivityPolicy
53138				err = json.Unmarshal(*v, &policy)
53139				if err != nil {
53140					return err
53141				}
53142				dlaua.Policy = &policy
53143			}
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 dlaua.AdditionalProperties == nil {
53152					dlaua.AdditionalProperties = make(map[string]interface{})
53153				}
53154				dlaua.AdditionalProperties[k] = additionalProperties
53155			}
53156		case "name":
53157			if v != nil {
53158				var name string
53159				err = json.Unmarshal(*v, &name)
53160				if err != nil {
53161					return err
53162				}
53163				dlaua.Name = &name
53164			}
53165		case "description":
53166			if v != nil {
53167				var description string
53168				err = json.Unmarshal(*v, &description)
53169				if err != nil {
53170					return err
53171				}
53172				dlaua.Description = &description
53173			}
53174		case "dependsOn":
53175			if v != nil {
53176				var dependsOn []ActivityDependency
53177				err = json.Unmarshal(*v, &dependsOn)
53178				if err != nil {
53179					return err
53180				}
53181				dlaua.DependsOn = &dependsOn
53182			}
53183		case "userProperties":
53184			if v != nil {
53185				var userProperties []UserProperty
53186				err = json.Unmarshal(*v, &userProperties)
53187				if err != nil {
53188					return err
53189				}
53190				dlaua.UserProperties = &userProperties
53191			}
53192		case "type":
53193			if v != nil {
53194				var typeVar TypeBasicActivity
53195				err = json.Unmarshal(*v, &typeVar)
53196				if err != nil {
53197					return err
53198				}
53199				dlaua.Type = typeVar
53200			}
53201		}
53202	}
53203
53204	return nil
53205}
53206
53207// DataLakeAnalyticsUSQLActivityTypeProperties dataLakeAnalyticsU-SQL activity properties.
53208type DataLakeAnalyticsUSQLActivityTypeProperties struct {
53209	// ScriptPath - Case-sensitive path to folder that contains the U-SQL script. Type: string (or Expression with resultType string).
53210	ScriptPath interface{} `json:"scriptPath,omitempty"`
53211	// ScriptLinkedService - Script linked service reference.
53212	ScriptLinkedService *LinkedServiceReference `json:"scriptLinkedService,omitempty"`
53213	// 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.
53214	DegreeOfParallelism interface{} `json:"degreeOfParallelism,omitempty"`
53215	// 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.
53216	Priority interface{} `json:"priority,omitempty"`
53217	// Parameters - Parameters for U-SQL job request.
53218	Parameters map[string]interface{} `json:"parameters"`
53219	// RuntimeVersion - Runtime version of the U-SQL engine to use. Type: string (or Expression with resultType string).
53220	RuntimeVersion interface{} `json:"runtimeVersion,omitempty"`
53221	// CompilationMode - Compilation mode of U-SQL. Must be one of these values : Semantic, Full and SingleBox. Type: string (or Expression with resultType string).
53222	CompilationMode interface{} `json:"compilationMode,omitempty"`
53223}
53224
53225// MarshalJSON is the custom marshaler for DataLakeAnalyticsUSQLActivityTypeProperties.
53226func (dlauatp DataLakeAnalyticsUSQLActivityTypeProperties) MarshalJSON() ([]byte, error) {
53227	objectMap := make(map[string]interface{})
53228	if dlauatp.ScriptPath != nil {
53229		objectMap["scriptPath"] = dlauatp.ScriptPath
53230	}
53231	if dlauatp.ScriptLinkedService != nil {
53232		objectMap["scriptLinkedService"] = dlauatp.ScriptLinkedService
53233	}
53234	if dlauatp.DegreeOfParallelism != nil {
53235		objectMap["degreeOfParallelism"] = dlauatp.DegreeOfParallelism
53236	}
53237	if dlauatp.Priority != nil {
53238		objectMap["priority"] = dlauatp.Priority
53239	}
53240	if dlauatp.Parameters != nil {
53241		objectMap["parameters"] = dlauatp.Parameters
53242	}
53243	if dlauatp.RuntimeVersion != nil {
53244		objectMap["runtimeVersion"] = dlauatp.RuntimeVersion
53245	}
53246	if dlauatp.CompilationMode != nil {
53247		objectMap["compilationMode"] = dlauatp.CompilationMode
53248	}
53249	return json.Marshal(objectMap)
53250}
53251
53252// BasicDataset the Azure Data Factory nested object which identifies data within different data stores, such as
53253// tables, files, folders, and documents.
53254type BasicDataset interface {
53255	AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool)
53256	AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool)
53257	AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool)
53258	AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool)
53259	AsResponsysObjectDataset() (*ResponsysObjectDataset, bool)
53260	AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool)
53261	AsVerticaTableDataset() (*VerticaTableDataset, bool)
53262	AsNetezzaTableDataset() (*NetezzaTableDataset, bool)
53263	AsZohoObjectDataset() (*ZohoObjectDataset, bool)
53264	AsXeroObjectDataset() (*XeroObjectDataset, bool)
53265	AsSquareObjectDataset() (*SquareObjectDataset, bool)
53266	AsSparkObjectDataset() (*SparkObjectDataset, bool)
53267	AsShopifyObjectDataset() (*ShopifyObjectDataset, bool)
53268	AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool)
53269	AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool)
53270	AsPrestoObjectDataset() (*PrestoObjectDataset, bool)
53271	AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool)
53272	AsPaypalObjectDataset() (*PaypalObjectDataset, bool)
53273	AsMarketoObjectDataset() (*MarketoObjectDataset, bool)
53274	AsMariaDBTableDataset() (*MariaDBTableDataset, bool)
53275	AsMagentoObjectDataset() (*MagentoObjectDataset, bool)
53276	AsJiraObjectDataset() (*JiraObjectDataset, bool)
53277	AsImpalaObjectDataset() (*ImpalaObjectDataset, bool)
53278	AsHubspotObjectDataset() (*HubspotObjectDataset, bool)
53279	AsHiveObjectDataset() (*HiveObjectDataset, bool)
53280	AsHBaseObjectDataset() (*HBaseObjectDataset, bool)
53281	AsGreenplumTableDataset() (*GreenplumTableDataset, bool)
53282	AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool)
53283	AsEloquaObjectDataset() (*EloquaObjectDataset, bool)
53284	AsDrillTableDataset() (*DrillTableDataset, bool)
53285	AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool)
53286	AsConcurObjectDataset() (*ConcurObjectDataset, bool)
53287	AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool)
53288	AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool)
53289	AsHTTPDataset() (*HTTPDataset, bool)
53290	AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool)
53291	AsWebTableDataset() (*WebTableDataset, bool)
53292	AsSapTableResourceDataset() (*SapTableResourceDataset, bool)
53293	AsRestResourceDataset() (*RestResourceDataset, bool)
53294	AsSQLServerTableDataset() (*SQLServerTableDataset, bool)
53295	AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool)
53296	AsSapHanaTableDataset() (*SapHanaTableDataset, bool)
53297	AsSapEccResourceDataset() (*SapEccResourceDataset, bool)
53298	AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool)
53299	AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool)
53300	AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool)
53301	AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool)
53302	AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool)
53303	AsMySQLTableDataset() (*MySQLTableDataset, bool)
53304	AsOdbcTableDataset() (*OdbcTableDataset, bool)
53305	AsInformixTableDataset() (*InformixTableDataset, bool)
53306	AsRelationalTableDataset() (*RelationalTableDataset, bool)
53307	AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool)
53308	AsTeradataTableDataset() (*TeradataTableDataset, bool)
53309	AsOracleTableDataset() (*OracleTableDataset, bool)
53310	AsODataResourceDataset() (*ODataResourceDataset, bool)
53311	AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool)
53312	AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool)
53313	AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool)
53314	AsFileShareDataset() (*FileShareDataset, bool)
53315	AsOffice365Dataset() (*Office365Dataset, bool)
53316	AsAzureBlobFSDataset() (*AzureBlobFSDataset, bool)
53317	AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool)
53318	AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool)
53319	AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool)
53320	AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool)
53321	AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool)
53322	AsCustomDataset() (*CustomDataset, bool)
53323	AsCassandraTableDataset() (*CassandraTableDataset, bool)
53324	AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool)
53325	AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool)
53326	AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool)
53327	AsAzureTableDataset() (*AzureTableDataset, bool)
53328	AsAzureBlobDataset() (*AzureBlobDataset, bool)
53329	AsBinaryDataset() (*BinaryDataset, bool)
53330	AsDelimitedTextDataset() (*DelimitedTextDataset, bool)
53331	AsParquetDataset() (*ParquetDataset, bool)
53332	AsAmazonS3Dataset() (*AmazonS3Dataset, bool)
53333	AsDataset() (*Dataset, bool)
53334}
53335
53336// Dataset the Azure Data Factory nested object which identifies data within different data stores, such as
53337// tables, files, folders, and documents.
53338type Dataset struct {
53339	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
53340	AdditionalProperties map[string]interface{} `json:""`
53341	// Description - Dataset description.
53342	Description *string `json:"description,omitempty"`
53343	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
53344	Structure interface{} `json:"structure,omitempty"`
53345	// Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement.
53346	Schema interface{} `json:"schema,omitempty"`
53347	// LinkedServiceName - Linked service reference.
53348	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
53349	// Parameters - Parameters for dataset.
53350	Parameters map[string]*ParameterSpecification `json:"parameters"`
53351	// Annotations - List of tags that can be used for describing the Dataset.
53352	Annotations *[]interface{} `json:"annotations,omitempty"`
53353	// Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level.
53354	Folder *DatasetFolder `json:"folder,omitempty"`
53355	// Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', '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', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeDelimitedText', 'TypeParquet', 'TypeAmazonS3Object'
53356	Type TypeBasicDataset `json:"type,omitempty"`
53357}
53358
53359func unmarshalBasicDataset(body []byte) (BasicDataset, error) {
53360	var m map[string]interface{}
53361	err := json.Unmarshal(body, &m)
53362	if err != nil {
53363		return nil, err
53364	}
53365
53366	switch m["type"] {
53367	case string(TypeGoogleAdWordsObject):
53368		var gawod GoogleAdWordsObjectDataset
53369		err := json.Unmarshal(body, &gawod)
53370		return gawod, err
53371	case string(TypeAzureDataExplorerTable):
53372		var adetd AzureDataExplorerTableDataset
53373		err := json.Unmarshal(body, &adetd)
53374		return adetd, err
53375	case string(TypeOracleServiceCloudObject):
53376		var oscod OracleServiceCloudObjectDataset
53377		err := json.Unmarshal(body, &oscod)
53378		return oscod, err
53379	case string(TypeDynamicsAXResource):
53380		var dard DynamicsAXResourceDataset
53381		err := json.Unmarshal(body, &dard)
53382		return dard, err
53383	case string(TypeResponsysObject):
53384		var rod ResponsysObjectDataset
53385		err := json.Unmarshal(body, &rod)
53386		return rod, err
53387	case string(TypeSalesforceMarketingCloudObject):
53388		var smcod SalesforceMarketingCloudObjectDataset
53389		err := json.Unmarshal(body, &smcod)
53390		return smcod, err
53391	case string(TypeVerticaTable):
53392		var vtd VerticaTableDataset
53393		err := json.Unmarshal(body, &vtd)
53394		return vtd, err
53395	case string(TypeNetezzaTable):
53396		var ntd NetezzaTableDataset
53397		err := json.Unmarshal(body, &ntd)
53398		return ntd, err
53399	case string(TypeZohoObject):
53400		var zod ZohoObjectDataset
53401		err := json.Unmarshal(body, &zod)
53402		return zod, err
53403	case string(TypeXeroObject):
53404		var xod XeroObjectDataset
53405		err := json.Unmarshal(body, &xod)
53406		return xod, err
53407	case string(TypeSquareObject):
53408		var sod SquareObjectDataset
53409		err := json.Unmarshal(body, &sod)
53410		return sod, err
53411	case string(TypeSparkObject):
53412		var sod SparkObjectDataset
53413		err := json.Unmarshal(body, &sod)
53414		return sod, err
53415	case string(TypeShopifyObject):
53416		var sod ShopifyObjectDataset
53417		err := json.Unmarshal(body, &sod)
53418		return sod, err
53419	case string(TypeServiceNowObject):
53420		var snod ServiceNowObjectDataset
53421		err := json.Unmarshal(body, &snod)
53422		return snod, err
53423	case string(TypeQuickBooksObject):
53424		var qbod QuickBooksObjectDataset
53425		err := json.Unmarshal(body, &qbod)
53426		return qbod, err
53427	case string(TypePrestoObject):
53428		var pod PrestoObjectDataset
53429		err := json.Unmarshal(body, &pod)
53430		return pod, err
53431	case string(TypePhoenixObject):
53432		var pod PhoenixObjectDataset
53433		err := json.Unmarshal(body, &pod)
53434		return pod, err
53435	case string(TypePaypalObject):
53436		var pod PaypalObjectDataset
53437		err := json.Unmarshal(body, &pod)
53438		return pod, err
53439	case string(TypeMarketoObject):
53440		var mod MarketoObjectDataset
53441		err := json.Unmarshal(body, &mod)
53442		return mod, err
53443	case string(TypeMariaDBTable):
53444		var mdtd MariaDBTableDataset
53445		err := json.Unmarshal(body, &mdtd)
53446		return mdtd, err
53447	case string(TypeMagentoObject):
53448		var mod MagentoObjectDataset
53449		err := json.Unmarshal(body, &mod)
53450		return mod, err
53451	case string(TypeJiraObject):
53452		var jod JiraObjectDataset
53453		err := json.Unmarshal(body, &jod)
53454		return jod, err
53455	case string(TypeImpalaObject):
53456		var iod ImpalaObjectDataset
53457		err := json.Unmarshal(body, &iod)
53458		return iod, err
53459	case string(TypeHubspotObject):
53460		var hod HubspotObjectDataset
53461		err := json.Unmarshal(body, &hod)
53462		return hod, err
53463	case string(TypeHiveObject):
53464		var hod HiveObjectDataset
53465		err := json.Unmarshal(body, &hod)
53466		return hod, err
53467	case string(TypeHBaseObject):
53468		var hbod HBaseObjectDataset
53469		err := json.Unmarshal(body, &hbod)
53470		return hbod, err
53471	case string(TypeGreenplumTable):
53472		var gtd GreenplumTableDataset
53473		err := json.Unmarshal(body, &gtd)
53474		return gtd, err
53475	case string(TypeGoogleBigQueryObject):
53476		var gbqod GoogleBigQueryObjectDataset
53477		err := json.Unmarshal(body, &gbqod)
53478		return gbqod, err
53479	case string(TypeEloquaObject):
53480		var eod EloquaObjectDataset
53481		err := json.Unmarshal(body, &eod)
53482		return eod, err
53483	case string(TypeDrillTable):
53484		var dtd DrillTableDataset
53485		err := json.Unmarshal(body, &dtd)
53486		return dtd, err
53487	case string(TypeCouchbaseTable):
53488		var ctd CouchbaseTableDataset
53489		err := json.Unmarshal(body, &ctd)
53490		return ctd, err
53491	case string(TypeConcurObject):
53492		var cod ConcurObjectDataset
53493		err := json.Unmarshal(body, &cod)
53494		return cod, err
53495	case string(TypeAzurePostgreSQLTable):
53496		var apstd AzurePostgreSQLTableDataset
53497		err := json.Unmarshal(body, &apstd)
53498		return apstd, err
53499	case string(TypeAmazonMWSObject):
53500		var amod AmazonMWSObjectDataset
53501		err := json.Unmarshal(body, &amod)
53502		return amod, err
53503	case string(TypeHTTPFile):
53504		var hd HTTPDataset
53505		err := json.Unmarshal(body, &hd)
53506		return hd, err
53507	case string(TypeAzureSearchIndex):
53508		var asid AzureSearchIndexDataset
53509		err := json.Unmarshal(body, &asid)
53510		return asid, err
53511	case string(TypeWebTable):
53512		var wtd WebTableDataset
53513		err := json.Unmarshal(body, &wtd)
53514		return wtd, err
53515	case string(TypeSapTableResource):
53516		var strd SapTableResourceDataset
53517		err := json.Unmarshal(body, &strd)
53518		return strd, err
53519	case string(TypeRestResource):
53520		var rrd RestResourceDataset
53521		err := json.Unmarshal(body, &rrd)
53522		return rrd, err
53523	case string(TypeSQLServerTable):
53524		var sstd SQLServerTableDataset
53525		err := json.Unmarshal(body, &sstd)
53526		return sstd, err
53527	case string(TypeSapOpenHubTable):
53528		var sohtd SapOpenHubTableDataset
53529		err := json.Unmarshal(body, &sohtd)
53530		return sohtd, err
53531	case string(TypeSapHanaTable):
53532		var shtd SapHanaTableDataset
53533		err := json.Unmarshal(body, &shtd)
53534		return shtd, err
53535	case string(TypeSapEccResource):
53536		var serd SapEccResourceDataset
53537		err := json.Unmarshal(body, &serd)
53538		return serd, err
53539	case string(TypeSapCloudForCustomerResource):
53540		var scfcrd SapCloudForCustomerResourceDataset
53541		err := json.Unmarshal(body, &scfcrd)
53542		return scfcrd, err
53543	case string(TypeSalesforceServiceCloudObject):
53544		var sscod SalesforceServiceCloudObjectDataset
53545		err := json.Unmarshal(body, &sscod)
53546		return sscod, err
53547	case string(TypeSalesforceObject):
53548		var sod SalesforceObjectDataset
53549		err := json.Unmarshal(body, &sod)
53550		return sod, err
53551	case string(TypeMicrosoftAccessTable):
53552		var matd MicrosoftAccessTableDataset
53553		err := json.Unmarshal(body, &matd)
53554		return matd, err
53555	case string(TypePostgreSQLTable):
53556		var pstd PostgreSQLTableDataset
53557		err := json.Unmarshal(body, &pstd)
53558		return pstd, err
53559	case string(TypeMySQLTable):
53560		var mstd MySQLTableDataset
53561		err := json.Unmarshal(body, &mstd)
53562		return mstd, err
53563	case string(TypeOdbcTable):
53564		var otd OdbcTableDataset
53565		err := json.Unmarshal(body, &otd)
53566		return otd, err
53567	case string(TypeInformixTable):
53568		var itd InformixTableDataset
53569		err := json.Unmarshal(body, &itd)
53570		return itd, err
53571	case string(TypeRelationalTable):
53572		var rtd RelationalTableDataset
53573		err := json.Unmarshal(body, &rtd)
53574		return rtd, err
53575	case string(TypeAzureMySQLTable):
53576		var amstd AzureMySQLTableDataset
53577		err := json.Unmarshal(body, &amstd)
53578		return amstd, err
53579	case string(TypeTeradataTable):
53580		var ttd TeradataTableDataset
53581		err := json.Unmarshal(body, &ttd)
53582		return ttd, err
53583	case string(TypeOracleTable):
53584		var otd OracleTableDataset
53585		err := json.Unmarshal(body, &otd)
53586		return otd, err
53587	case string(TypeODataResource):
53588		var odrd ODataResourceDataset
53589		err := json.Unmarshal(body, &odrd)
53590		return odrd, err
53591	case string(TypeCosmosDbMongoDbAPICollection):
53592		var cdmdacd CosmosDbMongoDbAPICollectionDataset
53593		err := json.Unmarshal(body, &cdmdacd)
53594		return cdmdacd, err
53595	case string(TypeMongoDbV2Collection):
53596		var mdvcd MongoDbV2CollectionDataset
53597		err := json.Unmarshal(body, &mdvcd)
53598		return mdvcd, err
53599	case string(TypeMongoDbCollection):
53600		var mdcd MongoDbCollectionDataset
53601		err := json.Unmarshal(body, &mdcd)
53602		return mdcd, err
53603	case string(TypeFileShare):
53604		var fsd FileShareDataset
53605		err := json.Unmarshal(body, &fsd)
53606		return fsd, err
53607	case string(TypeOffice365Table):
53608		var o3d Office365Dataset
53609		err := json.Unmarshal(body, &o3d)
53610		return o3d, err
53611	case string(TypeAzureBlobFSFile):
53612		var abfd AzureBlobFSDataset
53613		err := json.Unmarshal(body, &abfd)
53614		return abfd, err
53615	case string(TypeAzureDataLakeStoreFile):
53616		var adlsd AzureDataLakeStoreDataset
53617		err := json.Unmarshal(body, &adlsd)
53618		return adlsd, err
53619	case string(TypeCommonDataServiceForAppsEntity):
53620		var cdsfaed CommonDataServiceForAppsEntityDataset
53621		err := json.Unmarshal(body, &cdsfaed)
53622		return cdsfaed, err
53623	case string(TypeDynamicsCrmEntity):
53624		var dced DynamicsCrmEntityDataset
53625		err := json.Unmarshal(body, &dced)
53626		return dced, err
53627	case string(TypeDynamicsEntity):
53628		var ded DynamicsEntityDataset
53629		err := json.Unmarshal(body, &ded)
53630		return ded, err
53631	case string(TypeDocumentDbCollection):
53632		var ddcd DocumentDbCollectionDataset
53633		err := json.Unmarshal(body, &ddcd)
53634		return ddcd, err
53635	case string(TypeCustomDataset):
53636		var cd CustomDataset
53637		err := json.Unmarshal(body, &cd)
53638		return cd, err
53639	case string(TypeCassandraTable):
53640		var ctd CassandraTableDataset
53641		err := json.Unmarshal(body, &ctd)
53642		return ctd, err
53643	case string(TypeAzureSQLDWTable):
53644		var asdtd AzureSQLDWTableDataset
53645		err := json.Unmarshal(body, &asdtd)
53646		return asdtd, err
53647	case string(TypeAzureSQLMITable):
53648		var asmtd AzureSQLMITableDataset
53649		err := json.Unmarshal(body, &asmtd)
53650		return asmtd, err
53651	case string(TypeAzureSQLTable):
53652		var astd AzureSQLTableDataset
53653		err := json.Unmarshal(body, &astd)
53654		return astd, err
53655	case string(TypeAzureTable):
53656		var atd AzureTableDataset
53657		err := json.Unmarshal(body, &atd)
53658		return atd, err
53659	case string(TypeAzureBlob):
53660		var abd AzureBlobDataset
53661		err := json.Unmarshal(body, &abd)
53662		return abd, err
53663	case string(TypeBinary):
53664		var bd BinaryDataset
53665		err := json.Unmarshal(body, &bd)
53666		return bd, err
53667	case string(TypeDelimitedText):
53668		var dtd DelimitedTextDataset
53669		err := json.Unmarshal(body, &dtd)
53670		return dtd, err
53671	case string(TypeParquet):
53672		var pd ParquetDataset
53673		err := json.Unmarshal(body, &pd)
53674		return pd, err
53675	case string(TypeAmazonS3Object):
53676		var asd AmazonS3Dataset
53677		err := json.Unmarshal(body, &asd)
53678		return asd, err
53679	default:
53680		var d Dataset
53681		err := json.Unmarshal(body, &d)
53682		return d, err
53683	}
53684}
53685func unmarshalBasicDatasetArray(body []byte) ([]BasicDataset, error) {
53686	var rawMessages []*json.RawMessage
53687	err := json.Unmarshal(body, &rawMessages)
53688	if err != nil {
53689		return nil, err
53690	}
53691
53692	dArray := make([]BasicDataset, len(rawMessages))
53693
53694	for index, rawMessage := range rawMessages {
53695		d, err := unmarshalBasicDataset(*rawMessage)
53696		if err != nil {
53697			return nil, err
53698		}
53699		dArray[index] = d
53700	}
53701	return dArray, nil
53702}
53703
53704// MarshalJSON is the custom marshaler for Dataset.
53705func (d Dataset) MarshalJSON() ([]byte, error) {
53706	d.Type = TypeDataset
53707	objectMap := make(map[string]interface{})
53708	if d.Description != nil {
53709		objectMap["description"] = d.Description
53710	}
53711	if d.Structure != nil {
53712		objectMap["structure"] = d.Structure
53713	}
53714	if d.Schema != nil {
53715		objectMap["schema"] = d.Schema
53716	}
53717	if d.LinkedServiceName != nil {
53718		objectMap["linkedServiceName"] = d.LinkedServiceName
53719	}
53720	if d.Parameters != nil {
53721		objectMap["parameters"] = d.Parameters
53722	}
53723	if d.Annotations != nil {
53724		objectMap["annotations"] = d.Annotations
53725	}
53726	if d.Folder != nil {
53727		objectMap["folder"] = d.Folder
53728	}
53729	if d.Type != "" {
53730		objectMap["type"] = d.Type
53731	}
53732	for k, v := range d.AdditionalProperties {
53733		objectMap[k] = v
53734	}
53735	return json.Marshal(objectMap)
53736}
53737
53738// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for Dataset.
53739func (d Dataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) {
53740	return nil, false
53741}
53742
53743// AsAzureDataExplorerTableDataset is the BasicDataset implementation for Dataset.
53744func (d Dataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) {
53745	return nil, false
53746}
53747
53748// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for Dataset.
53749func (d Dataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) {
53750	return nil, false
53751}
53752
53753// AsDynamicsAXResourceDataset is the BasicDataset implementation for Dataset.
53754func (d Dataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) {
53755	return nil, false
53756}
53757
53758// AsResponsysObjectDataset is the BasicDataset implementation for Dataset.
53759func (d Dataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
53760	return nil, false
53761}
53762
53763// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for Dataset.
53764func (d Dataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
53765	return nil, false
53766}
53767
53768// AsVerticaTableDataset is the BasicDataset implementation for Dataset.
53769func (d Dataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
53770	return nil, false
53771}
53772
53773// AsNetezzaTableDataset is the BasicDataset implementation for Dataset.
53774func (d Dataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
53775	return nil, false
53776}
53777
53778// AsZohoObjectDataset is the BasicDataset implementation for Dataset.
53779func (d Dataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
53780	return nil, false
53781}
53782
53783// AsXeroObjectDataset is the BasicDataset implementation for Dataset.
53784func (d Dataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
53785	return nil, false
53786}
53787
53788// AsSquareObjectDataset is the BasicDataset implementation for Dataset.
53789func (d Dataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
53790	return nil, false
53791}
53792
53793// AsSparkObjectDataset is the BasicDataset implementation for Dataset.
53794func (d Dataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
53795	return nil, false
53796}
53797
53798// AsShopifyObjectDataset is the BasicDataset implementation for Dataset.
53799func (d Dataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
53800	return nil, false
53801}
53802
53803// AsServiceNowObjectDataset is the BasicDataset implementation for Dataset.
53804func (d Dataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
53805	return nil, false
53806}
53807
53808// AsQuickBooksObjectDataset is the BasicDataset implementation for Dataset.
53809func (d Dataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
53810	return nil, false
53811}
53812
53813// AsPrestoObjectDataset is the BasicDataset implementation for Dataset.
53814func (d Dataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
53815	return nil, false
53816}
53817
53818// AsPhoenixObjectDataset is the BasicDataset implementation for Dataset.
53819func (d Dataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
53820	return nil, false
53821}
53822
53823// AsPaypalObjectDataset is the BasicDataset implementation for Dataset.
53824func (d Dataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
53825	return nil, false
53826}
53827
53828// AsMarketoObjectDataset is the BasicDataset implementation for Dataset.
53829func (d Dataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
53830	return nil, false
53831}
53832
53833// AsMariaDBTableDataset is the BasicDataset implementation for Dataset.
53834func (d Dataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
53835	return nil, false
53836}
53837
53838// AsMagentoObjectDataset is the BasicDataset implementation for Dataset.
53839func (d Dataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
53840	return nil, false
53841}
53842
53843// AsJiraObjectDataset is the BasicDataset implementation for Dataset.
53844func (d Dataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
53845	return nil, false
53846}
53847
53848// AsImpalaObjectDataset is the BasicDataset implementation for Dataset.
53849func (d Dataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
53850	return nil, false
53851}
53852
53853// AsHubspotObjectDataset is the BasicDataset implementation for Dataset.
53854func (d Dataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
53855	return nil, false
53856}
53857
53858// AsHiveObjectDataset is the BasicDataset implementation for Dataset.
53859func (d Dataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
53860	return nil, false
53861}
53862
53863// AsHBaseObjectDataset is the BasicDataset implementation for Dataset.
53864func (d Dataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
53865	return nil, false
53866}
53867
53868// AsGreenplumTableDataset is the BasicDataset implementation for Dataset.
53869func (d Dataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
53870	return nil, false
53871}
53872
53873// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for Dataset.
53874func (d Dataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
53875	return nil, false
53876}
53877
53878// AsEloquaObjectDataset is the BasicDataset implementation for Dataset.
53879func (d Dataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
53880	return nil, false
53881}
53882
53883// AsDrillTableDataset is the BasicDataset implementation for Dataset.
53884func (d Dataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
53885	return nil, false
53886}
53887
53888// AsCouchbaseTableDataset is the BasicDataset implementation for Dataset.
53889func (d Dataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
53890	return nil, false
53891}
53892
53893// AsConcurObjectDataset is the BasicDataset implementation for Dataset.
53894func (d Dataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
53895	return nil, false
53896}
53897
53898// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for Dataset.
53899func (d Dataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
53900	return nil, false
53901}
53902
53903// AsAmazonMWSObjectDataset is the BasicDataset implementation for Dataset.
53904func (d Dataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
53905	return nil, false
53906}
53907
53908// AsHTTPDataset is the BasicDataset implementation for Dataset.
53909func (d Dataset) AsHTTPDataset() (*HTTPDataset, bool) {
53910	return nil, false
53911}
53912
53913// AsAzureSearchIndexDataset is the BasicDataset implementation for Dataset.
53914func (d Dataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
53915	return nil, false
53916}
53917
53918// AsWebTableDataset is the BasicDataset implementation for Dataset.
53919func (d Dataset) AsWebTableDataset() (*WebTableDataset, bool) {
53920	return nil, false
53921}
53922
53923// AsSapTableResourceDataset is the BasicDataset implementation for Dataset.
53924func (d Dataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) {
53925	return nil, false
53926}
53927
53928// AsRestResourceDataset is the BasicDataset implementation for Dataset.
53929func (d Dataset) AsRestResourceDataset() (*RestResourceDataset, bool) {
53930	return nil, false
53931}
53932
53933// AsSQLServerTableDataset is the BasicDataset implementation for Dataset.
53934func (d Dataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
53935	return nil, false
53936}
53937
53938// AsSapOpenHubTableDataset is the BasicDataset implementation for Dataset.
53939func (d Dataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) {
53940	return nil, false
53941}
53942
53943// AsSapHanaTableDataset is the BasicDataset implementation for Dataset.
53944func (d Dataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) {
53945	return nil, false
53946}
53947
53948// AsSapEccResourceDataset is the BasicDataset implementation for Dataset.
53949func (d Dataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
53950	return nil, false
53951}
53952
53953// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for Dataset.
53954func (d Dataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
53955	return nil, false
53956}
53957
53958// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for Dataset.
53959func (d Dataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) {
53960	return nil, false
53961}
53962
53963// AsSalesforceObjectDataset is the BasicDataset implementation for Dataset.
53964func (d Dataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
53965	return nil, false
53966}
53967
53968// AsMicrosoftAccessTableDataset is the BasicDataset implementation for Dataset.
53969func (d Dataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) {
53970	return nil, false
53971}
53972
53973// AsPostgreSQLTableDataset is the BasicDataset implementation for Dataset.
53974func (d Dataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) {
53975	return nil, false
53976}
53977
53978// AsMySQLTableDataset is the BasicDataset implementation for Dataset.
53979func (d Dataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) {
53980	return nil, false
53981}
53982
53983// AsOdbcTableDataset is the BasicDataset implementation for Dataset.
53984func (d Dataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) {
53985	return nil, false
53986}
53987
53988// AsInformixTableDataset is the BasicDataset implementation for Dataset.
53989func (d Dataset) AsInformixTableDataset() (*InformixTableDataset, bool) {
53990	return nil, false
53991}
53992
53993// AsRelationalTableDataset is the BasicDataset implementation for Dataset.
53994func (d Dataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
53995	return nil, false
53996}
53997
53998// AsAzureMySQLTableDataset is the BasicDataset implementation for Dataset.
53999func (d Dataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
54000	return nil, false
54001}
54002
54003// AsTeradataTableDataset is the BasicDataset implementation for Dataset.
54004func (d Dataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) {
54005	return nil, false
54006}
54007
54008// AsOracleTableDataset is the BasicDataset implementation for Dataset.
54009func (d Dataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
54010	return nil, false
54011}
54012
54013// AsODataResourceDataset is the BasicDataset implementation for Dataset.
54014func (d Dataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
54015	return nil, false
54016}
54017
54018// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for Dataset.
54019func (d Dataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) {
54020	return nil, false
54021}
54022
54023// AsMongoDbV2CollectionDataset is the BasicDataset implementation for Dataset.
54024func (d Dataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) {
54025	return nil, false
54026}
54027
54028// AsMongoDbCollectionDataset is the BasicDataset implementation for Dataset.
54029func (d Dataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
54030	return nil, false
54031}
54032
54033// AsFileShareDataset is the BasicDataset implementation for Dataset.
54034func (d Dataset) AsFileShareDataset() (*FileShareDataset, bool) {
54035	return nil, false
54036}
54037
54038// AsOffice365Dataset is the BasicDataset implementation for Dataset.
54039func (d Dataset) AsOffice365Dataset() (*Office365Dataset, bool) {
54040	return nil, false
54041}
54042
54043// AsAzureBlobFSDataset is the BasicDataset implementation for Dataset.
54044func (d Dataset) AsAzureBlobFSDataset() (*AzureBlobFSDataset, bool) {
54045	return nil, false
54046}
54047
54048// AsAzureDataLakeStoreDataset is the BasicDataset implementation for Dataset.
54049func (d Dataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) {
54050	return nil, false
54051}
54052
54053// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for Dataset.
54054func (d Dataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) {
54055	return nil, false
54056}
54057
54058// AsDynamicsCrmEntityDataset is the BasicDataset implementation for Dataset.
54059func (d Dataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) {
54060	return nil, false
54061}
54062
54063// AsDynamicsEntityDataset is the BasicDataset implementation for Dataset.
54064func (d Dataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
54065	return nil, false
54066}
54067
54068// AsDocumentDbCollectionDataset is the BasicDataset implementation for Dataset.
54069func (d Dataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
54070	return nil, false
54071}
54072
54073// AsCustomDataset is the BasicDataset implementation for Dataset.
54074func (d Dataset) AsCustomDataset() (*CustomDataset, bool) {
54075	return nil, false
54076}
54077
54078// AsCassandraTableDataset is the BasicDataset implementation for Dataset.
54079func (d Dataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
54080	return nil, false
54081}
54082
54083// AsAzureSQLDWTableDataset is the BasicDataset implementation for Dataset.
54084func (d Dataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
54085	return nil, false
54086}
54087
54088// AsAzureSQLMITableDataset is the BasicDataset implementation for Dataset.
54089func (d Dataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) {
54090	return nil, false
54091}
54092
54093// AsAzureSQLTableDataset is the BasicDataset implementation for Dataset.
54094func (d Dataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
54095	return nil, false
54096}
54097
54098// AsAzureTableDataset is the BasicDataset implementation for Dataset.
54099func (d Dataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
54100	return nil, false
54101}
54102
54103// AsAzureBlobDataset is the BasicDataset implementation for Dataset.
54104func (d Dataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) {
54105	return nil, false
54106}
54107
54108// AsBinaryDataset is the BasicDataset implementation for Dataset.
54109func (d Dataset) AsBinaryDataset() (*BinaryDataset, bool) {
54110	return nil, false
54111}
54112
54113// AsDelimitedTextDataset is the BasicDataset implementation for Dataset.
54114func (d Dataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) {
54115	return nil, false
54116}
54117
54118// AsParquetDataset is the BasicDataset implementation for Dataset.
54119func (d Dataset) AsParquetDataset() (*ParquetDataset, bool) {
54120	return nil, false
54121}
54122
54123// AsAmazonS3Dataset is the BasicDataset implementation for Dataset.
54124func (d Dataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) {
54125	return nil, false
54126}
54127
54128// AsDataset is the BasicDataset implementation for Dataset.
54129func (d Dataset) AsDataset() (*Dataset, bool) {
54130	return &d, true
54131}
54132
54133// AsBasicDataset is the BasicDataset implementation for Dataset.
54134func (d Dataset) AsBasicDataset() (BasicDataset, bool) {
54135	return &d, true
54136}
54137
54138// UnmarshalJSON is the custom unmarshaler for Dataset struct.
54139func (d *Dataset) UnmarshalJSON(body []byte) error {
54140	var m map[string]*json.RawMessage
54141	err := json.Unmarshal(body, &m)
54142	if err != nil {
54143		return err
54144	}
54145	for k, v := range m {
54146		switch k {
54147		default:
54148			if v != nil {
54149				var additionalProperties interface{}
54150				err = json.Unmarshal(*v, &additionalProperties)
54151				if err != nil {
54152					return err
54153				}
54154				if d.AdditionalProperties == nil {
54155					d.AdditionalProperties = make(map[string]interface{})
54156				}
54157				d.AdditionalProperties[k] = additionalProperties
54158			}
54159		case "description":
54160			if v != nil {
54161				var description string
54162				err = json.Unmarshal(*v, &description)
54163				if err != nil {
54164					return err
54165				}
54166				d.Description = &description
54167			}
54168		case "structure":
54169			if v != nil {
54170				var structure interface{}
54171				err = json.Unmarshal(*v, &structure)
54172				if err != nil {
54173					return err
54174				}
54175				d.Structure = structure
54176			}
54177		case "schema":
54178			if v != nil {
54179				var schema interface{}
54180				err = json.Unmarshal(*v, &schema)
54181				if err != nil {
54182					return err
54183				}
54184				d.Schema = schema
54185			}
54186		case "linkedServiceName":
54187			if v != nil {
54188				var linkedServiceName LinkedServiceReference
54189				err = json.Unmarshal(*v, &linkedServiceName)
54190				if err != nil {
54191					return err
54192				}
54193				d.LinkedServiceName = &linkedServiceName
54194			}
54195		case "parameters":
54196			if v != nil {
54197				var parameters map[string]*ParameterSpecification
54198				err = json.Unmarshal(*v, &parameters)
54199				if err != nil {
54200					return err
54201				}
54202				d.Parameters = parameters
54203			}
54204		case "annotations":
54205			if v != nil {
54206				var annotations []interface{}
54207				err = json.Unmarshal(*v, &annotations)
54208				if err != nil {
54209					return err
54210				}
54211				d.Annotations = &annotations
54212			}
54213		case "folder":
54214			if v != nil {
54215				var folder DatasetFolder
54216				err = json.Unmarshal(*v, &folder)
54217				if err != nil {
54218					return err
54219				}
54220				d.Folder = &folder
54221			}
54222		case "type":
54223			if v != nil {
54224				var typeVar TypeBasicDataset
54225				err = json.Unmarshal(*v, &typeVar)
54226				if err != nil {
54227					return err
54228				}
54229				d.Type = typeVar
54230			}
54231		}
54232	}
54233
54234	return nil
54235}
54236
54237// DatasetBZip2Compression the BZip2 compression method used on a dataset.
54238type DatasetBZip2Compression struct {
54239	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
54240	AdditionalProperties map[string]interface{} `json:""`
54241	// Type - Possible values include: 'TypeDatasetCompression', 'TypeZipDeflate', 'TypeDeflate', 'TypeGZip', 'TypeBZip2'
54242	Type TypeBasicDatasetCompression `json:"type,omitempty"`
54243}
54244
54245// MarshalJSON is the custom marshaler for DatasetBZip2Compression.
54246func (dbz2c DatasetBZip2Compression) MarshalJSON() ([]byte, error) {
54247	dbz2c.Type = TypeBZip2
54248	objectMap := make(map[string]interface{})
54249	if dbz2c.Type != "" {
54250		objectMap["type"] = dbz2c.Type
54251	}
54252	for k, v := range dbz2c.AdditionalProperties {
54253		objectMap[k] = v
54254	}
54255	return json.Marshal(objectMap)
54256}
54257
54258// AsDatasetZipDeflateCompression is the BasicDatasetCompression implementation for DatasetBZip2Compression.
54259func (dbz2c DatasetBZip2Compression) AsDatasetZipDeflateCompression() (*DatasetZipDeflateCompression, bool) {
54260	return nil, false
54261}
54262
54263// AsDatasetDeflateCompression is the BasicDatasetCompression implementation for DatasetBZip2Compression.
54264func (dbz2c DatasetBZip2Compression) AsDatasetDeflateCompression() (*DatasetDeflateCompression, bool) {
54265	return nil, false
54266}
54267
54268// AsDatasetGZipCompression is the BasicDatasetCompression implementation for DatasetBZip2Compression.
54269func (dbz2c DatasetBZip2Compression) AsDatasetGZipCompression() (*DatasetGZipCompression, bool) {
54270	return nil, false
54271}
54272
54273// AsDatasetBZip2Compression is the BasicDatasetCompression implementation for DatasetBZip2Compression.
54274func (dbz2c DatasetBZip2Compression) AsDatasetBZip2Compression() (*DatasetBZip2Compression, bool) {
54275	return &dbz2c, true
54276}
54277
54278// AsDatasetCompression is the BasicDatasetCompression implementation for DatasetBZip2Compression.
54279func (dbz2c DatasetBZip2Compression) AsDatasetCompression() (*DatasetCompression, bool) {
54280	return nil, false
54281}
54282
54283// AsBasicDatasetCompression is the BasicDatasetCompression implementation for DatasetBZip2Compression.
54284func (dbz2c DatasetBZip2Compression) AsBasicDatasetCompression() (BasicDatasetCompression, bool) {
54285	return &dbz2c, true
54286}
54287
54288// UnmarshalJSON is the custom unmarshaler for DatasetBZip2Compression struct.
54289func (dbz2c *DatasetBZip2Compression) UnmarshalJSON(body []byte) error {
54290	var m map[string]*json.RawMessage
54291	err := json.Unmarshal(body, &m)
54292	if err != nil {
54293		return err
54294	}
54295	for k, v := range m {
54296		switch k {
54297		default:
54298			if v != nil {
54299				var additionalProperties interface{}
54300				err = json.Unmarshal(*v, &additionalProperties)
54301				if err != nil {
54302					return err
54303				}
54304				if dbz2c.AdditionalProperties == nil {
54305					dbz2c.AdditionalProperties = make(map[string]interface{})
54306				}
54307				dbz2c.AdditionalProperties[k] = additionalProperties
54308			}
54309		case "type":
54310			if v != nil {
54311				var typeVar TypeBasicDatasetCompression
54312				err = json.Unmarshal(*v, &typeVar)
54313				if err != nil {
54314					return err
54315				}
54316				dbz2c.Type = typeVar
54317			}
54318		}
54319	}
54320
54321	return nil
54322}
54323
54324// BasicDatasetCompression the compression method used on a dataset.
54325type BasicDatasetCompression interface {
54326	AsDatasetZipDeflateCompression() (*DatasetZipDeflateCompression, bool)
54327	AsDatasetDeflateCompression() (*DatasetDeflateCompression, bool)
54328	AsDatasetGZipCompression() (*DatasetGZipCompression, bool)
54329	AsDatasetBZip2Compression() (*DatasetBZip2Compression, bool)
54330	AsDatasetCompression() (*DatasetCompression, bool)
54331}
54332
54333// DatasetCompression the compression method used on a dataset.
54334type DatasetCompression struct {
54335	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
54336	AdditionalProperties map[string]interface{} `json:""`
54337	// Type - Possible values include: 'TypeDatasetCompression', 'TypeZipDeflate', 'TypeDeflate', 'TypeGZip', 'TypeBZip2'
54338	Type TypeBasicDatasetCompression `json:"type,omitempty"`
54339}
54340
54341func unmarshalBasicDatasetCompression(body []byte) (BasicDatasetCompression, error) {
54342	var m map[string]interface{}
54343	err := json.Unmarshal(body, &m)
54344	if err != nil {
54345		return nil, err
54346	}
54347
54348	switch m["type"] {
54349	case string(TypeZipDeflate):
54350		var dzdc DatasetZipDeflateCompression
54351		err := json.Unmarshal(body, &dzdc)
54352		return dzdc, err
54353	case string(TypeDeflate):
54354		var ddc DatasetDeflateCompression
54355		err := json.Unmarshal(body, &ddc)
54356		return ddc, err
54357	case string(TypeGZip):
54358		var dgzc DatasetGZipCompression
54359		err := json.Unmarshal(body, &dgzc)
54360		return dgzc, err
54361	case string(TypeBZip2):
54362		var dbz2c DatasetBZip2Compression
54363		err := json.Unmarshal(body, &dbz2c)
54364		return dbz2c, err
54365	default:
54366		var dc DatasetCompression
54367		err := json.Unmarshal(body, &dc)
54368		return dc, err
54369	}
54370}
54371func unmarshalBasicDatasetCompressionArray(body []byte) ([]BasicDatasetCompression, error) {
54372	var rawMessages []*json.RawMessage
54373	err := json.Unmarshal(body, &rawMessages)
54374	if err != nil {
54375		return nil, err
54376	}
54377
54378	dcArray := make([]BasicDatasetCompression, len(rawMessages))
54379
54380	for index, rawMessage := range rawMessages {
54381		dc, err := unmarshalBasicDatasetCompression(*rawMessage)
54382		if err != nil {
54383			return nil, err
54384		}
54385		dcArray[index] = dc
54386	}
54387	return dcArray, nil
54388}
54389
54390// MarshalJSON is the custom marshaler for DatasetCompression.
54391func (dc DatasetCompression) MarshalJSON() ([]byte, error) {
54392	dc.Type = TypeDatasetCompression
54393	objectMap := make(map[string]interface{})
54394	if dc.Type != "" {
54395		objectMap["type"] = dc.Type
54396	}
54397	for k, v := range dc.AdditionalProperties {
54398		objectMap[k] = v
54399	}
54400	return json.Marshal(objectMap)
54401}
54402
54403// AsDatasetZipDeflateCompression is the BasicDatasetCompression implementation for DatasetCompression.
54404func (dc DatasetCompression) AsDatasetZipDeflateCompression() (*DatasetZipDeflateCompression, bool) {
54405	return nil, false
54406}
54407
54408// AsDatasetDeflateCompression is the BasicDatasetCompression implementation for DatasetCompression.
54409func (dc DatasetCompression) AsDatasetDeflateCompression() (*DatasetDeflateCompression, bool) {
54410	return nil, false
54411}
54412
54413// AsDatasetGZipCompression is the BasicDatasetCompression implementation for DatasetCompression.
54414func (dc DatasetCompression) AsDatasetGZipCompression() (*DatasetGZipCompression, bool) {
54415	return nil, false
54416}
54417
54418// AsDatasetBZip2Compression is the BasicDatasetCompression implementation for DatasetCompression.
54419func (dc DatasetCompression) AsDatasetBZip2Compression() (*DatasetBZip2Compression, bool) {
54420	return nil, false
54421}
54422
54423// AsDatasetCompression is the BasicDatasetCompression implementation for DatasetCompression.
54424func (dc DatasetCompression) AsDatasetCompression() (*DatasetCompression, bool) {
54425	return &dc, true
54426}
54427
54428// AsBasicDatasetCompression is the BasicDatasetCompression implementation for DatasetCompression.
54429func (dc DatasetCompression) AsBasicDatasetCompression() (BasicDatasetCompression, bool) {
54430	return &dc, true
54431}
54432
54433// UnmarshalJSON is the custom unmarshaler for DatasetCompression struct.
54434func (dc *DatasetCompression) UnmarshalJSON(body []byte) error {
54435	var m map[string]*json.RawMessage
54436	err := json.Unmarshal(body, &m)
54437	if err != nil {
54438		return err
54439	}
54440	for k, v := range m {
54441		switch k {
54442		default:
54443			if v != nil {
54444				var additionalProperties interface{}
54445				err = json.Unmarshal(*v, &additionalProperties)
54446				if err != nil {
54447					return err
54448				}
54449				if dc.AdditionalProperties == nil {
54450					dc.AdditionalProperties = make(map[string]interface{})
54451				}
54452				dc.AdditionalProperties[k] = additionalProperties
54453			}
54454		case "type":
54455			if v != nil {
54456				var typeVar TypeBasicDatasetCompression
54457				err = json.Unmarshal(*v, &typeVar)
54458				if err != nil {
54459					return err
54460				}
54461				dc.Type = typeVar
54462			}
54463		}
54464	}
54465
54466	return nil
54467}
54468
54469// DatasetDeflateCompression the Deflate compression method used on a dataset.
54470type DatasetDeflateCompression struct {
54471	// Level - The Deflate compression level.
54472	Level interface{} `json:"level,omitempty"`
54473	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
54474	AdditionalProperties map[string]interface{} `json:""`
54475	// Type - Possible values include: 'TypeDatasetCompression', 'TypeZipDeflate', 'TypeDeflate', 'TypeGZip', 'TypeBZip2'
54476	Type TypeBasicDatasetCompression `json:"type,omitempty"`
54477}
54478
54479// MarshalJSON is the custom marshaler for DatasetDeflateCompression.
54480func (ddc DatasetDeflateCompression) MarshalJSON() ([]byte, error) {
54481	ddc.Type = TypeDeflate
54482	objectMap := make(map[string]interface{})
54483	if ddc.Level != nil {
54484		objectMap["level"] = ddc.Level
54485	}
54486	if ddc.Type != "" {
54487		objectMap["type"] = ddc.Type
54488	}
54489	for k, v := range ddc.AdditionalProperties {
54490		objectMap[k] = v
54491	}
54492	return json.Marshal(objectMap)
54493}
54494
54495// AsDatasetZipDeflateCompression is the BasicDatasetCompression implementation for DatasetDeflateCompression.
54496func (ddc DatasetDeflateCompression) AsDatasetZipDeflateCompression() (*DatasetZipDeflateCompression, bool) {
54497	return nil, false
54498}
54499
54500// AsDatasetDeflateCompression is the BasicDatasetCompression implementation for DatasetDeflateCompression.
54501func (ddc DatasetDeflateCompression) AsDatasetDeflateCompression() (*DatasetDeflateCompression, bool) {
54502	return &ddc, true
54503}
54504
54505// AsDatasetGZipCompression is the BasicDatasetCompression implementation for DatasetDeflateCompression.
54506func (ddc DatasetDeflateCompression) AsDatasetGZipCompression() (*DatasetGZipCompression, bool) {
54507	return nil, false
54508}
54509
54510// AsDatasetBZip2Compression is the BasicDatasetCompression implementation for DatasetDeflateCompression.
54511func (ddc DatasetDeflateCompression) AsDatasetBZip2Compression() (*DatasetBZip2Compression, bool) {
54512	return nil, false
54513}
54514
54515// AsDatasetCompression is the BasicDatasetCompression implementation for DatasetDeflateCompression.
54516func (ddc DatasetDeflateCompression) AsDatasetCompression() (*DatasetCompression, bool) {
54517	return nil, false
54518}
54519
54520// AsBasicDatasetCompression is the BasicDatasetCompression implementation for DatasetDeflateCompression.
54521func (ddc DatasetDeflateCompression) AsBasicDatasetCompression() (BasicDatasetCompression, bool) {
54522	return &ddc, true
54523}
54524
54525// UnmarshalJSON is the custom unmarshaler for DatasetDeflateCompression struct.
54526func (ddc *DatasetDeflateCompression) UnmarshalJSON(body []byte) error {
54527	var m map[string]*json.RawMessage
54528	err := json.Unmarshal(body, &m)
54529	if err != nil {
54530		return err
54531	}
54532	for k, v := range m {
54533		switch k {
54534		case "level":
54535			if v != nil {
54536				var level interface{}
54537				err = json.Unmarshal(*v, &level)
54538				if err != nil {
54539					return err
54540				}
54541				ddc.Level = level
54542			}
54543		default:
54544			if v != nil {
54545				var additionalProperties interface{}
54546				err = json.Unmarshal(*v, &additionalProperties)
54547				if err != nil {
54548					return err
54549				}
54550				if ddc.AdditionalProperties == nil {
54551					ddc.AdditionalProperties = make(map[string]interface{})
54552				}
54553				ddc.AdditionalProperties[k] = additionalProperties
54554			}
54555		case "type":
54556			if v != nil {
54557				var typeVar TypeBasicDatasetCompression
54558				err = json.Unmarshal(*v, &typeVar)
54559				if err != nil {
54560					return err
54561				}
54562				ddc.Type = typeVar
54563			}
54564		}
54565	}
54566
54567	return nil
54568}
54569
54570// DatasetFolder the folder that this Dataset is in. If not specified, Dataset will appear at the root
54571// level.
54572type DatasetFolder struct {
54573	// Name - The name of the folder that this Dataset is in.
54574	Name *string `json:"name,omitempty"`
54575}
54576
54577// DatasetGZipCompression the GZip compression method used on a dataset.
54578type DatasetGZipCompression struct {
54579	// Level - The GZip compression level.
54580	Level interface{} `json:"level,omitempty"`
54581	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
54582	AdditionalProperties map[string]interface{} `json:""`
54583	// Type - Possible values include: 'TypeDatasetCompression', 'TypeZipDeflate', 'TypeDeflate', 'TypeGZip', 'TypeBZip2'
54584	Type TypeBasicDatasetCompression `json:"type,omitempty"`
54585}
54586
54587// MarshalJSON is the custom marshaler for DatasetGZipCompression.
54588func (dgzc DatasetGZipCompression) MarshalJSON() ([]byte, error) {
54589	dgzc.Type = TypeGZip
54590	objectMap := make(map[string]interface{})
54591	if dgzc.Level != nil {
54592		objectMap["level"] = dgzc.Level
54593	}
54594	if dgzc.Type != "" {
54595		objectMap["type"] = dgzc.Type
54596	}
54597	for k, v := range dgzc.AdditionalProperties {
54598		objectMap[k] = v
54599	}
54600	return json.Marshal(objectMap)
54601}
54602
54603// AsDatasetZipDeflateCompression is the BasicDatasetCompression implementation for DatasetGZipCompression.
54604func (dgzc DatasetGZipCompression) AsDatasetZipDeflateCompression() (*DatasetZipDeflateCompression, bool) {
54605	return nil, false
54606}
54607
54608// AsDatasetDeflateCompression is the BasicDatasetCompression implementation for DatasetGZipCompression.
54609func (dgzc DatasetGZipCompression) AsDatasetDeflateCompression() (*DatasetDeflateCompression, bool) {
54610	return nil, false
54611}
54612
54613// AsDatasetGZipCompression is the BasicDatasetCompression implementation for DatasetGZipCompression.
54614func (dgzc DatasetGZipCompression) AsDatasetGZipCompression() (*DatasetGZipCompression, bool) {
54615	return &dgzc, true
54616}
54617
54618// AsDatasetBZip2Compression is the BasicDatasetCompression implementation for DatasetGZipCompression.
54619func (dgzc DatasetGZipCompression) AsDatasetBZip2Compression() (*DatasetBZip2Compression, bool) {
54620	return nil, false
54621}
54622
54623// AsDatasetCompression is the BasicDatasetCompression implementation for DatasetGZipCompression.
54624func (dgzc DatasetGZipCompression) AsDatasetCompression() (*DatasetCompression, bool) {
54625	return nil, false
54626}
54627
54628// AsBasicDatasetCompression is the BasicDatasetCompression implementation for DatasetGZipCompression.
54629func (dgzc DatasetGZipCompression) AsBasicDatasetCompression() (BasicDatasetCompression, bool) {
54630	return &dgzc, true
54631}
54632
54633// UnmarshalJSON is the custom unmarshaler for DatasetGZipCompression struct.
54634func (dgzc *DatasetGZipCompression) UnmarshalJSON(body []byte) error {
54635	var m map[string]*json.RawMessage
54636	err := json.Unmarshal(body, &m)
54637	if err != nil {
54638		return err
54639	}
54640	for k, v := range m {
54641		switch k {
54642		case "level":
54643			if v != nil {
54644				var level interface{}
54645				err = json.Unmarshal(*v, &level)
54646				if err != nil {
54647					return err
54648				}
54649				dgzc.Level = level
54650			}
54651		default:
54652			if v != nil {
54653				var additionalProperties interface{}
54654				err = json.Unmarshal(*v, &additionalProperties)
54655				if err != nil {
54656					return err
54657				}
54658				if dgzc.AdditionalProperties == nil {
54659					dgzc.AdditionalProperties = make(map[string]interface{})
54660				}
54661				dgzc.AdditionalProperties[k] = additionalProperties
54662			}
54663		case "type":
54664			if v != nil {
54665				var typeVar TypeBasicDatasetCompression
54666				err = json.Unmarshal(*v, &typeVar)
54667				if err != nil {
54668					return err
54669				}
54670				dgzc.Type = typeVar
54671			}
54672		}
54673	}
54674
54675	return nil
54676}
54677
54678// DatasetListResponse a list of dataset resources.
54679type DatasetListResponse struct {
54680	autorest.Response `json:"-"`
54681	// Value - List of datasets.
54682	Value *[]DatasetResource `json:"value,omitempty"`
54683	// NextLink - The link to the next page of results, if any remaining results exist.
54684	NextLink *string `json:"nextLink,omitempty"`
54685}
54686
54687// DatasetListResponseIterator provides access to a complete listing of DatasetResource values.
54688type DatasetListResponseIterator struct {
54689	i    int
54690	page DatasetListResponsePage
54691}
54692
54693// NextWithContext advances to the next value.  If there was an error making
54694// the request the iterator does not advance and the error is returned.
54695func (iter *DatasetListResponseIterator) NextWithContext(ctx context.Context) (err error) {
54696	if tracing.IsEnabled() {
54697		ctx = tracing.StartSpan(ctx, fqdn+"/DatasetListResponseIterator.NextWithContext")
54698		defer func() {
54699			sc := -1
54700			if iter.Response().Response.Response != nil {
54701				sc = iter.Response().Response.Response.StatusCode
54702			}
54703			tracing.EndSpan(ctx, sc, err)
54704		}()
54705	}
54706	iter.i++
54707	if iter.i < len(iter.page.Values()) {
54708		return nil
54709	}
54710	err = iter.page.NextWithContext(ctx)
54711	if err != nil {
54712		iter.i--
54713		return err
54714	}
54715	iter.i = 0
54716	return nil
54717}
54718
54719// Next advances to the next value.  If there was an error making
54720// the request the iterator does not advance and the error is returned.
54721// Deprecated: Use NextWithContext() instead.
54722func (iter *DatasetListResponseIterator) Next() error {
54723	return iter.NextWithContext(context.Background())
54724}
54725
54726// NotDone returns true if the enumeration should be started or is not yet complete.
54727func (iter DatasetListResponseIterator) NotDone() bool {
54728	return iter.page.NotDone() && iter.i < len(iter.page.Values())
54729}
54730
54731// Response returns the raw server response from the last page request.
54732func (iter DatasetListResponseIterator) Response() DatasetListResponse {
54733	return iter.page.Response()
54734}
54735
54736// Value returns the current value or a zero-initialized value if the
54737// iterator has advanced beyond the end of the collection.
54738func (iter DatasetListResponseIterator) Value() DatasetResource {
54739	if !iter.page.NotDone() {
54740		return DatasetResource{}
54741	}
54742	return iter.page.Values()[iter.i]
54743}
54744
54745// Creates a new instance of the DatasetListResponseIterator type.
54746func NewDatasetListResponseIterator(page DatasetListResponsePage) DatasetListResponseIterator {
54747	return DatasetListResponseIterator{page: page}
54748}
54749
54750// IsEmpty returns true if the ListResult contains no values.
54751func (dlr DatasetListResponse) IsEmpty() bool {
54752	return dlr.Value == nil || len(*dlr.Value) == 0
54753}
54754
54755// datasetListResponsePreparer prepares a request to retrieve the next set of results.
54756// It returns nil if no more results exist.
54757func (dlr DatasetListResponse) datasetListResponsePreparer(ctx context.Context) (*http.Request, error) {
54758	if dlr.NextLink == nil || len(to.String(dlr.NextLink)) < 1 {
54759		return nil, nil
54760	}
54761	return autorest.Prepare((&http.Request{}).WithContext(ctx),
54762		autorest.AsJSON(),
54763		autorest.AsGet(),
54764		autorest.WithBaseURL(to.String(dlr.NextLink)))
54765}
54766
54767// DatasetListResponsePage contains a page of DatasetResource values.
54768type DatasetListResponsePage struct {
54769	fn  func(context.Context, DatasetListResponse) (DatasetListResponse, error)
54770	dlr DatasetListResponse
54771}
54772
54773// NextWithContext advances to the next page of values.  If there was an error making
54774// the request the page does not advance and the error is returned.
54775func (page *DatasetListResponsePage) NextWithContext(ctx context.Context) (err error) {
54776	if tracing.IsEnabled() {
54777		ctx = tracing.StartSpan(ctx, fqdn+"/DatasetListResponsePage.NextWithContext")
54778		defer func() {
54779			sc := -1
54780			if page.Response().Response.Response != nil {
54781				sc = page.Response().Response.Response.StatusCode
54782			}
54783			tracing.EndSpan(ctx, sc, err)
54784		}()
54785	}
54786	next, err := page.fn(ctx, page.dlr)
54787	if err != nil {
54788		return err
54789	}
54790	page.dlr = next
54791	return nil
54792}
54793
54794// Next advances to the next page of values.  If there was an error making
54795// the request the page does not advance and the error is returned.
54796// Deprecated: Use NextWithContext() instead.
54797func (page *DatasetListResponsePage) Next() error {
54798	return page.NextWithContext(context.Background())
54799}
54800
54801// NotDone returns true if the page enumeration should be started or is not yet complete.
54802func (page DatasetListResponsePage) NotDone() bool {
54803	return !page.dlr.IsEmpty()
54804}
54805
54806// Response returns the raw server response from the last page request.
54807func (page DatasetListResponsePage) Response() DatasetListResponse {
54808	return page.dlr
54809}
54810
54811// Values returns the slice of values for the current page or nil if there are no values.
54812func (page DatasetListResponsePage) Values() []DatasetResource {
54813	if page.dlr.IsEmpty() {
54814		return nil
54815	}
54816	return *page.dlr.Value
54817}
54818
54819// Creates a new instance of the DatasetListResponsePage type.
54820func NewDatasetListResponsePage(getNextPage func(context.Context, DatasetListResponse) (DatasetListResponse, error)) DatasetListResponsePage {
54821	return DatasetListResponsePage{fn: getNextPage}
54822}
54823
54824// DatasetLocation dataset location.
54825type DatasetLocation struct {
54826	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
54827	AdditionalProperties map[string]interface{} `json:""`
54828	// Type - Type of dataset storage location.
54829	Type *string `json:"type,omitempty"`
54830	// FolderPath - Specify the folder path of dataset. Type: string (or Expression with resultType string)
54831	FolderPath interface{} `json:"folderPath,omitempty"`
54832	// FileName - Specify the file name of dataset. Type: string (or Expression with resultType string).
54833	FileName interface{} `json:"fileName,omitempty"`
54834}
54835
54836// MarshalJSON is the custom marshaler for DatasetLocation.
54837func (dl DatasetLocation) MarshalJSON() ([]byte, error) {
54838	objectMap := make(map[string]interface{})
54839	if dl.Type != nil {
54840		objectMap["type"] = dl.Type
54841	}
54842	if dl.FolderPath != nil {
54843		objectMap["folderPath"] = dl.FolderPath
54844	}
54845	if dl.FileName != nil {
54846		objectMap["fileName"] = dl.FileName
54847	}
54848	for k, v := range dl.AdditionalProperties {
54849		objectMap[k] = v
54850	}
54851	return json.Marshal(objectMap)
54852}
54853
54854// UnmarshalJSON is the custom unmarshaler for DatasetLocation struct.
54855func (dl *DatasetLocation) UnmarshalJSON(body []byte) error {
54856	var m map[string]*json.RawMessage
54857	err := json.Unmarshal(body, &m)
54858	if err != nil {
54859		return err
54860	}
54861	for k, v := range m {
54862		switch k {
54863		default:
54864			if v != nil {
54865				var additionalProperties interface{}
54866				err = json.Unmarshal(*v, &additionalProperties)
54867				if err != nil {
54868					return err
54869				}
54870				if dl.AdditionalProperties == nil {
54871					dl.AdditionalProperties = make(map[string]interface{})
54872				}
54873				dl.AdditionalProperties[k] = additionalProperties
54874			}
54875		case "type":
54876			if v != nil {
54877				var typeVar string
54878				err = json.Unmarshal(*v, &typeVar)
54879				if err != nil {
54880					return err
54881				}
54882				dl.Type = &typeVar
54883			}
54884		case "folderPath":
54885			if v != nil {
54886				var folderPath interface{}
54887				err = json.Unmarshal(*v, &folderPath)
54888				if err != nil {
54889					return err
54890				}
54891				dl.FolderPath = folderPath
54892			}
54893		case "fileName":
54894			if v != nil {
54895				var fileName interface{}
54896				err = json.Unmarshal(*v, &fileName)
54897				if err != nil {
54898					return err
54899				}
54900				dl.FileName = fileName
54901			}
54902		}
54903	}
54904
54905	return nil
54906}
54907
54908// DatasetReference dataset reference type.
54909type DatasetReference struct {
54910	// Type - Dataset reference type.
54911	Type *string `json:"type,omitempty"`
54912	// ReferenceName - Reference dataset name.
54913	ReferenceName *string `json:"referenceName,omitempty"`
54914	// Parameters - Arguments for dataset.
54915	Parameters map[string]interface{} `json:"parameters"`
54916}
54917
54918// MarshalJSON is the custom marshaler for DatasetReference.
54919func (dr DatasetReference) MarshalJSON() ([]byte, error) {
54920	objectMap := make(map[string]interface{})
54921	if dr.Type != nil {
54922		objectMap["type"] = dr.Type
54923	}
54924	if dr.ReferenceName != nil {
54925		objectMap["referenceName"] = dr.ReferenceName
54926	}
54927	if dr.Parameters != nil {
54928		objectMap["parameters"] = dr.Parameters
54929	}
54930	return json.Marshal(objectMap)
54931}
54932
54933// DatasetResource dataset resource type.
54934type DatasetResource struct {
54935	autorest.Response `json:"-"`
54936	// Properties - Dataset properties.
54937	Properties BasicDataset `json:"properties,omitempty"`
54938	// ID - READ-ONLY; The resource identifier.
54939	ID *string `json:"id,omitempty"`
54940	// Name - READ-ONLY; The resource name.
54941	Name *string `json:"name,omitempty"`
54942	// Type - READ-ONLY; The resource type.
54943	Type *string `json:"type,omitempty"`
54944	// Etag - READ-ONLY; Etag identifies change in the resource.
54945	Etag *string `json:"etag,omitempty"`
54946}
54947
54948// UnmarshalJSON is the custom unmarshaler for DatasetResource struct.
54949func (dr *DatasetResource) UnmarshalJSON(body []byte) error {
54950	var m map[string]*json.RawMessage
54951	err := json.Unmarshal(body, &m)
54952	if err != nil {
54953		return err
54954	}
54955	for k, v := range m {
54956		switch k {
54957		case "properties":
54958			if v != nil {
54959				properties, err := unmarshalBasicDataset(*v)
54960				if err != nil {
54961					return err
54962				}
54963				dr.Properties = properties
54964			}
54965		case "id":
54966			if v != nil {
54967				var ID string
54968				err = json.Unmarshal(*v, &ID)
54969				if err != nil {
54970					return err
54971				}
54972				dr.ID = &ID
54973			}
54974		case "name":
54975			if v != nil {
54976				var name string
54977				err = json.Unmarshal(*v, &name)
54978				if err != nil {
54979					return err
54980				}
54981				dr.Name = &name
54982			}
54983		case "type":
54984			if v != nil {
54985				var typeVar string
54986				err = json.Unmarshal(*v, &typeVar)
54987				if err != nil {
54988					return err
54989				}
54990				dr.Type = &typeVar
54991			}
54992		case "etag":
54993			if v != nil {
54994				var etag string
54995				err = json.Unmarshal(*v, &etag)
54996				if err != nil {
54997					return err
54998				}
54999				dr.Etag = &etag
55000			}
55001		}
55002	}
55003
55004	return nil
55005}
55006
55007// BasicDatasetStorageFormat the format definition of a storage.
55008type BasicDatasetStorageFormat interface {
55009	AsParquetFormat() (*ParquetFormat, bool)
55010	AsOrcFormat() (*OrcFormat, bool)
55011	AsAvroFormat() (*AvroFormat, bool)
55012	AsJSONFormat() (*JSONFormat, bool)
55013	AsTextFormat() (*TextFormat, bool)
55014	AsDatasetStorageFormat() (*DatasetStorageFormat, bool)
55015}
55016
55017// DatasetStorageFormat the format definition of a storage.
55018type DatasetStorageFormat struct {
55019	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
55020	AdditionalProperties map[string]interface{} `json:""`
55021	// Serializer - Serializer. Type: string (or Expression with resultType string).
55022	Serializer interface{} `json:"serializer,omitempty"`
55023	// Deserializer - Deserializer. Type: string (or Expression with resultType string).
55024	Deserializer interface{} `json:"deserializer,omitempty"`
55025	// Type - Possible values include: 'TypeDatasetStorageFormat', 'TypeParquetFormat', 'TypeOrcFormat', 'TypeAvroFormat', 'TypeJSONFormat', 'TypeTextFormat'
55026	Type TypeBasicDatasetStorageFormat `json:"type,omitempty"`
55027}
55028
55029func unmarshalBasicDatasetStorageFormat(body []byte) (BasicDatasetStorageFormat, error) {
55030	var m map[string]interface{}
55031	err := json.Unmarshal(body, &m)
55032	if err != nil {
55033		return nil, err
55034	}
55035
55036	switch m["type"] {
55037	case string(TypeParquetFormat):
55038		var pf ParquetFormat
55039		err := json.Unmarshal(body, &pf)
55040		return pf, err
55041	case string(TypeOrcFormat):
55042		var of OrcFormat
55043		err := json.Unmarshal(body, &of)
55044		return of, err
55045	case string(TypeAvroFormat):
55046		var af AvroFormat
55047		err := json.Unmarshal(body, &af)
55048		return af, err
55049	case string(TypeJSONFormat):
55050		var jf JSONFormat
55051		err := json.Unmarshal(body, &jf)
55052		return jf, err
55053	case string(TypeTextFormat):
55054		var tf TextFormat
55055		err := json.Unmarshal(body, &tf)
55056		return tf, err
55057	default:
55058		var dsf DatasetStorageFormat
55059		err := json.Unmarshal(body, &dsf)
55060		return dsf, err
55061	}
55062}
55063func unmarshalBasicDatasetStorageFormatArray(body []byte) ([]BasicDatasetStorageFormat, error) {
55064	var rawMessages []*json.RawMessage
55065	err := json.Unmarshal(body, &rawMessages)
55066	if err != nil {
55067		return nil, err
55068	}
55069
55070	dsfArray := make([]BasicDatasetStorageFormat, len(rawMessages))
55071
55072	for index, rawMessage := range rawMessages {
55073		dsf, err := unmarshalBasicDatasetStorageFormat(*rawMessage)
55074		if err != nil {
55075			return nil, err
55076		}
55077		dsfArray[index] = dsf
55078	}
55079	return dsfArray, nil
55080}
55081
55082// MarshalJSON is the custom marshaler for DatasetStorageFormat.
55083func (dsf DatasetStorageFormat) MarshalJSON() ([]byte, error) {
55084	dsf.Type = TypeDatasetStorageFormat
55085	objectMap := make(map[string]interface{})
55086	if dsf.Serializer != nil {
55087		objectMap["serializer"] = dsf.Serializer
55088	}
55089	if dsf.Deserializer != nil {
55090		objectMap["deserializer"] = dsf.Deserializer
55091	}
55092	if dsf.Type != "" {
55093		objectMap["type"] = dsf.Type
55094	}
55095	for k, v := range dsf.AdditionalProperties {
55096		objectMap[k] = v
55097	}
55098	return json.Marshal(objectMap)
55099}
55100
55101// AsParquetFormat is the BasicDatasetStorageFormat implementation for DatasetStorageFormat.
55102func (dsf DatasetStorageFormat) AsParquetFormat() (*ParquetFormat, bool) {
55103	return nil, false
55104}
55105
55106// AsOrcFormat is the BasicDatasetStorageFormat implementation for DatasetStorageFormat.
55107func (dsf DatasetStorageFormat) AsOrcFormat() (*OrcFormat, bool) {
55108	return nil, false
55109}
55110
55111// AsAvroFormat is the BasicDatasetStorageFormat implementation for DatasetStorageFormat.
55112func (dsf DatasetStorageFormat) AsAvroFormat() (*AvroFormat, bool) {
55113	return nil, false
55114}
55115
55116// AsJSONFormat is the BasicDatasetStorageFormat implementation for DatasetStorageFormat.
55117func (dsf DatasetStorageFormat) AsJSONFormat() (*JSONFormat, bool) {
55118	return nil, false
55119}
55120
55121// AsTextFormat is the BasicDatasetStorageFormat implementation for DatasetStorageFormat.
55122func (dsf DatasetStorageFormat) AsTextFormat() (*TextFormat, bool) {
55123	return nil, false
55124}
55125
55126// AsDatasetStorageFormat is the BasicDatasetStorageFormat implementation for DatasetStorageFormat.
55127func (dsf DatasetStorageFormat) AsDatasetStorageFormat() (*DatasetStorageFormat, bool) {
55128	return &dsf, true
55129}
55130
55131// AsBasicDatasetStorageFormat is the BasicDatasetStorageFormat implementation for DatasetStorageFormat.
55132func (dsf DatasetStorageFormat) AsBasicDatasetStorageFormat() (BasicDatasetStorageFormat, bool) {
55133	return &dsf, true
55134}
55135
55136// UnmarshalJSON is the custom unmarshaler for DatasetStorageFormat struct.
55137func (dsf *DatasetStorageFormat) UnmarshalJSON(body []byte) error {
55138	var m map[string]*json.RawMessage
55139	err := json.Unmarshal(body, &m)
55140	if err != nil {
55141		return err
55142	}
55143	for k, v := range m {
55144		switch k {
55145		default:
55146			if v != nil {
55147				var additionalProperties interface{}
55148				err = json.Unmarshal(*v, &additionalProperties)
55149				if err != nil {
55150					return err
55151				}
55152				if dsf.AdditionalProperties == nil {
55153					dsf.AdditionalProperties = make(map[string]interface{})
55154				}
55155				dsf.AdditionalProperties[k] = additionalProperties
55156			}
55157		case "serializer":
55158			if v != nil {
55159				var serializer interface{}
55160				err = json.Unmarshal(*v, &serializer)
55161				if err != nil {
55162					return err
55163				}
55164				dsf.Serializer = serializer
55165			}
55166		case "deserializer":
55167			if v != nil {
55168				var deserializer interface{}
55169				err = json.Unmarshal(*v, &deserializer)
55170				if err != nil {
55171					return err
55172				}
55173				dsf.Deserializer = deserializer
55174			}
55175		case "type":
55176			if v != nil {
55177				var typeVar TypeBasicDatasetStorageFormat
55178				err = json.Unmarshal(*v, &typeVar)
55179				if err != nil {
55180					return err
55181				}
55182				dsf.Type = typeVar
55183			}
55184		}
55185	}
55186
55187	return nil
55188}
55189
55190// DatasetZipDeflateCompression the ZipDeflate compression method used on a dataset.
55191type DatasetZipDeflateCompression struct {
55192	// Level - The ZipDeflate compression level.
55193	Level interface{} `json:"level,omitempty"`
55194	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
55195	AdditionalProperties map[string]interface{} `json:""`
55196	// Type - Possible values include: 'TypeDatasetCompression', 'TypeZipDeflate', 'TypeDeflate', 'TypeGZip', 'TypeBZip2'
55197	Type TypeBasicDatasetCompression `json:"type,omitempty"`
55198}
55199
55200// MarshalJSON is the custom marshaler for DatasetZipDeflateCompression.
55201func (dzdc DatasetZipDeflateCompression) MarshalJSON() ([]byte, error) {
55202	dzdc.Type = TypeZipDeflate
55203	objectMap := make(map[string]interface{})
55204	if dzdc.Level != nil {
55205		objectMap["level"] = dzdc.Level
55206	}
55207	if dzdc.Type != "" {
55208		objectMap["type"] = dzdc.Type
55209	}
55210	for k, v := range dzdc.AdditionalProperties {
55211		objectMap[k] = v
55212	}
55213	return json.Marshal(objectMap)
55214}
55215
55216// AsDatasetZipDeflateCompression is the BasicDatasetCompression implementation for DatasetZipDeflateCompression.
55217func (dzdc DatasetZipDeflateCompression) AsDatasetZipDeflateCompression() (*DatasetZipDeflateCompression, bool) {
55218	return &dzdc, true
55219}
55220
55221// AsDatasetDeflateCompression is the BasicDatasetCompression implementation for DatasetZipDeflateCompression.
55222func (dzdc DatasetZipDeflateCompression) AsDatasetDeflateCompression() (*DatasetDeflateCompression, bool) {
55223	return nil, false
55224}
55225
55226// AsDatasetGZipCompression is the BasicDatasetCompression implementation for DatasetZipDeflateCompression.
55227func (dzdc DatasetZipDeflateCompression) AsDatasetGZipCompression() (*DatasetGZipCompression, bool) {
55228	return nil, false
55229}
55230
55231// AsDatasetBZip2Compression is the BasicDatasetCompression implementation for DatasetZipDeflateCompression.
55232func (dzdc DatasetZipDeflateCompression) AsDatasetBZip2Compression() (*DatasetBZip2Compression, bool) {
55233	return nil, false
55234}
55235
55236// AsDatasetCompression is the BasicDatasetCompression implementation for DatasetZipDeflateCompression.
55237func (dzdc DatasetZipDeflateCompression) AsDatasetCompression() (*DatasetCompression, bool) {
55238	return nil, false
55239}
55240
55241// AsBasicDatasetCompression is the BasicDatasetCompression implementation for DatasetZipDeflateCompression.
55242func (dzdc DatasetZipDeflateCompression) AsBasicDatasetCompression() (BasicDatasetCompression, bool) {
55243	return &dzdc, true
55244}
55245
55246// UnmarshalJSON is the custom unmarshaler for DatasetZipDeflateCompression struct.
55247func (dzdc *DatasetZipDeflateCompression) UnmarshalJSON(body []byte) error {
55248	var m map[string]*json.RawMessage
55249	err := json.Unmarshal(body, &m)
55250	if err != nil {
55251		return err
55252	}
55253	for k, v := range m {
55254		switch k {
55255		case "level":
55256			if v != nil {
55257				var level interface{}
55258				err = json.Unmarshal(*v, &level)
55259				if err != nil {
55260					return err
55261				}
55262				dzdc.Level = level
55263			}
55264		default:
55265			if v != nil {
55266				var additionalProperties interface{}
55267				err = json.Unmarshal(*v, &additionalProperties)
55268				if err != nil {
55269					return err
55270				}
55271				if dzdc.AdditionalProperties == nil {
55272					dzdc.AdditionalProperties = make(map[string]interface{})
55273				}
55274				dzdc.AdditionalProperties[k] = additionalProperties
55275			}
55276		case "type":
55277			if v != nil {
55278				var typeVar TypeBasicDatasetCompression
55279				err = json.Unmarshal(*v, &typeVar)
55280				if err != nil {
55281					return err
55282				}
55283				dzdc.Type = typeVar
55284			}
55285		}
55286	}
55287
55288	return nil
55289}
55290
55291// Db2LinkedService linked service for DB2 data source.
55292type Db2LinkedService struct {
55293	// Db2LinkedServiceTypeProperties - DB2 linked service properties.
55294	*Db2LinkedServiceTypeProperties `json:"typeProperties,omitempty"`
55295	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
55296	AdditionalProperties map[string]interface{} `json:""`
55297	// ConnectVia - The integration runtime reference.
55298	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
55299	// Description - Linked service description.
55300	Description *string `json:"description,omitempty"`
55301	// Parameters - Parameters for linked service.
55302	Parameters map[string]*ParameterSpecification `json:"parameters"`
55303	// Annotations - List of tags that can be used for describing the linked service.
55304	Annotations *[]interface{} `json:"annotations,omitempty"`
55305	// Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', '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', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage'
55306	Type TypeBasicLinkedService `json:"type,omitempty"`
55307}
55308
55309// MarshalJSON is the custom marshaler for Db2LinkedService.
55310func (d2ls Db2LinkedService) MarshalJSON() ([]byte, error) {
55311	d2ls.Type = TypeDb2
55312	objectMap := make(map[string]interface{})
55313	if d2ls.Db2LinkedServiceTypeProperties != nil {
55314		objectMap["typeProperties"] = d2ls.Db2LinkedServiceTypeProperties
55315	}
55316	if d2ls.ConnectVia != nil {
55317		objectMap["connectVia"] = d2ls.ConnectVia
55318	}
55319	if d2ls.Description != nil {
55320		objectMap["description"] = d2ls.Description
55321	}
55322	if d2ls.Parameters != nil {
55323		objectMap["parameters"] = d2ls.Parameters
55324	}
55325	if d2ls.Annotations != nil {
55326		objectMap["annotations"] = d2ls.Annotations
55327	}
55328	if d2ls.Type != "" {
55329		objectMap["type"] = d2ls.Type
55330	}
55331	for k, v := range d2ls.AdditionalProperties {
55332		objectMap[k] = v
55333	}
55334	return json.Marshal(objectMap)
55335}
55336
55337// AsAzureFunctionLinkedService is the BasicLinkedService implementation for Db2LinkedService.
55338func (d2ls Db2LinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) {
55339	return nil, false
55340}
55341
55342// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for Db2LinkedService.
55343func (d2ls Db2LinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) {
55344	return nil, false
55345}
55346
55347// AsSapTableLinkedService is the BasicLinkedService implementation for Db2LinkedService.
55348func (d2ls Db2LinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) {
55349	return nil, false
55350}
55351
55352// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for Db2LinkedService.
55353func (d2ls Db2LinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) {
55354	return nil, false
55355}
55356
55357// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for Db2LinkedService.
55358func (d2ls Db2LinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) {
55359	return nil, false
55360}
55361
55362// AsDynamicsAXLinkedService is the BasicLinkedService implementation for Db2LinkedService.
55363func (d2ls Db2LinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) {
55364	return nil, false
55365}
55366
55367// AsResponsysLinkedService is the BasicLinkedService implementation for Db2LinkedService.
55368func (d2ls Db2LinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
55369	return nil, false
55370}
55371
55372// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for Db2LinkedService.
55373func (d2ls Db2LinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
55374	return nil, false
55375}
55376
55377// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for Db2LinkedService.
55378func (d2ls Db2LinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
55379	return nil, false
55380}
55381
55382// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for Db2LinkedService.
55383func (d2ls Db2LinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
55384	return nil, false
55385}
55386
55387// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for Db2LinkedService.
55388func (d2ls Db2LinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
55389	return nil, false
55390}
55391
55392// AsNetezzaLinkedService is the BasicLinkedService implementation for Db2LinkedService.
55393func (d2ls Db2LinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
55394	return nil, false
55395}
55396
55397// AsVerticaLinkedService is the BasicLinkedService implementation for Db2LinkedService.
55398func (d2ls Db2LinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
55399	return nil, false
55400}
55401
55402// AsZohoLinkedService is the BasicLinkedService implementation for Db2LinkedService.
55403func (d2ls Db2LinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
55404	return nil, false
55405}
55406
55407// AsXeroLinkedService is the BasicLinkedService implementation for Db2LinkedService.
55408func (d2ls Db2LinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
55409	return nil, false
55410}
55411
55412// AsSquareLinkedService is the BasicLinkedService implementation for Db2LinkedService.
55413func (d2ls Db2LinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
55414	return nil, false
55415}
55416
55417// AsSparkLinkedService is the BasicLinkedService implementation for Db2LinkedService.
55418func (d2ls Db2LinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
55419	return nil, false
55420}
55421
55422// AsShopifyLinkedService is the BasicLinkedService implementation for Db2LinkedService.
55423func (d2ls Db2LinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
55424	return nil, false
55425}
55426
55427// AsServiceNowLinkedService is the BasicLinkedService implementation for Db2LinkedService.
55428func (d2ls Db2LinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
55429	return nil, false
55430}
55431
55432// AsQuickBooksLinkedService is the BasicLinkedService implementation for Db2LinkedService.
55433func (d2ls Db2LinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
55434	return nil, false
55435}
55436
55437// AsPrestoLinkedService is the BasicLinkedService implementation for Db2LinkedService.
55438func (d2ls Db2LinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
55439	return nil, false
55440}
55441
55442// AsPhoenixLinkedService is the BasicLinkedService implementation for Db2LinkedService.
55443func (d2ls Db2LinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
55444	return nil, false
55445}
55446
55447// AsPaypalLinkedService is the BasicLinkedService implementation for Db2LinkedService.
55448func (d2ls Db2LinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
55449	return nil, false
55450}
55451
55452// AsMarketoLinkedService is the BasicLinkedService implementation for Db2LinkedService.
55453func (d2ls Db2LinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
55454	return nil, false
55455}
55456
55457// AsMariaDBLinkedService is the BasicLinkedService implementation for Db2LinkedService.
55458func (d2ls Db2LinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
55459	return nil, false
55460}
55461
55462// AsMagentoLinkedService is the BasicLinkedService implementation for Db2LinkedService.
55463func (d2ls Db2LinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
55464	return nil, false
55465}
55466
55467// AsJiraLinkedService is the BasicLinkedService implementation for Db2LinkedService.
55468func (d2ls Db2LinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
55469	return nil, false
55470}
55471
55472// AsImpalaLinkedService is the BasicLinkedService implementation for Db2LinkedService.
55473func (d2ls Db2LinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
55474	return nil, false
55475}
55476
55477// AsHubspotLinkedService is the BasicLinkedService implementation for Db2LinkedService.
55478func (d2ls Db2LinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
55479	return nil, false
55480}
55481
55482// AsHiveLinkedService is the BasicLinkedService implementation for Db2LinkedService.
55483func (d2ls Db2LinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
55484	return nil, false
55485}
55486
55487// AsHBaseLinkedService is the BasicLinkedService implementation for Db2LinkedService.
55488func (d2ls Db2LinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
55489	return nil, false
55490}
55491
55492// AsGreenplumLinkedService is the BasicLinkedService implementation for Db2LinkedService.
55493func (d2ls Db2LinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
55494	return nil, false
55495}
55496
55497// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for Db2LinkedService.
55498func (d2ls Db2LinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
55499	return nil, false
55500}
55501
55502// AsEloquaLinkedService is the BasicLinkedService implementation for Db2LinkedService.
55503func (d2ls Db2LinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
55504	return nil, false
55505}
55506
55507// AsDrillLinkedService is the BasicLinkedService implementation for Db2LinkedService.
55508func (d2ls Db2LinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
55509	return nil, false
55510}
55511
55512// AsCouchbaseLinkedService is the BasicLinkedService implementation for Db2LinkedService.
55513func (d2ls Db2LinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
55514	return nil, false
55515}
55516
55517// AsConcurLinkedService is the BasicLinkedService implementation for Db2LinkedService.
55518func (d2ls Db2LinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
55519	return nil, false
55520}
55521
55522// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for Db2LinkedService.
55523func (d2ls Db2LinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
55524	return nil, false
55525}
55526
55527// AsAmazonMWSLinkedService is the BasicLinkedService implementation for Db2LinkedService.
55528func (d2ls Db2LinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
55529	return nil, false
55530}
55531
55532// AsSapHanaLinkedService is the BasicLinkedService implementation for Db2LinkedService.
55533func (d2ls Db2LinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
55534	return nil, false
55535}
55536
55537// AsSapBWLinkedService is the BasicLinkedService implementation for Db2LinkedService.
55538func (d2ls Db2LinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
55539	return nil, false
55540}
55541
55542// AsSftpServerLinkedService is the BasicLinkedService implementation for Db2LinkedService.
55543func (d2ls Db2LinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
55544	return nil, false
55545}
55546
55547// AsFtpServerLinkedService is the BasicLinkedService implementation for Db2LinkedService.
55548func (d2ls Db2LinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
55549	return nil, false
55550}
55551
55552// AsHTTPLinkedService is the BasicLinkedService implementation for Db2LinkedService.
55553func (d2ls Db2LinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
55554	return nil, false
55555}
55556
55557// AsAzureSearchLinkedService is the BasicLinkedService implementation for Db2LinkedService.
55558func (d2ls Db2LinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
55559	return nil, false
55560}
55561
55562// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for Db2LinkedService.
55563func (d2ls Db2LinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
55564	return nil, false
55565}
55566
55567// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for Db2LinkedService.
55568func (d2ls Db2LinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
55569	return nil, false
55570}
55571
55572// AsAmazonS3LinkedService is the BasicLinkedService implementation for Db2LinkedService.
55573func (d2ls Db2LinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
55574	return nil, false
55575}
55576
55577// AsRestServiceLinkedService is the BasicLinkedService implementation for Db2LinkedService.
55578func (d2ls Db2LinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) {
55579	return nil, false
55580}
55581
55582// AsSapOpenHubLinkedService is the BasicLinkedService implementation for Db2LinkedService.
55583func (d2ls Db2LinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) {
55584	return nil, false
55585}
55586
55587// AsSapEccLinkedService is the BasicLinkedService implementation for Db2LinkedService.
55588func (d2ls Db2LinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
55589	return nil, false
55590}
55591
55592// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for Db2LinkedService.
55593func (d2ls Db2LinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
55594	return nil, false
55595}
55596
55597// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for Db2LinkedService.
55598func (d2ls Db2LinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) {
55599	return nil, false
55600}
55601
55602// AsSalesforceLinkedService is the BasicLinkedService implementation for Db2LinkedService.
55603func (d2ls Db2LinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
55604	return nil, false
55605}
55606
55607// AsOffice365LinkedService is the BasicLinkedService implementation for Db2LinkedService.
55608func (d2ls Db2LinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) {
55609	return nil, false
55610}
55611
55612// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for Db2LinkedService.
55613func (d2ls Db2LinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) {
55614	return nil, false
55615}
55616
55617// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for Db2LinkedService.
55618func (d2ls Db2LinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
55619	return nil, false
55620}
55621
55622// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for Db2LinkedService.
55623func (d2ls Db2LinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) {
55624	return nil, false
55625}
55626
55627// AsMongoDbV2LinkedService is the BasicLinkedService implementation for Db2LinkedService.
55628func (d2ls Db2LinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) {
55629	return nil, false
55630}
55631
55632// AsMongoDbLinkedService is the BasicLinkedService implementation for Db2LinkedService.
55633func (d2ls Db2LinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
55634	return nil, false
55635}
55636
55637// AsCassandraLinkedService is the BasicLinkedService implementation for Db2LinkedService.
55638func (d2ls Db2LinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
55639	return nil, false
55640}
55641
55642// AsWebLinkedService is the BasicLinkedService implementation for Db2LinkedService.
55643func (d2ls Db2LinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
55644	return nil, false
55645}
55646
55647// AsODataLinkedService is the BasicLinkedService implementation for Db2LinkedService.
55648func (d2ls Db2LinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
55649	return nil, false
55650}
55651
55652// AsHdfsLinkedService is the BasicLinkedService implementation for Db2LinkedService.
55653func (d2ls Db2LinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
55654	return nil, false
55655}
55656
55657// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for Db2LinkedService.
55658func (d2ls Db2LinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) {
55659	return nil, false
55660}
55661
55662// AsInformixLinkedService is the BasicLinkedService implementation for Db2LinkedService.
55663func (d2ls Db2LinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) {
55664	return nil, false
55665}
55666
55667// AsOdbcLinkedService is the BasicLinkedService implementation for Db2LinkedService.
55668func (d2ls Db2LinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
55669	return nil, false
55670}
55671
55672// AsAzureMLLinkedService is the BasicLinkedService implementation for Db2LinkedService.
55673func (d2ls Db2LinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
55674	return nil, false
55675}
55676
55677// AsTeradataLinkedService is the BasicLinkedService implementation for Db2LinkedService.
55678func (d2ls Db2LinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
55679	return nil, false
55680}
55681
55682// AsDb2LinkedService is the BasicLinkedService implementation for Db2LinkedService.
55683func (d2ls Db2LinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
55684	return &d2ls, true
55685}
55686
55687// AsSybaseLinkedService is the BasicLinkedService implementation for Db2LinkedService.
55688func (d2ls Db2LinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
55689	return nil, false
55690}
55691
55692// AsPostgreSQLLinkedService is the BasicLinkedService implementation for Db2LinkedService.
55693func (d2ls Db2LinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
55694	return nil, false
55695}
55696
55697// AsMySQLLinkedService is the BasicLinkedService implementation for Db2LinkedService.
55698func (d2ls Db2LinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
55699	return nil, false
55700}
55701
55702// AsAzureMySQLLinkedService is the BasicLinkedService implementation for Db2LinkedService.
55703func (d2ls Db2LinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
55704	return nil, false
55705}
55706
55707// AsOracleLinkedService is the BasicLinkedService implementation for Db2LinkedService.
55708func (d2ls Db2LinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
55709	return nil, false
55710}
55711
55712// AsFileServerLinkedService is the BasicLinkedService implementation for Db2LinkedService.
55713func (d2ls Db2LinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
55714	return nil, false
55715}
55716
55717// AsHDInsightLinkedService is the BasicLinkedService implementation for Db2LinkedService.
55718func (d2ls Db2LinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
55719	return nil, false
55720}
55721
55722// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for Db2LinkedService.
55723func (d2ls Db2LinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) {
55724	return nil, false
55725}
55726
55727// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for Db2LinkedService.
55728func (d2ls Db2LinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) {
55729	return nil, false
55730}
55731
55732// AsDynamicsLinkedService is the BasicLinkedService implementation for Db2LinkedService.
55733func (d2ls Db2LinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
55734	return nil, false
55735}
55736
55737// AsCosmosDbLinkedService is the BasicLinkedService implementation for Db2LinkedService.
55738func (d2ls Db2LinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
55739	return nil, false
55740}
55741
55742// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for Db2LinkedService.
55743func (d2ls Db2LinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
55744	return nil, false
55745}
55746
55747// AsAzureBatchLinkedService is the BasicLinkedService implementation for Db2LinkedService.
55748func (d2ls Db2LinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
55749	return nil, false
55750}
55751
55752// AsAzureSQLMILinkedService is the BasicLinkedService implementation for Db2LinkedService.
55753func (d2ls Db2LinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) {
55754	return nil, false
55755}
55756
55757// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for Db2LinkedService.
55758func (d2ls Db2LinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
55759	return nil, false
55760}
55761
55762// AsSQLServerLinkedService is the BasicLinkedService implementation for Db2LinkedService.
55763func (d2ls Db2LinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
55764	return nil, false
55765}
55766
55767// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for Db2LinkedService.
55768func (d2ls Db2LinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
55769	return nil, false
55770}
55771
55772// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for Db2LinkedService.
55773func (d2ls Db2LinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) {
55774	return nil, false
55775}
55776
55777// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for Db2LinkedService.
55778func (d2ls Db2LinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) {
55779	return nil, false
55780}
55781
55782// AsAzureStorageLinkedService is the BasicLinkedService implementation for Db2LinkedService.
55783func (d2ls Db2LinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
55784	return nil, false
55785}
55786
55787// AsLinkedService is the BasicLinkedService implementation for Db2LinkedService.
55788func (d2ls Db2LinkedService) AsLinkedService() (*LinkedService, bool) {
55789	return nil, false
55790}
55791
55792// AsBasicLinkedService is the BasicLinkedService implementation for Db2LinkedService.
55793func (d2ls Db2LinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
55794	return &d2ls, true
55795}
55796
55797// UnmarshalJSON is the custom unmarshaler for Db2LinkedService struct.
55798func (d2ls *Db2LinkedService) UnmarshalJSON(body []byte) error {
55799	var m map[string]*json.RawMessage
55800	err := json.Unmarshal(body, &m)
55801	if err != nil {
55802		return err
55803	}
55804	for k, v := range m {
55805		switch k {
55806		case "typeProperties":
55807			if v != nil {
55808				var db2LinkedServiceTypeProperties Db2LinkedServiceTypeProperties
55809				err = json.Unmarshal(*v, &db2LinkedServiceTypeProperties)
55810				if err != nil {
55811					return err
55812				}
55813				d2ls.Db2LinkedServiceTypeProperties = &db2LinkedServiceTypeProperties
55814			}
55815		default:
55816			if v != nil {
55817				var additionalProperties interface{}
55818				err = json.Unmarshal(*v, &additionalProperties)
55819				if err != nil {
55820					return err
55821				}
55822				if d2ls.AdditionalProperties == nil {
55823					d2ls.AdditionalProperties = make(map[string]interface{})
55824				}
55825				d2ls.AdditionalProperties[k] = additionalProperties
55826			}
55827		case "connectVia":
55828			if v != nil {
55829				var connectVia IntegrationRuntimeReference
55830				err = json.Unmarshal(*v, &connectVia)
55831				if err != nil {
55832					return err
55833				}
55834				d2ls.ConnectVia = &connectVia
55835			}
55836		case "description":
55837			if v != nil {
55838				var description string
55839				err = json.Unmarshal(*v, &description)
55840				if err != nil {
55841					return err
55842				}
55843				d2ls.Description = &description
55844			}
55845		case "parameters":
55846			if v != nil {
55847				var parameters map[string]*ParameterSpecification
55848				err = json.Unmarshal(*v, &parameters)
55849				if err != nil {
55850					return err
55851				}
55852				d2ls.Parameters = parameters
55853			}
55854		case "annotations":
55855			if v != nil {
55856				var annotations []interface{}
55857				err = json.Unmarshal(*v, &annotations)
55858				if err != nil {
55859					return err
55860				}
55861				d2ls.Annotations = &annotations
55862			}
55863		case "type":
55864			if v != nil {
55865				var typeVar TypeBasicLinkedService
55866				err = json.Unmarshal(*v, &typeVar)
55867				if err != nil {
55868					return err
55869				}
55870				d2ls.Type = typeVar
55871			}
55872		}
55873	}
55874
55875	return nil
55876}
55877
55878// Db2LinkedServiceTypeProperties dB2 linked service properties.
55879type Db2LinkedServiceTypeProperties struct {
55880	// Server - Server name for connection. Type: string (or Expression with resultType string).
55881	Server interface{} `json:"server,omitempty"`
55882	// Database - Database name for connection. Type: string (or Expression with resultType string).
55883	Database interface{} `json:"database,omitempty"`
55884	// AuthenticationType - AuthenticationType to be used for connection. Possible values include: 'Basic'
55885	AuthenticationType Db2AuthenticationType `json:"authenticationType,omitempty"`
55886	// Username - Username for authentication. Type: string (or Expression with resultType string).
55887	Username interface{} `json:"username,omitempty"`
55888	// Password - Password for authentication.
55889	Password BasicSecretBase `json:"password,omitempty"`
55890	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
55891	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
55892}
55893
55894// UnmarshalJSON is the custom unmarshaler for Db2LinkedServiceTypeProperties struct.
55895func (d2lstp *Db2LinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
55896	var m map[string]*json.RawMessage
55897	err := json.Unmarshal(body, &m)
55898	if err != nil {
55899		return err
55900	}
55901	for k, v := range m {
55902		switch k {
55903		case "server":
55904			if v != nil {
55905				var server interface{}
55906				err = json.Unmarshal(*v, &server)
55907				if err != nil {
55908					return err
55909				}
55910				d2lstp.Server = server
55911			}
55912		case "database":
55913			if v != nil {
55914				var databaseVar interface{}
55915				err = json.Unmarshal(*v, &databaseVar)
55916				if err != nil {
55917					return err
55918				}
55919				d2lstp.Database = databaseVar
55920			}
55921		case "authenticationType":
55922			if v != nil {
55923				var authenticationType Db2AuthenticationType
55924				err = json.Unmarshal(*v, &authenticationType)
55925				if err != nil {
55926					return err
55927				}
55928				d2lstp.AuthenticationType = authenticationType
55929			}
55930		case "username":
55931			if v != nil {
55932				var username interface{}
55933				err = json.Unmarshal(*v, &username)
55934				if err != nil {
55935					return err
55936				}
55937				d2lstp.Username = username
55938			}
55939		case "password":
55940			if v != nil {
55941				password, err := unmarshalBasicSecretBase(*v)
55942				if err != nil {
55943					return err
55944				}
55945				d2lstp.Password = password
55946			}
55947		case "encryptedCredential":
55948			if v != nil {
55949				var encryptedCredential interface{}
55950				err = json.Unmarshal(*v, &encryptedCredential)
55951				if err != nil {
55952					return err
55953				}
55954				d2lstp.EncryptedCredential = encryptedCredential
55955			}
55956		}
55957	}
55958
55959	return nil
55960}
55961
55962// Db2Source a copy activity source for Db2 databases.
55963type Db2Source struct {
55964	// Query - Database query. Type: string (or Expression with resultType string).
55965	Query interface{} `json:"query,omitempty"`
55966	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
55967	AdditionalProperties map[string]interface{} `json:""`
55968	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
55969	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
55970	// 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])).
55971	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
55972	// MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer).
55973	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
55974	// Type - Possible values include: 'TypeCopySource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', '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', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeCassandraSource', 'TypeWebSource', 'TypeTeradataSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeAzureMySQLSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeRestSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceServiceCloudSource', 'TypeSalesforceSource', 'TypeODataSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeMicrosoftAccessSource', 'TypeInformixSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAzureTableSource', 'TypeBinarySource', 'TypeDelimitedTextSource', 'TypeParquetSource'
55975	Type TypeBasicCopySource `json:"type,omitempty"`
55976}
55977
55978// MarshalJSON is the custom marshaler for Db2Source.
55979func (d2s Db2Source) MarshalJSON() ([]byte, error) {
55980	d2s.Type = TypeDb2Source
55981	objectMap := make(map[string]interface{})
55982	if d2s.Query != nil {
55983		objectMap["query"] = d2s.Query
55984	}
55985	if d2s.SourceRetryCount != nil {
55986		objectMap["sourceRetryCount"] = d2s.SourceRetryCount
55987	}
55988	if d2s.SourceRetryWait != nil {
55989		objectMap["sourceRetryWait"] = d2s.SourceRetryWait
55990	}
55991	if d2s.MaxConcurrentConnections != nil {
55992		objectMap["maxConcurrentConnections"] = d2s.MaxConcurrentConnections
55993	}
55994	if d2s.Type != "" {
55995		objectMap["type"] = d2s.Type
55996	}
55997	for k, v := range d2s.AdditionalProperties {
55998		objectMap[k] = v
55999	}
56000	return json.Marshal(objectMap)
56001}
56002
56003// AsAmazonRedshiftSource is the BasicCopySource implementation for Db2Source.
56004func (d2s Db2Source) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
56005	return nil, false
56006}
56007
56008// AsGoogleAdWordsSource is the BasicCopySource implementation for Db2Source.
56009func (d2s Db2Source) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) {
56010	return nil, false
56011}
56012
56013// AsOracleServiceCloudSource is the BasicCopySource implementation for Db2Source.
56014func (d2s Db2Source) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) {
56015	return nil, false
56016}
56017
56018// AsDynamicsAXSource is the BasicCopySource implementation for Db2Source.
56019func (d2s Db2Source) AsDynamicsAXSource() (*DynamicsAXSource, bool) {
56020	return nil, false
56021}
56022
56023// AsResponsysSource is the BasicCopySource implementation for Db2Source.
56024func (d2s Db2Source) AsResponsysSource() (*ResponsysSource, bool) {
56025	return nil, false
56026}
56027
56028// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for Db2Source.
56029func (d2s Db2Source) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
56030	return nil, false
56031}
56032
56033// AsVerticaSource is the BasicCopySource implementation for Db2Source.
56034func (d2s Db2Source) AsVerticaSource() (*VerticaSource, bool) {
56035	return nil, false
56036}
56037
56038// AsNetezzaSource is the BasicCopySource implementation for Db2Source.
56039func (d2s Db2Source) AsNetezzaSource() (*NetezzaSource, bool) {
56040	return nil, false
56041}
56042
56043// AsZohoSource is the BasicCopySource implementation for Db2Source.
56044func (d2s Db2Source) AsZohoSource() (*ZohoSource, bool) {
56045	return nil, false
56046}
56047
56048// AsXeroSource is the BasicCopySource implementation for Db2Source.
56049func (d2s Db2Source) AsXeroSource() (*XeroSource, bool) {
56050	return nil, false
56051}
56052
56053// AsSquareSource is the BasicCopySource implementation for Db2Source.
56054func (d2s Db2Source) AsSquareSource() (*SquareSource, bool) {
56055	return nil, false
56056}
56057
56058// AsSparkSource is the BasicCopySource implementation for Db2Source.
56059func (d2s Db2Source) AsSparkSource() (*SparkSource, bool) {
56060	return nil, false
56061}
56062
56063// AsShopifySource is the BasicCopySource implementation for Db2Source.
56064func (d2s Db2Source) AsShopifySource() (*ShopifySource, bool) {
56065	return nil, false
56066}
56067
56068// AsServiceNowSource is the BasicCopySource implementation for Db2Source.
56069func (d2s Db2Source) AsServiceNowSource() (*ServiceNowSource, bool) {
56070	return nil, false
56071}
56072
56073// AsQuickBooksSource is the BasicCopySource implementation for Db2Source.
56074func (d2s Db2Source) AsQuickBooksSource() (*QuickBooksSource, bool) {
56075	return nil, false
56076}
56077
56078// AsPrestoSource is the BasicCopySource implementation for Db2Source.
56079func (d2s Db2Source) AsPrestoSource() (*PrestoSource, bool) {
56080	return nil, false
56081}
56082
56083// AsPhoenixSource is the BasicCopySource implementation for Db2Source.
56084func (d2s Db2Source) AsPhoenixSource() (*PhoenixSource, bool) {
56085	return nil, false
56086}
56087
56088// AsPaypalSource is the BasicCopySource implementation for Db2Source.
56089func (d2s Db2Source) AsPaypalSource() (*PaypalSource, bool) {
56090	return nil, false
56091}
56092
56093// AsMarketoSource is the BasicCopySource implementation for Db2Source.
56094func (d2s Db2Source) AsMarketoSource() (*MarketoSource, bool) {
56095	return nil, false
56096}
56097
56098// AsMariaDBSource is the BasicCopySource implementation for Db2Source.
56099func (d2s Db2Source) AsMariaDBSource() (*MariaDBSource, bool) {
56100	return nil, false
56101}
56102
56103// AsMagentoSource is the BasicCopySource implementation for Db2Source.
56104func (d2s Db2Source) AsMagentoSource() (*MagentoSource, bool) {
56105	return nil, false
56106}
56107
56108// AsJiraSource is the BasicCopySource implementation for Db2Source.
56109func (d2s Db2Source) AsJiraSource() (*JiraSource, bool) {
56110	return nil, false
56111}
56112
56113// AsImpalaSource is the BasicCopySource implementation for Db2Source.
56114func (d2s Db2Source) AsImpalaSource() (*ImpalaSource, bool) {
56115	return nil, false
56116}
56117
56118// AsHubspotSource is the BasicCopySource implementation for Db2Source.
56119func (d2s Db2Source) AsHubspotSource() (*HubspotSource, bool) {
56120	return nil, false
56121}
56122
56123// AsHiveSource is the BasicCopySource implementation for Db2Source.
56124func (d2s Db2Source) AsHiveSource() (*HiveSource, bool) {
56125	return nil, false
56126}
56127
56128// AsHBaseSource is the BasicCopySource implementation for Db2Source.
56129func (d2s Db2Source) AsHBaseSource() (*HBaseSource, bool) {
56130	return nil, false
56131}
56132
56133// AsGreenplumSource is the BasicCopySource implementation for Db2Source.
56134func (d2s Db2Source) AsGreenplumSource() (*GreenplumSource, bool) {
56135	return nil, false
56136}
56137
56138// AsGoogleBigQuerySource is the BasicCopySource implementation for Db2Source.
56139func (d2s Db2Source) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
56140	return nil, false
56141}
56142
56143// AsEloquaSource is the BasicCopySource implementation for Db2Source.
56144func (d2s Db2Source) AsEloquaSource() (*EloquaSource, bool) {
56145	return nil, false
56146}
56147
56148// AsDrillSource is the BasicCopySource implementation for Db2Source.
56149func (d2s Db2Source) AsDrillSource() (*DrillSource, bool) {
56150	return nil, false
56151}
56152
56153// AsCouchbaseSource is the BasicCopySource implementation for Db2Source.
56154func (d2s Db2Source) AsCouchbaseSource() (*CouchbaseSource, bool) {
56155	return nil, false
56156}
56157
56158// AsConcurSource is the BasicCopySource implementation for Db2Source.
56159func (d2s Db2Source) AsConcurSource() (*ConcurSource, bool) {
56160	return nil, false
56161}
56162
56163// AsAzurePostgreSQLSource is the BasicCopySource implementation for Db2Source.
56164func (d2s Db2Source) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
56165	return nil, false
56166}
56167
56168// AsAmazonMWSSource is the BasicCopySource implementation for Db2Source.
56169func (d2s Db2Source) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
56170	return nil, false
56171}
56172
56173// AsHTTPSource is the BasicCopySource implementation for Db2Source.
56174func (d2s Db2Source) AsHTTPSource() (*HTTPSource, bool) {
56175	return nil, false
56176}
56177
56178// AsAzureBlobFSSource is the BasicCopySource implementation for Db2Source.
56179func (d2s Db2Source) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) {
56180	return nil, false
56181}
56182
56183// AsAzureDataLakeStoreSource is the BasicCopySource implementation for Db2Source.
56184func (d2s Db2Source) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
56185	return nil, false
56186}
56187
56188// AsOffice365Source is the BasicCopySource implementation for Db2Source.
56189func (d2s Db2Source) AsOffice365Source() (*Office365Source, bool) {
56190	return nil, false
56191}
56192
56193// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for Db2Source.
56194func (d2s Db2Source) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) {
56195	return nil, false
56196}
56197
56198// AsMongoDbV2Source is the BasicCopySource implementation for Db2Source.
56199func (d2s Db2Source) AsMongoDbV2Source() (*MongoDbV2Source, bool) {
56200	return nil, false
56201}
56202
56203// AsMongoDbSource is the BasicCopySource implementation for Db2Source.
56204func (d2s Db2Source) AsMongoDbSource() (*MongoDbSource, bool) {
56205	return nil, false
56206}
56207
56208// AsCassandraSource is the BasicCopySource implementation for Db2Source.
56209func (d2s Db2Source) AsCassandraSource() (*CassandraSource, bool) {
56210	return nil, false
56211}
56212
56213// AsWebSource is the BasicCopySource implementation for Db2Source.
56214func (d2s Db2Source) AsWebSource() (*WebSource, bool) {
56215	return nil, false
56216}
56217
56218// AsTeradataSource is the BasicCopySource implementation for Db2Source.
56219func (d2s Db2Source) AsTeradataSource() (*TeradataSource, bool) {
56220	return nil, false
56221}
56222
56223// AsOracleSource is the BasicCopySource implementation for Db2Source.
56224func (d2s Db2Source) AsOracleSource() (*OracleSource, bool) {
56225	return nil, false
56226}
56227
56228// AsAzureDataExplorerSource is the BasicCopySource implementation for Db2Source.
56229func (d2s Db2Source) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) {
56230	return nil, false
56231}
56232
56233// AsAzureMySQLSource is the BasicCopySource implementation for Db2Source.
56234func (d2s Db2Source) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
56235	return nil, false
56236}
56237
56238// AsHdfsSource is the BasicCopySource implementation for Db2Source.
56239func (d2s Db2Source) AsHdfsSource() (*HdfsSource, bool) {
56240	return nil, false
56241}
56242
56243// AsFileSystemSource is the BasicCopySource implementation for Db2Source.
56244func (d2s Db2Source) AsFileSystemSource() (*FileSystemSource, bool) {
56245	return nil, false
56246}
56247
56248// AsSQLDWSource is the BasicCopySource implementation for Db2Source.
56249func (d2s Db2Source) AsSQLDWSource() (*SQLDWSource, bool) {
56250	return nil, false
56251}
56252
56253// AsSQLMISource is the BasicCopySource implementation for Db2Source.
56254func (d2s Db2Source) AsSQLMISource() (*SQLMISource, bool) {
56255	return nil, false
56256}
56257
56258// AsAzureSQLSource is the BasicCopySource implementation for Db2Source.
56259func (d2s Db2Source) AsAzureSQLSource() (*AzureSQLSource, bool) {
56260	return nil, false
56261}
56262
56263// AsSQLServerSource is the BasicCopySource implementation for Db2Source.
56264func (d2s Db2Source) AsSQLServerSource() (*SQLServerSource, bool) {
56265	return nil, false
56266}
56267
56268// AsSQLSource is the BasicCopySource implementation for Db2Source.
56269func (d2s Db2Source) AsSQLSource() (*SQLSource, bool) {
56270	return nil, false
56271}
56272
56273// AsRestSource is the BasicCopySource implementation for Db2Source.
56274func (d2s Db2Source) AsRestSource() (*RestSource, bool) {
56275	return nil, false
56276}
56277
56278// AsSapTableSource is the BasicCopySource implementation for Db2Source.
56279func (d2s Db2Source) AsSapTableSource() (*SapTableSource, bool) {
56280	return nil, false
56281}
56282
56283// AsSapOpenHubSource is the BasicCopySource implementation for Db2Source.
56284func (d2s Db2Source) AsSapOpenHubSource() (*SapOpenHubSource, bool) {
56285	return nil, false
56286}
56287
56288// AsSapHanaSource is the BasicCopySource implementation for Db2Source.
56289func (d2s Db2Source) AsSapHanaSource() (*SapHanaSource, bool) {
56290	return nil, false
56291}
56292
56293// AsSapEccSource is the BasicCopySource implementation for Db2Source.
56294func (d2s Db2Source) AsSapEccSource() (*SapEccSource, bool) {
56295	return nil, false
56296}
56297
56298// AsSapCloudForCustomerSource is the BasicCopySource implementation for Db2Source.
56299func (d2s Db2Source) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
56300	return nil, false
56301}
56302
56303// AsSalesforceServiceCloudSource is the BasicCopySource implementation for Db2Source.
56304func (d2s Db2Source) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) {
56305	return nil, false
56306}
56307
56308// AsSalesforceSource is the BasicCopySource implementation for Db2Source.
56309func (d2s Db2Source) AsSalesforceSource() (*SalesforceSource, bool) {
56310	return nil, false
56311}
56312
56313// AsODataSource is the BasicCopySource implementation for Db2Source.
56314func (d2s Db2Source) AsODataSource() (*ODataSource, bool) {
56315	return nil, false
56316}
56317
56318// AsSybaseSource is the BasicCopySource implementation for Db2Source.
56319func (d2s Db2Source) AsSybaseSource() (*SybaseSource, bool) {
56320	return nil, false
56321}
56322
56323// AsPostgreSQLSource is the BasicCopySource implementation for Db2Source.
56324func (d2s Db2Source) AsPostgreSQLSource() (*PostgreSQLSource, bool) {
56325	return nil, false
56326}
56327
56328// AsMySQLSource is the BasicCopySource implementation for Db2Source.
56329func (d2s Db2Source) AsMySQLSource() (*MySQLSource, bool) {
56330	return nil, false
56331}
56332
56333// AsOdbcSource is the BasicCopySource implementation for Db2Source.
56334func (d2s Db2Source) AsOdbcSource() (*OdbcSource, bool) {
56335	return nil, false
56336}
56337
56338// AsDb2Source is the BasicCopySource implementation for Db2Source.
56339func (d2s Db2Source) AsDb2Source() (*Db2Source, bool) {
56340	return &d2s, true
56341}
56342
56343// AsMicrosoftAccessSource is the BasicCopySource implementation for Db2Source.
56344func (d2s Db2Source) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) {
56345	return nil, false
56346}
56347
56348// AsInformixSource is the BasicCopySource implementation for Db2Source.
56349func (d2s Db2Source) AsInformixSource() (*InformixSource, bool) {
56350	return nil, false
56351}
56352
56353// AsRelationalSource is the BasicCopySource implementation for Db2Source.
56354func (d2s Db2Source) AsRelationalSource() (*RelationalSource, bool) {
56355	return nil, false
56356}
56357
56358// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for Db2Source.
56359func (d2s Db2Source) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) {
56360	return nil, false
56361}
56362
56363// AsDynamicsCrmSource is the BasicCopySource implementation for Db2Source.
56364func (d2s Db2Source) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) {
56365	return nil, false
56366}
56367
56368// AsDynamicsSource is the BasicCopySource implementation for Db2Source.
56369func (d2s Db2Source) AsDynamicsSource() (*DynamicsSource, bool) {
56370	return nil, false
56371}
56372
56373// AsDocumentDbCollectionSource is the BasicCopySource implementation for Db2Source.
56374func (d2s Db2Source) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
56375	return nil, false
56376}
56377
56378// AsBlobSource is the BasicCopySource implementation for Db2Source.
56379func (d2s Db2Source) AsBlobSource() (*BlobSource, bool) {
56380	return nil, false
56381}
56382
56383// AsAzureTableSource is the BasicCopySource implementation for Db2Source.
56384func (d2s Db2Source) AsAzureTableSource() (*AzureTableSource, bool) {
56385	return nil, false
56386}
56387
56388// AsBinarySource is the BasicCopySource implementation for Db2Source.
56389func (d2s Db2Source) AsBinarySource() (*BinarySource, bool) {
56390	return nil, false
56391}
56392
56393// AsDelimitedTextSource is the BasicCopySource implementation for Db2Source.
56394func (d2s Db2Source) AsDelimitedTextSource() (*DelimitedTextSource, bool) {
56395	return nil, false
56396}
56397
56398// AsParquetSource is the BasicCopySource implementation for Db2Source.
56399func (d2s Db2Source) AsParquetSource() (*ParquetSource, bool) {
56400	return nil, false
56401}
56402
56403// AsCopySource is the BasicCopySource implementation for Db2Source.
56404func (d2s Db2Source) AsCopySource() (*CopySource, bool) {
56405	return nil, false
56406}
56407
56408// AsBasicCopySource is the BasicCopySource implementation for Db2Source.
56409func (d2s Db2Source) AsBasicCopySource() (BasicCopySource, bool) {
56410	return &d2s, true
56411}
56412
56413// UnmarshalJSON is the custom unmarshaler for Db2Source struct.
56414func (d2s *Db2Source) UnmarshalJSON(body []byte) error {
56415	var m map[string]*json.RawMessage
56416	err := json.Unmarshal(body, &m)
56417	if err != nil {
56418		return err
56419	}
56420	for k, v := range m {
56421		switch k {
56422		case "query":
56423			if v != nil {
56424				var query interface{}
56425				err = json.Unmarshal(*v, &query)
56426				if err != nil {
56427					return err
56428				}
56429				d2s.Query = query
56430			}
56431		default:
56432			if v != nil {
56433				var additionalProperties interface{}
56434				err = json.Unmarshal(*v, &additionalProperties)
56435				if err != nil {
56436					return err
56437				}
56438				if d2s.AdditionalProperties == nil {
56439					d2s.AdditionalProperties = make(map[string]interface{})
56440				}
56441				d2s.AdditionalProperties[k] = additionalProperties
56442			}
56443		case "sourceRetryCount":
56444			if v != nil {
56445				var sourceRetryCount interface{}
56446				err = json.Unmarshal(*v, &sourceRetryCount)
56447				if err != nil {
56448					return err
56449				}
56450				d2s.SourceRetryCount = sourceRetryCount
56451			}
56452		case "sourceRetryWait":
56453			if v != nil {
56454				var sourceRetryWait interface{}
56455				err = json.Unmarshal(*v, &sourceRetryWait)
56456				if err != nil {
56457					return err
56458				}
56459				d2s.SourceRetryWait = sourceRetryWait
56460			}
56461		case "maxConcurrentConnections":
56462			if v != nil {
56463				var maxConcurrentConnections interface{}
56464				err = json.Unmarshal(*v, &maxConcurrentConnections)
56465				if err != nil {
56466					return err
56467				}
56468				d2s.MaxConcurrentConnections = maxConcurrentConnections
56469			}
56470		case "type":
56471			if v != nil {
56472				var typeVar TypeBasicCopySource
56473				err = json.Unmarshal(*v, &typeVar)
56474				if err != nil {
56475					return err
56476				}
56477				d2s.Type = typeVar
56478			}
56479		}
56480	}
56481
56482	return nil
56483}
56484
56485// DeleteActivity delete activity.
56486type DeleteActivity struct {
56487	// DeleteActivityTypeProperties - Delete activity properties.
56488	*DeleteActivityTypeProperties `json:"typeProperties,omitempty"`
56489	// LinkedServiceName - Linked service reference.
56490	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
56491	// Policy - Activity policy.
56492	Policy *ActivityPolicy `json:"policy,omitempty"`
56493	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
56494	AdditionalProperties map[string]interface{} `json:""`
56495	// Name - Activity name.
56496	Name *string `json:"name,omitempty"`
56497	// Description - Activity description.
56498	Description *string `json:"description,omitempty"`
56499	// DependsOn - Activity depends on condition.
56500	DependsOn *[]ActivityDependency `json:"dependsOn,omitempty"`
56501	// UserProperties - Activity user properties.
56502	UserProperties *[]UserProperty `json:"userProperties,omitempty"`
56503	// Type - Possible values include: 'TypeActivity', 'TypeAzureFunctionActivity', 'TypeDatabricksSparkPython', 'TypeDatabricksSparkJar', 'TypeDatabricksNotebook', 'TypeDataLakeAnalyticsUSQL', 'TypeAzureMLUpdateResource', 'TypeAzureMLBatchExecution', 'TypeGetMetadata', 'TypeWebActivity', 'TypeLookup', 'TypeAzureDataExplorerCommand', 'TypeDelete', 'TypeSQLServerStoredProcedure', 'TypeCustom', 'TypeExecuteSSISPackage', 'TypeHDInsightSpark', 'TypeHDInsightStreaming', 'TypeHDInsightMapReduce', 'TypeHDInsightPig', 'TypeHDInsightHive', 'TypeCopy', 'TypeExecution', 'TypeWebHook', 'TypeAppendVariable', 'TypeSetVariable', 'TypeFilter', 'TypeValidation', 'TypeUntil', 'TypeWait', 'TypeForEach', 'TypeIfCondition', 'TypeExecutePipeline', 'TypeContainer'
56504	Type TypeBasicActivity `json:"type,omitempty"`
56505}
56506
56507// MarshalJSON is the custom marshaler for DeleteActivity.
56508func (da DeleteActivity) MarshalJSON() ([]byte, error) {
56509	da.Type = TypeDelete
56510	objectMap := make(map[string]interface{})
56511	if da.DeleteActivityTypeProperties != nil {
56512		objectMap["typeProperties"] = da.DeleteActivityTypeProperties
56513	}
56514	if da.LinkedServiceName != nil {
56515		objectMap["linkedServiceName"] = da.LinkedServiceName
56516	}
56517	if da.Policy != nil {
56518		objectMap["policy"] = da.Policy
56519	}
56520	if da.Name != nil {
56521		objectMap["name"] = da.Name
56522	}
56523	if da.Description != nil {
56524		objectMap["description"] = da.Description
56525	}
56526	if da.DependsOn != nil {
56527		objectMap["dependsOn"] = da.DependsOn
56528	}
56529	if da.UserProperties != nil {
56530		objectMap["userProperties"] = da.UserProperties
56531	}
56532	if da.Type != "" {
56533		objectMap["type"] = da.Type
56534	}
56535	for k, v := range da.AdditionalProperties {
56536		objectMap[k] = v
56537	}
56538	return json.Marshal(objectMap)
56539}
56540
56541// AsAzureFunctionActivity is the BasicActivity implementation for DeleteActivity.
56542func (da DeleteActivity) AsAzureFunctionActivity() (*AzureFunctionActivity, bool) {
56543	return nil, false
56544}
56545
56546// AsDatabricksSparkPythonActivity is the BasicActivity implementation for DeleteActivity.
56547func (da DeleteActivity) AsDatabricksSparkPythonActivity() (*DatabricksSparkPythonActivity, bool) {
56548	return nil, false
56549}
56550
56551// AsDatabricksSparkJarActivity is the BasicActivity implementation for DeleteActivity.
56552func (da DeleteActivity) AsDatabricksSparkJarActivity() (*DatabricksSparkJarActivity, bool) {
56553	return nil, false
56554}
56555
56556// AsDatabricksNotebookActivity is the BasicActivity implementation for DeleteActivity.
56557func (da DeleteActivity) AsDatabricksNotebookActivity() (*DatabricksNotebookActivity, bool) {
56558	return nil, false
56559}
56560
56561// AsDataLakeAnalyticsUSQLActivity is the BasicActivity implementation for DeleteActivity.
56562func (da DeleteActivity) AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalyticsUSQLActivity, bool) {
56563	return nil, false
56564}
56565
56566// AsAzureMLUpdateResourceActivity is the BasicActivity implementation for DeleteActivity.
56567func (da DeleteActivity) AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool) {
56568	return nil, false
56569}
56570
56571// AsAzureMLBatchExecutionActivity is the BasicActivity implementation for DeleteActivity.
56572func (da DeleteActivity) AsAzureMLBatchExecutionActivity() (*AzureMLBatchExecutionActivity, bool) {
56573	return nil, false
56574}
56575
56576// AsGetMetadataActivity is the BasicActivity implementation for DeleteActivity.
56577func (da DeleteActivity) AsGetMetadataActivity() (*GetMetadataActivity, bool) {
56578	return nil, false
56579}
56580
56581// AsWebActivity is the BasicActivity implementation for DeleteActivity.
56582func (da DeleteActivity) AsWebActivity() (*WebActivity, bool) {
56583	return nil, false
56584}
56585
56586// AsLookupActivity is the BasicActivity implementation for DeleteActivity.
56587func (da DeleteActivity) AsLookupActivity() (*LookupActivity, bool) {
56588	return nil, false
56589}
56590
56591// AsAzureDataExplorerCommandActivity is the BasicActivity implementation for DeleteActivity.
56592func (da DeleteActivity) AsAzureDataExplorerCommandActivity() (*AzureDataExplorerCommandActivity, bool) {
56593	return nil, false
56594}
56595
56596// AsDeleteActivity is the BasicActivity implementation for DeleteActivity.
56597func (da DeleteActivity) AsDeleteActivity() (*DeleteActivity, bool) {
56598	return &da, true
56599}
56600
56601// AsSQLServerStoredProcedureActivity is the BasicActivity implementation for DeleteActivity.
56602func (da DeleteActivity) AsSQLServerStoredProcedureActivity() (*SQLServerStoredProcedureActivity, bool) {
56603	return nil, false
56604}
56605
56606// AsCustomActivity is the BasicActivity implementation for DeleteActivity.
56607func (da DeleteActivity) AsCustomActivity() (*CustomActivity, bool) {
56608	return nil, false
56609}
56610
56611// AsExecuteSSISPackageActivity is the BasicActivity implementation for DeleteActivity.
56612func (da DeleteActivity) AsExecuteSSISPackageActivity() (*ExecuteSSISPackageActivity, bool) {
56613	return nil, false
56614}
56615
56616// AsHDInsightSparkActivity is the BasicActivity implementation for DeleteActivity.
56617func (da DeleteActivity) AsHDInsightSparkActivity() (*HDInsightSparkActivity, bool) {
56618	return nil, false
56619}
56620
56621// AsHDInsightStreamingActivity is the BasicActivity implementation for DeleteActivity.
56622func (da DeleteActivity) AsHDInsightStreamingActivity() (*HDInsightStreamingActivity, bool) {
56623	return nil, false
56624}
56625
56626// AsHDInsightMapReduceActivity is the BasicActivity implementation for DeleteActivity.
56627func (da DeleteActivity) AsHDInsightMapReduceActivity() (*HDInsightMapReduceActivity, bool) {
56628	return nil, false
56629}
56630
56631// AsHDInsightPigActivity is the BasicActivity implementation for DeleteActivity.
56632func (da DeleteActivity) AsHDInsightPigActivity() (*HDInsightPigActivity, bool) {
56633	return nil, false
56634}
56635
56636// AsHDInsightHiveActivity is the BasicActivity implementation for DeleteActivity.
56637func (da DeleteActivity) AsHDInsightHiveActivity() (*HDInsightHiveActivity, bool) {
56638	return nil, false
56639}
56640
56641// AsCopyActivity is the BasicActivity implementation for DeleteActivity.
56642func (da DeleteActivity) AsCopyActivity() (*CopyActivity, bool) {
56643	return nil, false
56644}
56645
56646// AsExecutionActivity is the BasicActivity implementation for DeleteActivity.
56647func (da DeleteActivity) AsExecutionActivity() (*ExecutionActivity, bool) {
56648	return nil, false
56649}
56650
56651// AsBasicExecutionActivity is the BasicActivity implementation for DeleteActivity.
56652func (da DeleteActivity) AsBasicExecutionActivity() (BasicExecutionActivity, bool) {
56653	return &da, true
56654}
56655
56656// AsWebHookActivity is the BasicActivity implementation for DeleteActivity.
56657func (da DeleteActivity) AsWebHookActivity() (*WebHookActivity, bool) {
56658	return nil, false
56659}
56660
56661// AsAppendVariableActivity is the BasicActivity implementation for DeleteActivity.
56662func (da DeleteActivity) AsAppendVariableActivity() (*AppendVariableActivity, bool) {
56663	return nil, false
56664}
56665
56666// AsSetVariableActivity is the BasicActivity implementation for DeleteActivity.
56667func (da DeleteActivity) AsSetVariableActivity() (*SetVariableActivity, bool) {
56668	return nil, false
56669}
56670
56671// AsFilterActivity is the BasicActivity implementation for DeleteActivity.
56672func (da DeleteActivity) AsFilterActivity() (*FilterActivity, bool) {
56673	return nil, false
56674}
56675
56676// AsValidationActivity is the BasicActivity implementation for DeleteActivity.
56677func (da DeleteActivity) AsValidationActivity() (*ValidationActivity, bool) {
56678	return nil, false
56679}
56680
56681// AsUntilActivity is the BasicActivity implementation for DeleteActivity.
56682func (da DeleteActivity) AsUntilActivity() (*UntilActivity, bool) {
56683	return nil, false
56684}
56685
56686// AsWaitActivity is the BasicActivity implementation for DeleteActivity.
56687func (da DeleteActivity) AsWaitActivity() (*WaitActivity, bool) {
56688	return nil, false
56689}
56690
56691// AsForEachActivity is the BasicActivity implementation for DeleteActivity.
56692func (da DeleteActivity) AsForEachActivity() (*ForEachActivity, bool) {
56693	return nil, false
56694}
56695
56696// AsIfConditionActivity is the BasicActivity implementation for DeleteActivity.
56697func (da DeleteActivity) AsIfConditionActivity() (*IfConditionActivity, bool) {
56698	return nil, false
56699}
56700
56701// AsExecutePipelineActivity is the BasicActivity implementation for DeleteActivity.
56702func (da DeleteActivity) AsExecutePipelineActivity() (*ExecutePipelineActivity, bool) {
56703	return nil, false
56704}
56705
56706// AsControlActivity is the BasicActivity implementation for DeleteActivity.
56707func (da DeleteActivity) AsControlActivity() (*ControlActivity, bool) {
56708	return nil, false
56709}
56710
56711// AsBasicControlActivity is the BasicActivity implementation for DeleteActivity.
56712func (da DeleteActivity) AsBasicControlActivity() (BasicControlActivity, bool) {
56713	return nil, false
56714}
56715
56716// AsActivity is the BasicActivity implementation for DeleteActivity.
56717func (da DeleteActivity) AsActivity() (*Activity, bool) {
56718	return nil, false
56719}
56720
56721// AsBasicActivity is the BasicActivity implementation for DeleteActivity.
56722func (da DeleteActivity) AsBasicActivity() (BasicActivity, bool) {
56723	return &da, true
56724}
56725
56726// UnmarshalJSON is the custom unmarshaler for DeleteActivity struct.
56727func (da *DeleteActivity) UnmarshalJSON(body []byte) error {
56728	var m map[string]*json.RawMessage
56729	err := json.Unmarshal(body, &m)
56730	if err != nil {
56731		return err
56732	}
56733	for k, v := range m {
56734		switch k {
56735		case "typeProperties":
56736			if v != nil {
56737				var deleteActivityTypeProperties DeleteActivityTypeProperties
56738				err = json.Unmarshal(*v, &deleteActivityTypeProperties)
56739				if err != nil {
56740					return err
56741				}
56742				da.DeleteActivityTypeProperties = &deleteActivityTypeProperties
56743			}
56744		case "linkedServiceName":
56745			if v != nil {
56746				var linkedServiceName LinkedServiceReference
56747				err = json.Unmarshal(*v, &linkedServiceName)
56748				if err != nil {
56749					return err
56750				}
56751				da.LinkedServiceName = &linkedServiceName
56752			}
56753		case "policy":
56754			if v != nil {
56755				var policy ActivityPolicy
56756				err = json.Unmarshal(*v, &policy)
56757				if err != nil {
56758					return err
56759				}
56760				da.Policy = &policy
56761			}
56762		default:
56763			if v != nil {
56764				var additionalProperties interface{}
56765				err = json.Unmarshal(*v, &additionalProperties)
56766				if err != nil {
56767					return err
56768				}
56769				if da.AdditionalProperties == nil {
56770					da.AdditionalProperties = make(map[string]interface{})
56771				}
56772				da.AdditionalProperties[k] = additionalProperties
56773			}
56774		case "name":
56775			if v != nil {
56776				var name string
56777				err = json.Unmarshal(*v, &name)
56778				if err != nil {
56779					return err
56780				}
56781				da.Name = &name
56782			}
56783		case "description":
56784			if v != nil {
56785				var description string
56786				err = json.Unmarshal(*v, &description)
56787				if err != nil {
56788					return err
56789				}
56790				da.Description = &description
56791			}
56792		case "dependsOn":
56793			if v != nil {
56794				var dependsOn []ActivityDependency
56795				err = json.Unmarshal(*v, &dependsOn)
56796				if err != nil {
56797					return err
56798				}
56799				da.DependsOn = &dependsOn
56800			}
56801		case "userProperties":
56802			if v != nil {
56803				var userProperties []UserProperty
56804				err = json.Unmarshal(*v, &userProperties)
56805				if err != nil {
56806					return err
56807				}
56808				da.UserProperties = &userProperties
56809			}
56810		case "type":
56811			if v != nil {
56812				var typeVar TypeBasicActivity
56813				err = json.Unmarshal(*v, &typeVar)
56814				if err != nil {
56815					return err
56816				}
56817				da.Type = typeVar
56818			}
56819		}
56820	}
56821
56822	return nil
56823}
56824
56825// DeleteActivityTypeProperties delete activity properties.
56826type DeleteActivityTypeProperties struct {
56827	// Recursive - If true, files or sub-folders under current folder path will be deleted recursively. Default is false. Type: boolean (or Expression with resultType boolean).
56828	Recursive interface{} `json:"recursive,omitempty"`
56829	// MaxConcurrentConnections - The max concurrent connections to connect data source at the same time.
56830	MaxConcurrentConnections *int32 `json:"maxConcurrentConnections,omitempty"`
56831	// EnableLogging - Whether to record detailed logs of delete-activity execution. Default value is false. Type: boolean (or Expression with resultType boolean).
56832	EnableLogging interface{} `json:"enableLogging,omitempty"`
56833	// LogStorageSettings - Log storage settings customer need to provide when enableLogging is true.
56834	LogStorageSettings *LogStorageSettings `json:"logStorageSettings,omitempty"`
56835	// Dataset - Delete activity dataset reference.
56836	Dataset *DatasetReference `json:"dataset,omitempty"`
56837}
56838
56839// DelimitedTextDataset delimited text dataset.
56840type DelimitedTextDataset struct {
56841	// DelimitedTextDatasetTypeProperties - Delimited text dataset properties.
56842	*DelimitedTextDatasetTypeProperties `json:"typeProperties,omitempty"`
56843	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
56844	AdditionalProperties map[string]interface{} `json:""`
56845	// Description - Dataset description.
56846	Description *string `json:"description,omitempty"`
56847	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
56848	Structure interface{} `json:"structure,omitempty"`
56849	// Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement.
56850	Schema interface{} `json:"schema,omitempty"`
56851	// LinkedServiceName - Linked service reference.
56852	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
56853	// Parameters - Parameters for dataset.
56854	Parameters map[string]*ParameterSpecification `json:"parameters"`
56855	// Annotations - List of tags that can be used for describing the Dataset.
56856	Annotations *[]interface{} `json:"annotations,omitempty"`
56857	// Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level.
56858	Folder *DatasetFolder `json:"folder,omitempty"`
56859	// Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', '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', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeDelimitedText', 'TypeParquet', 'TypeAmazonS3Object'
56860	Type TypeBasicDataset `json:"type,omitempty"`
56861}
56862
56863// MarshalJSON is the custom marshaler for DelimitedTextDataset.
56864func (dtd DelimitedTextDataset) MarshalJSON() ([]byte, error) {
56865	dtd.Type = TypeDelimitedText
56866	objectMap := make(map[string]interface{})
56867	if dtd.DelimitedTextDatasetTypeProperties != nil {
56868		objectMap["typeProperties"] = dtd.DelimitedTextDatasetTypeProperties
56869	}
56870	if dtd.Description != nil {
56871		objectMap["description"] = dtd.Description
56872	}
56873	if dtd.Structure != nil {
56874		objectMap["structure"] = dtd.Structure
56875	}
56876	if dtd.Schema != nil {
56877		objectMap["schema"] = dtd.Schema
56878	}
56879	if dtd.LinkedServiceName != nil {
56880		objectMap["linkedServiceName"] = dtd.LinkedServiceName
56881	}
56882	if dtd.Parameters != nil {
56883		objectMap["parameters"] = dtd.Parameters
56884	}
56885	if dtd.Annotations != nil {
56886		objectMap["annotations"] = dtd.Annotations
56887	}
56888	if dtd.Folder != nil {
56889		objectMap["folder"] = dtd.Folder
56890	}
56891	if dtd.Type != "" {
56892		objectMap["type"] = dtd.Type
56893	}
56894	for k, v := range dtd.AdditionalProperties {
56895		objectMap[k] = v
56896	}
56897	return json.Marshal(objectMap)
56898}
56899
56900// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for DelimitedTextDataset.
56901func (dtd DelimitedTextDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) {
56902	return nil, false
56903}
56904
56905// AsAzureDataExplorerTableDataset is the BasicDataset implementation for DelimitedTextDataset.
56906func (dtd DelimitedTextDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) {
56907	return nil, false
56908}
56909
56910// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for DelimitedTextDataset.
56911func (dtd DelimitedTextDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) {
56912	return nil, false
56913}
56914
56915// AsDynamicsAXResourceDataset is the BasicDataset implementation for DelimitedTextDataset.
56916func (dtd DelimitedTextDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) {
56917	return nil, false
56918}
56919
56920// AsResponsysObjectDataset is the BasicDataset implementation for DelimitedTextDataset.
56921func (dtd DelimitedTextDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
56922	return nil, false
56923}
56924
56925// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for DelimitedTextDataset.
56926func (dtd DelimitedTextDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
56927	return nil, false
56928}
56929
56930// AsVerticaTableDataset is the BasicDataset implementation for DelimitedTextDataset.
56931func (dtd DelimitedTextDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
56932	return nil, false
56933}
56934
56935// AsNetezzaTableDataset is the BasicDataset implementation for DelimitedTextDataset.
56936func (dtd DelimitedTextDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
56937	return nil, false
56938}
56939
56940// AsZohoObjectDataset is the BasicDataset implementation for DelimitedTextDataset.
56941func (dtd DelimitedTextDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
56942	return nil, false
56943}
56944
56945// AsXeroObjectDataset is the BasicDataset implementation for DelimitedTextDataset.
56946func (dtd DelimitedTextDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
56947	return nil, false
56948}
56949
56950// AsSquareObjectDataset is the BasicDataset implementation for DelimitedTextDataset.
56951func (dtd DelimitedTextDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
56952	return nil, false
56953}
56954
56955// AsSparkObjectDataset is the BasicDataset implementation for DelimitedTextDataset.
56956func (dtd DelimitedTextDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
56957	return nil, false
56958}
56959
56960// AsShopifyObjectDataset is the BasicDataset implementation for DelimitedTextDataset.
56961func (dtd DelimitedTextDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
56962	return nil, false
56963}
56964
56965// AsServiceNowObjectDataset is the BasicDataset implementation for DelimitedTextDataset.
56966func (dtd DelimitedTextDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
56967	return nil, false
56968}
56969
56970// AsQuickBooksObjectDataset is the BasicDataset implementation for DelimitedTextDataset.
56971func (dtd DelimitedTextDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
56972	return nil, false
56973}
56974
56975// AsPrestoObjectDataset is the BasicDataset implementation for DelimitedTextDataset.
56976func (dtd DelimitedTextDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
56977	return nil, false
56978}
56979
56980// AsPhoenixObjectDataset is the BasicDataset implementation for DelimitedTextDataset.
56981func (dtd DelimitedTextDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
56982	return nil, false
56983}
56984
56985// AsPaypalObjectDataset is the BasicDataset implementation for DelimitedTextDataset.
56986func (dtd DelimitedTextDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
56987	return nil, false
56988}
56989
56990// AsMarketoObjectDataset is the BasicDataset implementation for DelimitedTextDataset.
56991func (dtd DelimitedTextDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
56992	return nil, false
56993}
56994
56995// AsMariaDBTableDataset is the BasicDataset implementation for DelimitedTextDataset.
56996func (dtd DelimitedTextDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
56997	return nil, false
56998}
56999
57000// AsMagentoObjectDataset is the BasicDataset implementation for DelimitedTextDataset.
57001func (dtd DelimitedTextDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
57002	return nil, false
57003}
57004
57005// AsJiraObjectDataset is the BasicDataset implementation for DelimitedTextDataset.
57006func (dtd DelimitedTextDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
57007	return nil, false
57008}
57009
57010// AsImpalaObjectDataset is the BasicDataset implementation for DelimitedTextDataset.
57011func (dtd DelimitedTextDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
57012	return nil, false
57013}
57014
57015// AsHubspotObjectDataset is the BasicDataset implementation for DelimitedTextDataset.
57016func (dtd DelimitedTextDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
57017	return nil, false
57018}
57019
57020// AsHiveObjectDataset is the BasicDataset implementation for DelimitedTextDataset.
57021func (dtd DelimitedTextDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
57022	return nil, false
57023}
57024
57025// AsHBaseObjectDataset is the BasicDataset implementation for DelimitedTextDataset.
57026func (dtd DelimitedTextDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
57027	return nil, false
57028}
57029
57030// AsGreenplumTableDataset is the BasicDataset implementation for DelimitedTextDataset.
57031func (dtd DelimitedTextDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
57032	return nil, false
57033}
57034
57035// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for DelimitedTextDataset.
57036func (dtd DelimitedTextDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
57037	return nil, false
57038}
57039
57040// AsEloquaObjectDataset is the BasicDataset implementation for DelimitedTextDataset.
57041func (dtd DelimitedTextDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
57042	return nil, false
57043}
57044
57045// AsDrillTableDataset is the BasicDataset implementation for DelimitedTextDataset.
57046func (dtd DelimitedTextDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
57047	return nil, false
57048}
57049
57050// AsCouchbaseTableDataset is the BasicDataset implementation for DelimitedTextDataset.
57051func (dtd DelimitedTextDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
57052	return nil, false
57053}
57054
57055// AsConcurObjectDataset is the BasicDataset implementation for DelimitedTextDataset.
57056func (dtd DelimitedTextDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
57057	return nil, false
57058}
57059
57060// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for DelimitedTextDataset.
57061func (dtd DelimitedTextDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
57062	return nil, false
57063}
57064
57065// AsAmazonMWSObjectDataset is the BasicDataset implementation for DelimitedTextDataset.
57066func (dtd DelimitedTextDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
57067	return nil, false
57068}
57069
57070// AsHTTPDataset is the BasicDataset implementation for DelimitedTextDataset.
57071func (dtd DelimitedTextDataset) AsHTTPDataset() (*HTTPDataset, bool) {
57072	return nil, false
57073}
57074
57075// AsAzureSearchIndexDataset is the BasicDataset implementation for DelimitedTextDataset.
57076func (dtd DelimitedTextDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
57077	return nil, false
57078}
57079
57080// AsWebTableDataset is the BasicDataset implementation for DelimitedTextDataset.
57081func (dtd DelimitedTextDataset) AsWebTableDataset() (*WebTableDataset, bool) {
57082	return nil, false
57083}
57084
57085// AsSapTableResourceDataset is the BasicDataset implementation for DelimitedTextDataset.
57086func (dtd DelimitedTextDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) {
57087	return nil, false
57088}
57089
57090// AsRestResourceDataset is the BasicDataset implementation for DelimitedTextDataset.
57091func (dtd DelimitedTextDataset) AsRestResourceDataset() (*RestResourceDataset, bool) {
57092	return nil, false
57093}
57094
57095// AsSQLServerTableDataset is the BasicDataset implementation for DelimitedTextDataset.
57096func (dtd DelimitedTextDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
57097	return nil, false
57098}
57099
57100// AsSapOpenHubTableDataset is the BasicDataset implementation for DelimitedTextDataset.
57101func (dtd DelimitedTextDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) {
57102	return nil, false
57103}
57104
57105// AsSapHanaTableDataset is the BasicDataset implementation for DelimitedTextDataset.
57106func (dtd DelimitedTextDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) {
57107	return nil, false
57108}
57109
57110// AsSapEccResourceDataset is the BasicDataset implementation for DelimitedTextDataset.
57111func (dtd DelimitedTextDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
57112	return nil, false
57113}
57114
57115// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for DelimitedTextDataset.
57116func (dtd DelimitedTextDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
57117	return nil, false
57118}
57119
57120// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for DelimitedTextDataset.
57121func (dtd DelimitedTextDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) {
57122	return nil, false
57123}
57124
57125// AsSalesforceObjectDataset is the BasicDataset implementation for DelimitedTextDataset.
57126func (dtd DelimitedTextDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
57127	return nil, false
57128}
57129
57130// AsMicrosoftAccessTableDataset is the BasicDataset implementation for DelimitedTextDataset.
57131func (dtd DelimitedTextDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) {
57132	return nil, false
57133}
57134
57135// AsPostgreSQLTableDataset is the BasicDataset implementation for DelimitedTextDataset.
57136func (dtd DelimitedTextDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) {
57137	return nil, false
57138}
57139
57140// AsMySQLTableDataset is the BasicDataset implementation for DelimitedTextDataset.
57141func (dtd DelimitedTextDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) {
57142	return nil, false
57143}
57144
57145// AsOdbcTableDataset is the BasicDataset implementation for DelimitedTextDataset.
57146func (dtd DelimitedTextDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) {
57147	return nil, false
57148}
57149
57150// AsInformixTableDataset is the BasicDataset implementation for DelimitedTextDataset.
57151func (dtd DelimitedTextDataset) AsInformixTableDataset() (*InformixTableDataset, bool) {
57152	return nil, false
57153}
57154
57155// AsRelationalTableDataset is the BasicDataset implementation for DelimitedTextDataset.
57156func (dtd DelimitedTextDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
57157	return nil, false
57158}
57159
57160// AsAzureMySQLTableDataset is the BasicDataset implementation for DelimitedTextDataset.
57161func (dtd DelimitedTextDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
57162	return nil, false
57163}
57164
57165// AsTeradataTableDataset is the BasicDataset implementation for DelimitedTextDataset.
57166func (dtd DelimitedTextDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) {
57167	return nil, false
57168}
57169
57170// AsOracleTableDataset is the BasicDataset implementation for DelimitedTextDataset.
57171func (dtd DelimitedTextDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
57172	return nil, false
57173}
57174
57175// AsODataResourceDataset is the BasicDataset implementation for DelimitedTextDataset.
57176func (dtd DelimitedTextDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
57177	return nil, false
57178}
57179
57180// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for DelimitedTextDataset.
57181func (dtd DelimitedTextDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) {
57182	return nil, false
57183}
57184
57185// AsMongoDbV2CollectionDataset is the BasicDataset implementation for DelimitedTextDataset.
57186func (dtd DelimitedTextDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) {
57187	return nil, false
57188}
57189
57190// AsMongoDbCollectionDataset is the BasicDataset implementation for DelimitedTextDataset.
57191func (dtd DelimitedTextDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
57192	return nil, false
57193}
57194
57195// AsFileShareDataset is the BasicDataset implementation for DelimitedTextDataset.
57196func (dtd DelimitedTextDataset) AsFileShareDataset() (*FileShareDataset, bool) {
57197	return nil, false
57198}
57199
57200// AsOffice365Dataset is the BasicDataset implementation for DelimitedTextDataset.
57201func (dtd DelimitedTextDataset) AsOffice365Dataset() (*Office365Dataset, bool) {
57202	return nil, false
57203}
57204
57205// AsAzureBlobFSDataset is the BasicDataset implementation for DelimitedTextDataset.
57206func (dtd DelimitedTextDataset) AsAzureBlobFSDataset() (*AzureBlobFSDataset, bool) {
57207	return nil, false
57208}
57209
57210// AsAzureDataLakeStoreDataset is the BasicDataset implementation for DelimitedTextDataset.
57211func (dtd DelimitedTextDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) {
57212	return nil, false
57213}
57214
57215// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for DelimitedTextDataset.
57216func (dtd DelimitedTextDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) {
57217	return nil, false
57218}
57219
57220// AsDynamicsCrmEntityDataset is the BasicDataset implementation for DelimitedTextDataset.
57221func (dtd DelimitedTextDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) {
57222	return nil, false
57223}
57224
57225// AsDynamicsEntityDataset is the BasicDataset implementation for DelimitedTextDataset.
57226func (dtd DelimitedTextDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
57227	return nil, false
57228}
57229
57230// AsDocumentDbCollectionDataset is the BasicDataset implementation for DelimitedTextDataset.
57231func (dtd DelimitedTextDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
57232	return nil, false
57233}
57234
57235// AsCustomDataset is the BasicDataset implementation for DelimitedTextDataset.
57236func (dtd DelimitedTextDataset) AsCustomDataset() (*CustomDataset, bool) {
57237	return nil, false
57238}
57239
57240// AsCassandraTableDataset is the BasicDataset implementation for DelimitedTextDataset.
57241func (dtd DelimitedTextDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
57242	return nil, false
57243}
57244
57245// AsAzureSQLDWTableDataset is the BasicDataset implementation for DelimitedTextDataset.
57246func (dtd DelimitedTextDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
57247	return nil, false
57248}
57249
57250// AsAzureSQLMITableDataset is the BasicDataset implementation for DelimitedTextDataset.
57251func (dtd DelimitedTextDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) {
57252	return nil, false
57253}
57254
57255// AsAzureSQLTableDataset is the BasicDataset implementation for DelimitedTextDataset.
57256func (dtd DelimitedTextDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
57257	return nil, false
57258}
57259
57260// AsAzureTableDataset is the BasicDataset implementation for DelimitedTextDataset.
57261func (dtd DelimitedTextDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
57262	return nil, false
57263}
57264
57265// AsAzureBlobDataset is the BasicDataset implementation for DelimitedTextDataset.
57266func (dtd DelimitedTextDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) {
57267	return nil, false
57268}
57269
57270// AsBinaryDataset is the BasicDataset implementation for DelimitedTextDataset.
57271func (dtd DelimitedTextDataset) AsBinaryDataset() (*BinaryDataset, bool) {
57272	return nil, false
57273}
57274
57275// AsDelimitedTextDataset is the BasicDataset implementation for DelimitedTextDataset.
57276func (dtd DelimitedTextDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) {
57277	return &dtd, true
57278}
57279
57280// AsParquetDataset is the BasicDataset implementation for DelimitedTextDataset.
57281func (dtd DelimitedTextDataset) AsParquetDataset() (*ParquetDataset, bool) {
57282	return nil, false
57283}
57284
57285// AsAmazonS3Dataset is the BasicDataset implementation for DelimitedTextDataset.
57286func (dtd DelimitedTextDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) {
57287	return nil, false
57288}
57289
57290// AsDataset is the BasicDataset implementation for DelimitedTextDataset.
57291func (dtd DelimitedTextDataset) AsDataset() (*Dataset, bool) {
57292	return nil, false
57293}
57294
57295// AsBasicDataset is the BasicDataset implementation for DelimitedTextDataset.
57296func (dtd DelimitedTextDataset) AsBasicDataset() (BasicDataset, bool) {
57297	return &dtd, true
57298}
57299
57300// UnmarshalJSON is the custom unmarshaler for DelimitedTextDataset struct.
57301func (dtd *DelimitedTextDataset) UnmarshalJSON(body []byte) error {
57302	var m map[string]*json.RawMessage
57303	err := json.Unmarshal(body, &m)
57304	if err != nil {
57305		return err
57306	}
57307	for k, v := range m {
57308		switch k {
57309		case "typeProperties":
57310			if v != nil {
57311				var delimitedTextDatasetTypeProperties DelimitedTextDatasetTypeProperties
57312				err = json.Unmarshal(*v, &delimitedTextDatasetTypeProperties)
57313				if err != nil {
57314					return err
57315				}
57316				dtd.DelimitedTextDatasetTypeProperties = &delimitedTextDatasetTypeProperties
57317			}
57318		default:
57319			if v != nil {
57320				var additionalProperties interface{}
57321				err = json.Unmarshal(*v, &additionalProperties)
57322				if err != nil {
57323					return err
57324				}
57325				if dtd.AdditionalProperties == nil {
57326					dtd.AdditionalProperties = make(map[string]interface{})
57327				}
57328				dtd.AdditionalProperties[k] = additionalProperties
57329			}
57330		case "description":
57331			if v != nil {
57332				var description string
57333				err = json.Unmarshal(*v, &description)
57334				if err != nil {
57335					return err
57336				}
57337				dtd.Description = &description
57338			}
57339		case "structure":
57340			if v != nil {
57341				var structure interface{}
57342				err = json.Unmarshal(*v, &structure)
57343				if err != nil {
57344					return err
57345				}
57346				dtd.Structure = structure
57347			}
57348		case "schema":
57349			if v != nil {
57350				var schema interface{}
57351				err = json.Unmarshal(*v, &schema)
57352				if err != nil {
57353					return err
57354				}
57355				dtd.Schema = schema
57356			}
57357		case "linkedServiceName":
57358			if v != nil {
57359				var linkedServiceName LinkedServiceReference
57360				err = json.Unmarshal(*v, &linkedServiceName)
57361				if err != nil {
57362					return err
57363				}
57364				dtd.LinkedServiceName = &linkedServiceName
57365			}
57366		case "parameters":
57367			if v != nil {
57368				var parameters map[string]*ParameterSpecification
57369				err = json.Unmarshal(*v, &parameters)
57370				if err != nil {
57371					return err
57372				}
57373				dtd.Parameters = parameters
57374			}
57375		case "annotations":
57376			if v != nil {
57377				var annotations []interface{}
57378				err = json.Unmarshal(*v, &annotations)
57379				if err != nil {
57380					return err
57381				}
57382				dtd.Annotations = &annotations
57383			}
57384		case "folder":
57385			if v != nil {
57386				var folder DatasetFolder
57387				err = json.Unmarshal(*v, &folder)
57388				if err != nil {
57389					return err
57390				}
57391				dtd.Folder = &folder
57392			}
57393		case "type":
57394			if v != nil {
57395				var typeVar TypeBasicDataset
57396				err = json.Unmarshal(*v, &typeVar)
57397				if err != nil {
57398					return err
57399				}
57400				dtd.Type = typeVar
57401			}
57402		}
57403	}
57404
57405	return nil
57406}
57407
57408// DelimitedTextDatasetTypeProperties delimitedText dataset properties.
57409type DelimitedTextDatasetTypeProperties struct {
57410	// Location - The location of the delimited text storage.
57411	Location *DatasetLocation `json:"location,omitempty"`
57412	// ColumnDelimiter - The column delimiter. Type: string (or Expression with resultType string).
57413	ColumnDelimiter interface{} `json:"columnDelimiter,omitempty"`
57414	// RowDelimiter - The row delimiter. Type: string (or Expression with resultType string).
57415	RowDelimiter interface{} `json:"rowDelimiter,omitempty"`
57416	// 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).
57417	EncodingName     interface{} `json:"encodingName,omitempty"`
57418	CompressionCodec interface{} `json:"compressionCodec,omitempty"`
57419	// CompressionLevel - The data compression method used for DelimitedText.
57420	CompressionLevel interface{} `json:"compressionLevel,omitempty"`
57421	// QuoteChar - The quote character. Type: string (or Expression with resultType string).
57422	QuoteChar interface{} `json:"quoteChar,omitempty"`
57423	// EscapeChar - The escape character. Type: string (or Expression with resultType string).
57424	EscapeChar interface{} `json:"escapeChar,omitempty"`
57425	// 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).
57426	FirstRowAsHeader interface{} `json:"firstRowAsHeader,omitempty"`
57427	// NullValue - The null value string. Type: string (or Expression with resultType string).
57428	NullValue interface{} `json:"nullValue,omitempty"`
57429}
57430
57431// DelimitedTextReadSettings delimited text read settings.
57432type DelimitedTextReadSettings struct {
57433	// SkipLineCount - Indicates the number of non-empty rows to skip when reading data from input files. Type: integer (or Expression with resultType integer).
57434	SkipLineCount interface{} `json:"skipLineCount,omitempty"`
57435	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
57436	AdditionalProperties map[string]interface{} `json:""`
57437	// Type - The read setting type.
57438	Type *string `json:"type,omitempty"`
57439}
57440
57441// MarshalJSON is the custom marshaler for DelimitedTextReadSettings.
57442func (dtrs DelimitedTextReadSettings) MarshalJSON() ([]byte, error) {
57443	objectMap := make(map[string]interface{})
57444	if dtrs.SkipLineCount != nil {
57445		objectMap["skipLineCount"] = dtrs.SkipLineCount
57446	}
57447	if dtrs.Type != nil {
57448		objectMap["type"] = dtrs.Type
57449	}
57450	for k, v := range dtrs.AdditionalProperties {
57451		objectMap[k] = v
57452	}
57453	return json.Marshal(objectMap)
57454}
57455
57456// UnmarshalJSON is the custom unmarshaler for DelimitedTextReadSettings struct.
57457func (dtrs *DelimitedTextReadSettings) UnmarshalJSON(body []byte) error {
57458	var m map[string]*json.RawMessage
57459	err := json.Unmarshal(body, &m)
57460	if err != nil {
57461		return err
57462	}
57463	for k, v := range m {
57464		switch k {
57465		case "skipLineCount":
57466			if v != nil {
57467				var skipLineCount interface{}
57468				err = json.Unmarshal(*v, &skipLineCount)
57469				if err != nil {
57470					return err
57471				}
57472				dtrs.SkipLineCount = skipLineCount
57473			}
57474		default:
57475			if v != nil {
57476				var additionalProperties interface{}
57477				err = json.Unmarshal(*v, &additionalProperties)
57478				if err != nil {
57479					return err
57480				}
57481				if dtrs.AdditionalProperties == nil {
57482					dtrs.AdditionalProperties = make(map[string]interface{})
57483				}
57484				dtrs.AdditionalProperties[k] = additionalProperties
57485			}
57486		case "type":
57487			if v != nil {
57488				var typeVar string
57489				err = json.Unmarshal(*v, &typeVar)
57490				if err != nil {
57491					return err
57492				}
57493				dtrs.Type = &typeVar
57494			}
57495		}
57496	}
57497
57498	return nil
57499}
57500
57501// DelimitedTextSink a copy activity DelimitedText sink.
57502type DelimitedTextSink struct {
57503	// StoreSettings - DelimitedText store settings.
57504	StoreSettings *StoreWriteSettings `json:"storeSettings,omitempty"`
57505	// FormatSettings - DelimitedText format settings.
57506	FormatSettings *DelimitedTextWriteSettings `json:"formatSettings,omitempty"`
57507	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
57508	AdditionalProperties map[string]interface{} `json:""`
57509	// WriteBatchSize - Write batch size. Type: integer (or Expression with resultType integer), minimum: 0.
57510	WriteBatchSize interface{} `json:"writeBatchSize,omitempty"`
57511	// 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])).
57512	WriteBatchTimeout interface{} `json:"writeBatchTimeout,omitempty"`
57513	// SinkRetryCount - Sink retry count. Type: integer (or Expression with resultType integer).
57514	SinkRetryCount interface{} `json:"sinkRetryCount,omitempty"`
57515	// 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])).
57516	SinkRetryWait interface{} `json:"sinkRetryWait,omitempty"`
57517	// MaxConcurrentConnections - The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer).
57518	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
57519	// Type - Possible values include: 'TypeCopySink', 'TypeCosmosDbMongoDbAPISink', 'TypeSalesforceServiceCloudSink', 'TypeSalesforceSink', 'TypeAzureDataExplorerSink', 'TypeCommonDataServiceForAppsSink', 'TypeDynamicsCrmSink', 'TypeDynamicsSink', 'TypeMicrosoftAccessSink', 'TypeInformixSink', 'TypeOdbcSink', 'TypeAzureSearchIndexSink', 'TypeAzureBlobFSSink', 'TypeAzureDataLakeStoreSink', 'TypeOracleSink', 'TypeSQLDWSink', 'TypeSQLMISink', 'TypeAzureSQLSink', 'TypeSQLServerSink', 'TypeSQLSink', 'TypeDocumentDbCollectionSink', 'TypeFileSystemSink', 'TypeBlobSink', 'TypeBinarySink', 'TypeParquetSink', 'TypeAzureTableSink', 'TypeAzureQueueSink', 'TypeSapCloudForCustomerSink', 'TypeAzurePostgreSQLSink', 'TypeDelimitedTextSink'
57520	Type TypeBasicCopySink `json:"type,omitempty"`
57521}
57522
57523// MarshalJSON is the custom marshaler for DelimitedTextSink.
57524func (dts DelimitedTextSink) MarshalJSON() ([]byte, error) {
57525	dts.Type = TypeDelimitedTextSink
57526	objectMap := make(map[string]interface{})
57527	if dts.StoreSettings != nil {
57528		objectMap["storeSettings"] = dts.StoreSettings
57529	}
57530	if dts.FormatSettings != nil {
57531		objectMap["formatSettings"] = dts.FormatSettings
57532	}
57533	if dts.WriteBatchSize != nil {
57534		objectMap["writeBatchSize"] = dts.WriteBatchSize
57535	}
57536	if dts.WriteBatchTimeout != nil {
57537		objectMap["writeBatchTimeout"] = dts.WriteBatchTimeout
57538	}
57539	if dts.SinkRetryCount != nil {
57540		objectMap["sinkRetryCount"] = dts.SinkRetryCount
57541	}
57542	if dts.SinkRetryWait != nil {
57543		objectMap["sinkRetryWait"] = dts.SinkRetryWait
57544	}
57545	if dts.MaxConcurrentConnections != nil {
57546		objectMap["maxConcurrentConnections"] = dts.MaxConcurrentConnections
57547	}
57548	if dts.Type != "" {
57549		objectMap["type"] = dts.Type
57550	}
57551	for k, v := range dts.AdditionalProperties {
57552		objectMap[k] = v
57553	}
57554	return json.Marshal(objectMap)
57555}
57556
57557// AsCosmosDbMongoDbAPISink is the BasicCopySink implementation for DelimitedTextSink.
57558func (dts DelimitedTextSink) AsCosmosDbMongoDbAPISink() (*CosmosDbMongoDbAPISink, bool) {
57559	return nil, false
57560}
57561
57562// AsSalesforceServiceCloudSink is the BasicCopySink implementation for DelimitedTextSink.
57563func (dts DelimitedTextSink) AsSalesforceServiceCloudSink() (*SalesforceServiceCloudSink, bool) {
57564	return nil, false
57565}
57566
57567// AsSalesforceSink is the BasicCopySink implementation for DelimitedTextSink.
57568func (dts DelimitedTextSink) AsSalesforceSink() (*SalesforceSink, bool) {
57569	return nil, false
57570}
57571
57572// AsAzureDataExplorerSink is the BasicCopySink implementation for DelimitedTextSink.
57573func (dts DelimitedTextSink) AsAzureDataExplorerSink() (*AzureDataExplorerSink, bool) {
57574	return nil, false
57575}
57576
57577// AsCommonDataServiceForAppsSink is the BasicCopySink implementation for DelimitedTextSink.
57578func (dts DelimitedTextSink) AsCommonDataServiceForAppsSink() (*CommonDataServiceForAppsSink, bool) {
57579	return nil, false
57580}
57581
57582// AsDynamicsCrmSink is the BasicCopySink implementation for DelimitedTextSink.
57583func (dts DelimitedTextSink) AsDynamicsCrmSink() (*DynamicsCrmSink, bool) {
57584	return nil, false
57585}
57586
57587// AsDynamicsSink is the BasicCopySink implementation for DelimitedTextSink.
57588func (dts DelimitedTextSink) AsDynamicsSink() (*DynamicsSink, bool) {
57589	return nil, false
57590}
57591
57592// AsMicrosoftAccessSink is the BasicCopySink implementation for DelimitedTextSink.
57593func (dts DelimitedTextSink) AsMicrosoftAccessSink() (*MicrosoftAccessSink, bool) {
57594	return nil, false
57595}
57596
57597// AsInformixSink is the BasicCopySink implementation for DelimitedTextSink.
57598func (dts DelimitedTextSink) AsInformixSink() (*InformixSink, bool) {
57599	return nil, false
57600}
57601
57602// AsOdbcSink is the BasicCopySink implementation for DelimitedTextSink.
57603func (dts DelimitedTextSink) AsOdbcSink() (*OdbcSink, bool) {
57604	return nil, false
57605}
57606
57607// AsAzureSearchIndexSink is the BasicCopySink implementation for DelimitedTextSink.
57608func (dts DelimitedTextSink) AsAzureSearchIndexSink() (*AzureSearchIndexSink, bool) {
57609	return nil, false
57610}
57611
57612// AsAzureBlobFSSink is the BasicCopySink implementation for DelimitedTextSink.
57613func (dts DelimitedTextSink) AsAzureBlobFSSink() (*AzureBlobFSSink, bool) {
57614	return nil, false
57615}
57616
57617// AsAzureDataLakeStoreSink is the BasicCopySink implementation for DelimitedTextSink.
57618func (dts DelimitedTextSink) AsAzureDataLakeStoreSink() (*AzureDataLakeStoreSink, bool) {
57619	return nil, false
57620}
57621
57622// AsOracleSink is the BasicCopySink implementation for DelimitedTextSink.
57623func (dts DelimitedTextSink) AsOracleSink() (*OracleSink, bool) {
57624	return nil, false
57625}
57626
57627// AsSQLDWSink is the BasicCopySink implementation for DelimitedTextSink.
57628func (dts DelimitedTextSink) AsSQLDWSink() (*SQLDWSink, bool) {
57629	return nil, false
57630}
57631
57632// AsSQLMISink is the BasicCopySink implementation for DelimitedTextSink.
57633func (dts DelimitedTextSink) AsSQLMISink() (*SQLMISink, bool) {
57634	return nil, false
57635}
57636
57637// AsAzureSQLSink is the BasicCopySink implementation for DelimitedTextSink.
57638func (dts DelimitedTextSink) AsAzureSQLSink() (*AzureSQLSink, bool) {
57639	return nil, false
57640}
57641
57642// AsSQLServerSink is the BasicCopySink implementation for DelimitedTextSink.
57643func (dts DelimitedTextSink) AsSQLServerSink() (*SQLServerSink, bool) {
57644	return nil, false
57645}
57646
57647// AsSQLSink is the BasicCopySink implementation for DelimitedTextSink.
57648func (dts DelimitedTextSink) AsSQLSink() (*SQLSink, bool) {
57649	return nil, false
57650}
57651
57652// AsDocumentDbCollectionSink is the BasicCopySink implementation for DelimitedTextSink.
57653func (dts DelimitedTextSink) AsDocumentDbCollectionSink() (*DocumentDbCollectionSink, bool) {
57654	return nil, false
57655}
57656
57657// AsFileSystemSink is the BasicCopySink implementation for DelimitedTextSink.
57658func (dts DelimitedTextSink) AsFileSystemSink() (*FileSystemSink, bool) {
57659	return nil, false
57660}
57661
57662// AsBlobSink is the BasicCopySink implementation for DelimitedTextSink.
57663func (dts DelimitedTextSink) AsBlobSink() (*BlobSink, bool) {
57664	return nil, false
57665}
57666
57667// AsBinarySink is the BasicCopySink implementation for DelimitedTextSink.
57668func (dts DelimitedTextSink) AsBinarySink() (*BinarySink, bool) {
57669	return nil, false
57670}
57671
57672// AsParquetSink is the BasicCopySink implementation for DelimitedTextSink.
57673func (dts DelimitedTextSink) AsParquetSink() (*ParquetSink, bool) {
57674	return nil, false
57675}
57676
57677// AsAzureTableSink is the BasicCopySink implementation for DelimitedTextSink.
57678func (dts DelimitedTextSink) AsAzureTableSink() (*AzureTableSink, bool) {
57679	return nil, false
57680}
57681
57682// AsAzureQueueSink is the BasicCopySink implementation for DelimitedTextSink.
57683func (dts DelimitedTextSink) AsAzureQueueSink() (*AzureQueueSink, bool) {
57684	return nil, false
57685}
57686
57687// AsSapCloudForCustomerSink is the BasicCopySink implementation for DelimitedTextSink.
57688func (dts DelimitedTextSink) AsSapCloudForCustomerSink() (*SapCloudForCustomerSink, bool) {
57689	return nil, false
57690}
57691
57692// AsAzurePostgreSQLSink is the BasicCopySink implementation for DelimitedTextSink.
57693func (dts DelimitedTextSink) AsAzurePostgreSQLSink() (*AzurePostgreSQLSink, bool) {
57694	return nil, false
57695}
57696
57697// AsDelimitedTextSink is the BasicCopySink implementation for DelimitedTextSink.
57698func (dts DelimitedTextSink) AsDelimitedTextSink() (*DelimitedTextSink, bool) {
57699	return &dts, true
57700}
57701
57702// AsCopySink is the BasicCopySink implementation for DelimitedTextSink.
57703func (dts DelimitedTextSink) AsCopySink() (*CopySink, bool) {
57704	return nil, false
57705}
57706
57707// AsBasicCopySink is the BasicCopySink implementation for DelimitedTextSink.
57708func (dts DelimitedTextSink) AsBasicCopySink() (BasicCopySink, bool) {
57709	return &dts, true
57710}
57711
57712// UnmarshalJSON is the custom unmarshaler for DelimitedTextSink struct.
57713func (dts *DelimitedTextSink) UnmarshalJSON(body []byte) error {
57714	var m map[string]*json.RawMessage
57715	err := json.Unmarshal(body, &m)
57716	if err != nil {
57717		return err
57718	}
57719	for k, v := range m {
57720		switch k {
57721		case "storeSettings":
57722			if v != nil {
57723				var storeSettings StoreWriteSettings
57724				err = json.Unmarshal(*v, &storeSettings)
57725				if err != nil {
57726					return err
57727				}
57728				dts.StoreSettings = &storeSettings
57729			}
57730		case "formatSettings":
57731			if v != nil {
57732				var formatSettings DelimitedTextWriteSettings
57733				err = json.Unmarshal(*v, &formatSettings)
57734				if err != nil {
57735					return err
57736				}
57737				dts.FormatSettings = &formatSettings
57738			}
57739		default:
57740			if v != nil {
57741				var additionalProperties interface{}
57742				err = json.Unmarshal(*v, &additionalProperties)
57743				if err != nil {
57744					return err
57745				}
57746				if dts.AdditionalProperties == nil {
57747					dts.AdditionalProperties = make(map[string]interface{})
57748				}
57749				dts.AdditionalProperties[k] = additionalProperties
57750			}
57751		case "writeBatchSize":
57752			if v != nil {
57753				var writeBatchSize interface{}
57754				err = json.Unmarshal(*v, &writeBatchSize)
57755				if err != nil {
57756					return err
57757				}
57758				dts.WriteBatchSize = writeBatchSize
57759			}
57760		case "writeBatchTimeout":
57761			if v != nil {
57762				var writeBatchTimeout interface{}
57763				err = json.Unmarshal(*v, &writeBatchTimeout)
57764				if err != nil {
57765					return err
57766				}
57767				dts.WriteBatchTimeout = writeBatchTimeout
57768			}
57769		case "sinkRetryCount":
57770			if v != nil {
57771				var sinkRetryCount interface{}
57772				err = json.Unmarshal(*v, &sinkRetryCount)
57773				if err != nil {
57774					return err
57775				}
57776				dts.SinkRetryCount = sinkRetryCount
57777			}
57778		case "sinkRetryWait":
57779			if v != nil {
57780				var sinkRetryWait interface{}
57781				err = json.Unmarshal(*v, &sinkRetryWait)
57782				if err != nil {
57783					return err
57784				}
57785				dts.SinkRetryWait = sinkRetryWait
57786			}
57787		case "maxConcurrentConnections":
57788			if v != nil {
57789				var maxConcurrentConnections interface{}
57790				err = json.Unmarshal(*v, &maxConcurrentConnections)
57791				if err != nil {
57792					return err
57793				}
57794				dts.MaxConcurrentConnections = maxConcurrentConnections
57795			}
57796		case "type":
57797			if v != nil {
57798				var typeVar TypeBasicCopySink
57799				err = json.Unmarshal(*v, &typeVar)
57800				if err != nil {
57801					return err
57802				}
57803				dts.Type = typeVar
57804			}
57805		}
57806	}
57807
57808	return nil
57809}
57810
57811// DelimitedTextSource a copy activity DelimitedText source.
57812type DelimitedTextSource struct {
57813	// StoreSettings - DelimitedText store settings.
57814	StoreSettings *StoreReadSettings `json:"storeSettings,omitempty"`
57815	// FormatSettings - DelimitedText format settings.
57816	FormatSettings *DelimitedTextReadSettings `json:"formatSettings,omitempty"`
57817	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
57818	AdditionalProperties map[string]interface{} `json:""`
57819	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
57820	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
57821	// 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])).
57822	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
57823	// MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer).
57824	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
57825	// Type - Possible values include: 'TypeCopySource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', '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', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeCassandraSource', 'TypeWebSource', 'TypeTeradataSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeAzureMySQLSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeRestSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceServiceCloudSource', 'TypeSalesforceSource', 'TypeODataSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeMicrosoftAccessSource', 'TypeInformixSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAzureTableSource', 'TypeBinarySource', 'TypeDelimitedTextSource', 'TypeParquetSource'
57826	Type TypeBasicCopySource `json:"type,omitempty"`
57827}
57828
57829// MarshalJSON is the custom marshaler for DelimitedTextSource.
57830func (dts DelimitedTextSource) MarshalJSON() ([]byte, error) {
57831	dts.Type = TypeDelimitedTextSource
57832	objectMap := make(map[string]interface{})
57833	if dts.StoreSettings != nil {
57834		objectMap["storeSettings"] = dts.StoreSettings
57835	}
57836	if dts.FormatSettings != nil {
57837		objectMap["formatSettings"] = dts.FormatSettings
57838	}
57839	if dts.SourceRetryCount != nil {
57840		objectMap["sourceRetryCount"] = dts.SourceRetryCount
57841	}
57842	if dts.SourceRetryWait != nil {
57843		objectMap["sourceRetryWait"] = dts.SourceRetryWait
57844	}
57845	if dts.MaxConcurrentConnections != nil {
57846		objectMap["maxConcurrentConnections"] = dts.MaxConcurrentConnections
57847	}
57848	if dts.Type != "" {
57849		objectMap["type"] = dts.Type
57850	}
57851	for k, v := range dts.AdditionalProperties {
57852		objectMap[k] = v
57853	}
57854	return json.Marshal(objectMap)
57855}
57856
57857// AsAmazonRedshiftSource is the BasicCopySource implementation for DelimitedTextSource.
57858func (dts DelimitedTextSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
57859	return nil, false
57860}
57861
57862// AsGoogleAdWordsSource is the BasicCopySource implementation for DelimitedTextSource.
57863func (dts DelimitedTextSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) {
57864	return nil, false
57865}
57866
57867// AsOracleServiceCloudSource is the BasicCopySource implementation for DelimitedTextSource.
57868func (dts DelimitedTextSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) {
57869	return nil, false
57870}
57871
57872// AsDynamicsAXSource is the BasicCopySource implementation for DelimitedTextSource.
57873func (dts DelimitedTextSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) {
57874	return nil, false
57875}
57876
57877// AsResponsysSource is the BasicCopySource implementation for DelimitedTextSource.
57878func (dts DelimitedTextSource) AsResponsysSource() (*ResponsysSource, bool) {
57879	return nil, false
57880}
57881
57882// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for DelimitedTextSource.
57883func (dts DelimitedTextSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
57884	return nil, false
57885}
57886
57887// AsVerticaSource is the BasicCopySource implementation for DelimitedTextSource.
57888func (dts DelimitedTextSource) AsVerticaSource() (*VerticaSource, bool) {
57889	return nil, false
57890}
57891
57892// AsNetezzaSource is the BasicCopySource implementation for DelimitedTextSource.
57893func (dts DelimitedTextSource) AsNetezzaSource() (*NetezzaSource, bool) {
57894	return nil, false
57895}
57896
57897// AsZohoSource is the BasicCopySource implementation for DelimitedTextSource.
57898func (dts DelimitedTextSource) AsZohoSource() (*ZohoSource, bool) {
57899	return nil, false
57900}
57901
57902// AsXeroSource is the BasicCopySource implementation for DelimitedTextSource.
57903func (dts DelimitedTextSource) AsXeroSource() (*XeroSource, bool) {
57904	return nil, false
57905}
57906
57907// AsSquareSource is the BasicCopySource implementation for DelimitedTextSource.
57908func (dts DelimitedTextSource) AsSquareSource() (*SquareSource, bool) {
57909	return nil, false
57910}
57911
57912// AsSparkSource is the BasicCopySource implementation for DelimitedTextSource.
57913func (dts DelimitedTextSource) AsSparkSource() (*SparkSource, bool) {
57914	return nil, false
57915}
57916
57917// AsShopifySource is the BasicCopySource implementation for DelimitedTextSource.
57918func (dts DelimitedTextSource) AsShopifySource() (*ShopifySource, bool) {
57919	return nil, false
57920}
57921
57922// AsServiceNowSource is the BasicCopySource implementation for DelimitedTextSource.
57923func (dts DelimitedTextSource) AsServiceNowSource() (*ServiceNowSource, bool) {
57924	return nil, false
57925}
57926
57927// AsQuickBooksSource is the BasicCopySource implementation for DelimitedTextSource.
57928func (dts DelimitedTextSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
57929	return nil, false
57930}
57931
57932// AsPrestoSource is the BasicCopySource implementation for DelimitedTextSource.
57933func (dts DelimitedTextSource) AsPrestoSource() (*PrestoSource, bool) {
57934	return nil, false
57935}
57936
57937// AsPhoenixSource is the BasicCopySource implementation for DelimitedTextSource.
57938func (dts DelimitedTextSource) AsPhoenixSource() (*PhoenixSource, bool) {
57939	return nil, false
57940}
57941
57942// AsPaypalSource is the BasicCopySource implementation for DelimitedTextSource.
57943func (dts DelimitedTextSource) AsPaypalSource() (*PaypalSource, bool) {
57944	return nil, false
57945}
57946
57947// AsMarketoSource is the BasicCopySource implementation for DelimitedTextSource.
57948func (dts DelimitedTextSource) AsMarketoSource() (*MarketoSource, bool) {
57949	return nil, false
57950}
57951
57952// AsMariaDBSource is the BasicCopySource implementation for DelimitedTextSource.
57953func (dts DelimitedTextSource) AsMariaDBSource() (*MariaDBSource, bool) {
57954	return nil, false
57955}
57956
57957// AsMagentoSource is the BasicCopySource implementation for DelimitedTextSource.
57958func (dts DelimitedTextSource) AsMagentoSource() (*MagentoSource, bool) {
57959	return nil, false
57960}
57961
57962// AsJiraSource is the BasicCopySource implementation for DelimitedTextSource.
57963func (dts DelimitedTextSource) AsJiraSource() (*JiraSource, bool) {
57964	return nil, false
57965}
57966
57967// AsImpalaSource is the BasicCopySource implementation for DelimitedTextSource.
57968func (dts DelimitedTextSource) AsImpalaSource() (*ImpalaSource, bool) {
57969	return nil, false
57970}
57971
57972// AsHubspotSource is the BasicCopySource implementation for DelimitedTextSource.
57973func (dts DelimitedTextSource) AsHubspotSource() (*HubspotSource, bool) {
57974	return nil, false
57975}
57976
57977// AsHiveSource is the BasicCopySource implementation for DelimitedTextSource.
57978func (dts DelimitedTextSource) AsHiveSource() (*HiveSource, bool) {
57979	return nil, false
57980}
57981
57982// AsHBaseSource is the BasicCopySource implementation for DelimitedTextSource.
57983func (dts DelimitedTextSource) AsHBaseSource() (*HBaseSource, bool) {
57984	return nil, false
57985}
57986
57987// AsGreenplumSource is the BasicCopySource implementation for DelimitedTextSource.
57988func (dts DelimitedTextSource) AsGreenplumSource() (*GreenplumSource, bool) {
57989	return nil, false
57990}
57991
57992// AsGoogleBigQuerySource is the BasicCopySource implementation for DelimitedTextSource.
57993func (dts DelimitedTextSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
57994	return nil, false
57995}
57996
57997// AsEloquaSource is the BasicCopySource implementation for DelimitedTextSource.
57998func (dts DelimitedTextSource) AsEloquaSource() (*EloquaSource, bool) {
57999	return nil, false
58000}
58001
58002// AsDrillSource is the BasicCopySource implementation for DelimitedTextSource.
58003func (dts DelimitedTextSource) AsDrillSource() (*DrillSource, bool) {
58004	return nil, false
58005}
58006
58007// AsCouchbaseSource is the BasicCopySource implementation for DelimitedTextSource.
58008func (dts DelimitedTextSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
58009	return nil, false
58010}
58011
58012// AsConcurSource is the BasicCopySource implementation for DelimitedTextSource.
58013func (dts DelimitedTextSource) AsConcurSource() (*ConcurSource, bool) {
58014	return nil, false
58015}
58016
58017// AsAzurePostgreSQLSource is the BasicCopySource implementation for DelimitedTextSource.
58018func (dts DelimitedTextSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
58019	return nil, false
58020}
58021
58022// AsAmazonMWSSource is the BasicCopySource implementation for DelimitedTextSource.
58023func (dts DelimitedTextSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
58024	return nil, false
58025}
58026
58027// AsHTTPSource is the BasicCopySource implementation for DelimitedTextSource.
58028func (dts DelimitedTextSource) AsHTTPSource() (*HTTPSource, bool) {
58029	return nil, false
58030}
58031
58032// AsAzureBlobFSSource is the BasicCopySource implementation for DelimitedTextSource.
58033func (dts DelimitedTextSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) {
58034	return nil, false
58035}
58036
58037// AsAzureDataLakeStoreSource is the BasicCopySource implementation for DelimitedTextSource.
58038func (dts DelimitedTextSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
58039	return nil, false
58040}
58041
58042// AsOffice365Source is the BasicCopySource implementation for DelimitedTextSource.
58043func (dts DelimitedTextSource) AsOffice365Source() (*Office365Source, bool) {
58044	return nil, false
58045}
58046
58047// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for DelimitedTextSource.
58048func (dts DelimitedTextSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) {
58049	return nil, false
58050}
58051
58052// AsMongoDbV2Source is the BasicCopySource implementation for DelimitedTextSource.
58053func (dts DelimitedTextSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) {
58054	return nil, false
58055}
58056
58057// AsMongoDbSource is the BasicCopySource implementation for DelimitedTextSource.
58058func (dts DelimitedTextSource) AsMongoDbSource() (*MongoDbSource, bool) {
58059	return nil, false
58060}
58061
58062// AsCassandraSource is the BasicCopySource implementation for DelimitedTextSource.
58063func (dts DelimitedTextSource) AsCassandraSource() (*CassandraSource, bool) {
58064	return nil, false
58065}
58066
58067// AsWebSource is the BasicCopySource implementation for DelimitedTextSource.
58068func (dts DelimitedTextSource) AsWebSource() (*WebSource, bool) {
58069	return nil, false
58070}
58071
58072// AsTeradataSource is the BasicCopySource implementation for DelimitedTextSource.
58073func (dts DelimitedTextSource) AsTeradataSource() (*TeradataSource, bool) {
58074	return nil, false
58075}
58076
58077// AsOracleSource is the BasicCopySource implementation for DelimitedTextSource.
58078func (dts DelimitedTextSource) AsOracleSource() (*OracleSource, bool) {
58079	return nil, false
58080}
58081
58082// AsAzureDataExplorerSource is the BasicCopySource implementation for DelimitedTextSource.
58083func (dts DelimitedTextSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) {
58084	return nil, false
58085}
58086
58087// AsAzureMySQLSource is the BasicCopySource implementation for DelimitedTextSource.
58088func (dts DelimitedTextSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
58089	return nil, false
58090}
58091
58092// AsHdfsSource is the BasicCopySource implementation for DelimitedTextSource.
58093func (dts DelimitedTextSource) AsHdfsSource() (*HdfsSource, bool) {
58094	return nil, false
58095}
58096
58097// AsFileSystemSource is the BasicCopySource implementation for DelimitedTextSource.
58098func (dts DelimitedTextSource) AsFileSystemSource() (*FileSystemSource, bool) {
58099	return nil, false
58100}
58101
58102// AsSQLDWSource is the BasicCopySource implementation for DelimitedTextSource.
58103func (dts DelimitedTextSource) AsSQLDWSource() (*SQLDWSource, bool) {
58104	return nil, false
58105}
58106
58107// AsSQLMISource is the BasicCopySource implementation for DelimitedTextSource.
58108func (dts DelimitedTextSource) AsSQLMISource() (*SQLMISource, bool) {
58109	return nil, false
58110}
58111
58112// AsAzureSQLSource is the BasicCopySource implementation for DelimitedTextSource.
58113func (dts DelimitedTextSource) AsAzureSQLSource() (*AzureSQLSource, bool) {
58114	return nil, false
58115}
58116
58117// AsSQLServerSource is the BasicCopySource implementation for DelimitedTextSource.
58118func (dts DelimitedTextSource) AsSQLServerSource() (*SQLServerSource, bool) {
58119	return nil, false
58120}
58121
58122// AsSQLSource is the BasicCopySource implementation for DelimitedTextSource.
58123func (dts DelimitedTextSource) AsSQLSource() (*SQLSource, bool) {
58124	return nil, false
58125}
58126
58127// AsRestSource is the BasicCopySource implementation for DelimitedTextSource.
58128func (dts DelimitedTextSource) AsRestSource() (*RestSource, bool) {
58129	return nil, false
58130}
58131
58132// AsSapTableSource is the BasicCopySource implementation for DelimitedTextSource.
58133func (dts DelimitedTextSource) AsSapTableSource() (*SapTableSource, bool) {
58134	return nil, false
58135}
58136
58137// AsSapOpenHubSource is the BasicCopySource implementation for DelimitedTextSource.
58138func (dts DelimitedTextSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) {
58139	return nil, false
58140}
58141
58142// AsSapHanaSource is the BasicCopySource implementation for DelimitedTextSource.
58143func (dts DelimitedTextSource) AsSapHanaSource() (*SapHanaSource, bool) {
58144	return nil, false
58145}
58146
58147// AsSapEccSource is the BasicCopySource implementation for DelimitedTextSource.
58148func (dts DelimitedTextSource) AsSapEccSource() (*SapEccSource, bool) {
58149	return nil, false
58150}
58151
58152// AsSapCloudForCustomerSource is the BasicCopySource implementation for DelimitedTextSource.
58153func (dts DelimitedTextSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
58154	return nil, false
58155}
58156
58157// AsSalesforceServiceCloudSource is the BasicCopySource implementation for DelimitedTextSource.
58158func (dts DelimitedTextSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) {
58159	return nil, false
58160}
58161
58162// AsSalesforceSource is the BasicCopySource implementation for DelimitedTextSource.
58163func (dts DelimitedTextSource) AsSalesforceSource() (*SalesforceSource, bool) {
58164	return nil, false
58165}
58166
58167// AsODataSource is the BasicCopySource implementation for DelimitedTextSource.
58168func (dts DelimitedTextSource) AsODataSource() (*ODataSource, bool) {
58169	return nil, false
58170}
58171
58172// AsSybaseSource is the BasicCopySource implementation for DelimitedTextSource.
58173func (dts DelimitedTextSource) AsSybaseSource() (*SybaseSource, bool) {
58174	return nil, false
58175}
58176
58177// AsPostgreSQLSource is the BasicCopySource implementation for DelimitedTextSource.
58178func (dts DelimitedTextSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) {
58179	return nil, false
58180}
58181
58182// AsMySQLSource is the BasicCopySource implementation for DelimitedTextSource.
58183func (dts DelimitedTextSource) AsMySQLSource() (*MySQLSource, bool) {
58184	return nil, false
58185}
58186
58187// AsOdbcSource is the BasicCopySource implementation for DelimitedTextSource.
58188func (dts DelimitedTextSource) AsOdbcSource() (*OdbcSource, bool) {
58189	return nil, false
58190}
58191
58192// AsDb2Source is the BasicCopySource implementation for DelimitedTextSource.
58193func (dts DelimitedTextSource) AsDb2Source() (*Db2Source, bool) {
58194	return nil, false
58195}
58196
58197// AsMicrosoftAccessSource is the BasicCopySource implementation for DelimitedTextSource.
58198func (dts DelimitedTextSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) {
58199	return nil, false
58200}
58201
58202// AsInformixSource is the BasicCopySource implementation for DelimitedTextSource.
58203func (dts DelimitedTextSource) AsInformixSource() (*InformixSource, bool) {
58204	return nil, false
58205}
58206
58207// AsRelationalSource is the BasicCopySource implementation for DelimitedTextSource.
58208func (dts DelimitedTextSource) AsRelationalSource() (*RelationalSource, bool) {
58209	return nil, false
58210}
58211
58212// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for DelimitedTextSource.
58213func (dts DelimitedTextSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) {
58214	return nil, false
58215}
58216
58217// AsDynamicsCrmSource is the BasicCopySource implementation for DelimitedTextSource.
58218func (dts DelimitedTextSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) {
58219	return nil, false
58220}
58221
58222// AsDynamicsSource is the BasicCopySource implementation for DelimitedTextSource.
58223func (dts DelimitedTextSource) AsDynamicsSource() (*DynamicsSource, bool) {
58224	return nil, false
58225}
58226
58227// AsDocumentDbCollectionSource is the BasicCopySource implementation for DelimitedTextSource.
58228func (dts DelimitedTextSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
58229	return nil, false
58230}
58231
58232// AsBlobSource is the BasicCopySource implementation for DelimitedTextSource.
58233func (dts DelimitedTextSource) AsBlobSource() (*BlobSource, bool) {
58234	return nil, false
58235}
58236
58237// AsAzureTableSource is the BasicCopySource implementation for DelimitedTextSource.
58238func (dts DelimitedTextSource) AsAzureTableSource() (*AzureTableSource, bool) {
58239	return nil, false
58240}
58241
58242// AsBinarySource is the BasicCopySource implementation for DelimitedTextSource.
58243func (dts DelimitedTextSource) AsBinarySource() (*BinarySource, bool) {
58244	return nil, false
58245}
58246
58247// AsDelimitedTextSource is the BasicCopySource implementation for DelimitedTextSource.
58248func (dts DelimitedTextSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) {
58249	return &dts, true
58250}
58251
58252// AsParquetSource is the BasicCopySource implementation for DelimitedTextSource.
58253func (dts DelimitedTextSource) AsParquetSource() (*ParquetSource, bool) {
58254	return nil, false
58255}
58256
58257// AsCopySource is the BasicCopySource implementation for DelimitedTextSource.
58258func (dts DelimitedTextSource) AsCopySource() (*CopySource, bool) {
58259	return nil, false
58260}
58261
58262// AsBasicCopySource is the BasicCopySource implementation for DelimitedTextSource.
58263func (dts DelimitedTextSource) AsBasicCopySource() (BasicCopySource, bool) {
58264	return &dts, true
58265}
58266
58267// UnmarshalJSON is the custom unmarshaler for DelimitedTextSource struct.
58268func (dts *DelimitedTextSource) UnmarshalJSON(body []byte) error {
58269	var m map[string]*json.RawMessage
58270	err := json.Unmarshal(body, &m)
58271	if err != nil {
58272		return err
58273	}
58274	for k, v := range m {
58275		switch k {
58276		case "storeSettings":
58277			if v != nil {
58278				var storeSettings StoreReadSettings
58279				err = json.Unmarshal(*v, &storeSettings)
58280				if err != nil {
58281					return err
58282				}
58283				dts.StoreSettings = &storeSettings
58284			}
58285		case "formatSettings":
58286			if v != nil {
58287				var formatSettings DelimitedTextReadSettings
58288				err = json.Unmarshal(*v, &formatSettings)
58289				if err != nil {
58290					return err
58291				}
58292				dts.FormatSettings = &formatSettings
58293			}
58294		default:
58295			if v != nil {
58296				var additionalProperties interface{}
58297				err = json.Unmarshal(*v, &additionalProperties)
58298				if err != nil {
58299					return err
58300				}
58301				if dts.AdditionalProperties == nil {
58302					dts.AdditionalProperties = make(map[string]interface{})
58303				}
58304				dts.AdditionalProperties[k] = additionalProperties
58305			}
58306		case "sourceRetryCount":
58307			if v != nil {
58308				var sourceRetryCount interface{}
58309				err = json.Unmarshal(*v, &sourceRetryCount)
58310				if err != nil {
58311					return err
58312				}
58313				dts.SourceRetryCount = sourceRetryCount
58314			}
58315		case "sourceRetryWait":
58316			if v != nil {
58317				var sourceRetryWait interface{}
58318				err = json.Unmarshal(*v, &sourceRetryWait)
58319				if err != nil {
58320					return err
58321				}
58322				dts.SourceRetryWait = sourceRetryWait
58323			}
58324		case "maxConcurrentConnections":
58325			if v != nil {
58326				var maxConcurrentConnections interface{}
58327				err = json.Unmarshal(*v, &maxConcurrentConnections)
58328				if err != nil {
58329					return err
58330				}
58331				dts.MaxConcurrentConnections = maxConcurrentConnections
58332			}
58333		case "type":
58334			if v != nil {
58335				var typeVar TypeBasicCopySource
58336				err = json.Unmarshal(*v, &typeVar)
58337				if err != nil {
58338					return err
58339				}
58340				dts.Type = typeVar
58341			}
58342		}
58343	}
58344
58345	return nil
58346}
58347
58348// DelimitedTextWriteSettings delimited text write settings.
58349type DelimitedTextWriteSettings struct {
58350	// QuoteAllText - Indicates whether string values should always be enclosed with quotes. Type: boolean (or Expression with resultType boolean).
58351	QuoteAllText interface{} `json:"quoteAllText,omitempty"`
58352	// FileExtension - The file extension used to create the files. Type: string (or Expression with resultType string).
58353	FileExtension interface{} `json:"fileExtension,omitempty"`
58354	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
58355	AdditionalProperties map[string]interface{} `json:""`
58356	// Type - The write setting type.
58357	Type *string `json:"type,omitempty"`
58358}
58359
58360// MarshalJSON is the custom marshaler for DelimitedTextWriteSettings.
58361func (dtws DelimitedTextWriteSettings) MarshalJSON() ([]byte, error) {
58362	objectMap := make(map[string]interface{})
58363	if dtws.QuoteAllText != nil {
58364		objectMap["quoteAllText"] = dtws.QuoteAllText
58365	}
58366	if dtws.FileExtension != nil {
58367		objectMap["fileExtension"] = dtws.FileExtension
58368	}
58369	if dtws.Type != nil {
58370		objectMap["type"] = dtws.Type
58371	}
58372	for k, v := range dtws.AdditionalProperties {
58373		objectMap[k] = v
58374	}
58375	return json.Marshal(objectMap)
58376}
58377
58378// UnmarshalJSON is the custom unmarshaler for DelimitedTextWriteSettings struct.
58379func (dtws *DelimitedTextWriteSettings) UnmarshalJSON(body []byte) error {
58380	var m map[string]*json.RawMessage
58381	err := json.Unmarshal(body, &m)
58382	if err != nil {
58383		return err
58384	}
58385	for k, v := range m {
58386		switch k {
58387		case "quoteAllText":
58388			if v != nil {
58389				var quoteAllText interface{}
58390				err = json.Unmarshal(*v, &quoteAllText)
58391				if err != nil {
58392					return err
58393				}
58394				dtws.QuoteAllText = quoteAllText
58395			}
58396		case "fileExtension":
58397			if v != nil {
58398				var fileExtension interface{}
58399				err = json.Unmarshal(*v, &fileExtension)
58400				if err != nil {
58401					return err
58402				}
58403				dtws.FileExtension = fileExtension
58404			}
58405		default:
58406			if v != nil {
58407				var additionalProperties interface{}
58408				err = json.Unmarshal(*v, &additionalProperties)
58409				if err != nil {
58410					return err
58411				}
58412				if dtws.AdditionalProperties == nil {
58413					dtws.AdditionalProperties = make(map[string]interface{})
58414				}
58415				dtws.AdditionalProperties[k] = additionalProperties
58416			}
58417		case "type":
58418			if v != nil {
58419				var typeVar string
58420				err = json.Unmarshal(*v, &typeVar)
58421				if err != nil {
58422					return err
58423				}
58424				dtws.Type = &typeVar
58425			}
58426		}
58427	}
58428
58429	return nil
58430}
58431
58432// BasicDependencyReference referenced dependency.
58433type BasicDependencyReference interface {
58434	AsSelfDependencyTumblingWindowTriggerReference() (*SelfDependencyTumblingWindowTriggerReference, bool)
58435	AsTumblingWindowTriggerDependencyReference() (*TumblingWindowTriggerDependencyReference, bool)
58436	AsTriggerDependencyReference() (*TriggerDependencyReference, bool)
58437	AsBasicTriggerDependencyReference() (BasicTriggerDependencyReference, bool)
58438	AsDependencyReference() (*DependencyReference, bool)
58439}
58440
58441// DependencyReference referenced dependency.
58442type DependencyReference struct {
58443	// Type - Possible values include: 'TypeDependencyReference', 'TypeSelfDependencyTumblingWindowTriggerReference', 'TypeTumblingWindowTriggerDependencyReference', 'TypeTriggerDependencyReference'
58444	Type TypeBasicDependencyReference `json:"type,omitempty"`
58445}
58446
58447func unmarshalBasicDependencyReference(body []byte) (BasicDependencyReference, error) {
58448	var m map[string]interface{}
58449	err := json.Unmarshal(body, &m)
58450	if err != nil {
58451		return nil, err
58452	}
58453
58454	switch m["type"] {
58455	case string(TypeSelfDependencyTumblingWindowTriggerReference):
58456		var sdtwtr SelfDependencyTumblingWindowTriggerReference
58457		err := json.Unmarshal(body, &sdtwtr)
58458		return sdtwtr, err
58459	case string(TypeTumblingWindowTriggerDependencyReference):
58460		var twtdr TumblingWindowTriggerDependencyReference
58461		err := json.Unmarshal(body, &twtdr)
58462		return twtdr, err
58463	case string(TypeTriggerDependencyReference):
58464		var tdr TriggerDependencyReference
58465		err := json.Unmarshal(body, &tdr)
58466		return tdr, err
58467	default:
58468		var dr DependencyReference
58469		err := json.Unmarshal(body, &dr)
58470		return dr, err
58471	}
58472}
58473func unmarshalBasicDependencyReferenceArray(body []byte) ([]BasicDependencyReference, error) {
58474	var rawMessages []*json.RawMessage
58475	err := json.Unmarshal(body, &rawMessages)
58476	if err != nil {
58477		return nil, err
58478	}
58479
58480	drArray := make([]BasicDependencyReference, len(rawMessages))
58481
58482	for index, rawMessage := range rawMessages {
58483		dr, err := unmarshalBasicDependencyReference(*rawMessage)
58484		if err != nil {
58485			return nil, err
58486		}
58487		drArray[index] = dr
58488	}
58489	return drArray, nil
58490}
58491
58492// MarshalJSON is the custom marshaler for DependencyReference.
58493func (dr DependencyReference) MarshalJSON() ([]byte, error) {
58494	dr.Type = TypeDependencyReference
58495	objectMap := make(map[string]interface{})
58496	if dr.Type != "" {
58497		objectMap["type"] = dr.Type
58498	}
58499	return json.Marshal(objectMap)
58500}
58501
58502// AsSelfDependencyTumblingWindowTriggerReference is the BasicDependencyReference implementation for DependencyReference.
58503func (dr DependencyReference) AsSelfDependencyTumblingWindowTriggerReference() (*SelfDependencyTumblingWindowTriggerReference, bool) {
58504	return nil, false
58505}
58506
58507// AsTumblingWindowTriggerDependencyReference is the BasicDependencyReference implementation for DependencyReference.
58508func (dr DependencyReference) AsTumblingWindowTriggerDependencyReference() (*TumblingWindowTriggerDependencyReference, bool) {
58509	return nil, false
58510}
58511
58512// AsTriggerDependencyReference is the BasicDependencyReference implementation for DependencyReference.
58513func (dr DependencyReference) AsTriggerDependencyReference() (*TriggerDependencyReference, bool) {
58514	return nil, false
58515}
58516
58517// AsBasicTriggerDependencyReference is the BasicDependencyReference implementation for DependencyReference.
58518func (dr DependencyReference) AsBasicTriggerDependencyReference() (BasicTriggerDependencyReference, bool) {
58519	return nil, false
58520}
58521
58522// AsDependencyReference is the BasicDependencyReference implementation for DependencyReference.
58523func (dr DependencyReference) AsDependencyReference() (*DependencyReference, bool) {
58524	return &dr, true
58525}
58526
58527// AsBasicDependencyReference is the BasicDependencyReference implementation for DependencyReference.
58528func (dr DependencyReference) AsBasicDependencyReference() (BasicDependencyReference, bool) {
58529	return &dr, true
58530}
58531
58532// DistcpSettings distcp settings.
58533type DistcpSettings struct {
58534	// ResourceManagerEndpoint - Specifies the Yarn ResourceManager endpoint. Type: string (or Expression with resultType string).
58535	ResourceManagerEndpoint interface{} `json:"resourceManagerEndpoint,omitempty"`
58536	// 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).
58537	TempScriptPath interface{} `json:"tempScriptPath,omitempty"`
58538	// DistcpOptions - Specifies the Distcp options. Type: string (or Expression with resultType string).
58539	DistcpOptions interface{} `json:"distcpOptions,omitempty"`
58540}
58541
58542// DocumentDbCollectionDataset microsoft Azure Document Database Collection dataset.
58543type DocumentDbCollectionDataset struct {
58544	// DocumentDbCollectionDatasetTypeProperties - DocumentDB Collection dataset properties.
58545	*DocumentDbCollectionDatasetTypeProperties `json:"typeProperties,omitempty"`
58546	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
58547	AdditionalProperties map[string]interface{} `json:""`
58548	// Description - Dataset description.
58549	Description *string `json:"description,omitempty"`
58550	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
58551	Structure interface{} `json:"structure,omitempty"`
58552	// Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement.
58553	Schema interface{} `json:"schema,omitempty"`
58554	// LinkedServiceName - Linked service reference.
58555	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
58556	// Parameters - Parameters for dataset.
58557	Parameters map[string]*ParameterSpecification `json:"parameters"`
58558	// Annotations - List of tags that can be used for describing the Dataset.
58559	Annotations *[]interface{} `json:"annotations,omitempty"`
58560	// Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level.
58561	Folder *DatasetFolder `json:"folder,omitempty"`
58562	// Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', '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', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeDelimitedText', 'TypeParquet', 'TypeAmazonS3Object'
58563	Type TypeBasicDataset `json:"type,omitempty"`
58564}
58565
58566// MarshalJSON is the custom marshaler for DocumentDbCollectionDataset.
58567func (ddcd DocumentDbCollectionDataset) MarshalJSON() ([]byte, error) {
58568	ddcd.Type = TypeDocumentDbCollection
58569	objectMap := make(map[string]interface{})
58570	if ddcd.DocumentDbCollectionDatasetTypeProperties != nil {
58571		objectMap["typeProperties"] = ddcd.DocumentDbCollectionDatasetTypeProperties
58572	}
58573	if ddcd.Description != nil {
58574		objectMap["description"] = ddcd.Description
58575	}
58576	if ddcd.Structure != nil {
58577		objectMap["structure"] = ddcd.Structure
58578	}
58579	if ddcd.Schema != nil {
58580		objectMap["schema"] = ddcd.Schema
58581	}
58582	if ddcd.LinkedServiceName != nil {
58583		objectMap["linkedServiceName"] = ddcd.LinkedServiceName
58584	}
58585	if ddcd.Parameters != nil {
58586		objectMap["parameters"] = ddcd.Parameters
58587	}
58588	if ddcd.Annotations != nil {
58589		objectMap["annotations"] = ddcd.Annotations
58590	}
58591	if ddcd.Folder != nil {
58592		objectMap["folder"] = ddcd.Folder
58593	}
58594	if ddcd.Type != "" {
58595		objectMap["type"] = ddcd.Type
58596	}
58597	for k, v := range ddcd.AdditionalProperties {
58598		objectMap[k] = v
58599	}
58600	return json.Marshal(objectMap)
58601}
58602
58603// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
58604func (ddcd DocumentDbCollectionDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) {
58605	return nil, false
58606}
58607
58608// AsAzureDataExplorerTableDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
58609func (ddcd DocumentDbCollectionDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) {
58610	return nil, false
58611}
58612
58613// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
58614func (ddcd DocumentDbCollectionDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) {
58615	return nil, false
58616}
58617
58618// AsDynamicsAXResourceDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
58619func (ddcd DocumentDbCollectionDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) {
58620	return nil, false
58621}
58622
58623// AsResponsysObjectDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
58624func (ddcd DocumentDbCollectionDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
58625	return nil, false
58626}
58627
58628// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
58629func (ddcd DocumentDbCollectionDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
58630	return nil, false
58631}
58632
58633// AsVerticaTableDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
58634func (ddcd DocumentDbCollectionDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
58635	return nil, false
58636}
58637
58638// AsNetezzaTableDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
58639func (ddcd DocumentDbCollectionDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
58640	return nil, false
58641}
58642
58643// AsZohoObjectDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
58644func (ddcd DocumentDbCollectionDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
58645	return nil, false
58646}
58647
58648// AsXeroObjectDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
58649func (ddcd DocumentDbCollectionDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
58650	return nil, false
58651}
58652
58653// AsSquareObjectDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
58654func (ddcd DocumentDbCollectionDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
58655	return nil, false
58656}
58657
58658// AsSparkObjectDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
58659func (ddcd DocumentDbCollectionDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
58660	return nil, false
58661}
58662
58663// AsShopifyObjectDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
58664func (ddcd DocumentDbCollectionDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
58665	return nil, false
58666}
58667
58668// AsServiceNowObjectDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
58669func (ddcd DocumentDbCollectionDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
58670	return nil, false
58671}
58672
58673// AsQuickBooksObjectDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
58674func (ddcd DocumentDbCollectionDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
58675	return nil, false
58676}
58677
58678// AsPrestoObjectDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
58679func (ddcd DocumentDbCollectionDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
58680	return nil, false
58681}
58682
58683// AsPhoenixObjectDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
58684func (ddcd DocumentDbCollectionDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
58685	return nil, false
58686}
58687
58688// AsPaypalObjectDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
58689func (ddcd DocumentDbCollectionDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
58690	return nil, false
58691}
58692
58693// AsMarketoObjectDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
58694func (ddcd DocumentDbCollectionDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
58695	return nil, false
58696}
58697
58698// AsMariaDBTableDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
58699func (ddcd DocumentDbCollectionDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
58700	return nil, false
58701}
58702
58703// AsMagentoObjectDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
58704func (ddcd DocumentDbCollectionDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
58705	return nil, false
58706}
58707
58708// AsJiraObjectDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
58709func (ddcd DocumentDbCollectionDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
58710	return nil, false
58711}
58712
58713// AsImpalaObjectDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
58714func (ddcd DocumentDbCollectionDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
58715	return nil, false
58716}
58717
58718// AsHubspotObjectDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
58719func (ddcd DocumentDbCollectionDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
58720	return nil, false
58721}
58722
58723// AsHiveObjectDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
58724func (ddcd DocumentDbCollectionDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
58725	return nil, false
58726}
58727
58728// AsHBaseObjectDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
58729func (ddcd DocumentDbCollectionDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
58730	return nil, false
58731}
58732
58733// AsGreenplumTableDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
58734func (ddcd DocumentDbCollectionDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
58735	return nil, false
58736}
58737
58738// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
58739func (ddcd DocumentDbCollectionDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
58740	return nil, false
58741}
58742
58743// AsEloquaObjectDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
58744func (ddcd DocumentDbCollectionDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
58745	return nil, false
58746}
58747
58748// AsDrillTableDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
58749func (ddcd DocumentDbCollectionDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
58750	return nil, false
58751}
58752
58753// AsCouchbaseTableDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
58754func (ddcd DocumentDbCollectionDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
58755	return nil, false
58756}
58757
58758// AsConcurObjectDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
58759func (ddcd DocumentDbCollectionDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
58760	return nil, false
58761}
58762
58763// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
58764func (ddcd DocumentDbCollectionDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
58765	return nil, false
58766}
58767
58768// AsAmazonMWSObjectDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
58769func (ddcd DocumentDbCollectionDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
58770	return nil, false
58771}
58772
58773// AsHTTPDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
58774func (ddcd DocumentDbCollectionDataset) AsHTTPDataset() (*HTTPDataset, bool) {
58775	return nil, false
58776}
58777
58778// AsAzureSearchIndexDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
58779func (ddcd DocumentDbCollectionDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
58780	return nil, false
58781}
58782
58783// AsWebTableDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
58784func (ddcd DocumentDbCollectionDataset) AsWebTableDataset() (*WebTableDataset, bool) {
58785	return nil, false
58786}
58787
58788// AsSapTableResourceDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
58789func (ddcd DocumentDbCollectionDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) {
58790	return nil, false
58791}
58792
58793// AsRestResourceDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
58794func (ddcd DocumentDbCollectionDataset) AsRestResourceDataset() (*RestResourceDataset, bool) {
58795	return nil, false
58796}
58797
58798// AsSQLServerTableDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
58799func (ddcd DocumentDbCollectionDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
58800	return nil, false
58801}
58802
58803// AsSapOpenHubTableDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
58804func (ddcd DocumentDbCollectionDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) {
58805	return nil, false
58806}
58807
58808// AsSapHanaTableDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
58809func (ddcd DocumentDbCollectionDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) {
58810	return nil, false
58811}
58812
58813// AsSapEccResourceDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
58814func (ddcd DocumentDbCollectionDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
58815	return nil, false
58816}
58817
58818// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
58819func (ddcd DocumentDbCollectionDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
58820	return nil, false
58821}
58822
58823// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
58824func (ddcd DocumentDbCollectionDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) {
58825	return nil, false
58826}
58827
58828// AsSalesforceObjectDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
58829func (ddcd DocumentDbCollectionDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
58830	return nil, false
58831}
58832
58833// AsMicrosoftAccessTableDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
58834func (ddcd DocumentDbCollectionDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) {
58835	return nil, false
58836}
58837
58838// AsPostgreSQLTableDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
58839func (ddcd DocumentDbCollectionDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) {
58840	return nil, false
58841}
58842
58843// AsMySQLTableDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
58844func (ddcd DocumentDbCollectionDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) {
58845	return nil, false
58846}
58847
58848// AsOdbcTableDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
58849func (ddcd DocumentDbCollectionDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) {
58850	return nil, false
58851}
58852
58853// AsInformixTableDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
58854func (ddcd DocumentDbCollectionDataset) AsInformixTableDataset() (*InformixTableDataset, bool) {
58855	return nil, false
58856}
58857
58858// AsRelationalTableDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
58859func (ddcd DocumentDbCollectionDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
58860	return nil, false
58861}
58862
58863// AsAzureMySQLTableDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
58864func (ddcd DocumentDbCollectionDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
58865	return nil, false
58866}
58867
58868// AsTeradataTableDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
58869func (ddcd DocumentDbCollectionDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) {
58870	return nil, false
58871}
58872
58873// AsOracleTableDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
58874func (ddcd DocumentDbCollectionDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
58875	return nil, false
58876}
58877
58878// AsODataResourceDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
58879func (ddcd DocumentDbCollectionDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
58880	return nil, false
58881}
58882
58883// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
58884func (ddcd DocumentDbCollectionDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) {
58885	return nil, false
58886}
58887
58888// AsMongoDbV2CollectionDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
58889func (ddcd DocumentDbCollectionDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) {
58890	return nil, false
58891}
58892
58893// AsMongoDbCollectionDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
58894func (ddcd DocumentDbCollectionDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
58895	return nil, false
58896}
58897
58898// AsFileShareDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
58899func (ddcd DocumentDbCollectionDataset) AsFileShareDataset() (*FileShareDataset, bool) {
58900	return nil, false
58901}
58902
58903// AsOffice365Dataset is the BasicDataset implementation for DocumentDbCollectionDataset.
58904func (ddcd DocumentDbCollectionDataset) AsOffice365Dataset() (*Office365Dataset, bool) {
58905	return nil, false
58906}
58907
58908// AsAzureBlobFSDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
58909func (ddcd DocumentDbCollectionDataset) AsAzureBlobFSDataset() (*AzureBlobFSDataset, bool) {
58910	return nil, false
58911}
58912
58913// AsAzureDataLakeStoreDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
58914func (ddcd DocumentDbCollectionDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) {
58915	return nil, false
58916}
58917
58918// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
58919func (ddcd DocumentDbCollectionDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) {
58920	return nil, false
58921}
58922
58923// AsDynamicsCrmEntityDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
58924func (ddcd DocumentDbCollectionDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) {
58925	return nil, false
58926}
58927
58928// AsDynamicsEntityDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
58929func (ddcd DocumentDbCollectionDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
58930	return nil, false
58931}
58932
58933// AsDocumentDbCollectionDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
58934func (ddcd DocumentDbCollectionDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
58935	return &ddcd, true
58936}
58937
58938// AsCustomDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
58939func (ddcd DocumentDbCollectionDataset) AsCustomDataset() (*CustomDataset, bool) {
58940	return nil, false
58941}
58942
58943// AsCassandraTableDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
58944func (ddcd DocumentDbCollectionDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
58945	return nil, false
58946}
58947
58948// AsAzureSQLDWTableDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
58949func (ddcd DocumentDbCollectionDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
58950	return nil, false
58951}
58952
58953// AsAzureSQLMITableDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
58954func (ddcd DocumentDbCollectionDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) {
58955	return nil, false
58956}
58957
58958// AsAzureSQLTableDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
58959func (ddcd DocumentDbCollectionDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
58960	return nil, false
58961}
58962
58963// AsAzureTableDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
58964func (ddcd DocumentDbCollectionDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
58965	return nil, false
58966}
58967
58968// AsAzureBlobDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
58969func (ddcd DocumentDbCollectionDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) {
58970	return nil, false
58971}
58972
58973// AsBinaryDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
58974func (ddcd DocumentDbCollectionDataset) AsBinaryDataset() (*BinaryDataset, bool) {
58975	return nil, false
58976}
58977
58978// AsDelimitedTextDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
58979func (ddcd DocumentDbCollectionDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) {
58980	return nil, false
58981}
58982
58983// AsParquetDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
58984func (ddcd DocumentDbCollectionDataset) AsParquetDataset() (*ParquetDataset, bool) {
58985	return nil, false
58986}
58987
58988// AsAmazonS3Dataset is the BasicDataset implementation for DocumentDbCollectionDataset.
58989func (ddcd DocumentDbCollectionDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) {
58990	return nil, false
58991}
58992
58993// AsDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
58994func (ddcd DocumentDbCollectionDataset) AsDataset() (*Dataset, bool) {
58995	return nil, false
58996}
58997
58998// AsBasicDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
58999func (ddcd DocumentDbCollectionDataset) AsBasicDataset() (BasicDataset, bool) {
59000	return &ddcd, true
59001}
59002
59003// UnmarshalJSON is the custom unmarshaler for DocumentDbCollectionDataset struct.
59004func (ddcd *DocumentDbCollectionDataset) UnmarshalJSON(body []byte) error {
59005	var m map[string]*json.RawMessage
59006	err := json.Unmarshal(body, &m)
59007	if err != nil {
59008		return err
59009	}
59010	for k, v := range m {
59011		switch k {
59012		case "typeProperties":
59013			if v != nil {
59014				var documentDbCollectionDatasetTypeProperties DocumentDbCollectionDatasetTypeProperties
59015				err = json.Unmarshal(*v, &documentDbCollectionDatasetTypeProperties)
59016				if err != nil {
59017					return err
59018				}
59019				ddcd.DocumentDbCollectionDatasetTypeProperties = &documentDbCollectionDatasetTypeProperties
59020			}
59021		default:
59022			if v != nil {
59023				var additionalProperties interface{}
59024				err = json.Unmarshal(*v, &additionalProperties)
59025				if err != nil {
59026					return err
59027				}
59028				if ddcd.AdditionalProperties == nil {
59029					ddcd.AdditionalProperties = make(map[string]interface{})
59030				}
59031				ddcd.AdditionalProperties[k] = additionalProperties
59032			}
59033		case "description":
59034			if v != nil {
59035				var description string
59036				err = json.Unmarshal(*v, &description)
59037				if err != nil {
59038					return err
59039				}
59040				ddcd.Description = &description
59041			}
59042		case "structure":
59043			if v != nil {
59044				var structure interface{}
59045				err = json.Unmarshal(*v, &structure)
59046				if err != nil {
59047					return err
59048				}
59049				ddcd.Structure = structure
59050			}
59051		case "schema":
59052			if v != nil {
59053				var schema interface{}
59054				err = json.Unmarshal(*v, &schema)
59055				if err != nil {
59056					return err
59057				}
59058				ddcd.Schema = schema
59059			}
59060		case "linkedServiceName":
59061			if v != nil {
59062				var linkedServiceName LinkedServiceReference
59063				err = json.Unmarshal(*v, &linkedServiceName)
59064				if err != nil {
59065					return err
59066				}
59067				ddcd.LinkedServiceName = &linkedServiceName
59068			}
59069		case "parameters":
59070			if v != nil {
59071				var parameters map[string]*ParameterSpecification
59072				err = json.Unmarshal(*v, &parameters)
59073				if err != nil {
59074					return err
59075				}
59076				ddcd.Parameters = parameters
59077			}
59078		case "annotations":
59079			if v != nil {
59080				var annotations []interface{}
59081				err = json.Unmarshal(*v, &annotations)
59082				if err != nil {
59083					return err
59084				}
59085				ddcd.Annotations = &annotations
59086			}
59087		case "folder":
59088			if v != nil {
59089				var folder DatasetFolder
59090				err = json.Unmarshal(*v, &folder)
59091				if err != nil {
59092					return err
59093				}
59094				ddcd.Folder = &folder
59095			}
59096		case "type":
59097			if v != nil {
59098				var typeVar TypeBasicDataset
59099				err = json.Unmarshal(*v, &typeVar)
59100				if err != nil {
59101					return err
59102				}
59103				ddcd.Type = typeVar
59104			}
59105		}
59106	}
59107
59108	return nil
59109}
59110
59111// DocumentDbCollectionDatasetTypeProperties documentDB Collection dataset properties.
59112type DocumentDbCollectionDatasetTypeProperties struct {
59113	// CollectionName - Document Database collection name. Type: string (or Expression with resultType string).
59114	CollectionName interface{} `json:"collectionName,omitempty"`
59115}
59116
59117// DocumentDbCollectionSink a copy activity Document Database Collection sink.
59118type DocumentDbCollectionSink struct {
59119	// NestingSeparator - Nested properties separator. Default is . (dot). Type: string (or Expression with resultType string).
59120	NestingSeparator interface{} `json:"nestingSeparator,omitempty"`
59121	// WriteBehavior - Describes how to write data to Azure Cosmos DB. Allowed values: insert and upsert.
59122	WriteBehavior interface{} `json:"writeBehavior,omitempty"`
59123	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
59124	AdditionalProperties map[string]interface{} `json:""`
59125	// WriteBatchSize - Write batch size. Type: integer (or Expression with resultType integer), minimum: 0.
59126	WriteBatchSize interface{} `json:"writeBatchSize,omitempty"`
59127	// 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])).
59128	WriteBatchTimeout interface{} `json:"writeBatchTimeout,omitempty"`
59129	// SinkRetryCount - Sink retry count. Type: integer (or Expression with resultType integer).
59130	SinkRetryCount interface{} `json:"sinkRetryCount,omitempty"`
59131	// 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])).
59132	SinkRetryWait interface{} `json:"sinkRetryWait,omitempty"`
59133	// MaxConcurrentConnections - The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer).
59134	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
59135	// Type - Possible values include: 'TypeCopySink', 'TypeCosmosDbMongoDbAPISink', 'TypeSalesforceServiceCloudSink', 'TypeSalesforceSink', 'TypeAzureDataExplorerSink', 'TypeCommonDataServiceForAppsSink', 'TypeDynamicsCrmSink', 'TypeDynamicsSink', 'TypeMicrosoftAccessSink', 'TypeInformixSink', 'TypeOdbcSink', 'TypeAzureSearchIndexSink', 'TypeAzureBlobFSSink', 'TypeAzureDataLakeStoreSink', 'TypeOracleSink', 'TypeSQLDWSink', 'TypeSQLMISink', 'TypeAzureSQLSink', 'TypeSQLServerSink', 'TypeSQLSink', 'TypeDocumentDbCollectionSink', 'TypeFileSystemSink', 'TypeBlobSink', 'TypeBinarySink', 'TypeParquetSink', 'TypeAzureTableSink', 'TypeAzureQueueSink', 'TypeSapCloudForCustomerSink', 'TypeAzurePostgreSQLSink', 'TypeDelimitedTextSink'
59136	Type TypeBasicCopySink `json:"type,omitempty"`
59137}
59138
59139// MarshalJSON is the custom marshaler for DocumentDbCollectionSink.
59140func (ddcs DocumentDbCollectionSink) MarshalJSON() ([]byte, error) {
59141	ddcs.Type = TypeDocumentDbCollectionSink
59142	objectMap := make(map[string]interface{})
59143	if ddcs.NestingSeparator != nil {
59144		objectMap["nestingSeparator"] = ddcs.NestingSeparator
59145	}
59146	if ddcs.WriteBehavior != nil {
59147		objectMap["writeBehavior"] = ddcs.WriteBehavior
59148	}
59149	if ddcs.WriteBatchSize != nil {
59150		objectMap["writeBatchSize"] = ddcs.WriteBatchSize
59151	}
59152	if ddcs.WriteBatchTimeout != nil {
59153		objectMap["writeBatchTimeout"] = ddcs.WriteBatchTimeout
59154	}
59155	if ddcs.SinkRetryCount != nil {
59156		objectMap["sinkRetryCount"] = ddcs.SinkRetryCount
59157	}
59158	if ddcs.SinkRetryWait != nil {
59159		objectMap["sinkRetryWait"] = ddcs.SinkRetryWait
59160	}
59161	if ddcs.MaxConcurrentConnections != nil {
59162		objectMap["maxConcurrentConnections"] = ddcs.MaxConcurrentConnections
59163	}
59164	if ddcs.Type != "" {
59165		objectMap["type"] = ddcs.Type
59166	}
59167	for k, v := range ddcs.AdditionalProperties {
59168		objectMap[k] = v
59169	}
59170	return json.Marshal(objectMap)
59171}
59172
59173// AsCosmosDbMongoDbAPISink is the BasicCopySink implementation for DocumentDbCollectionSink.
59174func (ddcs DocumentDbCollectionSink) AsCosmosDbMongoDbAPISink() (*CosmosDbMongoDbAPISink, bool) {
59175	return nil, false
59176}
59177
59178// AsSalesforceServiceCloudSink is the BasicCopySink implementation for DocumentDbCollectionSink.
59179func (ddcs DocumentDbCollectionSink) AsSalesforceServiceCloudSink() (*SalesforceServiceCloudSink, bool) {
59180	return nil, false
59181}
59182
59183// AsSalesforceSink is the BasicCopySink implementation for DocumentDbCollectionSink.
59184func (ddcs DocumentDbCollectionSink) AsSalesforceSink() (*SalesforceSink, bool) {
59185	return nil, false
59186}
59187
59188// AsAzureDataExplorerSink is the BasicCopySink implementation for DocumentDbCollectionSink.
59189func (ddcs DocumentDbCollectionSink) AsAzureDataExplorerSink() (*AzureDataExplorerSink, bool) {
59190	return nil, false
59191}
59192
59193// AsCommonDataServiceForAppsSink is the BasicCopySink implementation for DocumentDbCollectionSink.
59194func (ddcs DocumentDbCollectionSink) AsCommonDataServiceForAppsSink() (*CommonDataServiceForAppsSink, bool) {
59195	return nil, false
59196}
59197
59198// AsDynamicsCrmSink is the BasicCopySink implementation for DocumentDbCollectionSink.
59199func (ddcs DocumentDbCollectionSink) AsDynamicsCrmSink() (*DynamicsCrmSink, bool) {
59200	return nil, false
59201}
59202
59203// AsDynamicsSink is the BasicCopySink implementation for DocumentDbCollectionSink.
59204func (ddcs DocumentDbCollectionSink) AsDynamicsSink() (*DynamicsSink, bool) {
59205	return nil, false
59206}
59207
59208// AsMicrosoftAccessSink is the BasicCopySink implementation for DocumentDbCollectionSink.
59209func (ddcs DocumentDbCollectionSink) AsMicrosoftAccessSink() (*MicrosoftAccessSink, bool) {
59210	return nil, false
59211}
59212
59213// AsInformixSink is the BasicCopySink implementation for DocumentDbCollectionSink.
59214func (ddcs DocumentDbCollectionSink) AsInformixSink() (*InformixSink, bool) {
59215	return nil, false
59216}
59217
59218// AsOdbcSink is the BasicCopySink implementation for DocumentDbCollectionSink.
59219func (ddcs DocumentDbCollectionSink) AsOdbcSink() (*OdbcSink, bool) {
59220	return nil, false
59221}
59222
59223// AsAzureSearchIndexSink is the BasicCopySink implementation for DocumentDbCollectionSink.
59224func (ddcs DocumentDbCollectionSink) AsAzureSearchIndexSink() (*AzureSearchIndexSink, bool) {
59225	return nil, false
59226}
59227
59228// AsAzureBlobFSSink is the BasicCopySink implementation for DocumentDbCollectionSink.
59229func (ddcs DocumentDbCollectionSink) AsAzureBlobFSSink() (*AzureBlobFSSink, bool) {
59230	return nil, false
59231}
59232
59233// AsAzureDataLakeStoreSink is the BasicCopySink implementation for DocumentDbCollectionSink.
59234func (ddcs DocumentDbCollectionSink) AsAzureDataLakeStoreSink() (*AzureDataLakeStoreSink, bool) {
59235	return nil, false
59236}
59237
59238// AsOracleSink is the BasicCopySink implementation for DocumentDbCollectionSink.
59239func (ddcs DocumentDbCollectionSink) AsOracleSink() (*OracleSink, bool) {
59240	return nil, false
59241}
59242
59243// AsSQLDWSink is the BasicCopySink implementation for DocumentDbCollectionSink.
59244func (ddcs DocumentDbCollectionSink) AsSQLDWSink() (*SQLDWSink, bool) {
59245	return nil, false
59246}
59247
59248// AsSQLMISink is the BasicCopySink implementation for DocumentDbCollectionSink.
59249func (ddcs DocumentDbCollectionSink) AsSQLMISink() (*SQLMISink, bool) {
59250	return nil, false
59251}
59252
59253// AsAzureSQLSink is the BasicCopySink implementation for DocumentDbCollectionSink.
59254func (ddcs DocumentDbCollectionSink) AsAzureSQLSink() (*AzureSQLSink, bool) {
59255	return nil, false
59256}
59257
59258// AsSQLServerSink is the BasicCopySink implementation for DocumentDbCollectionSink.
59259func (ddcs DocumentDbCollectionSink) AsSQLServerSink() (*SQLServerSink, bool) {
59260	return nil, false
59261}
59262
59263// AsSQLSink is the BasicCopySink implementation for DocumentDbCollectionSink.
59264func (ddcs DocumentDbCollectionSink) AsSQLSink() (*SQLSink, bool) {
59265	return nil, false
59266}
59267
59268// AsDocumentDbCollectionSink is the BasicCopySink implementation for DocumentDbCollectionSink.
59269func (ddcs DocumentDbCollectionSink) AsDocumentDbCollectionSink() (*DocumentDbCollectionSink, bool) {
59270	return &ddcs, true
59271}
59272
59273// AsFileSystemSink is the BasicCopySink implementation for DocumentDbCollectionSink.
59274func (ddcs DocumentDbCollectionSink) AsFileSystemSink() (*FileSystemSink, bool) {
59275	return nil, false
59276}
59277
59278// AsBlobSink is the BasicCopySink implementation for DocumentDbCollectionSink.
59279func (ddcs DocumentDbCollectionSink) AsBlobSink() (*BlobSink, bool) {
59280	return nil, false
59281}
59282
59283// AsBinarySink is the BasicCopySink implementation for DocumentDbCollectionSink.
59284func (ddcs DocumentDbCollectionSink) AsBinarySink() (*BinarySink, bool) {
59285	return nil, false
59286}
59287
59288// AsParquetSink is the BasicCopySink implementation for DocumentDbCollectionSink.
59289func (ddcs DocumentDbCollectionSink) AsParquetSink() (*ParquetSink, bool) {
59290	return nil, false
59291}
59292
59293// AsAzureTableSink is the BasicCopySink implementation for DocumentDbCollectionSink.
59294func (ddcs DocumentDbCollectionSink) AsAzureTableSink() (*AzureTableSink, bool) {
59295	return nil, false
59296}
59297
59298// AsAzureQueueSink is the BasicCopySink implementation for DocumentDbCollectionSink.
59299func (ddcs DocumentDbCollectionSink) AsAzureQueueSink() (*AzureQueueSink, bool) {
59300	return nil, false
59301}
59302
59303// AsSapCloudForCustomerSink is the BasicCopySink implementation for DocumentDbCollectionSink.
59304func (ddcs DocumentDbCollectionSink) AsSapCloudForCustomerSink() (*SapCloudForCustomerSink, bool) {
59305	return nil, false
59306}
59307
59308// AsAzurePostgreSQLSink is the BasicCopySink implementation for DocumentDbCollectionSink.
59309func (ddcs DocumentDbCollectionSink) AsAzurePostgreSQLSink() (*AzurePostgreSQLSink, bool) {
59310	return nil, false
59311}
59312
59313// AsDelimitedTextSink is the BasicCopySink implementation for DocumentDbCollectionSink.
59314func (ddcs DocumentDbCollectionSink) AsDelimitedTextSink() (*DelimitedTextSink, bool) {
59315	return nil, false
59316}
59317
59318// AsCopySink is the BasicCopySink implementation for DocumentDbCollectionSink.
59319func (ddcs DocumentDbCollectionSink) AsCopySink() (*CopySink, bool) {
59320	return nil, false
59321}
59322
59323// AsBasicCopySink is the BasicCopySink implementation for DocumentDbCollectionSink.
59324func (ddcs DocumentDbCollectionSink) AsBasicCopySink() (BasicCopySink, bool) {
59325	return &ddcs, true
59326}
59327
59328// UnmarshalJSON is the custom unmarshaler for DocumentDbCollectionSink struct.
59329func (ddcs *DocumentDbCollectionSink) UnmarshalJSON(body []byte) error {
59330	var m map[string]*json.RawMessage
59331	err := json.Unmarshal(body, &m)
59332	if err != nil {
59333		return err
59334	}
59335	for k, v := range m {
59336		switch k {
59337		case "nestingSeparator":
59338			if v != nil {
59339				var nestingSeparator interface{}
59340				err = json.Unmarshal(*v, &nestingSeparator)
59341				if err != nil {
59342					return err
59343				}
59344				ddcs.NestingSeparator = nestingSeparator
59345			}
59346		case "writeBehavior":
59347			if v != nil {
59348				var writeBehavior interface{}
59349				err = json.Unmarshal(*v, &writeBehavior)
59350				if err != nil {
59351					return err
59352				}
59353				ddcs.WriteBehavior = writeBehavior
59354			}
59355		default:
59356			if v != nil {
59357				var additionalProperties interface{}
59358				err = json.Unmarshal(*v, &additionalProperties)
59359				if err != nil {
59360					return err
59361				}
59362				if ddcs.AdditionalProperties == nil {
59363					ddcs.AdditionalProperties = make(map[string]interface{})
59364				}
59365				ddcs.AdditionalProperties[k] = additionalProperties
59366			}
59367		case "writeBatchSize":
59368			if v != nil {
59369				var writeBatchSize interface{}
59370				err = json.Unmarshal(*v, &writeBatchSize)
59371				if err != nil {
59372					return err
59373				}
59374				ddcs.WriteBatchSize = writeBatchSize
59375			}
59376		case "writeBatchTimeout":
59377			if v != nil {
59378				var writeBatchTimeout interface{}
59379				err = json.Unmarshal(*v, &writeBatchTimeout)
59380				if err != nil {
59381					return err
59382				}
59383				ddcs.WriteBatchTimeout = writeBatchTimeout
59384			}
59385		case "sinkRetryCount":
59386			if v != nil {
59387				var sinkRetryCount interface{}
59388				err = json.Unmarshal(*v, &sinkRetryCount)
59389				if err != nil {
59390					return err
59391				}
59392				ddcs.SinkRetryCount = sinkRetryCount
59393			}
59394		case "sinkRetryWait":
59395			if v != nil {
59396				var sinkRetryWait interface{}
59397				err = json.Unmarshal(*v, &sinkRetryWait)
59398				if err != nil {
59399					return err
59400				}
59401				ddcs.SinkRetryWait = sinkRetryWait
59402			}
59403		case "maxConcurrentConnections":
59404			if v != nil {
59405				var maxConcurrentConnections interface{}
59406				err = json.Unmarshal(*v, &maxConcurrentConnections)
59407				if err != nil {
59408					return err
59409				}
59410				ddcs.MaxConcurrentConnections = maxConcurrentConnections
59411			}
59412		case "type":
59413			if v != nil {
59414				var typeVar TypeBasicCopySink
59415				err = json.Unmarshal(*v, &typeVar)
59416				if err != nil {
59417					return err
59418				}
59419				ddcs.Type = typeVar
59420			}
59421		}
59422	}
59423
59424	return nil
59425}
59426
59427// DocumentDbCollectionSource a copy activity Document Database Collection source.
59428type DocumentDbCollectionSource struct {
59429	// Query - Documents query. Type: string (or Expression with resultType string).
59430	Query interface{} `json:"query,omitempty"`
59431	// NestingSeparator - Nested properties separator. Type: string (or Expression with resultType string).
59432	NestingSeparator interface{} `json:"nestingSeparator,omitempty"`
59433	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
59434	AdditionalProperties map[string]interface{} `json:""`
59435	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
59436	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
59437	// 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])).
59438	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
59439	// MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer).
59440	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
59441	// Type - Possible values include: 'TypeCopySource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', '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', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeCassandraSource', 'TypeWebSource', 'TypeTeradataSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeAzureMySQLSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeRestSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceServiceCloudSource', 'TypeSalesforceSource', 'TypeODataSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeMicrosoftAccessSource', 'TypeInformixSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAzureTableSource', 'TypeBinarySource', 'TypeDelimitedTextSource', 'TypeParquetSource'
59442	Type TypeBasicCopySource `json:"type,omitempty"`
59443}
59444
59445// MarshalJSON is the custom marshaler for DocumentDbCollectionSource.
59446func (ddcs DocumentDbCollectionSource) MarshalJSON() ([]byte, error) {
59447	ddcs.Type = TypeDocumentDbCollectionSource
59448	objectMap := make(map[string]interface{})
59449	if ddcs.Query != nil {
59450		objectMap["query"] = ddcs.Query
59451	}
59452	if ddcs.NestingSeparator != nil {
59453		objectMap["nestingSeparator"] = ddcs.NestingSeparator
59454	}
59455	if ddcs.SourceRetryCount != nil {
59456		objectMap["sourceRetryCount"] = ddcs.SourceRetryCount
59457	}
59458	if ddcs.SourceRetryWait != nil {
59459		objectMap["sourceRetryWait"] = ddcs.SourceRetryWait
59460	}
59461	if ddcs.MaxConcurrentConnections != nil {
59462		objectMap["maxConcurrentConnections"] = ddcs.MaxConcurrentConnections
59463	}
59464	if ddcs.Type != "" {
59465		objectMap["type"] = ddcs.Type
59466	}
59467	for k, v := range ddcs.AdditionalProperties {
59468		objectMap[k] = v
59469	}
59470	return json.Marshal(objectMap)
59471}
59472
59473// AsAmazonRedshiftSource is the BasicCopySource implementation for DocumentDbCollectionSource.
59474func (ddcs DocumentDbCollectionSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
59475	return nil, false
59476}
59477
59478// AsGoogleAdWordsSource is the BasicCopySource implementation for DocumentDbCollectionSource.
59479func (ddcs DocumentDbCollectionSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) {
59480	return nil, false
59481}
59482
59483// AsOracleServiceCloudSource is the BasicCopySource implementation for DocumentDbCollectionSource.
59484func (ddcs DocumentDbCollectionSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) {
59485	return nil, false
59486}
59487
59488// AsDynamicsAXSource is the BasicCopySource implementation for DocumentDbCollectionSource.
59489func (ddcs DocumentDbCollectionSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) {
59490	return nil, false
59491}
59492
59493// AsResponsysSource is the BasicCopySource implementation for DocumentDbCollectionSource.
59494func (ddcs DocumentDbCollectionSource) AsResponsysSource() (*ResponsysSource, bool) {
59495	return nil, false
59496}
59497
59498// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for DocumentDbCollectionSource.
59499func (ddcs DocumentDbCollectionSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
59500	return nil, false
59501}
59502
59503// AsVerticaSource is the BasicCopySource implementation for DocumentDbCollectionSource.
59504func (ddcs DocumentDbCollectionSource) AsVerticaSource() (*VerticaSource, bool) {
59505	return nil, false
59506}
59507
59508// AsNetezzaSource is the BasicCopySource implementation for DocumentDbCollectionSource.
59509func (ddcs DocumentDbCollectionSource) AsNetezzaSource() (*NetezzaSource, bool) {
59510	return nil, false
59511}
59512
59513// AsZohoSource is the BasicCopySource implementation for DocumentDbCollectionSource.
59514func (ddcs DocumentDbCollectionSource) AsZohoSource() (*ZohoSource, bool) {
59515	return nil, false
59516}
59517
59518// AsXeroSource is the BasicCopySource implementation for DocumentDbCollectionSource.
59519func (ddcs DocumentDbCollectionSource) AsXeroSource() (*XeroSource, bool) {
59520	return nil, false
59521}
59522
59523// AsSquareSource is the BasicCopySource implementation for DocumentDbCollectionSource.
59524func (ddcs DocumentDbCollectionSource) AsSquareSource() (*SquareSource, bool) {
59525	return nil, false
59526}
59527
59528// AsSparkSource is the BasicCopySource implementation for DocumentDbCollectionSource.
59529func (ddcs DocumentDbCollectionSource) AsSparkSource() (*SparkSource, bool) {
59530	return nil, false
59531}
59532
59533// AsShopifySource is the BasicCopySource implementation for DocumentDbCollectionSource.
59534func (ddcs DocumentDbCollectionSource) AsShopifySource() (*ShopifySource, bool) {
59535	return nil, false
59536}
59537
59538// AsServiceNowSource is the BasicCopySource implementation for DocumentDbCollectionSource.
59539func (ddcs DocumentDbCollectionSource) AsServiceNowSource() (*ServiceNowSource, bool) {
59540	return nil, false
59541}
59542
59543// AsQuickBooksSource is the BasicCopySource implementation for DocumentDbCollectionSource.
59544func (ddcs DocumentDbCollectionSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
59545	return nil, false
59546}
59547
59548// AsPrestoSource is the BasicCopySource implementation for DocumentDbCollectionSource.
59549func (ddcs DocumentDbCollectionSource) AsPrestoSource() (*PrestoSource, bool) {
59550	return nil, false
59551}
59552
59553// AsPhoenixSource is the BasicCopySource implementation for DocumentDbCollectionSource.
59554func (ddcs DocumentDbCollectionSource) AsPhoenixSource() (*PhoenixSource, bool) {
59555	return nil, false
59556}
59557
59558// AsPaypalSource is the BasicCopySource implementation for DocumentDbCollectionSource.
59559func (ddcs DocumentDbCollectionSource) AsPaypalSource() (*PaypalSource, bool) {
59560	return nil, false
59561}
59562
59563// AsMarketoSource is the BasicCopySource implementation for DocumentDbCollectionSource.
59564func (ddcs DocumentDbCollectionSource) AsMarketoSource() (*MarketoSource, bool) {
59565	return nil, false
59566}
59567
59568// AsMariaDBSource is the BasicCopySource implementation for DocumentDbCollectionSource.
59569func (ddcs DocumentDbCollectionSource) AsMariaDBSource() (*MariaDBSource, bool) {
59570	return nil, false
59571}
59572
59573// AsMagentoSource is the BasicCopySource implementation for DocumentDbCollectionSource.
59574func (ddcs DocumentDbCollectionSource) AsMagentoSource() (*MagentoSource, bool) {
59575	return nil, false
59576}
59577
59578// AsJiraSource is the BasicCopySource implementation for DocumentDbCollectionSource.
59579func (ddcs DocumentDbCollectionSource) AsJiraSource() (*JiraSource, bool) {
59580	return nil, false
59581}
59582
59583// AsImpalaSource is the BasicCopySource implementation for DocumentDbCollectionSource.
59584func (ddcs DocumentDbCollectionSource) AsImpalaSource() (*ImpalaSource, bool) {
59585	return nil, false
59586}
59587
59588// AsHubspotSource is the BasicCopySource implementation for DocumentDbCollectionSource.
59589func (ddcs DocumentDbCollectionSource) AsHubspotSource() (*HubspotSource, bool) {
59590	return nil, false
59591}
59592
59593// AsHiveSource is the BasicCopySource implementation for DocumentDbCollectionSource.
59594func (ddcs DocumentDbCollectionSource) AsHiveSource() (*HiveSource, bool) {
59595	return nil, false
59596}
59597
59598// AsHBaseSource is the BasicCopySource implementation for DocumentDbCollectionSource.
59599func (ddcs DocumentDbCollectionSource) AsHBaseSource() (*HBaseSource, bool) {
59600	return nil, false
59601}
59602
59603// AsGreenplumSource is the BasicCopySource implementation for DocumentDbCollectionSource.
59604func (ddcs DocumentDbCollectionSource) AsGreenplumSource() (*GreenplumSource, bool) {
59605	return nil, false
59606}
59607
59608// AsGoogleBigQuerySource is the BasicCopySource implementation for DocumentDbCollectionSource.
59609func (ddcs DocumentDbCollectionSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
59610	return nil, false
59611}
59612
59613// AsEloquaSource is the BasicCopySource implementation for DocumentDbCollectionSource.
59614func (ddcs DocumentDbCollectionSource) AsEloquaSource() (*EloquaSource, bool) {
59615	return nil, false
59616}
59617
59618// AsDrillSource is the BasicCopySource implementation for DocumentDbCollectionSource.
59619func (ddcs DocumentDbCollectionSource) AsDrillSource() (*DrillSource, bool) {
59620	return nil, false
59621}
59622
59623// AsCouchbaseSource is the BasicCopySource implementation for DocumentDbCollectionSource.
59624func (ddcs DocumentDbCollectionSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
59625	return nil, false
59626}
59627
59628// AsConcurSource is the BasicCopySource implementation for DocumentDbCollectionSource.
59629func (ddcs DocumentDbCollectionSource) AsConcurSource() (*ConcurSource, bool) {
59630	return nil, false
59631}
59632
59633// AsAzurePostgreSQLSource is the BasicCopySource implementation for DocumentDbCollectionSource.
59634func (ddcs DocumentDbCollectionSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
59635	return nil, false
59636}
59637
59638// AsAmazonMWSSource is the BasicCopySource implementation for DocumentDbCollectionSource.
59639func (ddcs DocumentDbCollectionSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
59640	return nil, false
59641}
59642
59643// AsHTTPSource is the BasicCopySource implementation for DocumentDbCollectionSource.
59644func (ddcs DocumentDbCollectionSource) AsHTTPSource() (*HTTPSource, bool) {
59645	return nil, false
59646}
59647
59648// AsAzureBlobFSSource is the BasicCopySource implementation for DocumentDbCollectionSource.
59649func (ddcs DocumentDbCollectionSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) {
59650	return nil, false
59651}
59652
59653// AsAzureDataLakeStoreSource is the BasicCopySource implementation for DocumentDbCollectionSource.
59654func (ddcs DocumentDbCollectionSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
59655	return nil, false
59656}
59657
59658// AsOffice365Source is the BasicCopySource implementation for DocumentDbCollectionSource.
59659func (ddcs DocumentDbCollectionSource) AsOffice365Source() (*Office365Source, bool) {
59660	return nil, false
59661}
59662
59663// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for DocumentDbCollectionSource.
59664func (ddcs DocumentDbCollectionSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) {
59665	return nil, false
59666}
59667
59668// AsMongoDbV2Source is the BasicCopySource implementation for DocumentDbCollectionSource.
59669func (ddcs DocumentDbCollectionSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) {
59670	return nil, false
59671}
59672
59673// AsMongoDbSource is the BasicCopySource implementation for DocumentDbCollectionSource.
59674func (ddcs DocumentDbCollectionSource) AsMongoDbSource() (*MongoDbSource, bool) {
59675	return nil, false
59676}
59677
59678// AsCassandraSource is the BasicCopySource implementation for DocumentDbCollectionSource.
59679func (ddcs DocumentDbCollectionSource) AsCassandraSource() (*CassandraSource, bool) {
59680	return nil, false
59681}
59682
59683// AsWebSource is the BasicCopySource implementation for DocumentDbCollectionSource.
59684func (ddcs DocumentDbCollectionSource) AsWebSource() (*WebSource, bool) {
59685	return nil, false
59686}
59687
59688// AsTeradataSource is the BasicCopySource implementation for DocumentDbCollectionSource.
59689func (ddcs DocumentDbCollectionSource) AsTeradataSource() (*TeradataSource, bool) {
59690	return nil, false
59691}
59692
59693// AsOracleSource is the BasicCopySource implementation for DocumentDbCollectionSource.
59694func (ddcs DocumentDbCollectionSource) AsOracleSource() (*OracleSource, bool) {
59695	return nil, false
59696}
59697
59698// AsAzureDataExplorerSource is the BasicCopySource implementation for DocumentDbCollectionSource.
59699func (ddcs DocumentDbCollectionSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) {
59700	return nil, false
59701}
59702
59703// AsAzureMySQLSource is the BasicCopySource implementation for DocumentDbCollectionSource.
59704func (ddcs DocumentDbCollectionSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
59705	return nil, false
59706}
59707
59708// AsHdfsSource is the BasicCopySource implementation for DocumentDbCollectionSource.
59709func (ddcs DocumentDbCollectionSource) AsHdfsSource() (*HdfsSource, bool) {
59710	return nil, false
59711}
59712
59713// AsFileSystemSource is the BasicCopySource implementation for DocumentDbCollectionSource.
59714func (ddcs DocumentDbCollectionSource) AsFileSystemSource() (*FileSystemSource, bool) {
59715	return nil, false
59716}
59717
59718// AsSQLDWSource is the BasicCopySource implementation for DocumentDbCollectionSource.
59719func (ddcs DocumentDbCollectionSource) AsSQLDWSource() (*SQLDWSource, bool) {
59720	return nil, false
59721}
59722
59723// AsSQLMISource is the BasicCopySource implementation for DocumentDbCollectionSource.
59724func (ddcs DocumentDbCollectionSource) AsSQLMISource() (*SQLMISource, bool) {
59725	return nil, false
59726}
59727
59728// AsAzureSQLSource is the BasicCopySource implementation for DocumentDbCollectionSource.
59729func (ddcs DocumentDbCollectionSource) AsAzureSQLSource() (*AzureSQLSource, bool) {
59730	return nil, false
59731}
59732
59733// AsSQLServerSource is the BasicCopySource implementation for DocumentDbCollectionSource.
59734func (ddcs DocumentDbCollectionSource) AsSQLServerSource() (*SQLServerSource, bool) {
59735	return nil, false
59736}
59737
59738// AsSQLSource is the BasicCopySource implementation for DocumentDbCollectionSource.
59739func (ddcs DocumentDbCollectionSource) AsSQLSource() (*SQLSource, bool) {
59740	return nil, false
59741}
59742
59743// AsRestSource is the BasicCopySource implementation for DocumentDbCollectionSource.
59744func (ddcs DocumentDbCollectionSource) AsRestSource() (*RestSource, bool) {
59745	return nil, false
59746}
59747
59748// AsSapTableSource is the BasicCopySource implementation for DocumentDbCollectionSource.
59749func (ddcs DocumentDbCollectionSource) AsSapTableSource() (*SapTableSource, bool) {
59750	return nil, false
59751}
59752
59753// AsSapOpenHubSource is the BasicCopySource implementation for DocumentDbCollectionSource.
59754func (ddcs DocumentDbCollectionSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) {
59755	return nil, false
59756}
59757
59758// AsSapHanaSource is the BasicCopySource implementation for DocumentDbCollectionSource.
59759func (ddcs DocumentDbCollectionSource) AsSapHanaSource() (*SapHanaSource, bool) {
59760	return nil, false
59761}
59762
59763// AsSapEccSource is the BasicCopySource implementation for DocumentDbCollectionSource.
59764func (ddcs DocumentDbCollectionSource) AsSapEccSource() (*SapEccSource, bool) {
59765	return nil, false
59766}
59767
59768// AsSapCloudForCustomerSource is the BasicCopySource implementation for DocumentDbCollectionSource.
59769func (ddcs DocumentDbCollectionSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
59770	return nil, false
59771}
59772
59773// AsSalesforceServiceCloudSource is the BasicCopySource implementation for DocumentDbCollectionSource.
59774func (ddcs DocumentDbCollectionSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) {
59775	return nil, false
59776}
59777
59778// AsSalesforceSource is the BasicCopySource implementation for DocumentDbCollectionSource.
59779func (ddcs DocumentDbCollectionSource) AsSalesforceSource() (*SalesforceSource, bool) {
59780	return nil, false
59781}
59782
59783// AsODataSource is the BasicCopySource implementation for DocumentDbCollectionSource.
59784func (ddcs DocumentDbCollectionSource) AsODataSource() (*ODataSource, bool) {
59785	return nil, false
59786}
59787
59788// AsSybaseSource is the BasicCopySource implementation for DocumentDbCollectionSource.
59789func (ddcs DocumentDbCollectionSource) AsSybaseSource() (*SybaseSource, bool) {
59790	return nil, false
59791}
59792
59793// AsPostgreSQLSource is the BasicCopySource implementation for DocumentDbCollectionSource.
59794func (ddcs DocumentDbCollectionSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) {
59795	return nil, false
59796}
59797
59798// AsMySQLSource is the BasicCopySource implementation for DocumentDbCollectionSource.
59799func (ddcs DocumentDbCollectionSource) AsMySQLSource() (*MySQLSource, bool) {
59800	return nil, false
59801}
59802
59803// AsOdbcSource is the BasicCopySource implementation for DocumentDbCollectionSource.
59804func (ddcs DocumentDbCollectionSource) AsOdbcSource() (*OdbcSource, bool) {
59805	return nil, false
59806}
59807
59808// AsDb2Source is the BasicCopySource implementation for DocumentDbCollectionSource.
59809func (ddcs DocumentDbCollectionSource) AsDb2Source() (*Db2Source, bool) {
59810	return nil, false
59811}
59812
59813// AsMicrosoftAccessSource is the BasicCopySource implementation for DocumentDbCollectionSource.
59814func (ddcs DocumentDbCollectionSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) {
59815	return nil, false
59816}
59817
59818// AsInformixSource is the BasicCopySource implementation for DocumentDbCollectionSource.
59819func (ddcs DocumentDbCollectionSource) AsInformixSource() (*InformixSource, bool) {
59820	return nil, false
59821}
59822
59823// AsRelationalSource is the BasicCopySource implementation for DocumentDbCollectionSource.
59824func (ddcs DocumentDbCollectionSource) AsRelationalSource() (*RelationalSource, bool) {
59825	return nil, false
59826}
59827
59828// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for DocumentDbCollectionSource.
59829func (ddcs DocumentDbCollectionSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) {
59830	return nil, false
59831}
59832
59833// AsDynamicsCrmSource is the BasicCopySource implementation for DocumentDbCollectionSource.
59834func (ddcs DocumentDbCollectionSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) {
59835	return nil, false
59836}
59837
59838// AsDynamicsSource is the BasicCopySource implementation for DocumentDbCollectionSource.
59839func (ddcs DocumentDbCollectionSource) AsDynamicsSource() (*DynamicsSource, bool) {
59840	return nil, false
59841}
59842
59843// AsDocumentDbCollectionSource is the BasicCopySource implementation for DocumentDbCollectionSource.
59844func (ddcs DocumentDbCollectionSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
59845	return &ddcs, true
59846}
59847
59848// AsBlobSource is the BasicCopySource implementation for DocumentDbCollectionSource.
59849func (ddcs DocumentDbCollectionSource) AsBlobSource() (*BlobSource, bool) {
59850	return nil, false
59851}
59852
59853// AsAzureTableSource is the BasicCopySource implementation for DocumentDbCollectionSource.
59854func (ddcs DocumentDbCollectionSource) AsAzureTableSource() (*AzureTableSource, bool) {
59855	return nil, false
59856}
59857
59858// AsBinarySource is the BasicCopySource implementation for DocumentDbCollectionSource.
59859func (ddcs DocumentDbCollectionSource) AsBinarySource() (*BinarySource, bool) {
59860	return nil, false
59861}
59862
59863// AsDelimitedTextSource is the BasicCopySource implementation for DocumentDbCollectionSource.
59864func (ddcs DocumentDbCollectionSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) {
59865	return nil, false
59866}
59867
59868// AsParquetSource is the BasicCopySource implementation for DocumentDbCollectionSource.
59869func (ddcs DocumentDbCollectionSource) AsParquetSource() (*ParquetSource, bool) {
59870	return nil, false
59871}
59872
59873// AsCopySource is the BasicCopySource implementation for DocumentDbCollectionSource.
59874func (ddcs DocumentDbCollectionSource) AsCopySource() (*CopySource, bool) {
59875	return nil, false
59876}
59877
59878// AsBasicCopySource is the BasicCopySource implementation for DocumentDbCollectionSource.
59879func (ddcs DocumentDbCollectionSource) AsBasicCopySource() (BasicCopySource, bool) {
59880	return &ddcs, true
59881}
59882
59883// UnmarshalJSON is the custom unmarshaler for DocumentDbCollectionSource struct.
59884func (ddcs *DocumentDbCollectionSource) UnmarshalJSON(body []byte) error {
59885	var m map[string]*json.RawMessage
59886	err := json.Unmarshal(body, &m)
59887	if err != nil {
59888		return err
59889	}
59890	for k, v := range m {
59891		switch k {
59892		case "query":
59893			if v != nil {
59894				var query interface{}
59895				err = json.Unmarshal(*v, &query)
59896				if err != nil {
59897					return err
59898				}
59899				ddcs.Query = query
59900			}
59901		case "nestingSeparator":
59902			if v != nil {
59903				var nestingSeparator interface{}
59904				err = json.Unmarshal(*v, &nestingSeparator)
59905				if err != nil {
59906					return err
59907				}
59908				ddcs.NestingSeparator = nestingSeparator
59909			}
59910		default:
59911			if v != nil {
59912				var additionalProperties interface{}
59913				err = json.Unmarshal(*v, &additionalProperties)
59914				if err != nil {
59915					return err
59916				}
59917				if ddcs.AdditionalProperties == nil {
59918					ddcs.AdditionalProperties = make(map[string]interface{})
59919				}
59920				ddcs.AdditionalProperties[k] = additionalProperties
59921			}
59922		case "sourceRetryCount":
59923			if v != nil {
59924				var sourceRetryCount interface{}
59925				err = json.Unmarshal(*v, &sourceRetryCount)
59926				if err != nil {
59927					return err
59928				}
59929				ddcs.SourceRetryCount = sourceRetryCount
59930			}
59931		case "sourceRetryWait":
59932			if v != nil {
59933				var sourceRetryWait interface{}
59934				err = json.Unmarshal(*v, &sourceRetryWait)
59935				if err != nil {
59936					return err
59937				}
59938				ddcs.SourceRetryWait = sourceRetryWait
59939			}
59940		case "maxConcurrentConnections":
59941			if v != nil {
59942				var maxConcurrentConnections interface{}
59943				err = json.Unmarshal(*v, &maxConcurrentConnections)
59944				if err != nil {
59945					return err
59946				}
59947				ddcs.MaxConcurrentConnections = maxConcurrentConnections
59948			}
59949		case "type":
59950			if v != nil {
59951				var typeVar TypeBasicCopySource
59952				err = json.Unmarshal(*v, &typeVar)
59953				if err != nil {
59954					return err
59955				}
59956				ddcs.Type = typeVar
59957			}
59958		}
59959	}
59960
59961	return nil
59962}
59963
59964// DrillLinkedService drill server linked service.
59965type DrillLinkedService struct {
59966	// DrillLinkedServiceTypeProperties - Drill server linked service properties.
59967	*DrillLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
59968	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
59969	AdditionalProperties map[string]interface{} `json:""`
59970	// ConnectVia - The integration runtime reference.
59971	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
59972	// Description - Linked service description.
59973	Description *string `json:"description,omitempty"`
59974	// Parameters - Parameters for linked service.
59975	Parameters map[string]*ParameterSpecification `json:"parameters"`
59976	// Annotations - List of tags that can be used for describing the linked service.
59977	Annotations *[]interface{} `json:"annotations,omitempty"`
59978	// Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', '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', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage'
59979	Type TypeBasicLinkedService `json:"type,omitempty"`
59980}
59981
59982// MarshalJSON is the custom marshaler for DrillLinkedService.
59983func (dls DrillLinkedService) MarshalJSON() ([]byte, error) {
59984	dls.Type = TypeDrill
59985	objectMap := make(map[string]interface{})
59986	if dls.DrillLinkedServiceTypeProperties != nil {
59987		objectMap["typeProperties"] = dls.DrillLinkedServiceTypeProperties
59988	}
59989	if dls.ConnectVia != nil {
59990		objectMap["connectVia"] = dls.ConnectVia
59991	}
59992	if dls.Description != nil {
59993		objectMap["description"] = dls.Description
59994	}
59995	if dls.Parameters != nil {
59996		objectMap["parameters"] = dls.Parameters
59997	}
59998	if dls.Annotations != nil {
59999		objectMap["annotations"] = dls.Annotations
60000	}
60001	if dls.Type != "" {
60002		objectMap["type"] = dls.Type
60003	}
60004	for k, v := range dls.AdditionalProperties {
60005		objectMap[k] = v
60006	}
60007	return json.Marshal(objectMap)
60008}
60009
60010// AsAzureFunctionLinkedService is the BasicLinkedService implementation for DrillLinkedService.
60011func (dls DrillLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) {
60012	return nil, false
60013}
60014
60015// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for DrillLinkedService.
60016func (dls DrillLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) {
60017	return nil, false
60018}
60019
60020// AsSapTableLinkedService is the BasicLinkedService implementation for DrillLinkedService.
60021func (dls DrillLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) {
60022	return nil, false
60023}
60024
60025// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for DrillLinkedService.
60026func (dls DrillLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) {
60027	return nil, false
60028}
60029
60030// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for DrillLinkedService.
60031func (dls DrillLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) {
60032	return nil, false
60033}
60034
60035// AsDynamicsAXLinkedService is the BasicLinkedService implementation for DrillLinkedService.
60036func (dls DrillLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) {
60037	return nil, false
60038}
60039
60040// AsResponsysLinkedService is the BasicLinkedService implementation for DrillLinkedService.
60041func (dls DrillLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
60042	return nil, false
60043}
60044
60045// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for DrillLinkedService.
60046func (dls DrillLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
60047	return nil, false
60048}
60049
60050// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for DrillLinkedService.
60051func (dls DrillLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
60052	return nil, false
60053}
60054
60055// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for DrillLinkedService.
60056func (dls DrillLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
60057	return nil, false
60058}
60059
60060// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for DrillLinkedService.
60061func (dls DrillLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
60062	return nil, false
60063}
60064
60065// AsNetezzaLinkedService is the BasicLinkedService implementation for DrillLinkedService.
60066func (dls DrillLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
60067	return nil, false
60068}
60069
60070// AsVerticaLinkedService is the BasicLinkedService implementation for DrillLinkedService.
60071func (dls DrillLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
60072	return nil, false
60073}
60074
60075// AsZohoLinkedService is the BasicLinkedService implementation for DrillLinkedService.
60076func (dls DrillLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
60077	return nil, false
60078}
60079
60080// AsXeroLinkedService is the BasicLinkedService implementation for DrillLinkedService.
60081func (dls DrillLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
60082	return nil, false
60083}
60084
60085// AsSquareLinkedService is the BasicLinkedService implementation for DrillLinkedService.
60086func (dls DrillLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
60087	return nil, false
60088}
60089
60090// AsSparkLinkedService is the BasicLinkedService implementation for DrillLinkedService.
60091func (dls DrillLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
60092	return nil, false
60093}
60094
60095// AsShopifyLinkedService is the BasicLinkedService implementation for DrillLinkedService.
60096func (dls DrillLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
60097	return nil, false
60098}
60099
60100// AsServiceNowLinkedService is the BasicLinkedService implementation for DrillLinkedService.
60101func (dls DrillLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
60102	return nil, false
60103}
60104
60105// AsQuickBooksLinkedService is the BasicLinkedService implementation for DrillLinkedService.
60106func (dls DrillLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
60107	return nil, false
60108}
60109
60110// AsPrestoLinkedService is the BasicLinkedService implementation for DrillLinkedService.
60111func (dls DrillLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
60112	return nil, false
60113}
60114
60115// AsPhoenixLinkedService is the BasicLinkedService implementation for DrillLinkedService.
60116func (dls DrillLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
60117	return nil, false
60118}
60119
60120// AsPaypalLinkedService is the BasicLinkedService implementation for DrillLinkedService.
60121func (dls DrillLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
60122	return nil, false
60123}
60124
60125// AsMarketoLinkedService is the BasicLinkedService implementation for DrillLinkedService.
60126func (dls DrillLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
60127	return nil, false
60128}
60129
60130// AsMariaDBLinkedService is the BasicLinkedService implementation for DrillLinkedService.
60131func (dls DrillLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
60132	return nil, false
60133}
60134
60135// AsMagentoLinkedService is the BasicLinkedService implementation for DrillLinkedService.
60136func (dls DrillLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
60137	return nil, false
60138}
60139
60140// AsJiraLinkedService is the BasicLinkedService implementation for DrillLinkedService.
60141func (dls DrillLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
60142	return nil, false
60143}
60144
60145// AsImpalaLinkedService is the BasicLinkedService implementation for DrillLinkedService.
60146func (dls DrillLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
60147	return nil, false
60148}
60149
60150// AsHubspotLinkedService is the BasicLinkedService implementation for DrillLinkedService.
60151func (dls DrillLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
60152	return nil, false
60153}
60154
60155// AsHiveLinkedService is the BasicLinkedService implementation for DrillLinkedService.
60156func (dls DrillLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
60157	return nil, false
60158}
60159
60160// AsHBaseLinkedService is the BasicLinkedService implementation for DrillLinkedService.
60161func (dls DrillLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
60162	return nil, false
60163}
60164
60165// AsGreenplumLinkedService is the BasicLinkedService implementation for DrillLinkedService.
60166func (dls DrillLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
60167	return nil, false
60168}
60169
60170// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for DrillLinkedService.
60171func (dls DrillLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
60172	return nil, false
60173}
60174
60175// AsEloquaLinkedService is the BasicLinkedService implementation for DrillLinkedService.
60176func (dls DrillLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
60177	return nil, false
60178}
60179
60180// AsDrillLinkedService is the BasicLinkedService implementation for DrillLinkedService.
60181func (dls DrillLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
60182	return &dls, true
60183}
60184
60185// AsCouchbaseLinkedService is the BasicLinkedService implementation for DrillLinkedService.
60186func (dls DrillLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
60187	return nil, false
60188}
60189
60190// AsConcurLinkedService is the BasicLinkedService implementation for DrillLinkedService.
60191func (dls DrillLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
60192	return nil, false
60193}
60194
60195// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for DrillLinkedService.
60196func (dls DrillLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
60197	return nil, false
60198}
60199
60200// AsAmazonMWSLinkedService is the BasicLinkedService implementation for DrillLinkedService.
60201func (dls DrillLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
60202	return nil, false
60203}
60204
60205// AsSapHanaLinkedService is the BasicLinkedService implementation for DrillLinkedService.
60206func (dls DrillLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
60207	return nil, false
60208}
60209
60210// AsSapBWLinkedService is the BasicLinkedService implementation for DrillLinkedService.
60211func (dls DrillLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
60212	return nil, false
60213}
60214
60215// AsSftpServerLinkedService is the BasicLinkedService implementation for DrillLinkedService.
60216func (dls DrillLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
60217	return nil, false
60218}
60219
60220// AsFtpServerLinkedService is the BasicLinkedService implementation for DrillLinkedService.
60221func (dls DrillLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
60222	return nil, false
60223}
60224
60225// AsHTTPLinkedService is the BasicLinkedService implementation for DrillLinkedService.
60226func (dls DrillLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
60227	return nil, false
60228}
60229
60230// AsAzureSearchLinkedService is the BasicLinkedService implementation for DrillLinkedService.
60231func (dls DrillLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
60232	return nil, false
60233}
60234
60235// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for DrillLinkedService.
60236func (dls DrillLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
60237	return nil, false
60238}
60239
60240// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for DrillLinkedService.
60241func (dls DrillLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
60242	return nil, false
60243}
60244
60245// AsAmazonS3LinkedService is the BasicLinkedService implementation for DrillLinkedService.
60246func (dls DrillLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
60247	return nil, false
60248}
60249
60250// AsRestServiceLinkedService is the BasicLinkedService implementation for DrillLinkedService.
60251func (dls DrillLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) {
60252	return nil, false
60253}
60254
60255// AsSapOpenHubLinkedService is the BasicLinkedService implementation for DrillLinkedService.
60256func (dls DrillLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) {
60257	return nil, false
60258}
60259
60260// AsSapEccLinkedService is the BasicLinkedService implementation for DrillLinkedService.
60261func (dls DrillLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
60262	return nil, false
60263}
60264
60265// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for DrillLinkedService.
60266func (dls DrillLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
60267	return nil, false
60268}
60269
60270// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for DrillLinkedService.
60271func (dls DrillLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) {
60272	return nil, false
60273}
60274
60275// AsSalesforceLinkedService is the BasicLinkedService implementation for DrillLinkedService.
60276func (dls DrillLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
60277	return nil, false
60278}
60279
60280// AsOffice365LinkedService is the BasicLinkedService implementation for DrillLinkedService.
60281func (dls DrillLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) {
60282	return nil, false
60283}
60284
60285// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for DrillLinkedService.
60286func (dls DrillLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) {
60287	return nil, false
60288}
60289
60290// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for DrillLinkedService.
60291func (dls DrillLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
60292	return nil, false
60293}
60294
60295// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for DrillLinkedService.
60296func (dls DrillLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) {
60297	return nil, false
60298}
60299
60300// AsMongoDbV2LinkedService is the BasicLinkedService implementation for DrillLinkedService.
60301func (dls DrillLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) {
60302	return nil, false
60303}
60304
60305// AsMongoDbLinkedService is the BasicLinkedService implementation for DrillLinkedService.
60306func (dls DrillLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
60307	return nil, false
60308}
60309
60310// AsCassandraLinkedService is the BasicLinkedService implementation for DrillLinkedService.
60311func (dls DrillLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
60312	return nil, false
60313}
60314
60315// AsWebLinkedService is the BasicLinkedService implementation for DrillLinkedService.
60316func (dls DrillLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
60317	return nil, false
60318}
60319
60320// AsODataLinkedService is the BasicLinkedService implementation for DrillLinkedService.
60321func (dls DrillLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
60322	return nil, false
60323}
60324
60325// AsHdfsLinkedService is the BasicLinkedService implementation for DrillLinkedService.
60326func (dls DrillLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
60327	return nil, false
60328}
60329
60330// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for DrillLinkedService.
60331func (dls DrillLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) {
60332	return nil, false
60333}
60334
60335// AsInformixLinkedService is the BasicLinkedService implementation for DrillLinkedService.
60336func (dls DrillLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) {
60337	return nil, false
60338}
60339
60340// AsOdbcLinkedService is the BasicLinkedService implementation for DrillLinkedService.
60341func (dls DrillLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
60342	return nil, false
60343}
60344
60345// AsAzureMLLinkedService is the BasicLinkedService implementation for DrillLinkedService.
60346func (dls DrillLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
60347	return nil, false
60348}
60349
60350// AsTeradataLinkedService is the BasicLinkedService implementation for DrillLinkedService.
60351func (dls DrillLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
60352	return nil, false
60353}
60354
60355// AsDb2LinkedService is the BasicLinkedService implementation for DrillLinkedService.
60356func (dls DrillLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
60357	return nil, false
60358}
60359
60360// AsSybaseLinkedService is the BasicLinkedService implementation for DrillLinkedService.
60361func (dls DrillLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
60362	return nil, false
60363}
60364
60365// AsPostgreSQLLinkedService is the BasicLinkedService implementation for DrillLinkedService.
60366func (dls DrillLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
60367	return nil, false
60368}
60369
60370// AsMySQLLinkedService is the BasicLinkedService implementation for DrillLinkedService.
60371func (dls DrillLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
60372	return nil, false
60373}
60374
60375// AsAzureMySQLLinkedService is the BasicLinkedService implementation for DrillLinkedService.
60376func (dls DrillLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
60377	return nil, false
60378}
60379
60380// AsOracleLinkedService is the BasicLinkedService implementation for DrillLinkedService.
60381func (dls DrillLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
60382	return nil, false
60383}
60384
60385// AsFileServerLinkedService is the BasicLinkedService implementation for DrillLinkedService.
60386func (dls DrillLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
60387	return nil, false
60388}
60389
60390// AsHDInsightLinkedService is the BasicLinkedService implementation for DrillLinkedService.
60391func (dls DrillLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
60392	return nil, false
60393}
60394
60395// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for DrillLinkedService.
60396func (dls DrillLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) {
60397	return nil, false
60398}
60399
60400// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for DrillLinkedService.
60401func (dls DrillLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) {
60402	return nil, false
60403}
60404
60405// AsDynamicsLinkedService is the BasicLinkedService implementation for DrillLinkedService.
60406func (dls DrillLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
60407	return nil, false
60408}
60409
60410// AsCosmosDbLinkedService is the BasicLinkedService implementation for DrillLinkedService.
60411func (dls DrillLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
60412	return nil, false
60413}
60414
60415// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for DrillLinkedService.
60416func (dls DrillLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
60417	return nil, false
60418}
60419
60420// AsAzureBatchLinkedService is the BasicLinkedService implementation for DrillLinkedService.
60421func (dls DrillLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
60422	return nil, false
60423}
60424
60425// AsAzureSQLMILinkedService is the BasicLinkedService implementation for DrillLinkedService.
60426func (dls DrillLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) {
60427	return nil, false
60428}
60429
60430// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for DrillLinkedService.
60431func (dls DrillLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
60432	return nil, false
60433}
60434
60435// AsSQLServerLinkedService is the BasicLinkedService implementation for DrillLinkedService.
60436func (dls DrillLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
60437	return nil, false
60438}
60439
60440// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for DrillLinkedService.
60441func (dls DrillLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
60442	return nil, false
60443}
60444
60445// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for DrillLinkedService.
60446func (dls DrillLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) {
60447	return nil, false
60448}
60449
60450// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for DrillLinkedService.
60451func (dls DrillLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) {
60452	return nil, false
60453}
60454
60455// AsAzureStorageLinkedService is the BasicLinkedService implementation for DrillLinkedService.
60456func (dls DrillLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
60457	return nil, false
60458}
60459
60460// AsLinkedService is the BasicLinkedService implementation for DrillLinkedService.
60461func (dls DrillLinkedService) AsLinkedService() (*LinkedService, bool) {
60462	return nil, false
60463}
60464
60465// AsBasicLinkedService is the BasicLinkedService implementation for DrillLinkedService.
60466func (dls DrillLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
60467	return &dls, true
60468}
60469
60470// UnmarshalJSON is the custom unmarshaler for DrillLinkedService struct.
60471func (dls *DrillLinkedService) UnmarshalJSON(body []byte) error {
60472	var m map[string]*json.RawMessage
60473	err := json.Unmarshal(body, &m)
60474	if err != nil {
60475		return err
60476	}
60477	for k, v := range m {
60478		switch k {
60479		case "typeProperties":
60480			if v != nil {
60481				var drillLinkedServiceTypeProperties DrillLinkedServiceTypeProperties
60482				err = json.Unmarshal(*v, &drillLinkedServiceTypeProperties)
60483				if err != nil {
60484					return err
60485				}
60486				dls.DrillLinkedServiceTypeProperties = &drillLinkedServiceTypeProperties
60487			}
60488		default:
60489			if v != nil {
60490				var additionalProperties interface{}
60491				err = json.Unmarshal(*v, &additionalProperties)
60492				if err != nil {
60493					return err
60494				}
60495				if dls.AdditionalProperties == nil {
60496					dls.AdditionalProperties = make(map[string]interface{})
60497				}
60498				dls.AdditionalProperties[k] = additionalProperties
60499			}
60500		case "connectVia":
60501			if v != nil {
60502				var connectVia IntegrationRuntimeReference
60503				err = json.Unmarshal(*v, &connectVia)
60504				if err != nil {
60505					return err
60506				}
60507				dls.ConnectVia = &connectVia
60508			}
60509		case "description":
60510			if v != nil {
60511				var description string
60512				err = json.Unmarshal(*v, &description)
60513				if err != nil {
60514					return err
60515				}
60516				dls.Description = &description
60517			}
60518		case "parameters":
60519			if v != nil {
60520				var parameters map[string]*ParameterSpecification
60521				err = json.Unmarshal(*v, &parameters)
60522				if err != nil {
60523					return err
60524				}
60525				dls.Parameters = parameters
60526			}
60527		case "annotations":
60528			if v != nil {
60529				var annotations []interface{}
60530				err = json.Unmarshal(*v, &annotations)
60531				if err != nil {
60532					return err
60533				}
60534				dls.Annotations = &annotations
60535			}
60536		case "type":
60537			if v != nil {
60538				var typeVar TypeBasicLinkedService
60539				err = json.Unmarshal(*v, &typeVar)
60540				if err != nil {
60541					return err
60542				}
60543				dls.Type = typeVar
60544			}
60545		}
60546	}
60547
60548	return nil
60549}
60550
60551// DrillLinkedServiceTypeProperties drill server linked service properties.
60552type DrillLinkedServiceTypeProperties struct {
60553	// ConnectionString - An ODBC connection string. Type: string, SecureString or AzureKeyVaultSecretReference.
60554	ConnectionString interface{} `json:"connectionString,omitempty"`
60555	// Pwd - The Azure key vault secret reference of password in connection string.
60556	Pwd *AzureKeyVaultSecretReference `json:"pwd,omitempty"`
60557	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
60558	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
60559}
60560
60561// DrillSource a copy activity Drill server source.
60562type DrillSource struct {
60563	// Query - A query to retrieve data from source. Type: string (or Expression with resultType string).
60564	Query interface{} `json:"query,omitempty"`
60565	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
60566	AdditionalProperties map[string]interface{} `json:""`
60567	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
60568	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
60569	// 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])).
60570	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
60571	// MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer).
60572	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
60573	// Type - Possible values include: 'TypeCopySource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', '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', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeCassandraSource', 'TypeWebSource', 'TypeTeradataSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeAzureMySQLSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeRestSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceServiceCloudSource', 'TypeSalesforceSource', 'TypeODataSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeMicrosoftAccessSource', 'TypeInformixSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAzureTableSource', 'TypeBinarySource', 'TypeDelimitedTextSource', 'TypeParquetSource'
60574	Type TypeBasicCopySource `json:"type,omitempty"`
60575}
60576
60577// MarshalJSON is the custom marshaler for DrillSource.
60578func (ds DrillSource) MarshalJSON() ([]byte, error) {
60579	ds.Type = TypeDrillSource
60580	objectMap := make(map[string]interface{})
60581	if ds.Query != nil {
60582		objectMap["query"] = ds.Query
60583	}
60584	if ds.SourceRetryCount != nil {
60585		objectMap["sourceRetryCount"] = ds.SourceRetryCount
60586	}
60587	if ds.SourceRetryWait != nil {
60588		objectMap["sourceRetryWait"] = ds.SourceRetryWait
60589	}
60590	if ds.MaxConcurrentConnections != nil {
60591		objectMap["maxConcurrentConnections"] = ds.MaxConcurrentConnections
60592	}
60593	if ds.Type != "" {
60594		objectMap["type"] = ds.Type
60595	}
60596	for k, v := range ds.AdditionalProperties {
60597		objectMap[k] = v
60598	}
60599	return json.Marshal(objectMap)
60600}
60601
60602// AsAmazonRedshiftSource is the BasicCopySource implementation for DrillSource.
60603func (ds DrillSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
60604	return nil, false
60605}
60606
60607// AsGoogleAdWordsSource is the BasicCopySource implementation for DrillSource.
60608func (ds DrillSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) {
60609	return nil, false
60610}
60611
60612// AsOracleServiceCloudSource is the BasicCopySource implementation for DrillSource.
60613func (ds DrillSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) {
60614	return nil, false
60615}
60616
60617// AsDynamicsAXSource is the BasicCopySource implementation for DrillSource.
60618func (ds DrillSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) {
60619	return nil, false
60620}
60621
60622// AsResponsysSource is the BasicCopySource implementation for DrillSource.
60623func (ds DrillSource) AsResponsysSource() (*ResponsysSource, bool) {
60624	return nil, false
60625}
60626
60627// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for DrillSource.
60628func (ds DrillSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
60629	return nil, false
60630}
60631
60632// AsVerticaSource is the BasicCopySource implementation for DrillSource.
60633func (ds DrillSource) AsVerticaSource() (*VerticaSource, bool) {
60634	return nil, false
60635}
60636
60637// AsNetezzaSource is the BasicCopySource implementation for DrillSource.
60638func (ds DrillSource) AsNetezzaSource() (*NetezzaSource, bool) {
60639	return nil, false
60640}
60641
60642// AsZohoSource is the BasicCopySource implementation for DrillSource.
60643func (ds DrillSource) AsZohoSource() (*ZohoSource, bool) {
60644	return nil, false
60645}
60646
60647// AsXeroSource is the BasicCopySource implementation for DrillSource.
60648func (ds DrillSource) AsXeroSource() (*XeroSource, bool) {
60649	return nil, false
60650}
60651
60652// AsSquareSource is the BasicCopySource implementation for DrillSource.
60653func (ds DrillSource) AsSquareSource() (*SquareSource, bool) {
60654	return nil, false
60655}
60656
60657// AsSparkSource is the BasicCopySource implementation for DrillSource.
60658func (ds DrillSource) AsSparkSource() (*SparkSource, bool) {
60659	return nil, false
60660}
60661
60662// AsShopifySource is the BasicCopySource implementation for DrillSource.
60663func (ds DrillSource) AsShopifySource() (*ShopifySource, bool) {
60664	return nil, false
60665}
60666
60667// AsServiceNowSource is the BasicCopySource implementation for DrillSource.
60668func (ds DrillSource) AsServiceNowSource() (*ServiceNowSource, bool) {
60669	return nil, false
60670}
60671
60672// AsQuickBooksSource is the BasicCopySource implementation for DrillSource.
60673func (ds DrillSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
60674	return nil, false
60675}
60676
60677// AsPrestoSource is the BasicCopySource implementation for DrillSource.
60678func (ds DrillSource) AsPrestoSource() (*PrestoSource, bool) {
60679	return nil, false
60680}
60681
60682// AsPhoenixSource is the BasicCopySource implementation for DrillSource.
60683func (ds DrillSource) AsPhoenixSource() (*PhoenixSource, bool) {
60684	return nil, false
60685}
60686
60687// AsPaypalSource is the BasicCopySource implementation for DrillSource.
60688func (ds DrillSource) AsPaypalSource() (*PaypalSource, bool) {
60689	return nil, false
60690}
60691
60692// AsMarketoSource is the BasicCopySource implementation for DrillSource.
60693func (ds DrillSource) AsMarketoSource() (*MarketoSource, bool) {
60694	return nil, false
60695}
60696
60697// AsMariaDBSource is the BasicCopySource implementation for DrillSource.
60698func (ds DrillSource) AsMariaDBSource() (*MariaDBSource, bool) {
60699	return nil, false
60700}
60701
60702// AsMagentoSource is the BasicCopySource implementation for DrillSource.
60703func (ds DrillSource) AsMagentoSource() (*MagentoSource, bool) {
60704	return nil, false
60705}
60706
60707// AsJiraSource is the BasicCopySource implementation for DrillSource.
60708func (ds DrillSource) AsJiraSource() (*JiraSource, bool) {
60709	return nil, false
60710}
60711
60712// AsImpalaSource is the BasicCopySource implementation for DrillSource.
60713func (ds DrillSource) AsImpalaSource() (*ImpalaSource, bool) {
60714	return nil, false
60715}
60716
60717// AsHubspotSource is the BasicCopySource implementation for DrillSource.
60718func (ds DrillSource) AsHubspotSource() (*HubspotSource, bool) {
60719	return nil, false
60720}
60721
60722// AsHiveSource is the BasicCopySource implementation for DrillSource.
60723func (ds DrillSource) AsHiveSource() (*HiveSource, bool) {
60724	return nil, false
60725}
60726
60727// AsHBaseSource is the BasicCopySource implementation for DrillSource.
60728func (ds DrillSource) AsHBaseSource() (*HBaseSource, bool) {
60729	return nil, false
60730}
60731
60732// AsGreenplumSource is the BasicCopySource implementation for DrillSource.
60733func (ds DrillSource) AsGreenplumSource() (*GreenplumSource, bool) {
60734	return nil, false
60735}
60736
60737// AsGoogleBigQuerySource is the BasicCopySource implementation for DrillSource.
60738func (ds DrillSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
60739	return nil, false
60740}
60741
60742// AsEloquaSource is the BasicCopySource implementation for DrillSource.
60743func (ds DrillSource) AsEloquaSource() (*EloquaSource, bool) {
60744	return nil, false
60745}
60746
60747// AsDrillSource is the BasicCopySource implementation for DrillSource.
60748func (ds DrillSource) AsDrillSource() (*DrillSource, bool) {
60749	return &ds, true
60750}
60751
60752// AsCouchbaseSource is the BasicCopySource implementation for DrillSource.
60753func (ds DrillSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
60754	return nil, false
60755}
60756
60757// AsConcurSource is the BasicCopySource implementation for DrillSource.
60758func (ds DrillSource) AsConcurSource() (*ConcurSource, bool) {
60759	return nil, false
60760}
60761
60762// AsAzurePostgreSQLSource is the BasicCopySource implementation for DrillSource.
60763func (ds DrillSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
60764	return nil, false
60765}
60766
60767// AsAmazonMWSSource is the BasicCopySource implementation for DrillSource.
60768func (ds DrillSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
60769	return nil, false
60770}
60771
60772// AsHTTPSource is the BasicCopySource implementation for DrillSource.
60773func (ds DrillSource) AsHTTPSource() (*HTTPSource, bool) {
60774	return nil, false
60775}
60776
60777// AsAzureBlobFSSource is the BasicCopySource implementation for DrillSource.
60778func (ds DrillSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) {
60779	return nil, false
60780}
60781
60782// AsAzureDataLakeStoreSource is the BasicCopySource implementation for DrillSource.
60783func (ds DrillSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
60784	return nil, false
60785}
60786
60787// AsOffice365Source is the BasicCopySource implementation for DrillSource.
60788func (ds DrillSource) AsOffice365Source() (*Office365Source, bool) {
60789	return nil, false
60790}
60791
60792// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for DrillSource.
60793func (ds DrillSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) {
60794	return nil, false
60795}
60796
60797// AsMongoDbV2Source is the BasicCopySource implementation for DrillSource.
60798func (ds DrillSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) {
60799	return nil, false
60800}
60801
60802// AsMongoDbSource is the BasicCopySource implementation for DrillSource.
60803func (ds DrillSource) AsMongoDbSource() (*MongoDbSource, bool) {
60804	return nil, false
60805}
60806
60807// AsCassandraSource is the BasicCopySource implementation for DrillSource.
60808func (ds DrillSource) AsCassandraSource() (*CassandraSource, bool) {
60809	return nil, false
60810}
60811
60812// AsWebSource is the BasicCopySource implementation for DrillSource.
60813func (ds DrillSource) AsWebSource() (*WebSource, bool) {
60814	return nil, false
60815}
60816
60817// AsTeradataSource is the BasicCopySource implementation for DrillSource.
60818func (ds DrillSource) AsTeradataSource() (*TeradataSource, bool) {
60819	return nil, false
60820}
60821
60822// AsOracleSource is the BasicCopySource implementation for DrillSource.
60823func (ds DrillSource) AsOracleSource() (*OracleSource, bool) {
60824	return nil, false
60825}
60826
60827// AsAzureDataExplorerSource is the BasicCopySource implementation for DrillSource.
60828func (ds DrillSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) {
60829	return nil, false
60830}
60831
60832// AsAzureMySQLSource is the BasicCopySource implementation for DrillSource.
60833func (ds DrillSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
60834	return nil, false
60835}
60836
60837// AsHdfsSource is the BasicCopySource implementation for DrillSource.
60838func (ds DrillSource) AsHdfsSource() (*HdfsSource, bool) {
60839	return nil, false
60840}
60841
60842// AsFileSystemSource is the BasicCopySource implementation for DrillSource.
60843func (ds DrillSource) AsFileSystemSource() (*FileSystemSource, bool) {
60844	return nil, false
60845}
60846
60847// AsSQLDWSource is the BasicCopySource implementation for DrillSource.
60848func (ds DrillSource) AsSQLDWSource() (*SQLDWSource, bool) {
60849	return nil, false
60850}
60851
60852// AsSQLMISource is the BasicCopySource implementation for DrillSource.
60853func (ds DrillSource) AsSQLMISource() (*SQLMISource, bool) {
60854	return nil, false
60855}
60856
60857// AsAzureSQLSource is the BasicCopySource implementation for DrillSource.
60858func (ds DrillSource) AsAzureSQLSource() (*AzureSQLSource, bool) {
60859	return nil, false
60860}
60861
60862// AsSQLServerSource is the BasicCopySource implementation for DrillSource.
60863func (ds DrillSource) AsSQLServerSource() (*SQLServerSource, bool) {
60864	return nil, false
60865}
60866
60867// AsSQLSource is the BasicCopySource implementation for DrillSource.
60868func (ds DrillSource) AsSQLSource() (*SQLSource, bool) {
60869	return nil, false
60870}
60871
60872// AsRestSource is the BasicCopySource implementation for DrillSource.
60873func (ds DrillSource) AsRestSource() (*RestSource, bool) {
60874	return nil, false
60875}
60876
60877// AsSapTableSource is the BasicCopySource implementation for DrillSource.
60878func (ds DrillSource) AsSapTableSource() (*SapTableSource, bool) {
60879	return nil, false
60880}
60881
60882// AsSapOpenHubSource is the BasicCopySource implementation for DrillSource.
60883func (ds DrillSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) {
60884	return nil, false
60885}
60886
60887// AsSapHanaSource is the BasicCopySource implementation for DrillSource.
60888func (ds DrillSource) AsSapHanaSource() (*SapHanaSource, bool) {
60889	return nil, false
60890}
60891
60892// AsSapEccSource is the BasicCopySource implementation for DrillSource.
60893func (ds DrillSource) AsSapEccSource() (*SapEccSource, bool) {
60894	return nil, false
60895}
60896
60897// AsSapCloudForCustomerSource is the BasicCopySource implementation for DrillSource.
60898func (ds DrillSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
60899	return nil, false
60900}
60901
60902// AsSalesforceServiceCloudSource is the BasicCopySource implementation for DrillSource.
60903func (ds DrillSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) {
60904	return nil, false
60905}
60906
60907// AsSalesforceSource is the BasicCopySource implementation for DrillSource.
60908func (ds DrillSource) AsSalesforceSource() (*SalesforceSource, bool) {
60909	return nil, false
60910}
60911
60912// AsODataSource is the BasicCopySource implementation for DrillSource.
60913func (ds DrillSource) AsODataSource() (*ODataSource, bool) {
60914	return nil, false
60915}
60916
60917// AsSybaseSource is the BasicCopySource implementation for DrillSource.
60918func (ds DrillSource) AsSybaseSource() (*SybaseSource, bool) {
60919	return nil, false
60920}
60921
60922// AsPostgreSQLSource is the BasicCopySource implementation for DrillSource.
60923func (ds DrillSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) {
60924	return nil, false
60925}
60926
60927// AsMySQLSource is the BasicCopySource implementation for DrillSource.
60928func (ds DrillSource) AsMySQLSource() (*MySQLSource, bool) {
60929	return nil, false
60930}
60931
60932// AsOdbcSource is the BasicCopySource implementation for DrillSource.
60933func (ds DrillSource) AsOdbcSource() (*OdbcSource, bool) {
60934	return nil, false
60935}
60936
60937// AsDb2Source is the BasicCopySource implementation for DrillSource.
60938func (ds DrillSource) AsDb2Source() (*Db2Source, bool) {
60939	return nil, false
60940}
60941
60942// AsMicrosoftAccessSource is the BasicCopySource implementation for DrillSource.
60943func (ds DrillSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) {
60944	return nil, false
60945}
60946
60947// AsInformixSource is the BasicCopySource implementation for DrillSource.
60948func (ds DrillSource) AsInformixSource() (*InformixSource, bool) {
60949	return nil, false
60950}
60951
60952// AsRelationalSource is the BasicCopySource implementation for DrillSource.
60953func (ds DrillSource) AsRelationalSource() (*RelationalSource, bool) {
60954	return nil, false
60955}
60956
60957// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for DrillSource.
60958func (ds DrillSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) {
60959	return nil, false
60960}
60961
60962// AsDynamicsCrmSource is the BasicCopySource implementation for DrillSource.
60963func (ds DrillSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) {
60964	return nil, false
60965}
60966
60967// AsDynamicsSource is the BasicCopySource implementation for DrillSource.
60968func (ds DrillSource) AsDynamicsSource() (*DynamicsSource, bool) {
60969	return nil, false
60970}
60971
60972// AsDocumentDbCollectionSource is the BasicCopySource implementation for DrillSource.
60973func (ds DrillSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
60974	return nil, false
60975}
60976
60977// AsBlobSource is the BasicCopySource implementation for DrillSource.
60978func (ds DrillSource) AsBlobSource() (*BlobSource, bool) {
60979	return nil, false
60980}
60981
60982// AsAzureTableSource is the BasicCopySource implementation for DrillSource.
60983func (ds DrillSource) AsAzureTableSource() (*AzureTableSource, bool) {
60984	return nil, false
60985}
60986
60987// AsBinarySource is the BasicCopySource implementation for DrillSource.
60988func (ds DrillSource) AsBinarySource() (*BinarySource, bool) {
60989	return nil, false
60990}
60991
60992// AsDelimitedTextSource is the BasicCopySource implementation for DrillSource.
60993func (ds DrillSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) {
60994	return nil, false
60995}
60996
60997// AsParquetSource is the BasicCopySource implementation for DrillSource.
60998func (ds DrillSource) AsParquetSource() (*ParquetSource, bool) {
60999	return nil, false
61000}
61001
61002// AsCopySource is the BasicCopySource implementation for DrillSource.
61003func (ds DrillSource) AsCopySource() (*CopySource, bool) {
61004	return nil, false
61005}
61006
61007// AsBasicCopySource is the BasicCopySource implementation for DrillSource.
61008func (ds DrillSource) AsBasicCopySource() (BasicCopySource, bool) {
61009	return &ds, true
61010}
61011
61012// UnmarshalJSON is the custom unmarshaler for DrillSource struct.
61013func (ds *DrillSource) UnmarshalJSON(body []byte) error {
61014	var m map[string]*json.RawMessage
61015	err := json.Unmarshal(body, &m)
61016	if err != nil {
61017		return err
61018	}
61019	for k, v := range m {
61020		switch k {
61021		case "query":
61022			if v != nil {
61023				var query interface{}
61024				err = json.Unmarshal(*v, &query)
61025				if err != nil {
61026					return err
61027				}
61028				ds.Query = query
61029			}
61030		default:
61031			if v != nil {
61032				var additionalProperties interface{}
61033				err = json.Unmarshal(*v, &additionalProperties)
61034				if err != nil {
61035					return err
61036				}
61037				if ds.AdditionalProperties == nil {
61038					ds.AdditionalProperties = make(map[string]interface{})
61039				}
61040				ds.AdditionalProperties[k] = additionalProperties
61041			}
61042		case "sourceRetryCount":
61043			if v != nil {
61044				var sourceRetryCount interface{}
61045				err = json.Unmarshal(*v, &sourceRetryCount)
61046				if err != nil {
61047					return err
61048				}
61049				ds.SourceRetryCount = sourceRetryCount
61050			}
61051		case "sourceRetryWait":
61052			if v != nil {
61053				var sourceRetryWait interface{}
61054				err = json.Unmarshal(*v, &sourceRetryWait)
61055				if err != nil {
61056					return err
61057				}
61058				ds.SourceRetryWait = sourceRetryWait
61059			}
61060		case "maxConcurrentConnections":
61061			if v != nil {
61062				var maxConcurrentConnections interface{}
61063				err = json.Unmarshal(*v, &maxConcurrentConnections)
61064				if err != nil {
61065					return err
61066				}
61067				ds.MaxConcurrentConnections = maxConcurrentConnections
61068			}
61069		case "type":
61070			if v != nil {
61071				var typeVar TypeBasicCopySource
61072				err = json.Unmarshal(*v, &typeVar)
61073				if err != nil {
61074					return err
61075				}
61076				ds.Type = typeVar
61077			}
61078		}
61079	}
61080
61081	return nil
61082}
61083
61084// DrillTableDataset drill server dataset.
61085type DrillTableDataset struct {
61086	// GenericDatasetTypeProperties - Properties specific to this dataset type.
61087	*GenericDatasetTypeProperties `json:"typeProperties,omitempty"`
61088	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
61089	AdditionalProperties map[string]interface{} `json:""`
61090	// Description - Dataset description.
61091	Description *string `json:"description,omitempty"`
61092	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
61093	Structure interface{} `json:"structure,omitempty"`
61094	// Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement.
61095	Schema interface{} `json:"schema,omitempty"`
61096	// LinkedServiceName - Linked service reference.
61097	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
61098	// Parameters - Parameters for dataset.
61099	Parameters map[string]*ParameterSpecification `json:"parameters"`
61100	// Annotations - List of tags that can be used for describing the Dataset.
61101	Annotations *[]interface{} `json:"annotations,omitempty"`
61102	// Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level.
61103	Folder *DatasetFolder `json:"folder,omitempty"`
61104	// Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', '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', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeDelimitedText', 'TypeParquet', 'TypeAmazonS3Object'
61105	Type TypeBasicDataset `json:"type,omitempty"`
61106}
61107
61108// MarshalJSON is the custom marshaler for DrillTableDataset.
61109func (dtd DrillTableDataset) MarshalJSON() ([]byte, error) {
61110	dtd.Type = TypeDrillTable
61111	objectMap := make(map[string]interface{})
61112	if dtd.GenericDatasetTypeProperties != nil {
61113		objectMap["typeProperties"] = dtd.GenericDatasetTypeProperties
61114	}
61115	if dtd.Description != nil {
61116		objectMap["description"] = dtd.Description
61117	}
61118	if dtd.Structure != nil {
61119		objectMap["structure"] = dtd.Structure
61120	}
61121	if dtd.Schema != nil {
61122		objectMap["schema"] = dtd.Schema
61123	}
61124	if dtd.LinkedServiceName != nil {
61125		objectMap["linkedServiceName"] = dtd.LinkedServiceName
61126	}
61127	if dtd.Parameters != nil {
61128		objectMap["parameters"] = dtd.Parameters
61129	}
61130	if dtd.Annotations != nil {
61131		objectMap["annotations"] = dtd.Annotations
61132	}
61133	if dtd.Folder != nil {
61134		objectMap["folder"] = dtd.Folder
61135	}
61136	if dtd.Type != "" {
61137		objectMap["type"] = dtd.Type
61138	}
61139	for k, v := range dtd.AdditionalProperties {
61140		objectMap[k] = v
61141	}
61142	return json.Marshal(objectMap)
61143}
61144
61145// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for DrillTableDataset.
61146func (dtd DrillTableDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) {
61147	return nil, false
61148}
61149
61150// AsAzureDataExplorerTableDataset is the BasicDataset implementation for DrillTableDataset.
61151func (dtd DrillTableDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) {
61152	return nil, false
61153}
61154
61155// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for DrillTableDataset.
61156func (dtd DrillTableDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) {
61157	return nil, false
61158}
61159
61160// AsDynamicsAXResourceDataset is the BasicDataset implementation for DrillTableDataset.
61161func (dtd DrillTableDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) {
61162	return nil, false
61163}
61164
61165// AsResponsysObjectDataset is the BasicDataset implementation for DrillTableDataset.
61166func (dtd DrillTableDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
61167	return nil, false
61168}
61169
61170// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for DrillTableDataset.
61171func (dtd DrillTableDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
61172	return nil, false
61173}
61174
61175// AsVerticaTableDataset is the BasicDataset implementation for DrillTableDataset.
61176func (dtd DrillTableDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
61177	return nil, false
61178}
61179
61180// AsNetezzaTableDataset is the BasicDataset implementation for DrillTableDataset.
61181func (dtd DrillTableDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
61182	return nil, false
61183}
61184
61185// AsZohoObjectDataset is the BasicDataset implementation for DrillTableDataset.
61186func (dtd DrillTableDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
61187	return nil, false
61188}
61189
61190// AsXeroObjectDataset is the BasicDataset implementation for DrillTableDataset.
61191func (dtd DrillTableDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
61192	return nil, false
61193}
61194
61195// AsSquareObjectDataset is the BasicDataset implementation for DrillTableDataset.
61196func (dtd DrillTableDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
61197	return nil, false
61198}
61199
61200// AsSparkObjectDataset is the BasicDataset implementation for DrillTableDataset.
61201func (dtd DrillTableDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
61202	return nil, false
61203}
61204
61205// AsShopifyObjectDataset is the BasicDataset implementation for DrillTableDataset.
61206func (dtd DrillTableDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
61207	return nil, false
61208}
61209
61210// AsServiceNowObjectDataset is the BasicDataset implementation for DrillTableDataset.
61211func (dtd DrillTableDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
61212	return nil, false
61213}
61214
61215// AsQuickBooksObjectDataset is the BasicDataset implementation for DrillTableDataset.
61216func (dtd DrillTableDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
61217	return nil, false
61218}
61219
61220// AsPrestoObjectDataset is the BasicDataset implementation for DrillTableDataset.
61221func (dtd DrillTableDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
61222	return nil, false
61223}
61224
61225// AsPhoenixObjectDataset is the BasicDataset implementation for DrillTableDataset.
61226func (dtd DrillTableDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
61227	return nil, false
61228}
61229
61230// AsPaypalObjectDataset is the BasicDataset implementation for DrillTableDataset.
61231func (dtd DrillTableDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
61232	return nil, false
61233}
61234
61235// AsMarketoObjectDataset is the BasicDataset implementation for DrillTableDataset.
61236func (dtd DrillTableDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
61237	return nil, false
61238}
61239
61240// AsMariaDBTableDataset is the BasicDataset implementation for DrillTableDataset.
61241func (dtd DrillTableDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
61242	return nil, false
61243}
61244
61245// AsMagentoObjectDataset is the BasicDataset implementation for DrillTableDataset.
61246func (dtd DrillTableDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
61247	return nil, false
61248}
61249
61250// AsJiraObjectDataset is the BasicDataset implementation for DrillTableDataset.
61251func (dtd DrillTableDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
61252	return nil, false
61253}
61254
61255// AsImpalaObjectDataset is the BasicDataset implementation for DrillTableDataset.
61256func (dtd DrillTableDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
61257	return nil, false
61258}
61259
61260// AsHubspotObjectDataset is the BasicDataset implementation for DrillTableDataset.
61261func (dtd DrillTableDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
61262	return nil, false
61263}
61264
61265// AsHiveObjectDataset is the BasicDataset implementation for DrillTableDataset.
61266func (dtd DrillTableDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
61267	return nil, false
61268}
61269
61270// AsHBaseObjectDataset is the BasicDataset implementation for DrillTableDataset.
61271func (dtd DrillTableDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
61272	return nil, false
61273}
61274
61275// AsGreenplumTableDataset is the BasicDataset implementation for DrillTableDataset.
61276func (dtd DrillTableDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
61277	return nil, false
61278}
61279
61280// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for DrillTableDataset.
61281func (dtd DrillTableDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
61282	return nil, false
61283}
61284
61285// AsEloquaObjectDataset is the BasicDataset implementation for DrillTableDataset.
61286func (dtd DrillTableDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
61287	return nil, false
61288}
61289
61290// AsDrillTableDataset is the BasicDataset implementation for DrillTableDataset.
61291func (dtd DrillTableDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
61292	return &dtd, true
61293}
61294
61295// AsCouchbaseTableDataset is the BasicDataset implementation for DrillTableDataset.
61296func (dtd DrillTableDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
61297	return nil, false
61298}
61299
61300// AsConcurObjectDataset is the BasicDataset implementation for DrillTableDataset.
61301func (dtd DrillTableDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
61302	return nil, false
61303}
61304
61305// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for DrillTableDataset.
61306func (dtd DrillTableDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
61307	return nil, false
61308}
61309
61310// AsAmazonMWSObjectDataset is the BasicDataset implementation for DrillTableDataset.
61311func (dtd DrillTableDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
61312	return nil, false
61313}
61314
61315// AsHTTPDataset is the BasicDataset implementation for DrillTableDataset.
61316func (dtd DrillTableDataset) AsHTTPDataset() (*HTTPDataset, bool) {
61317	return nil, false
61318}
61319
61320// AsAzureSearchIndexDataset is the BasicDataset implementation for DrillTableDataset.
61321func (dtd DrillTableDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
61322	return nil, false
61323}
61324
61325// AsWebTableDataset is the BasicDataset implementation for DrillTableDataset.
61326func (dtd DrillTableDataset) AsWebTableDataset() (*WebTableDataset, bool) {
61327	return nil, false
61328}
61329
61330// AsSapTableResourceDataset is the BasicDataset implementation for DrillTableDataset.
61331func (dtd DrillTableDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) {
61332	return nil, false
61333}
61334
61335// AsRestResourceDataset is the BasicDataset implementation for DrillTableDataset.
61336func (dtd DrillTableDataset) AsRestResourceDataset() (*RestResourceDataset, bool) {
61337	return nil, false
61338}
61339
61340// AsSQLServerTableDataset is the BasicDataset implementation for DrillTableDataset.
61341func (dtd DrillTableDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
61342	return nil, false
61343}
61344
61345// AsSapOpenHubTableDataset is the BasicDataset implementation for DrillTableDataset.
61346func (dtd DrillTableDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) {
61347	return nil, false
61348}
61349
61350// AsSapHanaTableDataset is the BasicDataset implementation for DrillTableDataset.
61351func (dtd DrillTableDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) {
61352	return nil, false
61353}
61354
61355// AsSapEccResourceDataset is the BasicDataset implementation for DrillTableDataset.
61356func (dtd DrillTableDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
61357	return nil, false
61358}
61359
61360// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for DrillTableDataset.
61361func (dtd DrillTableDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
61362	return nil, false
61363}
61364
61365// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for DrillTableDataset.
61366func (dtd DrillTableDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) {
61367	return nil, false
61368}
61369
61370// AsSalesforceObjectDataset is the BasicDataset implementation for DrillTableDataset.
61371func (dtd DrillTableDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
61372	return nil, false
61373}
61374
61375// AsMicrosoftAccessTableDataset is the BasicDataset implementation for DrillTableDataset.
61376func (dtd DrillTableDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) {
61377	return nil, false
61378}
61379
61380// AsPostgreSQLTableDataset is the BasicDataset implementation for DrillTableDataset.
61381func (dtd DrillTableDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) {
61382	return nil, false
61383}
61384
61385// AsMySQLTableDataset is the BasicDataset implementation for DrillTableDataset.
61386func (dtd DrillTableDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) {
61387	return nil, false
61388}
61389
61390// AsOdbcTableDataset is the BasicDataset implementation for DrillTableDataset.
61391func (dtd DrillTableDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) {
61392	return nil, false
61393}
61394
61395// AsInformixTableDataset is the BasicDataset implementation for DrillTableDataset.
61396func (dtd DrillTableDataset) AsInformixTableDataset() (*InformixTableDataset, bool) {
61397	return nil, false
61398}
61399
61400// AsRelationalTableDataset is the BasicDataset implementation for DrillTableDataset.
61401func (dtd DrillTableDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
61402	return nil, false
61403}
61404
61405// AsAzureMySQLTableDataset is the BasicDataset implementation for DrillTableDataset.
61406func (dtd DrillTableDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
61407	return nil, false
61408}
61409
61410// AsTeradataTableDataset is the BasicDataset implementation for DrillTableDataset.
61411func (dtd DrillTableDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) {
61412	return nil, false
61413}
61414
61415// AsOracleTableDataset is the BasicDataset implementation for DrillTableDataset.
61416func (dtd DrillTableDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
61417	return nil, false
61418}
61419
61420// AsODataResourceDataset is the BasicDataset implementation for DrillTableDataset.
61421func (dtd DrillTableDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
61422	return nil, false
61423}
61424
61425// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for DrillTableDataset.
61426func (dtd DrillTableDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) {
61427	return nil, false
61428}
61429
61430// AsMongoDbV2CollectionDataset is the BasicDataset implementation for DrillTableDataset.
61431func (dtd DrillTableDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) {
61432	return nil, false
61433}
61434
61435// AsMongoDbCollectionDataset is the BasicDataset implementation for DrillTableDataset.
61436func (dtd DrillTableDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
61437	return nil, false
61438}
61439
61440// AsFileShareDataset is the BasicDataset implementation for DrillTableDataset.
61441func (dtd DrillTableDataset) AsFileShareDataset() (*FileShareDataset, bool) {
61442	return nil, false
61443}
61444
61445// AsOffice365Dataset is the BasicDataset implementation for DrillTableDataset.
61446func (dtd DrillTableDataset) AsOffice365Dataset() (*Office365Dataset, bool) {
61447	return nil, false
61448}
61449
61450// AsAzureBlobFSDataset is the BasicDataset implementation for DrillTableDataset.
61451func (dtd DrillTableDataset) AsAzureBlobFSDataset() (*AzureBlobFSDataset, bool) {
61452	return nil, false
61453}
61454
61455// AsAzureDataLakeStoreDataset is the BasicDataset implementation for DrillTableDataset.
61456func (dtd DrillTableDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) {
61457	return nil, false
61458}
61459
61460// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for DrillTableDataset.
61461func (dtd DrillTableDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) {
61462	return nil, false
61463}
61464
61465// AsDynamicsCrmEntityDataset is the BasicDataset implementation for DrillTableDataset.
61466func (dtd DrillTableDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) {
61467	return nil, false
61468}
61469
61470// AsDynamicsEntityDataset is the BasicDataset implementation for DrillTableDataset.
61471func (dtd DrillTableDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
61472	return nil, false
61473}
61474
61475// AsDocumentDbCollectionDataset is the BasicDataset implementation for DrillTableDataset.
61476func (dtd DrillTableDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
61477	return nil, false
61478}
61479
61480// AsCustomDataset is the BasicDataset implementation for DrillTableDataset.
61481func (dtd DrillTableDataset) AsCustomDataset() (*CustomDataset, bool) {
61482	return nil, false
61483}
61484
61485// AsCassandraTableDataset is the BasicDataset implementation for DrillTableDataset.
61486func (dtd DrillTableDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
61487	return nil, false
61488}
61489
61490// AsAzureSQLDWTableDataset is the BasicDataset implementation for DrillTableDataset.
61491func (dtd DrillTableDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
61492	return nil, false
61493}
61494
61495// AsAzureSQLMITableDataset is the BasicDataset implementation for DrillTableDataset.
61496func (dtd DrillTableDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) {
61497	return nil, false
61498}
61499
61500// AsAzureSQLTableDataset is the BasicDataset implementation for DrillTableDataset.
61501func (dtd DrillTableDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
61502	return nil, false
61503}
61504
61505// AsAzureTableDataset is the BasicDataset implementation for DrillTableDataset.
61506func (dtd DrillTableDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
61507	return nil, false
61508}
61509
61510// AsAzureBlobDataset is the BasicDataset implementation for DrillTableDataset.
61511func (dtd DrillTableDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) {
61512	return nil, false
61513}
61514
61515// AsBinaryDataset is the BasicDataset implementation for DrillTableDataset.
61516func (dtd DrillTableDataset) AsBinaryDataset() (*BinaryDataset, bool) {
61517	return nil, false
61518}
61519
61520// AsDelimitedTextDataset is the BasicDataset implementation for DrillTableDataset.
61521func (dtd DrillTableDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) {
61522	return nil, false
61523}
61524
61525// AsParquetDataset is the BasicDataset implementation for DrillTableDataset.
61526func (dtd DrillTableDataset) AsParquetDataset() (*ParquetDataset, bool) {
61527	return nil, false
61528}
61529
61530// AsAmazonS3Dataset is the BasicDataset implementation for DrillTableDataset.
61531func (dtd DrillTableDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) {
61532	return nil, false
61533}
61534
61535// AsDataset is the BasicDataset implementation for DrillTableDataset.
61536func (dtd DrillTableDataset) AsDataset() (*Dataset, bool) {
61537	return nil, false
61538}
61539
61540// AsBasicDataset is the BasicDataset implementation for DrillTableDataset.
61541func (dtd DrillTableDataset) AsBasicDataset() (BasicDataset, bool) {
61542	return &dtd, true
61543}
61544
61545// UnmarshalJSON is the custom unmarshaler for DrillTableDataset struct.
61546func (dtd *DrillTableDataset) UnmarshalJSON(body []byte) error {
61547	var m map[string]*json.RawMessage
61548	err := json.Unmarshal(body, &m)
61549	if err != nil {
61550		return err
61551	}
61552	for k, v := range m {
61553		switch k {
61554		case "typeProperties":
61555			if v != nil {
61556				var genericDatasetTypeProperties GenericDatasetTypeProperties
61557				err = json.Unmarshal(*v, &genericDatasetTypeProperties)
61558				if err != nil {
61559					return err
61560				}
61561				dtd.GenericDatasetTypeProperties = &genericDatasetTypeProperties
61562			}
61563		default:
61564			if v != nil {
61565				var additionalProperties interface{}
61566				err = json.Unmarshal(*v, &additionalProperties)
61567				if err != nil {
61568					return err
61569				}
61570				if dtd.AdditionalProperties == nil {
61571					dtd.AdditionalProperties = make(map[string]interface{})
61572				}
61573				dtd.AdditionalProperties[k] = additionalProperties
61574			}
61575		case "description":
61576			if v != nil {
61577				var description string
61578				err = json.Unmarshal(*v, &description)
61579				if err != nil {
61580					return err
61581				}
61582				dtd.Description = &description
61583			}
61584		case "structure":
61585			if v != nil {
61586				var structure interface{}
61587				err = json.Unmarshal(*v, &structure)
61588				if err != nil {
61589					return err
61590				}
61591				dtd.Structure = structure
61592			}
61593		case "schema":
61594			if v != nil {
61595				var schema interface{}
61596				err = json.Unmarshal(*v, &schema)
61597				if err != nil {
61598					return err
61599				}
61600				dtd.Schema = schema
61601			}
61602		case "linkedServiceName":
61603			if v != nil {
61604				var linkedServiceName LinkedServiceReference
61605				err = json.Unmarshal(*v, &linkedServiceName)
61606				if err != nil {
61607					return err
61608				}
61609				dtd.LinkedServiceName = &linkedServiceName
61610			}
61611		case "parameters":
61612			if v != nil {
61613				var parameters map[string]*ParameterSpecification
61614				err = json.Unmarshal(*v, &parameters)
61615				if err != nil {
61616					return err
61617				}
61618				dtd.Parameters = parameters
61619			}
61620		case "annotations":
61621			if v != nil {
61622				var annotations []interface{}
61623				err = json.Unmarshal(*v, &annotations)
61624				if err != nil {
61625					return err
61626				}
61627				dtd.Annotations = &annotations
61628			}
61629		case "folder":
61630			if v != nil {
61631				var folder DatasetFolder
61632				err = json.Unmarshal(*v, &folder)
61633				if err != nil {
61634					return err
61635				}
61636				dtd.Folder = &folder
61637			}
61638		case "type":
61639			if v != nil {
61640				var typeVar TypeBasicDataset
61641				err = json.Unmarshal(*v, &typeVar)
61642				if err != nil {
61643					return err
61644				}
61645				dtd.Type = typeVar
61646			}
61647		}
61648	}
61649
61650	return nil
61651}
61652
61653// DynamicsAXLinkedService dynamics AX linked service.
61654type DynamicsAXLinkedService struct {
61655	// DynamicsAXLinkedServiceTypeProperties - Dynamics AX linked service properties.
61656	*DynamicsAXLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
61657	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
61658	AdditionalProperties map[string]interface{} `json:""`
61659	// ConnectVia - The integration runtime reference.
61660	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
61661	// Description - Linked service description.
61662	Description *string `json:"description,omitempty"`
61663	// Parameters - Parameters for linked service.
61664	Parameters map[string]*ParameterSpecification `json:"parameters"`
61665	// Annotations - List of tags that can be used for describing the linked service.
61666	Annotations *[]interface{} `json:"annotations,omitempty"`
61667	// Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', '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', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage'
61668	Type TypeBasicLinkedService `json:"type,omitempty"`
61669}
61670
61671// MarshalJSON is the custom marshaler for DynamicsAXLinkedService.
61672func (dals DynamicsAXLinkedService) MarshalJSON() ([]byte, error) {
61673	dals.Type = TypeDynamicsAX
61674	objectMap := make(map[string]interface{})
61675	if dals.DynamicsAXLinkedServiceTypeProperties != nil {
61676		objectMap["typeProperties"] = dals.DynamicsAXLinkedServiceTypeProperties
61677	}
61678	if dals.ConnectVia != nil {
61679		objectMap["connectVia"] = dals.ConnectVia
61680	}
61681	if dals.Description != nil {
61682		objectMap["description"] = dals.Description
61683	}
61684	if dals.Parameters != nil {
61685		objectMap["parameters"] = dals.Parameters
61686	}
61687	if dals.Annotations != nil {
61688		objectMap["annotations"] = dals.Annotations
61689	}
61690	if dals.Type != "" {
61691		objectMap["type"] = dals.Type
61692	}
61693	for k, v := range dals.AdditionalProperties {
61694		objectMap[k] = v
61695	}
61696	return json.Marshal(objectMap)
61697}
61698
61699// AsAzureFunctionLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService.
61700func (dals DynamicsAXLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) {
61701	return nil, false
61702}
61703
61704// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService.
61705func (dals DynamicsAXLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) {
61706	return nil, false
61707}
61708
61709// AsSapTableLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService.
61710func (dals DynamicsAXLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) {
61711	return nil, false
61712}
61713
61714// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService.
61715func (dals DynamicsAXLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) {
61716	return nil, false
61717}
61718
61719// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService.
61720func (dals DynamicsAXLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) {
61721	return nil, false
61722}
61723
61724// AsDynamicsAXLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService.
61725func (dals DynamicsAXLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) {
61726	return &dals, true
61727}
61728
61729// AsResponsysLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService.
61730func (dals DynamicsAXLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
61731	return nil, false
61732}
61733
61734// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService.
61735func (dals DynamicsAXLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
61736	return nil, false
61737}
61738
61739// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService.
61740func (dals DynamicsAXLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
61741	return nil, false
61742}
61743
61744// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService.
61745func (dals DynamicsAXLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
61746	return nil, false
61747}
61748
61749// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService.
61750func (dals DynamicsAXLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
61751	return nil, false
61752}
61753
61754// AsNetezzaLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService.
61755func (dals DynamicsAXLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
61756	return nil, false
61757}
61758
61759// AsVerticaLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService.
61760func (dals DynamicsAXLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
61761	return nil, false
61762}
61763
61764// AsZohoLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService.
61765func (dals DynamicsAXLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
61766	return nil, false
61767}
61768
61769// AsXeroLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService.
61770func (dals DynamicsAXLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
61771	return nil, false
61772}
61773
61774// AsSquareLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService.
61775func (dals DynamicsAXLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
61776	return nil, false
61777}
61778
61779// AsSparkLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService.
61780func (dals DynamicsAXLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
61781	return nil, false
61782}
61783
61784// AsShopifyLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService.
61785func (dals DynamicsAXLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
61786	return nil, false
61787}
61788
61789// AsServiceNowLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService.
61790func (dals DynamicsAXLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
61791	return nil, false
61792}
61793
61794// AsQuickBooksLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService.
61795func (dals DynamicsAXLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
61796	return nil, false
61797}
61798
61799// AsPrestoLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService.
61800func (dals DynamicsAXLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
61801	return nil, false
61802}
61803
61804// AsPhoenixLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService.
61805func (dals DynamicsAXLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
61806	return nil, false
61807}
61808
61809// AsPaypalLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService.
61810func (dals DynamicsAXLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
61811	return nil, false
61812}
61813
61814// AsMarketoLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService.
61815func (dals DynamicsAXLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
61816	return nil, false
61817}
61818
61819// AsMariaDBLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService.
61820func (dals DynamicsAXLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
61821	return nil, false
61822}
61823
61824// AsMagentoLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService.
61825func (dals DynamicsAXLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
61826	return nil, false
61827}
61828
61829// AsJiraLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService.
61830func (dals DynamicsAXLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
61831	return nil, false
61832}
61833
61834// AsImpalaLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService.
61835func (dals DynamicsAXLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
61836	return nil, false
61837}
61838
61839// AsHubspotLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService.
61840func (dals DynamicsAXLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
61841	return nil, false
61842}
61843
61844// AsHiveLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService.
61845func (dals DynamicsAXLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
61846	return nil, false
61847}
61848
61849// AsHBaseLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService.
61850func (dals DynamicsAXLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
61851	return nil, false
61852}
61853
61854// AsGreenplumLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService.
61855func (dals DynamicsAXLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
61856	return nil, false
61857}
61858
61859// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService.
61860func (dals DynamicsAXLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
61861	return nil, false
61862}
61863
61864// AsEloquaLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService.
61865func (dals DynamicsAXLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
61866	return nil, false
61867}
61868
61869// AsDrillLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService.
61870func (dals DynamicsAXLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
61871	return nil, false
61872}
61873
61874// AsCouchbaseLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService.
61875func (dals DynamicsAXLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
61876	return nil, false
61877}
61878
61879// AsConcurLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService.
61880func (dals DynamicsAXLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
61881	return nil, false
61882}
61883
61884// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService.
61885func (dals DynamicsAXLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
61886	return nil, false
61887}
61888
61889// AsAmazonMWSLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService.
61890func (dals DynamicsAXLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
61891	return nil, false
61892}
61893
61894// AsSapHanaLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService.
61895func (dals DynamicsAXLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
61896	return nil, false
61897}
61898
61899// AsSapBWLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService.
61900func (dals DynamicsAXLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
61901	return nil, false
61902}
61903
61904// AsSftpServerLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService.
61905func (dals DynamicsAXLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
61906	return nil, false
61907}
61908
61909// AsFtpServerLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService.
61910func (dals DynamicsAXLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
61911	return nil, false
61912}
61913
61914// AsHTTPLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService.
61915func (dals DynamicsAXLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
61916	return nil, false
61917}
61918
61919// AsAzureSearchLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService.
61920func (dals DynamicsAXLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
61921	return nil, false
61922}
61923
61924// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService.
61925func (dals DynamicsAXLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
61926	return nil, false
61927}
61928
61929// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService.
61930func (dals DynamicsAXLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
61931	return nil, false
61932}
61933
61934// AsAmazonS3LinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService.
61935func (dals DynamicsAXLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
61936	return nil, false
61937}
61938
61939// AsRestServiceLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService.
61940func (dals DynamicsAXLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) {
61941	return nil, false
61942}
61943
61944// AsSapOpenHubLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService.
61945func (dals DynamicsAXLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) {
61946	return nil, false
61947}
61948
61949// AsSapEccLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService.
61950func (dals DynamicsAXLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
61951	return nil, false
61952}
61953
61954// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService.
61955func (dals DynamicsAXLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
61956	return nil, false
61957}
61958
61959// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService.
61960func (dals DynamicsAXLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) {
61961	return nil, false
61962}
61963
61964// AsSalesforceLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService.
61965func (dals DynamicsAXLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
61966	return nil, false
61967}
61968
61969// AsOffice365LinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService.
61970func (dals DynamicsAXLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) {
61971	return nil, false
61972}
61973
61974// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService.
61975func (dals DynamicsAXLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) {
61976	return nil, false
61977}
61978
61979// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService.
61980func (dals DynamicsAXLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
61981	return nil, false
61982}
61983
61984// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService.
61985func (dals DynamicsAXLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) {
61986	return nil, false
61987}
61988
61989// AsMongoDbV2LinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService.
61990func (dals DynamicsAXLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) {
61991	return nil, false
61992}
61993
61994// AsMongoDbLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService.
61995func (dals DynamicsAXLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
61996	return nil, false
61997}
61998
61999// AsCassandraLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService.
62000func (dals DynamicsAXLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
62001	return nil, false
62002}
62003
62004// AsWebLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService.
62005func (dals DynamicsAXLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
62006	return nil, false
62007}
62008
62009// AsODataLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService.
62010func (dals DynamicsAXLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
62011	return nil, false
62012}
62013
62014// AsHdfsLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService.
62015func (dals DynamicsAXLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
62016	return nil, false
62017}
62018
62019// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService.
62020func (dals DynamicsAXLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) {
62021	return nil, false
62022}
62023
62024// AsInformixLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService.
62025func (dals DynamicsAXLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) {
62026	return nil, false
62027}
62028
62029// AsOdbcLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService.
62030func (dals DynamicsAXLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
62031	return nil, false
62032}
62033
62034// AsAzureMLLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService.
62035func (dals DynamicsAXLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
62036	return nil, false
62037}
62038
62039// AsTeradataLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService.
62040func (dals DynamicsAXLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
62041	return nil, false
62042}
62043
62044// AsDb2LinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService.
62045func (dals DynamicsAXLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
62046	return nil, false
62047}
62048
62049// AsSybaseLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService.
62050func (dals DynamicsAXLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
62051	return nil, false
62052}
62053
62054// AsPostgreSQLLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService.
62055func (dals DynamicsAXLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
62056	return nil, false
62057}
62058
62059// AsMySQLLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService.
62060func (dals DynamicsAXLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
62061	return nil, false
62062}
62063
62064// AsAzureMySQLLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService.
62065func (dals DynamicsAXLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
62066	return nil, false
62067}
62068
62069// AsOracleLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService.
62070func (dals DynamicsAXLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
62071	return nil, false
62072}
62073
62074// AsFileServerLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService.
62075func (dals DynamicsAXLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
62076	return nil, false
62077}
62078
62079// AsHDInsightLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService.
62080func (dals DynamicsAXLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
62081	return nil, false
62082}
62083
62084// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService.
62085func (dals DynamicsAXLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) {
62086	return nil, false
62087}
62088
62089// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService.
62090func (dals DynamicsAXLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) {
62091	return nil, false
62092}
62093
62094// AsDynamicsLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService.
62095func (dals DynamicsAXLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
62096	return nil, false
62097}
62098
62099// AsCosmosDbLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService.
62100func (dals DynamicsAXLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
62101	return nil, false
62102}
62103
62104// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService.
62105func (dals DynamicsAXLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
62106	return nil, false
62107}
62108
62109// AsAzureBatchLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService.
62110func (dals DynamicsAXLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
62111	return nil, false
62112}
62113
62114// AsAzureSQLMILinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService.
62115func (dals DynamicsAXLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) {
62116	return nil, false
62117}
62118
62119// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService.
62120func (dals DynamicsAXLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
62121	return nil, false
62122}
62123
62124// AsSQLServerLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService.
62125func (dals DynamicsAXLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
62126	return nil, false
62127}
62128
62129// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService.
62130func (dals DynamicsAXLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
62131	return nil, false
62132}
62133
62134// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService.
62135func (dals DynamicsAXLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) {
62136	return nil, false
62137}
62138
62139// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService.
62140func (dals DynamicsAXLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) {
62141	return nil, false
62142}
62143
62144// AsAzureStorageLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService.
62145func (dals DynamicsAXLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
62146	return nil, false
62147}
62148
62149// AsLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService.
62150func (dals DynamicsAXLinkedService) AsLinkedService() (*LinkedService, bool) {
62151	return nil, false
62152}
62153
62154// AsBasicLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService.
62155func (dals DynamicsAXLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
62156	return &dals, true
62157}
62158
62159// UnmarshalJSON is the custom unmarshaler for DynamicsAXLinkedService struct.
62160func (dals *DynamicsAXLinkedService) UnmarshalJSON(body []byte) error {
62161	var m map[string]*json.RawMessage
62162	err := json.Unmarshal(body, &m)
62163	if err != nil {
62164		return err
62165	}
62166	for k, v := range m {
62167		switch k {
62168		case "typeProperties":
62169			if v != nil {
62170				var dynamicsAXLinkedServiceTypeProperties DynamicsAXLinkedServiceTypeProperties
62171				err = json.Unmarshal(*v, &dynamicsAXLinkedServiceTypeProperties)
62172				if err != nil {
62173					return err
62174				}
62175				dals.DynamicsAXLinkedServiceTypeProperties = &dynamicsAXLinkedServiceTypeProperties
62176			}
62177		default:
62178			if v != nil {
62179				var additionalProperties interface{}
62180				err = json.Unmarshal(*v, &additionalProperties)
62181				if err != nil {
62182					return err
62183				}
62184				if dals.AdditionalProperties == nil {
62185					dals.AdditionalProperties = make(map[string]interface{})
62186				}
62187				dals.AdditionalProperties[k] = additionalProperties
62188			}
62189		case "connectVia":
62190			if v != nil {
62191				var connectVia IntegrationRuntimeReference
62192				err = json.Unmarshal(*v, &connectVia)
62193				if err != nil {
62194					return err
62195				}
62196				dals.ConnectVia = &connectVia
62197			}
62198		case "description":
62199			if v != nil {
62200				var description string
62201				err = json.Unmarshal(*v, &description)
62202				if err != nil {
62203					return err
62204				}
62205				dals.Description = &description
62206			}
62207		case "parameters":
62208			if v != nil {
62209				var parameters map[string]*ParameterSpecification
62210				err = json.Unmarshal(*v, &parameters)
62211				if err != nil {
62212					return err
62213				}
62214				dals.Parameters = parameters
62215			}
62216		case "annotations":
62217			if v != nil {
62218				var annotations []interface{}
62219				err = json.Unmarshal(*v, &annotations)
62220				if err != nil {
62221					return err
62222				}
62223				dals.Annotations = &annotations
62224			}
62225		case "type":
62226			if v != nil {
62227				var typeVar TypeBasicLinkedService
62228				err = json.Unmarshal(*v, &typeVar)
62229				if err != nil {
62230					return err
62231				}
62232				dals.Type = typeVar
62233			}
62234		}
62235	}
62236
62237	return nil
62238}
62239
62240// DynamicsAXLinkedServiceTypeProperties dynamics AX linked service properties.
62241type DynamicsAXLinkedServiceTypeProperties struct {
62242	// URL - The Dynamics AX (or Dynamics 365 Finance and Operations) instance OData endpoint.
62243	URL interface{} `json:"url,omitempty"`
62244	// ServicePrincipalID - Specify the application's client ID. Type: string (or Expression with resultType string).
62245	ServicePrincipalID interface{} `json:"servicePrincipalId,omitempty"`
62246	// ServicePrincipalKey - Specify the application's key. Mark this field as a SecureString to store it securely in Data Factory, or reference a secret stored in Azure Key Vault. Type: string (or Expression with resultType string).
62247	ServicePrincipalKey BasicSecretBase `json:"servicePrincipalKey,omitempty"`
62248	// Tenant - Specify the tenant information (domain name or tenant ID) under which your application resides. Retrieve it by hovering the mouse in the top-right corner of the Azure portal. Type: string (or Expression with resultType string).
62249	Tenant interface{} `json:"tenant,omitempty"`
62250	// AadResourceID - Specify the resource you are requesting authorization. Type: string (or Expression with resultType string).
62251	AadResourceID interface{} `json:"aadResourceId,omitempty"`
62252	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
62253	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
62254}
62255
62256// UnmarshalJSON is the custom unmarshaler for DynamicsAXLinkedServiceTypeProperties struct.
62257func (dalstp *DynamicsAXLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
62258	var m map[string]*json.RawMessage
62259	err := json.Unmarshal(body, &m)
62260	if err != nil {
62261		return err
62262	}
62263	for k, v := range m {
62264		switch k {
62265		case "url":
62266			if v != nil {
62267				var URL interface{}
62268				err = json.Unmarshal(*v, &URL)
62269				if err != nil {
62270					return err
62271				}
62272				dalstp.URL = URL
62273			}
62274		case "servicePrincipalId":
62275			if v != nil {
62276				var servicePrincipalID interface{}
62277				err = json.Unmarshal(*v, &servicePrincipalID)
62278				if err != nil {
62279					return err
62280				}
62281				dalstp.ServicePrincipalID = servicePrincipalID
62282			}
62283		case "servicePrincipalKey":
62284			if v != nil {
62285				servicePrincipalKey, err := unmarshalBasicSecretBase(*v)
62286				if err != nil {
62287					return err
62288				}
62289				dalstp.ServicePrincipalKey = servicePrincipalKey
62290			}
62291		case "tenant":
62292			if v != nil {
62293				var tenant interface{}
62294				err = json.Unmarshal(*v, &tenant)
62295				if err != nil {
62296					return err
62297				}
62298				dalstp.Tenant = tenant
62299			}
62300		case "aadResourceId":
62301			if v != nil {
62302				var aadResourceID interface{}
62303				err = json.Unmarshal(*v, &aadResourceID)
62304				if err != nil {
62305					return err
62306				}
62307				dalstp.AadResourceID = aadResourceID
62308			}
62309		case "encryptedCredential":
62310			if v != nil {
62311				var encryptedCredential interface{}
62312				err = json.Unmarshal(*v, &encryptedCredential)
62313				if err != nil {
62314					return err
62315				}
62316				dalstp.EncryptedCredential = encryptedCredential
62317			}
62318		}
62319	}
62320
62321	return nil
62322}
62323
62324// DynamicsAXResourceDataset the path of the Dynamics AX OData entity.
62325type DynamicsAXResourceDataset struct {
62326	// DynamicsAXResourceDatasetTypeProperties - Dynamics AX OData resource dataset properties.
62327	*DynamicsAXResourceDatasetTypeProperties `json:"typeProperties,omitempty"`
62328	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
62329	AdditionalProperties map[string]interface{} `json:""`
62330	// Description - Dataset description.
62331	Description *string `json:"description,omitempty"`
62332	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
62333	Structure interface{} `json:"structure,omitempty"`
62334	// Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement.
62335	Schema interface{} `json:"schema,omitempty"`
62336	// LinkedServiceName - Linked service reference.
62337	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
62338	// Parameters - Parameters for dataset.
62339	Parameters map[string]*ParameterSpecification `json:"parameters"`
62340	// Annotations - List of tags that can be used for describing the Dataset.
62341	Annotations *[]interface{} `json:"annotations,omitempty"`
62342	// Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level.
62343	Folder *DatasetFolder `json:"folder,omitempty"`
62344	// Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', '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', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeDelimitedText', 'TypeParquet', 'TypeAmazonS3Object'
62345	Type TypeBasicDataset `json:"type,omitempty"`
62346}
62347
62348// MarshalJSON is the custom marshaler for DynamicsAXResourceDataset.
62349func (dard DynamicsAXResourceDataset) MarshalJSON() ([]byte, error) {
62350	dard.Type = TypeDynamicsAXResource
62351	objectMap := make(map[string]interface{})
62352	if dard.DynamicsAXResourceDatasetTypeProperties != nil {
62353		objectMap["typeProperties"] = dard.DynamicsAXResourceDatasetTypeProperties
62354	}
62355	if dard.Description != nil {
62356		objectMap["description"] = dard.Description
62357	}
62358	if dard.Structure != nil {
62359		objectMap["structure"] = dard.Structure
62360	}
62361	if dard.Schema != nil {
62362		objectMap["schema"] = dard.Schema
62363	}
62364	if dard.LinkedServiceName != nil {
62365		objectMap["linkedServiceName"] = dard.LinkedServiceName
62366	}
62367	if dard.Parameters != nil {
62368		objectMap["parameters"] = dard.Parameters
62369	}
62370	if dard.Annotations != nil {
62371		objectMap["annotations"] = dard.Annotations
62372	}
62373	if dard.Folder != nil {
62374		objectMap["folder"] = dard.Folder
62375	}
62376	if dard.Type != "" {
62377		objectMap["type"] = dard.Type
62378	}
62379	for k, v := range dard.AdditionalProperties {
62380		objectMap[k] = v
62381	}
62382	return json.Marshal(objectMap)
62383}
62384
62385// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for DynamicsAXResourceDataset.
62386func (dard DynamicsAXResourceDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) {
62387	return nil, false
62388}
62389
62390// AsAzureDataExplorerTableDataset is the BasicDataset implementation for DynamicsAXResourceDataset.
62391func (dard DynamicsAXResourceDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) {
62392	return nil, false
62393}
62394
62395// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for DynamicsAXResourceDataset.
62396func (dard DynamicsAXResourceDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) {
62397	return nil, false
62398}
62399
62400// AsDynamicsAXResourceDataset is the BasicDataset implementation for DynamicsAXResourceDataset.
62401func (dard DynamicsAXResourceDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) {
62402	return &dard, true
62403}
62404
62405// AsResponsysObjectDataset is the BasicDataset implementation for DynamicsAXResourceDataset.
62406func (dard DynamicsAXResourceDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
62407	return nil, false
62408}
62409
62410// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for DynamicsAXResourceDataset.
62411func (dard DynamicsAXResourceDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
62412	return nil, false
62413}
62414
62415// AsVerticaTableDataset is the BasicDataset implementation for DynamicsAXResourceDataset.
62416func (dard DynamicsAXResourceDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
62417	return nil, false
62418}
62419
62420// AsNetezzaTableDataset is the BasicDataset implementation for DynamicsAXResourceDataset.
62421func (dard DynamicsAXResourceDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
62422	return nil, false
62423}
62424
62425// AsZohoObjectDataset is the BasicDataset implementation for DynamicsAXResourceDataset.
62426func (dard DynamicsAXResourceDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
62427	return nil, false
62428}
62429
62430// AsXeroObjectDataset is the BasicDataset implementation for DynamicsAXResourceDataset.
62431func (dard DynamicsAXResourceDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
62432	return nil, false
62433}
62434
62435// AsSquareObjectDataset is the BasicDataset implementation for DynamicsAXResourceDataset.
62436func (dard DynamicsAXResourceDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
62437	return nil, false
62438}
62439
62440// AsSparkObjectDataset is the BasicDataset implementation for DynamicsAXResourceDataset.
62441func (dard DynamicsAXResourceDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
62442	return nil, false
62443}
62444
62445// AsShopifyObjectDataset is the BasicDataset implementation for DynamicsAXResourceDataset.
62446func (dard DynamicsAXResourceDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
62447	return nil, false
62448}
62449
62450// AsServiceNowObjectDataset is the BasicDataset implementation for DynamicsAXResourceDataset.
62451func (dard DynamicsAXResourceDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
62452	return nil, false
62453}
62454
62455// AsQuickBooksObjectDataset is the BasicDataset implementation for DynamicsAXResourceDataset.
62456func (dard DynamicsAXResourceDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
62457	return nil, false
62458}
62459
62460// AsPrestoObjectDataset is the BasicDataset implementation for DynamicsAXResourceDataset.
62461func (dard DynamicsAXResourceDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
62462	return nil, false
62463}
62464
62465// AsPhoenixObjectDataset is the BasicDataset implementation for DynamicsAXResourceDataset.
62466func (dard DynamicsAXResourceDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
62467	return nil, false
62468}
62469
62470// AsPaypalObjectDataset is the BasicDataset implementation for DynamicsAXResourceDataset.
62471func (dard DynamicsAXResourceDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
62472	return nil, false
62473}
62474
62475// AsMarketoObjectDataset is the BasicDataset implementation for DynamicsAXResourceDataset.
62476func (dard DynamicsAXResourceDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
62477	return nil, false
62478}
62479
62480// AsMariaDBTableDataset is the BasicDataset implementation for DynamicsAXResourceDataset.
62481func (dard DynamicsAXResourceDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
62482	return nil, false
62483}
62484
62485// AsMagentoObjectDataset is the BasicDataset implementation for DynamicsAXResourceDataset.
62486func (dard DynamicsAXResourceDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
62487	return nil, false
62488}
62489
62490// AsJiraObjectDataset is the BasicDataset implementation for DynamicsAXResourceDataset.
62491func (dard DynamicsAXResourceDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
62492	return nil, false
62493}
62494
62495// AsImpalaObjectDataset is the BasicDataset implementation for DynamicsAXResourceDataset.
62496func (dard DynamicsAXResourceDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
62497	return nil, false
62498}
62499
62500// AsHubspotObjectDataset is the BasicDataset implementation for DynamicsAXResourceDataset.
62501func (dard DynamicsAXResourceDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
62502	return nil, false
62503}
62504
62505// AsHiveObjectDataset is the BasicDataset implementation for DynamicsAXResourceDataset.
62506func (dard DynamicsAXResourceDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
62507	return nil, false
62508}
62509
62510// AsHBaseObjectDataset is the BasicDataset implementation for DynamicsAXResourceDataset.
62511func (dard DynamicsAXResourceDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
62512	return nil, false
62513}
62514
62515// AsGreenplumTableDataset is the BasicDataset implementation for DynamicsAXResourceDataset.
62516func (dard DynamicsAXResourceDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
62517	return nil, false
62518}
62519
62520// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for DynamicsAXResourceDataset.
62521func (dard DynamicsAXResourceDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
62522	return nil, false
62523}
62524
62525// AsEloquaObjectDataset is the BasicDataset implementation for DynamicsAXResourceDataset.
62526func (dard DynamicsAXResourceDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
62527	return nil, false
62528}
62529
62530// AsDrillTableDataset is the BasicDataset implementation for DynamicsAXResourceDataset.
62531func (dard DynamicsAXResourceDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
62532	return nil, false
62533}
62534
62535// AsCouchbaseTableDataset is the BasicDataset implementation for DynamicsAXResourceDataset.
62536func (dard DynamicsAXResourceDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
62537	return nil, false
62538}
62539
62540// AsConcurObjectDataset is the BasicDataset implementation for DynamicsAXResourceDataset.
62541func (dard DynamicsAXResourceDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
62542	return nil, false
62543}
62544
62545// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for DynamicsAXResourceDataset.
62546func (dard DynamicsAXResourceDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
62547	return nil, false
62548}
62549
62550// AsAmazonMWSObjectDataset is the BasicDataset implementation for DynamicsAXResourceDataset.
62551func (dard DynamicsAXResourceDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
62552	return nil, false
62553}
62554
62555// AsHTTPDataset is the BasicDataset implementation for DynamicsAXResourceDataset.
62556func (dard DynamicsAXResourceDataset) AsHTTPDataset() (*HTTPDataset, bool) {
62557	return nil, false
62558}
62559
62560// AsAzureSearchIndexDataset is the BasicDataset implementation for DynamicsAXResourceDataset.
62561func (dard DynamicsAXResourceDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
62562	return nil, false
62563}
62564
62565// AsWebTableDataset is the BasicDataset implementation for DynamicsAXResourceDataset.
62566func (dard DynamicsAXResourceDataset) AsWebTableDataset() (*WebTableDataset, bool) {
62567	return nil, false
62568}
62569
62570// AsSapTableResourceDataset is the BasicDataset implementation for DynamicsAXResourceDataset.
62571func (dard DynamicsAXResourceDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) {
62572	return nil, false
62573}
62574
62575// AsRestResourceDataset is the BasicDataset implementation for DynamicsAXResourceDataset.
62576func (dard DynamicsAXResourceDataset) AsRestResourceDataset() (*RestResourceDataset, bool) {
62577	return nil, false
62578}
62579
62580// AsSQLServerTableDataset is the BasicDataset implementation for DynamicsAXResourceDataset.
62581func (dard DynamicsAXResourceDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
62582	return nil, false
62583}
62584
62585// AsSapOpenHubTableDataset is the BasicDataset implementation for DynamicsAXResourceDataset.
62586func (dard DynamicsAXResourceDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) {
62587	return nil, false
62588}
62589
62590// AsSapHanaTableDataset is the BasicDataset implementation for DynamicsAXResourceDataset.
62591func (dard DynamicsAXResourceDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) {
62592	return nil, false
62593}
62594
62595// AsSapEccResourceDataset is the BasicDataset implementation for DynamicsAXResourceDataset.
62596func (dard DynamicsAXResourceDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
62597	return nil, false
62598}
62599
62600// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for DynamicsAXResourceDataset.
62601func (dard DynamicsAXResourceDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
62602	return nil, false
62603}
62604
62605// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for DynamicsAXResourceDataset.
62606func (dard DynamicsAXResourceDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) {
62607	return nil, false
62608}
62609
62610// AsSalesforceObjectDataset is the BasicDataset implementation for DynamicsAXResourceDataset.
62611func (dard DynamicsAXResourceDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
62612	return nil, false
62613}
62614
62615// AsMicrosoftAccessTableDataset is the BasicDataset implementation for DynamicsAXResourceDataset.
62616func (dard DynamicsAXResourceDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) {
62617	return nil, false
62618}
62619
62620// AsPostgreSQLTableDataset is the BasicDataset implementation for DynamicsAXResourceDataset.
62621func (dard DynamicsAXResourceDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) {
62622	return nil, false
62623}
62624
62625// AsMySQLTableDataset is the BasicDataset implementation for DynamicsAXResourceDataset.
62626func (dard DynamicsAXResourceDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) {
62627	return nil, false
62628}
62629
62630// AsOdbcTableDataset is the BasicDataset implementation for DynamicsAXResourceDataset.
62631func (dard DynamicsAXResourceDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) {
62632	return nil, false
62633}
62634
62635// AsInformixTableDataset is the BasicDataset implementation for DynamicsAXResourceDataset.
62636func (dard DynamicsAXResourceDataset) AsInformixTableDataset() (*InformixTableDataset, bool) {
62637	return nil, false
62638}
62639
62640// AsRelationalTableDataset is the BasicDataset implementation for DynamicsAXResourceDataset.
62641func (dard DynamicsAXResourceDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
62642	return nil, false
62643}
62644
62645// AsAzureMySQLTableDataset is the BasicDataset implementation for DynamicsAXResourceDataset.
62646func (dard DynamicsAXResourceDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
62647	return nil, false
62648}
62649
62650// AsTeradataTableDataset is the BasicDataset implementation for DynamicsAXResourceDataset.
62651func (dard DynamicsAXResourceDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) {
62652	return nil, false
62653}
62654
62655// AsOracleTableDataset is the BasicDataset implementation for DynamicsAXResourceDataset.
62656func (dard DynamicsAXResourceDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
62657	return nil, false
62658}
62659
62660// AsODataResourceDataset is the BasicDataset implementation for DynamicsAXResourceDataset.
62661func (dard DynamicsAXResourceDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
62662	return nil, false
62663}
62664
62665// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for DynamicsAXResourceDataset.
62666func (dard DynamicsAXResourceDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) {
62667	return nil, false
62668}
62669
62670// AsMongoDbV2CollectionDataset is the BasicDataset implementation for DynamicsAXResourceDataset.
62671func (dard DynamicsAXResourceDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) {
62672	return nil, false
62673}
62674
62675// AsMongoDbCollectionDataset is the BasicDataset implementation for DynamicsAXResourceDataset.
62676func (dard DynamicsAXResourceDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
62677	return nil, false
62678}
62679
62680// AsFileShareDataset is the BasicDataset implementation for DynamicsAXResourceDataset.
62681func (dard DynamicsAXResourceDataset) AsFileShareDataset() (*FileShareDataset, bool) {
62682	return nil, false
62683}
62684
62685// AsOffice365Dataset is the BasicDataset implementation for DynamicsAXResourceDataset.
62686func (dard DynamicsAXResourceDataset) AsOffice365Dataset() (*Office365Dataset, bool) {
62687	return nil, false
62688}
62689
62690// AsAzureBlobFSDataset is the BasicDataset implementation for DynamicsAXResourceDataset.
62691func (dard DynamicsAXResourceDataset) AsAzureBlobFSDataset() (*AzureBlobFSDataset, bool) {
62692	return nil, false
62693}
62694
62695// AsAzureDataLakeStoreDataset is the BasicDataset implementation for DynamicsAXResourceDataset.
62696func (dard DynamicsAXResourceDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) {
62697	return nil, false
62698}
62699
62700// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for DynamicsAXResourceDataset.
62701func (dard DynamicsAXResourceDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) {
62702	return nil, false
62703}
62704
62705// AsDynamicsCrmEntityDataset is the BasicDataset implementation for DynamicsAXResourceDataset.
62706func (dard DynamicsAXResourceDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) {
62707	return nil, false
62708}
62709
62710// AsDynamicsEntityDataset is the BasicDataset implementation for DynamicsAXResourceDataset.
62711func (dard DynamicsAXResourceDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
62712	return nil, false
62713}
62714
62715// AsDocumentDbCollectionDataset is the BasicDataset implementation for DynamicsAXResourceDataset.
62716func (dard DynamicsAXResourceDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
62717	return nil, false
62718}
62719
62720// AsCustomDataset is the BasicDataset implementation for DynamicsAXResourceDataset.
62721func (dard DynamicsAXResourceDataset) AsCustomDataset() (*CustomDataset, bool) {
62722	return nil, false
62723}
62724
62725// AsCassandraTableDataset is the BasicDataset implementation for DynamicsAXResourceDataset.
62726func (dard DynamicsAXResourceDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
62727	return nil, false
62728}
62729
62730// AsAzureSQLDWTableDataset is the BasicDataset implementation for DynamicsAXResourceDataset.
62731func (dard DynamicsAXResourceDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
62732	return nil, false
62733}
62734
62735// AsAzureSQLMITableDataset is the BasicDataset implementation for DynamicsAXResourceDataset.
62736func (dard DynamicsAXResourceDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) {
62737	return nil, false
62738}
62739
62740// AsAzureSQLTableDataset is the BasicDataset implementation for DynamicsAXResourceDataset.
62741func (dard DynamicsAXResourceDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
62742	return nil, false
62743}
62744
62745// AsAzureTableDataset is the BasicDataset implementation for DynamicsAXResourceDataset.
62746func (dard DynamicsAXResourceDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
62747	return nil, false
62748}
62749
62750// AsAzureBlobDataset is the BasicDataset implementation for DynamicsAXResourceDataset.
62751func (dard DynamicsAXResourceDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) {
62752	return nil, false
62753}
62754
62755// AsBinaryDataset is the BasicDataset implementation for DynamicsAXResourceDataset.
62756func (dard DynamicsAXResourceDataset) AsBinaryDataset() (*BinaryDataset, bool) {
62757	return nil, false
62758}
62759
62760// AsDelimitedTextDataset is the BasicDataset implementation for DynamicsAXResourceDataset.
62761func (dard DynamicsAXResourceDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) {
62762	return nil, false
62763}
62764
62765// AsParquetDataset is the BasicDataset implementation for DynamicsAXResourceDataset.
62766func (dard DynamicsAXResourceDataset) AsParquetDataset() (*ParquetDataset, bool) {
62767	return nil, false
62768}
62769
62770// AsAmazonS3Dataset is the BasicDataset implementation for DynamicsAXResourceDataset.
62771func (dard DynamicsAXResourceDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) {
62772	return nil, false
62773}
62774
62775// AsDataset is the BasicDataset implementation for DynamicsAXResourceDataset.
62776func (dard DynamicsAXResourceDataset) AsDataset() (*Dataset, bool) {
62777	return nil, false
62778}
62779
62780// AsBasicDataset is the BasicDataset implementation for DynamicsAXResourceDataset.
62781func (dard DynamicsAXResourceDataset) AsBasicDataset() (BasicDataset, bool) {
62782	return &dard, true
62783}
62784
62785// UnmarshalJSON is the custom unmarshaler for DynamicsAXResourceDataset struct.
62786func (dard *DynamicsAXResourceDataset) UnmarshalJSON(body []byte) error {
62787	var m map[string]*json.RawMessage
62788	err := json.Unmarshal(body, &m)
62789	if err != nil {
62790		return err
62791	}
62792	for k, v := range m {
62793		switch k {
62794		case "typeProperties":
62795			if v != nil {
62796				var dynamicsAXResourceDatasetTypeProperties DynamicsAXResourceDatasetTypeProperties
62797				err = json.Unmarshal(*v, &dynamicsAXResourceDatasetTypeProperties)
62798				if err != nil {
62799					return err
62800				}
62801				dard.DynamicsAXResourceDatasetTypeProperties = &dynamicsAXResourceDatasetTypeProperties
62802			}
62803		default:
62804			if v != nil {
62805				var additionalProperties interface{}
62806				err = json.Unmarshal(*v, &additionalProperties)
62807				if err != nil {
62808					return err
62809				}
62810				if dard.AdditionalProperties == nil {
62811					dard.AdditionalProperties = make(map[string]interface{})
62812				}
62813				dard.AdditionalProperties[k] = additionalProperties
62814			}
62815		case "description":
62816			if v != nil {
62817				var description string
62818				err = json.Unmarshal(*v, &description)
62819				if err != nil {
62820					return err
62821				}
62822				dard.Description = &description
62823			}
62824		case "structure":
62825			if v != nil {
62826				var structure interface{}
62827				err = json.Unmarshal(*v, &structure)
62828				if err != nil {
62829					return err
62830				}
62831				dard.Structure = structure
62832			}
62833		case "schema":
62834			if v != nil {
62835				var schema interface{}
62836				err = json.Unmarshal(*v, &schema)
62837				if err != nil {
62838					return err
62839				}
62840				dard.Schema = schema
62841			}
62842		case "linkedServiceName":
62843			if v != nil {
62844				var linkedServiceName LinkedServiceReference
62845				err = json.Unmarshal(*v, &linkedServiceName)
62846				if err != nil {
62847					return err
62848				}
62849				dard.LinkedServiceName = &linkedServiceName
62850			}
62851		case "parameters":
62852			if v != nil {
62853				var parameters map[string]*ParameterSpecification
62854				err = json.Unmarshal(*v, &parameters)
62855				if err != nil {
62856					return err
62857				}
62858				dard.Parameters = parameters
62859			}
62860		case "annotations":
62861			if v != nil {
62862				var annotations []interface{}
62863				err = json.Unmarshal(*v, &annotations)
62864				if err != nil {
62865					return err
62866				}
62867				dard.Annotations = &annotations
62868			}
62869		case "folder":
62870			if v != nil {
62871				var folder DatasetFolder
62872				err = json.Unmarshal(*v, &folder)
62873				if err != nil {
62874					return err
62875				}
62876				dard.Folder = &folder
62877			}
62878		case "type":
62879			if v != nil {
62880				var typeVar TypeBasicDataset
62881				err = json.Unmarshal(*v, &typeVar)
62882				if err != nil {
62883					return err
62884				}
62885				dard.Type = typeVar
62886			}
62887		}
62888	}
62889
62890	return nil
62891}
62892
62893// DynamicsAXResourceDatasetTypeProperties dynamics AX OData resource dataset properties.
62894type DynamicsAXResourceDatasetTypeProperties struct {
62895	// Path - The path of the Dynamics AX OData entity. Type: string (or Expression with resultType string).
62896	Path interface{} `json:"path,omitempty"`
62897}
62898
62899// DynamicsAXSource a copy activity Dynamics AX source.
62900type DynamicsAXSource struct {
62901	// Query - A query to retrieve data from source. Type: string (or Expression with resultType string).
62902	Query interface{} `json:"query,omitempty"`
62903	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
62904	AdditionalProperties map[string]interface{} `json:""`
62905	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
62906	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
62907	// 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])).
62908	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
62909	// MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer).
62910	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
62911	// Type - Possible values include: 'TypeCopySource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', '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', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeCassandraSource', 'TypeWebSource', 'TypeTeradataSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeAzureMySQLSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeRestSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceServiceCloudSource', 'TypeSalesforceSource', 'TypeODataSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeMicrosoftAccessSource', 'TypeInformixSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAzureTableSource', 'TypeBinarySource', 'TypeDelimitedTextSource', 'TypeParquetSource'
62912	Type TypeBasicCopySource `json:"type,omitempty"`
62913}
62914
62915// MarshalJSON is the custom marshaler for DynamicsAXSource.
62916func (das DynamicsAXSource) MarshalJSON() ([]byte, error) {
62917	das.Type = TypeDynamicsAXSource
62918	objectMap := make(map[string]interface{})
62919	if das.Query != nil {
62920		objectMap["query"] = das.Query
62921	}
62922	if das.SourceRetryCount != nil {
62923		objectMap["sourceRetryCount"] = das.SourceRetryCount
62924	}
62925	if das.SourceRetryWait != nil {
62926		objectMap["sourceRetryWait"] = das.SourceRetryWait
62927	}
62928	if das.MaxConcurrentConnections != nil {
62929		objectMap["maxConcurrentConnections"] = das.MaxConcurrentConnections
62930	}
62931	if das.Type != "" {
62932		objectMap["type"] = das.Type
62933	}
62934	for k, v := range das.AdditionalProperties {
62935		objectMap[k] = v
62936	}
62937	return json.Marshal(objectMap)
62938}
62939
62940// AsAmazonRedshiftSource is the BasicCopySource implementation for DynamicsAXSource.
62941func (das DynamicsAXSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
62942	return nil, false
62943}
62944
62945// AsGoogleAdWordsSource is the BasicCopySource implementation for DynamicsAXSource.
62946func (das DynamicsAXSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) {
62947	return nil, false
62948}
62949
62950// AsOracleServiceCloudSource is the BasicCopySource implementation for DynamicsAXSource.
62951func (das DynamicsAXSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) {
62952	return nil, false
62953}
62954
62955// AsDynamicsAXSource is the BasicCopySource implementation for DynamicsAXSource.
62956func (das DynamicsAXSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) {
62957	return &das, true
62958}
62959
62960// AsResponsysSource is the BasicCopySource implementation for DynamicsAXSource.
62961func (das DynamicsAXSource) AsResponsysSource() (*ResponsysSource, bool) {
62962	return nil, false
62963}
62964
62965// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for DynamicsAXSource.
62966func (das DynamicsAXSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
62967	return nil, false
62968}
62969
62970// AsVerticaSource is the BasicCopySource implementation for DynamicsAXSource.
62971func (das DynamicsAXSource) AsVerticaSource() (*VerticaSource, bool) {
62972	return nil, false
62973}
62974
62975// AsNetezzaSource is the BasicCopySource implementation for DynamicsAXSource.
62976func (das DynamicsAXSource) AsNetezzaSource() (*NetezzaSource, bool) {
62977	return nil, false
62978}
62979
62980// AsZohoSource is the BasicCopySource implementation for DynamicsAXSource.
62981func (das DynamicsAXSource) AsZohoSource() (*ZohoSource, bool) {
62982	return nil, false
62983}
62984
62985// AsXeroSource is the BasicCopySource implementation for DynamicsAXSource.
62986func (das DynamicsAXSource) AsXeroSource() (*XeroSource, bool) {
62987	return nil, false
62988}
62989
62990// AsSquareSource is the BasicCopySource implementation for DynamicsAXSource.
62991func (das DynamicsAXSource) AsSquareSource() (*SquareSource, bool) {
62992	return nil, false
62993}
62994
62995// AsSparkSource is the BasicCopySource implementation for DynamicsAXSource.
62996func (das DynamicsAXSource) AsSparkSource() (*SparkSource, bool) {
62997	return nil, false
62998}
62999
63000// AsShopifySource is the BasicCopySource implementation for DynamicsAXSource.
63001func (das DynamicsAXSource) AsShopifySource() (*ShopifySource, bool) {
63002	return nil, false
63003}
63004
63005// AsServiceNowSource is the BasicCopySource implementation for DynamicsAXSource.
63006func (das DynamicsAXSource) AsServiceNowSource() (*ServiceNowSource, bool) {
63007	return nil, false
63008}
63009
63010// AsQuickBooksSource is the BasicCopySource implementation for DynamicsAXSource.
63011func (das DynamicsAXSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
63012	return nil, false
63013}
63014
63015// AsPrestoSource is the BasicCopySource implementation for DynamicsAXSource.
63016func (das DynamicsAXSource) AsPrestoSource() (*PrestoSource, bool) {
63017	return nil, false
63018}
63019
63020// AsPhoenixSource is the BasicCopySource implementation for DynamicsAXSource.
63021func (das DynamicsAXSource) AsPhoenixSource() (*PhoenixSource, bool) {
63022	return nil, false
63023}
63024
63025// AsPaypalSource is the BasicCopySource implementation for DynamicsAXSource.
63026func (das DynamicsAXSource) AsPaypalSource() (*PaypalSource, bool) {
63027	return nil, false
63028}
63029
63030// AsMarketoSource is the BasicCopySource implementation for DynamicsAXSource.
63031func (das DynamicsAXSource) AsMarketoSource() (*MarketoSource, bool) {
63032	return nil, false
63033}
63034
63035// AsMariaDBSource is the BasicCopySource implementation for DynamicsAXSource.
63036func (das DynamicsAXSource) AsMariaDBSource() (*MariaDBSource, bool) {
63037	return nil, false
63038}
63039
63040// AsMagentoSource is the BasicCopySource implementation for DynamicsAXSource.
63041func (das DynamicsAXSource) AsMagentoSource() (*MagentoSource, bool) {
63042	return nil, false
63043}
63044
63045// AsJiraSource is the BasicCopySource implementation for DynamicsAXSource.
63046func (das DynamicsAXSource) AsJiraSource() (*JiraSource, bool) {
63047	return nil, false
63048}
63049
63050// AsImpalaSource is the BasicCopySource implementation for DynamicsAXSource.
63051func (das DynamicsAXSource) AsImpalaSource() (*ImpalaSource, bool) {
63052	return nil, false
63053}
63054
63055// AsHubspotSource is the BasicCopySource implementation for DynamicsAXSource.
63056func (das DynamicsAXSource) AsHubspotSource() (*HubspotSource, bool) {
63057	return nil, false
63058}
63059
63060// AsHiveSource is the BasicCopySource implementation for DynamicsAXSource.
63061func (das DynamicsAXSource) AsHiveSource() (*HiveSource, bool) {
63062	return nil, false
63063}
63064
63065// AsHBaseSource is the BasicCopySource implementation for DynamicsAXSource.
63066func (das DynamicsAXSource) AsHBaseSource() (*HBaseSource, bool) {
63067	return nil, false
63068}
63069
63070// AsGreenplumSource is the BasicCopySource implementation for DynamicsAXSource.
63071func (das DynamicsAXSource) AsGreenplumSource() (*GreenplumSource, bool) {
63072	return nil, false
63073}
63074
63075// AsGoogleBigQuerySource is the BasicCopySource implementation for DynamicsAXSource.
63076func (das DynamicsAXSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
63077	return nil, false
63078}
63079
63080// AsEloquaSource is the BasicCopySource implementation for DynamicsAXSource.
63081func (das DynamicsAXSource) AsEloquaSource() (*EloquaSource, bool) {
63082	return nil, false
63083}
63084
63085// AsDrillSource is the BasicCopySource implementation for DynamicsAXSource.
63086func (das DynamicsAXSource) AsDrillSource() (*DrillSource, bool) {
63087	return nil, false
63088}
63089
63090// AsCouchbaseSource is the BasicCopySource implementation for DynamicsAXSource.
63091func (das DynamicsAXSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
63092	return nil, false
63093}
63094
63095// AsConcurSource is the BasicCopySource implementation for DynamicsAXSource.
63096func (das DynamicsAXSource) AsConcurSource() (*ConcurSource, bool) {
63097	return nil, false
63098}
63099
63100// AsAzurePostgreSQLSource is the BasicCopySource implementation for DynamicsAXSource.
63101func (das DynamicsAXSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
63102	return nil, false
63103}
63104
63105// AsAmazonMWSSource is the BasicCopySource implementation for DynamicsAXSource.
63106func (das DynamicsAXSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
63107	return nil, false
63108}
63109
63110// AsHTTPSource is the BasicCopySource implementation for DynamicsAXSource.
63111func (das DynamicsAXSource) AsHTTPSource() (*HTTPSource, bool) {
63112	return nil, false
63113}
63114
63115// AsAzureBlobFSSource is the BasicCopySource implementation for DynamicsAXSource.
63116func (das DynamicsAXSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) {
63117	return nil, false
63118}
63119
63120// AsAzureDataLakeStoreSource is the BasicCopySource implementation for DynamicsAXSource.
63121func (das DynamicsAXSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
63122	return nil, false
63123}
63124
63125// AsOffice365Source is the BasicCopySource implementation for DynamicsAXSource.
63126func (das DynamicsAXSource) AsOffice365Source() (*Office365Source, bool) {
63127	return nil, false
63128}
63129
63130// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for DynamicsAXSource.
63131func (das DynamicsAXSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) {
63132	return nil, false
63133}
63134
63135// AsMongoDbV2Source is the BasicCopySource implementation for DynamicsAXSource.
63136func (das DynamicsAXSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) {
63137	return nil, false
63138}
63139
63140// AsMongoDbSource is the BasicCopySource implementation for DynamicsAXSource.
63141func (das DynamicsAXSource) AsMongoDbSource() (*MongoDbSource, bool) {
63142	return nil, false
63143}
63144
63145// AsCassandraSource is the BasicCopySource implementation for DynamicsAXSource.
63146func (das DynamicsAXSource) AsCassandraSource() (*CassandraSource, bool) {
63147	return nil, false
63148}
63149
63150// AsWebSource is the BasicCopySource implementation for DynamicsAXSource.
63151func (das DynamicsAXSource) AsWebSource() (*WebSource, bool) {
63152	return nil, false
63153}
63154
63155// AsTeradataSource is the BasicCopySource implementation for DynamicsAXSource.
63156func (das DynamicsAXSource) AsTeradataSource() (*TeradataSource, bool) {
63157	return nil, false
63158}
63159
63160// AsOracleSource is the BasicCopySource implementation for DynamicsAXSource.
63161func (das DynamicsAXSource) AsOracleSource() (*OracleSource, bool) {
63162	return nil, false
63163}
63164
63165// AsAzureDataExplorerSource is the BasicCopySource implementation for DynamicsAXSource.
63166func (das DynamicsAXSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) {
63167	return nil, false
63168}
63169
63170// AsAzureMySQLSource is the BasicCopySource implementation for DynamicsAXSource.
63171func (das DynamicsAXSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
63172	return nil, false
63173}
63174
63175// AsHdfsSource is the BasicCopySource implementation for DynamicsAXSource.
63176func (das DynamicsAXSource) AsHdfsSource() (*HdfsSource, bool) {
63177	return nil, false
63178}
63179
63180// AsFileSystemSource is the BasicCopySource implementation for DynamicsAXSource.
63181func (das DynamicsAXSource) AsFileSystemSource() (*FileSystemSource, bool) {
63182	return nil, false
63183}
63184
63185// AsSQLDWSource is the BasicCopySource implementation for DynamicsAXSource.
63186func (das DynamicsAXSource) AsSQLDWSource() (*SQLDWSource, bool) {
63187	return nil, false
63188}
63189
63190// AsSQLMISource is the BasicCopySource implementation for DynamicsAXSource.
63191func (das DynamicsAXSource) AsSQLMISource() (*SQLMISource, bool) {
63192	return nil, false
63193}
63194
63195// AsAzureSQLSource is the BasicCopySource implementation for DynamicsAXSource.
63196func (das DynamicsAXSource) AsAzureSQLSource() (*AzureSQLSource, bool) {
63197	return nil, false
63198}
63199
63200// AsSQLServerSource is the BasicCopySource implementation for DynamicsAXSource.
63201func (das DynamicsAXSource) AsSQLServerSource() (*SQLServerSource, bool) {
63202	return nil, false
63203}
63204
63205// AsSQLSource is the BasicCopySource implementation for DynamicsAXSource.
63206func (das DynamicsAXSource) AsSQLSource() (*SQLSource, bool) {
63207	return nil, false
63208}
63209
63210// AsRestSource is the BasicCopySource implementation for DynamicsAXSource.
63211func (das DynamicsAXSource) AsRestSource() (*RestSource, bool) {
63212	return nil, false
63213}
63214
63215// AsSapTableSource is the BasicCopySource implementation for DynamicsAXSource.
63216func (das DynamicsAXSource) AsSapTableSource() (*SapTableSource, bool) {
63217	return nil, false
63218}
63219
63220// AsSapOpenHubSource is the BasicCopySource implementation for DynamicsAXSource.
63221func (das DynamicsAXSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) {
63222	return nil, false
63223}
63224
63225// AsSapHanaSource is the BasicCopySource implementation for DynamicsAXSource.
63226func (das DynamicsAXSource) AsSapHanaSource() (*SapHanaSource, bool) {
63227	return nil, false
63228}
63229
63230// AsSapEccSource is the BasicCopySource implementation for DynamicsAXSource.
63231func (das DynamicsAXSource) AsSapEccSource() (*SapEccSource, bool) {
63232	return nil, false
63233}
63234
63235// AsSapCloudForCustomerSource is the BasicCopySource implementation for DynamicsAXSource.
63236func (das DynamicsAXSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
63237	return nil, false
63238}
63239
63240// AsSalesforceServiceCloudSource is the BasicCopySource implementation for DynamicsAXSource.
63241func (das DynamicsAXSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) {
63242	return nil, false
63243}
63244
63245// AsSalesforceSource is the BasicCopySource implementation for DynamicsAXSource.
63246func (das DynamicsAXSource) AsSalesforceSource() (*SalesforceSource, bool) {
63247	return nil, false
63248}
63249
63250// AsODataSource is the BasicCopySource implementation for DynamicsAXSource.
63251func (das DynamicsAXSource) AsODataSource() (*ODataSource, bool) {
63252	return nil, false
63253}
63254
63255// AsSybaseSource is the BasicCopySource implementation for DynamicsAXSource.
63256func (das DynamicsAXSource) AsSybaseSource() (*SybaseSource, bool) {
63257	return nil, false
63258}
63259
63260// AsPostgreSQLSource is the BasicCopySource implementation for DynamicsAXSource.
63261func (das DynamicsAXSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) {
63262	return nil, false
63263}
63264
63265// AsMySQLSource is the BasicCopySource implementation for DynamicsAXSource.
63266func (das DynamicsAXSource) AsMySQLSource() (*MySQLSource, bool) {
63267	return nil, false
63268}
63269
63270// AsOdbcSource is the BasicCopySource implementation for DynamicsAXSource.
63271func (das DynamicsAXSource) AsOdbcSource() (*OdbcSource, bool) {
63272	return nil, false
63273}
63274
63275// AsDb2Source is the BasicCopySource implementation for DynamicsAXSource.
63276func (das DynamicsAXSource) AsDb2Source() (*Db2Source, bool) {
63277	return nil, false
63278}
63279
63280// AsMicrosoftAccessSource is the BasicCopySource implementation for DynamicsAXSource.
63281func (das DynamicsAXSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) {
63282	return nil, false
63283}
63284
63285// AsInformixSource is the BasicCopySource implementation for DynamicsAXSource.
63286func (das DynamicsAXSource) AsInformixSource() (*InformixSource, bool) {
63287	return nil, false
63288}
63289
63290// AsRelationalSource is the BasicCopySource implementation for DynamicsAXSource.
63291func (das DynamicsAXSource) AsRelationalSource() (*RelationalSource, bool) {
63292	return nil, false
63293}
63294
63295// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for DynamicsAXSource.
63296func (das DynamicsAXSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) {
63297	return nil, false
63298}
63299
63300// AsDynamicsCrmSource is the BasicCopySource implementation for DynamicsAXSource.
63301func (das DynamicsAXSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) {
63302	return nil, false
63303}
63304
63305// AsDynamicsSource is the BasicCopySource implementation for DynamicsAXSource.
63306func (das DynamicsAXSource) AsDynamicsSource() (*DynamicsSource, bool) {
63307	return nil, false
63308}
63309
63310// AsDocumentDbCollectionSource is the BasicCopySource implementation for DynamicsAXSource.
63311func (das DynamicsAXSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
63312	return nil, false
63313}
63314
63315// AsBlobSource is the BasicCopySource implementation for DynamicsAXSource.
63316func (das DynamicsAXSource) AsBlobSource() (*BlobSource, bool) {
63317	return nil, false
63318}
63319
63320// AsAzureTableSource is the BasicCopySource implementation for DynamicsAXSource.
63321func (das DynamicsAXSource) AsAzureTableSource() (*AzureTableSource, bool) {
63322	return nil, false
63323}
63324
63325// AsBinarySource is the BasicCopySource implementation for DynamicsAXSource.
63326func (das DynamicsAXSource) AsBinarySource() (*BinarySource, bool) {
63327	return nil, false
63328}
63329
63330// AsDelimitedTextSource is the BasicCopySource implementation for DynamicsAXSource.
63331func (das DynamicsAXSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) {
63332	return nil, false
63333}
63334
63335// AsParquetSource is the BasicCopySource implementation for DynamicsAXSource.
63336func (das DynamicsAXSource) AsParquetSource() (*ParquetSource, bool) {
63337	return nil, false
63338}
63339
63340// AsCopySource is the BasicCopySource implementation for DynamicsAXSource.
63341func (das DynamicsAXSource) AsCopySource() (*CopySource, bool) {
63342	return nil, false
63343}
63344
63345// AsBasicCopySource is the BasicCopySource implementation for DynamicsAXSource.
63346func (das DynamicsAXSource) AsBasicCopySource() (BasicCopySource, bool) {
63347	return &das, true
63348}
63349
63350// UnmarshalJSON is the custom unmarshaler for DynamicsAXSource struct.
63351func (das *DynamicsAXSource) UnmarshalJSON(body []byte) error {
63352	var m map[string]*json.RawMessage
63353	err := json.Unmarshal(body, &m)
63354	if err != nil {
63355		return err
63356	}
63357	for k, v := range m {
63358		switch k {
63359		case "query":
63360			if v != nil {
63361				var query interface{}
63362				err = json.Unmarshal(*v, &query)
63363				if err != nil {
63364					return err
63365				}
63366				das.Query = query
63367			}
63368		default:
63369			if v != nil {
63370				var additionalProperties interface{}
63371				err = json.Unmarshal(*v, &additionalProperties)
63372				if err != nil {
63373					return err
63374				}
63375				if das.AdditionalProperties == nil {
63376					das.AdditionalProperties = make(map[string]interface{})
63377				}
63378				das.AdditionalProperties[k] = additionalProperties
63379			}
63380		case "sourceRetryCount":
63381			if v != nil {
63382				var sourceRetryCount interface{}
63383				err = json.Unmarshal(*v, &sourceRetryCount)
63384				if err != nil {
63385					return err
63386				}
63387				das.SourceRetryCount = sourceRetryCount
63388			}
63389		case "sourceRetryWait":
63390			if v != nil {
63391				var sourceRetryWait interface{}
63392				err = json.Unmarshal(*v, &sourceRetryWait)
63393				if err != nil {
63394					return err
63395				}
63396				das.SourceRetryWait = sourceRetryWait
63397			}
63398		case "maxConcurrentConnections":
63399			if v != nil {
63400				var maxConcurrentConnections interface{}
63401				err = json.Unmarshal(*v, &maxConcurrentConnections)
63402				if err != nil {
63403					return err
63404				}
63405				das.MaxConcurrentConnections = maxConcurrentConnections
63406			}
63407		case "type":
63408			if v != nil {
63409				var typeVar TypeBasicCopySource
63410				err = json.Unmarshal(*v, &typeVar)
63411				if err != nil {
63412					return err
63413				}
63414				das.Type = typeVar
63415			}
63416		}
63417	}
63418
63419	return nil
63420}
63421
63422// DynamicsCrmEntityDataset the Dynamics CRM entity dataset.
63423type DynamicsCrmEntityDataset struct {
63424	// DynamicsCrmEntityDatasetTypeProperties - Dynamics CRM entity dataset properties.
63425	*DynamicsCrmEntityDatasetTypeProperties `json:"typeProperties,omitempty"`
63426	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
63427	AdditionalProperties map[string]interface{} `json:""`
63428	// Description - Dataset description.
63429	Description *string `json:"description,omitempty"`
63430	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
63431	Structure interface{} `json:"structure,omitempty"`
63432	// Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement.
63433	Schema interface{} `json:"schema,omitempty"`
63434	// LinkedServiceName - Linked service reference.
63435	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
63436	// Parameters - Parameters for dataset.
63437	Parameters map[string]*ParameterSpecification `json:"parameters"`
63438	// Annotations - List of tags that can be used for describing the Dataset.
63439	Annotations *[]interface{} `json:"annotations,omitempty"`
63440	// Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level.
63441	Folder *DatasetFolder `json:"folder,omitempty"`
63442	// Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', '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', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeDelimitedText', 'TypeParquet', 'TypeAmazonS3Object'
63443	Type TypeBasicDataset `json:"type,omitempty"`
63444}
63445
63446// MarshalJSON is the custom marshaler for DynamicsCrmEntityDataset.
63447func (dced DynamicsCrmEntityDataset) MarshalJSON() ([]byte, error) {
63448	dced.Type = TypeDynamicsCrmEntity
63449	objectMap := make(map[string]interface{})
63450	if dced.DynamicsCrmEntityDatasetTypeProperties != nil {
63451		objectMap["typeProperties"] = dced.DynamicsCrmEntityDatasetTypeProperties
63452	}
63453	if dced.Description != nil {
63454		objectMap["description"] = dced.Description
63455	}
63456	if dced.Structure != nil {
63457		objectMap["structure"] = dced.Structure
63458	}
63459	if dced.Schema != nil {
63460		objectMap["schema"] = dced.Schema
63461	}
63462	if dced.LinkedServiceName != nil {
63463		objectMap["linkedServiceName"] = dced.LinkedServiceName
63464	}
63465	if dced.Parameters != nil {
63466		objectMap["parameters"] = dced.Parameters
63467	}
63468	if dced.Annotations != nil {
63469		objectMap["annotations"] = dced.Annotations
63470	}
63471	if dced.Folder != nil {
63472		objectMap["folder"] = dced.Folder
63473	}
63474	if dced.Type != "" {
63475		objectMap["type"] = dced.Type
63476	}
63477	for k, v := range dced.AdditionalProperties {
63478		objectMap[k] = v
63479	}
63480	return json.Marshal(objectMap)
63481}
63482
63483// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for DynamicsCrmEntityDataset.
63484func (dced DynamicsCrmEntityDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) {
63485	return nil, false
63486}
63487
63488// AsAzureDataExplorerTableDataset is the BasicDataset implementation for DynamicsCrmEntityDataset.
63489func (dced DynamicsCrmEntityDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) {
63490	return nil, false
63491}
63492
63493// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for DynamicsCrmEntityDataset.
63494func (dced DynamicsCrmEntityDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) {
63495	return nil, false
63496}
63497
63498// AsDynamicsAXResourceDataset is the BasicDataset implementation for DynamicsCrmEntityDataset.
63499func (dced DynamicsCrmEntityDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) {
63500	return nil, false
63501}
63502
63503// AsResponsysObjectDataset is the BasicDataset implementation for DynamicsCrmEntityDataset.
63504func (dced DynamicsCrmEntityDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
63505	return nil, false
63506}
63507
63508// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for DynamicsCrmEntityDataset.
63509func (dced DynamicsCrmEntityDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
63510	return nil, false
63511}
63512
63513// AsVerticaTableDataset is the BasicDataset implementation for DynamicsCrmEntityDataset.
63514func (dced DynamicsCrmEntityDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
63515	return nil, false
63516}
63517
63518// AsNetezzaTableDataset is the BasicDataset implementation for DynamicsCrmEntityDataset.
63519func (dced DynamicsCrmEntityDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
63520	return nil, false
63521}
63522
63523// AsZohoObjectDataset is the BasicDataset implementation for DynamicsCrmEntityDataset.
63524func (dced DynamicsCrmEntityDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
63525	return nil, false
63526}
63527
63528// AsXeroObjectDataset is the BasicDataset implementation for DynamicsCrmEntityDataset.
63529func (dced DynamicsCrmEntityDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
63530	return nil, false
63531}
63532
63533// AsSquareObjectDataset is the BasicDataset implementation for DynamicsCrmEntityDataset.
63534func (dced DynamicsCrmEntityDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
63535	return nil, false
63536}
63537
63538// AsSparkObjectDataset is the BasicDataset implementation for DynamicsCrmEntityDataset.
63539func (dced DynamicsCrmEntityDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
63540	return nil, false
63541}
63542
63543// AsShopifyObjectDataset is the BasicDataset implementation for DynamicsCrmEntityDataset.
63544func (dced DynamicsCrmEntityDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
63545	return nil, false
63546}
63547
63548// AsServiceNowObjectDataset is the BasicDataset implementation for DynamicsCrmEntityDataset.
63549func (dced DynamicsCrmEntityDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
63550	return nil, false
63551}
63552
63553// AsQuickBooksObjectDataset is the BasicDataset implementation for DynamicsCrmEntityDataset.
63554func (dced DynamicsCrmEntityDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
63555	return nil, false
63556}
63557
63558// AsPrestoObjectDataset is the BasicDataset implementation for DynamicsCrmEntityDataset.
63559func (dced DynamicsCrmEntityDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
63560	return nil, false
63561}
63562
63563// AsPhoenixObjectDataset is the BasicDataset implementation for DynamicsCrmEntityDataset.
63564func (dced DynamicsCrmEntityDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
63565	return nil, false
63566}
63567
63568// AsPaypalObjectDataset is the BasicDataset implementation for DynamicsCrmEntityDataset.
63569func (dced DynamicsCrmEntityDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
63570	return nil, false
63571}
63572
63573// AsMarketoObjectDataset is the BasicDataset implementation for DynamicsCrmEntityDataset.
63574func (dced DynamicsCrmEntityDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
63575	return nil, false
63576}
63577
63578// AsMariaDBTableDataset is the BasicDataset implementation for DynamicsCrmEntityDataset.
63579func (dced DynamicsCrmEntityDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
63580	return nil, false
63581}
63582
63583// AsMagentoObjectDataset is the BasicDataset implementation for DynamicsCrmEntityDataset.
63584func (dced DynamicsCrmEntityDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
63585	return nil, false
63586}
63587
63588// AsJiraObjectDataset is the BasicDataset implementation for DynamicsCrmEntityDataset.
63589func (dced DynamicsCrmEntityDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
63590	return nil, false
63591}
63592
63593// AsImpalaObjectDataset is the BasicDataset implementation for DynamicsCrmEntityDataset.
63594func (dced DynamicsCrmEntityDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
63595	return nil, false
63596}
63597
63598// AsHubspotObjectDataset is the BasicDataset implementation for DynamicsCrmEntityDataset.
63599func (dced DynamicsCrmEntityDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
63600	return nil, false
63601}
63602
63603// AsHiveObjectDataset is the BasicDataset implementation for DynamicsCrmEntityDataset.
63604func (dced DynamicsCrmEntityDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
63605	return nil, false
63606}
63607
63608// AsHBaseObjectDataset is the BasicDataset implementation for DynamicsCrmEntityDataset.
63609func (dced DynamicsCrmEntityDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
63610	return nil, false
63611}
63612
63613// AsGreenplumTableDataset is the BasicDataset implementation for DynamicsCrmEntityDataset.
63614func (dced DynamicsCrmEntityDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
63615	return nil, false
63616}
63617
63618// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for DynamicsCrmEntityDataset.
63619func (dced DynamicsCrmEntityDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
63620	return nil, false
63621}
63622
63623// AsEloquaObjectDataset is the BasicDataset implementation for DynamicsCrmEntityDataset.
63624func (dced DynamicsCrmEntityDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
63625	return nil, false
63626}
63627
63628// AsDrillTableDataset is the BasicDataset implementation for DynamicsCrmEntityDataset.
63629func (dced DynamicsCrmEntityDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
63630	return nil, false
63631}
63632
63633// AsCouchbaseTableDataset is the BasicDataset implementation for DynamicsCrmEntityDataset.
63634func (dced DynamicsCrmEntityDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
63635	return nil, false
63636}
63637
63638// AsConcurObjectDataset is the BasicDataset implementation for DynamicsCrmEntityDataset.
63639func (dced DynamicsCrmEntityDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
63640	return nil, false
63641}
63642
63643// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for DynamicsCrmEntityDataset.
63644func (dced DynamicsCrmEntityDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
63645	return nil, false
63646}
63647
63648// AsAmazonMWSObjectDataset is the BasicDataset implementation for DynamicsCrmEntityDataset.
63649func (dced DynamicsCrmEntityDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
63650	return nil, false
63651}
63652
63653// AsHTTPDataset is the BasicDataset implementation for DynamicsCrmEntityDataset.
63654func (dced DynamicsCrmEntityDataset) AsHTTPDataset() (*HTTPDataset, bool) {
63655	return nil, false
63656}
63657
63658// AsAzureSearchIndexDataset is the BasicDataset implementation for DynamicsCrmEntityDataset.
63659func (dced DynamicsCrmEntityDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
63660	return nil, false
63661}
63662
63663// AsWebTableDataset is the BasicDataset implementation for DynamicsCrmEntityDataset.
63664func (dced DynamicsCrmEntityDataset) AsWebTableDataset() (*WebTableDataset, bool) {
63665	return nil, false
63666}
63667
63668// AsSapTableResourceDataset is the BasicDataset implementation for DynamicsCrmEntityDataset.
63669func (dced DynamicsCrmEntityDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) {
63670	return nil, false
63671}
63672
63673// AsRestResourceDataset is the BasicDataset implementation for DynamicsCrmEntityDataset.
63674func (dced DynamicsCrmEntityDataset) AsRestResourceDataset() (*RestResourceDataset, bool) {
63675	return nil, false
63676}
63677
63678// AsSQLServerTableDataset is the BasicDataset implementation for DynamicsCrmEntityDataset.
63679func (dced DynamicsCrmEntityDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
63680	return nil, false
63681}
63682
63683// AsSapOpenHubTableDataset is the BasicDataset implementation for DynamicsCrmEntityDataset.
63684func (dced DynamicsCrmEntityDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) {
63685	return nil, false
63686}
63687
63688// AsSapHanaTableDataset is the BasicDataset implementation for DynamicsCrmEntityDataset.
63689func (dced DynamicsCrmEntityDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) {
63690	return nil, false
63691}
63692
63693// AsSapEccResourceDataset is the BasicDataset implementation for DynamicsCrmEntityDataset.
63694func (dced DynamicsCrmEntityDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
63695	return nil, false
63696}
63697
63698// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for DynamicsCrmEntityDataset.
63699func (dced DynamicsCrmEntityDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
63700	return nil, false
63701}
63702
63703// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for DynamicsCrmEntityDataset.
63704func (dced DynamicsCrmEntityDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) {
63705	return nil, false
63706}
63707
63708// AsSalesforceObjectDataset is the BasicDataset implementation for DynamicsCrmEntityDataset.
63709func (dced DynamicsCrmEntityDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
63710	return nil, false
63711}
63712
63713// AsMicrosoftAccessTableDataset is the BasicDataset implementation for DynamicsCrmEntityDataset.
63714func (dced DynamicsCrmEntityDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) {
63715	return nil, false
63716}
63717
63718// AsPostgreSQLTableDataset is the BasicDataset implementation for DynamicsCrmEntityDataset.
63719func (dced DynamicsCrmEntityDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) {
63720	return nil, false
63721}
63722
63723// AsMySQLTableDataset is the BasicDataset implementation for DynamicsCrmEntityDataset.
63724func (dced DynamicsCrmEntityDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) {
63725	return nil, false
63726}
63727
63728// AsOdbcTableDataset is the BasicDataset implementation for DynamicsCrmEntityDataset.
63729func (dced DynamicsCrmEntityDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) {
63730	return nil, false
63731}
63732
63733// AsInformixTableDataset is the BasicDataset implementation for DynamicsCrmEntityDataset.
63734func (dced DynamicsCrmEntityDataset) AsInformixTableDataset() (*InformixTableDataset, bool) {
63735	return nil, false
63736}
63737
63738// AsRelationalTableDataset is the BasicDataset implementation for DynamicsCrmEntityDataset.
63739func (dced DynamicsCrmEntityDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
63740	return nil, false
63741}
63742
63743// AsAzureMySQLTableDataset is the BasicDataset implementation for DynamicsCrmEntityDataset.
63744func (dced DynamicsCrmEntityDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
63745	return nil, false
63746}
63747
63748// AsTeradataTableDataset is the BasicDataset implementation for DynamicsCrmEntityDataset.
63749func (dced DynamicsCrmEntityDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) {
63750	return nil, false
63751}
63752
63753// AsOracleTableDataset is the BasicDataset implementation for DynamicsCrmEntityDataset.
63754func (dced DynamicsCrmEntityDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
63755	return nil, false
63756}
63757
63758// AsODataResourceDataset is the BasicDataset implementation for DynamicsCrmEntityDataset.
63759func (dced DynamicsCrmEntityDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
63760	return nil, false
63761}
63762
63763// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for DynamicsCrmEntityDataset.
63764func (dced DynamicsCrmEntityDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) {
63765	return nil, false
63766}
63767
63768// AsMongoDbV2CollectionDataset is the BasicDataset implementation for DynamicsCrmEntityDataset.
63769func (dced DynamicsCrmEntityDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) {
63770	return nil, false
63771}
63772
63773// AsMongoDbCollectionDataset is the BasicDataset implementation for DynamicsCrmEntityDataset.
63774func (dced DynamicsCrmEntityDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
63775	return nil, false
63776}
63777
63778// AsFileShareDataset is the BasicDataset implementation for DynamicsCrmEntityDataset.
63779func (dced DynamicsCrmEntityDataset) AsFileShareDataset() (*FileShareDataset, bool) {
63780	return nil, false
63781}
63782
63783// AsOffice365Dataset is the BasicDataset implementation for DynamicsCrmEntityDataset.
63784func (dced DynamicsCrmEntityDataset) AsOffice365Dataset() (*Office365Dataset, bool) {
63785	return nil, false
63786}
63787
63788// AsAzureBlobFSDataset is the BasicDataset implementation for DynamicsCrmEntityDataset.
63789func (dced DynamicsCrmEntityDataset) AsAzureBlobFSDataset() (*AzureBlobFSDataset, bool) {
63790	return nil, false
63791}
63792
63793// AsAzureDataLakeStoreDataset is the BasicDataset implementation for DynamicsCrmEntityDataset.
63794func (dced DynamicsCrmEntityDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) {
63795	return nil, false
63796}
63797
63798// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for DynamicsCrmEntityDataset.
63799func (dced DynamicsCrmEntityDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) {
63800	return nil, false
63801}
63802
63803// AsDynamicsCrmEntityDataset is the BasicDataset implementation for DynamicsCrmEntityDataset.
63804func (dced DynamicsCrmEntityDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) {
63805	return &dced, true
63806}
63807
63808// AsDynamicsEntityDataset is the BasicDataset implementation for DynamicsCrmEntityDataset.
63809func (dced DynamicsCrmEntityDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
63810	return nil, false
63811}
63812
63813// AsDocumentDbCollectionDataset is the BasicDataset implementation for DynamicsCrmEntityDataset.
63814func (dced DynamicsCrmEntityDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
63815	return nil, false
63816}
63817
63818// AsCustomDataset is the BasicDataset implementation for DynamicsCrmEntityDataset.
63819func (dced DynamicsCrmEntityDataset) AsCustomDataset() (*CustomDataset, bool) {
63820	return nil, false
63821}
63822
63823// AsCassandraTableDataset is the BasicDataset implementation for DynamicsCrmEntityDataset.
63824func (dced DynamicsCrmEntityDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
63825	return nil, false
63826}
63827
63828// AsAzureSQLDWTableDataset is the BasicDataset implementation for DynamicsCrmEntityDataset.
63829func (dced DynamicsCrmEntityDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
63830	return nil, false
63831}
63832
63833// AsAzureSQLMITableDataset is the BasicDataset implementation for DynamicsCrmEntityDataset.
63834func (dced DynamicsCrmEntityDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) {
63835	return nil, false
63836}
63837
63838// AsAzureSQLTableDataset is the BasicDataset implementation for DynamicsCrmEntityDataset.
63839func (dced DynamicsCrmEntityDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
63840	return nil, false
63841}
63842
63843// AsAzureTableDataset is the BasicDataset implementation for DynamicsCrmEntityDataset.
63844func (dced DynamicsCrmEntityDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
63845	return nil, false
63846}
63847
63848// AsAzureBlobDataset is the BasicDataset implementation for DynamicsCrmEntityDataset.
63849func (dced DynamicsCrmEntityDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) {
63850	return nil, false
63851}
63852
63853// AsBinaryDataset is the BasicDataset implementation for DynamicsCrmEntityDataset.
63854func (dced DynamicsCrmEntityDataset) AsBinaryDataset() (*BinaryDataset, bool) {
63855	return nil, false
63856}
63857
63858// AsDelimitedTextDataset is the BasicDataset implementation for DynamicsCrmEntityDataset.
63859func (dced DynamicsCrmEntityDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) {
63860	return nil, false
63861}
63862
63863// AsParquetDataset is the BasicDataset implementation for DynamicsCrmEntityDataset.
63864func (dced DynamicsCrmEntityDataset) AsParquetDataset() (*ParquetDataset, bool) {
63865	return nil, false
63866}
63867
63868// AsAmazonS3Dataset is the BasicDataset implementation for DynamicsCrmEntityDataset.
63869func (dced DynamicsCrmEntityDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) {
63870	return nil, false
63871}
63872
63873// AsDataset is the BasicDataset implementation for DynamicsCrmEntityDataset.
63874func (dced DynamicsCrmEntityDataset) AsDataset() (*Dataset, bool) {
63875	return nil, false
63876}
63877
63878// AsBasicDataset is the BasicDataset implementation for DynamicsCrmEntityDataset.
63879func (dced DynamicsCrmEntityDataset) AsBasicDataset() (BasicDataset, bool) {
63880	return &dced, true
63881}
63882
63883// UnmarshalJSON is the custom unmarshaler for DynamicsCrmEntityDataset struct.
63884func (dced *DynamicsCrmEntityDataset) UnmarshalJSON(body []byte) error {
63885	var m map[string]*json.RawMessage
63886	err := json.Unmarshal(body, &m)
63887	if err != nil {
63888		return err
63889	}
63890	for k, v := range m {
63891		switch k {
63892		case "typeProperties":
63893			if v != nil {
63894				var dynamicsCrmEntityDatasetTypeProperties DynamicsCrmEntityDatasetTypeProperties
63895				err = json.Unmarshal(*v, &dynamicsCrmEntityDatasetTypeProperties)
63896				if err != nil {
63897					return err
63898				}
63899				dced.DynamicsCrmEntityDatasetTypeProperties = &dynamicsCrmEntityDatasetTypeProperties
63900			}
63901		default:
63902			if v != nil {
63903				var additionalProperties interface{}
63904				err = json.Unmarshal(*v, &additionalProperties)
63905				if err != nil {
63906					return err
63907				}
63908				if dced.AdditionalProperties == nil {
63909					dced.AdditionalProperties = make(map[string]interface{})
63910				}
63911				dced.AdditionalProperties[k] = additionalProperties
63912			}
63913		case "description":
63914			if v != nil {
63915				var description string
63916				err = json.Unmarshal(*v, &description)
63917				if err != nil {
63918					return err
63919				}
63920				dced.Description = &description
63921			}
63922		case "structure":
63923			if v != nil {
63924				var structure interface{}
63925				err = json.Unmarshal(*v, &structure)
63926				if err != nil {
63927					return err
63928				}
63929				dced.Structure = structure
63930			}
63931		case "schema":
63932			if v != nil {
63933				var schema interface{}
63934				err = json.Unmarshal(*v, &schema)
63935				if err != nil {
63936					return err
63937				}
63938				dced.Schema = schema
63939			}
63940		case "linkedServiceName":
63941			if v != nil {
63942				var linkedServiceName LinkedServiceReference
63943				err = json.Unmarshal(*v, &linkedServiceName)
63944				if err != nil {
63945					return err
63946				}
63947				dced.LinkedServiceName = &linkedServiceName
63948			}
63949		case "parameters":
63950			if v != nil {
63951				var parameters map[string]*ParameterSpecification
63952				err = json.Unmarshal(*v, &parameters)
63953				if err != nil {
63954					return err
63955				}
63956				dced.Parameters = parameters
63957			}
63958		case "annotations":
63959			if v != nil {
63960				var annotations []interface{}
63961				err = json.Unmarshal(*v, &annotations)
63962				if err != nil {
63963					return err
63964				}
63965				dced.Annotations = &annotations
63966			}
63967		case "folder":
63968			if v != nil {
63969				var folder DatasetFolder
63970				err = json.Unmarshal(*v, &folder)
63971				if err != nil {
63972					return err
63973				}
63974				dced.Folder = &folder
63975			}
63976		case "type":
63977			if v != nil {
63978				var typeVar TypeBasicDataset
63979				err = json.Unmarshal(*v, &typeVar)
63980				if err != nil {
63981					return err
63982				}
63983				dced.Type = typeVar
63984			}
63985		}
63986	}
63987
63988	return nil
63989}
63990
63991// DynamicsCrmEntityDatasetTypeProperties dynamics CRM entity dataset properties.
63992type DynamicsCrmEntityDatasetTypeProperties struct {
63993	// EntityName - The logical name of the entity. Type: string (or Expression with resultType string).
63994	EntityName interface{} `json:"entityName,omitempty"`
63995}
63996
63997// DynamicsCrmLinkedService dynamics CRM linked service.
63998type DynamicsCrmLinkedService struct {
63999	// DynamicsCrmLinkedServiceTypeProperties - Dynamics CRM linked service properties.
64000	*DynamicsCrmLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
64001	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
64002	AdditionalProperties map[string]interface{} `json:""`
64003	// ConnectVia - The integration runtime reference.
64004	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
64005	// Description - Linked service description.
64006	Description *string `json:"description,omitempty"`
64007	// Parameters - Parameters for linked service.
64008	Parameters map[string]*ParameterSpecification `json:"parameters"`
64009	// Annotations - List of tags that can be used for describing the linked service.
64010	Annotations *[]interface{} `json:"annotations,omitempty"`
64011	// Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', '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', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage'
64012	Type TypeBasicLinkedService `json:"type,omitempty"`
64013}
64014
64015// MarshalJSON is the custom marshaler for DynamicsCrmLinkedService.
64016func (dcls DynamicsCrmLinkedService) MarshalJSON() ([]byte, error) {
64017	dcls.Type = TypeDynamicsCrm
64018	objectMap := make(map[string]interface{})
64019	if dcls.DynamicsCrmLinkedServiceTypeProperties != nil {
64020		objectMap["typeProperties"] = dcls.DynamicsCrmLinkedServiceTypeProperties
64021	}
64022	if dcls.ConnectVia != nil {
64023		objectMap["connectVia"] = dcls.ConnectVia
64024	}
64025	if dcls.Description != nil {
64026		objectMap["description"] = dcls.Description
64027	}
64028	if dcls.Parameters != nil {
64029		objectMap["parameters"] = dcls.Parameters
64030	}
64031	if dcls.Annotations != nil {
64032		objectMap["annotations"] = dcls.Annotations
64033	}
64034	if dcls.Type != "" {
64035		objectMap["type"] = dcls.Type
64036	}
64037	for k, v := range dcls.AdditionalProperties {
64038		objectMap[k] = v
64039	}
64040	return json.Marshal(objectMap)
64041}
64042
64043// AsAzureFunctionLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService.
64044func (dcls DynamicsCrmLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) {
64045	return nil, false
64046}
64047
64048// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService.
64049func (dcls DynamicsCrmLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) {
64050	return nil, false
64051}
64052
64053// AsSapTableLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService.
64054func (dcls DynamicsCrmLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) {
64055	return nil, false
64056}
64057
64058// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService.
64059func (dcls DynamicsCrmLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) {
64060	return nil, false
64061}
64062
64063// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService.
64064func (dcls DynamicsCrmLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) {
64065	return nil, false
64066}
64067
64068// AsDynamicsAXLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService.
64069func (dcls DynamicsCrmLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) {
64070	return nil, false
64071}
64072
64073// AsResponsysLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService.
64074func (dcls DynamicsCrmLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
64075	return nil, false
64076}
64077
64078// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService.
64079func (dcls DynamicsCrmLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
64080	return nil, false
64081}
64082
64083// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService.
64084func (dcls DynamicsCrmLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
64085	return nil, false
64086}
64087
64088// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService.
64089func (dcls DynamicsCrmLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
64090	return nil, false
64091}
64092
64093// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService.
64094func (dcls DynamicsCrmLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
64095	return nil, false
64096}
64097
64098// AsNetezzaLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService.
64099func (dcls DynamicsCrmLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
64100	return nil, false
64101}
64102
64103// AsVerticaLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService.
64104func (dcls DynamicsCrmLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
64105	return nil, false
64106}
64107
64108// AsZohoLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService.
64109func (dcls DynamicsCrmLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
64110	return nil, false
64111}
64112
64113// AsXeroLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService.
64114func (dcls DynamicsCrmLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
64115	return nil, false
64116}
64117
64118// AsSquareLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService.
64119func (dcls DynamicsCrmLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
64120	return nil, false
64121}
64122
64123// AsSparkLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService.
64124func (dcls DynamicsCrmLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
64125	return nil, false
64126}
64127
64128// AsShopifyLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService.
64129func (dcls DynamicsCrmLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
64130	return nil, false
64131}
64132
64133// AsServiceNowLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService.
64134func (dcls DynamicsCrmLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
64135	return nil, false
64136}
64137
64138// AsQuickBooksLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService.
64139func (dcls DynamicsCrmLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
64140	return nil, false
64141}
64142
64143// AsPrestoLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService.
64144func (dcls DynamicsCrmLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
64145	return nil, false
64146}
64147
64148// AsPhoenixLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService.
64149func (dcls DynamicsCrmLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
64150	return nil, false
64151}
64152
64153// AsPaypalLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService.
64154func (dcls DynamicsCrmLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
64155	return nil, false
64156}
64157
64158// AsMarketoLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService.
64159func (dcls DynamicsCrmLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
64160	return nil, false
64161}
64162
64163// AsMariaDBLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService.
64164func (dcls DynamicsCrmLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
64165	return nil, false
64166}
64167
64168// AsMagentoLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService.
64169func (dcls DynamicsCrmLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
64170	return nil, false
64171}
64172
64173// AsJiraLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService.
64174func (dcls DynamicsCrmLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
64175	return nil, false
64176}
64177
64178// AsImpalaLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService.
64179func (dcls DynamicsCrmLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
64180	return nil, false
64181}
64182
64183// AsHubspotLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService.
64184func (dcls DynamicsCrmLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
64185	return nil, false
64186}
64187
64188// AsHiveLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService.
64189func (dcls DynamicsCrmLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
64190	return nil, false
64191}
64192
64193// AsHBaseLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService.
64194func (dcls DynamicsCrmLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
64195	return nil, false
64196}
64197
64198// AsGreenplumLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService.
64199func (dcls DynamicsCrmLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
64200	return nil, false
64201}
64202
64203// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService.
64204func (dcls DynamicsCrmLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
64205	return nil, false
64206}
64207
64208// AsEloquaLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService.
64209func (dcls DynamicsCrmLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
64210	return nil, false
64211}
64212
64213// AsDrillLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService.
64214func (dcls DynamicsCrmLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
64215	return nil, false
64216}
64217
64218// AsCouchbaseLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService.
64219func (dcls DynamicsCrmLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
64220	return nil, false
64221}
64222
64223// AsConcurLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService.
64224func (dcls DynamicsCrmLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
64225	return nil, false
64226}
64227
64228// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService.
64229func (dcls DynamicsCrmLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
64230	return nil, false
64231}
64232
64233// AsAmazonMWSLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService.
64234func (dcls DynamicsCrmLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
64235	return nil, false
64236}
64237
64238// AsSapHanaLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService.
64239func (dcls DynamicsCrmLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
64240	return nil, false
64241}
64242
64243// AsSapBWLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService.
64244func (dcls DynamicsCrmLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
64245	return nil, false
64246}
64247
64248// AsSftpServerLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService.
64249func (dcls DynamicsCrmLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
64250	return nil, false
64251}
64252
64253// AsFtpServerLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService.
64254func (dcls DynamicsCrmLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
64255	return nil, false
64256}
64257
64258// AsHTTPLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService.
64259func (dcls DynamicsCrmLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
64260	return nil, false
64261}
64262
64263// AsAzureSearchLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService.
64264func (dcls DynamicsCrmLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
64265	return nil, false
64266}
64267
64268// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService.
64269func (dcls DynamicsCrmLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
64270	return nil, false
64271}
64272
64273// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService.
64274func (dcls DynamicsCrmLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
64275	return nil, false
64276}
64277
64278// AsAmazonS3LinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService.
64279func (dcls DynamicsCrmLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
64280	return nil, false
64281}
64282
64283// AsRestServiceLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService.
64284func (dcls DynamicsCrmLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) {
64285	return nil, false
64286}
64287
64288// AsSapOpenHubLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService.
64289func (dcls DynamicsCrmLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) {
64290	return nil, false
64291}
64292
64293// AsSapEccLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService.
64294func (dcls DynamicsCrmLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
64295	return nil, false
64296}
64297
64298// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService.
64299func (dcls DynamicsCrmLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
64300	return nil, false
64301}
64302
64303// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService.
64304func (dcls DynamicsCrmLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) {
64305	return nil, false
64306}
64307
64308// AsSalesforceLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService.
64309func (dcls DynamicsCrmLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
64310	return nil, false
64311}
64312
64313// AsOffice365LinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService.
64314func (dcls DynamicsCrmLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) {
64315	return nil, false
64316}
64317
64318// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService.
64319func (dcls DynamicsCrmLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) {
64320	return nil, false
64321}
64322
64323// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService.
64324func (dcls DynamicsCrmLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
64325	return nil, false
64326}
64327
64328// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService.
64329func (dcls DynamicsCrmLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) {
64330	return nil, false
64331}
64332
64333// AsMongoDbV2LinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService.
64334func (dcls DynamicsCrmLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) {
64335	return nil, false
64336}
64337
64338// AsMongoDbLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService.
64339func (dcls DynamicsCrmLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
64340	return nil, false
64341}
64342
64343// AsCassandraLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService.
64344func (dcls DynamicsCrmLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
64345	return nil, false
64346}
64347
64348// AsWebLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService.
64349func (dcls DynamicsCrmLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
64350	return nil, false
64351}
64352
64353// AsODataLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService.
64354func (dcls DynamicsCrmLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
64355	return nil, false
64356}
64357
64358// AsHdfsLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService.
64359func (dcls DynamicsCrmLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
64360	return nil, false
64361}
64362
64363// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService.
64364func (dcls DynamicsCrmLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) {
64365	return nil, false
64366}
64367
64368// AsInformixLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService.
64369func (dcls DynamicsCrmLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) {
64370	return nil, false
64371}
64372
64373// AsOdbcLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService.
64374func (dcls DynamicsCrmLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
64375	return nil, false
64376}
64377
64378// AsAzureMLLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService.
64379func (dcls DynamicsCrmLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
64380	return nil, false
64381}
64382
64383// AsTeradataLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService.
64384func (dcls DynamicsCrmLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
64385	return nil, false
64386}
64387
64388// AsDb2LinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService.
64389func (dcls DynamicsCrmLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
64390	return nil, false
64391}
64392
64393// AsSybaseLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService.
64394func (dcls DynamicsCrmLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
64395	return nil, false
64396}
64397
64398// AsPostgreSQLLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService.
64399func (dcls DynamicsCrmLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
64400	return nil, false
64401}
64402
64403// AsMySQLLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService.
64404func (dcls DynamicsCrmLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
64405	return nil, false
64406}
64407
64408// AsAzureMySQLLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService.
64409func (dcls DynamicsCrmLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
64410	return nil, false
64411}
64412
64413// AsOracleLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService.
64414func (dcls DynamicsCrmLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
64415	return nil, false
64416}
64417
64418// AsFileServerLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService.
64419func (dcls DynamicsCrmLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
64420	return nil, false
64421}
64422
64423// AsHDInsightLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService.
64424func (dcls DynamicsCrmLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
64425	return nil, false
64426}
64427
64428// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService.
64429func (dcls DynamicsCrmLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) {
64430	return nil, false
64431}
64432
64433// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService.
64434func (dcls DynamicsCrmLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) {
64435	return &dcls, true
64436}
64437
64438// AsDynamicsLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService.
64439func (dcls DynamicsCrmLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
64440	return nil, false
64441}
64442
64443// AsCosmosDbLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService.
64444func (dcls DynamicsCrmLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
64445	return nil, false
64446}
64447
64448// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService.
64449func (dcls DynamicsCrmLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
64450	return nil, false
64451}
64452
64453// AsAzureBatchLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService.
64454func (dcls DynamicsCrmLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
64455	return nil, false
64456}
64457
64458// AsAzureSQLMILinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService.
64459func (dcls DynamicsCrmLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) {
64460	return nil, false
64461}
64462
64463// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService.
64464func (dcls DynamicsCrmLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
64465	return nil, false
64466}
64467
64468// AsSQLServerLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService.
64469func (dcls DynamicsCrmLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
64470	return nil, false
64471}
64472
64473// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService.
64474func (dcls DynamicsCrmLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
64475	return nil, false
64476}
64477
64478// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService.
64479func (dcls DynamicsCrmLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) {
64480	return nil, false
64481}
64482
64483// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService.
64484func (dcls DynamicsCrmLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) {
64485	return nil, false
64486}
64487
64488// AsAzureStorageLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService.
64489func (dcls DynamicsCrmLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
64490	return nil, false
64491}
64492
64493// AsLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService.
64494func (dcls DynamicsCrmLinkedService) AsLinkedService() (*LinkedService, bool) {
64495	return nil, false
64496}
64497
64498// AsBasicLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService.
64499func (dcls DynamicsCrmLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
64500	return &dcls, true
64501}
64502
64503// UnmarshalJSON is the custom unmarshaler for DynamicsCrmLinkedService struct.
64504func (dcls *DynamicsCrmLinkedService) UnmarshalJSON(body []byte) error {
64505	var m map[string]*json.RawMessage
64506	err := json.Unmarshal(body, &m)
64507	if err != nil {
64508		return err
64509	}
64510	for k, v := range m {
64511		switch k {
64512		case "typeProperties":
64513			if v != nil {
64514				var dynamicsCrmLinkedServiceTypeProperties DynamicsCrmLinkedServiceTypeProperties
64515				err = json.Unmarshal(*v, &dynamicsCrmLinkedServiceTypeProperties)
64516				if err != nil {
64517					return err
64518				}
64519				dcls.DynamicsCrmLinkedServiceTypeProperties = &dynamicsCrmLinkedServiceTypeProperties
64520			}
64521		default:
64522			if v != nil {
64523				var additionalProperties interface{}
64524				err = json.Unmarshal(*v, &additionalProperties)
64525				if err != nil {
64526					return err
64527				}
64528				if dcls.AdditionalProperties == nil {
64529					dcls.AdditionalProperties = make(map[string]interface{})
64530				}
64531				dcls.AdditionalProperties[k] = additionalProperties
64532			}
64533		case "connectVia":
64534			if v != nil {
64535				var connectVia IntegrationRuntimeReference
64536				err = json.Unmarshal(*v, &connectVia)
64537				if err != nil {
64538					return err
64539				}
64540				dcls.ConnectVia = &connectVia
64541			}
64542		case "description":
64543			if v != nil {
64544				var description string
64545				err = json.Unmarshal(*v, &description)
64546				if err != nil {
64547					return err
64548				}
64549				dcls.Description = &description
64550			}
64551		case "parameters":
64552			if v != nil {
64553				var parameters map[string]*ParameterSpecification
64554				err = json.Unmarshal(*v, &parameters)
64555				if err != nil {
64556					return err
64557				}
64558				dcls.Parameters = parameters
64559			}
64560		case "annotations":
64561			if v != nil {
64562				var annotations []interface{}
64563				err = json.Unmarshal(*v, &annotations)
64564				if err != nil {
64565					return err
64566				}
64567				dcls.Annotations = &annotations
64568			}
64569		case "type":
64570			if v != nil {
64571				var typeVar TypeBasicLinkedService
64572				err = json.Unmarshal(*v, &typeVar)
64573				if err != nil {
64574					return err
64575				}
64576				dcls.Type = typeVar
64577			}
64578		}
64579	}
64580
64581	return nil
64582}
64583
64584// DynamicsCrmLinkedServiceTypeProperties dynamics CRM linked service properties.
64585type DynamicsCrmLinkedServiceTypeProperties struct {
64586	// DeploymentType - The deployment type of the Dynamics CRM instance. 'Online' for Dynamics CRM Online and 'OnPremisesWithIfd' for Dynamics CRM on-premises with Ifd. Type: string (or Expression with resultType string). Possible values include: 'Online', 'OnPremisesWithIfd'
64587	DeploymentType DynamicsDeploymentType `json:"deploymentType,omitempty"`
64588	// HostName - The host name of the on-premises Dynamics CRM server. The property is required for on-prem and not allowed for online. Type: string (or Expression with resultType string).
64589	HostName interface{} `json:"hostName,omitempty"`
64590	// Port - The port of on-premises Dynamics CRM 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.
64591	Port interface{} `json:"port,omitempty"`
64592	// ServiceURI - The URL to the Microsoft Dynamics CRM server. The property is required for on-line and not allowed for on-prem. Type: string (or Expression with resultType string).
64593	ServiceURI interface{} `json:"serviceUri,omitempty"`
64594	// OrganizationName - The organization name of the Dynamics CRM instance. The property is required for on-prem and required for online when there are more than one Dynamics CRM instances associated with the user. Type: string (or Expression with resultType string).
64595	OrganizationName interface{} `json:"organizationName,omitempty"`
64596	// AuthenticationType - The authentication type to connect to Dynamics CRM server. 'Office365' for online scenario, 'Ifd' for on-premises with Ifd scenario. Type: string (or Expression with resultType string). Possible values include: 'Office365', 'Ifd'
64597	AuthenticationType DynamicsAuthenticationType `json:"authenticationType,omitempty"`
64598	// Username - User name to access the Dynamics CRM instance. Type: string (or Expression with resultType string).
64599	Username interface{} `json:"username,omitempty"`
64600	// Password - Password to access the Dynamics CRM instance.
64601	Password BasicSecretBase `json:"password,omitempty"`
64602	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
64603	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
64604}
64605
64606// UnmarshalJSON is the custom unmarshaler for DynamicsCrmLinkedServiceTypeProperties struct.
64607func (dclstp *DynamicsCrmLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
64608	var m map[string]*json.RawMessage
64609	err := json.Unmarshal(body, &m)
64610	if err != nil {
64611		return err
64612	}
64613	for k, v := range m {
64614		switch k {
64615		case "deploymentType":
64616			if v != nil {
64617				var deploymentType DynamicsDeploymentType
64618				err = json.Unmarshal(*v, &deploymentType)
64619				if err != nil {
64620					return err
64621				}
64622				dclstp.DeploymentType = deploymentType
64623			}
64624		case "hostName":
64625			if v != nil {
64626				var hostName interface{}
64627				err = json.Unmarshal(*v, &hostName)
64628				if err != nil {
64629					return err
64630				}
64631				dclstp.HostName = hostName
64632			}
64633		case "port":
64634			if v != nil {
64635				var port interface{}
64636				err = json.Unmarshal(*v, &port)
64637				if err != nil {
64638					return err
64639				}
64640				dclstp.Port = port
64641			}
64642		case "serviceUri":
64643			if v != nil {
64644				var serviceURI interface{}
64645				err = json.Unmarshal(*v, &serviceURI)
64646				if err != nil {
64647					return err
64648				}
64649				dclstp.ServiceURI = serviceURI
64650			}
64651		case "organizationName":
64652			if v != nil {
64653				var organizationName interface{}
64654				err = json.Unmarshal(*v, &organizationName)
64655				if err != nil {
64656					return err
64657				}
64658				dclstp.OrganizationName = organizationName
64659			}
64660		case "authenticationType":
64661			if v != nil {
64662				var authenticationType DynamicsAuthenticationType
64663				err = json.Unmarshal(*v, &authenticationType)
64664				if err != nil {
64665					return err
64666				}
64667				dclstp.AuthenticationType = authenticationType
64668			}
64669		case "username":
64670			if v != nil {
64671				var username interface{}
64672				err = json.Unmarshal(*v, &username)
64673				if err != nil {
64674					return err
64675				}
64676				dclstp.Username = username
64677			}
64678		case "password":
64679			if v != nil {
64680				password, err := unmarshalBasicSecretBase(*v)
64681				if err != nil {
64682					return err
64683				}
64684				dclstp.Password = password
64685			}
64686		case "encryptedCredential":
64687			if v != nil {
64688				var encryptedCredential interface{}
64689				err = json.Unmarshal(*v, &encryptedCredential)
64690				if err != nil {
64691					return err
64692				}
64693				dclstp.EncryptedCredential = encryptedCredential
64694			}
64695		}
64696	}
64697
64698	return nil
64699}
64700
64701// DynamicsCrmSink a copy activity Dynamics CRM sink.
64702type DynamicsCrmSink struct {
64703	// WriteBehavior - The write behavior for the operation.
64704	WriteBehavior *string `json:"writeBehavior,omitempty"`
64705	// IgnoreNullValues - The flag indicating whether to ignore null values from input dataset (except key fields) during write operation. Default is false. Type: boolean (or Expression with resultType boolean).
64706	IgnoreNullValues interface{} `json:"ignoreNullValues,omitempty"`
64707	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
64708	AdditionalProperties map[string]interface{} `json:""`
64709	// WriteBatchSize - Write batch size. Type: integer (or Expression with resultType integer), minimum: 0.
64710	WriteBatchSize interface{} `json:"writeBatchSize,omitempty"`
64711	// 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])).
64712	WriteBatchTimeout interface{} `json:"writeBatchTimeout,omitempty"`
64713	// SinkRetryCount - Sink retry count. Type: integer (or Expression with resultType integer).
64714	SinkRetryCount interface{} `json:"sinkRetryCount,omitempty"`
64715	// 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])).
64716	SinkRetryWait interface{} `json:"sinkRetryWait,omitempty"`
64717	// MaxConcurrentConnections - The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer).
64718	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
64719	// Type - Possible values include: 'TypeCopySink', 'TypeCosmosDbMongoDbAPISink', 'TypeSalesforceServiceCloudSink', 'TypeSalesforceSink', 'TypeAzureDataExplorerSink', 'TypeCommonDataServiceForAppsSink', 'TypeDynamicsCrmSink', 'TypeDynamicsSink', 'TypeMicrosoftAccessSink', 'TypeInformixSink', 'TypeOdbcSink', 'TypeAzureSearchIndexSink', 'TypeAzureBlobFSSink', 'TypeAzureDataLakeStoreSink', 'TypeOracleSink', 'TypeSQLDWSink', 'TypeSQLMISink', 'TypeAzureSQLSink', 'TypeSQLServerSink', 'TypeSQLSink', 'TypeDocumentDbCollectionSink', 'TypeFileSystemSink', 'TypeBlobSink', 'TypeBinarySink', 'TypeParquetSink', 'TypeAzureTableSink', 'TypeAzureQueueSink', 'TypeSapCloudForCustomerSink', 'TypeAzurePostgreSQLSink', 'TypeDelimitedTextSink'
64720	Type TypeBasicCopySink `json:"type,omitempty"`
64721}
64722
64723// MarshalJSON is the custom marshaler for DynamicsCrmSink.
64724func (dcs DynamicsCrmSink) MarshalJSON() ([]byte, error) {
64725	dcs.Type = TypeDynamicsCrmSink
64726	objectMap := make(map[string]interface{})
64727	if dcs.WriteBehavior != nil {
64728		objectMap["writeBehavior"] = dcs.WriteBehavior
64729	}
64730	if dcs.IgnoreNullValues != nil {
64731		objectMap["ignoreNullValues"] = dcs.IgnoreNullValues
64732	}
64733	if dcs.WriteBatchSize != nil {
64734		objectMap["writeBatchSize"] = dcs.WriteBatchSize
64735	}
64736	if dcs.WriteBatchTimeout != nil {
64737		objectMap["writeBatchTimeout"] = dcs.WriteBatchTimeout
64738	}
64739	if dcs.SinkRetryCount != nil {
64740		objectMap["sinkRetryCount"] = dcs.SinkRetryCount
64741	}
64742	if dcs.SinkRetryWait != nil {
64743		objectMap["sinkRetryWait"] = dcs.SinkRetryWait
64744	}
64745	if dcs.MaxConcurrentConnections != nil {
64746		objectMap["maxConcurrentConnections"] = dcs.MaxConcurrentConnections
64747	}
64748	if dcs.Type != "" {
64749		objectMap["type"] = dcs.Type
64750	}
64751	for k, v := range dcs.AdditionalProperties {
64752		objectMap[k] = v
64753	}
64754	return json.Marshal(objectMap)
64755}
64756
64757// AsCosmosDbMongoDbAPISink is the BasicCopySink implementation for DynamicsCrmSink.
64758func (dcs DynamicsCrmSink) AsCosmosDbMongoDbAPISink() (*CosmosDbMongoDbAPISink, bool) {
64759	return nil, false
64760}
64761
64762// AsSalesforceServiceCloudSink is the BasicCopySink implementation for DynamicsCrmSink.
64763func (dcs DynamicsCrmSink) AsSalesforceServiceCloudSink() (*SalesforceServiceCloudSink, bool) {
64764	return nil, false
64765}
64766
64767// AsSalesforceSink is the BasicCopySink implementation for DynamicsCrmSink.
64768func (dcs DynamicsCrmSink) AsSalesforceSink() (*SalesforceSink, bool) {
64769	return nil, false
64770}
64771
64772// AsAzureDataExplorerSink is the BasicCopySink implementation for DynamicsCrmSink.
64773func (dcs DynamicsCrmSink) AsAzureDataExplorerSink() (*AzureDataExplorerSink, bool) {
64774	return nil, false
64775}
64776
64777// AsCommonDataServiceForAppsSink is the BasicCopySink implementation for DynamicsCrmSink.
64778func (dcs DynamicsCrmSink) AsCommonDataServiceForAppsSink() (*CommonDataServiceForAppsSink, bool) {
64779	return nil, false
64780}
64781
64782// AsDynamicsCrmSink is the BasicCopySink implementation for DynamicsCrmSink.
64783func (dcs DynamicsCrmSink) AsDynamicsCrmSink() (*DynamicsCrmSink, bool) {
64784	return &dcs, true
64785}
64786
64787// AsDynamicsSink is the BasicCopySink implementation for DynamicsCrmSink.
64788func (dcs DynamicsCrmSink) AsDynamicsSink() (*DynamicsSink, bool) {
64789	return nil, false
64790}
64791
64792// AsMicrosoftAccessSink is the BasicCopySink implementation for DynamicsCrmSink.
64793func (dcs DynamicsCrmSink) AsMicrosoftAccessSink() (*MicrosoftAccessSink, bool) {
64794	return nil, false
64795}
64796
64797// AsInformixSink is the BasicCopySink implementation for DynamicsCrmSink.
64798func (dcs DynamicsCrmSink) AsInformixSink() (*InformixSink, bool) {
64799	return nil, false
64800}
64801
64802// AsOdbcSink is the BasicCopySink implementation for DynamicsCrmSink.
64803func (dcs DynamicsCrmSink) AsOdbcSink() (*OdbcSink, bool) {
64804	return nil, false
64805}
64806
64807// AsAzureSearchIndexSink is the BasicCopySink implementation for DynamicsCrmSink.
64808func (dcs DynamicsCrmSink) AsAzureSearchIndexSink() (*AzureSearchIndexSink, bool) {
64809	return nil, false
64810}
64811
64812// AsAzureBlobFSSink is the BasicCopySink implementation for DynamicsCrmSink.
64813func (dcs DynamicsCrmSink) AsAzureBlobFSSink() (*AzureBlobFSSink, bool) {
64814	return nil, false
64815}
64816
64817// AsAzureDataLakeStoreSink is the BasicCopySink implementation for DynamicsCrmSink.
64818func (dcs DynamicsCrmSink) AsAzureDataLakeStoreSink() (*AzureDataLakeStoreSink, bool) {
64819	return nil, false
64820}
64821
64822// AsOracleSink is the BasicCopySink implementation for DynamicsCrmSink.
64823func (dcs DynamicsCrmSink) AsOracleSink() (*OracleSink, bool) {
64824	return nil, false
64825}
64826
64827// AsSQLDWSink is the BasicCopySink implementation for DynamicsCrmSink.
64828func (dcs DynamicsCrmSink) AsSQLDWSink() (*SQLDWSink, bool) {
64829	return nil, false
64830}
64831
64832// AsSQLMISink is the BasicCopySink implementation for DynamicsCrmSink.
64833func (dcs DynamicsCrmSink) AsSQLMISink() (*SQLMISink, bool) {
64834	return nil, false
64835}
64836
64837// AsAzureSQLSink is the BasicCopySink implementation for DynamicsCrmSink.
64838func (dcs DynamicsCrmSink) AsAzureSQLSink() (*AzureSQLSink, bool) {
64839	return nil, false
64840}
64841
64842// AsSQLServerSink is the BasicCopySink implementation for DynamicsCrmSink.
64843func (dcs DynamicsCrmSink) AsSQLServerSink() (*SQLServerSink, bool) {
64844	return nil, false
64845}
64846
64847// AsSQLSink is the BasicCopySink implementation for DynamicsCrmSink.
64848func (dcs DynamicsCrmSink) AsSQLSink() (*SQLSink, bool) {
64849	return nil, false
64850}
64851
64852// AsDocumentDbCollectionSink is the BasicCopySink implementation for DynamicsCrmSink.
64853func (dcs DynamicsCrmSink) AsDocumentDbCollectionSink() (*DocumentDbCollectionSink, bool) {
64854	return nil, false
64855}
64856
64857// AsFileSystemSink is the BasicCopySink implementation for DynamicsCrmSink.
64858func (dcs DynamicsCrmSink) AsFileSystemSink() (*FileSystemSink, bool) {
64859	return nil, false
64860}
64861
64862// AsBlobSink is the BasicCopySink implementation for DynamicsCrmSink.
64863func (dcs DynamicsCrmSink) AsBlobSink() (*BlobSink, bool) {
64864	return nil, false
64865}
64866
64867// AsBinarySink is the BasicCopySink implementation for DynamicsCrmSink.
64868func (dcs DynamicsCrmSink) AsBinarySink() (*BinarySink, bool) {
64869	return nil, false
64870}
64871
64872// AsParquetSink is the BasicCopySink implementation for DynamicsCrmSink.
64873func (dcs DynamicsCrmSink) AsParquetSink() (*ParquetSink, bool) {
64874	return nil, false
64875}
64876
64877// AsAzureTableSink is the BasicCopySink implementation for DynamicsCrmSink.
64878func (dcs DynamicsCrmSink) AsAzureTableSink() (*AzureTableSink, bool) {
64879	return nil, false
64880}
64881
64882// AsAzureQueueSink is the BasicCopySink implementation for DynamicsCrmSink.
64883func (dcs DynamicsCrmSink) AsAzureQueueSink() (*AzureQueueSink, bool) {
64884	return nil, false
64885}
64886
64887// AsSapCloudForCustomerSink is the BasicCopySink implementation for DynamicsCrmSink.
64888func (dcs DynamicsCrmSink) AsSapCloudForCustomerSink() (*SapCloudForCustomerSink, bool) {
64889	return nil, false
64890}
64891
64892// AsAzurePostgreSQLSink is the BasicCopySink implementation for DynamicsCrmSink.
64893func (dcs DynamicsCrmSink) AsAzurePostgreSQLSink() (*AzurePostgreSQLSink, bool) {
64894	return nil, false
64895}
64896
64897// AsDelimitedTextSink is the BasicCopySink implementation for DynamicsCrmSink.
64898func (dcs DynamicsCrmSink) AsDelimitedTextSink() (*DelimitedTextSink, bool) {
64899	return nil, false
64900}
64901
64902// AsCopySink is the BasicCopySink implementation for DynamicsCrmSink.
64903func (dcs DynamicsCrmSink) AsCopySink() (*CopySink, bool) {
64904	return nil, false
64905}
64906
64907// AsBasicCopySink is the BasicCopySink implementation for DynamicsCrmSink.
64908func (dcs DynamicsCrmSink) AsBasicCopySink() (BasicCopySink, bool) {
64909	return &dcs, true
64910}
64911
64912// UnmarshalJSON is the custom unmarshaler for DynamicsCrmSink struct.
64913func (dcs *DynamicsCrmSink) UnmarshalJSON(body []byte) error {
64914	var m map[string]*json.RawMessage
64915	err := json.Unmarshal(body, &m)
64916	if err != nil {
64917		return err
64918	}
64919	for k, v := range m {
64920		switch k {
64921		case "writeBehavior":
64922			if v != nil {
64923				var writeBehavior string
64924				err = json.Unmarshal(*v, &writeBehavior)
64925				if err != nil {
64926					return err
64927				}
64928				dcs.WriteBehavior = &writeBehavior
64929			}
64930		case "ignoreNullValues":
64931			if v != nil {
64932				var ignoreNullValues interface{}
64933				err = json.Unmarshal(*v, &ignoreNullValues)
64934				if err != nil {
64935					return err
64936				}
64937				dcs.IgnoreNullValues = ignoreNullValues
64938			}
64939		default:
64940			if v != nil {
64941				var additionalProperties interface{}
64942				err = json.Unmarshal(*v, &additionalProperties)
64943				if err != nil {
64944					return err
64945				}
64946				if dcs.AdditionalProperties == nil {
64947					dcs.AdditionalProperties = make(map[string]interface{})
64948				}
64949				dcs.AdditionalProperties[k] = additionalProperties
64950			}
64951		case "writeBatchSize":
64952			if v != nil {
64953				var writeBatchSize interface{}
64954				err = json.Unmarshal(*v, &writeBatchSize)
64955				if err != nil {
64956					return err
64957				}
64958				dcs.WriteBatchSize = writeBatchSize
64959			}
64960		case "writeBatchTimeout":
64961			if v != nil {
64962				var writeBatchTimeout interface{}
64963				err = json.Unmarshal(*v, &writeBatchTimeout)
64964				if err != nil {
64965					return err
64966				}
64967				dcs.WriteBatchTimeout = writeBatchTimeout
64968			}
64969		case "sinkRetryCount":
64970			if v != nil {
64971				var sinkRetryCount interface{}
64972				err = json.Unmarshal(*v, &sinkRetryCount)
64973				if err != nil {
64974					return err
64975				}
64976				dcs.SinkRetryCount = sinkRetryCount
64977			}
64978		case "sinkRetryWait":
64979			if v != nil {
64980				var sinkRetryWait interface{}
64981				err = json.Unmarshal(*v, &sinkRetryWait)
64982				if err != nil {
64983					return err
64984				}
64985				dcs.SinkRetryWait = sinkRetryWait
64986			}
64987		case "maxConcurrentConnections":
64988			if v != nil {
64989				var maxConcurrentConnections interface{}
64990				err = json.Unmarshal(*v, &maxConcurrentConnections)
64991				if err != nil {
64992					return err
64993				}
64994				dcs.MaxConcurrentConnections = maxConcurrentConnections
64995			}
64996		case "type":
64997			if v != nil {
64998				var typeVar TypeBasicCopySink
64999				err = json.Unmarshal(*v, &typeVar)
65000				if err != nil {
65001					return err
65002				}
65003				dcs.Type = typeVar
65004			}
65005		}
65006	}
65007
65008	return nil
65009}
65010
65011// DynamicsCrmSource a copy activity Dynamics CRM source.
65012type DynamicsCrmSource struct {
65013	// Query - FetchXML is a proprietary query language that is used in Microsoft Dynamics CRM (online & on-premises). Type: string (or Expression with resultType string).
65014	Query interface{} `json:"query,omitempty"`
65015	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
65016	AdditionalProperties map[string]interface{} `json:""`
65017	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
65018	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
65019	// 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])).
65020	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
65021	// MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer).
65022	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
65023	// Type - Possible values include: 'TypeCopySource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', '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', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeCassandraSource', 'TypeWebSource', 'TypeTeradataSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeAzureMySQLSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeRestSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceServiceCloudSource', 'TypeSalesforceSource', 'TypeODataSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeMicrosoftAccessSource', 'TypeInformixSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAzureTableSource', 'TypeBinarySource', 'TypeDelimitedTextSource', 'TypeParquetSource'
65024	Type TypeBasicCopySource `json:"type,omitempty"`
65025}
65026
65027// MarshalJSON is the custom marshaler for DynamicsCrmSource.
65028func (dcs DynamicsCrmSource) MarshalJSON() ([]byte, error) {
65029	dcs.Type = TypeDynamicsCrmSource
65030	objectMap := make(map[string]interface{})
65031	if dcs.Query != nil {
65032		objectMap["query"] = dcs.Query
65033	}
65034	if dcs.SourceRetryCount != nil {
65035		objectMap["sourceRetryCount"] = dcs.SourceRetryCount
65036	}
65037	if dcs.SourceRetryWait != nil {
65038		objectMap["sourceRetryWait"] = dcs.SourceRetryWait
65039	}
65040	if dcs.MaxConcurrentConnections != nil {
65041		objectMap["maxConcurrentConnections"] = dcs.MaxConcurrentConnections
65042	}
65043	if dcs.Type != "" {
65044		objectMap["type"] = dcs.Type
65045	}
65046	for k, v := range dcs.AdditionalProperties {
65047		objectMap[k] = v
65048	}
65049	return json.Marshal(objectMap)
65050}
65051
65052// AsAmazonRedshiftSource is the BasicCopySource implementation for DynamicsCrmSource.
65053func (dcs DynamicsCrmSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
65054	return nil, false
65055}
65056
65057// AsGoogleAdWordsSource is the BasicCopySource implementation for DynamicsCrmSource.
65058func (dcs DynamicsCrmSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) {
65059	return nil, false
65060}
65061
65062// AsOracleServiceCloudSource is the BasicCopySource implementation for DynamicsCrmSource.
65063func (dcs DynamicsCrmSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) {
65064	return nil, false
65065}
65066
65067// AsDynamicsAXSource is the BasicCopySource implementation for DynamicsCrmSource.
65068func (dcs DynamicsCrmSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) {
65069	return nil, false
65070}
65071
65072// AsResponsysSource is the BasicCopySource implementation for DynamicsCrmSource.
65073func (dcs DynamicsCrmSource) AsResponsysSource() (*ResponsysSource, bool) {
65074	return nil, false
65075}
65076
65077// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for DynamicsCrmSource.
65078func (dcs DynamicsCrmSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
65079	return nil, false
65080}
65081
65082// AsVerticaSource is the BasicCopySource implementation for DynamicsCrmSource.
65083func (dcs DynamicsCrmSource) AsVerticaSource() (*VerticaSource, bool) {
65084	return nil, false
65085}
65086
65087// AsNetezzaSource is the BasicCopySource implementation for DynamicsCrmSource.
65088func (dcs DynamicsCrmSource) AsNetezzaSource() (*NetezzaSource, bool) {
65089	return nil, false
65090}
65091
65092// AsZohoSource is the BasicCopySource implementation for DynamicsCrmSource.
65093func (dcs DynamicsCrmSource) AsZohoSource() (*ZohoSource, bool) {
65094	return nil, false
65095}
65096
65097// AsXeroSource is the BasicCopySource implementation for DynamicsCrmSource.
65098func (dcs DynamicsCrmSource) AsXeroSource() (*XeroSource, bool) {
65099	return nil, false
65100}
65101
65102// AsSquareSource is the BasicCopySource implementation for DynamicsCrmSource.
65103func (dcs DynamicsCrmSource) AsSquareSource() (*SquareSource, bool) {
65104	return nil, false
65105}
65106
65107// AsSparkSource is the BasicCopySource implementation for DynamicsCrmSource.
65108func (dcs DynamicsCrmSource) AsSparkSource() (*SparkSource, bool) {
65109	return nil, false
65110}
65111
65112// AsShopifySource is the BasicCopySource implementation for DynamicsCrmSource.
65113func (dcs DynamicsCrmSource) AsShopifySource() (*ShopifySource, bool) {
65114	return nil, false
65115}
65116
65117// AsServiceNowSource is the BasicCopySource implementation for DynamicsCrmSource.
65118func (dcs DynamicsCrmSource) AsServiceNowSource() (*ServiceNowSource, bool) {
65119	return nil, false
65120}
65121
65122// AsQuickBooksSource is the BasicCopySource implementation for DynamicsCrmSource.
65123func (dcs DynamicsCrmSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
65124	return nil, false
65125}
65126
65127// AsPrestoSource is the BasicCopySource implementation for DynamicsCrmSource.
65128func (dcs DynamicsCrmSource) AsPrestoSource() (*PrestoSource, bool) {
65129	return nil, false
65130}
65131
65132// AsPhoenixSource is the BasicCopySource implementation for DynamicsCrmSource.
65133func (dcs DynamicsCrmSource) AsPhoenixSource() (*PhoenixSource, bool) {
65134	return nil, false
65135}
65136
65137// AsPaypalSource is the BasicCopySource implementation for DynamicsCrmSource.
65138func (dcs DynamicsCrmSource) AsPaypalSource() (*PaypalSource, bool) {
65139	return nil, false
65140}
65141
65142// AsMarketoSource is the BasicCopySource implementation for DynamicsCrmSource.
65143func (dcs DynamicsCrmSource) AsMarketoSource() (*MarketoSource, bool) {
65144	return nil, false
65145}
65146
65147// AsMariaDBSource is the BasicCopySource implementation for DynamicsCrmSource.
65148func (dcs DynamicsCrmSource) AsMariaDBSource() (*MariaDBSource, bool) {
65149	return nil, false
65150}
65151
65152// AsMagentoSource is the BasicCopySource implementation for DynamicsCrmSource.
65153func (dcs DynamicsCrmSource) AsMagentoSource() (*MagentoSource, bool) {
65154	return nil, false
65155}
65156
65157// AsJiraSource is the BasicCopySource implementation for DynamicsCrmSource.
65158func (dcs DynamicsCrmSource) AsJiraSource() (*JiraSource, bool) {
65159	return nil, false
65160}
65161
65162// AsImpalaSource is the BasicCopySource implementation for DynamicsCrmSource.
65163func (dcs DynamicsCrmSource) AsImpalaSource() (*ImpalaSource, bool) {
65164	return nil, false
65165}
65166
65167// AsHubspotSource is the BasicCopySource implementation for DynamicsCrmSource.
65168func (dcs DynamicsCrmSource) AsHubspotSource() (*HubspotSource, bool) {
65169	return nil, false
65170}
65171
65172// AsHiveSource is the BasicCopySource implementation for DynamicsCrmSource.
65173func (dcs DynamicsCrmSource) AsHiveSource() (*HiveSource, bool) {
65174	return nil, false
65175}
65176
65177// AsHBaseSource is the BasicCopySource implementation for DynamicsCrmSource.
65178func (dcs DynamicsCrmSource) AsHBaseSource() (*HBaseSource, bool) {
65179	return nil, false
65180}
65181
65182// AsGreenplumSource is the BasicCopySource implementation for DynamicsCrmSource.
65183func (dcs DynamicsCrmSource) AsGreenplumSource() (*GreenplumSource, bool) {
65184	return nil, false
65185}
65186
65187// AsGoogleBigQuerySource is the BasicCopySource implementation for DynamicsCrmSource.
65188func (dcs DynamicsCrmSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
65189	return nil, false
65190}
65191
65192// AsEloquaSource is the BasicCopySource implementation for DynamicsCrmSource.
65193func (dcs DynamicsCrmSource) AsEloquaSource() (*EloquaSource, bool) {
65194	return nil, false
65195}
65196
65197// AsDrillSource is the BasicCopySource implementation for DynamicsCrmSource.
65198func (dcs DynamicsCrmSource) AsDrillSource() (*DrillSource, bool) {
65199	return nil, false
65200}
65201
65202// AsCouchbaseSource is the BasicCopySource implementation for DynamicsCrmSource.
65203func (dcs DynamicsCrmSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
65204	return nil, false
65205}
65206
65207// AsConcurSource is the BasicCopySource implementation for DynamicsCrmSource.
65208func (dcs DynamicsCrmSource) AsConcurSource() (*ConcurSource, bool) {
65209	return nil, false
65210}
65211
65212// AsAzurePostgreSQLSource is the BasicCopySource implementation for DynamicsCrmSource.
65213func (dcs DynamicsCrmSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
65214	return nil, false
65215}
65216
65217// AsAmazonMWSSource is the BasicCopySource implementation for DynamicsCrmSource.
65218func (dcs DynamicsCrmSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
65219	return nil, false
65220}
65221
65222// AsHTTPSource is the BasicCopySource implementation for DynamicsCrmSource.
65223func (dcs DynamicsCrmSource) AsHTTPSource() (*HTTPSource, bool) {
65224	return nil, false
65225}
65226
65227// AsAzureBlobFSSource is the BasicCopySource implementation for DynamicsCrmSource.
65228func (dcs DynamicsCrmSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) {
65229	return nil, false
65230}
65231
65232// AsAzureDataLakeStoreSource is the BasicCopySource implementation for DynamicsCrmSource.
65233func (dcs DynamicsCrmSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
65234	return nil, false
65235}
65236
65237// AsOffice365Source is the BasicCopySource implementation for DynamicsCrmSource.
65238func (dcs DynamicsCrmSource) AsOffice365Source() (*Office365Source, bool) {
65239	return nil, false
65240}
65241
65242// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for DynamicsCrmSource.
65243func (dcs DynamicsCrmSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) {
65244	return nil, false
65245}
65246
65247// AsMongoDbV2Source is the BasicCopySource implementation for DynamicsCrmSource.
65248func (dcs DynamicsCrmSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) {
65249	return nil, false
65250}
65251
65252// AsMongoDbSource is the BasicCopySource implementation for DynamicsCrmSource.
65253func (dcs DynamicsCrmSource) AsMongoDbSource() (*MongoDbSource, bool) {
65254	return nil, false
65255}
65256
65257// AsCassandraSource is the BasicCopySource implementation for DynamicsCrmSource.
65258func (dcs DynamicsCrmSource) AsCassandraSource() (*CassandraSource, bool) {
65259	return nil, false
65260}
65261
65262// AsWebSource is the BasicCopySource implementation for DynamicsCrmSource.
65263func (dcs DynamicsCrmSource) AsWebSource() (*WebSource, bool) {
65264	return nil, false
65265}
65266
65267// AsTeradataSource is the BasicCopySource implementation for DynamicsCrmSource.
65268func (dcs DynamicsCrmSource) AsTeradataSource() (*TeradataSource, bool) {
65269	return nil, false
65270}
65271
65272// AsOracleSource is the BasicCopySource implementation for DynamicsCrmSource.
65273func (dcs DynamicsCrmSource) AsOracleSource() (*OracleSource, bool) {
65274	return nil, false
65275}
65276
65277// AsAzureDataExplorerSource is the BasicCopySource implementation for DynamicsCrmSource.
65278func (dcs DynamicsCrmSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) {
65279	return nil, false
65280}
65281
65282// AsAzureMySQLSource is the BasicCopySource implementation for DynamicsCrmSource.
65283func (dcs DynamicsCrmSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
65284	return nil, false
65285}
65286
65287// AsHdfsSource is the BasicCopySource implementation for DynamicsCrmSource.
65288func (dcs DynamicsCrmSource) AsHdfsSource() (*HdfsSource, bool) {
65289	return nil, false
65290}
65291
65292// AsFileSystemSource is the BasicCopySource implementation for DynamicsCrmSource.
65293func (dcs DynamicsCrmSource) AsFileSystemSource() (*FileSystemSource, bool) {
65294	return nil, false
65295}
65296
65297// AsSQLDWSource is the BasicCopySource implementation for DynamicsCrmSource.
65298func (dcs DynamicsCrmSource) AsSQLDWSource() (*SQLDWSource, bool) {
65299	return nil, false
65300}
65301
65302// AsSQLMISource is the BasicCopySource implementation for DynamicsCrmSource.
65303func (dcs DynamicsCrmSource) AsSQLMISource() (*SQLMISource, bool) {
65304	return nil, false
65305}
65306
65307// AsAzureSQLSource is the BasicCopySource implementation for DynamicsCrmSource.
65308func (dcs DynamicsCrmSource) AsAzureSQLSource() (*AzureSQLSource, bool) {
65309	return nil, false
65310}
65311
65312// AsSQLServerSource is the BasicCopySource implementation for DynamicsCrmSource.
65313func (dcs DynamicsCrmSource) AsSQLServerSource() (*SQLServerSource, bool) {
65314	return nil, false
65315}
65316
65317// AsSQLSource is the BasicCopySource implementation for DynamicsCrmSource.
65318func (dcs DynamicsCrmSource) AsSQLSource() (*SQLSource, bool) {
65319	return nil, false
65320}
65321
65322// AsRestSource is the BasicCopySource implementation for DynamicsCrmSource.
65323func (dcs DynamicsCrmSource) AsRestSource() (*RestSource, bool) {
65324	return nil, false
65325}
65326
65327// AsSapTableSource is the BasicCopySource implementation for DynamicsCrmSource.
65328func (dcs DynamicsCrmSource) AsSapTableSource() (*SapTableSource, bool) {
65329	return nil, false
65330}
65331
65332// AsSapOpenHubSource is the BasicCopySource implementation for DynamicsCrmSource.
65333func (dcs DynamicsCrmSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) {
65334	return nil, false
65335}
65336
65337// AsSapHanaSource is the BasicCopySource implementation for DynamicsCrmSource.
65338func (dcs DynamicsCrmSource) AsSapHanaSource() (*SapHanaSource, bool) {
65339	return nil, false
65340}
65341
65342// AsSapEccSource is the BasicCopySource implementation for DynamicsCrmSource.
65343func (dcs DynamicsCrmSource) AsSapEccSource() (*SapEccSource, bool) {
65344	return nil, false
65345}
65346
65347// AsSapCloudForCustomerSource is the BasicCopySource implementation for DynamicsCrmSource.
65348func (dcs DynamicsCrmSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
65349	return nil, false
65350}
65351
65352// AsSalesforceServiceCloudSource is the BasicCopySource implementation for DynamicsCrmSource.
65353func (dcs DynamicsCrmSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) {
65354	return nil, false
65355}
65356
65357// AsSalesforceSource is the BasicCopySource implementation for DynamicsCrmSource.
65358func (dcs DynamicsCrmSource) AsSalesforceSource() (*SalesforceSource, bool) {
65359	return nil, false
65360}
65361
65362// AsODataSource is the BasicCopySource implementation for DynamicsCrmSource.
65363func (dcs DynamicsCrmSource) AsODataSource() (*ODataSource, bool) {
65364	return nil, false
65365}
65366
65367// AsSybaseSource is the BasicCopySource implementation for DynamicsCrmSource.
65368func (dcs DynamicsCrmSource) AsSybaseSource() (*SybaseSource, bool) {
65369	return nil, false
65370}
65371
65372// AsPostgreSQLSource is the BasicCopySource implementation for DynamicsCrmSource.
65373func (dcs DynamicsCrmSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) {
65374	return nil, false
65375}
65376
65377// AsMySQLSource is the BasicCopySource implementation for DynamicsCrmSource.
65378func (dcs DynamicsCrmSource) AsMySQLSource() (*MySQLSource, bool) {
65379	return nil, false
65380}
65381
65382// AsOdbcSource is the BasicCopySource implementation for DynamicsCrmSource.
65383func (dcs DynamicsCrmSource) AsOdbcSource() (*OdbcSource, bool) {
65384	return nil, false
65385}
65386
65387// AsDb2Source is the BasicCopySource implementation for DynamicsCrmSource.
65388func (dcs DynamicsCrmSource) AsDb2Source() (*Db2Source, bool) {
65389	return nil, false
65390}
65391
65392// AsMicrosoftAccessSource is the BasicCopySource implementation for DynamicsCrmSource.
65393func (dcs DynamicsCrmSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) {
65394	return nil, false
65395}
65396
65397// AsInformixSource is the BasicCopySource implementation for DynamicsCrmSource.
65398func (dcs DynamicsCrmSource) AsInformixSource() (*InformixSource, bool) {
65399	return nil, false
65400}
65401
65402// AsRelationalSource is the BasicCopySource implementation for DynamicsCrmSource.
65403func (dcs DynamicsCrmSource) AsRelationalSource() (*RelationalSource, bool) {
65404	return nil, false
65405}
65406
65407// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for DynamicsCrmSource.
65408func (dcs DynamicsCrmSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) {
65409	return nil, false
65410}
65411
65412// AsDynamicsCrmSource is the BasicCopySource implementation for DynamicsCrmSource.
65413func (dcs DynamicsCrmSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) {
65414	return &dcs, true
65415}
65416
65417// AsDynamicsSource is the BasicCopySource implementation for DynamicsCrmSource.
65418func (dcs DynamicsCrmSource) AsDynamicsSource() (*DynamicsSource, bool) {
65419	return nil, false
65420}
65421
65422// AsDocumentDbCollectionSource is the BasicCopySource implementation for DynamicsCrmSource.
65423func (dcs DynamicsCrmSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
65424	return nil, false
65425}
65426
65427// AsBlobSource is the BasicCopySource implementation for DynamicsCrmSource.
65428func (dcs DynamicsCrmSource) AsBlobSource() (*BlobSource, bool) {
65429	return nil, false
65430}
65431
65432// AsAzureTableSource is the BasicCopySource implementation for DynamicsCrmSource.
65433func (dcs DynamicsCrmSource) AsAzureTableSource() (*AzureTableSource, bool) {
65434	return nil, false
65435}
65436
65437// AsBinarySource is the BasicCopySource implementation for DynamicsCrmSource.
65438func (dcs DynamicsCrmSource) AsBinarySource() (*BinarySource, bool) {
65439	return nil, false
65440}
65441
65442// AsDelimitedTextSource is the BasicCopySource implementation for DynamicsCrmSource.
65443func (dcs DynamicsCrmSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) {
65444	return nil, false
65445}
65446
65447// AsParquetSource is the BasicCopySource implementation for DynamicsCrmSource.
65448func (dcs DynamicsCrmSource) AsParquetSource() (*ParquetSource, bool) {
65449	return nil, false
65450}
65451
65452// AsCopySource is the BasicCopySource implementation for DynamicsCrmSource.
65453func (dcs DynamicsCrmSource) AsCopySource() (*CopySource, bool) {
65454	return nil, false
65455}
65456
65457// AsBasicCopySource is the BasicCopySource implementation for DynamicsCrmSource.
65458func (dcs DynamicsCrmSource) AsBasicCopySource() (BasicCopySource, bool) {
65459	return &dcs, true
65460}
65461
65462// UnmarshalJSON is the custom unmarshaler for DynamicsCrmSource struct.
65463func (dcs *DynamicsCrmSource) UnmarshalJSON(body []byte) error {
65464	var m map[string]*json.RawMessage
65465	err := json.Unmarshal(body, &m)
65466	if err != nil {
65467		return err
65468	}
65469	for k, v := range m {
65470		switch k {
65471		case "query":
65472			if v != nil {
65473				var query interface{}
65474				err = json.Unmarshal(*v, &query)
65475				if err != nil {
65476					return err
65477				}
65478				dcs.Query = query
65479			}
65480		default:
65481			if v != nil {
65482				var additionalProperties interface{}
65483				err = json.Unmarshal(*v, &additionalProperties)
65484				if err != nil {
65485					return err
65486				}
65487				if dcs.AdditionalProperties == nil {
65488					dcs.AdditionalProperties = make(map[string]interface{})
65489				}
65490				dcs.AdditionalProperties[k] = additionalProperties
65491			}
65492		case "sourceRetryCount":
65493			if v != nil {
65494				var sourceRetryCount interface{}
65495				err = json.Unmarshal(*v, &sourceRetryCount)
65496				if err != nil {
65497					return err
65498				}
65499				dcs.SourceRetryCount = sourceRetryCount
65500			}
65501		case "sourceRetryWait":
65502			if v != nil {
65503				var sourceRetryWait interface{}
65504				err = json.Unmarshal(*v, &sourceRetryWait)
65505				if err != nil {
65506					return err
65507				}
65508				dcs.SourceRetryWait = sourceRetryWait
65509			}
65510		case "maxConcurrentConnections":
65511			if v != nil {
65512				var maxConcurrentConnections interface{}
65513				err = json.Unmarshal(*v, &maxConcurrentConnections)
65514				if err != nil {
65515					return err
65516				}
65517				dcs.MaxConcurrentConnections = maxConcurrentConnections
65518			}
65519		case "type":
65520			if v != nil {
65521				var typeVar TypeBasicCopySource
65522				err = json.Unmarshal(*v, &typeVar)
65523				if err != nil {
65524					return err
65525				}
65526				dcs.Type = typeVar
65527			}
65528		}
65529	}
65530
65531	return nil
65532}
65533
65534// DynamicsEntityDataset the Dynamics entity dataset.
65535type DynamicsEntityDataset struct {
65536	// DynamicsEntityDatasetTypeProperties - Dynamics entity dataset properties.
65537	*DynamicsEntityDatasetTypeProperties `json:"typeProperties,omitempty"`
65538	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
65539	AdditionalProperties map[string]interface{} `json:""`
65540	// Description - Dataset description.
65541	Description *string `json:"description,omitempty"`
65542	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
65543	Structure interface{} `json:"structure,omitempty"`
65544	// Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement.
65545	Schema interface{} `json:"schema,omitempty"`
65546	// LinkedServiceName - Linked service reference.
65547	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
65548	// Parameters - Parameters for dataset.
65549	Parameters map[string]*ParameterSpecification `json:"parameters"`
65550	// Annotations - List of tags that can be used for describing the Dataset.
65551	Annotations *[]interface{} `json:"annotations,omitempty"`
65552	// Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level.
65553	Folder *DatasetFolder `json:"folder,omitempty"`
65554	// Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', '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', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeDelimitedText', 'TypeParquet', 'TypeAmazonS3Object'
65555	Type TypeBasicDataset `json:"type,omitempty"`
65556}
65557
65558// MarshalJSON is the custom marshaler for DynamicsEntityDataset.
65559func (ded DynamicsEntityDataset) MarshalJSON() ([]byte, error) {
65560	ded.Type = TypeDynamicsEntity
65561	objectMap := make(map[string]interface{})
65562	if ded.DynamicsEntityDatasetTypeProperties != nil {
65563		objectMap["typeProperties"] = ded.DynamicsEntityDatasetTypeProperties
65564	}
65565	if ded.Description != nil {
65566		objectMap["description"] = ded.Description
65567	}
65568	if ded.Structure != nil {
65569		objectMap["structure"] = ded.Structure
65570	}
65571	if ded.Schema != nil {
65572		objectMap["schema"] = ded.Schema
65573	}
65574	if ded.LinkedServiceName != nil {
65575		objectMap["linkedServiceName"] = ded.LinkedServiceName
65576	}
65577	if ded.Parameters != nil {
65578		objectMap["parameters"] = ded.Parameters
65579	}
65580	if ded.Annotations != nil {
65581		objectMap["annotations"] = ded.Annotations
65582	}
65583	if ded.Folder != nil {
65584		objectMap["folder"] = ded.Folder
65585	}
65586	if ded.Type != "" {
65587		objectMap["type"] = ded.Type
65588	}
65589	for k, v := range ded.AdditionalProperties {
65590		objectMap[k] = v
65591	}
65592	return json.Marshal(objectMap)
65593}
65594
65595// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for DynamicsEntityDataset.
65596func (ded DynamicsEntityDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) {
65597	return nil, false
65598}
65599
65600// AsAzureDataExplorerTableDataset is the BasicDataset implementation for DynamicsEntityDataset.
65601func (ded DynamicsEntityDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) {
65602	return nil, false
65603}
65604
65605// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for DynamicsEntityDataset.
65606func (ded DynamicsEntityDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) {
65607	return nil, false
65608}
65609
65610// AsDynamicsAXResourceDataset is the BasicDataset implementation for DynamicsEntityDataset.
65611func (ded DynamicsEntityDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) {
65612	return nil, false
65613}
65614
65615// AsResponsysObjectDataset is the BasicDataset implementation for DynamicsEntityDataset.
65616func (ded DynamicsEntityDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
65617	return nil, false
65618}
65619
65620// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for DynamicsEntityDataset.
65621func (ded DynamicsEntityDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
65622	return nil, false
65623}
65624
65625// AsVerticaTableDataset is the BasicDataset implementation for DynamicsEntityDataset.
65626func (ded DynamicsEntityDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
65627	return nil, false
65628}
65629
65630// AsNetezzaTableDataset is the BasicDataset implementation for DynamicsEntityDataset.
65631func (ded DynamicsEntityDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
65632	return nil, false
65633}
65634
65635// AsZohoObjectDataset is the BasicDataset implementation for DynamicsEntityDataset.
65636func (ded DynamicsEntityDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
65637	return nil, false
65638}
65639
65640// AsXeroObjectDataset is the BasicDataset implementation for DynamicsEntityDataset.
65641func (ded DynamicsEntityDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
65642	return nil, false
65643}
65644
65645// AsSquareObjectDataset is the BasicDataset implementation for DynamicsEntityDataset.
65646func (ded DynamicsEntityDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
65647	return nil, false
65648}
65649
65650// AsSparkObjectDataset is the BasicDataset implementation for DynamicsEntityDataset.
65651func (ded DynamicsEntityDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
65652	return nil, false
65653}
65654
65655// AsShopifyObjectDataset is the BasicDataset implementation for DynamicsEntityDataset.
65656func (ded DynamicsEntityDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
65657	return nil, false
65658}
65659
65660// AsServiceNowObjectDataset is the BasicDataset implementation for DynamicsEntityDataset.
65661func (ded DynamicsEntityDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
65662	return nil, false
65663}
65664
65665// AsQuickBooksObjectDataset is the BasicDataset implementation for DynamicsEntityDataset.
65666func (ded DynamicsEntityDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
65667	return nil, false
65668}
65669
65670// AsPrestoObjectDataset is the BasicDataset implementation for DynamicsEntityDataset.
65671func (ded DynamicsEntityDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
65672	return nil, false
65673}
65674
65675// AsPhoenixObjectDataset is the BasicDataset implementation for DynamicsEntityDataset.
65676func (ded DynamicsEntityDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
65677	return nil, false
65678}
65679
65680// AsPaypalObjectDataset is the BasicDataset implementation for DynamicsEntityDataset.
65681func (ded DynamicsEntityDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
65682	return nil, false
65683}
65684
65685// AsMarketoObjectDataset is the BasicDataset implementation for DynamicsEntityDataset.
65686func (ded DynamicsEntityDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
65687	return nil, false
65688}
65689
65690// AsMariaDBTableDataset is the BasicDataset implementation for DynamicsEntityDataset.
65691func (ded DynamicsEntityDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
65692	return nil, false
65693}
65694
65695// AsMagentoObjectDataset is the BasicDataset implementation for DynamicsEntityDataset.
65696func (ded DynamicsEntityDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
65697	return nil, false
65698}
65699
65700// AsJiraObjectDataset is the BasicDataset implementation for DynamicsEntityDataset.
65701func (ded DynamicsEntityDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
65702	return nil, false
65703}
65704
65705// AsImpalaObjectDataset is the BasicDataset implementation for DynamicsEntityDataset.
65706func (ded DynamicsEntityDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
65707	return nil, false
65708}
65709
65710// AsHubspotObjectDataset is the BasicDataset implementation for DynamicsEntityDataset.
65711func (ded DynamicsEntityDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
65712	return nil, false
65713}
65714
65715// AsHiveObjectDataset is the BasicDataset implementation for DynamicsEntityDataset.
65716func (ded DynamicsEntityDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
65717	return nil, false
65718}
65719
65720// AsHBaseObjectDataset is the BasicDataset implementation for DynamicsEntityDataset.
65721func (ded DynamicsEntityDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
65722	return nil, false
65723}
65724
65725// AsGreenplumTableDataset is the BasicDataset implementation for DynamicsEntityDataset.
65726func (ded DynamicsEntityDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
65727	return nil, false
65728}
65729
65730// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for DynamicsEntityDataset.
65731func (ded DynamicsEntityDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
65732	return nil, false
65733}
65734
65735// AsEloquaObjectDataset is the BasicDataset implementation for DynamicsEntityDataset.
65736func (ded DynamicsEntityDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
65737	return nil, false
65738}
65739
65740// AsDrillTableDataset is the BasicDataset implementation for DynamicsEntityDataset.
65741func (ded DynamicsEntityDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
65742	return nil, false
65743}
65744
65745// AsCouchbaseTableDataset is the BasicDataset implementation for DynamicsEntityDataset.
65746func (ded DynamicsEntityDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
65747	return nil, false
65748}
65749
65750// AsConcurObjectDataset is the BasicDataset implementation for DynamicsEntityDataset.
65751func (ded DynamicsEntityDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
65752	return nil, false
65753}
65754
65755// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for DynamicsEntityDataset.
65756func (ded DynamicsEntityDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
65757	return nil, false
65758}
65759
65760// AsAmazonMWSObjectDataset is the BasicDataset implementation for DynamicsEntityDataset.
65761func (ded DynamicsEntityDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
65762	return nil, false
65763}
65764
65765// AsHTTPDataset is the BasicDataset implementation for DynamicsEntityDataset.
65766func (ded DynamicsEntityDataset) AsHTTPDataset() (*HTTPDataset, bool) {
65767	return nil, false
65768}
65769
65770// AsAzureSearchIndexDataset is the BasicDataset implementation for DynamicsEntityDataset.
65771func (ded DynamicsEntityDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
65772	return nil, false
65773}
65774
65775// AsWebTableDataset is the BasicDataset implementation for DynamicsEntityDataset.
65776func (ded DynamicsEntityDataset) AsWebTableDataset() (*WebTableDataset, bool) {
65777	return nil, false
65778}
65779
65780// AsSapTableResourceDataset is the BasicDataset implementation for DynamicsEntityDataset.
65781func (ded DynamicsEntityDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) {
65782	return nil, false
65783}
65784
65785// AsRestResourceDataset is the BasicDataset implementation for DynamicsEntityDataset.
65786func (ded DynamicsEntityDataset) AsRestResourceDataset() (*RestResourceDataset, bool) {
65787	return nil, false
65788}
65789
65790// AsSQLServerTableDataset is the BasicDataset implementation for DynamicsEntityDataset.
65791func (ded DynamicsEntityDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
65792	return nil, false
65793}
65794
65795// AsSapOpenHubTableDataset is the BasicDataset implementation for DynamicsEntityDataset.
65796func (ded DynamicsEntityDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) {
65797	return nil, false
65798}
65799
65800// AsSapHanaTableDataset is the BasicDataset implementation for DynamicsEntityDataset.
65801func (ded DynamicsEntityDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) {
65802	return nil, false
65803}
65804
65805// AsSapEccResourceDataset is the BasicDataset implementation for DynamicsEntityDataset.
65806func (ded DynamicsEntityDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
65807	return nil, false
65808}
65809
65810// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for DynamicsEntityDataset.
65811func (ded DynamicsEntityDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
65812	return nil, false
65813}
65814
65815// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for DynamicsEntityDataset.
65816func (ded DynamicsEntityDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) {
65817	return nil, false
65818}
65819
65820// AsSalesforceObjectDataset is the BasicDataset implementation for DynamicsEntityDataset.
65821func (ded DynamicsEntityDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
65822	return nil, false
65823}
65824
65825// AsMicrosoftAccessTableDataset is the BasicDataset implementation for DynamicsEntityDataset.
65826func (ded DynamicsEntityDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) {
65827	return nil, false
65828}
65829
65830// AsPostgreSQLTableDataset is the BasicDataset implementation for DynamicsEntityDataset.
65831func (ded DynamicsEntityDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) {
65832	return nil, false
65833}
65834
65835// AsMySQLTableDataset is the BasicDataset implementation for DynamicsEntityDataset.
65836func (ded DynamicsEntityDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) {
65837	return nil, false
65838}
65839
65840// AsOdbcTableDataset is the BasicDataset implementation for DynamicsEntityDataset.
65841func (ded DynamicsEntityDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) {
65842	return nil, false
65843}
65844
65845// AsInformixTableDataset is the BasicDataset implementation for DynamicsEntityDataset.
65846func (ded DynamicsEntityDataset) AsInformixTableDataset() (*InformixTableDataset, bool) {
65847	return nil, false
65848}
65849
65850// AsRelationalTableDataset is the BasicDataset implementation for DynamicsEntityDataset.
65851func (ded DynamicsEntityDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
65852	return nil, false
65853}
65854
65855// AsAzureMySQLTableDataset is the BasicDataset implementation for DynamicsEntityDataset.
65856func (ded DynamicsEntityDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
65857	return nil, false
65858}
65859
65860// AsTeradataTableDataset is the BasicDataset implementation for DynamicsEntityDataset.
65861func (ded DynamicsEntityDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) {
65862	return nil, false
65863}
65864
65865// AsOracleTableDataset is the BasicDataset implementation for DynamicsEntityDataset.
65866func (ded DynamicsEntityDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
65867	return nil, false
65868}
65869
65870// AsODataResourceDataset is the BasicDataset implementation for DynamicsEntityDataset.
65871func (ded DynamicsEntityDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
65872	return nil, false
65873}
65874
65875// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for DynamicsEntityDataset.
65876func (ded DynamicsEntityDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) {
65877	return nil, false
65878}
65879
65880// AsMongoDbV2CollectionDataset is the BasicDataset implementation for DynamicsEntityDataset.
65881func (ded DynamicsEntityDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) {
65882	return nil, false
65883}
65884
65885// AsMongoDbCollectionDataset is the BasicDataset implementation for DynamicsEntityDataset.
65886func (ded DynamicsEntityDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
65887	return nil, false
65888}
65889
65890// AsFileShareDataset is the BasicDataset implementation for DynamicsEntityDataset.
65891func (ded DynamicsEntityDataset) AsFileShareDataset() (*FileShareDataset, bool) {
65892	return nil, false
65893}
65894
65895// AsOffice365Dataset is the BasicDataset implementation for DynamicsEntityDataset.
65896func (ded DynamicsEntityDataset) AsOffice365Dataset() (*Office365Dataset, bool) {
65897	return nil, false
65898}
65899
65900// AsAzureBlobFSDataset is the BasicDataset implementation for DynamicsEntityDataset.
65901func (ded DynamicsEntityDataset) AsAzureBlobFSDataset() (*AzureBlobFSDataset, bool) {
65902	return nil, false
65903}
65904
65905// AsAzureDataLakeStoreDataset is the BasicDataset implementation for DynamicsEntityDataset.
65906func (ded DynamicsEntityDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) {
65907	return nil, false
65908}
65909
65910// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for DynamicsEntityDataset.
65911func (ded DynamicsEntityDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) {
65912	return nil, false
65913}
65914
65915// AsDynamicsCrmEntityDataset is the BasicDataset implementation for DynamicsEntityDataset.
65916func (ded DynamicsEntityDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) {
65917	return nil, false
65918}
65919
65920// AsDynamicsEntityDataset is the BasicDataset implementation for DynamicsEntityDataset.
65921func (ded DynamicsEntityDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
65922	return &ded, true
65923}
65924
65925// AsDocumentDbCollectionDataset is the BasicDataset implementation for DynamicsEntityDataset.
65926func (ded DynamicsEntityDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
65927	return nil, false
65928}
65929
65930// AsCustomDataset is the BasicDataset implementation for DynamicsEntityDataset.
65931func (ded DynamicsEntityDataset) AsCustomDataset() (*CustomDataset, bool) {
65932	return nil, false
65933}
65934
65935// AsCassandraTableDataset is the BasicDataset implementation for DynamicsEntityDataset.
65936func (ded DynamicsEntityDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
65937	return nil, false
65938}
65939
65940// AsAzureSQLDWTableDataset is the BasicDataset implementation for DynamicsEntityDataset.
65941func (ded DynamicsEntityDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
65942	return nil, false
65943}
65944
65945// AsAzureSQLMITableDataset is the BasicDataset implementation for DynamicsEntityDataset.
65946func (ded DynamicsEntityDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) {
65947	return nil, false
65948}
65949
65950// AsAzureSQLTableDataset is the BasicDataset implementation for DynamicsEntityDataset.
65951func (ded DynamicsEntityDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
65952	return nil, false
65953}
65954
65955// AsAzureTableDataset is the BasicDataset implementation for DynamicsEntityDataset.
65956func (ded DynamicsEntityDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
65957	return nil, false
65958}
65959
65960// AsAzureBlobDataset is the BasicDataset implementation for DynamicsEntityDataset.
65961func (ded DynamicsEntityDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) {
65962	return nil, false
65963}
65964
65965// AsBinaryDataset is the BasicDataset implementation for DynamicsEntityDataset.
65966func (ded DynamicsEntityDataset) AsBinaryDataset() (*BinaryDataset, bool) {
65967	return nil, false
65968}
65969
65970// AsDelimitedTextDataset is the BasicDataset implementation for DynamicsEntityDataset.
65971func (ded DynamicsEntityDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) {
65972	return nil, false
65973}
65974
65975// AsParquetDataset is the BasicDataset implementation for DynamicsEntityDataset.
65976func (ded DynamicsEntityDataset) AsParquetDataset() (*ParquetDataset, bool) {
65977	return nil, false
65978}
65979
65980// AsAmazonS3Dataset is the BasicDataset implementation for DynamicsEntityDataset.
65981func (ded DynamicsEntityDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) {
65982	return nil, false
65983}
65984
65985// AsDataset is the BasicDataset implementation for DynamicsEntityDataset.
65986func (ded DynamicsEntityDataset) AsDataset() (*Dataset, bool) {
65987	return nil, false
65988}
65989
65990// AsBasicDataset is the BasicDataset implementation for DynamicsEntityDataset.
65991func (ded DynamicsEntityDataset) AsBasicDataset() (BasicDataset, bool) {
65992	return &ded, true
65993}
65994
65995// UnmarshalJSON is the custom unmarshaler for DynamicsEntityDataset struct.
65996func (ded *DynamicsEntityDataset) UnmarshalJSON(body []byte) error {
65997	var m map[string]*json.RawMessage
65998	err := json.Unmarshal(body, &m)
65999	if err != nil {
66000		return err
66001	}
66002	for k, v := range m {
66003		switch k {
66004		case "typeProperties":
66005			if v != nil {
66006				var dynamicsEntityDatasetTypeProperties DynamicsEntityDatasetTypeProperties
66007				err = json.Unmarshal(*v, &dynamicsEntityDatasetTypeProperties)
66008				if err != nil {
66009					return err
66010				}
66011				ded.DynamicsEntityDatasetTypeProperties = &dynamicsEntityDatasetTypeProperties
66012			}
66013		default:
66014			if v != nil {
66015				var additionalProperties interface{}
66016				err = json.Unmarshal(*v, &additionalProperties)
66017				if err != nil {
66018					return err
66019				}
66020				if ded.AdditionalProperties == nil {
66021					ded.AdditionalProperties = make(map[string]interface{})
66022				}
66023				ded.AdditionalProperties[k] = additionalProperties
66024			}
66025		case "description":
66026			if v != nil {
66027				var description string
66028				err = json.Unmarshal(*v, &description)
66029				if err != nil {
66030					return err
66031				}
66032				ded.Description = &description
66033			}
66034		case "structure":
66035			if v != nil {
66036				var structure interface{}
66037				err = json.Unmarshal(*v, &structure)
66038				if err != nil {
66039					return err
66040				}
66041				ded.Structure = structure
66042			}
66043		case "schema":
66044			if v != nil {
66045				var schema interface{}
66046				err = json.Unmarshal(*v, &schema)
66047				if err != nil {
66048					return err
66049				}
66050				ded.Schema = schema
66051			}
66052		case "linkedServiceName":
66053			if v != nil {
66054				var linkedServiceName LinkedServiceReference
66055				err = json.Unmarshal(*v, &linkedServiceName)
66056				if err != nil {
66057					return err
66058				}
66059				ded.LinkedServiceName = &linkedServiceName
66060			}
66061		case "parameters":
66062			if v != nil {
66063				var parameters map[string]*ParameterSpecification
66064				err = json.Unmarshal(*v, &parameters)
66065				if err != nil {
66066					return err
66067				}
66068				ded.Parameters = parameters
66069			}
66070		case "annotations":
66071			if v != nil {
66072				var annotations []interface{}
66073				err = json.Unmarshal(*v, &annotations)
66074				if err != nil {
66075					return err
66076				}
66077				ded.Annotations = &annotations
66078			}
66079		case "folder":
66080			if v != nil {
66081				var folder DatasetFolder
66082				err = json.Unmarshal(*v, &folder)
66083				if err != nil {
66084					return err
66085				}
66086				ded.Folder = &folder
66087			}
66088		case "type":
66089			if v != nil {
66090				var typeVar TypeBasicDataset
66091				err = json.Unmarshal(*v, &typeVar)
66092				if err != nil {
66093					return err
66094				}
66095				ded.Type = typeVar
66096			}
66097		}
66098	}
66099
66100	return nil
66101}
66102
66103// DynamicsEntityDatasetTypeProperties dynamics entity dataset properties.
66104type DynamicsEntityDatasetTypeProperties struct {
66105	// EntityName - The logical name of the entity. Type: string (or Expression with resultType string).
66106	EntityName interface{} `json:"entityName,omitempty"`
66107}
66108
66109// DynamicsLinkedService dynamics linked service.
66110type DynamicsLinkedService struct {
66111	// DynamicsLinkedServiceTypeProperties - Dynamics linked service properties.
66112	*DynamicsLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
66113	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
66114	AdditionalProperties map[string]interface{} `json:""`
66115	// ConnectVia - The integration runtime reference.
66116	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
66117	// Description - Linked service description.
66118	Description *string `json:"description,omitempty"`
66119	// Parameters - Parameters for linked service.
66120	Parameters map[string]*ParameterSpecification `json:"parameters"`
66121	// Annotations - List of tags that can be used for describing the linked service.
66122	Annotations *[]interface{} `json:"annotations,omitempty"`
66123	// Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', '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', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage'
66124	Type TypeBasicLinkedService `json:"type,omitempty"`
66125}
66126
66127// MarshalJSON is the custom marshaler for DynamicsLinkedService.
66128func (dls DynamicsLinkedService) MarshalJSON() ([]byte, error) {
66129	dls.Type = TypeDynamics
66130	objectMap := make(map[string]interface{})
66131	if dls.DynamicsLinkedServiceTypeProperties != nil {
66132		objectMap["typeProperties"] = dls.DynamicsLinkedServiceTypeProperties
66133	}
66134	if dls.ConnectVia != nil {
66135		objectMap["connectVia"] = dls.ConnectVia
66136	}
66137	if dls.Description != nil {
66138		objectMap["description"] = dls.Description
66139	}
66140	if dls.Parameters != nil {
66141		objectMap["parameters"] = dls.Parameters
66142	}
66143	if dls.Annotations != nil {
66144		objectMap["annotations"] = dls.Annotations
66145	}
66146	if dls.Type != "" {
66147		objectMap["type"] = dls.Type
66148	}
66149	for k, v := range dls.AdditionalProperties {
66150		objectMap[k] = v
66151	}
66152	return json.Marshal(objectMap)
66153}
66154
66155// AsAzureFunctionLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
66156func (dls DynamicsLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) {
66157	return nil, false
66158}
66159
66160// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
66161func (dls DynamicsLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) {
66162	return nil, false
66163}
66164
66165// AsSapTableLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
66166func (dls DynamicsLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) {
66167	return nil, false
66168}
66169
66170// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
66171func (dls DynamicsLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) {
66172	return nil, false
66173}
66174
66175// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
66176func (dls DynamicsLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) {
66177	return nil, false
66178}
66179
66180// AsDynamicsAXLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
66181func (dls DynamicsLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) {
66182	return nil, false
66183}
66184
66185// AsResponsysLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
66186func (dls DynamicsLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
66187	return nil, false
66188}
66189
66190// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
66191func (dls DynamicsLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
66192	return nil, false
66193}
66194
66195// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
66196func (dls DynamicsLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
66197	return nil, false
66198}
66199
66200// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
66201func (dls DynamicsLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
66202	return nil, false
66203}
66204
66205// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
66206func (dls DynamicsLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
66207	return nil, false
66208}
66209
66210// AsNetezzaLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
66211func (dls DynamicsLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
66212	return nil, false
66213}
66214
66215// AsVerticaLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
66216func (dls DynamicsLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
66217	return nil, false
66218}
66219
66220// AsZohoLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
66221func (dls DynamicsLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
66222	return nil, false
66223}
66224
66225// AsXeroLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
66226func (dls DynamicsLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
66227	return nil, false
66228}
66229
66230// AsSquareLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
66231func (dls DynamicsLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
66232	return nil, false
66233}
66234
66235// AsSparkLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
66236func (dls DynamicsLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
66237	return nil, false
66238}
66239
66240// AsShopifyLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
66241func (dls DynamicsLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
66242	return nil, false
66243}
66244
66245// AsServiceNowLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
66246func (dls DynamicsLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
66247	return nil, false
66248}
66249
66250// AsQuickBooksLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
66251func (dls DynamicsLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
66252	return nil, false
66253}
66254
66255// AsPrestoLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
66256func (dls DynamicsLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
66257	return nil, false
66258}
66259
66260// AsPhoenixLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
66261func (dls DynamicsLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
66262	return nil, false
66263}
66264
66265// AsPaypalLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
66266func (dls DynamicsLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
66267	return nil, false
66268}
66269
66270// AsMarketoLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
66271func (dls DynamicsLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
66272	return nil, false
66273}
66274
66275// AsMariaDBLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
66276func (dls DynamicsLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
66277	return nil, false
66278}
66279
66280// AsMagentoLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
66281func (dls DynamicsLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
66282	return nil, false
66283}
66284
66285// AsJiraLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
66286func (dls DynamicsLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
66287	return nil, false
66288}
66289
66290// AsImpalaLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
66291func (dls DynamicsLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
66292	return nil, false
66293}
66294
66295// AsHubspotLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
66296func (dls DynamicsLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
66297	return nil, false
66298}
66299
66300// AsHiveLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
66301func (dls DynamicsLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
66302	return nil, false
66303}
66304
66305// AsHBaseLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
66306func (dls DynamicsLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
66307	return nil, false
66308}
66309
66310// AsGreenplumLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
66311func (dls DynamicsLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
66312	return nil, false
66313}
66314
66315// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
66316func (dls DynamicsLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
66317	return nil, false
66318}
66319
66320// AsEloquaLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
66321func (dls DynamicsLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
66322	return nil, false
66323}
66324
66325// AsDrillLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
66326func (dls DynamicsLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
66327	return nil, false
66328}
66329
66330// AsCouchbaseLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
66331func (dls DynamicsLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
66332	return nil, false
66333}
66334
66335// AsConcurLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
66336func (dls DynamicsLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
66337	return nil, false
66338}
66339
66340// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
66341func (dls DynamicsLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
66342	return nil, false
66343}
66344
66345// AsAmazonMWSLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
66346func (dls DynamicsLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
66347	return nil, false
66348}
66349
66350// AsSapHanaLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
66351func (dls DynamicsLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
66352	return nil, false
66353}
66354
66355// AsSapBWLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
66356func (dls DynamicsLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
66357	return nil, false
66358}
66359
66360// AsSftpServerLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
66361func (dls DynamicsLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
66362	return nil, false
66363}
66364
66365// AsFtpServerLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
66366func (dls DynamicsLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
66367	return nil, false
66368}
66369
66370// AsHTTPLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
66371func (dls DynamicsLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
66372	return nil, false
66373}
66374
66375// AsAzureSearchLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
66376func (dls DynamicsLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
66377	return nil, false
66378}
66379
66380// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
66381func (dls DynamicsLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
66382	return nil, false
66383}
66384
66385// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
66386func (dls DynamicsLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
66387	return nil, false
66388}
66389
66390// AsAmazonS3LinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
66391func (dls DynamicsLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
66392	return nil, false
66393}
66394
66395// AsRestServiceLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
66396func (dls DynamicsLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) {
66397	return nil, false
66398}
66399
66400// AsSapOpenHubLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
66401func (dls DynamicsLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) {
66402	return nil, false
66403}
66404
66405// AsSapEccLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
66406func (dls DynamicsLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
66407	return nil, false
66408}
66409
66410// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
66411func (dls DynamicsLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
66412	return nil, false
66413}
66414
66415// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
66416func (dls DynamicsLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) {
66417	return nil, false
66418}
66419
66420// AsSalesforceLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
66421func (dls DynamicsLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
66422	return nil, false
66423}
66424
66425// AsOffice365LinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
66426func (dls DynamicsLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) {
66427	return nil, false
66428}
66429
66430// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
66431func (dls DynamicsLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) {
66432	return nil, false
66433}
66434
66435// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
66436func (dls DynamicsLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
66437	return nil, false
66438}
66439
66440// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
66441func (dls DynamicsLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) {
66442	return nil, false
66443}
66444
66445// AsMongoDbV2LinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
66446func (dls DynamicsLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) {
66447	return nil, false
66448}
66449
66450// AsMongoDbLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
66451func (dls DynamicsLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
66452	return nil, false
66453}
66454
66455// AsCassandraLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
66456func (dls DynamicsLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
66457	return nil, false
66458}
66459
66460// AsWebLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
66461func (dls DynamicsLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
66462	return nil, false
66463}
66464
66465// AsODataLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
66466func (dls DynamicsLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
66467	return nil, false
66468}
66469
66470// AsHdfsLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
66471func (dls DynamicsLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
66472	return nil, false
66473}
66474
66475// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
66476func (dls DynamicsLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) {
66477	return nil, false
66478}
66479
66480// AsInformixLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
66481func (dls DynamicsLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) {
66482	return nil, false
66483}
66484
66485// AsOdbcLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
66486func (dls DynamicsLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
66487	return nil, false
66488}
66489
66490// AsAzureMLLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
66491func (dls DynamicsLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
66492	return nil, false
66493}
66494
66495// AsTeradataLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
66496func (dls DynamicsLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
66497	return nil, false
66498}
66499
66500// AsDb2LinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
66501func (dls DynamicsLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
66502	return nil, false
66503}
66504
66505// AsSybaseLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
66506func (dls DynamicsLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
66507	return nil, false
66508}
66509
66510// AsPostgreSQLLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
66511func (dls DynamicsLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
66512	return nil, false
66513}
66514
66515// AsMySQLLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
66516func (dls DynamicsLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
66517	return nil, false
66518}
66519
66520// AsAzureMySQLLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
66521func (dls DynamicsLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
66522	return nil, false
66523}
66524
66525// AsOracleLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
66526func (dls DynamicsLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
66527	return nil, false
66528}
66529
66530// AsFileServerLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
66531func (dls DynamicsLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
66532	return nil, false
66533}
66534
66535// AsHDInsightLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
66536func (dls DynamicsLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
66537	return nil, false
66538}
66539
66540// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
66541func (dls DynamicsLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) {
66542	return nil, false
66543}
66544
66545// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
66546func (dls DynamicsLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) {
66547	return nil, false
66548}
66549
66550// AsDynamicsLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
66551func (dls DynamicsLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
66552	return &dls, true
66553}
66554
66555// AsCosmosDbLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
66556func (dls DynamicsLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
66557	return nil, false
66558}
66559
66560// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
66561func (dls DynamicsLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
66562	return nil, false
66563}
66564
66565// AsAzureBatchLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
66566func (dls DynamicsLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
66567	return nil, false
66568}
66569
66570// AsAzureSQLMILinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
66571func (dls DynamicsLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) {
66572	return nil, false
66573}
66574
66575// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
66576func (dls DynamicsLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
66577	return nil, false
66578}
66579
66580// AsSQLServerLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
66581func (dls DynamicsLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
66582	return nil, false
66583}
66584
66585// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
66586func (dls DynamicsLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
66587	return nil, false
66588}
66589
66590// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
66591func (dls DynamicsLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) {
66592	return nil, false
66593}
66594
66595// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
66596func (dls DynamicsLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) {
66597	return nil, false
66598}
66599
66600// AsAzureStorageLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
66601func (dls DynamicsLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
66602	return nil, false
66603}
66604
66605// AsLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
66606func (dls DynamicsLinkedService) AsLinkedService() (*LinkedService, bool) {
66607	return nil, false
66608}
66609
66610// AsBasicLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
66611func (dls DynamicsLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
66612	return &dls, true
66613}
66614
66615// UnmarshalJSON is the custom unmarshaler for DynamicsLinkedService struct.
66616func (dls *DynamicsLinkedService) UnmarshalJSON(body []byte) error {
66617	var m map[string]*json.RawMessage
66618	err := json.Unmarshal(body, &m)
66619	if err != nil {
66620		return err
66621	}
66622	for k, v := range m {
66623		switch k {
66624		case "typeProperties":
66625			if v != nil {
66626				var dynamicsLinkedServiceTypeProperties DynamicsLinkedServiceTypeProperties
66627				err = json.Unmarshal(*v, &dynamicsLinkedServiceTypeProperties)
66628				if err != nil {
66629					return err
66630				}
66631				dls.DynamicsLinkedServiceTypeProperties = &dynamicsLinkedServiceTypeProperties
66632			}
66633		default:
66634			if v != nil {
66635				var additionalProperties interface{}
66636				err = json.Unmarshal(*v, &additionalProperties)
66637				if err != nil {
66638					return err
66639				}
66640				if dls.AdditionalProperties == nil {
66641					dls.AdditionalProperties = make(map[string]interface{})
66642				}
66643				dls.AdditionalProperties[k] = additionalProperties
66644			}
66645		case "connectVia":
66646			if v != nil {
66647				var connectVia IntegrationRuntimeReference
66648				err = json.Unmarshal(*v, &connectVia)
66649				if err != nil {
66650					return err
66651				}
66652				dls.ConnectVia = &connectVia
66653			}
66654		case "description":
66655			if v != nil {
66656				var description string
66657				err = json.Unmarshal(*v, &description)
66658				if err != nil {
66659					return err
66660				}
66661				dls.Description = &description
66662			}
66663		case "parameters":
66664			if v != nil {
66665				var parameters map[string]*ParameterSpecification
66666				err = json.Unmarshal(*v, &parameters)
66667				if err != nil {
66668					return err
66669				}
66670				dls.Parameters = parameters
66671			}
66672		case "annotations":
66673			if v != nil {
66674				var annotations []interface{}
66675				err = json.Unmarshal(*v, &annotations)
66676				if err != nil {
66677					return err
66678				}
66679				dls.Annotations = &annotations
66680			}
66681		case "type":
66682			if v != nil {
66683				var typeVar TypeBasicLinkedService
66684				err = json.Unmarshal(*v, &typeVar)
66685				if err != nil {
66686					return err
66687				}
66688				dls.Type = typeVar
66689			}
66690		}
66691	}
66692
66693	return nil
66694}
66695
66696// DynamicsLinkedServiceTypeProperties dynamics linked service properties.
66697type DynamicsLinkedServiceTypeProperties struct {
66698	// 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).
66699	DeploymentType interface{} `json:"deploymentType,omitempty"`
66700	// 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).
66701	HostName interface{} `json:"hostName,omitempty"`
66702	// 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.
66703	Port interface{} `json:"port,omitempty"`
66704	// 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).
66705	ServiceURI interface{} `json:"serviceUri,omitempty"`
66706	// 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).
66707	OrganizationName interface{} `json:"organizationName,omitempty"`
66708	// 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).
66709	AuthenticationType interface{} `json:"authenticationType,omitempty"`
66710	// Username - User name to access the Dynamics instance. Type: string (or Expression with resultType string).
66711	Username interface{} `json:"username,omitempty"`
66712	// Password - Password to access the Dynamics instance.
66713	Password BasicSecretBase `json:"password,omitempty"`
66714	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
66715	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
66716}
66717
66718// UnmarshalJSON is the custom unmarshaler for DynamicsLinkedServiceTypeProperties struct.
66719func (dlstp *DynamicsLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
66720	var m map[string]*json.RawMessage
66721	err := json.Unmarshal(body, &m)
66722	if err != nil {
66723		return err
66724	}
66725	for k, v := range m {
66726		switch k {
66727		case "deploymentType":
66728			if v != nil {
66729				var deploymentType interface{}
66730				err = json.Unmarshal(*v, &deploymentType)
66731				if err != nil {
66732					return err
66733				}
66734				dlstp.DeploymentType = deploymentType
66735			}
66736		case "hostName":
66737			if v != nil {
66738				var hostName interface{}
66739				err = json.Unmarshal(*v, &hostName)
66740				if err != nil {
66741					return err
66742				}
66743				dlstp.HostName = hostName
66744			}
66745		case "port":
66746			if v != nil {
66747				var port interface{}
66748				err = json.Unmarshal(*v, &port)
66749				if err != nil {
66750					return err
66751				}
66752				dlstp.Port = port
66753			}
66754		case "serviceUri":
66755			if v != nil {
66756				var serviceURI interface{}
66757				err = json.Unmarshal(*v, &serviceURI)
66758				if err != nil {
66759					return err
66760				}
66761				dlstp.ServiceURI = serviceURI
66762			}
66763		case "organizationName":
66764			if v != nil {
66765				var organizationName interface{}
66766				err = json.Unmarshal(*v, &organizationName)
66767				if err != nil {
66768					return err
66769				}
66770				dlstp.OrganizationName = organizationName
66771			}
66772		case "authenticationType":
66773			if v != nil {
66774				var authenticationType interface{}
66775				err = json.Unmarshal(*v, &authenticationType)
66776				if err != nil {
66777					return err
66778				}
66779				dlstp.AuthenticationType = authenticationType
66780			}
66781		case "username":
66782			if v != nil {
66783				var username interface{}
66784				err = json.Unmarshal(*v, &username)
66785				if err != nil {
66786					return err
66787				}
66788				dlstp.Username = username
66789			}
66790		case "password":
66791			if v != nil {
66792				password, err := unmarshalBasicSecretBase(*v)
66793				if err != nil {
66794					return err
66795				}
66796				dlstp.Password = password
66797			}
66798		case "encryptedCredential":
66799			if v != nil {
66800				var encryptedCredential interface{}
66801				err = json.Unmarshal(*v, &encryptedCredential)
66802				if err != nil {
66803					return err
66804				}
66805				dlstp.EncryptedCredential = encryptedCredential
66806			}
66807		}
66808	}
66809
66810	return nil
66811}
66812
66813// DynamicsSink a copy activity Dynamics sink.
66814type DynamicsSink struct {
66815	// WriteBehavior - The write behavior for the operation.
66816	WriteBehavior *string `json:"writeBehavior,omitempty"`
66817	// 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).
66818	IgnoreNullValues interface{} `json:"ignoreNullValues,omitempty"`
66819	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
66820	AdditionalProperties map[string]interface{} `json:""`
66821	// WriteBatchSize - Write batch size. Type: integer (or Expression with resultType integer), minimum: 0.
66822	WriteBatchSize interface{} `json:"writeBatchSize,omitempty"`
66823	// 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])).
66824	WriteBatchTimeout interface{} `json:"writeBatchTimeout,omitempty"`
66825	// SinkRetryCount - Sink retry count. Type: integer (or Expression with resultType integer).
66826	SinkRetryCount interface{} `json:"sinkRetryCount,omitempty"`
66827	// 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])).
66828	SinkRetryWait interface{} `json:"sinkRetryWait,omitempty"`
66829	// MaxConcurrentConnections - The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer).
66830	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
66831	// Type - Possible values include: 'TypeCopySink', 'TypeCosmosDbMongoDbAPISink', 'TypeSalesforceServiceCloudSink', 'TypeSalesforceSink', 'TypeAzureDataExplorerSink', 'TypeCommonDataServiceForAppsSink', 'TypeDynamicsCrmSink', 'TypeDynamicsSink', 'TypeMicrosoftAccessSink', 'TypeInformixSink', 'TypeOdbcSink', 'TypeAzureSearchIndexSink', 'TypeAzureBlobFSSink', 'TypeAzureDataLakeStoreSink', 'TypeOracleSink', 'TypeSQLDWSink', 'TypeSQLMISink', 'TypeAzureSQLSink', 'TypeSQLServerSink', 'TypeSQLSink', 'TypeDocumentDbCollectionSink', 'TypeFileSystemSink', 'TypeBlobSink', 'TypeBinarySink', 'TypeParquetSink', 'TypeAzureTableSink', 'TypeAzureQueueSink', 'TypeSapCloudForCustomerSink', 'TypeAzurePostgreSQLSink', 'TypeDelimitedTextSink'
66832	Type TypeBasicCopySink `json:"type,omitempty"`
66833}
66834
66835// MarshalJSON is the custom marshaler for DynamicsSink.
66836func (ds DynamicsSink) MarshalJSON() ([]byte, error) {
66837	ds.Type = TypeDynamicsSink
66838	objectMap := make(map[string]interface{})
66839	if ds.WriteBehavior != nil {
66840		objectMap["writeBehavior"] = ds.WriteBehavior
66841	}
66842	if ds.IgnoreNullValues != nil {
66843		objectMap["ignoreNullValues"] = ds.IgnoreNullValues
66844	}
66845	if ds.WriteBatchSize != nil {
66846		objectMap["writeBatchSize"] = ds.WriteBatchSize
66847	}
66848	if ds.WriteBatchTimeout != nil {
66849		objectMap["writeBatchTimeout"] = ds.WriteBatchTimeout
66850	}
66851	if ds.SinkRetryCount != nil {
66852		objectMap["sinkRetryCount"] = ds.SinkRetryCount
66853	}
66854	if ds.SinkRetryWait != nil {
66855		objectMap["sinkRetryWait"] = ds.SinkRetryWait
66856	}
66857	if ds.MaxConcurrentConnections != nil {
66858		objectMap["maxConcurrentConnections"] = ds.MaxConcurrentConnections
66859	}
66860	if ds.Type != "" {
66861		objectMap["type"] = ds.Type
66862	}
66863	for k, v := range ds.AdditionalProperties {
66864		objectMap[k] = v
66865	}
66866	return json.Marshal(objectMap)
66867}
66868
66869// AsCosmosDbMongoDbAPISink is the BasicCopySink implementation for DynamicsSink.
66870func (ds DynamicsSink) AsCosmosDbMongoDbAPISink() (*CosmosDbMongoDbAPISink, bool) {
66871	return nil, false
66872}
66873
66874// AsSalesforceServiceCloudSink is the BasicCopySink implementation for DynamicsSink.
66875func (ds DynamicsSink) AsSalesforceServiceCloudSink() (*SalesforceServiceCloudSink, bool) {
66876	return nil, false
66877}
66878
66879// AsSalesforceSink is the BasicCopySink implementation for DynamicsSink.
66880func (ds DynamicsSink) AsSalesforceSink() (*SalesforceSink, bool) {
66881	return nil, false
66882}
66883
66884// AsAzureDataExplorerSink is the BasicCopySink implementation for DynamicsSink.
66885func (ds DynamicsSink) AsAzureDataExplorerSink() (*AzureDataExplorerSink, bool) {
66886	return nil, false
66887}
66888
66889// AsCommonDataServiceForAppsSink is the BasicCopySink implementation for DynamicsSink.
66890func (ds DynamicsSink) AsCommonDataServiceForAppsSink() (*CommonDataServiceForAppsSink, bool) {
66891	return nil, false
66892}
66893
66894// AsDynamicsCrmSink is the BasicCopySink implementation for DynamicsSink.
66895func (ds DynamicsSink) AsDynamicsCrmSink() (*DynamicsCrmSink, bool) {
66896	return nil, false
66897}
66898
66899// AsDynamicsSink is the BasicCopySink implementation for DynamicsSink.
66900func (ds DynamicsSink) AsDynamicsSink() (*DynamicsSink, bool) {
66901	return &ds, true
66902}
66903
66904// AsMicrosoftAccessSink is the BasicCopySink implementation for DynamicsSink.
66905func (ds DynamicsSink) AsMicrosoftAccessSink() (*MicrosoftAccessSink, bool) {
66906	return nil, false
66907}
66908
66909// AsInformixSink is the BasicCopySink implementation for DynamicsSink.
66910func (ds DynamicsSink) AsInformixSink() (*InformixSink, bool) {
66911	return nil, false
66912}
66913
66914// AsOdbcSink is the BasicCopySink implementation for DynamicsSink.
66915func (ds DynamicsSink) AsOdbcSink() (*OdbcSink, bool) {
66916	return nil, false
66917}
66918
66919// AsAzureSearchIndexSink is the BasicCopySink implementation for DynamicsSink.
66920func (ds DynamicsSink) AsAzureSearchIndexSink() (*AzureSearchIndexSink, bool) {
66921	return nil, false
66922}
66923
66924// AsAzureBlobFSSink is the BasicCopySink implementation for DynamicsSink.
66925func (ds DynamicsSink) AsAzureBlobFSSink() (*AzureBlobFSSink, bool) {
66926	return nil, false
66927}
66928
66929// AsAzureDataLakeStoreSink is the BasicCopySink implementation for DynamicsSink.
66930func (ds DynamicsSink) AsAzureDataLakeStoreSink() (*AzureDataLakeStoreSink, bool) {
66931	return nil, false
66932}
66933
66934// AsOracleSink is the BasicCopySink implementation for DynamicsSink.
66935func (ds DynamicsSink) AsOracleSink() (*OracleSink, bool) {
66936	return nil, false
66937}
66938
66939// AsSQLDWSink is the BasicCopySink implementation for DynamicsSink.
66940func (ds DynamicsSink) AsSQLDWSink() (*SQLDWSink, bool) {
66941	return nil, false
66942}
66943
66944// AsSQLMISink is the BasicCopySink implementation for DynamicsSink.
66945func (ds DynamicsSink) AsSQLMISink() (*SQLMISink, bool) {
66946	return nil, false
66947}
66948
66949// AsAzureSQLSink is the BasicCopySink implementation for DynamicsSink.
66950func (ds DynamicsSink) AsAzureSQLSink() (*AzureSQLSink, bool) {
66951	return nil, false
66952}
66953
66954// AsSQLServerSink is the BasicCopySink implementation for DynamicsSink.
66955func (ds DynamicsSink) AsSQLServerSink() (*SQLServerSink, bool) {
66956	return nil, false
66957}
66958
66959// AsSQLSink is the BasicCopySink implementation for DynamicsSink.
66960func (ds DynamicsSink) AsSQLSink() (*SQLSink, bool) {
66961	return nil, false
66962}
66963
66964// AsDocumentDbCollectionSink is the BasicCopySink implementation for DynamicsSink.
66965func (ds DynamicsSink) AsDocumentDbCollectionSink() (*DocumentDbCollectionSink, bool) {
66966	return nil, false
66967}
66968
66969// AsFileSystemSink is the BasicCopySink implementation for DynamicsSink.
66970func (ds DynamicsSink) AsFileSystemSink() (*FileSystemSink, bool) {
66971	return nil, false
66972}
66973
66974// AsBlobSink is the BasicCopySink implementation for DynamicsSink.
66975func (ds DynamicsSink) AsBlobSink() (*BlobSink, bool) {
66976	return nil, false
66977}
66978
66979// AsBinarySink is the BasicCopySink implementation for DynamicsSink.
66980func (ds DynamicsSink) AsBinarySink() (*BinarySink, bool) {
66981	return nil, false
66982}
66983
66984// AsParquetSink is the BasicCopySink implementation for DynamicsSink.
66985func (ds DynamicsSink) AsParquetSink() (*ParquetSink, bool) {
66986	return nil, false
66987}
66988
66989// AsAzureTableSink is the BasicCopySink implementation for DynamicsSink.
66990func (ds DynamicsSink) AsAzureTableSink() (*AzureTableSink, bool) {
66991	return nil, false
66992}
66993
66994// AsAzureQueueSink is the BasicCopySink implementation for DynamicsSink.
66995func (ds DynamicsSink) AsAzureQueueSink() (*AzureQueueSink, bool) {
66996	return nil, false
66997}
66998
66999// AsSapCloudForCustomerSink is the BasicCopySink implementation for DynamicsSink.
67000func (ds DynamicsSink) AsSapCloudForCustomerSink() (*SapCloudForCustomerSink, bool) {
67001	return nil, false
67002}
67003
67004// AsAzurePostgreSQLSink is the BasicCopySink implementation for DynamicsSink.
67005func (ds DynamicsSink) AsAzurePostgreSQLSink() (*AzurePostgreSQLSink, bool) {
67006	return nil, false
67007}
67008
67009// AsDelimitedTextSink is the BasicCopySink implementation for DynamicsSink.
67010func (ds DynamicsSink) AsDelimitedTextSink() (*DelimitedTextSink, bool) {
67011	return nil, false
67012}
67013
67014// AsCopySink is the BasicCopySink implementation for DynamicsSink.
67015func (ds DynamicsSink) AsCopySink() (*CopySink, bool) {
67016	return nil, false
67017}
67018
67019// AsBasicCopySink is the BasicCopySink implementation for DynamicsSink.
67020func (ds DynamicsSink) AsBasicCopySink() (BasicCopySink, bool) {
67021	return &ds, true
67022}
67023
67024// UnmarshalJSON is the custom unmarshaler for DynamicsSink struct.
67025func (ds *DynamicsSink) UnmarshalJSON(body []byte) error {
67026	var m map[string]*json.RawMessage
67027	err := json.Unmarshal(body, &m)
67028	if err != nil {
67029		return err
67030	}
67031	for k, v := range m {
67032		switch k {
67033		case "writeBehavior":
67034			if v != nil {
67035				var writeBehavior string
67036				err = json.Unmarshal(*v, &writeBehavior)
67037				if err != nil {
67038					return err
67039				}
67040				ds.WriteBehavior = &writeBehavior
67041			}
67042		case "ignoreNullValues":
67043			if v != nil {
67044				var ignoreNullValues interface{}
67045				err = json.Unmarshal(*v, &ignoreNullValues)
67046				if err != nil {
67047					return err
67048				}
67049				ds.IgnoreNullValues = ignoreNullValues
67050			}
67051		default:
67052			if v != nil {
67053				var additionalProperties interface{}
67054				err = json.Unmarshal(*v, &additionalProperties)
67055				if err != nil {
67056					return err
67057				}
67058				if ds.AdditionalProperties == nil {
67059					ds.AdditionalProperties = make(map[string]interface{})
67060				}
67061				ds.AdditionalProperties[k] = additionalProperties
67062			}
67063		case "writeBatchSize":
67064			if v != nil {
67065				var writeBatchSize interface{}
67066				err = json.Unmarshal(*v, &writeBatchSize)
67067				if err != nil {
67068					return err
67069				}
67070				ds.WriteBatchSize = writeBatchSize
67071			}
67072		case "writeBatchTimeout":
67073			if v != nil {
67074				var writeBatchTimeout interface{}
67075				err = json.Unmarshal(*v, &writeBatchTimeout)
67076				if err != nil {
67077					return err
67078				}
67079				ds.WriteBatchTimeout = writeBatchTimeout
67080			}
67081		case "sinkRetryCount":
67082			if v != nil {
67083				var sinkRetryCount interface{}
67084				err = json.Unmarshal(*v, &sinkRetryCount)
67085				if err != nil {
67086					return err
67087				}
67088				ds.SinkRetryCount = sinkRetryCount
67089			}
67090		case "sinkRetryWait":
67091			if v != nil {
67092				var sinkRetryWait interface{}
67093				err = json.Unmarshal(*v, &sinkRetryWait)
67094				if err != nil {
67095					return err
67096				}
67097				ds.SinkRetryWait = sinkRetryWait
67098			}
67099		case "maxConcurrentConnections":
67100			if v != nil {
67101				var maxConcurrentConnections interface{}
67102				err = json.Unmarshal(*v, &maxConcurrentConnections)
67103				if err != nil {
67104					return err
67105				}
67106				ds.MaxConcurrentConnections = maxConcurrentConnections
67107			}
67108		case "type":
67109			if v != nil {
67110				var typeVar TypeBasicCopySink
67111				err = json.Unmarshal(*v, &typeVar)
67112				if err != nil {
67113					return err
67114				}
67115				ds.Type = typeVar
67116			}
67117		}
67118	}
67119
67120	return nil
67121}
67122
67123// DynamicsSource a copy activity Dynamics source.
67124type DynamicsSource struct {
67125	// Query - FetchXML is a proprietary query language that is used in Microsoft Dynamics (online & on-premises). Type: string (or Expression with resultType string).
67126	Query interface{} `json:"query,omitempty"`
67127	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
67128	AdditionalProperties map[string]interface{} `json:""`
67129	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
67130	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
67131	// 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])).
67132	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
67133	// MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer).
67134	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
67135	// Type - Possible values include: 'TypeCopySource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', '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', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeCassandraSource', 'TypeWebSource', 'TypeTeradataSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeAzureMySQLSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeRestSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceServiceCloudSource', 'TypeSalesforceSource', 'TypeODataSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeMicrosoftAccessSource', 'TypeInformixSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAzureTableSource', 'TypeBinarySource', 'TypeDelimitedTextSource', 'TypeParquetSource'
67136	Type TypeBasicCopySource `json:"type,omitempty"`
67137}
67138
67139// MarshalJSON is the custom marshaler for DynamicsSource.
67140func (ds DynamicsSource) MarshalJSON() ([]byte, error) {
67141	ds.Type = TypeDynamicsSource
67142	objectMap := make(map[string]interface{})
67143	if ds.Query != nil {
67144		objectMap["query"] = ds.Query
67145	}
67146	if ds.SourceRetryCount != nil {
67147		objectMap["sourceRetryCount"] = ds.SourceRetryCount
67148	}
67149	if ds.SourceRetryWait != nil {
67150		objectMap["sourceRetryWait"] = ds.SourceRetryWait
67151	}
67152	if ds.MaxConcurrentConnections != nil {
67153		objectMap["maxConcurrentConnections"] = ds.MaxConcurrentConnections
67154	}
67155	if ds.Type != "" {
67156		objectMap["type"] = ds.Type
67157	}
67158	for k, v := range ds.AdditionalProperties {
67159		objectMap[k] = v
67160	}
67161	return json.Marshal(objectMap)
67162}
67163
67164// AsAmazonRedshiftSource is the BasicCopySource implementation for DynamicsSource.
67165func (ds DynamicsSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
67166	return nil, false
67167}
67168
67169// AsGoogleAdWordsSource is the BasicCopySource implementation for DynamicsSource.
67170func (ds DynamicsSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) {
67171	return nil, false
67172}
67173
67174// AsOracleServiceCloudSource is the BasicCopySource implementation for DynamicsSource.
67175func (ds DynamicsSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) {
67176	return nil, false
67177}
67178
67179// AsDynamicsAXSource is the BasicCopySource implementation for DynamicsSource.
67180func (ds DynamicsSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) {
67181	return nil, false
67182}
67183
67184// AsResponsysSource is the BasicCopySource implementation for DynamicsSource.
67185func (ds DynamicsSource) AsResponsysSource() (*ResponsysSource, bool) {
67186	return nil, false
67187}
67188
67189// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for DynamicsSource.
67190func (ds DynamicsSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
67191	return nil, false
67192}
67193
67194// AsVerticaSource is the BasicCopySource implementation for DynamicsSource.
67195func (ds DynamicsSource) AsVerticaSource() (*VerticaSource, bool) {
67196	return nil, false
67197}
67198
67199// AsNetezzaSource is the BasicCopySource implementation for DynamicsSource.
67200func (ds DynamicsSource) AsNetezzaSource() (*NetezzaSource, bool) {
67201	return nil, false
67202}
67203
67204// AsZohoSource is the BasicCopySource implementation for DynamicsSource.
67205func (ds DynamicsSource) AsZohoSource() (*ZohoSource, bool) {
67206	return nil, false
67207}
67208
67209// AsXeroSource is the BasicCopySource implementation for DynamicsSource.
67210func (ds DynamicsSource) AsXeroSource() (*XeroSource, bool) {
67211	return nil, false
67212}
67213
67214// AsSquareSource is the BasicCopySource implementation for DynamicsSource.
67215func (ds DynamicsSource) AsSquareSource() (*SquareSource, bool) {
67216	return nil, false
67217}
67218
67219// AsSparkSource is the BasicCopySource implementation for DynamicsSource.
67220func (ds DynamicsSource) AsSparkSource() (*SparkSource, bool) {
67221	return nil, false
67222}
67223
67224// AsShopifySource is the BasicCopySource implementation for DynamicsSource.
67225func (ds DynamicsSource) AsShopifySource() (*ShopifySource, bool) {
67226	return nil, false
67227}
67228
67229// AsServiceNowSource is the BasicCopySource implementation for DynamicsSource.
67230func (ds DynamicsSource) AsServiceNowSource() (*ServiceNowSource, bool) {
67231	return nil, false
67232}
67233
67234// AsQuickBooksSource is the BasicCopySource implementation for DynamicsSource.
67235func (ds DynamicsSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
67236	return nil, false
67237}
67238
67239// AsPrestoSource is the BasicCopySource implementation for DynamicsSource.
67240func (ds DynamicsSource) AsPrestoSource() (*PrestoSource, bool) {
67241	return nil, false
67242}
67243
67244// AsPhoenixSource is the BasicCopySource implementation for DynamicsSource.
67245func (ds DynamicsSource) AsPhoenixSource() (*PhoenixSource, bool) {
67246	return nil, false
67247}
67248
67249// AsPaypalSource is the BasicCopySource implementation for DynamicsSource.
67250func (ds DynamicsSource) AsPaypalSource() (*PaypalSource, bool) {
67251	return nil, false
67252}
67253
67254// AsMarketoSource is the BasicCopySource implementation for DynamicsSource.
67255func (ds DynamicsSource) AsMarketoSource() (*MarketoSource, bool) {
67256	return nil, false
67257}
67258
67259// AsMariaDBSource is the BasicCopySource implementation for DynamicsSource.
67260func (ds DynamicsSource) AsMariaDBSource() (*MariaDBSource, bool) {
67261	return nil, false
67262}
67263
67264// AsMagentoSource is the BasicCopySource implementation for DynamicsSource.
67265func (ds DynamicsSource) AsMagentoSource() (*MagentoSource, bool) {
67266	return nil, false
67267}
67268
67269// AsJiraSource is the BasicCopySource implementation for DynamicsSource.
67270func (ds DynamicsSource) AsJiraSource() (*JiraSource, bool) {
67271	return nil, false
67272}
67273
67274// AsImpalaSource is the BasicCopySource implementation for DynamicsSource.
67275func (ds DynamicsSource) AsImpalaSource() (*ImpalaSource, bool) {
67276	return nil, false
67277}
67278
67279// AsHubspotSource is the BasicCopySource implementation for DynamicsSource.
67280func (ds DynamicsSource) AsHubspotSource() (*HubspotSource, bool) {
67281	return nil, false
67282}
67283
67284// AsHiveSource is the BasicCopySource implementation for DynamicsSource.
67285func (ds DynamicsSource) AsHiveSource() (*HiveSource, bool) {
67286	return nil, false
67287}
67288
67289// AsHBaseSource is the BasicCopySource implementation for DynamicsSource.
67290func (ds DynamicsSource) AsHBaseSource() (*HBaseSource, bool) {
67291	return nil, false
67292}
67293
67294// AsGreenplumSource is the BasicCopySource implementation for DynamicsSource.
67295func (ds DynamicsSource) AsGreenplumSource() (*GreenplumSource, bool) {
67296	return nil, false
67297}
67298
67299// AsGoogleBigQuerySource is the BasicCopySource implementation for DynamicsSource.
67300func (ds DynamicsSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
67301	return nil, false
67302}
67303
67304// AsEloquaSource is the BasicCopySource implementation for DynamicsSource.
67305func (ds DynamicsSource) AsEloquaSource() (*EloquaSource, bool) {
67306	return nil, false
67307}
67308
67309// AsDrillSource is the BasicCopySource implementation for DynamicsSource.
67310func (ds DynamicsSource) AsDrillSource() (*DrillSource, bool) {
67311	return nil, false
67312}
67313
67314// AsCouchbaseSource is the BasicCopySource implementation for DynamicsSource.
67315func (ds DynamicsSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
67316	return nil, false
67317}
67318
67319// AsConcurSource is the BasicCopySource implementation for DynamicsSource.
67320func (ds DynamicsSource) AsConcurSource() (*ConcurSource, bool) {
67321	return nil, false
67322}
67323
67324// AsAzurePostgreSQLSource is the BasicCopySource implementation for DynamicsSource.
67325func (ds DynamicsSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
67326	return nil, false
67327}
67328
67329// AsAmazonMWSSource is the BasicCopySource implementation for DynamicsSource.
67330func (ds DynamicsSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
67331	return nil, false
67332}
67333
67334// AsHTTPSource is the BasicCopySource implementation for DynamicsSource.
67335func (ds DynamicsSource) AsHTTPSource() (*HTTPSource, bool) {
67336	return nil, false
67337}
67338
67339// AsAzureBlobFSSource is the BasicCopySource implementation for DynamicsSource.
67340func (ds DynamicsSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) {
67341	return nil, false
67342}
67343
67344// AsAzureDataLakeStoreSource is the BasicCopySource implementation for DynamicsSource.
67345func (ds DynamicsSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
67346	return nil, false
67347}
67348
67349// AsOffice365Source is the BasicCopySource implementation for DynamicsSource.
67350func (ds DynamicsSource) AsOffice365Source() (*Office365Source, bool) {
67351	return nil, false
67352}
67353
67354// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for DynamicsSource.
67355func (ds DynamicsSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) {
67356	return nil, false
67357}
67358
67359// AsMongoDbV2Source is the BasicCopySource implementation for DynamicsSource.
67360func (ds DynamicsSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) {
67361	return nil, false
67362}
67363
67364// AsMongoDbSource is the BasicCopySource implementation for DynamicsSource.
67365func (ds DynamicsSource) AsMongoDbSource() (*MongoDbSource, bool) {
67366	return nil, false
67367}
67368
67369// AsCassandraSource is the BasicCopySource implementation for DynamicsSource.
67370func (ds DynamicsSource) AsCassandraSource() (*CassandraSource, bool) {
67371	return nil, false
67372}
67373
67374// AsWebSource is the BasicCopySource implementation for DynamicsSource.
67375func (ds DynamicsSource) AsWebSource() (*WebSource, bool) {
67376	return nil, false
67377}
67378
67379// AsTeradataSource is the BasicCopySource implementation for DynamicsSource.
67380func (ds DynamicsSource) AsTeradataSource() (*TeradataSource, bool) {
67381	return nil, false
67382}
67383
67384// AsOracleSource is the BasicCopySource implementation for DynamicsSource.
67385func (ds DynamicsSource) AsOracleSource() (*OracleSource, bool) {
67386	return nil, false
67387}
67388
67389// AsAzureDataExplorerSource is the BasicCopySource implementation for DynamicsSource.
67390func (ds DynamicsSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) {
67391	return nil, false
67392}
67393
67394// AsAzureMySQLSource is the BasicCopySource implementation for DynamicsSource.
67395func (ds DynamicsSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
67396	return nil, false
67397}
67398
67399// AsHdfsSource is the BasicCopySource implementation for DynamicsSource.
67400func (ds DynamicsSource) AsHdfsSource() (*HdfsSource, bool) {
67401	return nil, false
67402}
67403
67404// AsFileSystemSource is the BasicCopySource implementation for DynamicsSource.
67405func (ds DynamicsSource) AsFileSystemSource() (*FileSystemSource, bool) {
67406	return nil, false
67407}
67408
67409// AsSQLDWSource is the BasicCopySource implementation for DynamicsSource.
67410func (ds DynamicsSource) AsSQLDWSource() (*SQLDWSource, bool) {
67411	return nil, false
67412}
67413
67414// AsSQLMISource is the BasicCopySource implementation for DynamicsSource.
67415func (ds DynamicsSource) AsSQLMISource() (*SQLMISource, bool) {
67416	return nil, false
67417}
67418
67419// AsAzureSQLSource is the BasicCopySource implementation for DynamicsSource.
67420func (ds DynamicsSource) AsAzureSQLSource() (*AzureSQLSource, bool) {
67421	return nil, false
67422}
67423
67424// AsSQLServerSource is the BasicCopySource implementation for DynamicsSource.
67425func (ds DynamicsSource) AsSQLServerSource() (*SQLServerSource, bool) {
67426	return nil, false
67427}
67428
67429// AsSQLSource is the BasicCopySource implementation for DynamicsSource.
67430func (ds DynamicsSource) AsSQLSource() (*SQLSource, bool) {
67431	return nil, false
67432}
67433
67434// AsRestSource is the BasicCopySource implementation for DynamicsSource.
67435func (ds DynamicsSource) AsRestSource() (*RestSource, bool) {
67436	return nil, false
67437}
67438
67439// AsSapTableSource is the BasicCopySource implementation for DynamicsSource.
67440func (ds DynamicsSource) AsSapTableSource() (*SapTableSource, bool) {
67441	return nil, false
67442}
67443
67444// AsSapOpenHubSource is the BasicCopySource implementation for DynamicsSource.
67445func (ds DynamicsSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) {
67446	return nil, false
67447}
67448
67449// AsSapHanaSource is the BasicCopySource implementation for DynamicsSource.
67450func (ds DynamicsSource) AsSapHanaSource() (*SapHanaSource, bool) {
67451	return nil, false
67452}
67453
67454// AsSapEccSource is the BasicCopySource implementation for DynamicsSource.
67455func (ds DynamicsSource) AsSapEccSource() (*SapEccSource, bool) {
67456	return nil, false
67457}
67458
67459// AsSapCloudForCustomerSource is the BasicCopySource implementation for DynamicsSource.
67460func (ds DynamicsSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
67461	return nil, false
67462}
67463
67464// AsSalesforceServiceCloudSource is the BasicCopySource implementation for DynamicsSource.
67465func (ds DynamicsSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) {
67466	return nil, false
67467}
67468
67469// AsSalesforceSource is the BasicCopySource implementation for DynamicsSource.
67470func (ds DynamicsSource) AsSalesforceSource() (*SalesforceSource, bool) {
67471	return nil, false
67472}
67473
67474// AsODataSource is the BasicCopySource implementation for DynamicsSource.
67475func (ds DynamicsSource) AsODataSource() (*ODataSource, bool) {
67476	return nil, false
67477}
67478
67479// AsSybaseSource is the BasicCopySource implementation for DynamicsSource.
67480func (ds DynamicsSource) AsSybaseSource() (*SybaseSource, bool) {
67481	return nil, false
67482}
67483
67484// AsPostgreSQLSource is the BasicCopySource implementation for DynamicsSource.
67485func (ds DynamicsSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) {
67486	return nil, false
67487}
67488
67489// AsMySQLSource is the BasicCopySource implementation for DynamicsSource.
67490func (ds DynamicsSource) AsMySQLSource() (*MySQLSource, bool) {
67491	return nil, false
67492}
67493
67494// AsOdbcSource is the BasicCopySource implementation for DynamicsSource.
67495func (ds DynamicsSource) AsOdbcSource() (*OdbcSource, bool) {
67496	return nil, false
67497}
67498
67499// AsDb2Source is the BasicCopySource implementation for DynamicsSource.
67500func (ds DynamicsSource) AsDb2Source() (*Db2Source, bool) {
67501	return nil, false
67502}
67503
67504// AsMicrosoftAccessSource is the BasicCopySource implementation for DynamicsSource.
67505func (ds DynamicsSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) {
67506	return nil, false
67507}
67508
67509// AsInformixSource is the BasicCopySource implementation for DynamicsSource.
67510func (ds DynamicsSource) AsInformixSource() (*InformixSource, bool) {
67511	return nil, false
67512}
67513
67514// AsRelationalSource is the BasicCopySource implementation for DynamicsSource.
67515func (ds DynamicsSource) AsRelationalSource() (*RelationalSource, bool) {
67516	return nil, false
67517}
67518
67519// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for DynamicsSource.
67520func (ds DynamicsSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) {
67521	return nil, false
67522}
67523
67524// AsDynamicsCrmSource is the BasicCopySource implementation for DynamicsSource.
67525func (ds DynamicsSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) {
67526	return nil, false
67527}
67528
67529// AsDynamicsSource is the BasicCopySource implementation for DynamicsSource.
67530func (ds DynamicsSource) AsDynamicsSource() (*DynamicsSource, bool) {
67531	return &ds, true
67532}
67533
67534// AsDocumentDbCollectionSource is the BasicCopySource implementation for DynamicsSource.
67535func (ds DynamicsSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
67536	return nil, false
67537}
67538
67539// AsBlobSource is the BasicCopySource implementation for DynamicsSource.
67540func (ds DynamicsSource) AsBlobSource() (*BlobSource, bool) {
67541	return nil, false
67542}
67543
67544// AsAzureTableSource is the BasicCopySource implementation for DynamicsSource.
67545func (ds DynamicsSource) AsAzureTableSource() (*AzureTableSource, bool) {
67546	return nil, false
67547}
67548
67549// AsBinarySource is the BasicCopySource implementation for DynamicsSource.
67550func (ds DynamicsSource) AsBinarySource() (*BinarySource, bool) {
67551	return nil, false
67552}
67553
67554// AsDelimitedTextSource is the BasicCopySource implementation for DynamicsSource.
67555func (ds DynamicsSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) {
67556	return nil, false
67557}
67558
67559// AsParquetSource is the BasicCopySource implementation for DynamicsSource.
67560func (ds DynamicsSource) AsParquetSource() (*ParquetSource, bool) {
67561	return nil, false
67562}
67563
67564// AsCopySource is the BasicCopySource implementation for DynamicsSource.
67565func (ds DynamicsSource) AsCopySource() (*CopySource, bool) {
67566	return nil, false
67567}
67568
67569// AsBasicCopySource is the BasicCopySource implementation for DynamicsSource.
67570func (ds DynamicsSource) AsBasicCopySource() (BasicCopySource, bool) {
67571	return &ds, true
67572}
67573
67574// UnmarshalJSON is the custom unmarshaler for DynamicsSource struct.
67575func (ds *DynamicsSource) UnmarshalJSON(body []byte) error {
67576	var m map[string]*json.RawMessage
67577	err := json.Unmarshal(body, &m)
67578	if err != nil {
67579		return err
67580	}
67581	for k, v := range m {
67582		switch k {
67583		case "query":
67584			if v != nil {
67585				var query interface{}
67586				err = json.Unmarshal(*v, &query)
67587				if err != nil {
67588					return err
67589				}
67590				ds.Query = query
67591			}
67592		default:
67593			if v != nil {
67594				var additionalProperties interface{}
67595				err = json.Unmarshal(*v, &additionalProperties)
67596				if err != nil {
67597					return err
67598				}
67599				if ds.AdditionalProperties == nil {
67600					ds.AdditionalProperties = make(map[string]interface{})
67601				}
67602				ds.AdditionalProperties[k] = additionalProperties
67603			}
67604		case "sourceRetryCount":
67605			if v != nil {
67606				var sourceRetryCount interface{}
67607				err = json.Unmarshal(*v, &sourceRetryCount)
67608				if err != nil {
67609					return err
67610				}
67611				ds.SourceRetryCount = sourceRetryCount
67612			}
67613		case "sourceRetryWait":
67614			if v != nil {
67615				var sourceRetryWait interface{}
67616				err = json.Unmarshal(*v, &sourceRetryWait)
67617				if err != nil {
67618					return err
67619				}
67620				ds.SourceRetryWait = sourceRetryWait
67621			}
67622		case "maxConcurrentConnections":
67623			if v != nil {
67624				var maxConcurrentConnections interface{}
67625				err = json.Unmarshal(*v, &maxConcurrentConnections)
67626				if err != nil {
67627					return err
67628				}
67629				ds.MaxConcurrentConnections = maxConcurrentConnections
67630			}
67631		case "type":
67632			if v != nil {
67633				var typeVar TypeBasicCopySource
67634				err = json.Unmarshal(*v, &typeVar)
67635				if err != nil {
67636					return err
67637				}
67638				ds.Type = typeVar
67639			}
67640		}
67641	}
67642
67643	return nil
67644}
67645
67646// EloquaLinkedService eloqua server linked service.
67647type EloquaLinkedService struct {
67648	// EloquaLinkedServiceTypeProperties - Eloqua server linked service properties.
67649	*EloquaLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
67650	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
67651	AdditionalProperties map[string]interface{} `json:""`
67652	// ConnectVia - The integration runtime reference.
67653	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
67654	// Description - Linked service description.
67655	Description *string `json:"description,omitempty"`
67656	// Parameters - Parameters for linked service.
67657	Parameters map[string]*ParameterSpecification `json:"parameters"`
67658	// Annotations - List of tags that can be used for describing the linked service.
67659	Annotations *[]interface{} `json:"annotations,omitempty"`
67660	// Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', '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', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage'
67661	Type TypeBasicLinkedService `json:"type,omitempty"`
67662}
67663
67664// MarshalJSON is the custom marshaler for EloquaLinkedService.
67665func (els EloquaLinkedService) MarshalJSON() ([]byte, error) {
67666	els.Type = TypeEloqua
67667	objectMap := make(map[string]interface{})
67668	if els.EloquaLinkedServiceTypeProperties != nil {
67669		objectMap["typeProperties"] = els.EloquaLinkedServiceTypeProperties
67670	}
67671	if els.ConnectVia != nil {
67672		objectMap["connectVia"] = els.ConnectVia
67673	}
67674	if els.Description != nil {
67675		objectMap["description"] = els.Description
67676	}
67677	if els.Parameters != nil {
67678		objectMap["parameters"] = els.Parameters
67679	}
67680	if els.Annotations != nil {
67681		objectMap["annotations"] = els.Annotations
67682	}
67683	if els.Type != "" {
67684		objectMap["type"] = els.Type
67685	}
67686	for k, v := range els.AdditionalProperties {
67687		objectMap[k] = v
67688	}
67689	return json.Marshal(objectMap)
67690}
67691
67692// AsAzureFunctionLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
67693func (els EloquaLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) {
67694	return nil, false
67695}
67696
67697// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
67698func (els EloquaLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) {
67699	return nil, false
67700}
67701
67702// AsSapTableLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
67703func (els EloquaLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) {
67704	return nil, false
67705}
67706
67707// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
67708func (els EloquaLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) {
67709	return nil, false
67710}
67711
67712// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
67713func (els EloquaLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) {
67714	return nil, false
67715}
67716
67717// AsDynamicsAXLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
67718func (els EloquaLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) {
67719	return nil, false
67720}
67721
67722// AsResponsysLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
67723func (els EloquaLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
67724	return nil, false
67725}
67726
67727// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
67728func (els EloquaLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
67729	return nil, false
67730}
67731
67732// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
67733func (els EloquaLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
67734	return nil, false
67735}
67736
67737// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
67738func (els EloquaLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
67739	return nil, false
67740}
67741
67742// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
67743func (els EloquaLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
67744	return nil, false
67745}
67746
67747// AsNetezzaLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
67748func (els EloquaLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
67749	return nil, false
67750}
67751
67752// AsVerticaLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
67753func (els EloquaLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
67754	return nil, false
67755}
67756
67757// AsZohoLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
67758func (els EloquaLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
67759	return nil, false
67760}
67761
67762// AsXeroLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
67763func (els EloquaLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
67764	return nil, false
67765}
67766
67767// AsSquareLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
67768func (els EloquaLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
67769	return nil, false
67770}
67771
67772// AsSparkLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
67773func (els EloquaLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
67774	return nil, false
67775}
67776
67777// AsShopifyLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
67778func (els EloquaLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
67779	return nil, false
67780}
67781
67782// AsServiceNowLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
67783func (els EloquaLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
67784	return nil, false
67785}
67786
67787// AsQuickBooksLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
67788func (els EloquaLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
67789	return nil, false
67790}
67791
67792// AsPrestoLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
67793func (els EloquaLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
67794	return nil, false
67795}
67796
67797// AsPhoenixLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
67798func (els EloquaLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
67799	return nil, false
67800}
67801
67802// AsPaypalLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
67803func (els EloquaLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
67804	return nil, false
67805}
67806
67807// AsMarketoLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
67808func (els EloquaLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
67809	return nil, false
67810}
67811
67812// AsMariaDBLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
67813func (els EloquaLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
67814	return nil, false
67815}
67816
67817// AsMagentoLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
67818func (els EloquaLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
67819	return nil, false
67820}
67821
67822// AsJiraLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
67823func (els EloquaLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
67824	return nil, false
67825}
67826
67827// AsImpalaLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
67828func (els EloquaLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
67829	return nil, false
67830}
67831
67832// AsHubspotLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
67833func (els EloquaLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
67834	return nil, false
67835}
67836
67837// AsHiveLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
67838func (els EloquaLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
67839	return nil, false
67840}
67841
67842// AsHBaseLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
67843func (els EloquaLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
67844	return nil, false
67845}
67846
67847// AsGreenplumLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
67848func (els EloquaLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
67849	return nil, false
67850}
67851
67852// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
67853func (els EloquaLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
67854	return nil, false
67855}
67856
67857// AsEloquaLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
67858func (els EloquaLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
67859	return &els, true
67860}
67861
67862// AsDrillLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
67863func (els EloquaLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
67864	return nil, false
67865}
67866
67867// AsCouchbaseLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
67868func (els EloquaLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
67869	return nil, false
67870}
67871
67872// AsConcurLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
67873func (els EloquaLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
67874	return nil, false
67875}
67876
67877// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
67878func (els EloquaLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
67879	return nil, false
67880}
67881
67882// AsAmazonMWSLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
67883func (els EloquaLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
67884	return nil, false
67885}
67886
67887// AsSapHanaLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
67888func (els EloquaLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
67889	return nil, false
67890}
67891
67892// AsSapBWLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
67893func (els EloquaLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
67894	return nil, false
67895}
67896
67897// AsSftpServerLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
67898func (els EloquaLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
67899	return nil, false
67900}
67901
67902// AsFtpServerLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
67903func (els EloquaLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
67904	return nil, false
67905}
67906
67907// AsHTTPLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
67908func (els EloquaLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
67909	return nil, false
67910}
67911
67912// AsAzureSearchLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
67913func (els EloquaLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
67914	return nil, false
67915}
67916
67917// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
67918func (els EloquaLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
67919	return nil, false
67920}
67921
67922// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
67923func (els EloquaLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
67924	return nil, false
67925}
67926
67927// AsAmazonS3LinkedService is the BasicLinkedService implementation for EloquaLinkedService.
67928func (els EloquaLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
67929	return nil, false
67930}
67931
67932// AsRestServiceLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
67933func (els EloquaLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) {
67934	return nil, false
67935}
67936
67937// AsSapOpenHubLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
67938func (els EloquaLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) {
67939	return nil, false
67940}
67941
67942// AsSapEccLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
67943func (els EloquaLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
67944	return nil, false
67945}
67946
67947// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
67948func (els EloquaLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
67949	return nil, false
67950}
67951
67952// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
67953func (els EloquaLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) {
67954	return nil, false
67955}
67956
67957// AsSalesforceLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
67958func (els EloquaLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
67959	return nil, false
67960}
67961
67962// AsOffice365LinkedService is the BasicLinkedService implementation for EloquaLinkedService.
67963func (els EloquaLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) {
67964	return nil, false
67965}
67966
67967// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
67968func (els EloquaLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) {
67969	return nil, false
67970}
67971
67972// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
67973func (els EloquaLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
67974	return nil, false
67975}
67976
67977// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for EloquaLinkedService.
67978func (els EloquaLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) {
67979	return nil, false
67980}
67981
67982// AsMongoDbV2LinkedService is the BasicLinkedService implementation for EloquaLinkedService.
67983func (els EloquaLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) {
67984	return nil, false
67985}
67986
67987// AsMongoDbLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
67988func (els EloquaLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
67989	return nil, false
67990}
67991
67992// AsCassandraLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
67993func (els EloquaLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
67994	return nil, false
67995}
67996
67997// AsWebLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
67998func (els EloquaLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
67999	return nil, false
68000}
68001
68002// AsODataLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
68003func (els EloquaLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
68004	return nil, false
68005}
68006
68007// AsHdfsLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
68008func (els EloquaLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
68009	return nil, false
68010}
68011
68012// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
68013func (els EloquaLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) {
68014	return nil, false
68015}
68016
68017// AsInformixLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
68018func (els EloquaLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) {
68019	return nil, false
68020}
68021
68022// AsOdbcLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
68023func (els EloquaLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
68024	return nil, false
68025}
68026
68027// AsAzureMLLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
68028func (els EloquaLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
68029	return nil, false
68030}
68031
68032// AsTeradataLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
68033func (els EloquaLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
68034	return nil, false
68035}
68036
68037// AsDb2LinkedService is the BasicLinkedService implementation for EloquaLinkedService.
68038func (els EloquaLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
68039	return nil, false
68040}
68041
68042// AsSybaseLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
68043func (els EloquaLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
68044	return nil, false
68045}
68046
68047// AsPostgreSQLLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
68048func (els EloquaLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
68049	return nil, false
68050}
68051
68052// AsMySQLLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
68053func (els EloquaLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
68054	return nil, false
68055}
68056
68057// AsAzureMySQLLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
68058func (els EloquaLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
68059	return nil, false
68060}
68061
68062// AsOracleLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
68063func (els EloquaLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
68064	return nil, false
68065}
68066
68067// AsFileServerLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
68068func (els EloquaLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
68069	return nil, false
68070}
68071
68072// AsHDInsightLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
68073func (els EloquaLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
68074	return nil, false
68075}
68076
68077// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
68078func (els EloquaLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) {
68079	return nil, false
68080}
68081
68082// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
68083func (els EloquaLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) {
68084	return nil, false
68085}
68086
68087// AsDynamicsLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
68088func (els EloquaLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
68089	return nil, false
68090}
68091
68092// AsCosmosDbLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
68093func (els EloquaLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
68094	return nil, false
68095}
68096
68097// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
68098func (els EloquaLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
68099	return nil, false
68100}
68101
68102// AsAzureBatchLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
68103func (els EloquaLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
68104	return nil, false
68105}
68106
68107// AsAzureSQLMILinkedService is the BasicLinkedService implementation for EloquaLinkedService.
68108func (els EloquaLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) {
68109	return nil, false
68110}
68111
68112// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
68113func (els EloquaLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
68114	return nil, false
68115}
68116
68117// AsSQLServerLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
68118func (els EloquaLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
68119	return nil, false
68120}
68121
68122// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
68123func (els EloquaLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
68124	return nil, false
68125}
68126
68127// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
68128func (els EloquaLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) {
68129	return nil, false
68130}
68131
68132// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
68133func (els EloquaLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) {
68134	return nil, false
68135}
68136
68137// AsAzureStorageLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
68138func (els EloquaLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
68139	return nil, false
68140}
68141
68142// AsLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
68143func (els EloquaLinkedService) AsLinkedService() (*LinkedService, bool) {
68144	return nil, false
68145}
68146
68147// AsBasicLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
68148func (els EloquaLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
68149	return &els, true
68150}
68151
68152// UnmarshalJSON is the custom unmarshaler for EloquaLinkedService struct.
68153func (els *EloquaLinkedService) UnmarshalJSON(body []byte) error {
68154	var m map[string]*json.RawMessage
68155	err := json.Unmarshal(body, &m)
68156	if err != nil {
68157		return err
68158	}
68159	for k, v := range m {
68160		switch k {
68161		case "typeProperties":
68162			if v != nil {
68163				var eloquaLinkedServiceTypeProperties EloquaLinkedServiceTypeProperties
68164				err = json.Unmarshal(*v, &eloquaLinkedServiceTypeProperties)
68165				if err != nil {
68166					return err
68167				}
68168				els.EloquaLinkedServiceTypeProperties = &eloquaLinkedServiceTypeProperties
68169			}
68170		default:
68171			if v != nil {
68172				var additionalProperties interface{}
68173				err = json.Unmarshal(*v, &additionalProperties)
68174				if err != nil {
68175					return err
68176				}
68177				if els.AdditionalProperties == nil {
68178					els.AdditionalProperties = make(map[string]interface{})
68179				}
68180				els.AdditionalProperties[k] = additionalProperties
68181			}
68182		case "connectVia":
68183			if v != nil {
68184				var connectVia IntegrationRuntimeReference
68185				err = json.Unmarshal(*v, &connectVia)
68186				if err != nil {
68187					return err
68188				}
68189				els.ConnectVia = &connectVia
68190			}
68191		case "description":
68192			if v != nil {
68193				var description string
68194				err = json.Unmarshal(*v, &description)
68195				if err != nil {
68196					return err
68197				}
68198				els.Description = &description
68199			}
68200		case "parameters":
68201			if v != nil {
68202				var parameters map[string]*ParameterSpecification
68203				err = json.Unmarshal(*v, &parameters)
68204				if err != nil {
68205					return err
68206				}
68207				els.Parameters = parameters
68208			}
68209		case "annotations":
68210			if v != nil {
68211				var annotations []interface{}
68212				err = json.Unmarshal(*v, &annotations)
68213				if err != nil {
68214					return err
68215				}
68216				els.Annotations = &annotations
68217			}
68218		case "type":
68219			if v != nil {
68220				var typeVar TypeBasicLinkedService
68221				err = json.Unmarshal(*v, &typeVar)
68222				if err != nil {
68223					return err
68224				}
68225				els.Type = typeVar
68226			}
68227		}
68228	}
68229
68230	return nil
68231}
68232
68233// EloquaLinkedServiceTypeProperties eloqua server linked service properties.
68234type EloquaLinkedServiceTypeProperties struct {
68235	// Endpoint - The endpoint of the Eloqua server. (i.e. eloqua.example.com)
68236	Endpoint interface{} `json:"endpoint,omitempty"`
68237	// Username - The site name and user name of your Eloqua account in the form: sitename/username. (i.e. Eloqua/Alice)
68238	Username interface{} `json:"username,omitempty"`
68239	// Password - The password corresponding to the user name.
68240	Password BasicSecretBase `json:"password,omitempty"`
68241	// UseEncryptedEndpoints - Specifies whether the data source endpoints are encrypted using HTTPS. The default value is true.
68242	UseEncryptedEndpoints interface{} `json:"useEncryptedEndpoints,omitempty"`
68243	// 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.
68244	UseHostVerification interface{} `json:"useHostVerification,omitempty"`
68245	// UsePeerVerification - Specifies whether to verify the identity of the server when connecting over SSL. The default value is true.
68246	UsePeerVerification interface{} `json:"usePeerVerification,omitempty"`
68247	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
68248	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
68249}
68250
68251// UnmarshalJSON is the custom unmarshaler for EloquaLinkedServiceTypeProperties struct.
68252func (elstp *EloquaLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
68253	var m map[string]*json.RawMessage
68254	err := json.Unmarshal(body, &m)
68255	if err != nil {
68256		return err
68257	}
68258	for k, v := range m {
68259		switch k {
68260		case "endpoint":
68261			if v != nil {
68262				var endpoint interface{}
68263				err = json.Unmarshal(*v, &endpoint)
68264				if err != nil {
68265					return err
68266				}
68267				elstp.Endpoint = endpoint
68268			}
68269		case "username":
68270			if v != nil {
68271				var username interface{}
68272				err = json.Unmarshal(*v, &username)
68273				if err != nil {
68274					return err
68275				}
68276				elstp.Username = username
68277			}
68278		case "password":
68279			if v != nil {
68280				password, err := unmarshalBasicSecretBase(*v)
68281				if err != nil {
68282					return err
68283				}
68284				elstp.Password = password
68285			}
68286		case "useEncryptedEndpoints":
68287			if v != nil {
68288				var useEncryptedEndpoints interface{}
68289				err = json.Unmarshal(*v, &useEncryptedEndpoints)
68290				if err != nil {
68291					return err
68292				}
68293				elstp.UseEncryptedEndpoints = useEncryptedEndpoints
68294			}
68295		case "useHostVerification":
68296			if v != nil {
68297				var useHostVerification interface{}
68298				err = json.Unmarshal(*v, &useHostVerification)
68299				if err != nil {
68300					return err
68301				}
68302				elstp.UseHostVerification = useHostVerification
68303			}
68304		case "usePeerVerification":
68305			if v != nil {
68306				var usePeerVerification interface{}
68307				err = json.Unmarshal(*v, &usePeerVerification)
68308				if err != nil {
68309					return err
68310				}
68311				elstp.UsePeerVerification = usePeerVerification
68312			}
68313		case "encryptedCredential":
68314			if v != nil {
68315				var encryptedCredential interface{}
68316				err = json.Unmarshal(*v, &encryptedCredential)
68317				if err != nil {
68318					return err
68319				}
68320				elstp.EncryptedCredential = encryptedCredential
68321			}
68322		}
68323	}
68324
68325	return nil
68326}
68327
68328// EloquaObjectDataset eloqua server dataset.
68329type EloquaObjectDataset struct {
68330	// GenericDatasetTypeProperties - Properties specific to this dataset type.
68331	*GenericDatasetTypeProperties `json:"typeProperties,omitempty"`
68332	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
68333	AdditionalProperties map[string]interface{} `json:""`
68334	// Description - Dataset description.
68335	Description *string `json:"description,omitempty"`
68336	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
68337	Structure interface{} `json:"structure,omitempty"`
68338	// Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement.
68339	Schema interface{} `json:"schema,omitempty"`
68340	// LinkedServiceName - Linked service reference.
68341	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
68342	// Parameters - Parameters for dataset.
68343	Parameters map[string]*ParameterSpecification `json:"parameters"`
68344	// Annotations - List of tags that can be used for describing the Dataset.
68345	Annotations *[]interface{} `json:"annotations,omitempty"`
68346	// Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level.
68347	Folder *DatasetFolder `json:"folder,omitempty"`
68348	// Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', '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', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeDelimitedText', 'TypeParquet', 'TypeAmazonS3Object'
68349	Type TypeBasicDataset `json:"type,omitempty"`
68350}
68351
68352// MarshalJSON is the custom marshaler for EloquaObjectDataset.
68353func (eod EloquaObjectDataset) MarshalJSON() ([]byte, error) {
68354	eod.Type = TypeEloquaObject
68355	objectMap := make(map[string]interface{})
68356	if eod.GenericDatasetTypeProperties != nil {
68357		objectMap["typeProperties"] = eod.GenericDatasetTypeProperties
68358	}
68359	if eod.Description != nil {
68360		objectMap["description"] = eod.Description
68361	}
68362	if eod.Structure != nil {
68363		objectMap["structure"] = eod.Structure
68364	}
68365	if eod.Schema != nil {
68366		objectMap["schema"] = eod.Schema
68367	}
68368	if eod.LinkedServiceName != nil {
68369		objectMap["linkedServiceName"] = eod.LinkedServiceName
68370	}
68371	if eod.Parameters != nil {
68372		objectMap["parameters"] = eod.Parameters
68373	}
68374	if eod.Annotations != nil {
68375		objectMap["annotations"] = eod.Annotations
68376	}
68377	if eod.Folder != nil {
68378		objectMap["folder"] = eod.Folder
68379	}
68380	if eod.Type != "" {
68381		objectMap["type"] = eod.Type
68382	}
68383	for k, v := range eod.AdditionalProperties {
68384		objectMap[k] = v
68385	}
68386	return json.Marshal(objectMap)
68387}
68388
68389// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for EloquaObjectDataset.
68390func (eod EloquaObjectDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) {
68391	return nil, false
68392}
68393
68394// AsAzureDataExplorerTableDataset is the BasicDataset implementation for EloquaObjectDataset.
68395func (eod EloquaObjectDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) {
68396	return nil, false
68397}
68398
68399// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for EloquaObjectDataset.
68400func (eod EloquaObjectDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) {
68401	return nil, false
68402}
68403
68404// AsDynamicsAXResourceDataset is the BasicDataset implementation for EloquaObjectDataset.
68405func (eod EloquaObjectDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) {
68406	return nil, false
68407}
68408
68409// AsResponsysObjectDataset is the BasicDataset implementation for EloquaObjectDataset.
68410func (eod EloquaObjectDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
68411	return nil, false
68412}
68413
68414// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for EloquaObjectDataset.
68415func (eod EloquaObjectDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
68416	return nil, false
68417}
68418
68419// AsVerticaTableDataset is the BasicDataset implementation for EloquaObjectDataset.
68420func (eod EloquaObjectDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
68421	return nil, false
68422}
68423
68424// AsNetezzaTableDataset is the BasicDataset implementation for EloquaObjectDataset.
68425func (eod EloquaObjectDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
68426	return nil, false
68427}
68428
68429// AsZohoObjectDataset is the BasicDataset implementation for EloquaObjectDataset.
68430func (eod EloquaObjectDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
68431	return nil, false
68432}
68433
68434// AsXeroObjectDataset is the BasicDataset implementation for EloquaObjectDataset.
68435func (eod EloquaObjectDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
68436	return nil, false
68437}
68438
68439// AsSquareObjectDataset is the BasicDataset implementation for EloquaObjectDataset.
68440func (eod EloquaObjectDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
68441	return nil, false
68442}
68443
68444// AsSparkObjectDataset is the BasicDataset implementation for EloquaObjectDataset.
68445func (eod EloquaObjectDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
68446	return nil, false
68447}
68448
68449// AsShopifyObjectDataset is the BasicDataset implementation for EloquaObjectDataset.
68450func (eod EloquaObjectDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
68451	return nil, false
68452}
68453
68454// AsServiceNowObjectDataset is the BasicDataset implementation for EloquaObjectDataset.
68455func (eod EloquaObjectDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
68456	return nil, false
68457}
68458
68459// AsQuickBooksObjectDataset is the BasicDataset implementation for EloquaObjectDataset.
68460func (eod EloquaObjectDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
68461	return nil, false
68462}
68463
68464// AsPrestoObjectDataset is the BasicDataset implementation for EloquaObjectDataset.
68465func (eod EloquaObjectDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
68466	return nil, false
68467}
68468
68469// AsPhoenixObjectDataset is the BasicDataset implementation for EloquaObjectDataset.
68470func (eod EloquaObjectDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
68471	return nil, false
68472}
68473
68474// AsPaypalObjectDataset is the BasicDataset implementation for EloquaObjectDataset.
68475func (eod EloquaObjectDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
68476	return nil, false
68477}
68478
68479// AsMarketoObjectDataset is the BasicDataset implementation for EloquaObjectDataset.
68480func (eod EloquaObjectDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
68481	return nil, false
68482}
68483
68484// AsMariaDBTableDataset is the BasicDataset implementation for EloquaObjectDataset.
68485func (eod EloquaObjectDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
68486	return nil, false
68487}
68488
68489// AsMagentoObjectDataset is the BasicDataset implementation for EloquaObjectDataset.
68490func (eod EloquaObjectDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
68491	return nil, false
68492}
68493
68494// AsJiraObjectDataset is the BasicDataset implementation for EloquaObjectDataset.
68495func (eod EloquaObjectDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
68496	return nil, false
68497}
68498
68499// AsImpalaObjectDataset is the BasicDataset implementation for EloquaObjectDataset.
68500func (eod EloquaObjectDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
68501	return nil, false
68502}
68503
68504// AsHubspotObjectDataset is the BasicDataset implementation for EloquaObjectDataset.
68505func (eod EloquaObjectDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
68506	return nil, false
68507}
68508
68509// AsHiveObjectDataset is the BasicDataset implementation for EloquaObjectDataset.
68510func (eod EloquaObjectDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
68511	return nil, false
68512}
68513
68514// AsHBaseObjectDataset is the BasicDataset implementation for EloquaObjectDataset.
68515func (eod EloquaObjectDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
68516	return nil, false
68517}
68518
68519// AsGreenplumTableDataset is the BasicDataset implementation for EloquaObjectDataset.
68520func (eod EloquaObjectDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
68521	return nil, false
68522}
68523
68524// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for EloquaObjectDataset.
68525func (eod EloquaObjectDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
68526	return nil, false
68527}
68528
68529// AsEloquaObjectDataset is the BasicDataset implementation for EloquaObjectDataset.
68530func (eod EloquaObjectDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
68531	return &eod, true
68532}
68533
68534// AsDrillTableDataset is the BasicDataset implementation for EloquaObjectDataset.
68535func (eod EloquaObjectDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
68536	return nil, false
68537}
68538
68539// AsCouchbaseTableDataset is the BasicDataset implementation for EloquaObjectDataset.
68540func (eod EloquaObjectDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
68541	return nil, false
68542}
68543
68544// AsConcurObjectDataset is the BasicDataset implementation for EloquaObjectDataset.
68545func (eod EloquaObjectDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
68546	return nil, false
68547}
68548
68549// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for EloquaObjectDataset.
68550func (eod EloquaObjectDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
68551	return nil, false
68552}
68553
68554// AsAmazonMWSObjectDataset is the BasicDataset implementation for EloquaObjectDataset.
68555func (eod EloquaObjectDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
68556	return nil, false
68557}
68558
68559// AsHTTPDataset is the BasicDataset implementation for EloquaObjectDataset.
68560func (eod EloquaObjectDataset) AsHTTPDataset() (*HTTPDataset, bool) {
68561	return nil, false
68562}
68563
68564// AsAzureSearchIndexDataset is the BasicDataset implementation for EloquaObjectDataset.
68565func (eod EloquaObjectDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
68566	return nil, false
68567}
68568
68569// AsWebTableDataset is the BasicDataset implementation for EloquaObjectDataset.
68570func (eod EloquaObjectDataset) AsWebTableDataset() (*WebTableDataset, bool) {
68571	return nil, false
68572}
68573
68574// AsSapTableResourceDataset is the BasicDataset implementation for EloquaObjectDataset.
68575func (eod EloquaObjectDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) {
68576	return nil, false
68577}
68578
68579// AsRestResourceDataset is the BasicDataset implementation for EloquaObjectDataset.
68580func (eod EloquaObjectDataset) AsRestResourceDataset() (*RestResourceDataset, bool) {
68581	return nil, false
68582}
68583
68584// AsSQLServerTableDataset is the BasicDataset implementation for EloquaObjectDataset.
68585func (eod EloquaObjectDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
68586	return nil, false
68587}
68588
68589// AsSapOpenHubTableDataset is the BasicDataset implementation for EloquaObjectDataset.
68590func (eod EloquaObjectDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) {
68591	return nil, false
68592}
68593
68594// AsSapHanaTableDataset is the BasicDataset implementation for EloquaObjectDataset.
68595func (eod EloquaObjectDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) {
68596	return nil, false
68597}
68598
68599// AsSapEccResourceDataset is the BasicDataset implementation for EloquaObjectDataset.
68600func (eod EloquaObjectDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
68601	return nil, false
68602}
68603
68604// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for EloquaObjectDataset.
68605func (eod EloquaObjectDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
68606	return nil, false
68607}
68608
68609// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for EloquaObjectDataset.
68610func (eod EloquaObjectDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) {
68611	return nil, false
68612}
68613
68614// AsSalesforceObjectDataset is the BasicDataset implementation for EloquaObjectDataset.
68615func (eod EloquaObjectDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
68616	return nil, false
68617}
68618
68619// AsMicrosoftAccessTableDataset is the BasicDataset implementation for EloquaObjectDataset.
68620func (eod EloquaObjectDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) {
68621	return nil, false
68622}
68623
68624// AsPostgreSQLTableDataset is the BasicDataset implementation for EloquaObjectDataset.
68625func (eod EloquaObjectDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) {
68626	return nil, false
68627}
68628
68629// AsMySQLTableDataset is the BasicDataset implementation for EloquaObjectDataset.
68630func (eod EloquaObjectDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) {
68631	return nil, false
68632}
68633
68634// AsOdbcTableDataset is the BasicDataset implementation for EloquaObjectDataset.
68635func (eod EloquaObjectDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) {
68636	return nil, false
68637}
68638
68639// AsInformixTableDataset is the BasicDataset implementation for EloquaObjectDataset.
68640func (eod EloquaObjectDataset) AsInformixTableDataset() (*InformixTableDataset, bool) {
68641	return nil, false
68642}
68643
68644// AsRelationalTableDataset is the BasicDataset implementation for EloquaObjectDataset.
68645func (eod EloquaObjectDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
68646	return nil, false
68647}
68648
68649// AsAzureMySQLTableDataset is the BasicDataset implementation for EloquaObjectDataset.
68650func (eod EloquaObjectDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
68651	return nil, false
68652}
68653
68654// AsTeradataTableDataset is the BasicDataset implementation for EloquaObjectDataset.
68655func (eod EloquaObjectDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) {
68656	return nil, false
68657}
68658
68659// AsOracleTableDataset is the BasicDataset implementation for EloquaObjectDataset.
68660func (eod EloquaObjectDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
68661	return nil, false
68662}
68663
68664// AsODataResourceDataset is the BasicDataset implementation for EloquaObjectDataset.
68665func (eod EloquaObjectDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
68666	return nil, false
68667}
68668
68669// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for EloquaObjectDataset.
68670func (eod EloquaObjectDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) {
68671	return nil, false
68672}
68673
68674// AsMongoDbV2CollectionDataset is the BasicDataset implementation for EloquaObjectDataset.
68675func (eod EloquaObjectDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) {
68676	return nil, false
68677}
68678
68679// AsMongoDbCollectionDataset is the BasicDataset implementation for EloquaObjectDataset.
68680func (eod EloquaObjectDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
68681	return nil, false
68682}
68683
68684// AsFileShareDataset is the BasicDataset implementation for EloquaObjectDataset.
68685func (eod EloquaObjectDataset) AsFileShareDataset() (*FileShareDataset, bool) {
68686	return nil, false
68687}
68688
68689// AsOffice365Dataset is the BasicDataset implementation for EloquaObjectDataset.
68690func (eod EloquaObjectDataset) AsOffice365Dataset() (*Office365Dataset, bool) {
68691	return nil, false
68692}
68693
68694// AsAzureBlobFSDataset is the BasicDataset implementation for EloquaObjectDataset.
68695func (eod EloquaObjectDataset) AsAzureBlobFSDataset() (*AzureBlobFSDataset, bool) {
68696	return nil, false
68697}
68698
68699// AsAzureDataLakeStoreDataset is the BasicDataset implementation for EloquaObjectDataset.
68700func (eod EloquaObjectDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) {
68701	return nil, false
68702}
68703
68704// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for EloquaObjectDataset.
68705func (eod EloquaObjectDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) {
68706	return nil, false
68707}
68708
68709// AsDynamicsCrmEntityDataset is the BasicDataset implementation for EloquaObjectDataset.
68710func (eod EloquaObjectDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) {
68711	return nil, false
68712}
68713
68714// AsDynamicsEntityDataset is the BasicDataset implementation for EloquaObjectDataset.
68715func (eod EloquaObjectDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
68716	return nil, false
68717}
68718
68719// AsDocumentDbCollectionDataset is the BasicDataset implementation for EloquaObjectDataset.
68720func (eod EloquaObjectDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
68721	return nil, false
68722}
68723
68724// AsCustomDataset is the BasicDataset implementation for EloquaObjectDataset.
68725func (eod EloquaObjectDataset) AsCustomDataset() (*CustomDataset, bool) {
68726	return nil, false
68727}
68728
68729// AsCassandraTableDataset is the BasicDataset implementation for EloquaObjectDataset.
68730func (eod EloquaObjectDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
68731	return nil, false
68732}
68733
68734// AsAzureSQLDWTableDataset is the BasicDataset implementation for EloquaObjectDataset.
68735func (eod EloquaObjectDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
68736	return nil, false
68737}
68738
68739// AsAzureSQLMITableDataset is the BasicDataset implementation for EloquaObjectDataset.
68740func (eod EloquaObjectDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) {
68741	return nil, false
68742}
68743
68744// AsAzureSQLTableDataset is the BasicDataset implementation for EloquaObjectDataset.
68745func (eod EloquaObjectDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
68746	return nil, false
68747}
68748
68749// AsAzureTableDataset is the BasicDataset implementation for EloquaObjectDataset.
68750func (eod EloquaObjectDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
68751	return nil, false
68752}
68753
68754// AsAzureBlobDataset is the BasicDataset implementation for EloquaObjectDataset.
68755func (eod EloquaObjectDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) {
68756	return nil, false
68757}
68758
68759// AsBinaryDataset is the BasicDataset implementation for EloquaObjectDataset.
68760func (eod EloquaObjectDataset) AsBinaryDataset() (*BinaryDataset, bool) {
68761	return nil, false
68762}
68763
68764// AsDelimitedTextDataset is the BasicDataset implementation for EloquaObjectDataset.
68765func (eod EloquaObjectDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) {
68766	return nil, false
68767}
68768
68769// AsParquetDataset is the BasicDataset implementation for EloquaObjectDataset.
68770func (eod EloquaObjectDataset) AsParquetDataset() (*ParquetDataset, bool) {
68771	return nil, false
68772}
68773
68774// AsAmazonS3Dataset is the BasicDataset implementation for EloquaObjectDataset.
68775func (eod EloquaObjectDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) {
68776	return nil, false
68777}
68778
68779// AsDataset is the BasicDataset implementation for EloquaObjectDataset.
68780func (eod EloquaObjectDataset) AsDataset() (*Dataset, bool) {
68781	return nil, false
68782}
68783
68784// AsBasicDataset is the BasicDataset implementation for EloquaObjectDataset.
68785func (eod EloquaObjectDataset) AsBasicDataset() (BasicDataset, bool) {
68786	return &eod, true
68787}
68788
68789// UnmarshalJSON is the custom unmarshaler for EloquaObjectDataset struct.
68790func (eod *EloquaObjectDataset) UnmarshalJSON(body []byte) error {
68791	var m map[string]*json.RawMessage
68792	err := json.Unmarshal(body, &m)
68793	if err != nil {
68794		return err
68795	}
68796	for k, v := range m {
68797		switch k {
68798		case "typeProperties":
68799			if v != nil {
68800				var genericDatasetTypeProperties GenericDatasetTypeProperties
68801				err = json.Unmarshal(*v, &genericDatasetTypeProperties)
68802				if err != nil {
68803					return err
68804				}
68805				eod.GenericDatasetTypeProperties = &genericDatasetTypeProperties
68806			}
68807		default:
68808			if v != nil {
68809				var additionalProperties interface{}
68810				err = json.Unmarshal(*v, &additionalProperties)
68811				if err != nil {
68812					return err
68813				}
68814				if eod.AdditionalProperties == nil {
68815					eod.AdditionalProperties = make(map[string]interface{})
68816				}
68817				eod.AdditionalProperties[k] = additionalProperties
68818			}
68819		case "description":
68820			if v != nil {
68821				var description string
68822				err = json.Unmarshal(*v, &description)
68823				if err != nil {
68824					return err
68825				}
68826				eod.Description = &description
68827			}
68828		case "structure":
68829			if v != nil {
68830				var structure interface{}
68831				err = json.Unmarshal(*v, &structure)
68832				if err != nil {
68833					return err
68834				}
68835				eod.Structure = structure
68836			}
68837		case "schema":
68838			if v != nil {
68839				var schema interface{}
68840				err = json.Unmarshal(*v, &schema)
68841				if err != nil {
68842					return err
68843				}
68844				eod.Schema = schema
68845			}
68846		case "linkedServiceName":
68847			if v != nil {
68848				var linkedServiceName LinkedServiceReference
68849				err = json.Unmarshal(*v, &linkedServiceName)
68850				if err != nil {
68851					return err
68852				}
68853				eod.LinkedServiceName = &linkedServiceName
68854			}
68855		case "parameters":
68856			if v != nil {
68857				var parameters map[string]*ParameterSpecification
68858				err = json.Unmarshal(*v, &parameters)
68859				if err != nil {
68860					return err
68861				}
68862				eod.Parameters = parameters
68863			}
68864		case "annotations":
68865			if v != nil {
68866				var annotations []interface{}
68867				err = json.Unmarshal(*v, &annotations)
68868				if err != nil {
68869					return err
68870				}
68871				eod.Annotations = &annotations
68872			}
68873		case "folder":
68874			if v != nil {
68875				var folder DatasetFolder
68876				err = json.Unmarshal(*v, &folder)
68877				if err != nil {
68878					return err
68879				}
68880				eod.Folder = &folder
68881			}
68882		case "type":
68883			if v != nil {
68884				var typeVar TypeBasicDataset
68885				err = json.Unmarshal(*v, &typeVar)
68886				if err != nil {
68887					return err
68888				}
68889				eod.Type = typeVar
68890			}
68891		}
68892	}
68893
68894	return nil
68895}
68896
68897// EloquaSource a copy activity Eloqua server source.
68898type EloquaSource struct {
68899	// Query - A query to retrieve data from source. Type: string (or Expression with resultType string).
68900	Query interface{} `json:"query,omitempty"`
68901	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
68902	AdditionalProperties map[string]interface{} `json:""`
68903	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
68904	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
68905	// 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])).
68906	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
68907	// MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer).
68908	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
68909	// Type - Possible values include: 'TypeCopySource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', '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', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeCassandraSource', 'TypeWebSource', 'TypeTeradataSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeAzureMySQLSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeRestSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceServiceCloudSource', 'TypeSalesforceSource', 'TypeODataSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeMicrosoftAccessSource', 'TypeInformixSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAzureTableSource', 'TypeBinarySource', 'TypeDelimitedTextSource', 'TypeParquetSource'
68910	Type TypeBasicCopySource `json:"type,omitempty"`
68911}
68912
68913// MarshalJSON is the custom marshaler for EloquaSource.
68914func (es EloquaSource) MarshalJSON() ([]byte, error) {
68915	es.Type = TypeEloquaSource
68916	objectMap := make(map[string]interface{})
68917	if es.Query != nil {
68918		objectMap["query"] = es.Query
68919	}
68920	if es.SourceRetryCount != nil {
68921		objectMap["sourceRetryCount"] = es.SourceRetryCount
68922	}
68923	if es.SourceRetryWait != nil {
68924		objectMap["sourceRetryWait"] = es.SourceRetryWait
68925	}
68926	if es.MaxConcurrentConnections != nil {
68927		objectMap["maxConcurrentConnections"] = es.MaxConcurrentConnections
68928	}
68929	if es.Type != "" {
68930		objectMap["type"] = es.Type
68931	}
68932	for k, v := range es.AdditionalProperties {
68933		objectMap[k] = v
68934	}
68935	return json.Marshal(objectMap)
68936}
68937
68938// AsAmazonRedshiftSource is the BasicCopySource implementation for EloquaSource.
68939func (es EloquaSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
68940	return nil, false
68941}
68942
68943// AsGoogleAdWordsSource is the BasicCopySource implementation for EloquaSource.
68944func (es EloquaSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) {
68945	return nil, false
68946}
68947
68948// AsOracleServiceCloudSource is the BasicCopySource implementation for EloquaSource.
68949func (es EloquaSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) {
68950	return nil, false
68951}
68952
68953// AsDynamicsAXSource is the BasicCopySource implementation for EloquaSource.
68954func (es EloquaSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) {
68955	return nil, false
68956}
68957
68958// AsResponsysSource is the BasicCopySource implementation for EloquaSource.
68959func (es EloquaSource) AsResponsysSource() (*ResponsysSource, bool) {
68960	return nil, false
68961}
68962
68963// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for EloquaSource.
68964func (es EloquaSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
68965	return nil, false
68966}
68967
68968// AsVerticaSource is the BasicCopySource implementation for EloquaSource.
68969func (es EloquaSource) AsVerticaSource() (*VerticaSource, bool) {
68970	return nil, false
68971}
68972
68973// AsNetezzaSource is the BasicCopySource implementation for EloquaSource.
68974func (es EloquaSource) AsNetezzaSource() (*NetezzaSource, bool) {
68975	return nil, false
68976}
68977
68978// AsZohoSource is the BasicCopySource implementation for EloquaSource.
68979func (es EloquaSource) AsZohoSource() (*ZohoSource, bool) {
68980	return nil, false
68981}
68982
68983// AsXeroSource is the BasicCopySource implementation for EloquaSource.
68984func (es EloquaSource) AsXeroSource() (*XeroSource, bool) {
68985	return nil, false
68986}
68987
68988// AsSquareSource is the BasicCopySource implementation for EloquaSource.
68989func (es EloquaSource) AsSquareSource() (*SquareSource, bool) {
68990	return nil, false
68991}
68992
68993// AsSparkSource is the BasicCopySource implementation for EloquaSource.
68994func (es EloquaSource) AsSparkSource() (*SparkSource, bool) {
68995	return nil, false
68996}
68997
68998// AsShopifySource is the BasicCopySource implementation for EloquaSource.
68999func (es EloquaSource) AsShopifySource() (*ShopifySource, bool) {
69000	return nil, false
69001}
69002
69003// AsServiceNowSource is the BasicCopySource implementation for EloquaSource.
69004func (es EloquaSource) AsServiceNowSource() (*ServiceNowSource, bool) {
69005	return nil, false
69006}
69007
69008// AsQuickBooksSource is the BasicCopySource implementation for EloquaSource.
69009func (es EloquaSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
69010	return nil, false
69011}
69012
69013// AsPrestoSource is the BasicCopySource implementation for EloquaSource.
69014func (es EloquaSource) AsPrestoSource() (*PrestoSource, bool) {
69015	return nil, false
69016}
69017
69018// AsPhoenixSource is the BasicCopySource implementation for EloquaSource.
69019func (es EloquaSource) AsPhoenixSource() (*PhoenixSource, bool) {
69020	return nil, false
69021}
69022
69023// AsPaypalSource is the BasicCopySource implementation for EloquaSource.
69024func (es EloquaSource) AsPaypalSource() (*PaypalSource, bool) {
69025	return nil, false
69026}
69027
69028// AsMarketoSource is the BasicCopySource implementation for EloquaSource.
69029func (es EloquaSource) AsMarketoSource() (*MarketoSource, bool) {
69030	return nil, false
69031}
69032
69033// AsMariaDBSource is the BasicCopySource implementation for EloquaSource.
69034func (es EloquaSource) AsMariaDBSource() (*MariaDBSource, bool) {
69035	return nil, false
69036}
69037
69038// AsMagentoSource is the BasicCopySource implementation for EloquaSource.
69039func (es EloquaSource) AsMagentoSource() (*MagentoSource, bool) {
69040	return nil, false
69041}
69042
69043// AsJiraSource is the BasicCopySource implementation for EloquaSource.
69044func (es EloquaSource) AsJiraSource() (*JiraSource, bool) {
69045	return nil, false
69046}
69047
69048// AsImpalaSource is the BasicCopySource implementation for EloquaSource.
69049func (es EloquaSource) AsImpalaSource() (*ImpalaSource, bool) {
69050	return nil, false
69051}
69052
69053// AsHubspotSource is the BasicCopySource implementation for EloquaSource.
69054func (es EloquaSource) AsHubspotSource() (*HubspotSource, bool) {
69055	return nil, false
69056}
69057
69058// AsHiveSource is the BasicCopySource implementation for EloquaSource.
69059func (es EloquaSource) AsHiveSource() (*HiveSource, bool) {
69060	return nil, false
69061}
69062
69063// AsHBaseSource is the BasicCopySource implementation for EloquaSource.
69064func (es EloquaSource) AsHBaseSource() (*HBaseSource, bool) {
69065	return nil, false
69066}
69067
69068// AsGreenplumSource is the BasicCopySource implementation for EloquaSource.
69069func (es EloquaSource) AsGreenplumSource() (*GreenplumSource, bool) {
69070	return nil, false
69071}
69072
69073// AsGoogleBigQuerySource is the BasicCopySource implementation for EloquaSource.
69074func (es EloquaSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
69075	return nil, false
69076}
69077
69078// AsEloquaSource is the BasicCopySource implementation for EloquaSource.
69079func (es EloquaSource) AsEloquaSource() (*EloquaSource, bool) {
69080	return &es, true
69081}
69082
69083// AsDrillSource is the BasicCopySource implementation for EloquaSource.
69084func (es EloquaSource) AsDrillSource() (*DrillSource, bool) {
69085	return nil, false
69086}
69087
69088// AsCouchbaseSource is the BasicCopySource implementation for EloquaSource.
69089func (es EloquaSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
69090	return nil, false
69091}
69092
69093// AsConcurSource is the BasicCopySource implementation for EloquaSource.
69094func (es EloquaSource) AsConcurSource() (*ConcurSource, bool) {
69095	return nil, false
69096}
69097
69098// AsAzurePostgreSQLSource is the BasicCopySource implementation for EloquaSource.
69099func (es EloquaSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
69100	return nil, false
69101}
69102
69103// AsAmazonMWSSource is the BasicCopySource implementation for EloquaSource.
69104func (es EloquaSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
69105	return nil, false
69106}
69107
69108// AsHTTPSource is the BasicCopySource implementation for EloquaSource.
69109func (es EloquaSource) AsHTTPSource() (*HTTPSource, bool) {
69110	return nil, false
69111}
69112
69113// AsAzureBlobFSSource is the BasicCopySource implementation for EloquaSource.
69114func (es EloquaSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) {
69115	return nil, false
69116}
69117
69118// AsAzureDataLakeStoreSource is the BasicCopySource implementation for EloquaSource.
69119func (es EloquaSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
69120	return nil, false
69121}
69122
69123// AsOffice365Source is the BasicCopySource implementation for EloquaSource.
69124func (es EloquaSource) AsOffice365Source() (*Office365Source, bool) {
69125	return nil, false
69126}
69127
69128// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for EloquaSource.
69129func (es EloquaSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) {
69130	return nil, false
69131}
69132
69133// AsMongoDbV2Source is the BasicCopySource implementation for EloquaSource.
69134func (es EloquaSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) {
69135	return nil, false
69136}
69137
69138// AsMongoDbSource is the BasicCopySource implementation for EloquaSource.
69139func (es EloquaSource) AsMongoDbSource() (*MongoDbSource, bool) {
69140	return nil, false
69141}
69142
69143// AsCassandraSource is the BasicCopySource implementation for EloquaSource.
69144func (es EloquaSource) AsCassandraSource() (*CassandraSource, bool) {
69145	return nil, false
69146}
69147
69148// AsWebSource is the BasicCopySource implementation for EloquaSource.
69149func (es EloquaSource) AsWebSource() (*WebSource, bool) {
69150	return nil, false
69151}
69152
69153// AsTeradataSource is the BasicCopySource implementation for EloquaSource.
69154func (es EloquaSource) AsTeradataSource() (*TeradataSource, bool) {
69155	return nil, false
69156}
69157
69158// AsOracleSource is the BasicCopySource implementation for EloquaSource.
69159func (es EloquaSource) AsOracleSource() (*OracleSource, bool) {
69160	return nil, false
69161}
69162
69163// AsAzureDataExplorerSource is the BasicCopySource implementation for EloquaSource.
69164func (es EloquaSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) {
69165	return nil, false
69166}
69167
69168// AsAzureMySQLSource is the BasicCopySource implementation for EloquaSource.
69169func (es EloquaSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
69170	return nil, false
69171}
69172
69173// AsHdfsSource is the BasicCopySource implementation for EloquaSource.
69174func (es EloquaSource) AsHdfsSource() (*HdfsSource, bool) {
69175	return nil, false
69176}
69177
69178// AsFileSystemSource is the BasicCopySource implementation for EloquaSource.
69179func (es EloquaSource) AsFileSystemSource() (*FileSystemSource, bool) {
69180	return nil, false
69181}
69182
69183// AsSQLDWSource is the BasicCopySource implementation for EloquaSource.
69184func (es EloquaSource) AsSQLDWSource() (*SQLDWSource, bool) {
69185	return nil, false
69186}
69187
69188// AsSQLMISource is the BasicCopySource implementation for EloquaSource.
69189func (es EloquaSource) AsSQLMISource() (*SQLMISource, bool) {
69190	return nil, false
69191}
69192
69193// AsAzureSQLSource is the BasicCopySource implementation for EloquaSource.
69194func (es EloquaSource) AsAzureSQLSource() (*AzureSQLSource, bool) {
69195	return nil, false
69196}
69197
69198// AsSQLServerSource is the BasicCopySource implementation for EloquaSource.
69199func (es EloquaSource) AsSQLServerSource() (*SQLServerSource, bool) {
69200	return nil, false
69201}
69202
69203// AsSQLSource is the BasicCopySource implementation for EloquaSource.
69204func (es EloquaSource) AsSQLSource() (*SQLSource, bool) {
69205	return nil, false
69206}
69207
69208// AsRestSource is the BasicCopySource implementation for EloquaSource.
69209func (es EloquaSource) AsRestSource() (*RestSource, bool) {
69210	return nil, false
69211}
69212
69213// AsSapTableSource is the BasicCopySource implementation for EloquaSource.
69214func (es EloquaSource) AsSapTableSource() (*SapTableSource, bool) {
69215	return nil, false
69216}
69217
69218// AsSapOpenHubSource is the BasicCopySource implementation for EloquaSource.
69219func (es EloquaSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) {
69220	return nil, false
69221}
69222
69223// AsSapHanaSource is the BasicCopySource implementation for EloquaSource.
69224func (es EloquaSource) AsSapHanaSource() (*SapHanaSource, bool) {
69225	return nil, false
69226}
69227
69228// AsSapEccSource is the BasicCopySource implementation for EloquaSource.
69229func (es EloquaSource) AsSapEccSource() (*SapEccSource, bool) {
69230	return nil, false
69231}
69232
69233// AsSapCloudForCustomerSource is the BasicCopySource implementation for EloquaSource.
69234func (es EloquaSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
69235	return nil, false
69236}
69237
69238// AsSalesforceServiceCloudSource is the BasicCopySource implementation for EloquaSource.
69239func (es EloquaSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) {
69240	return nil, false
69241}
69242
69243// AsSalesforceSource is the BasicCopySource implementation for EloquaSource.
69244func (es EloquaSource) AsSalesforceSource() (*SalesforceSource, bool) {
69245	return nil, false
69246}
69247
69248// AsODataSource is the BasicCopySource implementation for EloquaSource.
69249func (es EloquaSource) AsODataSource() (*ODataSource, bool) {
69250	return nil, false
69251}
69252
69253// AsSybaseSource is the BasicCopySource implementation for EloquaSource.
69254func (es EloquaSource) AsSybaseSource() (*SybaseSource, bool) {
69255	return nil, false
69256}
69257
69258// AsPostgreSQLSource is the BasicCopySource implementation for EloquaSource.
69259func (es EloquaSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) {
69260	return nil, false
69261}
69262
69263// AsMySQLSource is the BasicCopySource implementation for EloquaSource.
69264func (es EloquaSource) AsMySQLSource() (*MySQLSource, bool) {
69265	return nil, false
69266}
69267
69268// AsOdbcSource is the BasicCopySource implementation for EloquaSource.
69269func (es EloquaSource) AsOdbcSource() (*OdbcSource, bool) {
69270	return nil, false
69271}
69272
69273// AsDb2Source is the BasicCopySource implementation for EloquaSource.
69274func (es EloquaSource) AsDb2Source() (*Db2Source, bool) {
69275	return nil, false
69276}
69277
69278// AsMicrosoftAccessSource is the BasicCopySource implementation for EloquaSource.
69279func (es EloquaSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) {
69280	return nil, false
69281}
69282
69283// AsInformixSource is the BasicCopySource implementation for EloquaSource.
69284func (es EloquaSource) AsInformixSource() (*InformixSource, bool) {
69285	return nil, false
69286}
69287
69288// AsRelationalSource is the BasicCopySource implementation for EloquaSource.
69289func (es EloquaSource) AsRelationalSource() (*RelationalSource, bool) {
69290	return nil, false
69291}
69292
69293// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for EloquaSource.
69294func (es EloquaSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) {
69295	return nil, false
69296}
69297
69298// AsDynamicsCrmSource is the BasicCopySource implementation for EloquaSource.
69299func (es EloquaSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) {
69300	return nil, false
69301}
69302
69303// AsDynamicsSource is the BasicCopySource implementation for EloquaSource.
69304func (es EloquaSource) AsDynamicsSource() (*DynamicsSource, bool) {
69305	return nil, false
69306}
69307
69308// AsDocumentDbCollectionSource is the BasicCopySource implementation for EloquaSource.
69309func (es EloquaSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
69310	return nil, false
69311}
69312
69313// AsBlobSource is the BasicCopySource implementation for EloquaSource.
69314func (es EloquaSource) AsBlobSource() (*BlobSource, bool) {
69315	return nil, false
69316}
69317
69318// AsAzureTableSource is the BasicCopySource implementation for EloquaSource.
69319func (es EloquaSource) AsAzureTableSource() (*AzureTableSource, bool) {
69320	return nil, false
69321}
69322
69323// AsBinarySource is the BasicCopySource implementation for EloquaSource.
69324func (es EloquaSource) AsBinarySource() (*BinarySource, bool) {
69325	return nil, false
69326}
69327
69328// AsDelimitedTextSource is the BasicCopySource implementation for EloquaSource.
69329func (es EloquaSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) {
69330	return nil, false
69331}
69332
69333// AsParquetSource is the BasicCopySource implementation for EloquaSource.
69334func (es EloquaSource) AsParquetSource() (*ParquetSource, bool) {
69335	return nil, false
69336}
69337
69338// AsCopySource is the BasicCopySource implementation for EloquaSource.
69339func (es EloquaSource) AsCopySource() (*CopySource, bool) {
69340	return nil, false
69341}
69342
69343// AsBasicCopySource is the BasicCopySource implementation for EloquaSource.
69344func (es EloquaSource) AsBasicCopySource() (BasicCopySource, bool) {
69345	return &es, true
69346}
69347
69348// UnmarshalJSON is the custom unmarshaler for EloquaSource struct.
69349func (es *EloquaSource) UnmarshalJSON(body []byte) error {
69350	var m map[string]*json.RawMessage
69351	err := json.Unmarshal(body, &m)
69352	if err != nil {
69353		return err
69354	}
69355	for k, v := range m {
69356		switch k {
69357		case "query":
69358			if v != nil {
69359				var query interface{}
69360				err = json.Unmarshal(*v, &query)
69361				if err != nil {
69362					return err
69363				}
69364				es.Query = query
69365			}
69366		default:
69367			if v != nil {
69368				var additionalProperties interface{}
69369				err = json.Unmarshal(*v, &additionalProperties)
69370				if err != nil {
69371					return err
69372				}
69373				if es.AdditionalProperties == nil {
69374					es.AdditionalProperties = make(map[string]interface{})
69375				}
69376				es.AdditionalProperties[k] = additionalProperties
69377			}
69378		case "sourceRetryCount":
69379			if v != nil {
69380				var sourceRetryCount interface{}
69381				err = json.Unmarshal(*v, &sourceRetryCount)
69382				if err != nil {
69383					return err
69384				}
69385				es.SourceRetryCount = sourceRetryCount
69386			}
69387		case "sourceRetryWait":
69388			if v != nil {
69389				var sourceRetryWait interface{}
69390				err = json.Unmarshal(*v, &sourceRetryWait)
69391				if err != nil {
69392					return err
69393				}
69394				es.SourceRetryWait = sourceRetryWait
69395			}
69396		case "maxConcurrentConnections":
69397			if v != nil {
69398				var maxConcurrentConnections interface{}
69399				err = json.Unmarshal(*v, &maxConcurrentConnections)
69400				if err != nil {
69401					return err
69402				}
69403				es.MaxConcurrentConnections = maxConcurrentConnections
69404			}
69405		case "type":
69406			if v != nil {
69407				var typeVar TypeBasicCopySource
69408				err = json.Unmarshal(*v, &typeVar)
69409				if err != nil {
69410					return err
69411				}
69412				es.Type = typeVar
69413			}
69414		}
69415	}
69416
69417	return nil
69418}
69419
69420// EntityReference the entity reference.
69421type EntityReference struct {
69422	// Type - The type of this referenced entity. Possible values include: 'IntegrationRuntimeEntityReferenceTypeIntegrationRuntimeReference', 'IntegrationRuntimeEntityReferenceTypeLinkedServiceReference'
69423	Type IntegrationRuntimeEntityReferenceType `json:"type,omitempty"`
69424	// ReferenceName - The name of this referenced entity.
69425	ReferenceName *string `json:"referenceName,omitempty"`
69426}
69427
69428// ExecutePipelineActivity execute pipeline activity.
69429type ExecutePipelineActivity struct {
69430	// ExecutePipelineActivityTypeProperties - Execute pipeline activity properties.
69431	*ExecutePipelineActivityTypeProperties `json:"typeProperties,omitempty"`
69432	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
69433	AdditionalProperties map[string]interface{} `json:""`
69434	// Name - Activity name.
69435	Name *string `json:"name,omitempty"`
69436	// Description - Activity description.
69437	Description *string `json:"description,omitempty"`
69438	// DependsOn - Activity depends on condition.
69439	DependsOn *[]ActivityDependency `json:"dependsOn,omitempty"`
69440	// UserProperties - Activity user properties.
69441	UserProperties *[]UserProperty `json:"userProperties,omitempty"`
69442	// Type - Possible values include: 'TypeActivity', 'TypeAzureFunctionActivity', 'TypeDatabricksSparkPython', 'TypeDatabricksSparkJar', 'TypeDatabricksNotebook', 'TypeDataLakeAnalyticsUSQL', 'TypeAzureMLUpdateResource', 'TypeAzureMLBatchExecution', 'TypeGetMetadata', 'TypeWebActivity', 'TypeLookup', 'TypeAzureDataExplorerCommand', 'TypeDelete', 'TypeSQLServerStoredProcedure', 'TypeCustom', 'TypeExecuteSSISPackage', 'TypeHDInsightSpark', 'TypeHDInsightStreaming', 'TypeHDInsightMapReduce', 'TypeHDInsightPig', 'TypeHDInsightHive', 'TypeCopy', 'TypeExecution', 'TypeWebHook', 'TypeAppendVariable', 'TypeSetVariable', 'TypeFilter', 'TypeValidation', 'TypeUntil', 'TypeWait', 'TypeForEach', 'TypeIfCondition', 'TypeExecutePipeline', 'TypeContainer'
69443	Type TypeBasicActivity `json:"type,omitempty"`
69444}
69445
69446// MarshalJSON is the custom marshaler for ExecutePipelineActivity.
69447func (epa ExecutePipelineActivity) MarshalJSON() ([]byte, error) {
69448	epa.Type = TypeExecutePipeline
69449	objectMap := make(map[string]interface{})
69450	if epa.ExecutePipelineActivityTypeProperties != nil {
69451		objectMap["typeProperties"] = epa.ExecutePipelineActivityTypeProperties
69452	}
69453	if epa.Name != nil {
69454		objectMap["name"] = epa.Name
69455	}
69456	if epa.Description != nil {
69457		objectMap["description"] = epa.Description
69458	}
69459	if epa.DependsOn != nil {
69460		objectMap["dependsOn"] = epa.DependsOn
69461	}
69462	if epa.UserProperties != nil {
69463		objectMap["userProperties"] = epa.UserProperties
69464	}
69465	if epa.Type != "" {
69466		objectMap["type"] = epa.Type
69467	}
69468	for k, v := range epa.AdditionalProperties {
69469		objectMap[k] = v
69470	}
69471	return json.Marshal(objectMap)
69472}
69473
69474// AsAzureFunctionActivity is the BasicActivity implementation for ExecutePipelineActivity.
69475func (epa ExecutePipelineActivity) AsAzureFunctionActivity() (*AzureFunctionActivity, bool) {
69476	return nil, false
69477}
69478
69479// AsDatabricksSparkPythonActivity is the BasicActivity implementation for ExecutePipelineActivity.
69480func (epa ExecutePipelineActivity) AsDatabricksSparkPythonActivity() (*DatabricksSparkPythonActivity, bool) {
69481	return nil, false
69482}
69483
69484// AsDatabricksSparkJarActivity is the BasicActivity implementation for ExecutePipelineActivity.
69485func (epa ExecutePipelineActivity) AsDatabricksSparkJarActivity() (*DatabricksSparkJarActivity, bool) {
69486	return nil, false
69487}
69488
69489// AsDatabricksNotebookActivity is the BasicActivity implementation for ExecutePipelineActivity.
69490func (epa ExecutePipelineActivity) AsDatabricksNotebookActivity() (*DatabricksNotebookActivity, bool) {
69491	return nil, false
69492}
69493
69494// AsDataLakeAnalyticsUSQLActivity is the BasicActivity implementation for ExecutePipelineActivity.
69495func (epa ExecutePipelineActivity) AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalyticsUSQLActivity, bool) {
69496	return nil, false
69497}
69498
69499// AsAzureMLUpdateResourceActivity is the BasicActivity implementation for ExecutePipelineActivity.
69500func (epa ExecutePipelineActivity) AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool) {
69501	return nil, false
69502}
69503
69504// AsAzureMLBatchExecutionActivity is the BasicActivity implementation for ExecutePipelineActivity.
69505func (epa ExecutePipelineActivity) AsAzureMLBatchExecutionActivity() (*AzureMLBatchExecutionActivity, bool) {
69506	return nil, false
69507}
69508
69509// AsGetMetadataActivity is the BasicActivity implementation for ExecutePipelineActivity.
69510func (epa ExecutePipelineActivity) AsGetMetadataActivity() (*GetMetadataActivity, bool) {
69511	return nil, false
69512}
69513
69514// AsWebActivity is the BasicActivity implementation for ExecutePipelineActivity.
69515func (epa ExecutePipelineActivity) AsWebActivity() (*WebActivity, bool) {
69516	return nil, false
69517}
69518
69519// AsLookupActivity is the BasicActivity implementation for ExecutePipelineActivity.
69520func (epa ExecutePipelineActivity) AsLookupActivity() (*LookupActivity, bool) {
69521	return nil, false
69522}
69523
69524// AsAzureDataExplorerCommandActivity is the BasicActivity implementation for ExecutePipelineActivity.
69525func (epa ExecutePipelineActivity) AsAzureDataExplorerCommandActivity() (*AzureDataExplorerCommandActivity, bool) {
69526	return nil, false
69527}
69528
69529// AsDeleteActivity is the BasicActivity implementation for ExecutePipelineActivity.
69530func (epa ExecutePipelineActivity) AsDeleteActivity() (*DeleteActivity, bool) {
69531	return nil, false
69532}
69533
69534// AsSQLServerStoredProcedureActivity is the BasicActivity implementation for ExecutePipelineActivity.
69535func (epa ExecutePipelineActivity) AsSQLServerStoredProcedureActivity() (*SQLServerStoredProcedureActivity, bool) {
69536	return nil, false
69537}
69538
69539// AsCustomActivity is the BasicActivity implementation for ExecutePipelineActivity.
69540func (epa ExecutePipelineActivity) AsCustomActivity() (*CustomActivity, bool) {
69541	return nil, false
69542}
69543
69544// AsExecuteSSISPackageActivity is the BasicActivity implementation for ExecutePipelineActivity.
69545func (epa ExecutePipelineActivity) AsExecuteSSISPackageActivity() (*ExecuteSSISPackageActivity, bool) {
69546	return nil, false
69547}
69548
69549// AsHDInsightSparkActivity is the BasicActivity implementation for ExecutePipelineActivity.
69550func (epa ExecutePipelineActivity) AsHDInsightSparkActivity() (*HDInsightSparkActivity, bool) {
69551	return nil, false
69552}
69553
69554// AsHDInsightStreamingActivity is the BasicActivity implementation for ExecutePipelineActivity.
69555func (epa ExecutePipelineActivity) AsHDInsightStreamingActivity() (*HDInsightStreamingActivity, bool) {
69556	return nil, false
69557}
69558
69559// AsHDInsightMapReduceActivity is the BasicActivity implementation for ExecutePipelineActivity.
69560func (epa ExecutePipelineActivity) AsHDInsightMapReduceActivity() (*HDInsightMapReduceActivity, bool) {
69561	return nil, false
69562}
69563
69564// AsHDInsightPigActivity is the BasicActivity implementation for ExecutePipelineActivity.
69565func (epa ExecutePipelineActivity) AsHDInsightPigActivity() (*HDInsightPigActivity, bool) {
69566	return nil, false
69567}
69568
69569// AsHDInsightHiveActivity is the BasicActivity implementation for ExecutePipelineActivity.
69570func (epa ExecutePipelineActivity) AsHDInsightHiveActivity() (*HDInsightHiveActivity, bool) {
69571	return nil, false
69572}
69573
69574// AsCopyActivity is the BasicActivity implementation for ExecutePipelineActivity.
69575func (epa ExecutePipelineActivity) AsCopyActivity() (*CopyActivity, bool) {
69576	return nil, false
69577}
69578
69579// AsExecutionActivity is the BasicActivity implementation for ExecutePipelineActivity.
69580func (epa ExecutePipelineActivity) AsExecutionActivity() (*ExecutionActivity, bool) {
69581	return nil, false
69582}
69583
69584// AsBasicExecutionActivity is the BasicActivity implementation for ExecutePipelineActivity.
69585func (epa ExecutePipelineActivity) AsBasicExecutionActivity() (BasicExecutionActivity, bool) {
69586	return nil, false
69587}
69588
69589// AsWebHookActivity is the BasicActivity implementation for ExecutePipelineActivity.
69590func (epa ExecutePipelineActivity) AsWebHookActivity() (*WebHookActivity, bool) {
69591	return nil, false
69592}
69593
69594// AsAppendVariableActivity is the BasicActivity implementation for ExecutePipelineActivity.
69595func (epa ExecutePipelineActivity) AsAppendVariableActivity() (*AppendVariableActivity, bool) {
69596	return nil, false
69597}
69598
69599// AsSetVariableActivity is the BasicActivity implementation for ExecutePipelineActivity.
69600func (epa ExecutePipelineActivity) AsSetVariableActivity() (*SetVariableActivity, bool) {
69601	return nil, false
69602}
69603
69604// AsFilterActivity is the BasicActivity implementation for ExecutePipelineActivity.
69605func (epa ExecutePipelineActivity) AsFilterActivity() (*FilterActivity, bool) {
69606	return nil, false
69607}
69608
69609// AsValidationActivity is the BasicActivity implementation for ExecutePipelineActivity.
69610func (epa ExecutePipelineActivity) AsValidationActivity() (*ValidationActivity, bool) {
69611	return nil, false
69612}
69613
69614// AsUntilActivity is the BasicActivity implementation for ExecutePipelineActivity.
69615func (epa ExecutePipelineActivity) AsUntilActivity() (*UntilActivity, bool) {
69616	return nil, false
69617}
69618
69619// AsWaitActivity is the BasicActivity implementation for ExecutePipelineActivity.
69620func (epa ExecutePipelineActivity) AsWaitActivity() (*WaitActivity, bool) {
69621	return nil, false
69622}
69623
69624// AsForEachActivity is the BasicActivity implementation for ExecutePipelineActivity.
69625func (epa ExecutePipelineActivity) AsForEachActivity() (*ForEachActivity, bool) {
69626	return nil, false
69627}
69628
69629// AsIfConditionActivity is the BasicActivity implementation for ExecutePipelineActivity.
69630func (epa ExecutePipelineActivity) AsIfConditionActivity() (*IfConditionActivity, bool) {
69631	return nil, false
69632}
69633
69634// AsExecutePipelineActivity is the BasicActivity implementation for ExecutePipelineActivity.
69635func (epa ExecutePipelineActivity) AsExecutePipelineActivity() (*ExecutePipelineActivity, bool) {
69636	return &epa, true
69637}
69638
69639// AsControlActivity is the BasicActivity implementation for ExecutePipelineActivity.
69640func (epa ExecutePipelineActivity) AsControlActivity() (*ControlActivity, bool) {
69641	return nil, false
69642}
69643
69644// AsBasicControlActivity is the BasicActivity implementation for ExecutePipelineActivity.
69645func (epa ExecutePipelineActivity) AsBasicControlActivity() (BasicControlActivity, bool) {
69646	return &epa, true
69647}
69648
69649// AsActivity is the BasicActivity implementation for ExecutePipelineActivity.
69650func (epa ExecutePipelineActivity) AsActivity() (*Activity, bool) {
69651	return nil, false
69652}
69653
69654// AsBasicActivity is the BasicActivity implementation for ExecutePipelineActivity.
69655func (epa ExecutePipelineActivity) AsBasicActivity() (BasicActivity, bool) {
69656	return &epa, true
69657}
69658
69659// UnmarshalJSON is the custom unmarshaler for ExecutePipelineActivity struct.
69660func (epa *ExecutePipelineActivity) UnmarshalJSON(body []byte) error {
69661	var m map[string]*json.RawMessage
69662	err := json.Unmarshal(body, &m)
69663	if err != nil {
69664		return err
69665	}
69666	for k, v := range m {
69667		switch k {
69668		case "typeProperties":
69669			if v != nil {
69670				var executePipelineActivityTypeProperties ExecutePipelineActivityTypeProperties
69671				err = json.Unmarshal(*v, &executePipelineActivityTypeProperties)
69672				if err != nil {
69673					return err
69674				}
69675				epa.ExecutePipelineActivityTypeProperties = &executePipelineActivityTypeProperties
69676			}
69677		default:
69678			if v != nil {
69679				var additionalProperties interface{}
69680				err = json.Unmarshal(*v, &additionalProperties)
69681				if err != nil {
69682					return err
69683				}
69684				if epa.AdditionalProperties == nil {
69685					epa.AdditionalProperties = make(map[string]interface{})
69686				}
69687				epa.AdditionalProperties[k] = additionalProperties
69688			}
69689		case "name":
69690			if v != nil {
69691				var name string
69692				err = json.Unmarshal(*v, &name)
69693				if err != nil {
69694					return err
69695				}
69696				epa.Name = &name
69697			}
69698		case "description":
69699			if v != nil {
69700				var description string
69701				err = json.Unmarshal(*v, &description)
69702				if err != nil {
69703					return err
69704				}
69705				epa.Description = &description
69706			}
69707		case "dependsOn":
69708			if v != nil {
69709				var dependsOn []ActivityDependency
69710				err = json.Unmarshal(*v, &dependsOn)
69711				if err != nil {
69712					return err
69713				}
69714				epa.DependsOn = &dependsOn
69715			}
69716		case "userProperties":
69717			if v != nil {
69718				var userProperties []UserProperty
69719				err = json.Unmarshal(*v, &userProperties)
69720				if err != nil {
69721					return err
69722				}
69723				epa.UserProperties = &userProperties
69724			}
69725		case "type":
69726			if v != nil {
69727				var typeVar TypeBasicActivity
69728				err = json.Unmarshal(*v, &typeVar)
69729				if err != nil {
69730					return err
69731				}
69732				epa.Type = typeVar
69733			}
69734		}
69735	}
69736
69737	return nil
69738}
69739
69740// ExecutePipelineActivityTypeProperties execute pipeline activity properties.
69741type ExecutePipelineActivityTypeProperties struct {
69742	// Pipeline - Pipeline reference.
69743	Pipeline *PipelineReference `json:"pipeline,omitempty"`
69744	// Parameters - Pipeline parameters.
69745	Parameters map[string]interface{} `json:"parameters"`
69746	// WaitOnCompletion - Defines whether activity execution will wait for the dependent pipeline execution to finish. Default is false.
69747	WaitOnCompletion *bool `json:"waitOnCompletion,omitempty"`
69748}
69749
69750// MarshalJSON is the custom marshaler for ExecutePipelineActivityTypeProperties.
69751func (epatp ExecutePipelineActivityTypeProperties) MarshalJSON() ([]byte, error) {
69752	objectMap := make(map[string]interface{})
69753	if epatp.Pipeline != nil {
69754		objectMap["pipeline"] = epatp.Pipeline
69755	}
69756	if epatp.Parameters != nil {
69757		objectMap["parameters"] = epatp.Parameters
69758	}
69759	if epatp.WaitOnCompletion != nil {
69760		objectMap["waitOnCompletion"] = epatp.WaitOnCompletion
69761	}
69762	return json.Marshal(objectMap)
69763}
69764
69765// ExecuteSSISPackageActivity execute SSIS package activity.
69766type ExecuteSSISPackageActivity struct {
69767	// ExecuteSSISPackageActivityTypeProperties - Execute SSIS package activity properties.
69768	*ExecuteSSISPackageActivityTypeProperties `json:"typeProperties,omitempty"`
69769	// LinkedServiceName - Linked service reference.
69770	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
69771	// Policy - Activity policy.
69772	Policy *ActivityPolicy `json:"policy,omitempty"`
69773	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
69774	AdditionalProperties map[string]interface{} `json:""`
69775	// Name - Activity name.
69776	Name *string `json:"name,omitempty"`
69777	// Description - Activity description.
69778	Description *string `json:"description,omitempty"`
69779	// DependsOn - Activity depends on condition.
69780	DependsOn *[]ActivityDependency `json:"dependsOn,omitempty"`
69781	// UserProperties - Activity user properties.
69782	UserProperties *[]UserProperty `json:"userProperties,omitempty"`
69783	// Type - Possible values include: 'TypeActivity', 'TypeAzureFunctionActivity', 'TypeDatabricksSparkPython', 'TypeDatabricksSparkJar', 'TypeDatabricksNotebook', 'TypeDataLakeAnalyticsUSQL', 'TypeAzureMLUpdateResource', 'TypeAzureMLBatchExecution', 'TypeGetMetadata', 'TypeWebActivity', 'TypeLookup', 'TypeAzureDataExplorerCommand', 'TypeDelete', 'TypeSQLServerStoredProcedure', 'TypeCustom', 'TypeExecuteSSISPackage', 'TypeHDInsightSpark', 'TypeHDInsightStreaming', 'TypeHDInsightMapReduce', 'TypeHDInsightPig', 'TypeHDInsightHive', 'TypeCopy', 'TypeExecution', 'TypeWebHook', 'TypeAppendVariable', 'TypeSetVariable', 'TypeFilter', 'TypeValidation', 'TypeUntil', 'TypeWait', 'TypeForEach', 'TypeIfCondition', 'TypeExecutePipeline', 'TypeContainer'
69784	Type TypeBasicActivity `json:"type,omitempty"`
69785}
69786
69787// MarshalJSON is the custom marshaler for ExecuteSSISPackageActivity.
69788func (espa ExecuteSSISPackageActivity) MarshalJSON() ([]byte, error) {
69789	espa.Type = TypeExecuteSSISPackage
69790	objectMap := make(map[string]interface{})
69791	if espa.ExecuteSSISPackageActivityTypeProperties != nil {
69792		objectMap["typeProperties"] = espa.ExecuteSSISPackageActivityTypeProperties
69793	}
69794	if espa.LinkedServiceName != nil {
69795		objectMap["linkedServiceName"] = espa.LinkedServiceName
69796	}
69797	if espa.Policy != nil {
69798		objectMap["policy"] = espa.Policy
69799	}
69800	if espa.Name != nil {
69801		objectMap["name"] = espa.Name
69802	}
69803	if espa.Description != nil {
69804		objectMap["description"] = espa.Description
69805	}
69806	if espa.DependsOn != nil {
69807		objectMap["dependsOn"] = espa.DependsOn
69808	}
69809	if espa.UserProperties != nil {
69810		objectMap["userProperties"] = espa.UserProperties
69811	}
69812	if espa.Type != "" {
69813		objectMap["type"] = espa.Type
69814	}
69815	for k, v := range espa.AdditionalProperties {
69816		objectMap[k] = v
69817	}
69818	return json.Marshal(objectMap)
69819}
69820
69821// AsAzureFunctionActivity is the BasicActivity implementation for ExecuteSSISPackageActivity.
69822func (espa ExecuteSSISPackageActivity) AsAzureFunctionActivity() (*AzureFunctionActivity, bool) {
69823	return nil, false
69824}
69825
69826// AsDatabricksSparkPythonActivity is the BasicActivity implementation for ExecuteSSISPackageActivity.
69827func (espa ExecuteSSISPackageActivity) AsDatabricksSparkPythonActivity() (*DatabricksSparkPythonActivity, bool) {
69828	return nil, false
69829}
69830
69831// AsDatabricksSparkJarActivity is the BasicActivity implementation for ExecuteSSISPackageActivity.
69832func (espa ExecuteSSISPackageActivity) AsDatabricksSparkJarActivity() (*DatabricksSparkJarActivity, bool) {
69833	return nil, false
69834}
69835
69836// AsDatabricksNotebookActivity is the BasicActivity implementation for ExecuteSSISPackageActivity.
69837func (espa ExecuteSSISPackageActivity) AsDatabricksNotebookActivity() (*DatabricksNotebookActivity, bool) {
69838	return nil, false
69839}
69840
69841// AsDataLakeAnalyticsUSQLActivity is the BasicActivity implementation for ExecuteSSISPackageActivity.
69842func (espa ExecuteSSISPackageActivity) AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalyticsUSQLActivity, bool) {
69843	return nil, false
69844}
69845
69846// AsAzureMLUpdateResourceActivity is the BasicActivity implementation for ExecuteSSISPackageActivity.
69847func (espa ExecuteSSISPackageActivity) AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool) {
69848	return nil, false
69849}
69850
69851// AsAzureMLBatchExecutionActivity is the BasicActivity implementation for ExecuteSSISPackageActivity.
69852func (espa ExecuteSSISPackageActivity) AsAzureMLBatchExecutionActivity() (*AzureMLBatchExecutionActivity, bool) {
69853	return nil, false
69854}
69855
69856// AsGetMetadataActivity is the BasicActivity implementation for ExecuteSSISPackageActivity.
69857func (espa ExecuteSSISPackageActivity) AsGetMetadataActivity() (*GetMetadataActivity, bool) {
69858	return nil, false
69859}
69860
69861// AsWebActivity is the BasicActivity implementation for ExecuteSSISPackageActivity.
69862func (espa ExecuteSSISPackageActivity) AsWebActivity() (*WebActivity, bool) {
69863	return nil, false
69864}
69865
69866// AsLookupActivity is the BasicActivity implementation for ExecuteSSISPackageActivity.
69867func (espa ExecuteSSISPackageActivity) AsLookupActivity() (*LookupActivity, bool) {
69868	return nil, false
69869}
69870
69871// AsAzureDataExplorerCommandActivity is the BasicActivity implementation for ExecuteSSISPackageActivity.
69872func (espa ExecuteSSISPackageActivity) AsAzureDataExplorerCommandActivity() (*AzureDataExplorerCommandActivity, bool) {
69873	return nil, false
69874}
69875
69876// AsDeleteActivity is the BasicActivity implementation for ExecuteSSISPackageActivity.
69877func (espa ExecuteSSISPackageActivity) AsDeleteActivity() (*DeleteActivity, bool) {
69878	return nil, false
69879}
69880
69881// AsSQLServerStoredProcedureActivity is the BasicActivity implementation for ExecuteSSISPackageActivity.
69882func (espa ExecuteSSISPackageActivity) AsSQLServerStoredProcedureActivity() (*SQLServerStoredProcedureActivity, bool) {
69883	return nil, false
69884}
69885
69886// AsCustomActivity is the BasicActivity implementation for ExecuteSSISPackageActivity.
69887func (espa ExecuteSSISPackageActivity) AsCustomActivity() (*CustomActivity, bool) {
69888	return nil, false
69889}
69890
69891// AsExecuteSSISPackageActivity is the BasicActivity implementation for ExecuteSSISPackageActivity.
69892func (espa ExecuteSSISPackageActivity) AsExecuteSSISPackageActivity() (*ExecuteSSISPackageActivity, bool) {
69893	return &espa, true
69894}
69895
69896// AsHDInsightSparkActivity is the BasicActivity implementation for ExecuteSSISPackageActivity.
69897func (espa ExecuteSSISPackageActivity) AsHDInsightSparkActivity() (*HDInsightSparkActivity, bool) {
69898	return nil, false
69899}
69900
69901// AsHDInsightStreamingActivity is the BasicActivity implementation for ExecuteSSISPackageActivity.
69902func (espa ExecuteSSISPackageActivity) AsHDInsightStreamingActivity() (*HDInsightStreamingActivity, bool) {
69903	return nil, false
69904}
69905
69906// AsHDInsightMapReduceActivity is the BasicActivity implementation for ExecuteSSISPackageActivity.
69907func (espa ExecuteSSISPackageActivity) AsHDInsightMapReduceActivity() (*HDInsightMapReduceActivity, bool) {
69908	return nil, false
69909}
69910
69911// AsHDInsightPigActivity is the BasicActivity implementation for ExecuteSSISPackageActivity.
69912func (espa ExecuteSSISPackageActivity) AsHDInsightPigActivity() (*HDInsightPigActivity, bool) {
69913	return nil, false
69914}
69915
69916// AsHDInsightHiveActivity is the BasicActivity implementation for ExecuteSSISPackageActivity.
69917func (espa ExecuteSSISPackageActivity) AsHDInsightHiveActivity() (*HDInsightHiveActivity, bool) {
69918	return nil, false
69919}
69920
69921// AsCopyActivity is the BasicActivity implementation for ExecuteSSISPackageActivity.
69922func (espa ExecuteSSISPackageActivity) AsCopyActivity() (*CopyActivity, bool) {
69923	return nil, false
69924}
69925
69926// AsExecutionActivity is the BasicActivity implementation for ExecuteSSISPackageActivity.
69927func (espa ExecuteSSISPackageActivity) AsExecutionActivity() (*ExecutionActivity, bool) {
69928	return nil, false
69929}
69930
69931// AsBasicExecutionActivity is the BasicActivity implementation for ExecuteSSISPackageActivity.
69932func (espa ExecuteSSISPackageActivity) AsBasicExecutionActivity() (BasicExecutionActivity, bool) {
69933	return &espa, true
69934}
69935
69936// AsWebHookActivity is the BasicActivity implementation for ExecuteSSISPackageActivity.
69937func (espa ExecuteSSISPackageActivity) AsWebHookActivity() (*WebHookActivity, bool) {
69938	return nil, false
69939}
69940
69941// AsAppendVariableActivity is the BasicActivity implementation for ExecuteSSISPackageActivity.
69942func (espa ExecuteSSISPackageActivity) AsAppendVariableActivity() (*AppendVariableActivity, bool) {
69943	return nil, false
69944}
69945
69946// AsSetVariableActivity is the BasicActivity implementation for ExecuteSSISPackageActivity.
69947func (espa ExecuteSSISPackageActivity) AsSetVariableActivity() (*SetVariableActivity, bool) {
69948	return nil, false
69949}
69950
69951// AsFilterActivity is the BasicActivity implementation for ExecuteSSISPackageActivity.
69952func (espa ExecuteSSISPackageActivity) AsFilterActivity() (*FilterActivity, bool) {
69953	return nil, false
69954}
69955
69956// AsValidationActivity is the BasicActivity implementation for ExecuteSSISPackageActivity.
69957func (espa ExecuteSSISPackageActivity) AsValidationActivity() (*ValidationActivity, bool) {
69958	return nil, false
69959}
69960
69961// AsUntilActivity is the BasicActivity implementation for ExecuteSSISPackageActivity.
69962func (espa ExecuteSSISPackageActivity) AsUntilActivity() (*UntilActivity, bool) {
69963	return nil, false
69964}
69965
69966// AsWaitActivity is the BasicActivity implementation for ExecuteSSISPackageActivity.
69967func (espa ExecuteSSISPackageActivity) AsWaitActivity() (*WaitActivity, bool) {
69968	return nil, false
69969}
69970
69971// AsForEachActivity is the BasicActivity implementation for ExecuteSSISPackageActivity.
69972func (espa ExecuteSSISPackageActivity) AsForEachActivity() (*ForEachActivity, bool) {
69973	return nil, false
69974}
69975
69976// AsIfConditionActivity is the BasicActivity implementation for ExecuteSSISPackageActivity.
69977func (espa ExecuteSSISPackageActivity) AsIfConditionActivity() (*IfConditionActivity, bool) {
69978	return nil, false
69979}
69980
69981// AsExecutePipelineActivity is the BasicActivity implementation for ExecuteSSISPackageActivity.
69982func (espa ExecuteSSISPackageActivity) AsExecutePipelineActivity() (*ExecutePipelineActivity, bool) {
69983	return nil, false
69984}
69985
69986// AsControlActivity is the BasicActivity implementation for ExecuteSSISPackageActivity.
69987func (espa ExecuteSSISPackageActivity) AsControlActivity() (*ControlActivity, bool) {
69988	return nil, false
69989}
69990
69991// AsBasicControlActivity is the BasicActivity implementation for ExecuteSSISPackageActivity.
69992func (espa ExecuteSSISPackageActivity) AsBasicControlActivity() (BasicControlActivity, bool) {
69993	return nil, false
69994}
69995
69996// AsActivity is the BasicActivity implementation for ExecuteSSISPackageActivity.
69997func (espa ExecuteSSISPackageActivity) AsActivity() (*Activity, bool) {
69998	return nil, false
69999}
70000
70001// AsBasicActivity is the BasicActivity implementation for ExecuteSSISPackageActivity.
70002func (espa ExecuteSSISPackageActivity) AsBasicActivity() (BasicActivity, bool) {
70003	return &espa, true
70004}
70005
70006// UnmarshalJSON is the custom unmarshaler for ExecuteSSISPackageActivity struct.
70007func (espa *ExecuteSSISPackageActivity) UnmarshalJSON(body []byte) error {
70008	var m map[string]*json.RawMessage
70009	err := json.Unmarshal(body, &m)
70010	if err != nil {
70011		return err
70012	}
70013	for k, v := range m {
70014		switch k {
70015		case "typeProperties":
70016			if v != nil {
70017				var executeSSISPackageActivityTypeProperties ExecuteSSISPackageActivityTypeProperties
70018				err = json.Unmarshal(*v, &executeSSISPackageActivityTypeProperties)
70019				if err != nil {
70020					return err
70021				}
70022				espa.ExecuteSSISPackageActivityTypeProperties = &executeSSISPackageActivityTypeProperties
70023			}
70024		case "linkedServiceName":
70025			if v != nil {
70026				var linkedServiceName LinkedServiceReference
70027				err = json.Unmarshal(*v, &linkedServiceName)
70028				if err != nil {
70029					return err
70030				}
70031				espa.LinkedServiceName = &linkedServiceName
70032			}
70033		case "policy":
70034			if v != nil {
70035				var policy ActivityPolicy
70036				err = json.Unmarshal(*v, &policy)
70037				if err != nil {
70038					return err
70039				}
70040				espa.Policy = &policy
70041			}
70042		default:
70043			if v != nil {
70044				var additionalProperties interface{}
70045				err = json.Unmarshal(*v, &additionalProperties)
70046				if err != nil {
70047					return err
70048				}
70049				if espa.AdditionalProperties == nil {
70050					espa.AdditionalProperties = make(map[string]interface{})
70051				}
70052				espa.AdditionalProperties[k] = additionalProperties
70053			}
70054		case "name":
70055			if v != nil {
70056				var name string
70057				err = json.Unmarshal(*v, &name)
70058				if err != nil {
70059					return err
70060				}
70061				espa.Name = &name
70062			}
70063		case "description":
70064			if v != nil {
70065				var description string
70066				err = json.Unmarshal(*v, &description)
70067				if err != nil {
70068					return err
70069				}
70070				espa.Description = &description
70071			}
70072		case "dependsOn":
70073			if v != nil {
70074				var dependsOn []ActivityDependency
70075				err = json.Unmarshal(*v, &dependsOn)
70076				if err != nil {
70077					return err
70078				}
70079				espa.DependsOn = &dependsOn
70080			}
70081		case "userProperties":
70082			if v != nil {
70083				var userProperties []UserProperty
70084				err = json.Unmarshal(*v, &userProperties)
70085				if err != nil {
70086					return err
70087				}
70088				espa.UserProperties = &userProperties
70089			}
70090		case "type":
70091			if v != nil {
70092				var typeVar TypeBasicActivity
70093				err = json.Unmarshal(*v, &typeVar)
70094				if err != nil {
70095					return err
70096				}
70097				espa.Type = typeVar
70098			}
70099		}
70100	}
70101
70102	return nil
70103}
70104
70105// ExecuteSSISPackageActivityTypeProperties execute SSIS package activity properties.
70106type ExecuteSSISPackageActivityTypeProperties struct {
70107	// PackageLocation - SSIS package location.
70108	PackageLocation *SSISPackageLocation `json:"packageLocation,omitempty"`
70109	// Runtime - Specifies the runtime to execute SSIS package. The value should be "x86" or "x64". Type: string (or Expression with resultType string).
70110	Runtime interface{} `json:"runtime,omitempty"`
70111	// LoggingLevel - The logging level of SSIS package execution. Type: string (or Expression with resultType string).
70112	LoggingLevel interface{} `json:"loggingLevel,omitempty"`
70113	// EnvironmentPath - The environment path to execute the SSIS package. Type: string (or Expression with resultType string).
70114	EnvironmentPath interface{} `json:"environmentPath,omitempty"`
70115	// ExecutionCredential - The package execution credential.
70116	ExecutionCredential *SSISExecutionCredential `json:"executionCredential,omitempty"`
70117	// ConnectVia - The integration runtime reference.
70118	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
70119	// ProjectParameters - The project level parameters to execute the SSIS package.
70120	ProjectParameters map[string]*SSISExecutionParameter `json:"projectParameters"`
70121	// PackageParameters - The package level parameters to execute the SSIS package.
70122	PackageParameters map[string]*SSISExecutionParameter `json:"packageParameters"`
70123	// ProjectConnectionManagers - The project level connection managers to execute the SSIS package.
70124	ProjectConnectionManagers map[string]map[string]*SSISExecutionParameter `json:"projectConnectionManagers"`
70125	// PackageConnectionManagers - The package level connection managers to execute the SSIS package.
70126	PackageConnectionManagers map[string]map[string]*SSISExecutionParameter `json:"packageConnectionManagers"`
70127	// PropertyOverrides - The property overrides to execute the SSIS package.
70128	PropertyOverrides map[string]*SSISPropertyOverride `json:"propertyOverrides"`
70129	// LogLocation - SSIS package execution log location.
70130	LogLocation *SSISLogLocation `json:"logLocation,omitempty"`
70131}
70132
70133// MarshalJSON is the custom marshaler for ExecuteSSISPackageActivityTypeProperties.
70134func (espatp ExecuteSSISPackageActivityTypeProperties) MarshalJSON() ([]byte, error) {
70135	objectMap := make(map[string]interface{})
70136	if espatp.PackageLocation != nil {
70137		objectMap["packageLocation"] = espatp.PackageLocation
70138	}
70139	if espatp.Runtime != nil {
70140		objectMap["runtime"] = espatp.Runtime
70141	}
70142	if espatp.LoggingLevel != nil {
70143		objectMap["loggingLevel"] = espatp.LoggingLevel
70144	}
70145	if espatp.EnvironmentPath != nil {
70146		objectMap["environmentPath"] = espatp.EnvironmentPath
70147	}
70148	if espatp.ExecutionCredential != nil {
70149		objectMap["executionCredential"] = espatp.ExecutionCredential
70150	}
70151	if espatp.ConnectVia != nil {
70152		objectMap["connectVia"] = espatp.ConnectVia
70153	}
70154	if espatp.ProjectParameters != nil {
70155		objectMap["projectParameters"] = espatp.ProjectParameters
70156	}
70157	if espatp.PackageParameters != nil {
70158		objectMap["packageParameters"] = espatp.PackageParameters
70159	}
70160	if espatp.ProjectConnectionManagers != nil {
70161		objectMap["projectConnectionManagers"] = espatp.ProjectConnectionManagers
70162	}
70163	if espatp.PackageConnectionManagers != nil {
70164		objectMap["packageConnectionManagers"] = espatp.PackageConnectionManagers
70165	}
70166	if espatp.PropertyOverrides != nil {
70167		objectMap["propertyOverrides"] = espatp.PropertyOverrides
70168	}
70169	if espatp.LogLocation != nil {
70170		objectMap["logLocation"] = espatp.LogLocation
70171	}
70172	return json.Marshal(objectMap)
70173}
70174
70175// BasicExecutionActivity base class for all execution activities.
70176type BasicExecutionActivity interface {
70177	AsAzureFunctionActivity() (*AzureFunctionActivity, bool)
70178	AsDatabricksSparkPythonActivity() (*DatabricksSparkPythonActivity, bool)
70179	AsDatabricksSparkJarActivity() (*DatabricksSparkJarActivity, bool)
70180	AsDatabricksNotebookActivity() (*DatabricksNotebookActivity, bool)
70181	AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalyticsUSQLActivity, bool)
70182	AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool)
70183	AsAzureMLBatchExecutionActivity() (*AzureMLBatchExecutionActivity, bool)
70184	AsGetMetadataActivity() (*GetMetadataActivity, bool)
70185	AsWebActivity() (*WebActivity, bool)
70186	AsLookupActivity() (*LookupActivity, bool)
70187	AsAzureDataExplorerCommandActivity() (*AzureDataExplorerCommandActivity, bool)
70188	AsDeleteActivity() (*DeleteActivity, bool)
70189	AsSQLServerStoredProcedureActivity() (*SQLServerStoredProcedureActivity, bool)
70190	AsCustomActivity() (*CustomActivity, bool)
70191	AsExecuteSSISPackageActivity() (*ExecuteSSISPackageActivity, bool)
70192	AsHDInsightSparkActivity() (*HDInsightSparkActivity, bool)
70193	AsHDInsightStreamingActivity() (*HDInsightStreamingActivity, bool)
70194	AsHDInsightMapReduceActivity() (*HDInsightMapReduceActivity, bool)
70195	AsHDInsightPigActivity() (*HDInsightPigActivity, bool)
70196	AsHDInsightHiveActivity() (*HDInsightHiveActivity, bool)
70197	AsCopyActivity() (*CopyActivity, bool)
70198	AsExecutionActivity() (*ExecutionActivity, bool)
70199}
70200
70201// ExecutionActivity base class for all execution activities.
70202type ExecutionActivity struct {
70203	// LinkedServiceName - Linked service reference.
70204	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
70205	// Policy - Activity policy.
70206	Policy *ActivityPolicy `json:"policy,omitempty"`
70207	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
70208	AdditionalProperties map[string]interface{} `json:""`
70209	// Name - Activity name.
70210	Name *string `json:"name,omitempty"`
70211	// Description - Activity description.
70212	Description *string `json:"description,omitempty"`
70213	// DependsOn - Activity depends on condition.
70214	DependsOn *[]ActivityDependency `json:"dependsOn,omitempty"`
70215	// UserProperties - Activity user properties.
70216	UserProperties *[]UserProperty `json:"userProperties,omitempty"`
70217	// Type - Possible values include: 'TypeActivity', 'TypeAzureFunctionActivity', 'TypeDatabricksSparkPython', 'TypeDatabricksSparkJar', 'TypeDatabricksNotebook', 'TypeDataLakeAnalyticsUSQL', 'TypeAzureMLUpdateResource', 'TypeAzureMLBatchExecution', 'TypeGetMetadata', 'TypeWebActivity', 'TypeLookup', 'TypeAzureDataExplorerCommand', 'TypeDelete', 'TypeSQLServerStoredProcedure', 'TypeCustom', 'TypeExecuteSSISPackage', 'TypeHDInsightSpark', 'TypeHDInsightStreaming', 'TypeHDInsightMapReduce', 'TypeHDInsightPig', 'TypeHDInsightHive', 'TypeCopy', 'TypeExecution', 'TypeWebHook', 'TypeAppendVariable', 'TypeSetVariable', 'TypeFilter', 'TypeValidation', 'TypeUntil', 'TypeWait', 'TypeForEach', 'TypeIfCondition', 'TypeExecutePipeline', 'TypeContainer'
70218	Type TypeBasicActivity `json:"type,omitempty"`
70219}
70220
70221func unmarshalBasicExecutionActivity(body []byte) (BasicExecutionActivity, error) {
70222	var m map[string]interface{}
70223	err := json.Unmarshal(body, &m)
70224	if err != nil {
70225		return nil, err
70226	}
70227
70228	switch m["type"] {
70229	case string(TypeAzureFunctionActivity):
70230		var afa AzureFunctionActivity
70231		err := json.Unmarshal(body, &afa)
70232		return afa, err
70233	case string(TypeDatabricksSparkPython):
70234		var dspa DatabricksSparkPythonActivity
70235		err := json.Unmarshal(body, &dspa)
70236		return dspa, err
70237	case string(TypeDatabricksSparkJar):
70238		var dsja DatabricksSparkJarActivity
70239		err := json.Unmarshal(body, &dsja)
70240		return dsja, err
70241	case string(TypeDatabricksNotebook):
70242		var dna DatabricksNotebookActivity
70243		err := json.Unmarshal(body, &dna)
70244		return dna, err
70245	case string(TypeDataLakeAnalyticsUSQL):
70246		var dlaua DataLakeAnalyticsUSQLActivity
70247		err := json.Unmarshal(body, &dlaua)
70248		return dlaua, err
70249	case string(TypeAzureMLUpdateResource):
70250		var amura AzureMLUpdateResourceActivity
70251		err := json.Unmarshal(body, &amura)
70252		return amura, err
70253	case string(TypeAzureMLBatchExecution):
70254		var ambea AzureMLBatchExecutionActivity
70255		err := json.Unmarshal(body, &ambea)
70256		return ambea, err
70257	case string(TypeGetMetadata):
70258		var gma GetMetadataActivity
70259		err := json.Unmarshal(body, &gma)
70260		return gma, err
70261	case string(TypeWebActivity):
70262		var wa WebActivity
70263		err := json.Unmarshal(body, &wa)
70264		return wa, err
70265	case string(TypeLookup):
70266		var la LookupActivity
70267		err := json.Unmarshal(body, &la)
70268		return la, err
70269	case string(TypeAzureDataExplorerCommand):
70270		var adeca AzureDataExplorerCommandActivity
70271		err := json.Unmarshal(body, &adeca)
70272		return adeca, err
70273	case string(TypeDelete):
70274		var da DeleteActivity
70275		err := json.Unmarshal(body, &da)
70276		return da, err
70277	case string(TypeSQLServerStoredProcedure):
70278		var ssspa SQLServerStoredProcedureActivity
70279		err := json.Unmarshal(body, &ssspa)
70280		return ssspa, err
70281	case string(TypeCustom):
70282		var ca CustomActivity
70283		err := json.Unmarshal(body, &ca)
70284		return ca, err
70285	case string(TypeExecuteSSISPackage):
70286		var espa ExecuteSSISPackageActivity
70287		err := json.Unmarshal(body, &espa)
70288		return espa, err
70289	case string(TypeHDInsightSpark):
70290		var hisa HDInsightSparkActivity
70291		err := json.Unmarshal(body, &hisa)
70292		return hisa, err
70293	case string(TypeHDInsightStreaming):
70294		var hisa HDInsightStreamingActivity
70295		err := json.Unmarshal(body, &hisa)
70296		return hisa, err
70297	case string(TypeHDInsightMapReduce):
70298		var himra HDInsightMapReduceActivity
70299		err := json.Unmarshal(body, &himra)
70300		return himra, err
70301	case string(TypeHDInsightPig):
70302		var hipa HDInsightPigActivity
70303		err := json.Unmarshal(body, &hipa)
70304		return hipa, err
70305	case string(TypeHDInsightHive):
70306		var hiha HDInsightHiveActivity
70307		err := json.Unmarshal(body, &hiha)
70308		return hiha, err
70309	case string(TypeCopy):
70310		var ca CopyActivity
70311		err := json.Unmarshal(body, &ca)
70312		return ca, err
70313	default:
70314		var ea ExecutionActivity
70315		err := json.Unmarshal(body, &ea)
70316		return ea, err
70317	}
70318}
70319func unmarshalBasicExecutionActivityArray(body []byte) ([]BasicExecutionActivity, error) {
70320	var rawMessages []*json.RawMessage
70321	err := json.Unmarshal(body, &rawMessages)
70322	if err != nil {
70323		return nil, err
70324	}
70325
70326	eaArray := make([]BasicExecutionActivity, len(rawMessages))
70327
70328	for index, rawMessage := range rawMessages {
70329		ea, err := unmarshalBasicExecutionActivity(*rawMessage)
70330		if err != nil {
70331			return nil, err
70332		}
70333		eaArray[index] = ea
70334	}
70335	return eaArray, nil
70336}
70337
70338// MarshalJSON is the custom marshaler for ExecutionActivity.
70339func (ea ExecutionActivity) MarshalJSON() ([]byte, error) {
70340	ea.Type = TypeExecution
70341	objectMap := make(map[string]interface{})
70342	if ea.LinkedServiceName != nil {
70343		objectMap["linkedServiceName"] = ea.LinkedServiceName
70344	}
70345	if ea.Policy != nil {
70346		objectMap["policy"] = ea.Policy
70347	}
70348	if ea.Name != nil {
70349		objectMap["name"] = ea.Name
70350	}
70351	if ea.Description != nil {
70352		objectMap["description"] = ea.Description
70353	}
70354	if ea.DependsOn != nil {
70355		objectMap["dependsOn"] = ea.DependsOn
70356	}
70357	if ea.UserProperties != nil {
70358		objectMap["userProperties"] = ea.UserProperties
70359	}
70360	if ea.Type != "" {
70361		objectMap["type"] = ea.Type
70362	}
70363	for k, v := range ea.AdditionalProperties {
70364		objectMap[k] = v
70365	}
70366	return json.Marshal(objectMap)
70367}
70368
70369// AsAzureFunctionActivity is the BasicActivity implementation for ExecutionActivity.
70370func (ea ExecutionActivity) AsAzureFunctionActivity() (*AzureFunctionActivity, bool) {
70371	return nil, false
70372}
70373
70374// AsDatabricksSparkPythonActivity is the BasicActivity implementation for ExecutionActivity.
70375func (ea ExecutionActivity) AsDatabricksSparkPythonActivity() (*DatabricksSparkPythonActivity, bool) {
70376	return nil, false
70377}
70378
70379// AsDatabricksSparkJarActivity is the BasicActivity implementation for ExecutionActivity.
70380func (ea ExecutionActivity) AsDatabricksSparkJarActivity() (*DatabricksSparkJarActivity, bool) {
70381	return nil, false
70382}
70383
70384// AsDatabricksNotebookActivity is the BasicActivity implementation for ExecutionActivity.
70385func (ea ExecutionActivity) AsDatabricksNotebookActivity() (*DatabricksNotebookActivity, bool) {
70386	return nil, false
70387}
70388
70389// AsDataLakeAnalyticsUSQLActivity is the BasicActivity implementation for ExecutionActivity.
70390func (ea ExecutionActivity) AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalyticsUSQLActivity, bool) {
70391	return nil, false
70392}
70393
70394// AsAzureMLUpdateResourceActivity is the BasicActivity implementation for ExecutionActivity.
70395func (ea ExecutionActivity) AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool) {
70396	return nil, false
70397}
70398
70399// AsAzureMLBatchExecutionActivity is the BasicActivity implementation for ExecutionActivity.
70400func (ea ExecutionActivity) AsAzureMLBatchExecutionActivity() (*AzureMLBatchExecutionActivity, bool) {
70401	return nil, false
70402}
70403
70404// AsGetMetadataActivity is the BasicActivity implementation for ExecutionActivity.
70405func (ea ExecutionActivity) AsGetMetadataActivity() (*GetMetadataActivity, bool) {
70406	return nil, false
70407}
70408
70409// AsWebActivity is the BasicActivity implementation for ExecutionActivity.
70410func (ea ExecutionActivity) AsWebActivity() (*WebActivity, bool) {
70411	return nil, false
70412}
70413
70414// AsLookupActivity is the BasicActivity implementation for ExecutionActivity.
70415func (ea ExecutionActivity) AsLookupActivity() (*LookupActivity, bool) {
70416	return nil, false
70417}
70418
70419// AsAzureDataExplorerCommandActivity is the BasicActivity implementation for ExecutionActivity.
70420func (ea ExecutionActivity) AsAzureDataExplorerCommandActivity() (*AzureDataExplorerCommandActivity, bool) {
70421	return nil, false
70422}
70423
70424// AsDeleteActivity is the BasicActivity implementation for ExecutionActivity.
70425func (ea ExecutionActivity) AsDeleteActivity() (*DeleteActivity, bool) {
70426	return nil, false
70427}
70428
70429// AsSQLServerStoredProcedureActivity is the BasicActivity implementation for ExecutionActivity.
70430func (ea ExecutionActivity) AsSQLServerStoredProcedureActivity() (*SQLServerStoredProcedureActivity, bool) {
70431	return nil, false
70432}
70433
70434// AsCustomActivity is the BasicActivity implementation for ExecutionActivity.
70435func (ea ExecutionActivity) AsCustomActivity() (*CustomActivity, bool) {
70436	return nil, false
70437}
70438
70439// AsExecuteSSISPackageActivity is the BasicActivity implementation for ExecutionActivity.
70440func (ea ExecutionActivity) AsExecuteSSISPackageActivity() (*ExecuteSSISPackageActivity, bool) {
70441	return nil, false
70442}
70443
70444// AsHDInsightSparkActivity is the BasicActivity implementation for ExecutionActivity.
70445func (ea ExecutionActivity) AsHDInsightSparkActivity() (*HDInsightSparkActivity, bool) {
70446	return nil, false
70447}
70448
70449// AsHDInsightStreamingActivity is the BasicActivity implementation for ExecutionActivity.
70450func (ea ExecutionActivity) AsHDInsightStreamingActivity() (*HDInsightStreamingActivity, bool) {
70451	return nil, false
70452}
70453
70454// AsHDInsightMapReduceActivity is the BasicActivity implementation for ExecutionActivity.
70455func (ea ExecutionActivity) AsHDInsightMapReduceActivity() (*HDInsightMapReduceActivity, bool) {
70456	return nil, false
70457}
70458
70459// AsHDInsightPigActivity is the BasicActivity implementation for ExecutionActivity.
70460func (ea ExecutionActivity) AsHDInsightPigActivity() (*HDInsightPigActivity, bool) {
70461	return nil, false
70462}
70463
70464// AsHDInsightHiveActivity is the BasicActivity implementation for ExecutionActivity.
70465func (ea ExecutionActivity) AsHDInsightHiveActivity() (*HDInsightHiveActivity, bool) {
70466	return nil, false
70467}
70468
70469// AsCopyActivity is the BasicActivity implementation for ExecutionActivity.
70470func (ea ExecutionActivity) AsCopyActivity() (*CopyActivity, bool) {
70471	return nil, false
70472}
70473
70474// AsExecutionActivity is the BasicActivity implementation for ExecutionActivity.
70475func (ea ExecutionActivity) AsExecutionActivity() (*ExecutionActivity, bool) {
70476	return &ea, true
70477}
70478
70479// AsBasicExecutionActivity is the BasicActivity implementation for ExecutionActivity.
70480func (ea ExecutionActivity) AsBasicExecutionActivity() (BasicExecutionActivity, bool) {
70481	return &ea, true
70482}
70483
70484// AsWebHookActivity is the BasicActivity implementation for ExecutionActivity.
70485func (ea ExecutionActivity) AsWebHookActivity() (*WebHookActivity, bool) {
70486	return nil, false
70487}
70488
70489// AsAppendVariableActivity is the BasicActivity implementation for ExecutionActivity.
70490func (ea ExecutionActivity) AsAppendVariableActivity() (*AppendVariableActivity, bool) {
70491	return nil, false
70492}
70493
70494// AsSetVariableActivity is the BasicActivity implementation for ExecutionActivity.
70495func (ea ExecutionActivity) AsSetVariableActivity() (*SetVariableActivity, bool) {
70496	return nil, false
70497}
70498
70499// AsFilterActivity is the BasicActivity implementation for ExecutionActivity.
70500func (ea ExecutionActivity) AsFilterActivity() (*FilterActivity, bool) {
70501	return nil, false
70502}
70503
70504// AsValidationActivity is the BasicActivity implementation for ExecutionActivity.
70505func (ea ExecutionActivity) AsValidationActivity() (*ValidationActivity, bool) {
70506	return nil, false
70507}
70508
70509// AsUntilActivity is the BasicActivity implementation for ExecutionActivity.
70510func (ea ExecutionActivity) AsUntilActivity() (*UntilActivity, bool) {
70511	return nil, false
70512}
70513
70514// AsWaitActivity is the BasicActivity implementation for ExecutionActivity.
70515func (ea ExecutionActivity) AsWaitActivity() (*WaitActivity, bool) {
70516	return nil, false
70517}
70518
70519// AsForEachActivity is the BasicActivity implementation for ExecutionActivity.
70520func (ea ExecutionActivity) AsForEachActivity() (*ForEachActivity, bool) {
70521	return nil, false
70522}
70523
70524// AsIfConditionActivity is the BasicActivity implementation for ExecutionActivity.
70525func (ea ExecutionActivity) AsIfConditionActivity() (*IfConditionActivity, bool) {
70526	return nil, false
70527}
70528
70529// AsExecutePipelineActivity is the BasicActivity implementation for ExecutionActivity.
70530func (ea ExecutionActivity) AsExecutePipelineActivity() (*ExecutePipelineActivity, bool) {
70531	return nil, false
70532}
70533
70534// AsControlActivity is the BasicActivity implementation for ExecutionActivity.
70535func (ea ExecutionActivity) AsControlActivity() (*ControlActivity, bool) {
70536	return nil, false
70537}
70538
70539// AsBasicControlActivity is the BasicActivity implementation for ExecutionActivity.
70540func (ea ExecutionActivity) AsBasicControlActivity() (BasicControlActivity, bool) {
70541	return nil, false
70542}
70543
70544// AsActivity is the BasicActivity implementation for ExecutionActivity.
70545func (ea ExecutionActivity) AsActivity() (*Activity, bool) {
70546	return nil, false
70547}
70548
70549// AsBasicActivity is the BasicActivity implementation for ExecutionActivity.
70550func (ea ExecutionActivity) AsBasicActivity() (BasicActivity, bool) {
70551	return &ea, true
70552}
70553
70554// UnmarshalJSON is the custom unmarshaler for ExecutionActivity struct.
70555func (ea *ExecutionActivity) UnmarshalJSON(body []byte) error {
70556	var m map[string]*json.RawMessage
70557	err := json.Unmarshal(body, &m)
70558	if err != nil {
70559		return err
70560	}
70561	for k, v := range m {
70562		switch k {
70563		case "linkedServiceName":
70564			if v != nil {
70565				var linkedServiceName LinkedServiceReference
70566				err = json.Unmarshal(*v, &linkedServiceName)
70567				if err != nil {
70568					return err
70569				}
70570				ea.LinkedServiceName = &linkedServiceName
70571			}
70572		case "policy":
70573			if v != nil {
70574				var policy ActivityPolicy
70575				err = json.Unmarshal(*v, &policy)
70576				if err != nil {
70577					return err
70578				}
70579				ea.Policy = &policy
70580			}
70581		default:
70582			if v != nil {
70583				var additionalProperties interface{}
70584				err = json.Unmarshal(*v, &additionalProperties)
70585				if err != nil {
70586					return err
70587				}
70588				if ea.AdditionalProperties == nil {
70589					ea.AdditionalProperties = make(map[string]interface{})
70590				}
70591				ea.AdditionalProperties[k] = additionalProperties
70592			}
70593		case "name":
70594			if v != nil {
70595				var name string
70596				err = json.Unmarshal(*v, &name)
70597				if err != nil {
70598					return err
70599				}
70600				ea.Name = &name
70601			}
70602		case "description":
70603			if v != nil {
70604				var description string
70605				err = json.Unmarshal(*v, &description)
70606				if err != nil {
70607					return err
70608				}
70609				ea.Description = &description
70610			}
70611		case "dependsOn":
70612			if v != nil {
70613				var dependsOn []ActivityDependency
70614				err = json.Unmarshal(*v, &dependsOn)
70615				if err != nil {
70616					return err
70617				}
70618				ea.DependsOn = &dependsOn
70619			}
70620		case "userProperties":
70621			if v != nil {
70622				var userProperties []UserProperty
70623				err = json.Unmarshal(*v, &userProperties)
70624				if err != nil {
70625					return err
70626				}
70627				ea.UserProperties = &userProperties
70628			}
70629		case "type":
70630			if v != nil {
70631				var typeVar TypeBasicActivity
70632				err = json.Unmarshal(*v, &typeVar)
70633				if err != nil {
70634					return err
70635				}
70636				ea.Type = typeVar
70637			}
70638		}
70639	}
70640
70641	return nil
70642}
70643
70644// ExposureControlRequest the exposure control request.
70645type ExposureControlRequest struct {
70646	// FeatureName - The feature name.
70647	FeatureName *string `json:"featureName,omitempty"`
70648	// FeatureType - The feature type.
70649	FeatureType *string `json:"featureType,omitempty"`
70650}
70651
70652// ExposureControlResponse the exposure control response.
70653type ExposureControlResponse struct {
70654	autorest.Response `json:"-"`
70655	// FeatureName - READ-ONLY; The feature name.
70656	FeatureName *string `json:"featureName,omitempty"`
70657	// Value - READ-ONLY; The feature value.
70658	Value *string `json:"value,omitempty"`
70659}
70660
70661// Expression azure Data Factory expression definition.
70662type Expression struct {
70663	// Type - Expression type.
70664	Type *string `json:"type,omitempty"`
70665	// Value - Expression value.
70666	Value *string `json:"value,omitempty"`
70667}
70668
70669// Factory factory resource type.
70670type Factory struct {
70671	autorest.Response `json:"-"`
70672	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
70673	AdditionalProperties map[string]interface{} `json:""`
70674	// Identity - Managed service identity of the factory.
70675	Identity *FactoryIdentity `json:"identity,omitempty"`
70676	// FactoryProperties - Properties of the factory.
70677	*FactoryProperties `json:"properties,omitempty"`
70678	// ID - READ-ONLY; The resource identifier.
70679	ID *string `json:"id,omitempty"`
70680	// Name - READ-ONLY; The resource name.
70681	Name *string `json:"name,omitempty"`
70682	// Type - READ-ONLY; The resource type.
70683	Type *string `json:"type,omitempty"`
70684	// Location - The resource location.
70685	Location *string `json:"location,omitempty"`
70686	// Tags - The resource tags.
70687	Tags map[string]*string `json:"tags"`
70688	// ETag - READ-ONLY; Etag identifies change in the resource.
70689	ETag *string `json:"eTag,omitempty"`
70690}
70691
70692// MarshalJSON is the custom marshaler for Factory.
70693func (f Factory) MarshalJSON() ([]byte, error) {
70694	objectMap := make(map[string]interface{})
70695	if f.Identity != nil {
70696		objectMap["identity"] = f.Identity
70697	}
70698	if f.FactoryProperties != nil {
70699		objectMap["properties"] = f.FactoryProperties
70700	}
70701	if f.Location != nil {
70702		objectMap["location"] = f.Location
70703	}
70704	if f.Tags != nil {
70705		objectMap["tags"] = f.Tags
70706	}
70707	for k, v := range f.AdditionalProperties {
70708		objectMap[k] = v
70709	}
70710	return json.Marshal(objectMap)
70711}
70712
70713// UnmarshalJSON is the custom unmarshaler for Factory struct.
70714func (f *Factory) UnmarshalJSON(body []byte) error {
70715	var m map[string]*json.RawMessage
70716	err := json.Unmarshal(body, &m)
70717	if err != nil {
70718		return err
70719	}
70720	for k, v := range m {
70721		switch k {
70722		default:
70723			if v != nil {
70724				var additionalProperties interface{}
70725				err = json.Unmarshal(*v, &additionalProperties)
70726				if err != nil {
70727					return err
70728				}
70729				if f.AdditionalProperties == nil {
70730					f.AdditionalProperties = make(map[string]interface{})
70731				}
70732				f.AdditionalProperties[k] = additionalProperties
70733			}
70734		case "identity":
70735			if v != nil {
70736				var identity FactoryIdentity
70737				err = json.Unmarshal(*v, &identity)
70738				if err != nil {
70739					return err
70740				}
70741				f.Identity = &identity
70742			}
70743		case "properties":
70744			if v != nil {
70745				var factoryProperties FactoryProperties
70746				err = json.Unmarshal(*v, &factoryProperties)
70747				if err != nil {
70748					return err
70749				}
70750				f.FactoryProperties = &factoryProperties
70751			}
70752		case "id":
70753			if v != nil {
70754				var ID string
70755				err = json.Unmarshal(*v, &ID)
70756				if err != nil {
70757					return err
70758				}
70759				f.ID = &ID
70760			}
70761		case "name":
70762			if v != nil {
70763				var name string
70764				err = json.Unmarshal(*v, &name)
70765				if err != nil {
70766					return err
70767				}
70768				f.Name = &name
70769			}
70770		case "type":
70771			if v != nil {
70772				var typeVar string
70773				err = json.Unmarshal(*v, &typeVar)
70774				if err != nil {
70775					return err
70776				}
70777				f.Type = &typeVar
70778			}
70779		case "location":
70780			if v != nil {
70781				var location string
70782				err = json.Unmarshal(*v, &location)
70783				if err != nil {
70784					return err
70785				}
70786				f.Location = &location
70787			}
70788		case "tags":
70789			if v != nil {
70790				var tags map[string]*string
70791				err = json.Unmarshal(*v, &tags)
70792				if err != nil {
70793					return err
70794				}
70795				f.Tags = tags
70796			}
70797		case "eTag":
70798			if v != nil {
70799				var eTag string
70800				err = json.Unmarshal(*v, &eTag)
70801				if err != nil {
70802					return err
70803				}
70804				f.ETag = &eTag
70805			}
70806		}
70807	}
70808
70809	return nil
70810}
70811
70812// FactoryGitHubConfiguration factory's GitHub repo information.
70813type FactoryGitHubConfiguration struct {
70814	// HostName - GitHub Enterprise host name. For example: https://github.mydomain.com
70815	HostName *string `json:"hostName,omitempty"`
70816	// AccountName - Account name.
70817	AccountName *string `json:"accountName,omitempty"`
70818	// RepositoryName - Repository name.
70819	RepositoryName *string `json:"repositoryName,omitempty"`
70820	// CollaborationBranch - Collaboration branch.
70821	CollaborationBranch *string `json:"collaborationBranch,omitempty"`
70822	// RootFolder - Root folder.
70823	RootFolder *string `json:"rootFolder,omitempty"`
70824	// LastCommitID - Last commit id.
70825	LastCommitID *string `json:"lastCommitId,omitempty"`
70826	// Type - Possible values include: 'TypeFactoryRepoConfiguration', 'TypeFactoryVSTSConfiguration', 'TypeFactoryGitHubConfiguration'
70827	Type TypeBasicFactoryRepoConfiguration `json:"type,omitempty"`
70828}
70829
70830// MarshalJSON is the custom marshaler for FactoryGitHubConfiguration.
70831func (fghc FactoryGitHubConfiguration) MarshalJSON() ([]byte, error) {
70832	fghc.Type = TypeFactoryGitHubConfiguration
70833	objectMap := make(map[string]interface{})
70834	if fghc.HostName != nil {
70835		objectMap["hostName"] = fghc.HostName
70836	}
70837	if fghc.AccountName != nil {
70838		objectMap["accountName"] = fghc.AccountName
70839	}
70840	if fghc.RepositoryName != nil {
70841		objectMap["repositoryName"] = fghc.RepositoryName
70842	}
70843	if fghc.CollaborationBranch != nil {
70844		objectMap["collaborationBranch"] = fghc.CollaborationBranch
70845	}
70846	if fghc.RootFolder != nil {
70847		objectMap["rootFolder"] = fghc.RootFolder
70848	}
70849	if fghc.LastCommitID != nil {
70850		objectMap["lastCommitId"] = fghc.LastCommitID
70851	}
70852	if fghc.Type != "" {
70853		objectMap["type"] = fghc.Type
70854	}
70855	return json.Marshal(objectMap)
70856}
70857
70858// AsFactoryVSTSConfiguration is the BasicFactoryRepoConfiguration implementation for FactoryGitHubConfiguration.
70859func (fghc FactoryGitHubConfiguration) AsFactoryVSTSConfiguration() (*FactoryVSTSConfiguration, bool) {
70860	return nil, false
70861}
70862
70863// AsFactoryGitHubConfiguration is the BasicFactoryRepoConfiguration implementation for FactoryGitHubConfiguration.
70864func (fghc FactoryGitHubConfiguration) AsFactoryGitHubConfiguration() (*FactoryGitHubConfiguration, bool) {
70865	return &fghc, true
70866}
70867
70868// AsFactoryRepoConfiguration is the BasicFactoryRepoConfiguration implementation for FactoryGitHubConfiguration.
70869func (fghc FactoryGitHubConfiguration) AsFactoryRepoConfiguration() (*FactoryRepoConfiguration, bool) {
70870	return nil, false
70871}
70872
70873// AsBasicFactoryRepoConfiguration is the BasicFactoryRepoConfiguration implementation for FactoryGitHubConfiguration.
70874func (fghc FactoryGitHubConfiguration) AsBasicFactoryRepoConfiguration() (BasicFactoryRepoConfiguration, bool) {
70875	return &fghc, true
70876}
70877
70878// FactoryIdentity identity properties of the factory resource.
70879type FactoryIdentity struct {
70880	// Type - The identity type. Currently the only supported type is 'SystemAssigned'.
70881	Type *string `json:"type,omitempty"`
70882	// PrincipalID - READ-ONLY; The principal id of the identity.
70883	PrincipalID *uuid.UUID `json:"principalId,omitempty"`
70884	// TenantID - READ-ONLY; The client tenant id of the identity.
70885	TenantID *uuid.UUID `json:"tenantId,omitempty"`
70886}
70887
70888// FactoryListResponse a list of factory resources.
70889type FactoryListResponse struct {
70890	autorest.Response `json:"-"`
70891	// Value - List of factories.
70892	Value *[]Factory `json:"value,omitempty"`
70893	// NextLink - The link to the next page of results, if any remaining results exist.
70894	NextLink *string `json:"nextLink,omitempty"`
70895}
70896
70897// FactoryListResponseIterator provides access to a complete listing of Factory values.
70898type FactoryListResponseIterator struct {
70899	i    int
70900	page FactoryListResponsePage
70901}
70902
70903// NextWithContext advances to the next value.  If there was an error making
70904// the request the iterator does not advance and the error is returned.
70905func (iter *FactoryListResponseIterator) NextWithContext(ctx context.Context) (err error) {
70906	if tracing.IsEnabled() {
70907		ctx = tracing.StartSpan(ctx, fqdn+"/FactoryListResponseIterator.NextWithContext")
70908		defer func() {
70909			sc := -1
70910			if iter.Response().Response.Response != nil {
70911				sc = iter.Response().Response.Response.StatusCode
70912			}
70913			tracing.EndSpan(ctx, sc, err)
70914		}()
70915	}
70916	iter.i++
70917	if iter.i < len(iter.page.Values()) {
70918		return nil
70919	}
70920	err = iter.page.NextWithContext(ctx)
70921	if err != nil {
70922		iter.i--
70923		return err
70924	}
70925	iter.i = 0
70926	return nil
70927}
70928
70929// Next advances to the next value.  If there was an error making
70930// the request the iterator does not advance and the error is returned.
70931// Deprecated: Use NextWithContext() instead.
70932func (iter *FactoryListResponseIterator) Next() error {
70933	return iter.NextWithContext(context.Background())
70934}
70935
70936// NotDone returns true if the enumeration should be started or is not yet complete.
70937func (iter FactoryListResponseIterator) NotDone() bool {
70938	return iter.page.NotDone() && iter.i < len(iter.page.Values())
70939}
70940
70941// Response returns the raw server response from the last page request.
70942func (iter FactoryListResponseIterator) Response() FactoryListResponse {
70943	return iter.page.Response()
70944}
70945
70946// Value returns the current value or a zero-initialized value if the
70947// iterator has advanced beyond the end of the collection.
70948func (iter FactoryListResponseIterator) Value() Factory {
70949	if !iter.page.NotDone() {
70950		return Factory{}
70951	}
70952	return iter.page.Values()[iter.i]
70953}
70954
70955// Creates a new instance of the FactoryListResponseIterator type.
70956func NewFactoryListResponseIterator(page FactoryListResponsePage) FactoryListResponseIterator {
70957	return FactoryListResponseIterator{page: page}
70958}
70959
70960// IsEmpty returns true if the ListResult contains no values.
70961func (flr FactoryListResponse) IsEmpty() bool {
70962	return flr.Value == nil || len(*flr.Value) == 0
70963}
70964
70965// factoryListResponsePreparer prepares a request to retrieve the next set of results.
70966// It returns nil if no more results exist.
70967func (flr FactoryListResponse) factoryListResponsePreparer(ctx context.Context) (*http.Request, error) {
70968	if flr.NextLink == nil || len(to.String(flr.NextLink)) < 1 {
70969		return nil, nil
70970	}
70971	return autorest.Prepare((&http.Request{}).WithContext(ctx),
70972		autorest.AsJSON(),
70973		autorest.AsGet(),
70974		autorest.WithBaseURL(to.String(flr.NextLink)))
70975}
70976
70977// FactoryListResponsePage contains a page of Factory values.
70978type FactoryListResponsePage struct {
70979	fn  func(context.Context, FactoryListResponse) (FactoryListResponse, error)
70980	flr FactoryListResponse
70981}
70982
70983// NextWithContext advances to the next page of values.  If there was an error making
70984// the request the page does not advance and the error is returned.
70985func (page *FactoryListResponsePage) NextWithContext(ctx context.Context) (err error) {
70986	if tracing.IsEnabled() {
70987		ctx = tracing.StartSpan(ctx, fqdn+"/FactoryListResponsePage.NextWithContext")
70988		defer func() {
70989			sc := -1
70990			if page.Response().Response.Response != nil {
70991				sc = page.Response().Response.Response.StatusCode
70992			}
70993			tracing.EndSpan(ctx, sc, err)
70994		}()
70995	}
70996	next, err := page.fn(ctx, page.flr)
70997	if err != nil {
70998		return err
70999	}
71000	page.flr = next
71001	return nil
71002}
71003
71004// Next advances to the next page of values.  If there was an error making
71005// the request the page does not advance and the error is returned.
71006// Deprecated: Use NextWithContext() instead.
71007func (page *FactoryListResponsePage) Next() error {
71008	return page.NextWithContext(context.Background())
71009}
71010
71011// NotDone returns true if the page enumeration should be started or is not yet complete.
71012func (page FactoryListResponsePage) NotDone() bool {
71013	return !page.flr.IsEmpty()
71014}
71015
71016// Response returns the raw server response from the last page request.
71017func (page FactoryListResponsePage) Response() FactoryListResponse {
71018	return page.flr
71019}
71020
71021// Values returns the slice of values for the current page or nil if there are no values.
71022func (page FactoryListResponsePage) Values() []Factory {
71023	if page.flr.IsEmpty() {
71024		return nil
71025	}
71026	return *page.flr.Value
71027}
71028
71029// Creates a new instance of the FactoryListResponsePage type.
71030func NewFactoryListResponsePage(getNextPage func(context.Context, FactoryListResponse) (FactoryListResponse, error)) FactoryListResponsePage {
71031	return FactoryListResponsePage{fn: getNextPage}
71032}
71033
71034// FactoryProperties factory resource properties.
71035type FactoryProperties struct {
71036	// ProvisioningState - READ-ONLY; Factory provisioning state, example Succeeded.
71037	ProvisioningState *string `json:"provisioningState,omitempty"`
71038	// CreateTime - READ-ONLY; Time the factory was created in ISO8601 format.
71039	CreateTime *date.Time `json:"createTime,omitempty"`
71040	// Version - READ-ONLY; Version of the factory.
71041	Version *string `json:"version,omitempty"`
71042	// RepoConfiguration - Git repo information of the factory.
71043	RepoConfiguration BasicFactoryRepoConfiguration `json:"repoConfiguration,omitempty"`
71044}
71045
71046// UnmarshalJSON is the custom unmarshaler for FactoryProperties struct.
71047func (fp *FactoryProperties) UnmarshalJSON(body []byte) error {
71048	var m map[string]*json.RawMessage
71049	err := json.Unmarshal(body, &m)
71050	if err != nil {
71051		return err
71052	}
71053	for k, v := range m {
71054		switch k {
71055		case "provisioningState":
71056			if v != nil {
71057				var provisioningState string
71058				err = json.Unmarshal(*v, &provisioningState)
71059				if err != nil {
71060					return err
71061				}
71062				fp.ProvisioningState = &provisioningState
71063			}
71064		case "createTime":
71065			if v != nil {
71066				var createTime date.Time
71067				err = json.Unmarshal(*v, &createTime)
71068				if err != nil {
71069					return err
71070				}
71071				fp.CreateTime = &createTime
71072			}
71073		case "version":
71074			if v != nil {
71075				var version string
71076				err = json.Unmarshal(*v, &version)
71077				if err != nil {
71078					return err
71079				}
71080				fp.Version = &version
71081			}
71082		case "repoConfiguration":
71083			if v != nil {
71084				repoConfiguration, err := unmarshalBasicFactoryRepoConfiguration(*v)
71085				if err != nil {
71086					return err
71087				}
71088				fp.RepoConfiguration = repoConfiguration
71089			}
71090		}
71091	}
71092
71093	return nil
71094}
71095
71096// BasicFactoryRepoConfiguration factory's git repo information.
71097type BasicFactoryRepoConfiguration interface {
71098	AsFactoryVSTSConfiguration() (*FactoryVSTSConfiguration, bool)
71099	AsFactoryGitHubConfiguration() (*FactoryGitHubConfiguration, bool)
71100	AsFactoryRepoConfiguration() (*FactoryRepoConfiguration, bool)
71101}
71102
71103// FactoryRepoConfiguration factory's git repo information.
71104type FactoryRepoConfiguration struct {
71105	// AccountName - Account name.
71106	AccountName *string `json:"accountName,omitempty"`
71107	// RepositoryName - Repository name.
71108	RepositoryName *string `json:"repositoryName,omitempty"`
71109	// CollaborationBranch - Collaboration branch.
71110	CollaborationBranch *string `json:"collaborationBranch,omitempty"`
71111	// RootFolder - Root folder.
71112	RootFolder *string `json:"rootFolder,omitempty"`
71113	// LastCommitID - Last commit id.
71114	LastCommitID *string `json:"lastCommitId,omitempty"`
71115	// Type - Possible values include: 'TypeFactoryRepoConfiguration', 'TypeFactoryVSTSConfiguration', 'TypeFactoryGitHubConfiguration'
71116	Type TypeBasicFactoryRepoConfiguration `json:"type,omitempty"`
71117}
71118
71119func unmarshalBasicFactoryRepoConfiguration(body []byte) (BasicFactoryRepoConfiguration, error) {
71120	var m map[string]interface{}
71121	err := json.Unmarshal(body, &m)
71122	if err != nil {
71123		return nil, err
71124	}
71125
71126	switch m["type"] {
71127	case string(TypeFactoryVSTSConfiguration):
71128		var fvc FactoryVSTSConfiguration
71129		err := json.Unmarshal(body, &fvc)
71130		return fvc, err
71131	case string(TypeFactoryGitHubConfiguration):
71132		var fghc FactoryGitHubConfiguration
71133		err := json.Unmarshal(body, &fghc)
71134		return fghc, err
71135	default:
71136		var frc FactoryRepoConfiguration
71137		err := json.Unmarshal(body, &frc)
71138		return frc, err
71139	}
71140}
71141func unmarshalBasicFactoryRepoConfigurationArray(body []byte) ([]BasicFactoryRepoConfiguration, error) {
71142	var rawMessages []*json.RawMessage
71143	err := json.Unmarshal(body, &rawMessages)
71144	if err != nil {
71145		return nil, err
71146	}
71147
71148	frcArray := make([]BasicFactoryRepoConfiguration, len(rawMessages))
71149
71150	for index, rawMessage := range rawMessages {
71151		frc, err := unmarshalBasicFactoryRepoConfiguration(*rawMessage)
71152		if err != nil {
71153			return nil, err
71154		}
71155		frcArray[index] = frc
71156	}
71157	return frcArray, nil
71158}
71159
71160// MarshalJSON is the custom marshaler for FactoryRepoConfiguration.
71161func (frc FactoryRepoConfiguration) MarshalJSON() ([]byte, error) {
71162	frc.Type = TypeFactoryRepoConfiguration
71163	objectMap := make(map[string]interface{})
71164	if frc.AccountName != nil {
71165		objectMap["accountName"] = frc.AccountName
71166	}
71167	if frc.RepositoryName != nil {
71168		objectMap["repositoryName"] = frc.RepositoryName
71169	}
71170	if frc.CollaborationBranch != nil {
71171		objectMap["collaborationBranch"] = frc.CollaborationBranch
71172	}
71173	if frc.RootFolder != nil {
71174		objectMap["rootFolder"] = frc.RootFolder
71175	}
71176	if frc.LastCommitID != nil {
71177		objectMap["lastCommitId"] = frc.LastCommitID
71178	}
71179	if frc.Type != "" {
71180		objectMap["type"] = frc.Type
71181	}
71182	return json.Marshal(objectMap)
71183}
71184
71185// AsFactoryVSTSConfiguration is the BasicFactoryRepoConfiguration implementation for FactoryRepoConfiguration.
71186func (frc FactoryRepoConfiguration) AsFactoryVSTSConfiguration() (*FactoryVSTSConfiguration, bool) {
71187	return nil, false
71188}
71189
71190// AsFactoryGitHubConfiguration is the BasicFactoryRepoConfiguration implementation for FactoryRepoConfiguration.
71191func (frc FactoryRepoConfiguration) AsFactoryGitHubConfiguration() (*FactoryGitHubConfiguration, bool) {
71192	return nil, false
71193}
71194
71195// AsFactoryRepoConfiguration is the BasicFactoryRepoConfiguration implementation for FactoryRepoConfiguration.
71196func (frc FactoryRepoConfiguration) AsFactoryRepoConfiguration() (*FactoryRepoConfiguration, bool) {
71197	return &frc, true
71198}
71199
71200// AsBasicFactoryRepoConfiguration is the BasicFactoryRepoConfiguration implementation for FactoryRepoConfiguration.
71201func (frc FactoryRepoConfiguration) AsBasicFactoryRepoConfiguration() (BasicFactoryRepoConfiguration, bool) {
71202	return &frc, true
71203}
71204
71205// FactoryRepoUpdate factory's git repo information.
71206type FactoryRepoUpdate struct {
71207	// FactoryResourceID - The factory resource id.
71208	FactoryResourceID *string `json:"factoryResourceId,omitempty"`
71209	// RepoConfiguration - Git repo information of the factory.
71210	RepoConfiguration BasicFactoryRepoConfiguration `json:"repoConfiguration,omitempty"`
71211}
71212
71213// UnmarshalJSON is the custom unmarshaler for FactoryRepoUpdate struct.
71214func (fru *FactoryRepoUpdate) UnmarshalJSON(body []byte) error {
71215	var m map[string]*json.RawMessage
71216	err := json.Unmarshal(body, &m)
71217	if err != nil {
71218		return err
71219	}
71220	for k, v := range m {
71221		switch k {
71222		case "factoryResourceId":
71223			if v != nil {
71224				var factoryResourceID string
71225				err = json.Unmarshal(*v, &factoryResourceID)
71226				if err != nil {
71227					return err
71228				}
71229				fru.FactoryResourceID = &factoryResourceID
71230			}
71231		case "repoConfiguration":
71232			if v != nil {
71233				repoConfiguration, err := unmarshalBasicFactoryRepoConfiguration(*v)
71234				if err != nil {
71235					return err
71236				}
71237				fru.RepoConfiguration = repoConfiguration
71238			}
71239		}
71240	}
71241
71242	return nil
71243}
71244
71245// FactoryUpdateParameters parameters for updating a factory resource.
71246type FactoryUpdateParameters struct {
71247	// Tags - The resource tags.
71248	Tags map[string]*string `json:"tags"`
71249	// Identity - Managed service identity of the factory.
71250	Identity *FactoryIdentity `json:"identity,omitempty"`
71251}
71252
71253// MarshalJSON is the custom marshaler for FactoryUpdateParameters.
71254func (fup FactoryUpdateParameters) MarshalJSON() ([]byte, error) {
71255	objectMap := make(map[string]interface{})
71256	if fup.Tags != nil {
71257		objectMap["tags"] = fup.Tags
71258	}
71259	if fup.Identity != nil {
71260		objectMap["identity"] = fup.Identity
71261	}
71262	return json.Marshal(objectMap)
71263}
71264
71265// FactoryVSTSConfiguration factory's VSTS repo information.
71266type FactoryVSTSConfiguration struct {
71267	// ProjectName - VSTS project name.
71268	ProjectName *string `json:"projectName,omitempty"`
71269	// TenantID - VSTS tenant id.
71270	TenantID *string `json:"tenantId,omitempty"`
71271	// AccountName - Account name.
71272	AccountName *string `json:"accountName,omitempty"`
71273	// RepositoryName - Repository name.
71274	RepositoryName *string `json:"repositoryName,omitempty"`
71275	// CollaborationBranch - Collaboration branch.
71276	CollaborationBranch *string `json:"collaborationBranch,omitempty"`
71277	// RootFolder - Root folder.
71278	RootFolder *string `json:"rootFolder,omitempty"`
71279	// LastCommitID - Last commit id.
71280	LastCommitID *string `json:"lastCommitId,omitempty"`
71281	// Type - Possible values include: 'TypeFactoryRepoConfiguration', 'TypeFactoryVSTSConfiguration', 'TypeFactoryGitHubConfiguration'
71282	Type TypeBasicFactoryRepoConfiguration `json:"type,omitempty"`
71283}
71284
71285// MarshalJSON is the custom marshaler for FactoryVSTSConfiguration.
71286func (fvc FactoryVSTSConfiguration) MarshalJSON() ([]byte, error) {
71287	fvc.Type = TypeFactoryVSTSConfiguration
71288	objectMap := make(map[string]interface{})
71289	if fvc.ProjectName != nil {
71290		objectMap["projectName"] = fvc.ProjectName
71291	}
71292	if fvc.TenantID != nil {
71293		objectMap["tenantId"] = fvc.TenantID
71294	}
71295	if fvc.AccountName != nil {
71296		objectMap["accountName"] = fvc.AccountName
71297	}
71298	if fvc.RepositoryName != nil {
71299		objectMap["repositoryName"] = fvc.RepositoryName
71300	}
71301	if fvc.CollaborationBranch != nil {
71302		objectMap["collaborationBranch"] = fvc.CollaborationBranch
71303	}
71304	if fvc.RootFolder != nil {
71305		objectMap["rootFolder"] = fvc.RootFolder
71306	}
71307	if fvc.LastCommitID != nil {
71308		objectMap["lastCommitId"] = fvc.LastCommitID
71309	}
71310	if fvc.Type != "" {
71311		objectMap["type"] = fvc.Type
71312	}
71313	return json.Marshal(objectMap)
71314}
71315
71316// AsFactoryVSTSConfiguration is the BasicFactoryRepoConfiguration implementation for FactoryVSTSConfiguration.
71317func (fvc FactoryVSTSConfiguration) AsFactoryVSTSConfiguration() (*FactoryVSTSConfiguration, bool) {
71318	return &fvc, true
71319}
71320
71321// AsFactoryGitHubConfiguration is the BasicFactoryRepoConfiguration implementation for FactoryVSTSConfiguration.
71322func (fvc FactoryVSTSConfiguration) AsFactoryGitHubConfiguration() (*FactoryGitHubConfiguration, bool) {
71323	return nil, false
71324}
71325
71326// AsFactoryRepoConfiguration is the BasicFactoryRepoConfiguration implementation for FactoryVSTSConfiguration.
71327func (fvc FactoryVSTSConfiguration) AsFactoryRepoConfiguration() (*FactoryRepoConfiguration, bool) {
71328	return nil, false
71329}
71330
71331// AsBasicFactoryRepoConfiguration is the BasicFactoryRepoConfiguration implementation for FactoryVSTSConfiguration.
71332func (fvc FactoryVSTSConfiguration) AsBasicFactoryRepoConfiguration() (BasicFactoryRepoConfiguration, bool) {
71333	return &fvc, true
71334}
71335
71336// FileServerLinkedService file system linked service.
71337type FileServerLinkedService struct {
71338	// FileServerLinkedServiceTypeProperties - File system linked service properties.
71339	*FileServerLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
71340	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
71341	AdditionalProperties map[string]interface{} `json:""`
71342	// ConnectVia - The integration runtime reference.
71343	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
71344	// Description - Linked service description.
71345	Description *string `json:"description,omitempty"`
71346	// Parameters - Parameters for linked service.
71347	Parameters map[string]*ParameterSpecification `json:"parameters"`
71348	// Annotations - List of tags that can be used for describing the linked service.
71349	Annotations *[]interface{} `json:"annotations,omitempty"`
71350	// Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', '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', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage'
71351	Type TypeBasicLinkedService `json:"type,omitempty"`
71352}
71353
71354// MarshalJSON is the custom marshaler for FileServerLinkedService.
71355func (fsls FileServerLinkedService) MarshalJSON() ([]byte, error) {
71356	fsls.Type = TypeFileServer
71357	objectMap := make(map[string]interface{})
71358	if fsls.FileServerLinkedServiceTypeProperties != nil {
71359		objectMap["typeProperties"] = fsls.FileServerLinkedServiceTypeProperties
71360	}
71361	if fsls.ConnectVia != nil {
71362		objectMap["connectVia"] = fsls.ConnectVia
71363	}
71364	if fsls.Description != nil {
71365		objectMap["description"] = fsls.Description
71366	}
71367	if fsls.Parameters != nil {
71368		objectMap["parameters"] = fsls.Parameters
71369	}
71370	if fsls.Annotations != nil {
71371		objectMap["annotations"] = fsls.Annotations
71372	}
71373	if fsls.Type != "" {
71374		objectMap["type"] = fsls.Type
71375	}
71376	for k, v := range fsls.AdditionalProperties {
71377		objectMap[k] = v
71378	}
71379	return json.Marshal(objectMap)
71380}
71381
71382// AsAzureFunctionLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
71383func (fsls FileServerLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) {
71384	return nil, false
71385}
71386
71387// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
71388func (fsls FileServerLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) {
71389	return nil, false
71390}
71391
71392// AsSapTableLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
71393func (fsls FileServerLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) {
71394	return nil, false
71395}
71396
71397// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
71398func (fsls FileServerLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) {
71399	return nil, false
71400}
71401
71402// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
71403func (fsls FileServerLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) {
71404	return nil, false
71405}
71406
71407// AsDynamicsAXLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
71408func (fsls FileServerLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) {
71409	return nil, false
71410}
71411
71412// AsResponsysLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
71413func (fsls FileServerLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
71414	return nil, false
71415}
71416
71417// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
71418func (fsls FileServerLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
71419	return nil, false
71420}
71421
71422// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
71423func (fsls FileServerLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
71424	return nil, false
71425}
71426
71427// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
71428func (fsls FileServerLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
71429	return nil, false
71430}
71431
71432// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
71433func (fsls FileServerLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
71434	return nil, false
71435}
71436
71437// AsNetezzaLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
71438func (fsls FileServerLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
71439	return nil, false
71440}
71441
71442// AsVerticaLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
71443func (fsls FileServerLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
71444	return nil, false
71445}
71446
71447// AsZohoLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
71448func (fsls FileServerLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
71449	return nil, false
71450}
71451
71452// AsXeroLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
71453func (fsls FileServerLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
71454	return nil, false
71455}
71456
71457// AsSquareLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
71458func (fsls FileServerLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
71459	return nil, false
71460}
71461
71462// AsSparkLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
71463func (fsls FileServerLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
71464	return nil, false
71465}
71466
71467// AsShopifyLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
71468func (fsls FileServerLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
71469	return nil, false
71470}
71471
71472// AsServiceNowLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
71473func (fsls FileServerLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
71474	return nil, false
71475}
71476
71477// AsQuickBooksLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
71478func (fsls FileServerLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
71479	return nil, false
71480}
71481
71482// AsPrestoLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
71483func (fsls FileServerLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
71484	return nil, false
71485}
71486
71487// AsPhoenixLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
71488func (fsls FileServerLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
71489	return nil, false
71490}
71491
71492// AsPaypalLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
71493func (fsls FileServerLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
71494	return nil, false
71495}
71496
71497// AsMarketoLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
71498func (fsls FileServerLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
71499	return nil, false
71500}
71501
71502// AsMariaDBLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
71503func (fsls FileServerLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
71504	return nil, false
71505}
71506
71507// AsMagentoLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
71508func (fsls FileServerLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
71509	return nil, false
71510}
71511
71512// AsJiraLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
71513func (fsls FileServerLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
71514	return nil, false
71515}
71516
71517// AsImpalaLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
71518func (fsls FileServerLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
71519	return nil, false
71520}
71521
71522// AsHubspotLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
71523func (fsls FileServerLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
71524	return nil, false
71525}
71526
71527// AsHiveLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
71528func (fsls FileServerLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
71529	return nil, false
71530}
71531
71532// AsHBaseLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
71533func (fsls FileServerLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
71534	return nil, false
71535}
71536
71537// AsGreenplumLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
71538func (fsls FileServerLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
71539	return nil, false
71540}
71541
71542// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
71543func (fsls FileServerLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
71544	return nil, false
71545}
71546
71547// AsEloquaLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
71548func (fsls FileServerLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
71549	return nil, false
71550}
71551
71552// AsDrillLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
71553func (fsls FileServerLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
71554	return nil, false
71555}
71556
71557// AsCouchbaseLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
71558func (fsls FileServerLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
71559	return nil, false
71560}
71561
71562// AsConcurLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
71563func (fsls FileServerLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
71564	return nil, false
71565}
71566
71567// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
71568func (fsls FileServerLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
71569	return nil, false
71570}
71571
71572// AsAmazonMWSLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
71573func (fsls FileServerLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
71574	return nil, false
71575}
71576
71577// AsSapHanaLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
71578func (fsls FileServerLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
71579	return nil, false
71580}
71581
71582// AsSapBWLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
71583func (fsls FileServerLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
71584	return nil, false
71585}
71586
71587// AsSftpServerLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
71588func (fsls FileServerLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
71589	return nil, false
71590}
71591
71592// AsFtpServerLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
71593func (fsls FileServerLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
71594	return nil, false
71595}
71596
71597// AsHTTPLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
71598func (fsls FileServerLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
71599	return nil, false
71600}
71601
71602// AsAzureSearchLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
71603func (fsls FileServerLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
71604	return nil, false
71605}
71606
71607// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
71608func (fsls FileServerLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
71609	return nil, false
71610}
71611
71612// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
71613func (fsls FileServerLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
71614	return nil, false
71615}
71616
71617// AsAmazonS3LinkedService is the BasicLinkedService implementation for FileServerLinkedService.
71618func (fsls FileServerLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
71619	return nil, false
71620}
71621
71622// AsRestServiceLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
71623func (fsls FileServerLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) {
71624	return nil, false
71625}
71626
71627// AsSapOpenHubLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
71628func (fsls FileServerLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) {
71629	return nil, false
71630}
71631
71632// AsSapEccLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
71633func (fsls FileServerLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
71634	return nil, false
71635}
71636
71637// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
71638func (fsls FileServerLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
71639	return nil, false
71640}
71641
71642// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
71643func (fsls FileServerLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) {
71644	return nil, false
71645}
71646
71647// AsSalesforceLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
71648func (fsls FileServerLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
71649	return nil, false
71650}
71651
71652// AsOffice365LinkedService is the BasicLinkedService implementation for FileServerLinkedService.
71653func (fsls FileServerLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) {
71654	return nil, false
71655}
71656
71657// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
71658func (fsls FileServerLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) {
71659	return nil, false
71660}
71661
71662// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
71663func (fsls FileServerLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
71664	return nil, false
71665}
71666
71667// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for FileServerLinkedService.
71668func (fsls FileServerLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) {
71669	return nil, false
71670}
71671
71672// AsMongoDbV2LinkedService is the BasicLinkedService implementation for FileServerLinkedService.
71673func (fsls FileServerLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) {
71674	return nil, false
71675}
71676
71677// AsMongoDbLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
71678func (fsls FileServerLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
71679	return nil, false
71680}
71681
71682// AsCassandraLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
71683func (fsls FileServerLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
71684	return nil, false
71685}
71686
71687// AsWebLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
71688func (fsls FileServerLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
71689	return nil, false
71690}
71691
71692// AsODataLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
71693func (fsls FileServerLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
71694	return nil, false
71695}
71696
71697// AsHdfsLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
71698func (fsls FileServerLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
71699	return nil, false
71700}
71701
71702// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
71703func (fsls FileServerLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) {
71704	return nil, false
71705}
71706
71707// AsInformixLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
71708func (fsls FileServerLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) {
71709	return nil, false
71710}
71711
71712// AsOdbcLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
71713func (fsls FileServerLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
71714	return nil, false
71715}
71716
71717// AsAzureMLLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
71718func (fsls FileServerLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
71719	return nil, false
71720}
71721
71722// AsTeradataLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
71723func (fsls FileServerLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
71724	return nil, false
71725}
71726
71727// AsDb2LinkedService is the BasicLinkedService implementation for FileServerLinkedService.
71728func (fsls FileServerLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
71729	return nil, false
71730}
71731
71732// AsSybaseLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
71733func (fsls FileServerLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
71734	return nil, false
71735}
71736
71737// AsPostgreSQLLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
71738func (fsls FileServerLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
71739	return nil, false
71740}
71741
71742// AsMySQLLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
71743func (fsls FileServerLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
71744	return nil, false
71745}
71746
71747// AsAzureMySQLLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
71748func (fsls FileServerLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
71749	return nil, false
71750}
71751
71752// AsOracleLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
71753func (fsls FileServerLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
71754	return nil, false
71755}
71756
71757// AsFileServerLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
71758func (fsls FileServerLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
71759	return &fsls, true
71760}
71761
71762// AsHDInsightLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
71763func (fsls FileServerLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
71764	return nil, false
71765}
71766
71767// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
71768func (fsls FileServerLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) {
71769	return nil, false
71770}
71771
71772// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
71773func (fsls FileServerLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) {
71774	return nil, false
71775}
71776
71777// AsDynamicsLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
71778func (fsls FileServerLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
71779	return nil, false
71780}
71781
71782// AsCosmosDbLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
71783func (fsls FileServerLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
71784	return nil, false
71785}
71786
71787// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
71788func (fsls FileServerLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
71789	return nil, false
71790}
71791
71792// AsAzureBatchLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
71793func (fsls FileServerLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
71794	return nil, false
71795}
71796
71797// AsAzureSQLMILinkedService is the BasicLinkedService implementation for FileServerLinkedService.
71798func (fsls FileServerLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) {
71799	return nil, false
71800}
71801
71802// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
71803func (fsls FileServerLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
71804	return nil, false
71805}
71806
71807// AsSQLServerLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
71808func (fsls FileServerLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
71809	return nil, false
71810}
71811
71812// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
71813func (fsls FileServerLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
71814	return nil, false
71815}
71816
71817// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
71818func (fsls FileServerLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) {
71819	return nil, false
71820}
71821
71822// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
71823func (fsls FileServerLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) {
71824	return nil, false
71825}
71826
71827// AsAzureStorageLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
71828func (fsls FileServerLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
71829	return nil, false
71830}
71831
71832// AsLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
71833func (fsls FileServerLinkedService) AsLinkedService() (*LinkedService, bool) {
71834	return nil, false
71835}
71836
71837// AsBasicLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
71838func (fsls FileServerLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
71839	return &fsls, true
71840}
71841
71842// UnmarshalJSON is the custom unmarshaler for FileServerLinkedService struct.
71843func (fsls *FileServerLinkedService) UnmarshalJSON(body []byte) error {
71844	var m map[string]*json.RawMessage
71845	err := json.Unmarshal(body, &m)
71846	if err != nil {
71847		return err
71848	}
71849	for k, v := range m {
71850		switch k {
71851		case "typeProperties":
71852			if v != nil {
71853				var fileServerLinkedServiceTypeProperties FileServerLinkedServiceTypeProperties
71854				err = json.Unmarshal(*v, &fileServerLinkedServiceTypeProperties)
71855				if err != nil {
71856					return err
71857				}
71858				fsls.FileServerLinkedServiceTypeProperties = &fileServerLinkedServiceTypeProperties
71859			}
71860		default:
71861			if v != nil {
71862				var additionalProperties interface{}
71863				err = json.Unmarshal(*v, &additionalProperties)
71864				if err != nil {
71865					return err
71866				}
71867				if fsls.AdditionalProperties == nil {
71868					fsls.AdditionalProperties = make(map[string]interface{})
71869				}
71870				fsls.AdditionalProperties[k] = additionalProperties
71871			}
71872		case "connectVia":
71873			if v != nil {
71874				var connectVia IntegrationRuntimeReference
71875				err = json.Unmarshal(*v, &connectVia)
71876				if err != nil {
71877					return err
71878				}
71879				fsls.ConnectVia = &connectVia
71880			}
71881		case "description":
71882			if v != nil {
71883				var description string
71884				err = json.Unmarshal(*v, &description)
71885				if err != nil {
71886					return err
71887				}
71888				fsls.Description = &description
71889			}
71890		case "parameters":
71891			if v != nil {
71892				var parameters map[string]*ParameterSpecification
71893				err = json.Unmarshal(*v, &parameters)
71894				if err != nil {
71895					return err
71896				}
71897				fsls.Parameters = parameters
71898			}
71899		case "annotations":
71900			if v != nil {
71901				var annotations []interface{}
71902				err = json.Unmarshal(*v, &annotations)
71903				if err != nil {
71904					return err
71905				}
71906				fsls.Annotations = &annotations
71907			}
71908		case "type":
71909			if v != nil {
71910				var typeVar TypeBasicLinkedService
71911				err = json.Unmarshal(*v, &typeVar)
71912				if err != nil {
71913					return err
71914				}
71915				fsls.Type = typeVar
71916			}
71917		}
71918	}
71919
71920	return nil
71921}
71922
71923// FileServerLinkedServiceTypeProperties file system linked service properties.
71924type FileServerLinkedServiceTypeProperties struct {
71925	// Host - Host name of the server. Type: string (or Expression with resultType string).
71926	Host interface{} `json:"host,omitempty"`
71927	// UserID - User ID to logon the server. Type: string (or Expression with resultType string).
71928	UserID interface{} `json:"userId,omitempty"`
71929	// Password - Password to logon the server.
71930	Password BasicSecretBase `json:"password,omitempty"`
71931	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
71932	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
71933}
71934
71935// UnmarshalJSON is the custom unmarshaler for FileServerLinkedServiceTypeProperties struct.
71936func (fslstp *FileServerLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
71937	var m map[string]*json.RawMessage
71938	err := json.Unmarshal(body, &m)
71939	if err != nil {
71940		return err
71941	}
71942	for k, v := range m {
71943		switch k {
71944		case "host":
71945			if v != nil {
71946				var host interface{}
71947				err = json.Unmarshal(*v, &host)
71948				if err != nil {
71949					return err
71950				}
71951				fslstp.Host = host
71952			}
71953		case "userId":
71954			if v != nil {
71955				var userID interface{}
71956				err = json.Unmarshal(*v, &userID)
71957				if err != nil {
71958					return err
71959				}
71960				fslstp.UserID = userID
71961			}
71962		case "password":
71963			if v != nil {
71964				password, err := unmarshalBasicSecretBase(*v)
71965				if err != nil {
71966					return err
71967				}
71968				fslstp.Password = password
71969			}
71970		case "encryptedCredential":
71971			if v != nil {
71972				var encryptedCredential interface{}
71973				err = json.Unmarshal(*v, &encryptedCredential)
71974				if err != nil {
71975					return err
71976				}
71977				fslstp.EncryptedCredential = encryptedCredential
71978			}
71979		}
71980	}
71981
71982	return nil
71983}
71984
71985// FileServerLocation the location of file server dataset.
71986type FileServerLocation struct {
71987	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
71988	AdditionalProperties map[string]interface{} `json:""`
71989	// Type - Type of dataset storage location.
71990	Type *string `json:"type,omitempty"`
71991	// FolderPath - Specify the folder path of dataset. Type: string (or Expression with resultType string)
71992	FolderPath interface{} `json:"folderPath,omitempty"`
71993	// FileName - Specify the file name of dataset. Type: string (or Expression with resultType string).
71994	FileName interface{} `json:"fileName,omitempty"`
71995}
71996
71997// MarshalJSON is the custom marshaler for FileServerLocation.
71998func (fsl FileServerLocation) MarshalJSON() ([]byte, error) {
71999	objectMap := make(map[string]interface{})
72000	if fsl.Type != nil {
72001		objectMap["type"] = fsl.Type
72002	}
72003	if fsl.FolderPath != nil {
72004		objectMap["folderPath"] = fsl.FolderPath
72005	}
72006	if fsl.FileName != nil {
72007		objectMap["fileName"] = fsl.FileName
72008	}
72009	for k, v := range fsl.AdditionalProperties {
72010		objectMap[k] = v
72011	}
72012	return json.Marshal(objectMap)
72013}
72014
72015// UnmarshalJSON is the custom unmarshaler for FileServerLocation struct.
72016func (fsl *FileServerLocation) UnmarshalJSON(body []byte) error {
72017	var m map[string]*json.RawMessage
72018	err := json.Unmarshal(body, &m)
72019	if err != nil {
72020		return err
72021	}
72022	for k, v := range m {
72023		switch k {
72024		default:
72025			if v != nil {
72026				var additionalProperties interface{}
72027				err = json.Unmarshal(*v, &additionalProperties)
72028				if err != nil {
72029					return err
72030				}
72031				if fsl.AdditionalProperties == nil {
72032					fsl.AdditionalProperties = make(map[string]interface{})
72033				}
72034				fsl.AdditionalProperties[k] = additionalProperties
72035			}
72036		case "type":
72037			if v != nil {
72038				var typeVar string
72039				err = json.Unmarshal(*v, &typeVar)
72040				if err != nil {
72041					return err
72042				}
72043				fsl.Type = &typeVar
72044			}
72045		case "folderPath":
72046			if v != nil {
72047				var folderPath interface{}
72048				err = json.Unmarshal(*v, &folderPath)
72049				if err != nil {
72050					return err
72051				}
72052				fsl.FolderPath = folderPath
72053			}
72054		case "fileName":
72055			if v != nil {
72056				var fileName interface{}
72057				err = json.Unmarshal(*v, &fileName)
72058				if err != nil {
72059					return err
72060				}
72061				fsl.FileName = fileName
72062			}
72063		}
72064	}
72065
72066	return nil
72067}
72068
72069// FileServerReadSettings file server read settings.
72070type FileServerReadSettings struct {
72071	// Recursive - If true, files under the folder path will be read recursively. Default is true. Type: boolean (or Expression with resultType boolean).
72072	Recursive interface{} `json:"recursive,omitempty"`
72073	// WildcardFolderPath - FileServer wildcardFolderPath. Type: string (or Expression with resultType string).
72074	WildcardFolderPath interface{} `json:"wildcardFolderPath,omitempty"`
72075	// WildcardFileName - FileServer wildcardFileName. Type: string (or Expression with resultType string).
72076	WildcardFileName interface{} `json:"wildcardFileName,omitempty"`
72077	// EnablePartitionDiscovery - Indicates whether to enable partition discovery.
72078	EnablePartitionDiscovery *bool `json:"enablePartitionDiscovery,omitempty"`
72079	// ModifiedDatetimeStart - The start of file's modified datetime. Type: string (or Expression with resultType string).
72080	ModifiedDatetimeStart interface{} `json:"modifiedDatetimeStart,omitempty"`
72081	// ModifiedDatetimeEnd - The end of file's modified datetime. Type: string (or Expression with resultType string).
72082	ModifiedDatetimeEnd interface{} `json:"modifiedDatetimeEnd,omitempty"`
72083	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
72084	AdditionalProperties map[string]interface{} `json:""`
72085	// Type - The read setting type.
72086	Type *string `json:"type,omitempty"`
72087	// MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer).
72088	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
72089}
72090
72091// MarshalJSON is the custom marshaler for FileServerReadSettings.
72092func (fsrs FileServerReadSettings) MarshalJSON() ([]byte, error) {
72093	objectMap := make(map[string]interface{})
72094	if fsrs.Recursive != nil {
72095		objectMap["recursive"] = fsrs.Recursive
72096	}
72097	if fsrs.WildcardFolderPath != nil {
72098		objectMap["wildcardFolderPath"] = fsrs.WildcardFolderPath
72099	}
72100	if fsrs.WildcardFileName != nil {
72101		objectMap["wildcardFileName"] = fsrs.WildcardFileName
72102	}
72103	if fsrs.EnablePartitionDiscovery != nil {
72104		objectMap["enablePartitionDiscovery"] = fsrs.EnablePartitionDiscovery
72105	}
72106	if fsrs.ModifiedDatetimeStart != nil {
72107		objectMap["modifiedDatetimeStart"] = fsrs.ModifiedDatetimeStart
72108	}
72109	if fsrs.ModifiedDatetimeEnd != nil {
72110		objectMap["modifiedDatetimeEnd"] = fsrs.ModifiedDatetimeEnd
72111	}
72112	if fsrs.Type != nil {
72113		objectMap["type"] = fsrs.Type
72114	}
72115	if fsrs.MaxConcurrentConnections != nil {
72116		objectMap["maxConcurrentConnections"] = fsrs.MaxConcurrentConnections
72117	}
72118	for k, v := range fsrs.AdditionalProperties {
72119		objectMap[k] = v
72120	}
72121	return json.Marshal(objectMap)
72122}
72123
72124// UnmarshalJSON is the custom unmarshaler for FileServerReadSettings struct.
72125func (fsrs *FileServerReadSettings) UnmarshalJSON(body []byte) error {
72126	var m map[string]*json.RawMessage
72127	err := json.Unmarshal(body, &m)
72128	if err != nil {
72129		return err
72130	}
72131	for k, v := range m {
72132		switch k {
72133		case "recursive":
72134			if v != nil {
72135				var recursive interface{}
72136				err = json.Unmarshal(*v, &recursive)
72137				if err != nil {
72138					return err
72139				}
72140				fsrs.Recursive = recursive
72141			}
72142		case "wildcardFolderPath":
72143			if v != nil {
72144				var wildcardFolderPath interface{}
72145				err = json.Unmarshal(*v, &wildcardFolderPath)
72146				if err != nil {
72147					return err
72148				}
72149				fsrs.WildcardFolderPath = wildcardFolderPath
72150			}
72151		case "wildcardFileName":
72152			if v != nil {
72153				var wildcardFileName interface{}
72154				err = json.Unmarshal(*v, &wildcardFileName)
72155				if err != nil {
72156					return err
72157				}
72158				fsrs.WildcardFileName = wildcardFileName
72159			}
72160		case "enablePartitionDiscovery":
72161			if v != nil {
72162				var enablePartitionDiscovery bool
72163				err = json.Unmarshal(*v, &enablePartitionDiscovery)
72164				if err != nil {
72165					return err
72166				}
72167				fsrs.EnablePartitionDiscovery = &enablePartitionDiscovery
72168			}
72169		case "modifiedDatetimeStart":
72170			if v != nil {
72171				var modifiedDatetimeStart interface{}
72172				err = json.Unmarshal(*v, &modifiedDatetimeStart)
72173				if err != nil {
72174					return err
72175				}
72176				fsrs.ModifiedDatetimeStart = modifiedDatetimeStart
72177			}
72178		case "modifiedDatetimeEnd":
72179			if v != nil {
72180				var modifiedDatetimeEnd interface{}
72181				err = json.Unmarshal(*v, &modifiedDatetimeEnd)
72182				if err != nil {
72183					return err
72184				}
72185				fsrs.ModifiedDatetimeEnd = modifiedDatetimeEnd
72186			}
72187		default:
72188			if v != nil {
72189				var additionalProperties interface{}
72190				err = json.Unmarshal(*v, &additionalProperties)
72191				if err != nil {
72192					return err
72193				}
72194				if fsrs.AdditionalProperties == nil {
72195					fsrs.AdditionalProperties = make(map[string]interface{})
72196				}
72197				fsrs.AdditionalProperties[k] = additionalProperties
72198			}
72199		case "type":
72200			if v != nil {
72201				var typeVar string
72202				err = json.Unmarshal(*v, &typeVar)
72203				if err != nil {
72204					return err
72205				}
72206				fsrs.Type = &typeVar
72207			}
72208		case "maxConcurrentConnections":
72209			if v != nil {
72210				var maxConcurrentConnections interface{}
72211				err = json.Unmarshal(*v, &maxConcurrentConnections)
72212				if err != nil {
72213					return err
72214				}
72215				fsrs.MaxConcurrentConnections = maxConcurrentConnections
72216			}
72217		}
72218	}
72219
72220	return nil
72221}
72222
72223// FileServerWriteSettings file server write settings.
72224type FileServerWriteSettings struct {
72225	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
72226	AdditionalProperties map[string]interface{} `json:""`
72227	// Type - The write setting type.
72228	Type *string `json:"type,omitempty"`
72229	// MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer).
72230	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
72231	// CopyBehavior - The type of copy behavior for copy sink.
72232	CopyBehavior interface{} `json:"copyBehavior,omitempty"`
72233}
72234
72235// MarshalJSON is the custom marshaler for FileServerWriteSettings.
72236func (fsws FileServerWriteSettings) MarshalJSON() ([]byte, error) {
72237	objectMap := make(map[string]interface{})
72238	if fsws.Type != nil {
72239		objectMap["type"] = fsws.Type
72240	}
72241	if fsws.MaxConcurrentConnections != nil {
72242		objectMap["maxConcurrentConnections"] = fsws.MaxConcurrentConnections
72243	}
72244	if fsws.CopyBehavior != nil {
72245		objectMap["copyBehavior"] = fsws.CopyBehavior
72246	}
72247	for k, v := range fsws.AdditionalProperties {
72248		objectMap[k] = v
72249	}
72250	return json.Marshal(objectMap)
72251}
72252
72253// UnmarshalJSON is the custom unmarshaler for FileServerWriteSettings struct.
72254func (fsws *FileServerWriteSettings) UnmarshalJSON(body []byte) error {
72255	var m map[string]*json.RawMessage
72256	err := json.Unmarshal(body, &m)
72257	if err != nil {
72258		return err
72259	}
72260	for k, v := range m {
72261		switch k {
72262		default:
72263			if v != nil {
72264				var additionalProperties interface{}
72265				err = json.Unmarshal(*v, &additionalProperties)
72266				if err != nil {
72267					return err
72268				}
72269				if fsws.AdditionalProperties == nil {
72270					fsws.AdditionalProperties = make(map[string]interface{})
72271				}
72272				fsws.AdditionalProperties[k] = additionalProperties
72273			}
72274		case "type":
72275			if v != nil {
72276				var typeVar string
72277				err = json.Unmarshal(*v, &typeVar)
72278				if err != nil {
72279					return err
72280				}
72281				fsws.Type = &typeVar
72282			}
72283		case "maxConcurrentConnections":
72284			if v != nil {
72285				var maxConcurrentConnections interface{}
72286				err = json.Unmarshal(*v, &maxConcurrentConnections)
72287				if err != nil {
72288					return err
72289				}
72290				fsws.MaxConcurrentConnections = maxConcurrentConnections
72291			}
72292		case "copyBehavior":
72293			if v != nil {
72294				var copyBehavior interface{}
72295				err = json.Unmarshal(*v, &copyBehavior)
72296				if err != nil {
72297					return err
72298				}
72299				fsws.CopyBehavior = copyBehavior
72300			}
72301		}
72302	}
72303
72304	return nil
72305}
72306
72307// FileShareDataset an on-premises file system dataset.
72308type FileShareDataset struct {
72309	// FileShareDatasetTypeProperties - On-premises file system dataset properties.
72310	*FileShareDatasetTypeProperties `json:"typeProperties,omitempty"`
72311	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
72312	AdditionalProperties map[string]interface{} `json:""`
72313	// Description - Dataset description.
72314	Description *string `json:"description,omitempty"`
72315	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
72316	Structure interface{} `json:"structure,omitempty"`
72317	// Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement.
72318	Schema interface{} `json:"schema,omitempty"`
72319	// LinkedServiceName - Linked service reference.
72320	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
72321	// Parameters - Parameters for dataset.
72322	Parameters map[string]*ParameterSpecification `json:"parameters"`
72323	// Annotations - List of tags that can be used for describing the Dataset.
72324	Annotations *[]interface{} `json:"annotations,omitempty"`
72325	// Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level.
72326	Folder *DatasetFolder `json:"folder,omitempty"`
72327	// Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', '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', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeDelimitedText', 'TypeParquet', 'TypeAmazonS3Object'
72328	Type TypeBasicDataset `json:"type,omitempty"`
72329}
72330
72331// MarshalJSON is the custom marshaler for FileShareDataset.
72332func (fsd FileShareDataset) MarshalJSON() ([]byte, error) {
72333	fsd.Type = TypeFileShare
72334	objectMap := make(map[string]interface{})
72335	if fsd.FileShareDatasetTypeProperties != nil {
72336		objectMap["typeProperties"] = fsd.FileShareDatasetTypeProperties
72337	}
72338	if fsd.Description != nil {
72339		objectMap["description"] = fsd.Description
72340	}
72341	if fsd.Structure != nil {
72342		objectMap["structure"] = fsd.Structure
72343	}
72344	if fsd.Schema != nil {
72345		objectMap["schema"] = fsd.Schema
72346	}
72347	if fsd.LinkedServiceName != nil {
72348		objectMap["linkedServiceName"] = fsd.LinkedServiceName
72349	}
72350	if fsd.Parameters != nil {
72351		objectMap["parameters"] = fsd.Parameters
72352	}
72353	if fsd.Annotations != nil {
72354		objectMap["annotations"] = fsd.Annotations
72355	}
72356	if fsd.Folder != nil {
72357		objectMap["folder"] = fsd.Folder
72358	}
72359	if fsd.Type != "" {
72360		objectMap["type"] = fsd.Type
72361	}
72362	for k, v := range fsd.AdditionalProperties {
72363		objectMap[k] = v
72364	}
72365	return json.Marshal(objectMap)
72366}
72367
72368// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for FileShareDataset.
72369func (fsd FileShareDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) {
72370	return nil, false
72371}
72372
72373// AsAzureDataExplorerTableDataset is the BasicDataset implementation for FileShareDataset.
72374func (fsd FileShareDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) {
72375	return nil, false
72376}
72377
72378// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for FileShareDataset.
72379func (fsd FileShareDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) {
72380	return nil, false
72381}
72382
72383// AsDynamicsAXResourceDataset is the BasicDataset implementation for FileShareDataset.
72384func (fsd FileShareDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) {
72385	return nil, false
72386}
72387
72388// AsResponsysObjectDataset is the BasicDataset implementation for FileShareDataset.
72389func (fsd FileShareDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
72390	return nil, false
72391}
72392
72393// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for FileShareDataset.
72394func (fsd FileShareDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
72395	return nil, false
72396}
72397
72398// AsVerticaTableDataset is the BasicDataset implementation for FileShareDataset.
72399func (fsd FileShareDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
72400	return nil, false
72401}
72402
72403// AsNetezzaTableDataset is the BasicDataset implementation for FileShareDataset.
72404func (fsd FileShareDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
72405	return nil, false
72406}
72407
72408// AsZohoObjectDataset is the BasicDataset implementation for FileShareDataset.
72409func (fsd FileShareDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
72410	return nil, false
72411}
72412
72413// AsXeroObjectDataset is the BasicDataset implementation for FileShareDataset.
72414func (fsd FileShareDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
72415	return nil, false
72416}
72417
72418// AsSquareObjectDataset is the BasicDataset implementation for FileShareDataset.
72419func (fsd FileShareDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
72420	return nil, false
72421}
72422
72423// AsSparkObjectDataset is the BasicDataset implementation for FileShareDataset.
72424func (fsd FileShareDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
72425	return nil, false
72426}
72427
72428// AsShopifyObjectDataset is the BasicDataset implementation for FileShareDataset.
72429func (fsd FileShareDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
72430	return nil, false
72431}
72432
72433// AsServiceNowObjectDataset is the BasicDataset implementation for FileShareDataset.
72434func (fsd FileShareDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
72435	return nil, false
72436}
72437
72438// AsQuickBooksObjectDataset is the BasicDataset implementation for FileShareDataset.
72439func (fsd FileShareDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
72440	return nil, false
72441}
72442
72443// AsPrestoObjectDataset is the BasicDataset implementation for FileShareDataset.
72444func (fsd FileShareDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
72445	return nil, false
72446}
72447
72448// AsPhoenixObjectDataset is the BasicDataset implementation for FileShareDataset.
72449func (fsd FileShareDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
72450	return nil, false
72451}
72452
72453// AsPaypalObjectDataset is the BasicDataset implementation for FileShareDataset.
72454func (fsd FileShareDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
72455	return nil, false
72456}
72457
72458// AsMarketoObjectDataset is the BasicDataset implementation for FileShareDataset.
72459func (fsd FileShareDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
72460	return nil, false
72461}
72462
72463// AsMariaDBTableDataset is the BasicDataset implementation for FileShareDataset.
72464func (fsd FileShareDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
72465	return nil, false
72466}
72467
72468// AsMagentoObjectDataset is the BasicDataset implementation for FileShareDataset.
72469func (fsd FileShareDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
72470	return nil, false
72471}
72472
72473// AsJiraObjectDataset is the BasicDataset implementation for FileShareDataset.
72474func (fsd FileShareDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
72475	return nil, false
72476}
72477
72478// AsImpalaObjectDataset is the BasicDataset implementation for FileShareDataset.
72479func (fsd FileShareDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
72480	return nil, false
72481}
72482
72483// AsHubspotObjectDataset is the BasicDataset implementation for FileShareDataset.
72484func (fsd FileShareDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
72485	return nil, false
72486}
72487
72488// AsHiveObjectDataset is the BasicDataset implementation for FileShareDataset.
72489func (fsd FileShareDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
72490	return nil, false
72491}
72492
72493// AsHBaseObjectDataset is the BasicDataset implementation for FileShareDataset.
72494func (fsd FileShareDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
72495	return nil, false
72496}
72497
72498// AsGreenplumTableDataset is the BasicDataset implementation for FileShareDataset.
72499func (fsd FileShareDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
72500	return nil, false
72501}
72502
72503// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for FileShareDataset.
72504func (fsd FileShareDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
72505	return nil, false
72506}
72507
72508// AsEloquaObjectDataset is the BasicDataset implementation for FileShareDataset.
72509func (fsd FileShareDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
72510	return nil, false
72511}
72512
72513// AsDrillTableDataset is the BasicDataset implementation for FileShareDataset.
72514func (fsd FileShareDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
72515	return nil, false
72516}
72517
72518// AsCouchbaseTableDataset is the BasicDataset implementation for FileShareDataset.
72519func (fsd FileShareDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
72520	return nil, false
72521}
72522
72523// AsConcurObjectDataset is the BasicDataset implementation for FileShareDataset.
72524func (fsd FileShareDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
72525	return nil, false
72526}
72527
72528// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for FileShareDataset.
72529func (fsd FileShareDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
72530	return nil, false
72531}
72532
72533// AsAmazonMWSObjectDataset is the BasicDataset implementation for FileShareDataset.
72534func (fsd FileShareDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
72535	return nil, false
72536}
72537
72538// AsHTTPDataset is the BasicDataset implementation for FileShareDataset.
72539func (fsd FileShareDataset) AsHTTPDataset() (*HTTPDataset, bool) {
72540	return nil, false
72541}
72542
72543// AsAzureSearchIndexDataset is the BasicDataset implementation for FileShareDataset.
72544func (fsd FileShareDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
72545	return nil, false
72546}
72547
72548// AsWebTableDataset is the BasicDataset implementation for FileShareDataset.
72549func (fsd FileShareDataset) AsWebTableDataset() (*WebTableDataset, bool) {
72550	return nil, false
72551}
72552
72553// AsSapTableResourceDataset is the BasicDataset implementation for FileShareDataset.
72554func (fsd FileShareDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) {
72555	return nil, false
72556}
72557
72558// AsRestResourceDataset is the BasicDataset implementation for FileShareDataset.
72559func (fsd FileShareDataset) AsRestResourceDataset() (*RestResourceDataset, bool) {
72560	return nil, false
72561}
72562
72563// AsSQLServerTableDataset is the BasicDataset implementation for FileShareDataset.
72564func (fsd FileShareDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
72565	return nil, false
72566}
72567
72568// AsSapOpenHubTableDataset is the BasicDataset implementation for FileShareDataset.
72569func (fsd FileShareDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) {
72570	return nil, false
72571}
72572
72573// AsSapHanaTableDataset is the BasicDataset implementation for FileShareDataset.
72574func (fsd FileShareDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) {
72575	return nil, false
72576}
72577
72578// AsSapEccResourceDataset is the BasicDataset implementation for FileShareDataset.
72579func (fsd FileShareDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
72580	return nil, false
72581}
72582
72583// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for FileShareDataset.
72584func (fsd FileShareDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
72585	return nil, false
72586}
72587
72588// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for FileShareDataset.
72589func (fsd FileShareDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) {
72590	return nil, false
72591}
72592
72593// AsSalesforceObjectDataset is the BasicDataset implementation for FileShareDataset.
72594func (fsd FileShareDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
72595	return nil, false
72596}
72597
72598// AsMicrosoftAccessTableDataset is the BasicDataset implementation for FileShareDataset.
72599func (fsd FileShareDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) {
72600	return nil, false
72601}
72602
72603// AsPostgreSQLTableDataset is the BasicDataset implementation for FileShareDataset.
72604func (fsd FileShareDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) {
72605	return nil, false
72606}
72607
72608// AsMySQLTableDataset is the BasicDataset implementation for FileShareDataset.
72609func (fsd FileShareDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) {
72610	return nil, false
72611}
72612
72613// AsOdbcTableDataset is the BasicDataset implementation for FileShareDataset.
72614func (fsd FileShareDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) {
72615	return nil, false
72616}
72617
72618// AsInformixTableDataset is the BasicDataset implementation for FileShareDataset.
72619func (fsd FileShareDataset) AsInformixTableDataset() (*InformixTableDataset, bool) {
72620	return nil, false
72621}
72622
72623// AsRelationalTableDataset is the BasicDataset implementation for FileShareDataset.
72624func (fsd FileShareDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
72625	return nil, false
72626}
72627
72628// AsAzureMySQLTableDataset is the BasicDataset implementation for FileShareDataset.
72629func (fsd FileShareDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
72630	return nil, false
72631}
72632
72633// AsTeradataTableDataset is the BasicDataset implementation for FileShareDataset.
72634func (fsd FileShareDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) {
72635	return nil, false
72636}
72637
72638// AsOracleTableDataset is the BasicDataset implementation for FileShareDataset.
72639func (fsd FileShareDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
72640	return nil, false
72641}
72642
72643// AsODataResourceDataset is the BasicDataset implementation for FileShareDataset.
72644func (fsd FileShareDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
72645	return nil, false
72646}
72647
72648// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for FileShareDataset.
72649func (fsd FileShareDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) {
72650	return nil, false
72651}
72652
72653// AsMongoDbV2CollectionDataset is the BasicDataset implementation for FileShareDataset.
72654func (fsd FileShareDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) {
72655	return nil, false
72656}
72657
72658// AsMongoDbCollectionDataset is the BasicDataset implementation for FileShareDataset.
72659func (fsd FileShareDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
72660	return nil, false
72661}
72662
72663// AsFileShareDataset is the BasicDataset implementation for FileShareDataset.
72664func (fsd FileShareDataset) AsFileShareDataset() (*FileShareDataset, bool) {
72665	return &fsd, true
72666}
72667
72668// AsOffice365Dataset is the BasicDataset implementation for FileShareDataset.
72669func (fsd FileShareDataset) AsOffice365Dataset() (*Office365Dataset, bool) {
72670	return nil, false
72671}
72672
72673// AsAzureBlobFSDataset is the BasicDataset implementation for FileShareDataset.
72674func (fsd FileShareDataset) AsAzureBlobFSDataset() (*AzureBlobFSDataset, bool) {
72675	return nil, false
72676}
72677
72678// AsAzureDataLakeStoreDataset is the BasicDataset implementation for FileShareDataset.
72679func (fsd FileShareDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) {
72680	return nil, false
72681}
72682
72683// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for FileShareDataset.
72684func (fsd FileShareDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) {
72685	return nil, false
72686}
72687
72688// AsDynamicsCrmEntityDataset is the BasicDataset implementation for FileShareDataset.
72689func (fsd FileShareDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) {
72690	return nil, false
72691}
72692
72693// AsDynamicsEntityDataset is the BasicDataset implementation for FileShareDataset.
72694func (fsd FileShareDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
72695	return nil, false
72696}
72697
72698// AsDocumentDbCollectionDataset is the BasicDataset implementation for FileShareDataset.
72699func (fsd FileShareDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
72700	return nil, false
72701}
72702
72703// AsCustomDataset is the BasicDataset implementation for FileShareDataset.
72704func (fsd FileShareDataset) AsCustomDataset() (*CustomDataset, bool) {
72705	return nil, false
72706}
72707
72708// AsCassandraTableDataset is the BasicDataset implementation for FileShareDataset.
72709func (fsd FileShareDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
72710	return nil, false
72711}
72712
72713// AsAzureSQLDWTableDataset is the BasicDataset implementation for FileShareDataset.
72714func (fsd FileShareDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
72715	return nil, false
72716}
72717
72718// AsAzureSQLMITableDataset is the BasicDataset implementation for FileShareDataset.
72719func (fsd FileShareDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) {
72720	return nil, false
72721}
72722
72723// AsAzureSQLTableDataset is the BasicDataset implementation for FileShareDataset.
72724func (fsd FileShareDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
72725	return nil, false
72726}
72727
72728// AsAzureTableDataset is the BasicDataset implementation for FileShareDataset.
72729func (fsd FileShareDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
72730	return nil, false
72731}
72732
72733// AsAzureBlobDataset is the BasicDataset implementation for FileShareDataset.
72734func (fsd FileShareDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) {
72735	return nil, false
72736}
72737
72738// AsBinaryDataset is the BasicDataset implementation for FileShareDataset.
72739func (fsd FileShareDataset) AsBinaryDataset() (*BinaryDataset, bool) {
72740	return nil, false
72741}
72742
72743// AsDelimitedTextDataset is the BasicDataset implementation for FileShareDataset.
72744func (fsd FileShareDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) {
72745	return nil, false
72746}
72747
72748// AsParquetDataset is the BasicDataset implementation for FileShareDataset.
72749func (fsd FileShareDataset) AsParquetDataset() (*ParquetDataset, bool) {
72750	return nil, false
72751}
72752
72753// AsAmazonS3Dataset is the BasicDataset implementation for FileShareDataset.
72754func (fsd FileShareDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) {
72755	return nil, false
72756}
72757
72758// AsDataset is the BasicDataset implementation for FileShareDataset.
72759func (fsd FileShareDataset) AsDataset() (*Dataset, bool) {
72760	return nil, false
72761}
72762
72763// AsBasicDataset is the BasicDataset implementation for FileShareDataset.
72764func (fsd FileShareDataset) AsBasicDataset() (BasicDataset, bool) {
72765	return &fsd, true
72766}
72767
72768// UnmarshalJSON is the custom unmarshaler for FileShareDataset struct.
72769func (fsd *FileShareDataset) UnmarshalJSON(body []byte) error {
72770	var m map[string]*json.RawMessage
72771	err := json.Unmarshal(body, &m)
72772	if err != nil {
72773		return err
72774	}
72775	for k, v := range m {
72776		switch k {
72777		case "typeProperties":
72778			if v != nil {
72779				var fileShareDatasetTypeProperties FileShareDatasetTypeProperties
72780				err = json.Unmarshal(*v, &fileShareDatasetTypeProperties)
72781				if err != nil {
72782					return err
72783				}
72784				fsd.FileShareDatasetTypeProperties = &fileShareDatasetTypeProperties
72785			}
72786		default:
72787			if v != nil {
72788				var additionalProperties interface{}
72789				err = json.Unmarshal(*v, &additionalProperties)
72790				if err != nil {
72791					return err
72792				}
72793				if fsd.AdditionalProperties == nil {
72794					fsd.AdditionalProperties = make(map[string]interface{})
72795				}
72796				fsd.AdditionalProperties[k] = additionalProperties
72797			}
72798		case "description":
72799			if v != nil {
72800				var description string
72801				err = json.Unmarshal(*v, &description)
72802				if err != nil {
72803					return err
72804				}
72805				fsd.Description = &description
72806			}
72807		case "structure":
72808			if v != nil {
72809				var structure interface{}
72810				err = json.Unmarshal(*v, &structure)
72811				if err != nil {
72812					return err
72813				}
72814				fsd.Structure = structure
72815			}
72816		case "schema":
72817			if v != nil {
72818				var schema interface{}
72819				err = json.Unmarshal(*v, &schema)
72820				if err != nil {
72821					return err
72822				}
72823				fsd.Schema = schema
72824			}
72825		case "linkedServiceName":
72826			if v != nil {
72827				var linkedServiceName LinkedServiceReference
72828				err = json.Unmarshal(*v, &linkedServiceName)
72829				if err != nil {
72830					return err
72831				}
72832				fsd.LinkedServiceName = &linkedServiceName
72833			}
72834		case "parameters":
72835			if v != nil {
72836				var parameters map[string]*ParameterSpecification
72837				err = json.Unmarshal(*v, &parameters)
72838				if err != nil {
72839					return err
72840				}
72841				fsd.Parameters = parameters
72842			}
72843		case "annotations":
72844			if v != nil {
72845				var annotations []interface{}
72846				err = json.Unmarshal(*v, &annotations)
72847				if err != nil {
72848					return err
72849				}
72850				fsd.Annotations = &annotations
72851			}
72852		case "folder":
72853			if v != nil {
72854				var folder DatasetFolder
72855				err = json.Unmarshal(*v, &folder)
72856				if err != nil {
72857					return err
72858				}
72859				fsd.Folder = &folder
72860			}
72861		case "type":
72862			if v != nil {
72863				var typeVar TypeBasicDataset
72864				err = json.Unmarshal(*v, &typeVar)
72865				if err != nil {
72866					return err
72867				}
72868				fsd.Type = typeVar
72869			}
72870		}
72871	}
72872
72873	return nil
72874}
72875
72876// FileShareDatasetTypeProperties on-premises file system dataset properties.
72877type FileShareDatasetTypeProperties struct {
72878	// FolderPath - The path of the on-premises file system. Type: string (or Expression with resultType string).
72879	FolderPath interface{} `json:"folderPath,omitempty"`
72880	// FileName - The name of the on-premises file system. Type: string (or Expression with resultType string).
72881	FileName interface{} `json:"fileName,omitempty"`
72882	// ModifiedDatetimeStart - The start of file's modified datetime. Type: string (or Expression with resultType string).
72883	ModifiedDatetimeStart interface{} `json:"modifiedDatetimeStart,omitempty"`
72884	// ModifiedDatetimeEnd - The end of file's modified datetime. Type: string (or Expression with resultType string).
72885	ModifiedDatetimeEnd interface{} `json:"modifiedDatetimeEnd,omitempty"`
72886	// Format - The format of the files.
72887	Format BasicDatasetStorageFormat `json:"format,omitempty"`
72888	// 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).
72889	FileFilter interface{} `json:"fileFilter,omitempty"`
72890	// Compression - The data compression method used for the file system.
72891	Compression BasicDatasetCompression `json:"compression,omitempty"`
72892}
72893
72894// UnmarshalJSON is the custom unmarshaler for FileShareDatasetTypeProperties struct.
72895func (fsdtp *FileShareDatasetTypeProperties) UnmarshalJSON(body []byte) error {
72896	var m map[string]*json.RawMessage
72897	err := json.Unmarshal(body, &m)
72898	if err != nil {
72899		return err
72900	}
72901	for k, v := range m {
72902		switch k {
72903		case "folderPath":
72904			if v != nil {
72905				var folderPath interface{}
72906				err = json.Unmarshal(*v, &folderPath)
72907				if err != nil {
72908					return err
72909				}
72910				fsdtp.FolderPath = folderPath
72911			}
72912		case "fileName":
72913			if v != nil {
72914				var fileName interface{}
72915				err = json.Unmarshal(*v, &fileName)
72916				if err != nil {
72917					return err
72918				}
72919				fsdtp.FileName = fileName
72920			}
72921		case "modifiedDatetimeStart":
72922			if v != nil {
72923				var modifiedDatetimeStart interface{}
72924				err = json.Unmarshal(*v, &modifiedDatetimeStart)
72925				if err != nil {
72926					return err
72927				}
72928				fsdtp.ModifiedDatetimeStart = modifiedDatetimeStart
72929			}
72930		case "modifiedDatetimeEnd":
72931			if v != nil {
72932				var modifiedDatetimeEnd interface{}
72933				err = json.Unmarshal(*v, &modifiedDatetimeEnd)
72934				if err != nil {
72935					return err
72936				}
72937				fsdtp.ModifiedDatetimeEnd = modifiedDatetimeEnd
72938			}
72939		case "format":
72940			if v != nil {
72941				formatVar, err := unmarshalBasicDatasetStorageFormat(*v)
72942				if err != nil {
72943					return err
72944				}
72945				fsdtp.Format = formatVar
72946			}
72947		case "fileFilter":
72948			if v != nil {
72949				var fileFilter interface{}
72950				err = json.Unmarshal(*v, &fileFilter)
72951				if err != nil {
72952					return err
72953				}
72954				fsdtp.FileFilter = fileFilter
72955			}
72956		case "compression":
72957			if v != nil {
72958				compression, err := unmarshalBasicDatasetCompression(*v)
72959				if err != nil {
72960					return err
72961				}
72962				fsdtp.Compression = compression
72963			}
72964		}
72965	}
72966
72967	return nil
72968}
72969
72970// FileSystemSink a copy activity file system sink.
72971type FileSystemSink struct {
72972	// CopyBehavior - The type of copy behavior for copy sink.
72973	CopyBehavior interface{} `json:"copyBehavior,omitempty"`
72974	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
72975	AdditionalProperties map[string]interface{} `json:""`
72976	// WriteBatchSize - Write batch size. Type: integer (or Expression with resultType integer), minimum: 0.
72977	WriteBatchSize interface{} `json:"writeBatchSize,omitempty"`
72978	// 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])).
72979	WriteBatchTimeout interface{} `json:"writeBatchTimeout,omitempty"`
72980	// SinkRetryCount - Sink retry count. Type: integer (or Expression with resultType integer).
72981	SinkRetryCount interface{} `json:"sinkRetryCount,omitempty"`
72982	// 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])).
72983	SinkRetryWait interface{} `json:"sinkRetryWait,omitempty"`
72984	// MaxConcurrentConnections - The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer).
72985	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
72986	// Type - Possible values include: 'TypeCopySink', 'TypeCosmosDbMongoDbAPISink', 'TypeSalesforceServiceCloudSink', 'TypeSalesforceSink', 'TypeAzureDataExplorerSink', 'TypeCommonDataServiceForAppsSink', 'TypeDynamicsCrmSink', 'TypeDynamicsSink', 'TypeMicrosoftAccessSink', 'TypeInformixSink', 'TypeOdbcSink', 'TypeAzureSearchIndexSink', 'TypeAzureBlobFSSink', 'TypeAzureDataLakeStoreSink', 'TypeOracleSink', 'TypeSQLDWSink', 'TypeSQLMISink', 'TypeAzureSQLSink', 'TypeSQLServerSink', 'TypeSQLSink', 'TypeDocumentDbCollectionSink', 'TypeFileSystemSink', 'TypeBlobSink', 'TypeBinarySink', 'TypeParquetSink', 'TypeAzureTableSink', 'TypeAzureQueueSink', 'TypeSapCloudForCustomerSink', 'TypeAzurePostgreSQLSink', 'TypeDelimitedTextSink'
72987	Type TypeBasicCopySink `json:"type,omitempty"`
72988}
72989
72990// MarshalJSON is the custom marshaler for FileSystemSink.
72991func (fss FileSystemSink) MarshalJSON() ([]byte, error) {
72992	fss.Type = TypeFileSystemSink
72993	objectMap := make(map[string]interface{})
72994	if fss.CopyBehavior != nil {
72995		objectMap["copyBehavior"] = fss.CopyBehavior
72996	}
72997	if fss.WriteBatchSize != nil {
72998		objectMap["writeBatchSize"] = fss.WriteBatchSize
72999	}
73000	if fss.WriteBatchTimeout != nil {
73001		objectMap["writeBatchTimeout"] = fss.WriteBatchTimeout
73002	}
73003	if fss.SinkRetryCount != nil {
73004		objectMap["sinkRetryCount"] = fss.SinkRetryCount
73005	}
73006	if fss.SinkRetryWait != nil {
73007		objectMap["sinkRetryWait"] = fss.SinkRetryWait
73008	}
73009	if fss.MaxConcurrentConnections != nil {
73010		objectMap["maxConcurrentConnections"] = fss.MaxConcurrentConnections
73011	}
73012	if fss.Type != "" {
73013		objectMap["type"] = fss.Type
73014	}
73015	for k, v := range fss.AdditionalProperties {
73016		objectMap[k] = v
73017	}
73018	return json.Marshal(objectMap)
73019}
73020
73021// AsCosmosDbMongoDbAPISink is the BasicCopySink implementation for FileSystemSink.
73022func (fss FileSystemSink) AsCosmosDbMongoDbAPISink() (*CosmosDbMongoDbAPISink, bool) {
73023	return nil, false
73024}
73025
73026// AsSalesforceServiceCloudSink is the BasicCopySink implementation for FileSystemSink.
73027func (fss FileSystemSink) AsSalesforceServiceCloudSink() (*SalesforceServiceCloudSink, bool) {
73028	return nil, false
73029}
73030
73031// AsSalesforceSink is the BasicCopySink implementation for FileSystemSink.
73032func (fss FileSystemSink) AsSalesforceSink() (*SalesforceSink, bool) {
73033	return nil, false
73034}
73035
73036// AsAzureDataExplorerSink is the BasicCopySink implementation for FileSystemSink.
73037func (fss FileSystemSink) AsAzureDataExplorerSink() (*AzureDataExplorerSink, bool) {
73038	return nil, false
73039}
73040
73041// AsCommonDataServiceForAppsSink is the BasicCopySink implementation for FileSystemSink.
73042func (fss FileSystemSink) AsCommonDataServiceForAppsSink() (*CommonDataServiceForAppsSink, bool) {
73043	return nil, false
73044}
73045
73046// AsDynamicsCrmSink is the BasicCopySink implementation for FileSystemSink.
73047func (fss FileSystemSink) AsDynamicsCrmSink() (*DynamicsCrmSink, bool) {
73048	return nil, false
73049}
73050
73051// AsDynamicsSink is the BasicCopySink implementation for FileSystemSink.
73052func (fss FileSystemSink) AsDynamicsSink() (*DynamicsSink, bool) {
73053	return nil, false
73054}
73055
73056// AsMicrosoftAccessSink is the BasicCopySink implementation for FileSystemSink.
73057func (fss FileSystemSink) AsMicrosoftAccessSink() (*MicrosoftAccessSink, bool) {
73058	return nil, false
73059}
73060
73061// AsInformixSink is the BasicCopySink implementation for FileSystemSink.
73062func (fss FileSystemSink) AsInformixSink() (*InformixSink, bool) {
73063	return nil, false
73064}
73065
73066// AsOdbcSink is the BasicCopySink implementation for FileSystemSink.
73067func (fss FileSystemSink) AsOdbcSink() (*OdbcSink, bool) {
73068	return nil, false
73069}
73070
73071// AsAzureSearchIndexSink is the BasicCopySink implementation for FileSystemSink.
73072func (fss FileSystemSink) AsAzureSearchIndexSink() (*AzureSearchIndexSink, bool) {
73073	return nil, false
73074}
73075
73076// AsAzureBlobFSSink is the BasicCopySink implementation for FileSystemSink.
73077func (fss FileSystemSink) AsAzureBlobFSSink() (*AzureBlobFSSink, bool) {
73078	return nil, false
73079}
73080
73081// AsAzureDataLakeStoreSink is the BasicCopySink implementation for FileSystemSink.
73082func (fss FileSystemSink) AsAzureDataLakeStoreSink() (*AzureDataLakeStoreSink, bool) {
73083	return nil, false
73084}
73085
73086// AsOracleSink is the BasicCopySink implementation for FileSystemSink.
73087func (fss FileSystemSink) AsOracleSink() (*OracleSink, bool) {
73088	return nil, false
73089}
73090
73091// AsSQLDWSink is the BasicCopySink implementation for FileSystemSink.
73092func (fss FileSystemSink) AsSQLDWSink() (*SQLDWSink, bool) {
73093	return nil, false
73094}
73095
73096// AsSQLMISink is the BasicCopySink implementation for FileSystemSink.
73097func (fss FileSystemSink) AsSQLMISink() (*SQLMISink, bool) {
73098	return nil, false
73099}
73100
73101// AsAzureSQLSink is the BasicCopySink implementation for FileSystemSink.
73102func (fss FileSystemSink) AsAzureSQLSink() (*AzureSQLSink, bool) {
73103	return nil, false
73104}
73105
73106// AsSQLServerSink is the BasicCopySink implementation for FileSystemSink.
73107func (fss FileSystemSink) AsSQLServerSink() (*SQLServerSink, bool) {
73108	return nil, false
73109}
73110
73111// AsSQLSink is the BasicCopySink implementation for FileSystemSink.
73112func (fss FileSystemSink) AsSQLSink() (*SQLSink, bool) {
73113	return nil, false
73114}
73115
73116// AsDocumentDbCollectionSink is the BasicCopySink implementation for FileSystemSink.
73117func (fss FileSystemSink) AsDocumentDbCollectionSink() (*DocumentDbCollectionSink, bool) {
73118	return nil, false
73119}
73120
73121// AsFileSystemSink is the BasicCopySink implementation for FileSystemSink.
73122func (fss FileSystemSink) AsFileSystemSink() (*FileSystemSink, bool) {
73123	return &fss, true
73124}
73125
73126// AsBlobSink is the BasicCopySink implementation for FileSystemSink.
73127func (fss FileSystemSink) AsBlobSink() (*BlobSink, bool) {
73128	return nil, false
73129}
73130
73131// AsBinarySink is the BasicCopySink implementation for FileSystemSink.
73132func (fss FileSystemSink) AsBinarySink() (*BinarySink, bool) {
73133	return nil, false
73134}
73135
73136// AsParquetSink is the BasicCopySink implementation for FileSystemSink.
73137func (fss FileSystemSink) AsParquetSink() (*ParquetSink, bool) {
73138	return nil, false
73139}
73140
73141// AsAzureTableSink is the BasicCopySink implementation for FileSystemSink.
73142func (fss FileSystemSink) AsAzureTableSink() (*AzureTableSink, bool) {
73143	return nil, false
73144}
73145
73146// AsAzureQueueSink is the BasicCopySink implementation for FileSystemSink.
73147func (fss FileSystemSink) AsAzureQueueSink() (*AzureQueueSink, bool) {
73148	return nil, false
73149}
73150
73151// AsSapCloudForCustomerSink is the BasicCopySink implementation for FileSystemSink.
73152func (fss FileSystemSink) AsSapCloudForCustomerSink() (*SapCloudForCustomerSink, bool) {
73153	return nil, false
73154}
73155
73156// AsAzurePostgreSQLSink is the BasicCopySink implementation for FileSystemSink.
73157func (fss FileSystemSink) AsAzurePostgreSQLSink() (*AzurePostgreSQLSink, bool) {
73158	return nil, false
73159}
73160
73161// AsDelimitedTextSink is the BasicCopySink implementation for FileSystemSink.
73162func (fss FileSystemSink) AsDelimitedTextSink() (*DelimitedTextSink, bool) {
73163	return nil, false
73164}
73165
73166// AsCopySink is the BasicCopySink implementation for FileSystemSink.
73167func (fss FileSystemSink) AsCopySink() (*CopySink, bool) {
73168	return nil, false
73169}
73170
73171// AsBasicCopySink is the BasicCopySink implementation for FileSystemSink.
73172func (fss FileSystemSink) AsBasicCopySink() (BasicCopySink, bool) {
73173	return &fss, true
73174}
73175
73176// UnmarshalJSON is the custom unmarshaler for FileSystemSink struct.
73177func (fss *FileSystemSink) UnmarshalJSON(body []byte) error {
73178	var m map[string]*json.RawMessage
73179	err := json.Unmarshal(body, &m)
73180	if err != nil {
73181		return err
73182	}
73183	for k, v := range m {
73184		switch k {
73185		case "copyBehavior":
73186			if v != nil {
73187				var copyBehavior interface{}
73188				err = json.Unmarshal(*v, &copyBehavior)
73189				if err != nil {
73190					return err
73191				}
73192				fss.CopyBehavior = copyBehavior
73193			}
73194		default:
73195			if v != nil {
73196				var additionalProperties interface{}
73197				err = json.Unmarshal(*v, &additionalProperties)
73198				if err != nil {
73199					return err
73200				}
73201				if fss.AdditionalProperties == nil {
73202					fss.AdditionalProperties = make(map[string]interface{})
73203				}
73204				fss.AdditionalProperties[k] = additionalProperties
73205			}
73206		case "writeBatchSize":
73207			if v != nil {
73208				var writeBatchSize interface{}
73209				err = json.Unmarshal(*v, &writeBatchSize)
73210				if err != nil {
73211					return err
73212				}
73213				fss.WriteBatchSize = writeBatchSize
73214			}
73215		case "writeBatchTimeout":
73216			if v != nil {
73217				var writeBatchTimeout interface{}
73218				err = json.Unmarshal(*v, &writeBatchTimeout)
73219				if err != nil {
73220					return err
73221				}
73222				fss.WriteBatchTimeout = writeBatchTimeout
73223			}
73224		case "sinkRetryCount":
73225			if v != nil {
73226				var sinkRetryCount interface{}
73227				err = json.Unmarshal(*v, &sinkRetryCount)
73228				if err != nil {
73229					return err
73230				}
73231				fss.SinkRetryCount = sinkRetryCount
73232			}
73233		case "sinkRetryWait":
73234			if v != nil {
73235				var sinkRetryWait interface{}
73236				err = json.Unmarshal(*v, &sinkRetryWait)
73237				if err != nil {
73238					return err
73239				}
73240				fss.SinkRetryWait = sinkRetryWait
73241			}
73242		case "maxConcurrentConnections":
73243			if v != nil {
73244				var maxConcurrentConnections interface{}
73245				err = json.Unmarshal(*v, &maxConcurrentConnections)
73246				if err != nil {
73247					return err
73248				}
73249				fss.MaxConcurrentConnections = maxConcurrentConnections
73250			}
73251		case "type":
73252			if v != nil {
73253				var typeVar TypeBasicCopySink
73254				err = json.Unmarshal(*v, &typeVar)
73255				if err != nil {
73256					return err
73257				}
73258				fss.Type = typeVar
73259			}
73260		}
73261	}
73262
73263	return nil
73264}
73265
73266// FileSystemSource a copy activity file system source.
73267type FileSystemSource struct {
73268	// Recursive - If true, files under the folder path will be read recursively. Default is true. Type: boolean (or Expression with resultType boolean).
73269	Recursive interface{} `json:"recursive,omitempty"`
73270	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
73271	AdditionalProperties map[string]interface{} `json:""`
73272	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
73273	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
73274	// 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])).
73275	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
73276	// MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer).
73277	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
73278	// Type - Possible values include: 'TypeCopySource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', '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', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeCassandraSource', 'TypeWebSource', 'TypeTeradataSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeAzureMySQLSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeRestSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceServiceCloudSource', 'TypeSalesforceSource', 'TypeODataSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeMicrosoftAccessSource', 'TypeInformixSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAzureTableSource', 'TypeBinarySource', 'TypeDelimitedTextSource', 'TypeParquetSource'
73279	Type TypeBasicCopySource `json:"type,omitempty"`
73280}
73281
73282// MarshalJSON is the custom marshaler for FileSystemSource.
73283func (fss FileSystemSource) MarshalJSON() ([]byte, error) {
73284	fss.Type = TypeFileSystemSource
73285	objectMap := make(map[string]interface{})
73286	if fss.Recursive != nil {
73287		objectMap["recursive"] = fss.Recursive
73288	}
73289	if fss.SourceRetryCount != nil {
73290		objectMap["sourceRetryCount"] = fss.SourceRetryCount
73291	}
73292	if fss.SourceRetryWait != nil {
73293		objectMap["sourceRetryWait"] = fss.SourceRetryWait
73294	}
73295	if fss.MaxConcurrentConnections != nil {
73296		objectMap["maxConcurrentConnections"] = fss.MaxConcurrentConnections
73297	}
73298	if fss.Type != "" {
73299		objectMap["type"] = fss.Type
73300	}
73301	for k, v := range fss.AdditionalProperties {
73302		objectMap[k] = v
73303	}
73304	return json.Marshal(objectMap)
73305}
73306
73307// AsAmazonRedshiftSource is the BasicCopySource implementation for FileSystemSource.
73308func (fss FileSystemSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
73309	return nil, false
73310}
73311
73312// AsGoogleAdWordsSource is the BasicCopySource implementation for FileSystemSource.
73313func (fss FileSystemSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) {
73314	return nil, false
73315}
73316
73317// AsOracleServiceCloudSource is the BasicCopySource implementation for FileSystemSource.
73318func (fss FileSystemSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) {
73319	return nil, false
73320}
73321
73322// AsDynamicsAXSource is the BasicCopySource implementation for FileSystemSource.
73323func (fss FileSystemSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) {
73324	return nil, false
73325}
73326
73327// AsResponsysSource is the BasicCopySource implementation for FileSystemSource.
73328func (fss FileSystemSource) AsResponsysSource() (*ResponsysSource, bool) {
73329	return nil, false
73330}
73331
73332// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for FileSystemSource.
73333func (fss FileSystemSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
73334	return nil, false
73335}
73336
73337// AsVerticaSource is the BasicCopySource implementation for FileSystemSource.
73338func (fss FileSystemSource) AsVerticaSource() (*VerticaSource, bool) {
73339	return nil, false
73340}
73341
73342// AsNetezzaSource is the BasicCopySource implementation for FileSystemSource.
73343func (fss FileSystemSource) AsNetezzaSource() (*NetezzaSource, bool) {
73344	return nil, false
73345}
73346
73347// AsZohoSource is the BasicCopySource implementation for FileSystemSource.
73348func (fss FileSystemSource) AsZohoSource() (*ZohoSource, bool) {
73349	return nil, false
73350}
73351
73352// AsXeroSource is the BasicCopySource implementation for FileSystemSource.
73353func (fss FileSystemSource) AsXeroSource() (*XeroSource, bool) {
73354	return nil, false
73355}
73356
73357// AsSquareSource is the BasicCopySource implementation for FileSystemSource.
73358func (fss FileSystemSource) AsSquareSource() (*SquareSource, bool) {
73359	return nil, false
73360}
73361
73362// AsSparkSource is the BasicCopySource implementation for FileSystemSource.
73363func (fss FileSystemSource) AsSparkSource() (*SparkSource, bool) {
73364	return nil, false
73365}
73366
73367// AsShopifySource is the BasicCopySource implementation for FileSystemSource.
73368func (fss FileSystemSource) AsShopifySource() (*ShopifySource, bool) {
73369	return nil, false
73370}
73371
73372// AsServiceNowSource is the BasicCopySource implementation for FileSystemSource.
73373func (fss FileSystemSource) AsServiceNowSource() (*ServiceNowSource, bool) {
73374	return nil, false
73375}
73376
73377// AsQuickBooksSource is the BasicCopySource implementation for FileSystemSource.
73378func (fss FileSystemSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
73379	return nil, false
73380}
73381
73382// AsPrestoSource is the BasicCopySource implementation for FileSystemSource.
73383func (fss FileSystemSource) AsPrestoSource() (*PrestoSource, bool) {
73384	return nil, false
73385}
73386
73387// AsPhoenixSource is the BasicCopySource implementation for FileSystemSource.
73388func (fss FileSystemSource) AsPhoenixSource() (*PhoenixSource, bool) {
73389	return nil, false
73390}
73391
73392// AsPaypalSource is the BasicCopySource implementation for FileSystemSource.
73393func (fss FileSystemSource) AsPaypalSource() (*PaypalSource, bool) {
73394	return nil, false
73395}
73396
73397// AsMarketoSource is the BasicCopySource implementation for FileSystemSource.
73398func (fss FileSystemSource) AsMarketoSource() (*MarketoSource, bool) {
73399	return nil, false
73400}
73401
73402// AsMariaDBSource is the BasicCopySource implementation for FileSystemSource.
73403func (fss FileSystemSource) AsMariaDBSource() (*MariaDBSource, bool) {
73404	return nil, false
73405}
73406
73407// AsMagentoSource is the BasicCopySource implementation for FileSystemSource.
73408func (fss FileSystemSource) AsMagentoSource() (*MagentoSource, bool) {
73409	return nil, false
73410}
73411
73412// AsJiraSource is the BasicCopySource implementation for FileSystemSource.
73413func (fss FileSystemSource) AsJiraSource() (*JiraSource, bool) {
73414	return nil, false
73415}
73416
73417// AsImpalaSource is the BasicCopySource implementation for FileSystemSource.
73418func (fss FileSystemSource) AsImpalaSource() (*ImpalaSource, bool) {
73419	return nil, false
73420}
73421
73422// AsHubspotSource is the BasicCopySource implementation for FileSystemSource.
73423func (fss FileSystemSource) AsHubspotSource() (*HubspotSource, bool) {
73424	return nil, false
73425}
73426
73427// AsHiveSource is the BasicCopySource implementation for FileSystemSource.
73428func (fss FileSystemSource) AsHiveSource() (*HiveSource, bool) {
73429	return nil, false
73430}
73431
73432// AsHBaseSource is the BasicCopySource implementation for FileSystemSource.
73433func (fss FileSystemSource) AsHBaseSource() (*HBaseSource, bool) {
73434	return nil, false
73435}
73436
73437// AsGreenplumSource is the BasicCopySource implementation for FileSystemSource.
73438func (fss FileSystemSource) AsGreenplumSource() (*GreenplumSource, bool) {
73439	return nil, false
73440}
73441
73442// AsGoogleBigQuerySource is the BasicCopySource implementation for FileSystemSource.
73443func (fss FileSystemSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
73444	return nil, false
73445}
73446
73447// AsEloquaSource is the BasicCopySource implementation for FileSystemSource.
73448func (fss FileSystemSource) AsEloquaSource() (*EloquaSource, bool) {
73449	return nil, false
73450}
73451
73452// AsDrillSource is the BasicCopySource implementation for FileSystemSource.
73453func (fss FileSystemSource) AsDrillSource() (*DrillSource, bool) {
73454	return nil, false
73455}
73456
73457// AsCouchbaseSource is the BasicCopySource implementation for FileSystemSource.
73458func (fss FileSystemSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
73459	return nil, false
73460}
73461
73462// AsConcurSource is the BasicCopySource implementation for FileSystemSource.
73463func (fss FileSystemSource) AsConcurSource() (*ConcurSource, bool) {
73464	return nil, false
73465}
73466
73467// AsAzurePostgreSQLSource is the BasicCopySource implementation for FileSystemSource.
73468func (fss FileSystemSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
73469	return nil, false
73470}
73471
73472// AsAmazonMWSSource is the BasicCopySource implementation for FileSystemSource.
73473func (fss FileSystemSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
73474	return nil, false
73475}
73476
73477// AsHTTPSource is the BasicCopySource implementation for FileSystemSource.
73478func (fss FileSystemSource) AsHTTPSource() (*HTTPSource, bool) {
73479	return nil, false
73480}
73481
73482// AsAzureBlobFSSource is the BasicCopySource implementation for FileSystemSource.
73483func (fss FileSystemSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) {
73484	return nil, false
73485}
73486
73487// AsAzureDataLakeStoreSource is the BasicCopySource implementation for FileSystemSource.
73488func (fss FileSystemSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
73489	return nil, false
73490}
73491
73492// AsOffice365Source is the BasicCopySource implementation for FileSystemSource.
73493func (fss FileSystemSource) AsOffice365Source() (*Office365Source, bool) {
73494	return nil, false
73495}
73496
73497// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for FileSystemSource.
73498func (fss FileSystemSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) {
73499	return nil, false
73500}
73501
73502// AsMongoDbV2Source is the BasicCopySource implementation for FileSystemSource.
73503func (fss FileSystemSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) {
73504	return nil, false
73505}
73506
73507// AsMongoDbSource is the BasicCopySource implementation for FileSystemSource.
73508func (fss FileSystemSource) AsMongoDbSource() (*MongoDbSource, bool) {
73509	return nil, false
73510}
73511
73512// AsCassandraSource is the BasicCopySource implementation for FileSystemSource.
73513func (fss FileSystemSource) AsCassandraSource() (*CassandraSource, bool) {
73514	return nil, false
73515}
73516
73517// AsWebSource is the BasicCopySource implementation for FileSystemSource.
73518func (fss FileSystemSource) AsWebSource() (*WebSource, bool) {
73519	return nil, false
73520}
73521
73522// AsTeradataSource is the BasicCopySource implementation for FileSystemSource.
73523func (fss FileSystemSource) AsTeradataSource() (*TeradataSource, bool) {
73524	return nil, false
73525}
73526
73527// AsOracleSource is the BasicCopySource implementation for FileSystemSource.
73528func (fss FileSystemSource) AsOracleSource() (*OracleSource, bool) {
73529	return nil, false
73530}
73531
73532// AsAzureDataExplorerSource is the BasicCopySource implementation for FileSystemSource.
73533func (fss FileSystemSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) {
73534	return nil, false
73535}
73536
73537// AsAzureMySQLSource is the BasicCopySource implementation for FileSystemSource.
73538func (fss FileSystemSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
73539	return nil, false
73540}
73541
73542// AsHdfsSource is the BasicCopySource implementation for FileSystemSource.
73543func (fss FileSystemSource) AsHdfsSource() (*HdfsSource, bool) {
73544	return nil, false
73545}
73546
73547// AsFileSystemSource is the BasicCopySource implementation for FileSystemSource.
73548func (fss FileSystemSource) AsFileSystemSource() (*FileSystemSource, bool) {
73549	return &fss, true
73550}
73551
73552// AsSQLDWSource is the BasicCopySource implementation for FileSystemSource.
73553func (fss FileSystemSource) AsSQLDWSource() (*SQLDWSource, bool) {
73554	return nil, false
73555}
73556
73557// AsSQLMISource is the BasicCopySource implementation for FileSystemSource.
73558func (fss FileSystemSource) AsSQLMISource() (*SQLMISource, bool) {
73559	return nil, false
73560}
73561
73562// AsAzureSQLSource is the BasicCopySource implementation for FileSystemSource.
73563func (fss FileSystemSource) AsAzureSQLSource() (*AzureSQLSource, bool) {
73564	return nil, false
73565}
73566
73567// AsSQLServerSource is the BasicCopySource implementation for FileSystemSource.
73568func (fss FileSystemSource) AsSQLServerSource() (*SQLServerSource, bool) {
73569	return nil, false
73570}
73571
73572// AsSQLSource is the BasicCopySource implementation for FileSystemSource.
73573func (fss FileSystemSource) AsSQLSource() (*SQLSource, bool) {
73574	return nil, false
73575}
73576
73577// AsRestSource is the BasicCopySource implementation for FileSystemSource.
73578func (fss FileSystemSource) AsRestSource() (*RestSource, bool) {
73579	return nil, false
73580}
73581
73582// AsSapTableSource is the BasicCopySource implementation for FileSystemSource.
73583func (fss FileSystemSource) AsSapTableSource() (*SapTableSource, bool) {
73584	return nil, false
73585}
73586
73587// AsSapOpenHubSource is the BasicCopySource implementation for FileSystemSource.
73588func (fss FileSystemSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) {
73589	return nil, false
73590}
73591
73592// AsSapHanaSource is the BasicCopySource implementation for FileSystemSource.
73593func (fss FileSystemSource) AsSapHanaSource() (*SapHanaSource, bool) {
73594	return nil, false
73595}
73596
73597// AsSapEccSource is the BasicCopySource implementation for FileSystemSource.
73598func (fss FileSystemSource) AsSapEccSource() (*SapEccSource, bool) {
73599	return nil, false
73600}
73601
73602// AsSapCloudForCustomerSource is the BasicCopySource implementation for FileSystemSource.
73603func (fss FileSystemSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
73604	return nil, false
73605}
73606
73607// AsSalesforceServiceCloudSource is the BasicCopySource implementation for FileSystemSource.
73608func (fss FileSystemSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) {
73609	return nil, false
73610}
73611
73612// AsSalesforceSource is the BasicCopySource implementation for FileSystemSource.
73613func (fss FileSystemSource) AsSalesforceSource() (*SalesforceSource, bool) {
73614	return nil, false
73615}
73616
73617// AsODataSource is the BasicCopySource implementation for FileSystemSource.
73618func (fss FileSystemSource) AsODataSource() (*ODataSource, bool) {
73619	return nil, false
73620}
73621
73622// AsSybaseSource is the BasicCopySource implementation for FileSystemSource.
73623func (fss FileSystemSource) AsSybaseSource() (*SybaseSource, bool) {
73624	return nil, false
73625}
73626
73627// AsPostgreSQLSource is the BasicCopySource implementation for FileSystemSource.
73628func (fss FileSystemSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) {
73629	return nil, false
73630}
73631
73632// AsMySQLSource is the BasicCopySource implementation for FileSystemSource.
73633func (fss FileSystemSource) AsMySQLSource() (*MySQLSource, bool) {
73634	return nil, false
73635}
73636
73637// AsOdbcSource is the BasicCopySource implementation for FileSystemSource.
73638func (fss FileSystemSource) AsOdbcSource() (*OdbcSource, bool) {
73639	return nil, false
73640}
73641
73642// AsDb2Source is the BasicCopySource implementation for FileSystemSource.
73643func (fss FileSystemSource) AsDb2Source() (*Db2Source, bool) {
73644	return nil, false
73645}
73646
73647// AsMicrosoftAccessSource is the BasicCopySource implementation for FileSystemSource.
73648func (fss FileSystemSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) {
73649	return nil, false
73650}
73651
73652// AsInformixSource is the BasicCopySource implementation for FileSystemSource.
73653func (fss FileSystemSource) AsInformixSource() (*InformixSource, bool) {
73654	return nil, false
73655}
73656
73657// AsRelationalSource is the BasicCopySource implementation for FileSystemSource.
73658func (fss FileSystemSource) AsRelationalSource() (*RelationalSource, bool) {
73659	return nil, false
73660}
73661
73662// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for FileSystemSource.
73663func (fss FileSystemSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) {
73664	return nil, false
73665}
73666
73667// AsDynamicsCrmSource is the BasicCopySource implementation for FileSystemSource.
73668func (fss FileSystemSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) {
73669	return nil, false
73670}
73671
73672// AsDynamicsSource is the BasicCopySource implementation for FileSystemSource.
73673func (fss FileSystemSource) AsDynamicsSource() (*DynamicsSource, bool) {
73674	return nil, false
73675}
73676
73677// AsDocumentDbCollectionSource is the BasicCopySource implementation for FileSystemSource.
73678func (fss FileSystemSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
73679	return nil, false
73680}
73681
73682// AsBlobSource is the BasicCopySource implementation for FileSystemSource.
73683func (fss FileSystemSource) AsBlobSource() (*BlobSource, bool) {
73684	return nil, false
73685}
73686
73687// AsAzureTableSource is the BasicCopySource implementation for FileSystemSource.
73688func (fss FileSystemSource) AsAzureTableSource() (*AzureTableSource, bool) {
73689	return nil, false
73690}
73691
73692// AsBinarySource is the BasicCopySource implementation for FileSystemSource.
73693func (fss FileSystemSource) AsBinarySource() (*BinarySource, bool) {
73694	return nil, false
73695}
73696
73697// AsDelimitedTextSource is the BasicCopySource implementation for FileSystemSource.
73698func (fss FileSystemSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) {
73699	return nil, false
73700}
73701
73702// AsParquetSource is the BasicCopySource implementation for FileSystemSource.
73703func (fss FileSystemSource) AsParquetSource() (*ParquetSource, bool) {
73704	return nil, false
73705}
73706
73707// AsCopySource is the BasicCopySource implementation for FileSystemSource.
73708func (fss FileSystemSource) AsCopySource() (*CopySource, bool) {
73709	return nil, false
73710}
73711
73712// AsBasicCopySource is the BasicCopySource implementation for FileSystemSource.
73713func (fss FileSystemSource) AsBasicCopySource() (BasicCopySource, bool) {
73714	return &fss, true
73715}
73716
73717// UnmarshalJSON is the custom unmarshaler for FileSystemSource struct.
73718func (fss *FileSystemSource) UnmarshalJSON(body []byte) error {
73719	var m map[string]*json.RawMessage
73720	err := json.Unmarshal(body, &m)
73721	if err != nil {
73722		return err
73723	}
73724	for k, v := range m {
73725		switch k {
73726		case "recursive":
73727			if v != nil {
73728				var recursive interface{}
73729				err = json.Unmarshal(*v, &recursive)
73730				if err != nil {
73731					return err
73732				}
73733				fss.Recursive = recursive
73734			}
73735		default:
73736			if v != nil {
73737				var additionalProperties interface{}
73738				err = json.Unmarshal(*v, &additionalProperties)
73739				if err != nil {
73740					return err
73741				}
73742				if fss.AdditionalProperties == nil {
73743					fss.AdditionalProperties = make(map[string]interface{})
73744				}
73745				fss.AdditionalProperties[k] = additionalProperties
73746			}
73747		case "sourceRetryCount":
73748			if v != nil {
73749				var sourceRetryCount interface{}
73750				err = json.Unmarshal(*v, &sourceRetryCount)
73751				if err != nil {
73752					return err
73753				}
73754				fss.SourceRetryCount = sourceRetryCount
73755			}
73756		case "sourceRetryWait":
73757			if v != nil {
73758				var sourceRetryWait interface{}
73759				err = json.Unmarshal(*v, &sourceRetryWait)
73760				if err != nil {
73761					return err
73762				}
73763				fss.SourceRetryWait = sourceRetryWait
73764			}
73765		case "maxConcurrentConnections":
73766			if v != nil {
73767				var maxConcurrentConnections interface{}
73768				err = json.Unmarshal(*v, &maxConcurrentConnections)
73769				if err != nil {
73770					return err
73771				}
73772				fss.MaxConcurrentConnections = maxConcurrentConnections
73773			}
73774		case "type":
73775			if v != nil {
73776				var typeVar TypeBasicCopySource
73777				err = json.Unmarshal(*v, &typeVar)
73778				if err != nil {
73779					return err
73780				}
73781				fss.Type = typeVar
73782			}
73783		}
73784	}
73785
73786	return nil
73787}
73788
73789// FilterActivity filter and return results from input array based on the conditions.
73790type FilterActivity struct {
73791	// FilterActivityTypeProperties - Filter activity properties.
73792	*FilterActivityTypeProperties `json:"typeProperties,omitempty"`
73793	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
73794	AdditionalProperties map[string]interface{} `json:""`
73795	// Name - Activity name.
73796	Name *string `json:"name,omitempty"`
73797	// Description - Activity description.
73798	Description *string `json:"description,omitempty"`
73799	// DependsOn - Activity depends on condition.
73800	DependsOn *[]ActivityDependency `json:"dependsOn,omitempty"`
73801	// UserProperties - Activity user properties.
73802	UserProperties *[]UserProperty `json:"userProperties,omitempty"`
73803	// Type - Possible values include: 'TypeActivity', 'TypeAzureFunctionActivity', 'TypeDatabricksSparkPython', 'TypeDatabricksSparkJar', 'TypeDatabricksNotebook', 'TypeDataLakeAnalyticsUSQL', 'TypeAzureMLUpdateResource', 'TypeAzureMLBatchExecution', 'TypeGetMetadata', 'TypeWebActivity', 'TypeLookup', 'TypeAzureDataExplorerCommand', 'TypeDelete', 'TypeSQLServerStoredProcedure', 'TypeCustom', 'TypeExecuteSSISPackage', 'TypeHDInsightSpark', 'TypeHDInsightStreaming', 'TypeHDInsightMapReduce', 'TypeHDInsightPig', 'TypeHDInsightHive', 'TypeCopy', 'TypeExecution', 'TypeWebHook', 'TypeAppendVariable', 'TypeSetVariable', 'TypeFilter', 'TypeValidation', 'TypeUntil', 'TypeWait', 'TypeForEach', 'TypeIfCondition', 'TypeExecutePipeline', 'TypeContainer'
73804	Type TypeBasicActivity `json:"type,omitempty"`
73805}
73806
73807// MarshalJSON is the custom marshaler for FilterActivity.
73808func (fa FilterActivity) MarshalJSON() ([]byte, error) {
73809	fa.Type = TypeFilter
73810	objectMap := make(map[string]interface{})
73811	if fa.FilterActivityTypeProperties != nil {
73812		objectMap["typeProperties"] = fa.FilterActivityTypeProperties
73813	}
73814	if fa.Name != nil {
73815		objectMap["name"] = fa.Name
73816	}
73817	if fa.Description != nil {
73818		objectMap["description"] = fa.Description
73819	}
73820	if fa.DependsOn != nil {
73821		objectMap["dependsOn"] = fa.DependsOn
73822	}
73823	if fa.UserProperties != nil {
73824		objectMap["userProperties"] = fa.UserProperties
73825	}
73826	if fa.Type != "" {
73827		objectMap["type"] = fa.Type
73828	}
73829	for k, v := range fa.AdditionalProperties {
73830		objectMap[k] = v
73831	}
73832	return json.Marshal(objectMap)
73833}
73834
73835// AsAzureFunctionActivity is the BasicActivity implementation for FilterActivity.
73836func (fa FilterActivity) AsAzureFunctionActivity() (*AzureFunctionActivity, bool) {
73837	return nil, false
73838}
73839
73840// AsDatabricksSparkPythonActivity is the BasicActivity implementation for FilterActivity.
73841func (fa FilterActivity) AsDatabricksSparkPythonActivity() (*DatabricksSparkPythonActivity, bool) {
73842	return nil, false
73843}
73844
73845// AsDatabricksSparkJarActivity is the BasicActivity implementation for FilterActivity.
73846func (fa FilterActivity) AsDatabricksSparkJarActivity() (*DatabricksSparkJarActivity, bool) {
73847	return nil, false
73848}
73849
73850// AsDatabricksNotebookActivity is the BasicActivity implementation for FilterActivity.
73851func (fa FilterActivity) AsDatabricksNotebookActivity() (*DatabricksNotebookActivity, bool) {
73852	return nil, false
73853}
73854
73855// AsDataLakeAnalyticsUSQLActivity is the BasicActivity implementation for FilterActivity.
73856func (fa FilterActivity) AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalyticsUSQLActivity, bool) {
73857	return nil, false
73858}
73859
73860// AsAzureMLUpdateResourceActivity is the BasicActivity implementation for FilterActivity.
73861func (fa FilterActivity) AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool) {
73862	return nil, false
73863}
73864
73865// AsAzureMLBatchExecutionActivity is the BasicActivity implementation for FilterActivity.
73866func (fa FilterActivity) AsAzureMLBatchExecutionActivity() (*AzureMLBatchExecutionActivity, bool) {
73867	return nil, false
73868}
73869
73870// AsGetMetadataActivity is the BasicActivity implementation for FilterActivity.
73871func (fa FilterActivity) AsGetMetadataActivity() (*GetMetadataActivity, bool) {
73872	return nil, false
73873}
73874
73875// AsWebActivity is the BasicActivity implementation for FilterActivity.
73876func (fa FilterActivity) AsWebActivity() (*WebActivity, bool) {
73877	return nil, false
73878}
73879
73880// AsLookupActivity is the BasicActivity implementation for FilterActivity.
73881func (fa FilterActivity) AsLookupActivity() (*LookupActivity, bool) {
73882	return nil, false
73883}
73884
73885// AsAzureDataExplorerCommandActivity is the BasicActivity implementation for FilterActivity.
73886func (fa FilterActivity) AsAzureDataExplorerCommandActivity() (*AzureDataExplorerCommandActivity, bool) {
73887	return nil, false
73888}
73889
73890// AsDeleteActivity is the BasicActivity implementation for FilterActivity.
73891func (fa FilterActivity) AsDeleteActivity() (*DeleteActivity, bool) {
73892	return nil, false
73893}
73894
73895// AsSQLServerStoredProcedureActivity is the BasicActivity implementation for FilterActivity.
73896func (fa FilterActivity) AsSQLServerStoredProcedureActivity() (*SQLServerStoredProcedureActivity, bool) {
73897	return nil, false
73898}
73899
73900// AsCustomActivity is the BasicActivity implementation for FilterActivity.
73901func (fa FilterActivity) AsCustomActivity() (*CustomActivity, bool) {
73902	return nil, false
73903}
73904
73905// AsExecuteSSISPackageActivity is the BasicActivity implementation for FilterActivity.
73906func (fa FilterActivity) AsExecuteSSISPackageActivity() (*ExecuteSSISPackageActivity, bool) {
73907	return nil, false
73908}
73909
73910// AsHDInsightSparkActivity is the BasicActivity implementation for FilterActivity.
73911func (fa FilterActivity) AsHDInsightSparkActivity() (*HDInsightSparkActivity, bool) {
73912	return nil, false
73913}
73914
73915// AsHDInsightStreamingActivity is the BasicActivity implementation for FilterActivity.
73916func (fa FilterActivity) AsHDInsightStreamingActivity() (*HDInsightStreamingActivity, bool) {
73917	return nil, false
73918}
73919
73920// AsHDInsightMapReduceActivity is the BasicActivity implementation for FilterActivity.
73921func (fa FilterActivity) AsHDInsightMapReduceActivity() (*HDInsightMapReduceActivity, bool) {
73922	return nil, false
73923}
73924
73925// AsHDInsightPigActivity is the BasicActivity implementation for FilterActivity.
73926func (fa FilterActivity) AsHDInsightPigActivity() (*HDInsightPigActivity, bool) {
73927	return nil, false
73928}
73929
73930// AsHDInsightHiveActivity is the BasicActivity implementation for FilterActivity.
73931func (fa FilterActivity) AsHDInsightHiveActivity() (*HDInsightHiveActivity, bool) {
73932	return nil, false
73933}
73934
73935// AsCopyActivity is the BasicActivity implementation for FilterActivity.
73936func (fa FilterActivity) AsCopyActivity() (*CopyActivity, bool) {
73937	return nil, false
73938}
73939
73940// AsExecutionActivity is the BasicActivity implementation for FilterActivity.
73941func (fa FilterActivity) AsExecutionActivity() (*ExecutionActivity, bool) {
73942	return nil, false
73943}
73944
73945// AsBasicExecutionActivity is the BasicActivity implementation for FilterActivity.
73946func (fa FilterActivity) AsBasicExecutionActivity() (BasicExecutionActivity, bool) {
73947	return nil, false
73948}
73949
73950// AsWebHookActivity is the BasicActivity implementation for FilterActivity.
73951func (fa FilterActivity) AsWebHookActivity() (*WebHookActivity, bool) {
73952	return nil, false
73953}
73954
73955// AsAppendVariableActivity is the BasicActivity implementation for FilterActivity.
73956func (fa FilterActivity) AsAppendVariableActivity() (*AppendVariableActivity, bool) {
73957	return nil, false
73958}
73959
73960// AsSetVariableActivity is the BasicActivity implementation for FilterActivity.
73961func (fa FilterActivity) AsSetVariableActivity() (*SetVariableActivity, bool) {
73962	return nil, false
73963}
73964
73965// AsFilterActivity is the BasicActivity implementation for FilterActivity.
73966func (fa FilterActivity) AsFilterActivity() (*FilterActivity, bool) {
73967	return &fa, true
73968}
73969
73970// AsValidationActivity is the BasicActivity implementation for FilterActivity.
73971func (fa FilterActivity) AsValidationActivity() (*ValidationActivity, bool) {
73972	return nil, false
73973}
73974
73975// AsUntilActivity is the BasicActivity implementation for FilterActivity.
73976func (fa FilterActivity) AsUntilActivity() (*UntilActivity, bool) {
73977	return nil, false
73978}
73979
73980// AsWaitActivity is the BasicActivity implementation for FilterActivity.
73981func (fa FilterActivity) AsWaitActivity() (*WaitActivity, bool) {
73982	return nil, false
73983}
73984
73985// AsForEachActivity is the BasicActivity implementation for FilterActivity.
73986func (fa FilterActivity) AsForEachActivity() (*ForEachActivity, bool) {
73987	return nil, false
73988}
73989
73990// AsIfConditionActivity is the BasicActivity implementation for FilterActivity.
73991func (fa FilterActivity) AsIfConditionActivity() (*IfConditionActivity, bool) {
73992	return nil, false
73993}
73994
73995// AsExecutePipelineActivity is the BasicActivity implementation for FilterActivity.
73996func (fa FilterActivity) AsExecutePipelineActivity() (*ExecutePipelineActivity, bool) {
73997	return nil, false
73998}
73999
74000// AsControlActivity is the BasicActivity implementation for FilterActivity.
74001func (fa FilterActivity) AsControlActivity() (*ControlActivity, bool) {
74002	return nil, false
74003}
74004
74005// AsBasicControlActivity is the BasicActivity implementation for FilterActivity.
74006func (fa FilterActivity) AsBasicControlActivity() (BasicControlActivity, bool) {
74007	return &fa, true
74008}
74009
74010// AsActivity is the BasicActivity implementation for FilterActivity.
74011func (fa FilterActivity) AsActivity() (*Activity, bool) {
74012	return nil, false
74013}
74014
74015// AsBasicActivity is the BasicActivity implementation for FilterActivity.
74016func (fa FilterActivity) AsBasicActivity() (BasicActivity, bool) {
74017	return &fa, true
74018}
74019
74020// UnmarshalJSON is the custom unmarshaler for FilterActivity struct.
74021func (fa *FilterActivity) UnmarshalJSON(body []byte) error {
74022	var m map[string]*json.RawMessage
74023	err := json.Unmarshal(body, &m)
74024	if err != nil {
74025		return err
74026	}
74027	for k, v := range m {
74028		switch k {
74029		case "typeProperties":
74030			if v != nil {
74031				var filterActivityTypeProperties FilterActivityTypeProperties
74032				err = json.Unmarshal(*v, &filterActivityTypeProperties)
74033				if err != nil {
74034					return err
74035				}
74036				fa.FilterActivityTypeProperties = &filterActivityTypeProperties
74037			}
74038		default:
74039			if v != nil {
74040				var additionalProperties interface{}
74041				err = json.Unmarshal(*v, &additionalProperties)
74042				if err != nil {
74043					return err
74044				}
74045				if fa.AdditionalProperties == nil {
74046					fa.AdditionalProperties = make(map[string]interface{})
74047				}
74048				fa.AdditionalProperties[k] = additionalProperties
74049			}
74050		case "name":
74051			if v != nil {
74052				var name string
74053				err = json.Unmarshal(*v, &name)
74054				if err != nil {
74055					return err
74056				}
74057				fa.Name = &name
74058			}
74059		case "description":
74060			if v != nil {
74061				var description string
74062				err = json.Unmarshal(*v, &description)
74063				if err != nil {
74064					return err
74065				}
74066				fa.Description = &description
74067			}
74068		case "dependsOn":
74069			if v != nil {
74070				var dependsOn []ActivityDependency
74071				err = json.Unmarshal(*v, &dependsOn)
74072				if err != nil {
74073					return err
74074				}
74075				fa.DependsOn = &dependsOn
74076			}
74077		case "userProperties":
74078			if v != nil {
74079				var userProperties []UserProperty
74080				err = json.Unmarshal(*v, &userProperties)
74081				if err != nil {
74082					return err
74083				}
74084				fa.UserProperties = &userProperties
74085			}
74086		case "type":
74087			if v != nil {
74088				var typeVar TypeBasicActivity
74089				err = json.Unmarshal(*v, &typeVar)
74090				if err != nil {
74091					return err
74092				}
74093				fa.Type = typeVar
74094			}
74095		}
74096	}
74097
74098	return nil
74099}
74100
74101// FilterActivityTypeProperties filter activity properties.
74102type FilterActivityTypeProperties struct {
74103	// Items - Input array on which filter should be applied.
74104	Items *Expression `json:"items,omitempty"`
74105	// Condition - Condition to be used for filtering the input.
74106	Condition *Expression `json:"condition,omitempty"`
74107}
74108
74109// ForEachActivity this activity is used for iterating over a collection and execute given activities.
74110type ForEachActivity struct {
74111	// ForEachActivityTypeProperties - ForEach activity properties.
74112	*ForEachActivityTypeProperties `json:"typeProperties,omitempty"`
74113	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
74114	AdditionalProperties map[string]interface{} `json:""`
74115	// Name - Activity name.
74116	Name *string `json:"name,omitempty"`
74117	// Description - Activity description.
74118	Description *string `json:"description,omitempty"`
74119	// DependsOn - Activity depends on condition.
74120	DependsOn *[]ActivityDependency `json:"dependsOn,omitempty"`
74121	// UserProperties - Activity user properties.
74122	UserProperties *[]UserProperty `json:"userProperties,omitempty"`
74123	// Type - Possible values include: 'TypeActivity', 'TypeAzureFunctionActivity', 'TypeDatabricksSparkPython', 'TypeDatabricksSparkJar', 'TypeDatabricksNotebook', 'TypeDataLakeAnalyticsUSQL', 'TypeAzureMLUpdateResource', 'TypeAzureMLBatchExecution', 'TypeGetMetadata', 'TypeWebActivity', 'TypeLookup', 'TypeAzureDataExplorerCommand', 'TypeDelete', 'TypeSQLServerStoredProcedure', 'TypeCustom', 'TypeExecuteSSISPackage', 'TypeHDInsightSpark', 'TypeHDInsightStreaming', 'TypeHDInsightMapReduce', 'TypeHDInsightPig', 'TypeHDInsightHive', 'TypeCopy', 'TypeExecution', 'TypeWebHook', 'TypeAppendVariable', 'TypeSetVariable', 'TypeFilter', 'TypeValidation', 'TypeUntil', 'TypeWait', 'TypeForEach', 'TypeIfCondition', 'TypeExecutePipeline', 'TypeContainer'
74124	Type TypeBasicActivity `json:"type,omitempty"`
74125}
74126
74127// MarshalJSON is the custom marshaler for ForEachActivity.
74128func (fea ForEachActivity) MarshalJSON() ([]byte, error) {
74129	fea.Type = TypeForEach
74130	objectMap := make(map[string]interface{})
74131	if fea.ForEachActivityTypeProperties != nil {
74132		objectMap["typeProperties"] = fea.ForEachActivityTypeProperties
74133	}
74134	if fea.Name != nil {
74135		objectMap["name"] = fea.Name
74136	}
74137	if fea.Description != nil {
74138		objectMap["description"] = fea.Description
74139	}
74140	if fea.DependsOn != nil {
74141		objectMap["dependsOn"] = fea.DependsOn
74142	}
74143	if fea.UserProperties != nil {
74144		objectMap["userProperties"] = fea.UserProperties
74145	}
74146	if fea.Type != "" {
74147		objectMap["type"] = fea.Type
74148	}
74149	for k, v := range fea.AdditionalProperties {
74150		objectMap[k] = v
74151	}
74152	return json.Marshal(objectMap)
74153}
74154
74155// AsAzureFunctionActivity is the BasicActivity implementation for ForEachActivity.
74156func (fea ForEachActivity) AsAzureFunctionActivity() (*AzureFunctionActivity, bool) {
74157	return nil, false
74158}
74159
74160// AsDatabricksSparkPythonActivity is the BasicActivity implementation for ForEachActivity.
74161func (fea ForEachActivity) AsDatabricksSparkPythonActivity() (*DatabricksSparkPythonActivity, bool) {
74162	return nil, false
74163}
74164
74165// AsDatabricksSparkJarActivity is the BasicActivity implementation for ForEachActivity.
74166func (fea ForEachActivity) AsDatabricksSparkJarActivity() (*DatabricksSparkJarActivity, bool) {
74167	return nil, false
74168}
74169
74170// AsDatabricksNotebookActivity is the BasicActivity implementation for ForEachActivity.
74171func (fea ForEachActivity) AsDatabricksNotebookActivity() (*DatabricksNotebookActivity, bool) {
74172	return nil, false
74173}
74174
74175// AsDataLakeAnalyticsUSQLActivity is the BasicActivity implementation for ForEachActivity.
74176func (fea ForEachActivity) AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalyticsUSQLActivity, bool) {
74177	return nil, false
74178}
74179
74180// AsAzureMLUpdateResourceActivity is the BasicActivity implementation for ForEachActivity.
74181func (fea ForEachActivity) AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool) {
74182	return nil, false
74183}
74184
74185// AsAzureMLBatchExecutionActivity is the BasicActivity implementation for ForEachActivity.
74186func (fea ForEachActivity) AsAzureMLBatchExecutionActivity() (*AzureMLBatchExecutionActivity, bool) {
74187	return nil, false
74188}
74189
74190// AsGetMetadataActivity is the BasicActivity implementation for ForEachActivity.
74191func (fea ForEachActivity) AsGetMetadataActivity() (*GetMetadataActivity, bool) {
74192	return nil, false
74193}
74194
74195// AsWebActivity is the BasicActivity implementation for ForEachActivity.
74196func (fea ForEachActivity) AsWebActivity() (*WebActivity, bool) {
74197	return nil, false
74198}
74199
74200// AsLookupActivity is the BasicActivity implementation for ForEachActivity.
74201func (fea ForEachActivity) AsLookupActivity() (*LookupActivity, bool) {
74202	return nil, false
74203}
74204
74205// AsAzureDataExplorerCommandActivity is the BasicActivity implementation for ForEachActivity.
74206func (fea ForEachActivity) AsAzureDataExplorerCommandActivity() (*AzureDataExplorerCommandActivity, bool) {
74207	return nil, false
74208}
74209
74210// AsDeleteActivity is the BasicActivity implementation for ForEachActivity.
74211func (fea ForEachActivity) AsDeleteActivity() (*DeleteActivity, bool) {
74212	return nil, false
74213}
74214
74215// AsSQLServerStoredProcedureActivity is the BasicActivity implementation for ForEachActivity.
74216func (fea ForEachActivity) AsSQLServerStoredProcedureActivity() (*SQLServerStoredProcedureActivity, bool) {
74217	return nil, false
74218}
74219
74220// AsCustomActivity is the BasicActivity implementation for ForEachActivity.
74221func (fea ForEachActivity) AsCustomActivity() (*CustomActivity, bool) {
74222	return nil, false
74223}
74224
74225// AsExecuteSSISPackageActivity is the BasicActivity implementation for ForEachActivity.
74226func (fea ForEachActivity) AsExecuteSSISPackageActivity() (*ExecuteSSISPackageActivity, bool) {
74227	return nil, false
74228}
74229
74230// AsHDInsightSparkActivity is the BasicActivity implementation for ForEachActivity.
74231func (fea ForEachActivity) AsHDInsightSparkActivity() (*HDInsightSparkActivity, bool) {
74232	return nil, false
74233}
74234
74235// AsHDInsightStreamingActivity is the BasicActivity implementation for ForEachActivity.
74236func (fea ForEachActivity) AsHDInsightStreamingActivity() (*HDInsightStreamingActivity, bool) {
74237	return nil, false
74238}
74239
74240// AsHDInsightMapReduceActivity is the BasicActivity implementation for ForEachActivity.
74241func (fea ForEachActivity) AsHDInsightMapReduceActivity() (*HDInsightMapReduceActivity, bool) {
74242	return nil, false
74243}
74244
74245// AsHDInsightPigActivity is the BasicActivity implementation for ForEachActivity.
74246func (fea ForEachActivity) AsHDInsightPigActivity() (*HDInsightPigActivity, bool) {
74247	return nil, false
74248}
74249
74250// AsHDInsightHiveActivity is the BasicActivity implementation for ForEachActivity.
74251func (fea ForEachActivity) AsHDInsightHiveActivity() (*HDInsightHiveActivity, bool) {
74252	return nil, false
74253}
74254
74255// AsCopyActivity is the BasicActivity implementation for ForEachActivity.
74256func (fea ForEachActivity) AsCopyActivity() (*CopyActivity, bool) {
74257	return nil, false
74258}
74259
74260// AsExecutionActivity is the BasicActivity implementation for ForEachActivity.
74261func (fea ForEachActivity) AsExecutionActivity() (*ExecutionActivity, bool) {
74262	return nil, false
74263}
74264
74265// AsBasicExecutionActivity is the BasicActivity implementation for ForEachActivity.
74266func (fea ForEachActivity) AsBasicExecutionActivity() (BasicExecutionActivity, bool) {
74267	return nil, false
74268}
74269
74270// AsWebHookActivity is the BasicActivity implementation for ForEachActivity.
74271func (fea ForEachActivity) AsWebHookActivity() (*WebHookActivity, bool) {
74272	return nil, false
74273}
74274
74275// AsAppendVariableActivity is the BasicActivity implementation for ForEachActivity.
74276func (fea ForEachActivity) AsAppendVariableActivity() (*AppendVariableActivity, bool) {
74277	return nil, false
74278}
74279
74280// AsSetVariableActivity is the BasicActivity implementation for ForEachActivity.
74281func (fea ForEachActivity) AsSetVariableActivity() (*SetVariableActivity, bool) {
74282	return nil, false
74283}
74284
74285// AsFilterActivity is the BasicActivity implementation for ForEachActivity.
74286func (fea ForEachActivity) AsFilterActivity() (*FilterActivity, bool) {
74287	return nil, false
74288}
74289
74290// AsValidationActivity is the BasicActivity implementation for ForEachActivity.
74291func (fea ForEachActivity) AsValidationActivity() (*ValidationActivity, bool) {
74292	return nil, false
74293}
74294
74295// AsUntilActivity is the BasicActivity implementation for ForEachActivity.
74296func (fea ForEachActivity) AsUntilActivity() (*UntilActivity, bool) {
74297	return nil, false
74298}
74299
74300// AsWaitActivity is the BasicActivity implementation for ForEachActivity.
74301func (fea ForEachActivity) AsWaitActivity() (*WaitActivity, bool) {
74302	return nil, false
74303}
74304
74305// AsForEachActivity is the BasicActivity implementation for ForEachActivity.
74306func (fea ForEachActivity) AsForEachActivity() (*ForEachActivity, bool) {
74307	return &fea, true
74308}
74309
74310// AsIfConditionActivity is the BasicActivity implementation for ForEachActivity.
74311func (fea ForEachActivity) AsIfConditionActivity() (*IfConditionActivity, bool) {
74312	return nil, false
74313}
74314
74315// AsExecutePipelineActivity is the BasicActivity implementation for ForEachActivity.
74316func (fea ForEachActivity) AsExecutePipelineActivity() (*ExecutePipelineActivity, bool) {
74317	return nil, false
74318}
74319
74320// AsControlActivity is the BasicActivity implementation for ForEachActivity.
74321func (fea ForEachActivity) AsControlActivity() (*ControlActivity, bool) {
74322	return nil, false
74323}
74324
74325// AsBasicControlActivity is the BasicActivity implementation for ForEachActivity.
74326func (fea ForEachActivity) AsBasicControlActivity() (BasicControlActivity, bool) {
74327	return &fea, true
74328}
74329
74330// AsActivity is the BasicActivity implementation for ForEachActivity.
74331func (fea ForEachActivity) AsActivity() (*Activity, bool) {
74332	return nil, false
74333}
74334
74335// AsBasicActivity is the BasicActivity implementation for ForEachActivity.
74336func (fea ForEachActivity) AsBasicActivity() (BasicActivity, bool) {
74337	return &fea, true
74338}
74339
74340// UnmarshalJSON is the custom unmarshaler for ForEachActivity struct.
74341func (fea *ForEachActivity) UnmarshalJSON(body []byte) error {
74342	var m map[string]*json.RawMessage
74343	err := json.Unmarshal(body, &m)
74344	if err != nil {
74345		return err
74346	}
74347	for k, v := range m {
74348		switch k {
74349		case "typeProperties":
74350			if v != nil {
74351				var forEachActivityTypeProperties ForEachActivityTypeProperties
74352				err = json.Unmarshal(*v, &forEachActivityTypeProperties)
74353				if err != nil {
74354					return err
74355				}
74356				fea.ForEachActivityTypeProperties = &forEachActivityTypeProperties
74357			}
74358		default:
74359			if v != nil {
74360				var additionalProperties interface{}
74361				err = json.Unmarshal(*v, &additionalProperties)
74362				if err != nil {
74363					return err
74364				}
74365				if fea.AdditionalProperties == nil {
74366					fea.AdditionalProperties = make(map[string]interface{})
74367				}
74368				fea.AdditionalProperties[k] = additionalProperties
74369			}
74370		case "name":
74371			if v != nil {
74372				var name string
74373				err = json.Unmarshal(*v, &name)
74374				if err != nil {
74375					return err
74376				}
74377				fea.Name = &name
74378			}
74379		case "description":
74380			if v != nil {
74381				var description string
74382				err = json.Unmarshal(*v, &description)
74383				if err != nil {
74384					return err
74385				}
74386				fea.Description = &description
74387			}
74388		case "dependsOn":
74389			if v != nil {
74390				var dependsOn []ActivityDependency
74391				err = json.Unmarshal(*v, &dependsOn)
74392				if err != nil {
74393					return err
74394				}
74395				fea.DependsOn = &dependsOn
74396			}
74397		case "userProperties":
74398			if v != nil {
74399				var userProperties []UserProperty
74400				err = json.Unmarshal(*v, &userProperties)
74401				if err != nil {
74402					return err
74403				}
74404				fea.UserProperties = &userProperties
74405			}
74406		case "type":
74407			if v != nil {
74408				var typeVar TypeBasicActivity
74409				err = json.Unmarshal(*v, &typeVar)
74410				if err != nil {
74411					return err
74412				}
74413				fea.Type = typeVar
74414			}
74415		}
74416	}
74417
74418	return nil
74419}
74420
74421// ForEachActivityTypeProperties forEach activity properties.
74422type ForEachActivityTypeProperties struct {
74423	// IsSequential - Should the loop be executed in sequence or in parallel (max 50)
74424	IsSequential *bool `json:"isSequential,omitempty"`
74425	// BatchCount - Batch count to be used for controlling the number of parallel execution (when isSequential is set to false).
74426	BatchCount *int32 `json:"batchCount,omitempty"`
74427	// Items - Collection to iterate.
74428	Items *Expression `json:"items,omitempty"`
74429	// Activities - List of activities to execute .
74430	Activities *[]BasicActivity `json:"activities,omitempty"`
74431}
74432
74433// UnmarshalJSON is the custom unmarshaler for ForEachActivityTypeProperties struct.
74434func (featp *ForEachActivityTypeProperties) UnmarshalJSON(body []byte) error {
74435	var m map[string]*json.RawMessage
74436	err := json.Unmarshal(body, &m)
74437	if err != nil {
74438		return err
74439	}
74440	for k, v := range m {
74441		switch k {
74442		case "isSequential":
74443			if v != nil {
74444				var isSequential bool
74445				err = json.Unmarshal(*v, &isSequential)
74446				if err != nil {
74447					return err
74448				}
74449				featp.IsSequential = &isSequential
74450			}
74451		case "batchCount":
74452			if v != nil {
74453				var batchCount int32
74454				err = json.Unmarshal(*v, &batchCount)
74455				if err != nil {
74456					return err
74457				}
74458				featp.BatchCount = &batchCount
74459			}
74460		case "items":
74461			if v != nil {
74462				var items Expression
74463				err = json.Unmarshal(*v, &items)
74464				if err != nil {
74465					return err
74466				}
74467				featp.Items = &items
74468			}
74469		case "activities":
74470			if v != nil {
74471				activities, err := unmarshalBasicActivityArray(*v)
74472				if err != nil {
74473					return err
74474				}
74475				featp.Activities = &activities
74476			}
74477		}
74478	}
74479
74480	return nil
74481}
74482
74483// FormatReadSettings format read settings.
74484type FormatReadSettings struct {
74485	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
74486	AdditionalProperties map[string]interface{} `json:""`
74487	// Type - The read setting type.
74488	Type *string `json:"type,omitempty"`
74489}
74490
74491// MarshalJSON is the custom marshaler for FormatReadSettings.
74492func (frs FormatReadSettings) MarshalJSON() ([]byte, error) {
74493	objectMap := make(map[string]interface{})
74494	if frs.Type != nil {
74495		objectMap["type"] = frs.Type
74496	}
74497	for k, v := range frs.AdditionalProperties {
74498		objectMap[k] = v
74499	}
74500	return json.Marshal(objectMap)
74501}
74502
74503// UnmarshalJSON is the custom unmarshaler for FormatReadSettings struct.
74504func (frs *FormatReadSettings) UnmarshalJSON(body []byte) error {
74505	var m map[string]*json.RawMessage
74506	err := json.Unmarshal(body, &m)
74507	if err != nil {
74508		return err
74509	}
74510	for k, v := range m {
74511		switch k {
74512		default:
74513			if v != nil {
74514				var additionalProperties interface{}
74515				err = json.Unmarshal(*v, &additionalProperties)
74516				if err != nil {
74517					return err
74518				}
74519				if frs.AdditionalProperties == nil {
74520					frs.AdditionalProperties = make(map[string]interface{})
74521				}
74522				frs.AdditionalProperties[k] = additionalProperties
74523			}
74524		case "type":
74525			if v != nil {
74526				var typeVar string
74527				err = json.Unmarshal(*v, &typeVar)
74528				if err != nil {
74529					return err
74530				}
74531				frs.Type = &typeVar
74532			}
74533		}
74534	}
74535
74536	return nil
74537}
74538
74539// FormatWriteSettings format write settings.
74540type FormatWriteSettings struct {
74541	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
74542	AdditionalProperties map[string]interface{} `json:""`
74543	// Type - The write setting type.
74544	Type *string `json:"type,omitempty"`
74545}
74546
74547// MarshalJSON is the custom marshaler for FormatWriteSettings.
74548func (fws FormatWriteSettings) MarshalJSON() ([]byte, error) {
74549	objectMap := make(map[string]interface{})
74550	if fws.Type != nil {
74551		objectMap["type"] = fws.Type
74552	}
74553	for k, v := range fws.AdditionalProperties {
74554		objectMap[k] = v
74555	}
74556	return json.Marshal(objectMap)
74557}
74558
74559// UnmarshalJSON is the custom unmarshaler for FormatWriteSettings struct.
74560func (fws *FormatWriteSettings) UnmarshalJSON(body []byte) error {
74561	var m map[string]*json.RawMessage
74562	err := json.Unmarshal(body, &m)
74563	if err != nil {
74564		return err
74565	}
74566	for k, v := range m {
74567		switch k {
74568		default:
74569			if v != nil {
74570				var additionalProperties interface{}
74571				err = json.Unmarshal(*v, &additionalProperties)
74572				if err != nil {
74573					return err
74574				}
74575				if fws.AdditionalProperties == nil {
74576					fws.AdditionalProperties = make(map[string]interface{})
74577				}
74578				fws.AdditionalProperties[k] = additionalProperties
74579			}
74580		case "type":
74581			if v != nil {
74582				var typeVar string
74583				err = json.Unmarshal(*v, &typeVar)
74584				if err != nil {
74585					return err
74586				}
74587				fws.Type = &typeVar
74588			}
74589		}
74590	}
74591
74592	return nil
74593}
74594
74595// FtpReadSettings ftp read settings.
74596type FtpReadSettings struct {
74597	// Recursive - If true, files under the folder path will be read recursively. Default is true. Type: boolean (or Expression with resultType boolean).
74598	Recursive interface{} `json:"recursive,omitempty"`
74599	// WildcardFolderPath - Ftp wildcardFolderPath. Type: string (or Expression with resultType string).
74600	WildcardFolderPath interface{} `json:"wildcardFolderPath,omitempty"`
74601	// WildcardFileName - Ftp wildcardFileName. Type: string (or Expression with resultType string).
74602	WildcardFileName interface{} `json:"wildcardFileName,omitempty"`
74603	// UseBinaryTransfer - Specify whether to use binary transfer mode for FTP stores.
74604	UseBinaryTransfer *bool `json:"useBinaryTransfer,omitempty"`
74605	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
74606	AdditionalProperties map[string]interface{} `json:""`
74607	// Type - The read setting type.
74608	Type *string `json:"type,omitempty"`
74609	// MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer).
74610	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
74611}
74612
74613// MarshalJSON is the custom marshaler for FtpReadSettings.
74614func (frs FtpReadSettings) MarshalJSON() ([]byte, error) {
74615	objectMap := make(map[string]interface{})
74616	if frs.Recursive != nil {
74617		objectMap["recursive"] = frs.Recursive
74618	}
74619	if frs.WildcardFolderPath != nil {
74620		objectMap["wildcardFolderPath"] = frs.WildcardFolderPath
74621	}
74622	if frs.WildcardFileName != nil {
74623		objectMap["wildcardFileName"] = frs.WildcardFileName
74624	}
74625	if frs.UseBinaryTransfer != nil {
74626		objectMap["useBinaryTransfer"] = frs.UseBinaryTransfer
74627	}
74628	if frs.Type != nil {
74629		objectMap["type"] = frs.Type
74630	}
74631	if frs.MaxConcurrentConnections != nil {
74632		objectMap["maxConcurrentConnections"] = frs.MaxConcurrentConnections
74633	}
74634	for k, v := range frs.AdditionalProperties {
74635		objectMap[k] = v
74636	}
74637	return json.Marshal(objectMap)
74638}
74639
74640// UnmarshalJSON is the custom unmarshaler for FtpReadSettings struct.
74641func (frs *FtpReadSettings) UnmarshalJSON(body []byte) error {
74642	var m map[string]*json.RawMessage
74643	err := json.Unmarshal(body, &m)
74644	if err != nil {
74645		return err
74646	}
74647	for k, v := range m {
74648		switch k {
74649		case "recursive":
74650			if v != nil {
74651				var recursive interface{}
74652				err = json.Unmarshal(*v, &recursive)
74653				if err != nil {
74654					return err
74655				}
74656				frs.Recursive = recursive
74657			}
74658		case "wildcardFolderPath":
74659			if v != nil {
74660				var wildcardFolderPath interface{}
74661				err = json.Unmarshal(*v, &wildcardFolderPath)
74662				if err != nil {
74663					return err
74664				}
74665				frs.WildcardFolderPath = wildcardFolderPath
74666			}
74667		case "wildcardFileName":
74668			if v != nil {
74669				var wildcardFileName interface{}
74670				err = json.Unmarshal(*v, &wildcardFileName)
74671				if err != nil {
74672					return err
74673				}
74674				frs.WildcardFileName = wildcardFileName
74675			}
74676		case "useBinaryTransfer":
74677			if v != nil {
74678				var useBinaryTransfer bool
74679				err = json.Unmarshal(*v, &useBinaryTransfer)
74680				if err != nil {
74681					return err
74682				}
74683				frs.UseBinaryTransfer = &useBinaryTransfer
74684			}
74685		default:
74686			if v != nil {
74687				var additionalProperties interface{}
74688				err = json.Unmarshal(*v, &additionalProperties)
74689				if err != nil {
74690					return err
74691				}
74692				if frs.AdditionalProperties == nil {
74693					frs.AdditionalProperties = make(map[string]interface{})
74694				}
74695				frs.AdditionalProperties[k] = additionalProperties
74696			}
74697		case "type":
74698			if v != nil {
74699				var typeVar string
74700				err = json.Unmarshal(*v, &typeVar)
74701				if err != nil {
74702					return err
74703				}
74704				frs.Type = &typeVar
74705			}
74706		case "maxConcurrentConnections":
74707			if v != nil {
74708				var maxConcurrentConnections interface{}
74709				err = json.Unmarshal(*v, &maxConcurrentConnections)
74710				if err != nil {
74711					return err
74712				}
74713				frs.MaxConcurrentConnections = maxConcurrentConnections
74714			}
74715		}
74716	}
74717
74718	return nil
74719}
74720
74721// FtpServerLinkedService a FTP server Linked Service.
74722type FtpServerLinkedService struct {
74723	// FtpServerLinkedServiceTypeProperties - Properties specific to this linked service type.
74724	*FtpServerLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
74725	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
74726	AdditionalProperties map[string]interface{} `json:""`
74727	// ConnectVia - The integration runtime reference.
74728	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
74729	// Description - Linked service description.
74730	Description *string `json:"description,omitempty"`
74731	// Parameters - Parameters for linked service.
74732	Parameters map[string]*ParameterSpecification `json:"parameters"`
74733	// Annotations - List of tags that can be used for describing the linked service.
74734	Annotations *[]interface{} `json:"annotations,omitempty"`
74735	// Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', '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', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage'
74736	Type TypeBasicLinkedService `json:"type,omitempty"`
74737}
74738
74739// MarshalJSON is the custom marshaler for FtpServerLinkedService.
74740func (fsls FtpServerLinkedService) MarshalJSON() ([]byte, error) {
74741	fsls.Type = TypeFtpServer
74742	objectMap := make(map[string]interface{})
74743	if fsls.FtpServerLinkedServiceTypeProperties != nil {
74744		objectMap["typeProperties"] = fsls.FtpServerLinkedServiceTypeProperties
74745	}
74746	if fsls.ConnectVia != nil {
74747		objectMap["connectVia"] = fsls.ConnectVia
74748	}
74749	if fsls.Description != nil {
74750		objectMap["description"] = fsls.Description
74751	}
74752	if fsls.Parameters != nil {
74753		objectMap["parameters"] = fsls.Parameters
74754	}
74755	if fsls.Annotations != nil {
74756		objectMap["annotations"] = fsls.Annotations
74757	}
74758	if fsls.Type != "" {
74759		objectMap["type"] = fsls.Type
74760	}
74761	for k, v := range fsls.AdditionalProperties {
74762		objectMap[k] = v
74763	}
74764	return json.Marshal(objectMap)
74765}
74766
74767// AsAzureFunctionLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
74768func (fsls FtpServerLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) {
74769	return nil, false
74770}
74771
74772// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
74773func (fsls FtpServerLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) {
74774	return nil, false
74775}
74776
74777// AsSapTableLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
74778func (fsls FtpServerLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) {
74779	return nil, false
74780}
74781
74782// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
74783func (fsls FtpServerLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) {
74784	return nil, false
74785}
74786
74787// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
74788func (fsls FtpServerLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) {
74789	return nil, false
74790}
74791
74792// AsDynamicsAXLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
74793func (fsls FtpServerLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) {
74794	return nil, false
74795}
74796
74797// AsResponsysLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
74798func (fsls FtpServerLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
74799	return nil, false
74800}
74801
74802// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
74803func (fsls FtpServerLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
74804	return nil, false
74805}
74806
74807// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
74808func (fsls FtpServerLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
74809	return nil, false
74810}
74811
74812// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
74813func (fsls FtpServerLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
74814	return nil, false
74815}
74816
74817// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
74818func (fsls FtpServerLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
74819	return nil, false
74820}
74821
74822// AsNetezzaLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
74823func (fsls FtpServerLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
74824	return nil, false
74825}
74826
74827// AsVerticaLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
74828func (fsls FtpServerLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
74829	return nil, false
74830}
74831
74832// AsZohoLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
74833func (fsls FtpServerLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
74834	return nil, false
74835}
74836
74837// AsXeroLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
74838func (fsls FtpServerLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
74839	return nil, false
74840}
74841
74842// AsSquareLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
74843func (fsls FtpServerLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
74844	return nil, false
74845}
74846
74847// AsSparkLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
74848func (fsls FtpServerLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
74849	return nil, false
74850}
74851
74852// AsShopifyLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
74853func (fsls FtpServerLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
74854	return nil, false
74855}
74856
74857// AsServiceNowLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
74858func (fsls FtpServerLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
74859	return nil, false
74860}
74861
74862// AsQuickBooksLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
74863func (fsls FtpServerLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
74864	return nil, false
74865}
74866
74867// AsPrestoLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
74868func (fsls FtpServerLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
74869	return nil, false
74870}
74871
74872// AsPhoenixLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
74873func (fsls FtpServerLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
74874	return nil, false
74875}
74876
74877// AsPaypalLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
74878func (fsls FtpServerLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
74879	return nil, false
74880}
74881
74882// AsMarketoLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
74883func (fsls FtpServerLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
74884	return nil, false
74885}
74886
74887// AsMariaDBLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
74888func (fsls FtpServerLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
74889	return nil, false
74890}
74891
74892// AsMagentoLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
74893func (fsls FtpServerLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
74894	return nil, false
74895}
74896
74897// AsJiraLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
74898func (fsls FtpServerLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
74899	return nil, false
74900}
74901
74902// AsImpalaLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
74903func (fsls FtpServerLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
74904	return nil, false
74905}
74906
74907// AsHubspotLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
74908func (fsls FtpServerLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
74909	return nil, false
74910}
74911
74912// AsHiveLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
74913func (fsls FtpServerLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
74914	return nil, false
74915}
74916
74917// AsHBaseLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
74918func (fsls FtpServerLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
74919	return nil, false
74920}
74921
74922// AsGreenplumLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
74923func (fsls FtpServerLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
74924	return nil, false
74925}
74926
74927// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
74928func (fsls FtpServerLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
74929	return nil, false
74930}
74931
74932// AsEloquaLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
74933func (fsls FtpServerLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
74934	return nil, false
74935}
74936
74937// AsDrillLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
74938func (fsls FtpServerLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
74939	return nil, false
74940}
74941
74942// AsCouchbaseLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
74943func (fsls FtpServerLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
74944	return nil, false
74945}
74946
74947// AsConcurLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
74948func (fsls FtpServerLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
74949	return nil, false
74950}
74951
74952// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
74953func (fsls FtpServerLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
74954	return nil, false
74955}
74956
74957// AsAmazonMWSLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
74958func (fsls FtpServerLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
74959	return nil, false
74960}
74961
74962// AsSapHanaLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
74963func (fsls FtpServerLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
74964	return nil, false
74965}
74966
74967// AsSapBWLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
74968func (fsls FtpServerLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
74969	return nil, false
74970}
74971
74972// AsSftpServerLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
74973func (fsls FtpServerLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
74974	return nil, false
74975}
74976
74977// AsFtpServerLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
74978func (fsls FtpServerLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
74979	return &fsls, true
74980}
74981
74982// AsHTTPLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
74983func (fsls FtpServerLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
74984	return nil, false
74985}
74986
74987// AsAzureSearchLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
74988func (fsls FtpServerLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
74989	return nil, false
74990}
74991
74992// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
74993func (fsls FtpServerLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
74994	return nil, false
74995}
74996
74997// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
74998func (fsls FtpServerLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
74999	return nil, false
75000}
75001
75002// AsAmazonS3LinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
75003func (fsls FtpServerLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
75004	return nil, false
75005}
75006
75007// AsRestServiceLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
75008func (fsls FtpServerLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) {
75009	return nil, false
75010}
75011
75012// AsSapOpenHubLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
75013func (fsls FtpServerLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) {
75014	return nil, false
75015}
75016
75017// AsSapEccLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
75018func (fsls FtpServerLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
75019	return nil, false
75020}
75021
75022// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
75023func (fsls FtpServerLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
75024	return nil, false
75025}
75026
75027// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
75028func (fsls FtpServerLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) {
75029	return nil, false
75030}
75031
75032// AsSalesforceLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
75033func (fsls FtpServerLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
75034	return nil, false
75035}
75036
75037// AsOffice365LinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
75038func (fsls FtpServerLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) {
75039	return nil, false
75040}
75041
75042// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
75043func (fsls FtpServerLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) {
75044	return nil, false
75045}
75046
75047// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
75048func (fsls FtpServerLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
75049	return nil, false
75050}
75051
75052// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
75053func (fsls FtpServerLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) {
75054	return nil, false
75055}
75056
75057// AsMongoDbV2LinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
75058func (fsls FtpServerLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) {
75059	return nil, false
75060}
75061
75062// AsMongoDbLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
75063func (fsls FtpServerLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
75064	return nil, false
75065}
75066
75067// AsCassandraLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
75068func (fsls FtpServerLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
75069	return nil, false
75070}
75071
75072// AsWebLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
75073func (fsls FtpServerLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
75074	return nil, false
75075}
75076
75077// AsODataLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
75078func (fsls FtpServerLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
75079	return nil, false
75080}
75081
75082// AsHdfsLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
75083func (fsls FtpServerLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
75084	return nil, false
75085}
75086
75087// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
75088func (fsls FtpServerLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) {
75089	return nil, false
75090}
75091
75092// AsInformixLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
75093func (fsls FtpServerLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) {
75094	return nil, false
75095}
75096
75097// AsOdbcLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
75098func (fsls FtpServerLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
75099	return nil, false
75100}
75101
75102// AsAzureMLLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
75103func (fsls FtpServerLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
75104	return nil, false
75105}
75106
75107// AsTeradataLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
75108func (fsls FtpServerLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
75109	return nil, false
75110}
75111
75112// AsDb2LinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
75113func (fsls FtpServerLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
75114	return nil, false
75115}
75116
75117// AsSybaseLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
75118func (fsls FtpServerLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
75119	return nil, false
75120}
75121
75122// AsPostgreSQLLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
75123func (fsls FtpServerLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
75124	return nil, false
75125}
75126
75127// AsMySQLLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
75128func (fsls FtpServerLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
75129	return nil, false
75130}
75131
75132// AsAzureMySQLLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
75133func (fsls FtpServerLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
75134	return nil, false
75135}
75136
75137// AsOracleLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
75138func (fsls FtpServerLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
75139	return nil, false
75140}
75141
75142// AsFileServerLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
75143func (fsls FtpServerLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
75144	return nil, false
75145}
75146
75147// AsHDInsightLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
75148func (fsls FtpServerLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
75149	return nil, false
75150}
75151
75152// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
75153func (fsls FtpServerLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) {
75154	return nil, false
75155}
75156
75157// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
75158func (fsls FtpServerLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) {
75159	return nil, false
75160}
75161
75162// AsDynamicsLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
75163func (fsls FtpServerLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
75164	return nil, false
75165}
75166
75167// AsCosmosDbLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
75168func (fsls FtpServerLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
75169	return nil, false
75170}
75171
75172// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
75173func (fsls FtpServerLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
75174	return nil, false
75175}
75176
75177// AsAzureBatchLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
75178func (fsls FtpServerLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
75179	return nil, false
75180}
75181
75182// AsAzureSQLMILinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
75183func (fsls FtpServerLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) {
75184	return nil, false
75185}
75186
75187// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
75188func (fsls FtpServerLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
75189	return nil, false
75190}
75191
75192// AsSQLServerLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
75193func (fsls FtpServerLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
75194	return nil, false
75195}
75196
75197// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
75198func (fsls FtpServerLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
75199	return nil, false
75200}
75201
75202// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
75203func (fsls FtpServerLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) {
75204	return nil, false
75205}
75206
75207// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
75208func (fsls FtpServerLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) {
75209	return nil, false
75210}
75211
75212// AsAzureStorageLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
75213func (fsls FtpServerLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
75214	return nil, false
75215}
75216
75217// AsLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
75218func (fsls FtpServerLinkedService) AsLinkedService() (*LinkedService, bool) {
75219	return nil, false
75220}
75221
75222// AsBasicLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
75223func (fsls FtpServerLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
75224	return &fsls, true
75225}
75226
75227// UnmarshalJSON is the custom unmarshaler for FtpServerLinkedService struct.
75228func (fsls *FtpServerLinkedService) UnmarshalJSON(body []byte) error {
75229	var m map[string]*json.RawMessage
75230	err := json.Unmarshal(body, &m)
75231	if err != nil {
75232		return err
75233	}
75234	for k, v := range m {
75235		switch k {
75236		case "typeProperties":
75237			if v != nil {
75238				var ftpServerLinkedServiceTypeProperties FtpServerLinkedServiceTypeProperties
75239				err = json.Unmarshal(*v, &ftpServerLinkedServiceTypeProperties)
75240				if err != nil {
75241					return err
75242				}
75243				fsls.FtpServerLinkedServiceTypeProperties = &ftpServerLinkedServiceTypeProperties
75244			}
75245		default:
75246			if v != nil {
75247				var additionalProperties interface{}
75248				err = json.Unmarshal(*v, &additionalProperties)
75249				if err != nil {
75250					return err
75251				}
75252				if fsls.AdditionalProperties == nil {
75253					fsls.AdditionalProperties = make(map[string]interface{})
75254				}
75255				fsls.AdditionalProperties[k] = additionalProperties
75256			}
75257		case "connectVia":
75258			if v != nil {
75259				var connectVia IntegrationRuntimeReference
75260				err = json.Unmarshal(*v, &connectVia)
75261				if err != nil {
75262					return err
75263				}
75264				fsls.ConnectVia = &connectVia
75265			}
75266		case "description":
75267			if v != nil {
75268				var description string
75269				err = json.Unmarshal(*v, &description)
75270				if err != nil {
75271					return err
75272				}
75273				fsls.Description = &description
75274			}
75275		case "parameters":
75276			if v != nil {
75277				var parameters map[string]*ParameterSpecification
75278				err = json.Unmarshal(*v, &parameters)
75279				if err != nil {
75280					return err
75281				}
75282				fsls.Parameters = parameters
75283			}
75284		case "annotations":
75285			if v != nil {
75286				var annotations []interface{}
75287				err = json.Unmarshal(*v, &annotations)
75288				if err != nil {
75289					return err
75290				}
75291				fsls.Annotations = &annotations
75292			}
75293		case "type":
75294			if v != nil {
75295				var typeVar TypeBasicLinkedService
75296				err = json.Unmarshal(*v, &typeVar)
75297				if err != nil {
75298					return err
75299				}
75300				fsls.Type = typeVar
75301			}
75302		}
75303	}
75304
75305	return nil
75306}
75307
75308// FtpServerLinkedServiceTypeProperties properties specific to this linked service type.
75309type FtpServerLinkedServiceTypeProperties struct {
75310	// Host - Host name of the FTP server. Type: string (or Expression with resultType string).
75311	Host interface{} `json:"host,omitempty"`
75312	// 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.
75313	Port interface{} `json:"port,omitempty"`
75314	// AuthenticationType - The authentication type to be used to connect to the FTP server. Possible values include: 'FtpAuthenticationTypeBasic', 'FtpAuthenticationTypeAnonymous'
75315	AuthenticationType FtpAuthenticationType `json:"authenticationType,omitempty"`
75316	// UserName - Username to logon the FTP server. Type: string (or Expression with resultType string).
75317	UserName interface{} `json:"userName,omitempty"`
75318	// Password - Password to logon the FTP server.
75319	Password BasicSecretBase `json:"password,omitempty"`
75320	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
75321	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
75322	// EnableSsl - If true, connect to the FTP server over SSL/TLS channel. Default value is true. Type: boolean (or Expression with resultType boolean).
75323	EnableSsl interface{} `json:"enableSsl,omitempty"`
75324	// 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).
75325	EnableServerCertificateValidation interface{} `json:"enableServerCertificateValidation,omitempty"`
75326}
75327
75328// UnmarshalJSON is the custom unmarshaler for FtpServerLinkedServiceTypeProperties struct.
75329func (fslstp *FtpServerLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
75330	var m map[string]*json.RawMessage
75331	err := json.Unmarshal(body, &m)
75332	if err != nil {
75333		return err
75334	}
75335	for k, v := range m {
75336		switch k {
75337		case "host":
75338			if v != nil {
75339				var host interface{}
75340				err = json.Unmarshal(*v, &host)
75341				if err != nil {
75342					return err
75343				}
75344				fslstp.Host = host
75345			}
75346		case "port":
75347			if v != nil {
75348				var port interface{}
75349				err = json.Unmarshal(*v, &port)
75350				if err != nil {
75351					return err
75352				}
75353				fslstp.Port = port
75354			}
75355		case "authenticationType":
75356			if v != nil {
75357				var authenticationType FtpAuthenticationType
75358				err = json.Unmarshal(*v, &authenticationType)
75359				if err != nil {
75360					return err
75361				}
75362				fslstp.AuthenticationType = authenticationType
75363			}
75364		case "userName":
75365			if v != nil {
75366				var userName interface{}
75367				err = json.Unmarshal(*v, &userName)
75368				if err != nil {
75369					return err
75370				}
75371				fslstp.UserName = userName
75372			}
75373		case "password":
75374			if v != nil {
75375				password, err := unmarshalBasicSecretBase(*v)
75376				if err != nil {
75377					return err
75378				}
75379				fslstp.Password = password
75380			}
75381		case "encryptedCredential":
75382			if v != nil {
75383				var encryptedCredential interface{}
75384				err = json.Unmarshal(*v, &encryptedCredential)
75385				if err != nil {
75386					return err
75387				}
75388				fslstp.EncryptedCredential = encryptedCredential
75389			}
75390		case "enableSsl":
75391			if v != nil {
75392				var enableSsl interface{}
75393				err = json.Unmarshal(*v, &enableSsl)
75394				if err != nil {
75395					return err
75396				}
75397				fslstp.EnableSsl = enableSsl
75398			}
75399		case "enableServerCertificateValidation":
75400			if v != nil {
75401				var enableServerCertificateValidation interface{}
75402				err = json.Unmarshal(*v, &enableServerCertificateValidation)
75403				if err != nil {
75404					return err
75405				}
75406				fslstp.EnableServerCertificateValidation = enableServerCertificateValidation
75407			}
75408		}
75409	}
75410
75411	return nil
75412}
75413
75414// FtpServerLocation the location of ftp server dataset.
75415type FtpServerLocation struct {
75416	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
75417	AdditionalProperties map[string]interface{} `json:""`
75418	// Type - Type of dataset storage location.
75419	Type *string `json:"type,omitempty"`
75420	// FolderPath - Specify the folder path of dataset. Type: string (or Expression with resultType string)
75421	FolderPath interface{} `json:"folderPath,omitempty"`
75422	// FileName - Specify the file name of dataset. Type: string (or Expression with resultType string).
75423	FileName interface{} `json:"fileName,omitempty"`
75424}
75425
75426// MarshalJSON is the custom marshaler for FtpServerLocation.
75427func (fsl FtpServerLocation) MarshalJSON() ([]byte, error) {
75428	objectMap := make(map[string]interface{})
75429	if fsl.Type != nil {
75430		objectMap["type"] = fsl.Type
75431	}
75432	if fsl.FolderPath != nil {
75433		objectMap["folderPath"] = fsl.FolderPath
75434	}
75435	if fsl.FileName != nil {
75436		objectMap["fileName"] = fsl.FileName
75437	}
75438	for k, v := range fsl.AdditionalProperties {
75439		objectMap[k] = v
75440	}
75441	return json.Marshal(objectMap)
75442}
75443
75444// UnmarshalJSON is the custom unmarshaler for FtpServerLocation struct.
75445func (fsl *FtpServerLocation) UnmarshalJSON(body []byte) error {
75446	var m map[string]*json.RawMessage
75447	err := json.Unmarshal(body, &m)
75448	if err != nil {
75449		return err
75450	}
75451	for k, v := range m {
75452		switch k {
75453		default:
75454			if v != nil {
75455				var additionalProperties interface{}
75456				err = json.Unmarshal(*v, &additionalProperties)
75457				if err != nil {
75458					return err
75459				}
75460				if fsl.AdditionalProperties == nil {
75461					fsl.AdditionalProperties = make(map[string]interface{})
75462				}
75463				fsl.AdditionalProperties[k] = additionalProperties
75464			}
75465		case "type":
75466			if v != nil {
75467				var typeVar string
75468				err = json.Unmarshal(*v, &typeVar)
75469				if err != nil {
75470					return err
75471				}
75472				fsl.Type = &typeVar
75473			}
75474		case "folderPath":
75475			if v != nil {
75476				var folderPath interface{}
75477				err = json.Unmarshal(*v, &folderPath)
75478				if err != nil {
75479					return err
75480				}
75481				fsl.FolderPath = folderPath
75482			}
75483		case "fileName":
75484			if v != nil {
75485				var fileName interface{}
75486				err = json.Unmarshal(*v, &fileName)
75487				if err != nil {
75488					return err
75489				}
75490				fsl.FileName = fileName
75491			}
75492		}
75493	}
75494
75495	return nil
75496}
75497
75498// GenericDatasetTypeProperties properties specific to this dataset type.
75499type GenericDatasetTypeProperties struct {
75500	// TableName - The table name. Type: string (or Expression with resultType string).
75501	TableName interface{} `json:"tableName,omitempty"`
75502}
75503
75504// GetMetadataActivity activity to get metadata of dataset
75505type GetMetadataActivity struct {
75506	// GetMetadataActivityTypeProperties - GetMetadata activity properties.
75507	*GetMetadataActivityTypeProperties `json:"typeProperties,omitempty"`
75508	// LinkedServiceName - Linked service reference.
75509	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
75510	// Policy - Activity policy.
75511	Policy *ActivityPolicy `json:"policy,omitempty"`
75512	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
75513	AdditionalProperties map[string]interface{} `json:""`
75514	// Name - Activity name.
75515	Name *string `json:"name,omitempty"`
75516	// Description - Activity description.
75517	Description *string `json:"description,omitempty"`
75518	// DependsOn - Activity depends on condition.
75519	DependsOn *[]ActivityDependency `json:"dependsOn,omitempty"`
75520	// UserProperties - Activity user properties.
75521	UserProperties *[]UserProperty `json:"userProperties,omitempty"`
75522	// Type - Possible values include: 'TypeActivity', 'TypeAzureFunctionActivity', 'TypeDatabricksSparkPython', 'TypeDatabricksSparkJar', 'TypeDatabricksNotebook', 'TypeDataLakeAnalyticsUSQL', 'TypeAzureMLUpdateResource', 'TypeAzureMLBatchExecution', 'TypeGetMetadata', 'TypeWebActivity', 'TypeLookup', 'TypeAzureDataExplorerCommand', 'TypeDelete', 'TypeSQLServerStoredProcedure', 'TypeCustom', 'TypeExecuteSSISPackage', 'TypeHDInsightSpark', 'TypeHDInsightStreaming', 'TypeHDInsightMapReduce', 'TypeHDInsightPig', 'TypeHDInsightHive', 'TypeCopy', 'TypeExecution', 'TypeWebHook', 'TypeAppendVariable', 'TypeSetVariable', 'TypeFilter', 'TypeValidation', 'TypeUntil', 'TypeWait', 'TypeForEach', 'TypeIfCondition', 'TypeExecutePipeline', 'TypeContainer'
75523	Type TypeBasicActivity `json:"type,omitempty"`
75524}
75525
75526// MarshalJSON is the custom marshaler for GetMetadataActivity.
75527func (gma GetMetadataActivity) MarshalJSON() ([]byte, error) {
75528	gma.Type = TypeGetMetadata
75529	objectMap := make(map[string]interface{})
75530	if gma.GetMetadataActivityTypeProperties != nil {
75531		objectMap["typeProperties"] = gma.GetMetadataActivityTypeProperties
75532	}
75533	if gma.LinkedServiceName != nil {
75534		objectMap["linkedServiceName"] = gma.LinkedServiceName
75535	}
75536	if gma.Policy != nil {
75537		objectMap["policy"] = gma.Policy
75538	}
75539	if gma.Name != nil {
75540		objectMap["name"] = gma.Name
75541	}
75542	if gma.Description != nil {
75543		objectMap["description"] = gma.Description
75544	}
75545	if gma.DependsOn != nil {
75546		objectMap["dependsOn"] = gma.DependsOn
75547	}
75548	if gma.UserProperties != nil {
75549		objectMap["userProperties"] = gma.UserProperties
75550	}
75551	if gma.Type != "" {
75552		objectMap["type"] = gma.Type
75553	}
75554	for k, v := range gma.AdditionalProperties {
75555		objectMap[k] = v
75556	}
75557	return json.Marshal(objectMap)
75558}
75559
75560// AsAzureFunctionActivity is the BasicActivity implementation for GetMetadataActivity.
75561func (gma GetMetadataActivity) AsAzureFunctionActivity() (*AzureFunctionActivity, bool) {
75562	return nil, false
75563}
75564
75565// AsDatabricksSparkPythonActivity is the BasicActivity implementation for GetMetadataActivity.
75566func (gma GetMetadataActivity) AsDatabricksSparkPythonActivity() (*DatabricksSparkPythonActivity, bool) {
75567	return nil, false
75568}
75569
75570// AsDatabricksSparkJarActivity is the BasicActivity implementation for GetMetadataActivity.
75571func (gma GetMetadataActivity) AsDatabricksSparkJarActivity() (*DatabricksSparkJarActivity, bool) {
75572	return nil, false
75573}
75574
75575// AsDatabricksNotebookActivity is the BasicActivity implementation for GetMetadataActivity.
75576func (gma GetMetadataActivity) AsDatabricksNotebookActivity() (*DatabricksNotebookActivity, bool) {
75577	return nil, false
75578}
75579
75580// AsDataLakeAnalyticsUSQLActivity is the BasicActivity implementation for GetMetadataActivity.
75581func (gma GetMetadataActivity) AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalyticsUSQLActivity, bool) {
75582	return nil, false
75583}
75584
75585// AsAzureMLUpdateResourceActivity is the BasicActivity implementation for GetMetadataActivity.
75586func (gma GetMetadataActivity) AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool) {
75587	return nil, false
75588}
75589
75590// AsAzureMLBatchExecutionActivity is the BasicActivity implementation for GetMetadataActivity.
75591func (gma GetMetadataActivity) AsAzureMLBatchExecutionActivity() (*AzureMLBatchExecutionActivity, bool) {
75592	return nil, false
75593}
75594
75595// AsGetMetadataActivity is the BasicActivity implementation for GetMetadataActivity.
75596func (gma GetMetadataActivity) AsGetMetadataActivity() (*GetMetadataActivity, bool) {
75597	return &gma, true
75598}
75599
75600// AsWebActivity is the BasicActivity implementation for GetMetadataActivity.
75601func (gma GetMetadataActivity) AsWebActivity() (*WebActivity, bool) {
75602	return nil, false
75603}
75604
75605// AsLookupActivity is the BasicActivity implementation for GetMetadataActivity.
75606func (gma GetMetadataActivity) AsLookupActivity() (*LookupActivity, bool) {
75607	return nil, false
75608}
75609
75610// AsAzureDataExplorerCommandActivity is the BasicActivity implementation for GetMetadataActivity.
75611func (gma GetMetadataActivity) AsAzureDataExplorerCommandActivity() (*AzureDataExplorerCommandActivity, bool) {
75612	return nil, false
75613}
75614
75615// AsDeleteActivity is the BasicActivity implementation for GetMetadataActivity.
75616func (gma GetMetadataActivity) AsDeleteActivity() (*DeleteActivity, bool) {
75617	return nil, false
75618}
75619
75620// AsSQLServerStoredProcedureActivity is the BasicActivity implementation for GetMetadataActivity.
75621func (gma GetMetadataActivity) AsSQLServerStoredProcedureActivity() (*SQLServerStoredProcedureActivity, bool) {
75622	return nil, false
75623}
75624
75625// AsCustomActivity is the BasicActivity implementation for GetMetadataActivity.
75626func (gma GetMetadataActivity) AsCustomActivity() (*CustomActivity, bool) {
75627	return nil, false
75628}
75629
75630// AsExecuteSSISPackageActivity is the BasicActivity implementation for GetMetadataActivity.
75631func (gma GetMetadataActivity) AsExecuteSSISPackageActivity() (*ExecuteSSISPackageActivity, bool) {
75632	return nil, false
75633}
75634
75635// AsHDInsightSparkActivity is the BasicActivity implementation for GetMetadataActivity.
75636func (gma GetMetadataActivity) AsHDInsightSparkActivity() (*HDInsightSparkActivity, bool) {
75637	return nil, false
75638}
75639
75640// AsHDInsightStreamingActivity is the BasicActivity implementation for GetMetadataActivity.
75641func (gma GetMetadataActivity) AsHDInsightStreamingActivity() (*HDInsightStreamingActivity, bool) {
75642	return nil, false
75643}
75644
75645// AsHDInsightMapReduceActivity is the BasicActivity implementation for GetMetadataActivity.
75646func (gma GetMetadataActivity) AsHDInsightMapReduceActivity() (*HDInsightMapReduceActivity, bool) {
75647	return nil, false
75648}
75649
75650// AsHDInsightPigActivity is the BasicActivity implementation for GetMetadataActivity.
75651func (gma GetMetadataActivity) AsHDInsightPigActivity() (*HDInsightPigActivity, bool) {
75652	return nil, false
75653}
75654
75655// AsHDInsightHiveActivity is the BasicActivity implementation for GetMetadataActivity.
75656func (gma GetMetadataActivity) AsHDInsightHiveActivity() (*HDInsightHiveActivity, bool) {
75657	return nil, false
75658}
75659
75660// AsCopyActivity is the BasicActivity implementation for GetMetadataActivity.
75661func (gma GetMetadataActivity) AsCopyActivity() (*CopyActivity, bool) {
75662	return nil, false
75663}
75664
75665// AsExecutionActivity is the BasicActivity implementation for GetMetadataActivity.
75666func (gma GetMetadataActivity) AsExecutionActivity() (*ExecutionActivity, bool) {
75667	return nil, false
75668}
75669
75670// AsBasicExecutionActivity is the BasicActivity implementation for GetMetadataActivity.
75671func (gma GetMetadataActivity) AsBasicExecutionActivity() (BasicExecutionActivity, bool) {
75672	return &gma, true
75673}
75674
75675// AsWebHookActivity is the BasicActivity implementation for GetMetadataActivity.
75676func (gma GetMetadataActivity) AsWebHookActivity() (*WebHookActivity, bool) {
75677	return nil, false
75678}
75679
75680// AsAppendVariableActivity is the BasicActivity implementation for GetMetadataActivity.
75681func (gma GetMetadataActivity) AsAppendVariableActivity() (*AppendVariableActivity, bool) {
75682	return nil, false
75683}
75684
75685// AsSetVariableActivity is the BasicActivity implementation for GetMetadataActivity.
75686func (gma GetMetadataActivity) AsSetVariableActivity() (*SetVariableActivity, bool) {
75687	return nil, false
75688}
75689
75690// AsFilterActivity is the BasicActivity implementation for GetMetadataActivity.
75691func (gma GetMetadataActivity) AsFilterActivity() (*FilterActivity, bool) {
75692	return nil, false
75693}
75694
75695// AsValidationActivity is the BasicActivity implementation for GetMetadataActivity.
75696func (gma GetMetadataActivity) AsValidationActivity() (*ValidationActivity, bool) {
75697	return nil, false
75698}
75699
75700// AsUntilActivity is the BasicActivity implementation for GetMetadataActivity.
75701func (gma GetMetadataActivity) AsUntilActivity() (*UntilActivity, bool) {
75702	return nil, false
75703}
75704
75705// AsWaitActivity is the BasicActivity implementation for GetMetadataActivity.
75706func (gma GetMetadataActivity) AsWaitActivity() (*WaitActivity, bool) {
75707	return nil, false
75708}
75709
75710// AsForEachActivity is the BasicActivity implementation for GetMetadataActivity.
75711func (gma GetMetadataActivity) AsForEachActivity() (*ForEachActivity, bool) {
75712	return nil, false
75713}
75714
75715// AsIfConditionActivity is the BasicActivity implementation for GetMetadataActivity.
75716func (gma GetMetadataActivity) AsIfConditionActivity() (*IfConditionActivity, bool) {
75717	return nil, false
75718}
75719
75720// AsExecutePipelineActivity is the BasicActivity implementation for GetMetadataActivity.
75721func (gma GetMetadataActivity) AsExecutePipelineActivity() (*ExecutePipelineActivity, bool) {
75722	return nil, false
75723}
75724
75725// AsControlActivity is the BasicActivity implementation for GetMetadataActivity.
75726func (gma GetMetadataActivity) AsControlActivity() (*ControlActivity, bool) {
75727	return nil, false
75728}
75729
75730// AsBasicControlActivity is the BasicActivity implementation for GetMetadataActivity.
75731func (gma GetMetadataActivity) AsBasicControlActivity() (BasicControlActivity, bool) {
75732	return nil, false
75733}
75734
75735// AsActivity is the BasicActivity implementation for GetMetadataActivity.
75736func (gma GetMetadataActivity) AsActivity() (*Activity, bool) {
75737	return nil, false
75738}
75739
75740// AsBasicActivity is the BasicActivity implementation for GetMetadataActivity.
75741func (gma GetMetadataActivity) AsBasicActivity() (BasicActivity, bool) {
75742	return &gma, true
75743}
75744
75745// UnmarshalJSON is the custom unmarshaler for GetMetadataActivity struct.
75746func (gma *GetMetadataActivity) UnmarshalJSON(body []byte) error {
75747	var m map[string]*json.RawMessage
75748	err := json.Unmarshal(body, &m)
75749	if err != nil {
75750		return err
75751	}
75752	for k, v := range m {
75753		switch k {
75754		case "typeProperties":
75755			if v != nil {
75756				var getMetadataActivityTypeProperties GetMetadataActivityTypeProperties
75757				err = json.Unmarshal(*v, &getMetadataActivityTypeProperties)
75758				if err != nil {
75759					return err
75760				}
75761				gma.GetMetadataActivityTypeProperties = &getMetadataActivityTypeProperties
75762			}
75763		case "linkedServiceName":
75764			if v != nil {
75765				var linkedServiceName LinkedServiceReference
75766				err = json.Unmarshal(*v, &linkedServiceName)
75767				if err != nil {
75768					return err
75769				}
75770				gma.LinkedServiceName = &linkedServiceName
75771			}
75772		case "policy":
75773			if v != nil {
75774				var policy ActivityPolicy
75775				err = json.Unmarshal(*v, &policy)
75776				if err != nil {
75777					return err
75778				}
75779				gma.Policy = &policy
75780			}
75781		default:
75782			if v != nil {
75783				var additionalProperties interface{}
75784				err = json.Unmarshal(*v, &additionalProperties)
75785				if err != nil {
75786					return err
75787				}
75788				if gma.AdditionalProperties == nil {
75789					gma.AdditionalProperties = make(map[string]interface{})
75790				}
75791				gma.AdditionalProperties[k] = additionalProperties
75792			}
75793		case "name":
75794			if v != nil {
75795				var name string
75796				err = json.Unmarshal(*v, &name)
75797				if err != nil {
75798					return err
75799				}
75800				gma.Name = &name
75801			}
75802		case "description":
75803			if v != nil {
75804				var description string
75805				err = json.Unmarshal(*v, &description)
75806				if err != nil {
75807					return err
75808				}
75809				gma.Description = &description
75810			}
75811		case "dependsOn":
75812			if v != nil {
75813				var dependsOn []ActivityDependency
75814				err = json.Unmarshal(*v, &dependsOn)
75815				if err != nil {
75816					return err
75817				}
75818				gma.DependsOn = &dependsOn
75819			}
75820		case "userProperties":
75821			if v != nil {
75822				var userProperties []UserProperty
75823				err = json.Unmarshal(*v, &userProperties)
75824				if err != nil {
75825					return err
75826				}
75827				gma.UserProperties = &userProperties
75828			}
75829		case "type":
75830			if v != nil {
75831				var typeVar TypeBasicActivity
75832				err = json.Unmarshal(*v, &typeVar)
75833				if err != nil {
75834					return err
75835				}
75836				gma.Type = typeVar
75837			}
75838		}
75839	}
75840
75841	return nil
75842}
75843
75844// GetMetadataActivityTypeProperties getMetadata activity properties.
75845type GetMetadataActivityTypeProperties struct {
75846	// Dataset - GetMetadata activity dataset reference.
75847	Dataset *DatasetReference `json:"dataset,omitempty"`
75848	// FieldList - Fields of metadata to get from dataset.
75849	FieldList *[]interface{} `json:"fieldList,omitempty"`
75850}
75851
75852// GetSsisObjectMetadataRequest the request payload of get SSIS object metadata.
75853type GetSsisObjectMetadataRequest struct {
75854	// MetadataPath - Metadata path.
75855	MetadataPath *string `json:"metadataPath,omitempty"`
75856}
75857
75858// GitHubAccessTokenRequest get GitHub access token request definition.
75859type GitHubAccessTokenRequest struct {
75860	// GitHubAccessCode - GitHub access code.
75861	GitHubAccessCode *string `json:"gitHubAccessCode,omitempty"`
75862	// GitHubClientID - GitHub application client ID.
75863	GitHubClientID *string `json:"gitHubClientId,omitempty"`
75864	// GitHubAccessTokenBaseURL - GitHub access token base URL.
75865	GitHubAccessTokenBaseURL *string `json:"gitHubAccessTokenBaseUrl,omitempty"`
75866}
75867
75868// GitHubAccessTokenResponse get GitHub access token response definition.
75869type GitHubAccessTokenResponse struct {
75870	autorest.Response `json:"-"`
75871	// GitHubAccessToken - GitHub access token.
75872	GitHubAccessToken *string `json:"gitHubAccessToken,omitempty"`
75873}
75874
75875// GoogleAdWordsLinkedService google AdWords service linked service.
75876type GoogleAdWordsLinkedService struct {
75877	// GoogleAdWordsLinkedServiceTypeProperties - Google AdWords service linked service properties.
75878	*GoogleAdWordsLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
75879	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
75880	AdditionalProperties map[string]interface{} `json:""`
75881	// ConnectVia - The integration runtime reference.
75882	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
75883	// Description - Linked service description.
75884	Description *string `json:"description,omitempty"`
75885	// Parameters - Parameters for linked service.
75886	Parameters map[string]*ParameterSpecification `json:"parameters"`
75887	// Annotations - List of tags that can be used for describing the linked service.
75888	Annotations *[]interface{} `json:"annotations,omitempty"`
75889	// Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', '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', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage'
75890	Type TypeBasicLinkedService `json:"type,omitempty"`
75891}
75892
75893// MarshalJSON is the custom marshaler for GoogleAdWordsLinkedService.
75894func (gawls GoogleAdWordsLinkedService) MarshalJSON() ([]byte, error) {
75895	gawls.Type = TypeGoogleAdWords
75896	objectMap := make(map[string]interface{})
75897	if gawls.GoogleAdWordsLinkedServiceTypeProperties != nil {
75898		objectMap["typeProperties"] = gawls.GoogleAdWordsLinkedServiceTypeProperties
75899	}
75900	if gawls.ConnectVia != nil {
75901		objectMap["connectVia"] = gawls.ConnectVia
75902	}
75903	if gawls.Description != nil {
75904		objectMap["description"] = gawls.Description
75905	}
75906	if gawls.Parameters != nil {
75907		objectMap["parameters"] = gawls.Parameters
75908	}
75909	if gawls.Annotations != nil {
75910		objectMap["annotations"] = gawls.Annotations
75911	}
75912	if gawls.Type != "" {
75913		objectMap["type"] = gawls.Type
75914	}
75915	for k, v := range gawls.AdditionalProperties {
75916		objectMap[k] = v
75917	}
75918	return json.Marshal(objectMap)
75919}
75920
75921// AsAzureFunctionLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService.
75922func (gawls GoogleAdWordsLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) {
75923	return nil, false
75924}
75925
75926// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService.
75927func (gawls GoogleAdWordsLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) {
75928	return nil, false
75929}
75930
75931// AsSapTableLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService.
75932func (gawls GoogleAdWordsLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) {
75933	return nil, false
75934}
75935
75936// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService.
75937func (gawls GoogleAdWordsLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) {
75938	return &gawls, true
75939}
75940
75941// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService.
75942func (gawls GoogleAdWordsLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) {
75943	return nil, false
75944}
75945
75946// AsDynamicsAXLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService.
75947func (gawls GoogleAdWordsLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) {
75948	return nil, false
75949}
75950
75951// AsResponsysLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService.
75952func (gawls GoogleAdWordsLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
75953	return nil, false
75954}
75955
75956// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService.
75957func (gawls GoogleAdWordsLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
75958	return nil, false
75959}
75960
75961// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService.
75962func (gawls GoogleAdWordsLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
75963	return nil, false
75964}
75965
75966// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService.
75967func (gawls GoogleAdWordsLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
75968	return nil, false
75969}
75970
75971// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService.
75972func (gawls GoogleAdWordsLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
75973	return nil, false
75974}
75975
75976// AsNetezzaLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService.
75977func (gawls GoogleAdWordsLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
75978	return nil, false
75979}
75980
75981// AsVerticaLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService.
75982func (gawls GoogleAdWordsLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
75983	return nil, false
75984}
75985
75986// AsZohoLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService.
75987func (gawls GoogleAdWordsLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
75988	return nil, false
75989}
75990
75991// AsXeroLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService.
75992func (gawls GoogleAdWordsLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
75993	return nil, false
75994}
75995
75996// AsSquareLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService.
75997func (gawls GoogleAdWordsLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
75998	return nil, false
75999}
76000
76001// AsSparkLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService.
76002func (gawls GoogleAdWordsLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
76003	return nil, false
76004}
76005
76006// AsShopifyLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService.
76007func (gawls GoogleAdWordsLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
76008	return nil, false
76009}
76010
76011// AsServiceNowLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService.
76012func (gawls GoogleAdWordsLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
76013	return nil, false
76014}
76015
76016// AsQuickBooksLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService.
76017func (gawls GoogleAdWordsLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
76018	return nil, false
76019}
76020
76021// AsPrestoLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService.
76022func (gawls GoogleAdWordsLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
76023	return nil, false
76024}
76025
76026// AsPhoenixLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService.
76027func (gawls GoogleAdWordsLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
76028	return nil, false
76029}
76030
76031// AsPaypalLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService.
76032func (gawls GoogleAdWordsLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
76033	return nil, false
76034}
76035
76036// AsMarketoLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService.
76037func (gawls GoogleAdWordsLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
76038	return nil, false
76039}
76040
76041// AsMariaDBLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService.
76042func (gawls GoogleAdWordsLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
76043	return nil, false
76044}
76045
76046// AsMagentoLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService.
76047func (gawls GoogleAdWordsLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
76048	return nil, false
76049}
76050
76051// AsJiraLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService.
76052func (gawls GoogleAdWordsLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
76053	return nil, false
76054}
76055
76056// AsImpalaLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService.
76057func (gawls GoogleAdWordsLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
76058	return nil, false
76059}
76060
76061// AsHubspotLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService.
76062func (gawls GoogleAdWordsLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
76063	return nil, false
76064}
76065
76066// AsHiveLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService.
76067func (gawls GoogleAdWordsLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
76068	return nil, false
76069}
76070
76071// AsHBaseLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService.
76072func (gawls GoogleAdWordsLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
76073	return nil, false
76074}
76075
76076// AsGreenplumLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService.
76077func (gawls GoogleAdWordsLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
76078	return nil, false
76079}
76080
76081// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService.
76082func (gawls GoogleAdWordsLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
76083	return nil, false
76084}
76085
76086// AsEloquaLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService.
76087func (gawls GoogleAdWordsLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
76088	return nil, false
76089}
76090
76091// AsDrillLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService.
76092func (gawls GoogleAdWordsLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
76093	return nil, false
76094}
76095
76096// AsCouchbaseLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService.
76097func (gawls GoogleAdWordsLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
76098	return nil, false
76099}
76100
76101// AsConcurLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService.
76102func (gawls GoogleAdWordsLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
76103	return nil, false
76104}
76105
76106// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService.
76107func (gawls GoogleAdWordsLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
76108	return nil, false
76109}
76110
76111// AsAmazonMWSLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService.
76112func (gawls GoogleAdWordsLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
76113	return nil, false
76114}
76115
76116// AsSapHanaLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService.
76117func (gawls GoogleAdWordsLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
76118	return nil, false
76119}
76120
76121// AsSapBWLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService.
76122func (gawls GoogleAdWordsLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
76123	return nil, false
76124}
76125
76126// AsSftpServerLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService.
76127func (gawls GoogleAdWordsLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
76128	return nil, false
76129}
76130
76131// AsFtpServerLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService.
76132func (gawls GoogleAdWordsLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
76133	return nil, false
76134}
76135
76136// AsHTTPLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService.
76137func (gawls GoogleAdWordsLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
76138	return nil, false
76139}
76140
76141// AsAzureSearchLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService.
76142func (gawls GoogleAdWordsLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
76143	return nil, false
76144}
76145
76146// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService.
76147func (gawls GoogleAdWordsLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
76148	return nil, false
76149}
76150
76151// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService.
76152func (gawls GoogleAdWordsLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
76153	return nil, false
76154}
76155
76156// AsAmazonS3LinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService.
76157func (gawls GoogleAdWordsLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
76158	return nil, false
76159}
76160
76161// AsRestServiceLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService.
76162func (gawls GoogleAdWordsLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) {
76163	return nil, false
76164}
76165
76166// AsSapOpenHubLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService.
76167func (gawls GoogleAdWordsLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) {
76168	return nil, false
76169}
76170
76171// AsSapEccLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService.
76172func (gawls GoogleAdWordsLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
76173	return nil, false
76174}
76175
76176// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService.
76177func (gawls GoogleAdWordsLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
76178	return nil, false
76179}
76180
76181// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService.
76182func (gawls GoogleAdWordsLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) {
76183	return nil, false
76184}
76185
76186// AsSalesforceLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService.
76187func (gawls GoogleAdWordsLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
76188	return nil, false
76189}
76190
76191// AsOffice365LinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService.
76192func (gawls GoogleAdWordsLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) {
76193	return nil, false
76194}
76195
76196// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService.
76197func (gawls GoogleAdWordsLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) {
76198	return nil, false
76199}
76200
76201// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService.
76202func (gawls GoogleAdWordsLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
76203	return nil, false
76204}
76205
76206// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService.
76207func (gawls GoogleAdWordsLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) {
76208	return nil, false
76209}
76210
76211// AsMongoDbV2LinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService.
76212func (gawls GoogleAdWordsLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) {
76213	return nil, false
76214}
76215
76216// AsMongoDbLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService.
76217func (gawls GoogleAdWordsLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
76218	return nil, false
76219}
76220
76221// AsCassandraLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService.
76222func (gawls GoogleAdWordsLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
76223	return nil, false
76224}
76225
76226// AsWebLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService.
76227func (gawls GoogleAdWordsLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
76228	return nil, false
76229}
76230
76231// AsODataLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService.
76232func (gawls GoogleAdWordsLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
76233	return nil, false
76234}
76235
76236// AsHdfsLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService.
76237func (gawls GoogleAdWordsLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
76238	return nil, false
76239}
76240
76241// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService.
76242func (gawls GoogleAdWordsLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) {
76243	return nil, false
76244}
76245
76246// AsInformixLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService.
76247func (gawls GoogleAdWordsLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) {
76248	return nil, false
76249}
76250
76251// AsOdbcLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService.
76252func (gawls GoogleAdWordsLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
76253	return nil, false
76254}
76255
76256// AsAzureMLLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService.
76257func (gawls GoogleAdWordsLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
76258	return nil, false
76259}
76260
76261// AsTeradataLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService.
76262func (gawls GoogleAdWordsLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
76263	return nil, false
76264}
76265
76266// AsDb2LinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService.
76267func (gawls GoogleAdWordsLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
76268	return nil, false
76269}
76270
76271// AsSybaseLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService.
76272func (gawls GoogleAdWordsLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
76273	return nil, false
76274}
76275
76276// AsPostgreSQLLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService.
76277func (gawls GoogleAdWordsLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
76278	return nil, false
76279}
76280
76281// AsMySQLLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService.
76282func (gawls GoogleAdWordsLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
76283	return nil, false
76284}
76285
76286// AsAzureMySQLLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService.
76287func (gawls GoogleAdWordsLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
76288	return nil, false
76289}
76290
76291// AsOracleLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService.
76292func (gawls GoogleAdWordsLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
76293	return nil, false
76294}
76295
76296// AsFileServerLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService.
76297func (gawls GoogleAdWordsLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
76298	return nil, false
76299}
76300
76301// AsHDInsightLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService.
76302func (gawls GoogleAdWordsLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
76303	return nil, false
76304}
76305
76306// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService.
76307func (gawls GoogleAdWordsLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) {
76308	return nil, false
76309}
76310
76311// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService.
76312func (gawls GoogleAdWordsLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) {
76313	return nil, false
76314}
76315
76316// AsDynamicsLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService.
76317func (gawls GoogleAdWordsLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
76318	return nil, false
76319}
76320
76321// AsCosmosDbLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService.
76322func (gawls GoogleAdWordsLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
76323	return nil, false
76324}
76325
76326// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService.
76327func (gawls GoogleAdWordsLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
76328	return nil, false
76329}
76330
76331// AsAzureBatchLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService.
76332func (gawls GoogleAdWordsLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
76333	return nil, false
76334}
76335
76336// AsAzureSQLMILinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService.
76337func (gawls GoogleAdWordsLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) {
76338	return nil, false
76339}
76340
76341// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService.
76342func (gawls GoogleAdWordsLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
76343	return nil, false
76344}
76345
76346// AsSQLServerLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService.
76347func (gawls GoogleAdWordsLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
76348	return nil, false
76349}
76350
76351// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService.
76352func (gawls GoogleAdWordsLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
76353	return nil, false
76354}
76355
76356// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService.
76357func (gawls GoogleAdWordsLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) {
76358	return nil, false
76359}
76360
76361// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService.
76362func (gawls GoogleAdWordsLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) {
76363	return nil, false
76364}
76365
76366// AsAzureStorageLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService.
76367func (gawls GoogleAdWordsLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
76368	return nil, false
76369}
76370
76371// AsLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService.
76372func (gawls GoogleAdWordsLinkedService) AsLinkedService() (*LinkedService, bool) {
76373	return nil, false
76374}
76375
76376// AsBasicLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService.
76377func (gawls GoogleAdWordsLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
76378	return &gawls, true
76379}
76380
76381// UnmarshalJSON is the custom unmarshaler for GoogleAdWordsLinkedService struct.
76382func (gawls *GoogleAdWordsLinkedService) UnmarshalJSON(body []byte) error {
76383	var m map[string]*json.RawMessage
76384	err := json.Unmarshal(body, &m)
76385	if err != nil {
76386		return err
76387	}
76388	for k, v := range m {
76389		switch k {
76390		case "typeProperties":
76391			if v != nil {
76392				var googleAdWordsLinkedServiceTypeProperties GoogleAdWordsLinkedServiceTypeProperties
76393				err = json.Unmarshal(*v, &googleAdWordsLinkedServiceTypeProperties)
76394				if err != nil {
76395					return err
76396				}
76397				gawls.GoogleAdWordsLinkedServiceTypeProperties = &googleAdWordsLinkedServiceTypeProperties
76398			}
76399		default:
76400			if v != nil {
76401				var additionalProperties interface{}
76402				err = json.Unmarshal(*v, &additionalProperties)
76403				if err != nil {
76404					return err
76405				}
76406				if gawls.AdditionalProperties == nil {
76407					gawls.AdditionalProperties = make(map[string]interface{})
76408				}
76409				gawls.AdditionalProperties[k] = additionalProperties
76410			}
76411		case "connectVia":
76412			if v != nil {
76413				var connectVia IntegrationRuntimeReference
76414				err = json.Unmarshal(*v, &connectVia)
76415				if err != nil {
76416					return err
76417				}
76418				gawls.ConnectVia = &connectVia
76419			}
76420		case "description":
76421			if v != nil {
76422				var description string
76423				err = json.Unmarshal(*v, &description)
76424				if err != nil {
76425					return err
76426				}
76427				gawls.Description = &description
76428			}
76429		case "parameters":
76430			if v != nil {
76431				var parameters map[string]*ParameterSpecification
76432				err = json.Unmarshal(*v, &parameters)
76433				if err != nil {
76434					return err
76435				}
76436				gawls.Parameters = parameters
76437			}
76438		case "annotations":
76439			if v != nil {
76440				var annotations []interface{}
76441				err = json.Unmarshal(*v, &annotations)
76442				if err != nil {
76443					return err
76444				}
76445				gawls.Annotations = &annotations
76446			}
76447		case "type":
76448			if v != nil {
76449				var typeVar TypeBasicLinkedService
76450				err = json.Unmarshal(*v, &typeVar)
76451				if err != nil {
76452					return err
76453				}
76454				gawls.Type = typeVar
76455			}
76456		}
76457	}
76458
76459	return nil
76460}
76461
76462// GoogleAdWordsLinkedServiceTypeProperties google AdWords service linked service properties.
76463type GoogleAdWordsLinkedServiceTypeProperties struct {
76464	// ClientCustomerID - The Client customer ID of the AdWords account that you want to fetch report data for.
76465	ClientCustomerID interface{} `json:"clientCustomerID,omitempty"`
76466	// DeveloperToken - The developer token associated with the manager account that you use to grant access to the AdWords API.
76467	DeveloperToken BasicSecretBase `json:"developerToken,omitempty"`
76468	// AuthenticationType - The OAuth 2.0 authentication mechanism used for authentication. ServiceAuthentication can only be used on self-hosted IR. Possible values include: 'ServiceAuthentication', 'UserAuthentication'
76469	AuthenticationType GoogleAdWordsAuthenticationType `json:"authenticationType,omitempty"`
76470	// RefreshToken - The refresh token obtained from Google for authorizing access to AdWords for UserAuthentication.
76471	RefreshToken BasicSecretBase `json:"refreshToken,omitempty"`
76472	// ClientID - The client id of the google application used to acquire the refresh token.
76473	ClientID BasicSecretBase `json:"clientId,omitempty"`
76474	// ClientSecret - The client secret of the google application used to acquire the refresh token.
76475	ClientSecret BasicSecretBase `json:"clientSecret,omitempty"`
76476	// Email - The service account email ID that is used for ServiceAuthentication and can only be used on self-hosted IR.
76477	Email interface{} `json:"email,omitempty"`
76478	// 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.
76479	KeyFilePath interface{} `json:"keyFilePath,omitempty"`
76480	// 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.
76481	TrustedCertPath interface{} `json:"trustedCertPath,omitempty"`
76482	// UseSystemTrustStore - Specifies whether to use a CA certificate from the system trust store or from a specified PEM file. The default value is false.
76483	UseSystemTrustStore interface{} `json:"useSystemTrustStore,omitempty"`
76484	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
76485	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
76486}
76487
76488// UnmarshalJSON is the custom unmarshaler for GoogleAdWordsLinkedServiceTypeProperties struct.
76489func (gawlstp *GoogleAdWordsLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
76490	var m map[string]*json.RawMessage
76491	err := json.Unmarshal(body, &m)
76492	if err != nil {
76493		return err
76494	}
76495	for k, v := range m {
76496		switch k {
76497		case "clientCustomerID":
76498			if v != nil {
76499				var clientCustomerID interface{}
76500				err = json.Unmarshal(*v, &clientCustomerID)
76501				if err != nil {
76502					return err
76503				}
76504				gawlstp.ClientCustomerID = clientCustomerID
76505			}
76506		case "developerToken":
76507			if v != nil {
76508				developerToken, err := unmarshalBasicSecretBase(*v)
76509				if err != nil {
76510					return err
76511				}
76512				gawlstp.DeveloperToken = developerToken
76513			}
76514		case "authenticationType":
76515			if v != nil {
76516				var authenticationType GoogleAdWordsAuthenticationType
76517				err = json.Unmarshal(*v, &authenticationType)
76518				if err != nil {
76519					return err
76520				}
76521				gawlstp.AuthenticationType = authenticationType
76522			}
76523		case "refreshToken":
76524			if v != nil {
76525				refreshToken, err := unmarshalBasicSecretBase(*v)
76526				if err != nil {
76527					return err
76528				}
76529				gawlstp.RefreshToken = refreshToken
76530			}
76531		case "clientId":
76532			if v != nil {
76533				clientID, err := unmarshalBasicSecretBase(*v)
76534				if err != nil {
76535					return err
76536				}
76537				gawlstp.ClientID = clientID
76538			}
76539		case "clientSecret":
76540			if v != nil {
76541				clientSecret, err := unmarshalBasicSecretBase(*v)
76542				if err != nil {
76543					return err
76544				}
76545				gawlstp.ClientSecret = clientSecret
76546			}
76547		case "email":
76548			if v != nil {
76549				var email interface{}
76550				err = json.Unmarshal(*v, &email)
76551				if err != nil {
76552					return err
76553				}
76554				gawlstp.Email = email
76555			}
76556		case "keyFilePath":
76557			if v != nil {
76558				var keyFilePath interface{}
76559				err = json.Unmarshal(*v, &keyFilePath)
76560				if err != nil {
76561					return err
76562				}
76563				gawlstp.KeyFilePath = keyFilePath
76564			}
76565		case "trustedCertPath":
76566			if v != nil {
76567				var trustedCertPath interface{}
76568				err = json.Unmarshal(*v, &trustedCertPath)
76569				if err != nil {
76570					return err
76571				}
76572				gawlstp.TrustedCertPath = trustedCertPath
76573			}
76574		case "useSystemTrustStore":
76575			if v != nil {
76576				var useSystemTrustStore interface{}
76577				err = json.Unmarshal(*v, &useSystemTrustStore)
76578				if err != nil {
76579					return err
76580				}
76581				gawlstp.UseSystemTrustStore = useSystemTrustStore
76582			}
76583		case "encryptedCredential":
76584			if v != nil {
76585				var encryptedCredential interface{}
76586				err = json.Unmarshal(*v, &encryptedCredential)
76587				if err != nil {
76588					return err
76589				}
76590				gawlstp.EncryptedCredential = encryptedCredential
76591			}
76592		}
76593	}
76594
76595	return nil
76596}
76597
76598// GoogleAdWordsObjectDataset google AdWords service dataset.
76599type GoogleAdWordsObjectDataset struct {
76600	// GenericDatasetTypeProperties - Properties specific to this dataset type.
76601	*GenericDatasetTypeProperties `json:"typeProperties,omitempty"`
76602	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
76603	AdditionalProperties map[string]interface{} `json:""`
76604	// Description - Dataset description.
76605	Description *string `json:"description,omitempty"`
76606	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
76607	Structure interface{} `json:"structure,omitempty"`
76608	// Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement.
76609	Schema interface{} `json:"schema,omitempty"`
76610	// LinkedServiceName - Linked service reference.
76611	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
76612	// Parameters - Parameters for dataset.
76613	Parameters map[string]*ParameterSpecification `json:"parameters"`
76614	// Annotations - List of tags that can be used for describing the Dataset.
76615	Annotations *[]interface{} `json:"annotations,omitempty"`
76616	// Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level.
76617	Folder *DatasetFolder `json:"folder,omitempty"`
76618	// Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', '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', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeDelimitedText', 'TypeParquet', 'TypeAmazonS3Object'
76619	Type TypeBasicDataset `json:"type,omitempty"`
76620}
76621
76622// MarshalJSON is the custom marshaler for GoogleAdWordsObjectDataset.
76623func (gawod GoogleAdWordsObjectDataset) MarshalJSON() ([]byte, error) {
76624	gawod.Type = TypeGoogleAdWordsObject
76625	objectMap := make(map[string]interface{})
76626	if gawod.GenericDatasetTypeProperties != nil {
76627		objectMap["typeProperties"] = gawod.GenericDatasetTypeProperties
76628	}
76629	if gawod.Description != nil {
76630		objectMap["description"] = gawod.Description
76631	}
76632	if gawod.Structure != nil {
76633		objectMap["structure"] = gawod.Structure
76634	}
76635	if gawod.Schema != nil {
76636		objectMap["schema"] = gawod.Schema
76637	}
76638	if gawod.LinkedServiceName != nil {
76639		objectMap["linkedServiceName"] = gawod.LinkedServiceName
76640	}
76641	if gawod.Parameters != nil {
76642		objectMap["parameters"] = gawod.Parameters
76643	}
76644	if gawod.Annotations != nil {
76645		objectMap["annotations"] = gawod.Annotations
76646	}
76647	if gawod.Folder != nil {
76648		objectMap["folder"] = gawod.Folder
76649	}
76650	if gawod.Type != "" {
76651		objectMap["type"] = gawod.Type
76652	}
76653	for k, v := range gawod.AdditionalProperties {
76654		objectMap[k] = v
76655	}
76656	return json.Marshal(objectMap)
76657}
76658
76659// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset.
76660func (gawod GoogleAdWordsObjectDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) {
76661	return &gawod, true
76662}
76663
76664// AsAzureDataExplorerTableDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset.
76665func (gawod GoogleAdWordsObjectDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) {
76666	return nil, false
76667}
76668
76669// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset.
76670func (gawod GoogleAdWordsObjectDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) {
76671	return nil, false
76672}
76673
76674// AsDynamicsAXResourceDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset.
76675func (gawod GoogleAdWordsObjectDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) {
76676	return nil, false
76677}
76678
76679// AsResponsysObjectDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset.
76680func (gawod GoogleAdWordsObjectDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
76681	return nil, false
76682}
76683
76684// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset.
76685func (gawod GoogleAdWordsObjectDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
76686	return nil, false
76687}
76688
76689// AsVerticaTableDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset.
76690func (gawod GoogleAdWordsObjectDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
76691	return nil, false
76692}
76693
76694// AsNetezzaTableDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset.
76695func (gawod GoogleAdWordsObjectDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
76696	return nil, false
76697}
76698
76699// AsZohoObjectDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset.
76700func (gawod GoogleAdWordsObjectDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
76701	return nil, false
76702}
76703
76704// AsXeroObjectDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset.
76705func (gawod GoogleAdWordsObjectDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
76706	return nil, false
76707}
76708
76709// AsSquareObjectDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset.
76710func (gawod GoogleAdWordsObjectDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
76711	return nil, false
76712}
76713
76714// AsSparkObjectDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset.
76715func (gawod GoogleAdWordsObjectDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
76716	return nil, false
76717}
76718
76719// AsShopifyObjectDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset.
76720func (gawod GoogleAdWordsObjectDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
76721	return nil, false
76722}
76723
76724// AsServiceNowObjectDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset.
76725func (gawod GoogleAdWordsObjectDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
76726	return nil, false
76727}
76728
76729// AsQuickBooksObjectDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset.
76730func (gawod GoogleAdWordsObjectDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
76731	return nil, false
76732}
76733
76734// AsPrestoObjectDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset.
76735func (gawod GoogleAdWordsObjectDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
76736	return nil, false
76737}
76738
76739// AsPhoenixObjectDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset.
76740func (gawod GoogleAdWordsObjectDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
76741	return nil, false
76742}
76743
76744// AsPaypalObjectDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset.
76745func (gawod GoogleAdWordsObjectDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
76746	return nil, false
76747}
76748
76749// AsMarketoObjectDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset.
76750func (gawod GoogleAdWordsObjectDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
76751	return nil, false
76752}
76753
76754// AsMariaDBTableDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset.
76755func (gawod GoogleAdWordsObjectDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
76756	return nil, false
76757}
76758
76759// AsMagentoObjectDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset.
76760func (gawod GoogleAdWordsObjectDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
76761	return nil, false
76762}
76763
76764// AsJiraObjectDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset.
76765func (gawod GoogleAdWordsObjectDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
76766	return nil, false
76767}
76768
76769// AsImpalaObjectDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset.
76770func (gawod GoogleAdWordsObjectDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
76771	return nil, false
76772}
76773
76774// AsHubspotObjectDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset.
76775func (gawod GoogleAdWordsObjectDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
76776	return nil, false
76777}
76778
76779// AsHiveObjectDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset.
76780func (gawod GoogleAdWordsObjectDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
76781	return nil, false
76782}
76783
76784// AsHBaseObjectDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset.
76785func (gawod GoogleAdWordsObjectDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
76786	return nil, false
76787}
76788
76789// AsGreenplumTableDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset.
76790func (gawod GoogleAdWordsObjectDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
76791	return nil, false
76792}
76793
76794// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset.
76795func (gawod GoogleAdWordsObjectDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
76796	return nil, false
76797}
76798
76799// AsEloquaObjectDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset.
76800func (gawod GoogleAdWordsObjectDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
76801	return nil, false
76802}
76803
76804// AsDrillTableDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset.
76805func (gawod GoogleAdWordsObjectDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
76806	return nil, false
76807}
76808
76809// AsCouchbaseTableDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset.
76810func (gawod GoogleAdWordsObjectDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
76811	return nil, false
76812}
76813
76814// AsConcurObjectDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset.
76815func (gawod GoogleAdWordsObjectDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
76816	return nil, false
76817}
76818
76819// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset.
76820func (gawod GoogleAdWordsObjectDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
76821	return nil, false
76822}
76823
76824// AsAmazonMWSObjectDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset.
76825func (gawod GoogleAdWordsObjectDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
76826	return nil, false
76827}
76828
76829// AsHTTPDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset.
76830func (gawod GoogleAdWordsObjectDataset) AsHTTPDataset() (*HTTPDataset, bool) {
76831	return nil, false
76832}
76833
76834// AsAzureSearchIndexDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset.
76835func (gawod GoogleAdWordsObjectDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
76836	return nil, false
76837}
76838
76839// AsWebTableDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset.
76840func (gawod GoogleAdWordsObjectDataset) AsWebTableDataset() (*WebTableDataset, bool) {
76841	return nil, false
76842}
76843
76844// AsSapTableResourceDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset.
76845func (gawod GoogleAdWordsObjectDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) {
76846	return nil, false
76847}
76848
76849// AsRestResourceDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset.
76850func (gawod GoogleAdWordsObjectDataset) AsRestResourceDataset() (*RestResourceDataset, bool) {
76851	return nil, false
76852}
76853
76854// AsSQLServerTableDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset.
76855func (gawod GoogleAdWordsObjectDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
76856	return nil, false
76857}
76858
76859// AsSapOpenHubTableDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset.
76860func (gawod GoogleAdWordsObjectDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) {
76861	return nil, false
76862}
76863
76864// AsSapHanaTableDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset.
76865func (gawod GoogleAdWordsObjectDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) {
76866	return nil, false
76867}
76868
76869// AsSapEccResourceDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset.
76870func (gawod GoogleAdWordsObjectDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
76871	return nil, false
76872}
76873
76874// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset.
76875func (gawod GoogleAdWordsObjectDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
76876	return nil, false
76877}
76878
76879// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset.
76880func (gawod GoogleAdWordsObjectDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) {
76881	return nil, false
76882}
76883
76884// AsSalesforceObjectDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset.
76885func (gawod GoogleAdWordsObjectDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
76886	return nil, false
76887}
76888
76889// AsMicrosoftAccessTableDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset.
76890func (gawod GoogleAdWordsObjectDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) {
76891	return nil, false
76892}
76893
76894// AsPostgreSQLTableDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset.
76895func (gawod GoogleAdWordsObjectDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) {
76896	return nil, false
76897}
76898
76899// AsMySQLTableDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset.
76900func (gawod GoogleAdWordsObjectDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) {
76901	return nil, false
76902}
76903
76904// AsOdbcTableDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset.
76905func (gawod GoogleAdWordsObjectDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) {
76906	return nil, false
76907}
76908
76909// AsInformixTableDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset.
76910func (gawod GoogleAdWordsObjectDataset) AsInformixTableDataset() (*InformixTableDataset, bool) {
76911	return nil, false
76912}
76913
76914// AsRelationalTableDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset.
76915func (gawod GoogleAdWordsObjectDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
76916	return nil, false
76917}
76918
76919// AsAzureMySQLTableDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset.
76920func (gawod GoogleAdWordsObjectDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
76921	return nil, false
76922}
76923
76924// AsTeradataTableDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset.
76925func (gawod GoogleAdWordsObjectDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) {
76926	return nil, false
76927}
76928
76929// AsOracleTableDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset.
76930func (gawod GoogleAdWordsObjectDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
76931	return nil, false
76932}
76933
76934// AsODataResourceDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset.
76935func (gawod GoogleAdWordsObjectDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
76936	return nil, false
76937}
76938
76939// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset.
76940func (gawod GoogleAdWordsObjectDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) {
76941	return nil, false
76942}
76943
76944// AsMongoDbV2CollectionDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset.
76945func (gawod GoogleAdWordsObjectDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) {
76946	return nil, false
76947}
76948
76949// AsMongoDbCollectionDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset.
76950func (gawod GoogleAdWordsObjectDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
76951	return nil, false
76952}
76953
76954// AsFileShareDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset.
76955func (gawod GoogleAdWordsObjectDataset) AsFileShareDataset() (*FileShareDataset, bool) {
76956	return nil, false
76957}
76958
76959// AsOffice365Dataset is the BasicDataset implementation for GoogleAdWordsObjectDataset.
76960func (gawod GoogleAdWordsObjectDataset) AsOffice365Dataset() (*Office365Dataset, bool) {
76961	return nil, false
76962}
76963
76964// AsAzureBlobFSDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset.
76965func (gawod GoogleAdWordsObjectDataset) AsAzureBlobFSDataset() (*AzureBlobFSDataset, bool) {
76966	return nil, false
76967}
76968
76969// AsAzureDataLakeStoreDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset.
76970func (gawod GoogleAdWordsObjectDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) {
76971	return nil, false
76972}
76973
76974// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset.
76975func (gawod GoogleAdWordsObjectDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) {
76976	return nil, false
76977}
76978
76979// AsDynamicsCrmEntityDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset.
76980func (gawod GoogleAdWordsObjectDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) {
76981	return nil, false
76982}
76983
76984// AsDynamicsEntityDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset.
76985func (gawod GoogleAdWordsObjectDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
76986	return nil, false
76987}
76988
76989// AsDocumentDbCollectionDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset.
76990func (gawod GoogleAdWordsObjectDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
76991	return nil, false
76992}
76993
76994// AsCustomDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset.
76995func (gawod GoogleAdWordsObjectDataset) AsCustomDataset() (*CustomDataset, bool) {
76996	return nil, false
76997}
76998
76999// AsCassandraTableDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset.
77000func (gawod GoogleAdWordsObjectDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
77001	return nil, false
77002}
77003
77004// AsAzureSQLDWTableDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset.
77005func (gawod GoogleAdWordsObjectDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
77006	return nil, false
77007}
77008
77009// AsAzureSQLMITableDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset.
77010func (gawod GoogleAdWordsObjectDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) {
77011	return nil, false
77012}
77013
77014// AsAzureSQLTableDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset.
77015func (gawod GoogleAdWordsObjectDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
77016	return nil, false
77017}
77018
77019// AsAzureTableDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset.
77020func (gawod GoogleAdWordsObjectDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
77021	return nil, false
77022}
77023
77024// AsAzureBlobDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset.
77025func (gawod GoogleAdWordsObjectDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) {
77026	return nil, false
77027}
77028
77029// AsBinaryDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset.
77030func (gawod GoogleAdWordsObjectDataset) AsBinaryDataset() (*BinaryDataset, bool) {
77031	return nil, false
77032}
77033
77034// AsDelimitedTextDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset.
77035func (gawod GoogleAdWordsObjectDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) {
77036	return nil, false
77037}
77038
77039// AsParquetDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset.
77040func (gawod GoogleAdWordsObjectDataset) AsParquetDataset() (*ParquetDataset, bool) {
77041	return nil, false
77042}
77043
77044// AsAmazonS3Dataset is the BasicDataset implementation for GoogleAdWordsObjectDataset.
77045func (gawod GoogleAdWordsObjectDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) {
77046	return nil, false
77047}
77048
77049// AsDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset.
77050func (gawod GoogleAdWordsObjectDataset) AsDataset() (*Dataset, bool) {
77051	return nil, false
77052}
77053
77054// AsBasicDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset.
77055func (gawod GoogleAdWordsObjectDataset) AsBasicDataset() (BasicDataset, bool) {
77056	return &gawod, true
77057}
77058
77059// UnmarshalJSON is the custom unmarshaler for GoogleAdWordsObjectDataset struct.
77060func (gawod *GoogleAdWordsObjectDataset) UnmarshalJSON(body []byte) error {
77061	var m map[string]*json.RawMessage
77062	err := json.Unmarshal(body, &m)
77063	if err != nil {
77064		return err
77065	}
77066	for k, v := range m {
77067		switch k {
77068		case "typeProperties":
77069			if v != nil {
77070				var genericDatasetTypeProperties GenericDatasetTypeProperties
77071				err = json.Unmarshal(*v, &genericDatasetTypeProperties)
77072				if err != nil {
77073					return err
77074				}
77075				gawod.GenericDatasetTypeProperties = &genericDatasetTypeProperties
77076			}
77077		default:
77078			if v != nil {
77079				var additionalProperties interface{}
77080				err = json.Unmarshal(*v, &additionalProperties)
77081				if err != nil {
77082					return err
77083				}
77084				if gawod.AdditionalProperties == nil {
77085					gawod.AdditionalProperties = make(map[string]interface{})
77086				}
77087				gawod.AdditionalProperties[k] = additionalProperties
77088			}
77089		case "description":
77090			if v != nil {
77091				var description string
77092				err = json.Unmarshal(*v, &description)
77093				if err != nil {
77094					return err
77095				}
77096				gawod.Description = &description
77097			}
77098		case "structure":
77099			if v != nil {
77100				var structure interface{}
77101				err = json.Unmarshal(*v, &structure)
77102				if err != nil {
77103					return err
77104				}
77105				gawod.Structure = structure
77106			}
77107		case "schema":
77108			if v != nil {
77109				var schema interface{}
77110				err = json.Unmarshal(*v, &schema)
77111				if err != nil {
77112					return err
77113				}
77114				gawod.Schema = schema
77115			}
77116		case "linkedServiceName":
77117			if v != nil {
77118				var linkedServiceName LinkedServiceReference
77119				err = json.Unmarshal(*v, &linkedServiceName)
77120				if err != nil {
77121					return err
77122				}
77123				gawod.LinkedServiceName = &linkedServiceName
77124			}
77125		case "parameters":
77126			if v != nil {
77127				var parameters map[string]*ParameterSpecification
77128				err = json.Unmarshal(*v, &parameters)
77129				if err != nil {
77130					return err
77131				}
77132				gawod.Parameters = parameters
77133			}
77134		case "annotations":
77135			if v != nil {
77136				var annotations []interface{}
77137				err = json.Unmarshal(*v, &annotations)
77138				if err != nil {
77139					return err
77140				}
77141				gawod.Annotations = &annotations
77142			}
77143		case "folder":
77144			if v != nil {
77145				var folder DatasetFolder
77146				err = json.Unmarshal(*v, &folder)
77147				if err != nil {
77148					return err
77149				}
77150				gawod.Folder = &folder
77151			}
77152		case "type":
77153			if v != nil {
77154				var typeVar TypeBasicDataset
77155				err = json.Unmarshal(*v, &typeVar)
77156				if err != nil {
77157					return err
77158				}
77159				gawod.Type = typeVar
77160			}
77161		}
77162	}
77163
77164	return nil
77165}
77166
77167// GoogleAdWordsSource a copy activity Google AdWords service source.
77168type GoogleAdWordsSource struct {
77169	// Query - A query to retrieve data from source. Type: string (or Expression with resultType string).
77170	Query interface{} `json:"query,omitempty"`
77171	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
77172	AdditionalProperties map[string]interface{} `json:""`
77173	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
77174	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
77175	// 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])).
77176	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
77177	// MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer).
77178	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
77179	// Type - Possible values include: 'TypeCopySource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', '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', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeCassandraSource', 'TypeWebSource', 'TypeTeradataSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeAzureMySQLSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeRestSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceServiceCloudSource', 'TypeSalesforceSource', 'TypeODataSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeMicrosoftAccessSource', 'TypeInformixSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAzureTableSource', 'TypeBinarySource', 'TypeDelimitedTextSource', 'TypeParquetSource'
77180	Type TypeBasicCopySource `json:"type,omitempty"`
77181}
77182
77183// MarshalJSON is the custom marshaler for GoogleAdWordsSource.
77184func (gaws GoogleAdWordsSource) MarshalJSON() ([]byte, error) {
77185	gaws.Type = TypeGoogleAdWordsSource
77186	objectMap := make(map[string]interface{})
77187	if gaws.Query != nil {
77188		objectMap["query"] = gaws.Query
77189	}
77190	if gaws.SourceRetryCount != nil {
77191		objectMap["sourceRetryCount"] = gaws.SourceRetryCount
77192	}
77193	if gaws.SourceRetryWait != nil {
77194		objectMap["sourceRetryWait"] = gaws.SourceRetryWait
77195	}
77196	if gaws.MaxConcurrentConnections != nil {
77197		objectMap["maxConcurrentConnections"] = gaws.MaxConcurrentConnections
77198	}
77199	if gaws.Type != "" {
77200		objectMap["type"] = gaws.Type
77201	}
77202	for k, v := range gaws.AdditionalProperties {
77203		objectMap[k] = v
77204	}
77205	return json.Marshal(objectMap)
77206}
77207
77208// AsAmazonRedshiftSource is the BasicCopySource implementation for GoogleAdWordsSource.
77209func (gaws GoogleAdWordsSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
77210	return nil, false
77211}
77212
77213// AsGoogleAdWordsSource is the BasicCopySource implementation for GoogleAdWordsSource.
77214func (gaws GoogleAdWordsSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) {
77215	return &gaws, true
77216}
77217
77218// AsOracleServiceCloudSource is the BasicCopySource implementation for GoogleAdWordsSource.
77219func (gaws GoogleAdWordsSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) {
77220	return nil, false
77221}
77222
77223// AsDynamicsAXSource is the BasicCopySource implementation for GoogleAdWordsSource.
77224func (gaws GoogleAdWordsSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) {
77225	return nil, false
77226}
77227
77228// AsResponsysSource is the BasicCopySource implementation for GoogleAdWordsSource.
77229func (gaws GoogleAdWordsSource) AsResponsysSource() (*ResponsysSource, bool) {
77230	return nil, false
77231}
77232
77233// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for GoogleAdWordsSource.
77234func (gaws GoogleAdWordsSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
77235	return nil, false
77236}
77237
77238// AsVerticaSource is the BasicCopySource implementation for GoogleAdWordsSource.
77239func (gaws GoogleAdWordsSource) AsVerticaSource() (*VerticaSource, bool) {
77240	return nil, false
77241}
77242
77243// AsNetezzaSource is the BasicCopySource implementation for GoogleAdWordsSource.
77244func (gaws GoogleAdWordsSource) AsNetezzaSource() (*NetezzaSource, bool) {
77245	return nil, false
77246}
77247
77248// AsZohoSource is the BasicCopySource implementation for GoogleAdWordsSource.
77249func (gaws GoogleAdWordsSource) AsZohoSource() (*ZohoSource, bool) {
77250	return nil, false
77251}
77252
77253// AsXeroSource is the BasicCopySource implementation for GoogleAdWordsSource.
77254func (gaws GoogleAdWordsSource) AsXeroSource() (*XeroSource, bool) {
77255	return nil, false
77256}
77257
77258// AsSquareSource is the BasicCopySource implementation for GoogleAdWordsSource.
77259func (gaws GoogleAdWordsSource) AsSquareSource() (*SquareSource, bool) {
77260	return nil, false
77261}
77262
77263// AsSparkSource is the BasicCopySource implementation for GoogleAdWordsSource.
77264func (gaws GoogleAdWordsSource) AsSparkSource() (*SparkSource, bool) {
77265	return nil, false
77266}
77267
77268// AsShopifySource is the BasicCopySource implementation for GoogleAdWordsSource.
77269func (gaws GoogleAdWordsSource) AsShopifySource() (*ShopifySource, bool) {
77270	return nil, false
77271}
77272
77273// AsServiceNowSource is the BasicCopySource implementation for GoogleAdWordsSource.
77274func (gaws GoogleAdWordsSource) AsServiceNowSource() (*ServiceNowSource, bool) {
77275	return nil, false
77276}
77277
77278// AsQuickBooksSource is the BasicCopySource implementation for GoogleAdWordsSource.
77279func (gaws GoogleAdWordsSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
77280	return nil, false
77281}
77282
77283// AsPrestoSource is the BasicCopySource implementation for GoogleAdWordsSource.
77284func (gaws GoogleAdWordsSource) AsPrestoSource() (*PrestoSource, bool) {
77285	return nil, false
77286}
77287
77288// AsPhoenixSource is the BasicCopySource implementation for GoogleAdWordsSource.
77289func (gaws GoogleAdWordsSource) AsPhoenixSource() (*PhoenixSource, bool) {
77290	return nil, false
77291}
77292
77293// AsPaypalSource is the BasicCopySource implementation for GoogleAdWordsSource.
77294func (gaws GoogleAdWordsSource) AsPaypalSource() (*PaypalSource, bool) {
77295	return nil, false
77296}
77297
77298// AsMarketoSource is the BasicCopySource implementation for GoogleAdWordsSource.
77299func (gaws GoogleAdWordsSource) AsMarketoSource() (*MarketoSource, bool) {
77300	return nil, false
77301}
77302
77303// AsMariaDBSource is the BasicCopySource implementation for GoogleAdWordsSource.
77304func (gaws GoogleAdWordsSource) AsMariaDBSource() (*MariaDBSource, bool) {
77305	return nil, false
77306}
77307
77308// AsMagentoSource is the BasicCopySource implementation for GoogleAdWordsSource.
77309func (gaws GoogleAdWordsSource) AsMagentoSource() (*MagentoSource, bool) {
77310	return nil, false
77311}
77312
77313// AsJiraSource is the BasicCopySource implementation for GoogleAdWordsSource.
77314func (gaws GoogleAdWordsSource) AsJiraSource() (*JiraSource, bool) {
77315	return nil, false
77316}
77317
77318// AsImpalaSource is the BasicCopySource implementation for GoogleAdWordsSource.
77319func (gaws GoogleAdWordsSource) AsImpalaSource() (*ImpalaSource, bool) {
77320	return nil, false
77321}
77322
77323// AsHubspotSource is the BasicCopySource implementation for GoogleAdWordsSource.
77324func (gaws GoogleAdWordsSource) AsHubspotSource() (*HubspotSource, bool) {
77325	return nil, false
77326}
77327
77328// AsHiveSource is the BasicCopySource implementation for GoogleAdWordsSource.
77329func (gaws GoogleAdWordsSource) AsHiveSource() (*HiveSource, bool) {
77330	return nil, false
77331}
77332
77333// AsHBaseSource is the BasicCopySource implementation for GoogleAdWordsSource.
77334func (gaws GoogleAdWordsSource) AsHBaseSource() (*HBaseSource, bool) {
77335	return nil, false
77336}
77337
77338// AsGreenplumSource is the BasicCopySource implementation for GoogleAdWordsSource.
77339func (gaws GoogleAdWordsSource) AsGreenplumSource() (*GreenplumSource, bool) {
77340	return nil, false
77341}
77342
77343// AsGoogleBigQuerySource is the BasicCopySource implementation for GoogleAdWordsSource.
77344func (gaws GoogleAdWordsSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
77345	return nil, false
77346}
77347
77348// AsEloquaSource is the BasicCopySource implementation for GoogleAdWordsSource.
77349func (gaws GoogleAdWordsSource) AsEloquaSource() (*EloquaSource, bool) {
77350	return nil, false
77351}
77352
77353// AsDrillSource is the BasicCopySource implementation for GoogleAdWordsSource.
77354func (gaws GoogleAdWordsSource) AsDrillSource() (*DrillSource, bool) {
77355	return nil, false
77356}
77357
77358// AsCouchbaseSource is the BasicCopySource implementation for GoogleAdWordsSource.
77359func (gaws GoogleAdWordsSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
77360	return nil, false
77361}
77362
77363// AsConcurSource is the BasicCopySource implementation for GoogleAdWordsSource.
77364func (gaws GoogleAdWordsSource) AsConcurSource() (*ConcurSource, bool) {
77365	return nil, false
77366}
77367
77368// AsAzurePostgreSQLSource is the BasicCopySource implementation for GoogleAdWordsSource.
77369func (gaws GoogleAdWordsSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
77370	return nil, false
77371}
77372
77373// AsAmazonMWSSource is the BasicCopySource implementation for GoogleAdWordsSource.
77374func (gaws GoogleAdWordsSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
77375	return nil, false
77376}
77377
77378// AsHTTPSource is the BasicCopySource implementation for GoogleAdWordsSource.
77379func (gaws GoogleAdWordsSource) AsHTTPSource() (*HTTPSource, bool) {
77380	return nil, false
77381}
77382
77383// AsAzureBlobFSSource is the BasicCopySource implementation for GoogleAdWordsSource.
77384func (gaws GoogleAdWordsSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) {
77385	return nil, false
77386}
77387
77388// AsAzureDataLakeStoreSource is the BasicCopySource implementation for GoogleAdWordsSource.
77389func (gaws GoogleAdWordsSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
77390	return nil, false
77391}
77392
77393// AsOffice365Source is the BasicCopySource implementation for GoogleAdWordsSource.
77394func (gaws GoogleAdWordsSource) AsOffice365Source() (*Office365Source, bool) {
77395	return nil, false
77396}
77397
77398// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for GoogleAdWordsSource.
77399func (gaws GoogleAdWordsSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) {
77400	return nil, false
77401}
77402
77403// AsMongoDbV2Source is the BasicCopySource implementation for GoogleAdWordsSource.
77404func (gaws GoogleAdWordsSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) {
77405	return nil, false
77406}
77407
77408// AsMongoDbSource is the BasicCopySource implementation for GoogleAdWordsSource.
77409func (gaws GoogleAdWordsSource) AsMongoDbSource() (*MongoDbSource, bool) {
77410	return nil, false
77411}
77412
77413// AsCassandraSource is the BasicCopySource implementation for GoogleAdWordsSource.
77414func (gaws GoogleAdWordsSource) AsCassandraSource() (*CassandraSource, bool) {
77415	return nil, false
77416}
77417
77418// AsWebSource is the BasicCopySource implementation for GoogleAdWordsSource.
77419func (gaws GoogleAdWordsSource) AsWebSource() (*WebSource, bool) {
77420	return nil, false
77421}
77422
77423// AsTeradataSource is the BasicCopySource implementation for GoogleAdWordsSource.
77424func (gaws GoogleAdWordsSource) AsTeradataSource() (*TeradataSource, bool) {
77425	return nil, false
77426}
77427
77428// AsOracleSource is the BasicCopySource implementation for GoogleAdWordsSource.
77429func (gaws GoogleAdWordsSource) AsOracleSource() (*OracleSource, bool) {
77430	return nil, false
77431}
77432
77433// AsAzureDataExplorerSource is the BasicCopySource implementation for GoogleAdWordsSource.
77434func (gaws GoogleAdWordsSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) {
77435	return nil, false
77436}
77437
77438// AsAzureMySQLSource is the BasicCopySource implementation for GoogleAdWordsSource.
77439func (gaws GoogleAdWordsSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
77440	return nil, false
77441}
77442
77443// AsHdfsSource is the BasicCopySource implementation for GoogleAdWordsSource.
77444func (gaws GoogleAdWordsSource) AsHdfsSource() (*HdfsSource, bool) {
77445	return nil, false
77446}
77447
77448// AsFileSystemSource is the BasicCopySource implementation for GoogleAdWordsSource.
77449func (gaws GoogleAdWordsSource) AsFileSystemSource() (*FileSystemSource, bool) {
77450	return nil, false
77451}
77452
77453// AsSQLDWSource is the BasicCopySource implementation for GoogleAdWordsSource.
77454func (gaws GoogleAdWordsSource) AsSQLDWSource() (*SQLDWSource, bool) {
77455	return nil, false
77456}
77457
77458// AsSQLMISource is the BasicCopySource implementation for GoogleAdWordsSource.
77459func (gaws GoogleAdWordsSource) AsSQLMISource() (*SQLMISource, bool) {
77460	return nil, false
77461}
77462
77463// AsAzureSQLSource is the BasicCopySource implementation for GoogleAdWordsSource.
77464func (gaws GoogleAdWordsSource) AsAzureSQLSource() (*AzureSQLSource, bool) {
77465	return nil, false
77466}
77467
77468// AsSQLServerSource is the BasicCopySource implementation for GoogleAdWordsSource.
77469func (gaws GoogleAdWordsSource) AsSQLServerSource() (*SQLServerSource, bool) {
77470	return nil, false
77471}
77472
77473// AsSQLSource is the BasicCopySource implementation for GoogleAdWordsSource.
77474func (gaws GoogleAdWordsSource) AsSQLSource() (*SQLSource, bool) {
77475	return nil, false
77476}
77477
77478// AsRestSource is the BasicCopySource implementation for GoogleAdWordsSource.
77479func (gaws GoogleAdWordsSource) AsRestSource() (*RestSource, bool) {
77480	return nil, false
77481}
77482
77483// AsSapTableSource is the BasicCopySource implementation for GoogleAdWordsSource.
77484func (gaws GoogleAdWordsSource) AsSapTableSource() (*SapTableSource, bool) {
77485	return nil, false
77486}
77487
77488// AsSapOpenHubSource is the BasicCopySource implementation for GoogleAdWordsSource.
77489func (gaws GoogleAdWordsSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) {
77490	return nil, false
77491}
77492
77493// AsSapHanaSource is the BasicCopySource implementation for GoogleAdWordsSource.
77494func (gaws GoogleAdWordsSource) AsSapHanaSource() (*SapHanaSource, bool) {
77495	return nil, false
77496}
77497
77498// AsSapEccSource is the BasicCopySource implementation for GoogleAdWordsSource.
77499func (gaws GoogleAdWordsSource) AsSapEccSource() (*SapEccSource, bool) {
77500	return nil, false
77501}
77502
77503// AsSapCloudForCustomerSource is the BasicCopySource implementation for GoogleAdWordsSource.
77504func (gaws GoogleAdWordsSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
77505	return nil, false
77506}
77507
77508// AsSalesforceServiceCloudSource is the BasicCopySource implementation for GoogleAdWordsSource.
77509func (gaws GoogleAdWordsSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) {
77510	return nil, false
77511}
77512
77513// AsSalesforceSource is the BasicCopySource implementation for GoogleAdWordsSource.
77514func (gaws GoogleAdWordsSource) AsSalesforceSource() (*SalesforceSource, bool) {
77515	return nil, false
77516}
77517
77518// AsODataSource is the BasicCopySource implementation for GoogleAdWordsSource.
77519func (gaws GoogleAdWordsSource) AsODataSource() (*ODataSource, bool) {
77520	return nil, false
77521}
77522
77523// AsSybaseSource is the BasicCopySource implementation for GoogleAdWordsSource.
77524func (gaws GoogleAdWordsSource) AsSybaseSource() (*SybaseSource, bool) {
77525	return nil, false
77526}
77527
77528// AsPostgreSQLSource is the BasicCopySource implementation for GoogleAdWordsSource.
77529func (gaws GoogleAdWordsSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) {
77530	return nil, false
77531}
77532
77533// AsMySQLSource is the BasicCopySource implementation for GoogleAdWordsSource.
77534func (gaws GoogleAdWordsSource) AsMySQLSource() (*MySQLSource, bool) {
77535	return nil, false
77536}
77537
77538// AsOdbcSource is the BasicCopySource implementation for GoogleAdWordsSource.
77539func (gaws GoogleAdWordsSource) AsOdbcSource() (*OdbcSource, bool) {
77540	return nil, false
77541}
77542
77543// AsDb2Source is the BasicCopySource implementation for GoogleAdWordsSource.
77544func (gaws GoogleAdWordsSource) AsDb2Source() (*Db2Source, bool) {
77545	return nil, false
77546}
77547
77548// AsMicrosoftAccessSource is the BasicCopySource implementation for GoogleAdWordsSource.
77549func (gaws GoogleAdWordsSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) {
77550	return nil, false
77551}
77552
77553// AsInformixSource is the BasicCopySource implementation for GoogleAdWordsSource.
77554func (gaws GoogleAdWordsSource) AsInformixSource() (*InformixSource, bool) {
77555	return nil, false
77556}
77557
77558// AsRelationalSource is the BasicCopySource implementation for GoogleAdWordsSource.
77559func (gaws GoogleAdWordsSource) AsRelationalSource() (*RelationalSource, bool) {
77560	return nil, false
77561}
77562
77563// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for GoogleAdWordsSource.
77564func (gaws GoogleAdWordsSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) {
77565	return nil, false
77566}
77567
77568// AsDynamicsCrmSource is the BasicCopySource implementation for GoogleAdWordsSource.
77569func (gaws GoogleAdWordsSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) {
77570	return nil, false
77571}
77572
77573// AsDynamicsSource is the BasicCopySource implementation for GoogleAdWordsSource.
77574func (gaws GoogleAdWordsSource) AsDynamicsSource() (*DynamicsSource, bool) {
77575	return nil, false
77576}
77577
77578// AsDocumentDbCollectionSource is the BasicCopySource implementation for GoogleAdWordsSource.
77579func (gaws GoogleAdWordsSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
77580	return nil, false
77581}
77582
77583// AsBlobSource is the BasicCopySource implementation for GoogleAdWordsSource.
77584func (gaws GoogleAdWordsSource) AsBlobSource() (*BlobSource, bool) {
77585	return nil, false
77586}
77587
77588// AsAzureTableSource is the BasicCopySource implementation for GoogleAdWordsSource.
77589func (gaws GoogleAdWordsSource) AsAzureTableSource() (*AzureTableSource, bool) {
77590	return nil, false
77591}
77592
77593// AsBinarySource is the BasicCopySource implementation for GoogleAdWordsSource.
77594func (gaws GoogleAdWordsSource) AsBinarySource() (*BinarySource, bool) {
77595	return nil, false
77596}
77597
77598// AsDelimitedTextSource is the BasicCopySource implementation for GoogleAdWordsSource.
77599func (gaws GoogleAdWordsSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) {
77600	return nil, false
77601}
77602
77603// AsParquetSource is the BasicCopySource implementation for GoogleAdWordsSource.
77604func (gaws GoogleAdWordsSource) AsParquetSource() (*ParquetSource, bool) {
77605	return nil, false
77606}
77607
77608// AsCopySource is the BasicCopySource implementation for GoogleAdWordsSource.
77609func (gaws GoogleAdWordsSource) AsCopySource() (*CopySource, bool) {
77610	return nil, false
77611}
77612
77613// AsBasicCopySource is the BasicCopySource implementation for GoogleAdWordsSource.
77614func (gaws GoogleAdWordsSource) AsBasicCopySource() (BasicCopySource, bool) {
77615	return &gaws, true
77616}
77617
77618// UnmarshalJSON is the custom unmarshaler for GoogleAdWordsSource struct.
77619func (gaws *GoogleAdWordsSource) UnmarshalJSON(body []byte) error {
77620	var m map[string]*json.RawMessage
77621	err := json.Unmarshal(body, &m)
77622	if err != nil {
77623		return err
77624	}
77625	for k, v := range m {
77626		switch k {
77627		case "query":
77628			if v != nil {
77629				var query interface{}
77630				err = json.Unmarshal(*v, &query)
77631				if err != nil {
77632					return err
77633				}
77634				gaws.Query = query
77635			}
77636		default:
77637			if v != nil {
77638				var additionalProperties interface{}
77639				err = json.Unmarshal(*v, &additionalProperties)
77640				if err != nil {
77641					return err
77642				}
77643				if gaws.AdditionalProperties == nil {
77644					gaws.AdditionalProperties = make(map[string]interface{})
77645				}
77646				gaws.AdditionalProperties[k] = additionalProperties
77647			}
77648		case "sourceRetryCount":
77649			if v != nil {
77650				var sourceRetryCount interface{}
77651				err = json.Unmarshal(*v, &sourceRetryCount)
77652				if err != nil {
77653					return err
77654				}
77655				gaws.SourceRetryCount = sourceRetryCount
77656			}
77657		case "sourceRetryWait":
77658			if v != nil {
77659				var sourceRetryWait interface{}
77660				err = json.Unmarshal(*v, &sourceRetryWait)
77661				if err != nil {
77662					return err
77663				}
77664				gaws.SourceRetryWait = sourceRetryWait
77665			}
77666		case "maxConcurrentConnections":
77667			if v != nil {
77668				var maxConcurrentConnections interface{}
77669				err = json.Unmarshal(*v, &maxConcurrentConnections)
77670				if err != nil {
77671					return err
77672				}
77673				gaws.MaxConcurrentConnections = maxConcurrentConnections
77674			}
77675		case "type":
77676			if v != nil {
77677				var typeVar TypeBasicCopySource
77678				err = json.Unmarshal(*v, &typeVar)
77679				if err != nil {
77680					return err
77681				}
77682				gaws.Type = typeVar
77683			}
77684		}
77685	}
77686
77687	return nil
77688}
77689
77690// GoogleBigQueryLinkedService google BigQuery service linked service.
77691type GoogleBigQueryLinkedService struct {
77692	// GoogleBigQueryLinkedServiceTypeProperties - Google BigQuery service linked service properties.
77693	*GoogleBigQueryLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
77694	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
77695	AdditionalProperties map[string]interface{} `json:""`
77696	// ConnectVia - The integration runtime reference.
77697	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
77698	// Description - Linked service description.
77699	Description *string `json:"description,omitempty"`
77700	// Parameters - Parameters for linked service.
77701	Parameters map[string]*ParameterSpecification `json:"parameters"`
77702	// Annotations - List of tags that can be used for describing the linked service.
77703	Annotations *[]interface{} `json:"annotations,omitempty"`
77704	// Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', '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', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage'
77705	Type TypeBasicLinkedService `json:"type,omitempty"`
77706}
77707
77708// MarshalJSON is the custom marshaler for GoogleBigQueryLinkedService.
77709func (gbqls GoogleBigQueryLinkedService) MarshalJSON() ([]byte, error) {
77710	gbqls.Type = TypeGoogleBigQuery
77711	objectMap := make(map[string]interface{})
77712	if gbqls.GoogleBigQueryLinkedServiceTypeProperties != nil {
77713		objectMap["typeProperties"] = gbqls.GoogleBigQueryLinkedServiceTypeProperties
77714	}
77715	if gbqls.ConnectVia != nil {
77716		objectMap["connectVia"] = gbqls.ConnectVia
77717	}
77718	if gbqls.Description != nil {
77719		objectMap["description"] = gbqls.Description
77720	}
77721	if gbqls.Parameters != nil {
77722		objectMap["parameters"] = gbqls.Parameters
77723	}
77724	if gbqls.Annotations != nil {
77725		objectMap["annotations"] = gbqls.Annotations
77726	}
77727	if gbqls.Type != "" {
77728		objectMap["type"] = gbqls.Type
77729	}
77730	for k, v := range gbqls.AdditionalProperties {
77731		objectMap[k] = v
77732	}
77733	return json.Marshal(objectMap)
77734}
77735
77736// AsAzureFunctionLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
77737func (gbqls GoogleBigQueryLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) {
77738	return nil, false
77739}
77740
77741// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
77742func (gbqls GoogleBigQueryLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) {
77743	return nil, false
77744}
77745
77746// AsSapTableLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
77747func (gbqls GoogleBigQueryLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) {
77748	return nil, false
77749}
77750
77751// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
77752func (gbqls GoogleBigQueryLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) {
77753	return nil, false
77754}
77755
77756// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
77757func (gbqls GoogleBigQueryLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) {
77758	return nil, false
77759}
77760
77761// AsDynamicsAXLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
77762func (gbqls GoogleBigQueryLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) {
77763	return nil, false
77764}
77765
77766// AsResponsysLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
77767func (gbqls GoogleBigQueryLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
77768	return nil, false
77769}
77770
77771// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
77772func (gbqls GoogleBigQueryLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
77773	return nil, false
77774}
77775
77776// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
77777func (gbqls GoogleBigQueryLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
77778	return nil, false
77779}
77780
77781// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
77782func (gbqls GoogleBigQueryLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
77783	return nil, false
77784}
77785
77786// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
77787func (gbqls GoogleBigQueryLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
77788	return nil, false
77789}
77790
77791// AsNetezzaLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
77792func (gbqls GoogleBigQueryLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
77793	return nil, false
77794}
77795
77796// AsVerticaLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
77797func (gbqls GoogleBigQueryLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
77798	return nil, false
77799}
77800
77801// AsZohoLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
77802func (gbqls GoogleBigQueryLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
77803	return nil, false
77804}
77805
77806// AsXeroLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
77807func (gbqls GoogleBigQueryLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
77808	return nil, false
77809}
77810
77811// AsSquareLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
77812func (gbqls GoogleBigQueryLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
77813	return nil, false
77814}
77815
77816// AsSparkLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
77817func (gbqls GoogleBigQueryLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
77818	return nil, false
77819}
77820
77821// AsShopifyLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
77822func (gbqls GoogleBigQueryLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
77823	return nil, false
77824}
77825
77826// AsServiceNowLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
77827func (gbqls GoogleBigQueryLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
77828	return nil, false
77829}
77830
77831// AsQuickBooksLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
77832func (gbqls GoogleBigQueryLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
77833	return nil, false
77834}
77835
77836// AsPrestoLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
77837func (gbqls GoogleBigQueryLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
77838	return nil, false
77839}
77840
77841// AsPhoenixLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
77842func (gbqls GoogleBigQueryLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
77843	return nil, false
77844}
77845
77846// AsPaypalLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
77847func (gbqls GoogleBigQueryLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
77848	return nil, false
77849}
77850
77851// AsMarketoLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
77852func (gbqls GoogleBigQueryLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
77853	return nil, false
77854}
77855
77856// AsMariaDBLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
77857func (gbqls GoogleBigQueryLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
77858	return nil, false
77859}
77860
77861// AsMagentoLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
77862func (gbqls GoogleBigQueryLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
77863	return nil, false
77864}
77865
77866// AsJiraLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
77867func (gbqls GoogleBigQueryLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
77868	return nil, false
77869}
77870
77871// AsImpalaLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
77872func (gbqls GoogleBigQueryLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
77873	return nil, false
77874}
77875
77876// AsHubspotLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
77877func (gbqls GoogleBigQueryLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
77878	return nil, false
77879}
77880
77881// AsHiveLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
77882func (gbqls GoogleBigQueryLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
77883	return nil, false
77884}
77885
77886// AsHBaseLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
77887func (gbqls GoogleBigQueryLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
77888	return nil, false
77889}
77890
77891// AsGreenplumLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
77892func (gbqls GoogleBigQueryLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
77893	return nil, false
77894}
77895
77896// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
77897func (gbqls GoogleBigQueryLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
77898	return &gbqls, true
77899}
77900
77901// AsEloquaLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
77902func (gbqls GoogleBigQueryLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
77903	return nil, false
77904}
77905
77906// AsDrillLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
77907func (gbqls GoogleBigQueryLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
77908	return nil, false
77909}
77910
77911// AsCouchbaseLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
77912func (gbqls GoogleBigQueryLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
77913	return nil, false
77914}
77915
77916// AsConcurLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
77917func (gbqls GoogleBigQueryLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
77918	return nil, false
77919}
77920
77921// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
77922func (gbqls GoogleBigQueryLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
77923	return nil, false
77924}
77925
77926// AsAmazonMWSLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
77927func (gbqls GoogleBigQueryLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
77928	return nil, false
77929}
77930
77931// AsSapHanaLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
77932func (gbqls GoogleBigQueryLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
77933	return nil, false
77934}
77935
77936// AsSapBWLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
77937func (gbqls GoogleBigQueryLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
77938	return nil, false
77939}
77940
77941// AsSftpServerLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
77942func (gbqls GoogleBigQueryLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
77943	return nil, false
77944}
77945
77946// AsFtpServerLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
77947func (gbqls GoogleBigQueryLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
77948	return nil, false
77949}
77950
77951// AsHTTPLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
77952func (gbqls GoogleBigQueryLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
77953	return nil, false
77954}
77955
77956// AsAzureSearchLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
77957func (gbqls GoogleBigQueryLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
77958	return nil, false
77959}
77960
77961// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
77962func (gbqls GoogleBigQueryLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
77963	return nil, false
77964}
77965
77966// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
77967func (gbqls GoogleBigQueryLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
77968	return nil, false
77969}
77970
77971// AsAmazonS3LinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
77972func (gbqls GoogleBigQueryLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
77973	return nil, false
77974}
77975
77976// AsRestServiceLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
77977func (gbqls GoogleBigQueryLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) {
77978	return nil, false
77979}
77980
77981// AsSapOpenHubLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
77982func (gbqls GoogleBigQueryLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) {
77983	return nil, false
77984}
77985
77986// AsSapEccLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
77987func (gbqls GoogleBigQueryLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
77988	return nil, false
77989}
77990
77991// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
77992func (gbqls GoogleBigQueryLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
77993	return nil, false
77994}
77995
77996// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
77997func (gbqls GoogleBigQueryLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) {
77998	return nil, false
77999}
78000
78001// AsSalesforceLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
78002func (gbqls GoogleBigQueryLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
78003	return nil, false
78004}
78005
78006// AsOffice365LinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
78007func (gbqls GoogleBigQueryLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) {
78008	return nil, false
78009}
78010
78011// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
78012func (gbqls GoogleBigQueryLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) {
78013	return nil, false
78014}
78015
78016// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
78017func (gbqls GoogleBigQueryLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
78018	return nil, false
78019}
78020
78021// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
78022func (gbqls GoogleBigQueryLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) {
78023	return nil, false
78024}
78025
78026// AsMongoDbV2LinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
78027func (gbqls GoogleBigQueryLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) {
78028	return nil, false
78029}
78030
78031// AsMongoDbLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
78032func (gbqls GoogleBigQueryLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
78033	return nil, false
78034}
78035
78036// AsCassandraLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
78037func (gbqls GoogleBigQueryLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
78038	return nil, false
78039}
78040
78041// AsWebLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
78042func (gbqls GoogleBigQueryLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
78043	return nil, false
78044}
78045
78046// AsODataLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
78047func (gbqls GoogleBigQueryLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
78048	return nil, false
78049}
78050
78051// AsHdfsLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
78052func (gbqls GoogleBigQueryLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
78053	return nil, false
78054}
78055
78056// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
78057func (gbqls GoogleBigQueryLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) {
78058	return nil, false
78059}
78060
78061// AsInformixLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
78062func (gbqls GoogleBigQueryLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) {
78063	return nil, false
78064}
78065
78066// AsOdbcLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
78067func (gbqls GoogleBigQueryLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
78068	return nil, false
78069}
78070
78071// AsAzureMLLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
78072func (gbqls GoogleBigQueryLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
78073	return nil, false
78074}
78075
78076// AsTeradataLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
78077func (gbqls GoogleBigQueryLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
78078	return nil, false
78079}
78080
78081// AsDb2LinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
78082func (gbqls GoogleBigQueryLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
78083	return nil, false
78084}
78085
78086// AsSybaseLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
78087func (gbqls GoogleBigQueryLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
78088	return nil, false
78089}
78090
78091// AsPostgreSQLLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
78092func (gbqls GoogleBigQueryLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
78093	return nil, false
78094}
78095
78096// AsMySQLLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
78097func (gbqls GoogleBigQueryLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
78098	return nil, false
78099}
78100
78101// AsAzureMySQLLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
78102func (gbqls GoogleBigQueryLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
78103	return nil, false
78104}
78105
78106// AsOracleLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
78107func (gbqls GoogleBigQueryLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
78108	return nil, false
78109}
78110
78111// AsFileServerLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
78112func (gbqls GoogleBigQueryLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
78113	return nil, false
78114}
78115
78116// AsHDInsightLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
78117func (gbqls GoogleBigQueryLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
78118	return nil, false
78119}
78120
78121// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
78122func (gbqls GoogleBigQueryLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) {
78123	return nil, false
78124}
78125
78126// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
78127func (gbqls GoogleBigQueryLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) {
78128	return nil, false
78129}
78130
78131// AsDynamicsLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
78132func (gbqls GoogleBigQueryLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
78133	return nil, false
78134}
78135
78136// AsCosmosDbLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
78137func (gbqls GoogleBigQueryLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
78138	return nil, false
78139}
78140
78141// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
78142func (gbqls GoogleBigQueryLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
78143	return nil, false
78144}
78145
78146// AsAzureBatchLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
78147func (gbqls GoogleBigQueryLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
78148	return nil, false
78149}
78150
78151// AsAzureSQLMILinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
78152func (gbqls GoogleBigQueryLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) {
78153	return nil, false
78154}
78155
78156// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
78157func (gbqls GoogleBigQueryLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
78158	return nil, false
78159}
78160
78161// AsSQLServerLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
78162func (gbqls GoogleBigQueryLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
78163	return nil, false
78164}
78165
78166// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
78167func (gbqls GoogleBigQueryLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
78168	return nil, false
78169}
78170
78171// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
78172func (gbqls GoogleBigQueryLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) {
78173	return nil, false
78174}
78175
78176// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
78177func (gbqls GoogleBigQueryLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) {
78178	return nil, false
78179}
78180
78181// AsAzureStorageLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
78182func (gbqls GoogleBigQueryLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
78183	return nil, false
78184}
78185
78186// AsLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
78187func (gbqls GoogleBigQueryLinkedService) AsLinkedService() (*LinkedService, bool) {
78188	return nil, false
78189}
78190
78191// AsBasicLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
78192func (gbqls GoogleBigQueryLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
78193	return &gbqls, true
78194}
78195
78196// UnmarshalJSON is the custom unmarshaler for GoogleBigQueryLinkedService struct.
78197func (gbqls *GoogleBigQueryLinkedService) UnmarshalJSON(body []byte) error {
78198	var m map[string]*json.RawMessage
78199	err := json.Unmarshal(body, &m)
78200	if err != nil {
78201		return err
78202	}
78203	for k, v := range m {
78204		switch k {
78205		case "typeProperties":
78206			if v != nil {
78207				var googleBigQueryLinkedServiceTypeProperties GoogleBigQueryLinkedServiceTypeProperties
78208				err = json.Unmarshal(*v, &googleBigQueryLinkedServiceTypeProperties)
78209				if err != nil {
78210					return err
78211				}
78212				gbqls.GoogleBigQueryLinkedServiceTypeProperties = &googleBigQueryLinkedServiceTypeProperties
78213			}
78214		default:
78215			if v != nil {
78216				var additionalProperties interface{}
78217				err = json.Unmarshal(*v, &additionalProperties)
78218				if err != nil {
78219					return err
78220				}
78221				if gbqls.AdditionalProperties == nil {
78222					gbqls.AdditionalProperties = make(map[string]interface{})
78223				}
78224				gbqls.AdditionalProperties[k] = additionalProperties
78225			}
78226		case "connectVia":
78227			if v != nil {
78228				var connectVia IntegrationRuntimeReference
78229				err = json.Unmarshal(*v, &connectVia)
78230				if err != nil {
78231					return err
78232				}
78233				gbqls.ConnectVia = &connectVia
78234			}
78235		case "description":
78236			if v != nil {
78237				var description string
78238				err = json.Unmarshal(*v, &description)
78239				if err != nil {
78240					return err
78241				}
78242				gbqls.Description = &description
78243			}
78244		case "parameters":
78245			if v != nil {
78246				var parameters map[string]*ParameterSpecification
78247				err = json.Unmarshal(*v, &parameters)
78248				if err != nil {
78249					return err
78250				}
78251				gbqls.Parameters = parameters
78252			}
78253		case "annotations":
78254			if v != nil {
78255				var annotations []interface{}
78256				err = json.Unmarshal(*v, &annotations)
78257				if err != nil {
78258					return err
78259				}
78260				gbqls.Annotations = &annotations
78261			}
78262		case "type":
78263			if v != nil {
78264				var typeVar TypeBasicLinkedService
78265				err = json.Unmarshal(*v, &typeVar)
78266				if err != nil {
78267					return err
78268				}
78269				gbqls.Type = typeVar
78270			}
78271		}
78272	}
78273
78274	return nil
78275}
78276
78277// GoogleBigQueryLinkedServiceTypeProperties google BigQuery service linked service properties.
78278type GoogleBigQueryLinkedServiceTypeProperties struct {
78279	// Project - The default BigQuery project to query against.
78280	Project interface{} `json:"project,omitempty"`
78281	// AdditionalProjects - A comma-separated list of public BigQuery projects to access.
78282	AdditionalProjects interface{} `json:"additionalProjects,omitempty"`
78283	// 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.
78284	RequestGoogleDriveScope interface{} `json:"requestGoogleDriveScope,omitempty"`
78285	// AuthenticationType - The OAuth 2.0 authentication mechanism used for authentication. ServiceAuthentication can only be used on self-hosted IR. Possible values include: 'GoogleBigQueryAuthenticationTypeServiceAuthentication', 'GoogleBigQueryAuthenticationTypeUserAuthentication'
78286	AuthenticationType GoogleBigQueryAuthenticationType `json:"authenticationType,omitempty"`
78287	// RefreshToken - The refresh token obtained from Google for authorizing access to BigQuery for UserAuthentication.
78288	RefreshToken BasicSecretBase `json:"refreshToken,omitempty"`
78289	// ClientID - The client id of the google application used to acquire the refresh token.
78290	ClientID BasicSecretBase `json:"clientId,omitempty"`
78291	// ClientSecret - The client secret of the google application used to acquire the refresh token.
78292	ClientSecret BasicSecretBase `json:"clientSecret,omitempty"`
78293	// Email - The service account email ID that is used for ServiceAuthentication and can only be used on self-hosted IR.
78294	Email interface{} `json:"email,omitempty"`
78295	// 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.
78296	KeyFilePath interface{} `json:"keyFilePath,omitempty"`
78297	// 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.
78298	TrustedCertPath interface{} `json:"trustedCertPath,omitempty"`
78299	// UseSystemTrustStore - Specifies whether to use a CA certificate from the system trust store or from a specified PEM file. The default value is false.
78300	UseSystemTrustStore interface{} `json:"useSystemTrustStore,omitempty"`
78301	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
78302	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
78303}
78304
78305// UnmarshalJSON is the custom unmarshaler for GoogleBigQueryLinkedServiceTypeProperties struct.
78306func (gbqlstp *GoogleBigQueryLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
78307	var m map[string]*json.RawMessage
78308	err := json.Unmarshal(body, &m)
78309	if err != nil {
78310		return err
78311	}
78312	for k, v := range m {
78313		switch k {
78314		case "project":
78315			if v != nil {
78316				var project interface{}
78317				err = json.Unmarshal(*v, &project)
78318				if err != nil {
78319					return err
78320				}
78321				gbqlstp.Project = project
78322			}
78323		case "additionalProjects":
78324			if v != nil {
78325				var additionalProjects interface{}
78326				err = json.Unmarshal(*v, &additionalProjects)
78327				if err != nil {
78328					return err
78329				}
78330				gbqlstp.AdditionalProjects = additionalProjects
78331			}
78332		case "requestGoogleDriveScope":
78333			if v != nil {
78334				var requestGoogleDriveScope interface{}
78335				err = json.Unmarshal(*v, &requestGoogleDriveScope)
78336				if err != nil {
78337					return err
78338				}
78339				gbqlstp.RequestGoogleDriveScope = requestGoogleDriveScope
78340			}
78341		case "authenticationType":
78342			if v != nil {
78343				var authenticationType GoogleBigQueryAuthenticationType
78344				err = json.Unmarshal(*v, &authenticationType)
78345				if err != nil {
78346					return err
78347				}
78348				gbqlstp.AuthenticationType = authenticationType
78349			}
78350		case "refreshToken":
78351			if v != nil {
78352				refreshToken, err := unmarshalBasicSecretBase(*v)
78353				if err != nil {
78354					return err
78355				}
78356				gbqlstp.RefreshToken = refreshToken
78357			}
78358		case "clientId":
78359			if v != nil {
78360				clientID, err := unmarshalBasicSecretBase(*v)
78361				if err != nil {
78362					return err
78363				}
78364				gbqlstp.ClientID = clientID
78365			}
78366		case "clientSecret":
78367			if v != nil {
78368				clientSecret, err := unmarshalBasicSecretBase(*v)
78369				if err != nil {
78370					return err
78371				}
78372				gbqlstp.ClientSecret = clientSecret
78373			}
78374		case "email":
78375			if v != nil {
78376				var email interface{}
78377				err = json.Unmarshal(*v, &email)
78378				if err != nil {
78379					return err
78380				}
78381				gbqlstp.Email = email
78382			}
78383		case "keyFilePath":
78384			if v != nil {
78385				var keyFilePath interface{}
78386				err = json.Unmarshal(*v, &keyFilePath)
78387				if err != nil {
78388					return err
78389				}
78390				gbqlstp.KeyFilePath = keyFilePath
78391			}
78392		case "trustedCertPath":
78393			if v != nil {
78394				var trustedCertPath interface{}
78395				err = json.Unmarshal(*v, &trustedCertPath)
78396				if err != nil {
78397					return err
78398				}
78399				gbqlstp.TrustedCertPath = trustedCertPath
78400			}
78401		case "useSystemTrustStore":
78402			if v != nil {
78403				var useSystemTrustStore interface{}
78404				err = json.Unmarshal(*v, &useSystemTrustStore)
78405				if err != nil {
78406					return err
78407				}
78408				gbqlstp.UseSystemTrustStore = useSystemTrustStore
78409			}
78410		case "encryptedCredential":
78411			if v != nil {
78412				var encryptedCredential interface{}
78413				err = json.Unmarshal(*v, &encryptedCredential)
78414				if err != nil {
78415					return err
78416				}
78417				gbqlstp.EncryptedCredential = encryptedCredential
78418			}
78419		}
78420	}
78421
78422	return nil
78423}
78424
78425// GoogleBigQueryObjectDataset google BigQuery service dataset.
78426type GoogleBigQueryObjectDataset struct {
78427	// GenericDatasetTypeProperties - Properties specific to this dataset type.
78428	*GenericDatasetTypeProperties `json:"typeProperties,omitempty"`
78429	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
78430	AdditionalProperties map[string]interface{} `json:""`
78431	// Description - Dataset description.
78432	Description *string `json:"description,omitempty"`
78433	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
78434	Structure interface{} `json:"structure,omitempty"`
78435	// Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement.
78436	Schema interface{} `json:"schema,omitempty"`
78437	// LinkedServiceName - Linked service reference.
78438	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
78439	// Parameters - Parameters for dataset.
78440	Parameters map[string]*ParameterSpecification `json:"parameters"`
78441	// Annotations - List of tags that can be used for describing the Dataset.
78442	Annotations *[]interface{} `json:"annotations,omitempty"`
78443	// Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level.
78444	Folder *DatasetFolder `json:"folder,omitempty"`
78445	// Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', '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', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeDelimitedText', 'TypeParquet', 'TypeAmazonS3Object'
78446	Type TypeBasicDataset `json:"type,omitempty"`
78447}
78448
78449// MarshalJSON is the custom marshaler for GoogleBigQueryObjectDataset.
78450func (gbqod GoogleBigQueryObjectDataset) MarshalJSON() ([]byte, error) {
78451	gbqod.Type = TypeGoogleBigQueryObject
78452	objectMap := make(map[string]interface{})
78453	if gbqod.GenericDatasetTypeProperties != nil {
78454		objectMap["typeProperties"] = gbqod.GenericDatasetTypeProperties
78455	}
78456	if gbqod.Description != nil {
78457		objectMap["description"] = gbqod.Description
78458	}
78459	if gbqod.Structure != nil {
78460		objectMap["structure"] = gbqod.Structure
78461	}
78462	if gbqod.Schema != nil {
78463		objectMap["schema"] = gbqod.Schema
78464	}
78465	if gbqod.LinkedServiceName != nil {
78466		objectMap["linkedServiceName"] = gbqod.LinkedServiceName
78467	}
78468	if gbqod.Parameters != nil {
78469		objectMap["parameters"] = gbqod.Parameters
78470	}
78471	if gbqod.Annotations != nil {
78472		objectMap["annotations"] = gbqod.Annotations
78473	}
78474	if gbqod.Folder != nil {
78475		objectMap["folder"] = gbqod.Folder
78476	}
78477	if gbqod.Type != "" {
78478		objectMap["type"] = gbqod.Type
78479	}
78480	for k, v := range gbqod.AdditionalProperties {
78481		objectMap[k] = v
78482	}
78483	return json.Marshal(objectMap)
78484}
78485
78486// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
78487func (gbqod GoogleBigQueryObjectDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) {
78488	return nil, false
78489}
78490
78491// AsAzureDataExplorerTableDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
78492func (gbqod GoogleBigQueryObjectDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) {
78493	return nil, false
78494}
78495
78496// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
78497func (gbqod GoogleBigQueryObjectDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) {
78498	return nil, false
78499}
78500
78501// AsDynamicsAXResourceDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
78502func (gbqod GoogleBigQueryObjectDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) {
78503	return nil, false
78504}
78505
78506// AsResponsysObjectDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
78507func (gbqod GoogleBigQueryObjectDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
78508	return nil, false
78509}
78510
78511// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
78512func (gbqod GoogleBigQueryObjectDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
78513	return nil, false
78514}
78515
78516// AsVerticaTableDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
78517func (gbqod GoogleBigQueryObjectDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
78518	return nil, false
78519}
78520
78521// AsNetezzaTableDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
78522func (gbqod GoogleBigQueryObjectDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
78523	return nil, false
78524}
78525
78526// AsZohoObjectDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
78527func (gbqod GoogleBigQueryObjectDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
78528	return nil, false
78529}
78530
78531// AsXeroObjectDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
78532func (gbqod GoogleBigQueryObjectDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
78533	return nil, false
78534}
78535
78536// AsSquareObjectDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
78537func (gbqod GoogleBigQueryObjectDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
78538	return nil, false
78539}
78540
78541// AsSparkObjectDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
78542func (gbqod GoogleBigQueryObjectDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
78543	return nil, false
78544}
78545
78546// AsShopifyObjectDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
78547func (gbqod GoogleBigQueryObjectDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
78548	return nil, false
78549}
78550
78551// AsServiceNowObjectDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
78552func (gbqod GoogleBigQueryObjectDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
78553	return nil, false
78554}
78555
78556// AsQuickBooksObjectDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
78557func (gbqod GoogleBigQueryObjectDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
78558	return nil, false
78559}
78560
78561// AsPrestoObjectDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
78562func (gbqod GoogleBigQueryObjectDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
78563	return nil, false
78564}
78565
78566// AsPhoenixObjectDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
78567func (gbqod GoogleBigQueryObjectDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
78568	return nil, false
78569}
78570
78571// AsPaypalObjectDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
78572func (gbqod GoogleBigQueryObjectDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
78573	return nil, false
78574}
78575
78576// AsMarketoObjectDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
78577func (gbqod GoogleBigQueryObjectDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
78578	return nil, false
78579}
78580
78581// AsMariaDBTableDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
78582func (gbqod GoogleBigQueryObjectDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
78583	return nil, false
78584}
78585
78586// AsMagentoObjectDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
78587func (gbqod GoogleBigQueryObjectDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
78588	return nil, false
78589}
78590
78591// AsJiraObjectDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
78592func (gbqod GoogleBigQueryObjectDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
78593	return nil, false
78594}
78595
78596// AsImpalaObjectDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
78597func (gbqod GoogleBigQueryObjectDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
78598	return nil, false
78599}
78600
78601// AsHubspotObjectDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
78602func (gbqod GoogleBigQueryObjectDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
78603	return nil, false
78604}
78605
78606// AsHiveObjectDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
78607func (gbqod GoogleBigQueryObjectDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
78608	return nil, false
78609}
78610
78611// AsHBaseObjectDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
78612func (gbqod GoogleBigQueryObjectDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
78613	return nil, false
78614}
78615
78616// AsGreenplumTableDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
78617func (gbqod GoogleBigQueryObjectDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
78618	return nil, false
78619}
78620
78621// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
78622func (gbqod GoogleBigQueryObjectDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
78623	return &gbqod, true
78624}
78625
78626// AsEloquaObjectDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
78627func (gbqod GoogleBigQueryObjectDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
78628	return nil, false
78629}
78630
78631// AsDrillTableDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
78632func (gbqod GoogleBigQueryObjectDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
78633	return nil, false
78634}
78635
78636// AsCouchbaseTableDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
78637func (gbqod GoogleBigQueryObjectDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
78638	return nil, false
78639}
78640
78641// AsConcurObjectDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
78642func (gbqod GoogleBigQueryObjectDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
78643	return nil, false
78644}
78645
78646// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
78647func (gbqod GoogleBigQueryObjectDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
78648	return nil, false
78649}
78650
78651// AsAmazonMWSObjectDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
78652func (gbqod GoogleBigQueryObjectDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
78653	return nil, false
78654}
78655
78656// AsHTTPDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
78657func (gbqod GoogleBigQueryObjectDataset) AsHTTPDataset() (*HTTPDataset, bool) {
78658	return nil, false
78659}
78660
78661// AsAzureSearchIndexDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
78662func (gbqod GoogleBigQueryObjectDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
78663	return nil, false
78664}
78665
78666// AsWebTableDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
78667func (gbqod GoogleBigQueryObjectDataset) AsWebTableDataset() (*WebTableDataset, bool) {
78668	return nil, false
78669}
78670
78671// AsSapTableResourceDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
78672func (gbqod GoogleBigQueryObjectDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) {
78673	return nil, false
78674}
78675
78676// AsRestResourceDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
78677func (gbqod GoogleBigQueryObjectDataset) AsRestResourceDataset() (*RestResourceDataset, bool) {
78678	return nil, false
78679}
78680
78681// AsSQLServerTableDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
78682func (gbqod GoogleBigQueryObjectDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
78683	return nil, false
78684}
78685
78686// AsSapOpenHubTableDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
78687func (gbqod GoogleBigQueryObjectDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) {
78688	return nil, false
78689}
78690
78691// AsSapHanaTableDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
78692func (gbqod GoogleBigQueryObjectDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) {
78693	return nil, false
78694}
78695
78696// AsSapEccResourceDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
78697func (gbqod GoogleBigQueryObjectDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
78698	return nil, false
78699}
78700
78701// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
78702func (gbqod GoogleBigQueryObjectDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
78703	return nil, false
78704}
78705
78706// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
78707func (gbqod GoogleBigQueryObjectDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) {
78708	return nil, false
78709}
78710
78711// AsSalesforceObjectDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
78712func (gbqod GoogleBigQueryObjectDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
78713	return nil, false
78714}
78715
78716// AsMicrosoftAccessTableDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
78717func (gbqod GoogleBigQueryObjectDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) {
78718	return nil, false
78719}
78720
78721// AsPostgreSQLTableDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
78722func (gbqod GoogleBigQueryObjectDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) {
78723	return nil, false
78724}
78725
78726// AsMySQLTableDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
78727func (gbqod GoogleBigQueryObjectDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) {
78728	return nil, false
78729}
78730
78731// AsOdbcTableDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
78732func (gbqod GoogleBigQueryObjectDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) {
78733	return nil, false
78734}
78735
78736// AsInformixTableDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
78737func (gbqod GoogleBigQueryObjectDataset) AsInformixTableDataset() (*InformixTableDataset, bool) {
78738	return nil, false
78739}
78740
78741// AsRelationalTableDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
78742func (gbqod GoogleBigQueryObjectDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
78743	return nil, false
78744}
78745
78746// AsAzureMySQLTableDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
78747func (gbqod GoogleBigQueryObjectDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
78748	return nil, false
78749}
78750
78751// AsTeradataTableDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
78752func (gbqod GoogleBigQueryObjectDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) {
78753	return nil, false
78754}
78755
78756// AsOracleTableDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
78757func (gbqod GoogleBigQueryObjectDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
78758	return nil, false
78759}
78760
78761// AsODataResourceDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
78762func (gbqod GoogleBigQueryObjectDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
78763	return nil, false
78764}
78765
78766// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
78767func (gbqod GoogleBigQueryObjectDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) {
78768	return nil, false
78769}
78770
78771// AsMongoDbV2CollectionDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
78772func (gbqod GoogleBigQueryObjectDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) {
78773	return nil, false
78774}
78775
78776// AsMongoDbCollectionDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
78777func (gbqod GoogleBigQueryObjectDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
78778	return nil, false
78779}
78780
78781// AsFileShareDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
78782func (gbqod GoogleBigQueryObjectDataset) AsFileShareDataset() (*FileShareDataset, bool) {
78783	return nil, false
78784}
78785
78786// AsOffice365Dataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
78787func (gbqod GoogleBigQueryObjectDataset) AsOffice365Dataset() (*Office365Dataset, bool) {
78788	return nil, false
78789}
78790
78791// AsAzureBlobFSDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
78792func (gbqod GoogleBigQueryObjectDataset) AsAzureBlobFSDataset() (*AzureBlobFSDataset, bool) {
78793	return nil, false
78794}
78795
78796// AsAzureDataLakeStoreDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
78797func (gbqod GoogleBigQueryObjectDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) {
78798	return nil, false
78799}
78800
78801// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
78802func (gbqod GoogleBigQueryObjectDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) {
78803	return nil, false
78804}
78805
78806// AsDynamicsCrmEntityDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
78807func (gbqod GoogleBigQueryObjectDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) {
78808	return nil, false
78809}
78810
78811// AsDynamicsEntityDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
78812func (gbqod GoogleBigQueryObjectDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
78813	return nil, false
78814}
78815
78816// AsDocumentDbCollectionDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
78817func (gbqod GoogleBigQueryObjectDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
78818	return nil, false
78819}
78820
78821// AsCustomDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
78822func (gbqod GoogleBigQueryObjectDataset) AsCustomDataset() (*CustomDataset, bool) {
78823	return nil, false
78824}
78825
78826// AsCassandraTableDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
78827func (gbqod GoogleBigQueryObjectDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
78828	return nil, false
78829}
78830
78831// AsAzureSQLDWTableDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
78832func (gbqod GoogleBigQueryObjectDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
78833	return nil, false
78834}
78835
78836// AsAzureSQLMITableDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
78837func (gbqod GoogleBigQueryObjectDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) {
78838	return nil, false
78839}
78840
78841// AsAzureSQLTableDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
78842func (gbqod GoogleBigQueryObjectDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
78843	return nil, false
78844}
78845
78846// AsAzureTableDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
78847func (gbqod GoogleBigQueryObjectDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
78848	return nil, false
78849}
78850
78851// AsAzureBlobDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
78852func (gbqod GoogleBigQueryObjectDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) {
78853	return nil, false
78854}
78855
78856// AsBinaryDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
78857func (gbqod GoogleBigQueryObjectDataset) AsBinaryDataset() (*BinaryDataset, bool) {
78858	return nil, false
78859}
78860
78861// AsDelimitedTextDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
78862func (gbqod GoogleBigQueryObjectDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) {
78863	return nil, false
78864}
78865
78866// AsParquetDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
78867func (gbqod GoogleBigQueryObjectDataset) AsParquetDataset() (*ParquetDataset, bool) {
78868	return nil, false
78869}
78870
78871// AsAmazonS3Dataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
78872func (gbqod GoogleBigQueryObjectDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) {
78873	return nil, false
78874}
78875
78876// AsDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
78877func (gbqod GoogleBigQueryObjectDataset) AsDataset() (*Dataset, bool) {
78878	return nil, false
78879}
78880
78881// AsBasicDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
78882func (gbqod GoogleBigQueryObjectDataset) AsBasicDataset() (BasicDataset, bool) {
78883	return &gbqod, true
78884}
78885
78886// UnmarshalJSON is the custom unmarshaler for GoogleBigQueryObjectDataset struct.
78887func (gbqod *GoogleBigQueryObjectDataset) UnmarshalJSON(body []byte) error {
78888	var m map[string]*json.RawMessage
78889	err := json.Unmarshal(body, &m)
78890	if err != nil {
78891		return err
78892	}
78893	for k, v := range m {
78894		switch k {
78895		case "typeProperties":
78896			if v != nil {
78897				var genericDatasetTypeProperties GenericDatasetTypeProperties
78898				err = json.Unmarshal(*v, &genericDatasetTypeProperties)
78899				if err != nil {
78900					return err
78901				}
78902				gbqod.GenericDatasetTypeProperties = &genericDatasetTypeProperties
78903			}
78904		default:
78905			if v != nil {
78906				var additionalProperties interface{}
78907				err = json.Unmarshal(*v, &additionalProperties)
78908				if err != nil {
78909					return err
78910				}
78911				if gbqod.AdditionalProperties == nil {
78912					gbqod.AdditionalProperties = make(map[string]interface{})
78913				}
78914				gbqod.AdditionalProperties[k] = additionalProperties
78915			}
78916		case "description":
78917			if v != nil {
78918				var description string
78919				err = json.Unmarshal(*v, &description)
78920				if err != nil {
78921					return err
78922				}
78923				gbqod.Description = &description
78924			}
78925		case "structure":
78926			if v != nil {
78927				var structure interface{}
78928				err = json.Unmarshal(*v, &structure)
78929				if err != nil {
78930					return err
78931				}
78932				gbqod.Structure = structure
78933			}
78934		case "schema":
78935			if v != nil {
78936				var schema interface{}
78937				err = json.Unmarshal(*v, &schema)
78938				if err != nil {
78939					return err
78940				}
78941				gbqod.Schema = schema
78942			}
78943		case "linkedServiceName":
78944			if v != nil {
78945				var linkedServiceName LinkedServiceReference
78946				err = json.Unmarshal(*v, &linkedServiceName)
78947				if err != nil {
78948					return err
78949				}
78950				gbqod.LinkedServiceName = &linkedServiceName
78951			}
78952		case "parameters":
78953			if v != nil {
78954				var parameters map[string]*ParameterSpecification
78955				err = json.Unmarshal(*v, &parameters)
78956				if err != nil {
78957					return err
78958				}
78959				gbqod.Parameters = parameters
78960			}
78961		case "annotations":
78962			if v != nil {
78963				var annotations []interface{}
78964				err = json.Unmarshal(*v, &annotations)
78965				if err != nil {
78966					return err
78967				}
78968				gbqod.Annotations = &annotations
78969			}
78970		case "folder":
78971			if v != nil {
78972				var folder DatasetFolder
78973				err = json.Unmarshal(*v, &folder)
78974				if err != nil {
78975					return err
78976				}
78977				gbqod.Folder = &folder
78978			}
78979		case "type":
78980			if v != nil {
78981				var typeVar TypeBasicDataset
78982				err = json.Unmarshal(*v, &typeVar)
78983				if err != nil {
78984					return err
78985				}
78986				gbqod.Type = typeVar
78987			}
78988		}
78989	}
78990
78991	return nil
78992}
78993
78994// GoogleBigQuerySource a copy activity Google BigQuery service source.
78995type GoogleBigQuerySource struct {
78996	// Query - A query to retrieve data from source. Type: string (or Expression with resultType string).
78997	Query interface{} `json:"query,omitempty"`
78998	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
78999	AdditionalProperties map[string]interface{} `json:""`
79000	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
79001	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
79002	// 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])).
79003	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
79004	// MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer).
79005	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
79006	// Type - Possible values include: 'TypeCopySource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', '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', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeCassandraSource', 'TypeWebSource', 'TypeTeradataSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeAzureMySQLSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeRestSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceServiceCloudSource', 'TypeSalesforceSource', 'TypeODataSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeMicrosoftAccessSource', 'TypeInformixSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAzureTableSource', 'TypeBinarySource', 'TypeDelimitedTextSource', 'TypeParquetSource'
79007	Type TypeBasicCopySource `json:"type,omitempty"`
79008}
79009
79010// MarshalJSON is the custom marshaler for GoogleBigQuerySource.
79011func (gbqs GoogleBigQuerySource) MarshalJSON() ([]byte, error) {
79012	gbqs.Type = TypeGoogleBigQuerySource
79013	objectMap := make(map[string]interface{})
79014	if gbqs.Query != nil {
79015		objectMap["query"] = gbqs.Query
79016	}
79017	if gbqs.SourceRetryCount != nil {
79018		objectMap["sourceRetryCount"] = gbqs.SourceRetryCount
79019	}
79020	if gbqs.SourceRetryWait != nil {
79021		objectMap["sourceRetryWait"] = gbqs.SourceRetryWait
79022	}
79023	if gbqs.MaxConcurrentConnections != nil {
79024		objectMap["maxConcurrentConnections"] = gbqs.MaxConcurrentConnections
79025	}
79026	if gbqs.Type != "" {
79027		objectMap["type"] = gbqs.Type
79028	}
79029	for k, v := range gbqs.AdditionalProperties {
79030		objectMap[k] = v
79031	}
79032	return json.Marshal(objectMap)
79033}
79034
79035// AsAmazonRedshiftSource is the BasicCopySource implementation for GoogleBigQuerySource.
79036func (gbqs GoogleBigQuerySource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
79037	return nil, false
79038}
79039
79040// AsGoogleAdWordsSource is the BasicCopySource implementation for GoogleBigQuerySource.
79041func (gbqs GoogleBigQuerySource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) {
79042	return nil, false
79043}
79044
79045// AsOracleServiceCloudSource is the BasicCopySource implementation for GoogleBigQuerySource.
79046func (gbqs GoogleBigQuerySource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) {
79047	return nil, false
79048}
79049
79050// AsDynamicsAXSource is the BasicCopySource implementation for GoogleBigQuerySource.
79051func (gbqs GoogleBigQuerySource) AsDynamicsAXSource() (*DynamicsAXSource, bool) {
79052	return nil, false
79053}
79054
79055// AsResponsysSource is the BasicCopySource implementation for GoogleBigQuerySource.
79056func (gbqs GoogleBigQuerySource) AsResponsysSource() (*ResponsysSource, bool) {
79057	return nil, false
79058}
79059
79060// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for GoogleBigQuerySource.
79061func (gbqs GoogleBigQuerySource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
79062	return nil, false
79063}
79064
79065// AsVerticaSource is the BasicCopySource implementation for GoogleBigQuerySource.
79066func (gbqs GoogleBigQuerySource) AsVerticaSource() (*VerticaSource, bool) {
79067	return nil, false
79068}
79069
79070// AsNetezzaSource is the BasicCopySource implementation for GoogleBigQuerySource.
79071func (gbqs GoogleBigQuerySource) AsNetezzaSource() (*NetezzaSource, bool) {
79072	return nil, false
79073}
79074
79075// AsZohoSource is the BasicCopySource implementation for GoogleBigQuerySource.
79076func (gbqs GoogleBigQuerySource) AsZohoSource() (*ZohoSource, bool) {
79077	return nil, false
79078}
79079
79080// AsXeroSource is the BasicCopySource implementation for GoogleBigQuerySource.
79081func (gbqs GoogleBigQuerySource) AsXeroSource() (*XeroSource, bool) {
79082	return nil, false
79083}
79084
79085// AsSquareSource is the BasicCopySource implementation for GoogleBigQuerySource.
79086func (gbqs GoogleBigQuerySource) AsSquareSource() (*SquareSource, bool) {
79087	return nil, false
79088}
79089
79090// AsSparkSource is the BasicCopySource implementation for GoogleBigQuerySource.
79091func (gbqs GoogleBigQuerySource) AsSparkSource() (*SparkSource, bool) {
79092	return nil, false
79093}
79094
79095// AsShopifySource is the BasicCopySource implementation for GoogleBigQuerySource.
79096func (gbqs GoogleBigQuerySource) AsShopifySource() (*ShopifySource, bool) {
79097	return nil, false
79098}
79099
79100// AsServiceNowSource is the BasicCopySource implementation for GoogleBigQuerySource.
79101func (gbqs GoogleBigQuerySource) AsServiceNowSource() (*ServiceNowSource, bool) {
79102	return nil, false
79103}
79104
79105// AsQuickBooksSource is the BasicCopySource implementation for GoogleBigQuerySource.
79106func (gbqs GoogleBigQuerySource) AsQuickBooksSource() (*QuickBooksSource, bool) {
79107	return nil, false
79108}
79109
79110// AsPrestoSource is the BasicCopySource implementation for GoogleBigQuerySource.
79111func (gbqs GoogleBigQuerySource) AsPrestoSource() (*PrestoSource, bool) {
79112	return nil, false
79113}
79114
79115// AsPhoenixSource is the BasicCopySource implementation for GoogleBigQuerySource.
79116func (gbqs GoogleBigQuerySource) AsPhoenixSource() (*PhoenixSource, bool) {
79117	return nil, false
79118}
79119
79120// AsPaypalSource is the BasicCopySource implementation for GoogleBigQuerySource.
79121func (gbqs GoogleBigQuerySource) AsPaypalSource() (*PaypalSource, bool) {
79122	return nil, false
79123}
79124
79125// AsMarketoSource is the BasicCopySource implementation for GoogleBigQuerySource.
79126func (gbqs GoogleBigQuerySource) AsMarketoSource() (*MarketoSource, bool) {
79127	return nil, false
79128}
79129
79130// AsMariaDBSource is the BasicCopySource implementation for GoogleBigQuerySource.
79131func (gbqs GoogleBigQuerySource) AsMariaDBSource() (*MariaDBSource, bool) {
79132	return nil, false
79133}
79134
79135// AsMagentoSource is the BasicCopySource implementation for GoogleBigQuerySource.
79136func (gbqs GoogleBigQuerySource) AsMagentoSource() (*MagentoSource, bool) {
79137	return nil, false
79138}
79139
79140// AsJiraSource is the BasicCopySource implementation for GoogleBigQuerySource.
79141func (gbqs GoogleBigQuerySource) AsJiraSource() (*JiraSource, bool) {
79142	return nil, false
79143}
79144
79145// AsImpalaSource is the BasicCopySource implementation for GoogleBigQuerySource.
79146func (gbqs GoogleBigQuerySource) AsImpalaSource() (*ImpalaSource, bool) {
79147	return nil, false
79148}
79149
79150// AsHubspotSource is the BasicCopySource implementation for GoogleBigQuerySource.
79151func (gbqs GoogleBigQuerySource) AsHubspotSource() (*HubspotSource, bool) {
79152	return nil, false
79153}
79154
79155// AsHiveSource is the BasicCopySource implementation for GoogleBigQuerySource.
79156func (gbqs GoogleBigQuerySource) AsHiveSource() (*HiveSource, bool) {
79157	return nil, false
79158}
79159
79160// AsHBaseSource is the BasicCopySource implementation for GoogleBigQuerySource.
79161func (gbqs GoogleBigQuerySource) AsHBaseSource() (*HBaseSource, bool) {
79162	return nil, false
79163}
79164
79165// AsGreenplumSource is the BasicCopySource implementation for GoogleBigQuerySource.
79166func (gbqs GoogleBigQuerySource) AsGreenplumSource() (*GreenplumSource, bool) {
79167	return nil, false
79168}
79169
79170// AsGoogleBigQuerySource is the BasicCopySource implementation for GoogleBigQuerySource.
79171func (gbqs GoogleBigQuerySource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
79172	return &gbqs, true
79173}
79174
79175// AsEloquaSource is the BasicCopySource implementation for GoogleBigQuerySource.
79176func (gbqs GoogleBigQuerySource) AsEloquaSource() (*EloquaSource, bool) {
79177	return nil, false
79178}
79179
79180// AsDrillSource is the BasicCopySource implementation for GoogleBigQuerySource.
79181func (gbqs GoogleBigQuerySource) AsDrillSource() (*DrillSource, bool) {
79182	return nil, false
79183}
79184
79185// AsCouchbaseSource is the BasicCopySource implementation for GoogleBigQuerySource.
79186func (gbqs GoogleBigQuerySource) AsCouchbaseSource() (*CouchbaseSource, bool) {
79187	return nil, false
79188}
79189
79190// AsConcurSource is the BasicCopySource implementation for GoogleBigQuerySource.
79191func (gbqs GoogleBigQuerySource) AsConcurSource() (*ConcurSource, bool) {
79192	return nil, false
79193}
79194
79195// AsAzurePostgreSQLSource is the BasicCopySource implementation for GoogleBigQuerySource.
79196func (gbqs GoogleBigQuerySource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
79197	return nil, false
79198}
79199
79200// AsAmazonMWSSource is the BasicCopySource implementation for GoogleBigQuerySource.
79201func (gbqs GoogleBigQuerySource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
79202	return nil, false
79203}
79204
79205// AsHTTPSource is the BasicCopySource implementation for GoogleBigQuerySource.
79206func (gbqs GoogleBigQuerySource) AsHTTPSource() (*HTTPSource, bool) {
79207	return nil, false
79208}
79209
79210// AsAzureBlobFSSource is the BasicCopySource implementation for GoogleBigQuerySource.
79211func (gbqs GoogleBigQuerySource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) {
79212	return nil, false
79213}
79214
79215// AsAzureDataLakeStoreSource is the BasicCopySource implementation for GoogleBigQuerySource.
79216func (gbqs GoogleBigQuerySource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
79217	return nil, false
79218}
79219
79220// AsOffice365Source is the BasicCopySource implementation for GoogleBigQuerySource.
79221func (gbqs GoogleBigQuerySource) AsOffice365Source() (*Office365Source, bool) {
79222	return nil, false
79223}
79224
79225// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for GoogleBigQuerySource.
79226func (gbqs GoogleBigQuerySource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) {
79227	return nil, false
79228}
79229
79230// AsMongoDbV2Source is the BasicCopySource implementation for GoogleBigQuerySource.
79231func (gbqs GoogleBigQuerySource) AsMongoDbV2Source() (*MongoDbV2Source, bool) {
79232	return nil, false
79233}
79234
79235// AsMongoDbSource is the BasicCopySource implementation for GoogleBigQuerySource.
79236func (gbqs GoogleBigQuerySource) AsMongoDbSource() (*MongoDbSource, bool) {
79237	return nil, false
79238}
79239
79240// AsCassandraSource is the BasicCopySource implementation for GoogleBigQuerySource.
79241func (gbqs GoogleBigQuerySource) AsCassandraSource() (*CassandraSource, bool) {
79242	return nil, false
79243}
79244
79245// AsWebSource is the BasicCopySource implementation for GoogleBigQuerySource.
79246func (gbqs GoogleBigQuerySource) AsWebSource() (*WebSource, bool) {
79247	return nil, false
79248}
79249
79250// AsTeradataSource is the BasicCopySource implementation for GoogleBigQuerySource.
79251func (gbqs GoogleBigQuerySource) AsTeradataSource() (*TeradataSource, bool) {
79252	return nil, false
79253}
79254
79255// AsOracleSource is the BasicCopySource implementation for GoogleBigQuerySource.
79256func (gbqs GoogleBigQuerySource) AsOracleSource() (*OracleSource, bool) {
79257	return nil, false
79258}
79259
79260// AsAzureDataExplorerSource is the BasicCopySource implementation for GoogleBigQuerySource.
79261func (gbqs GoogleBigQuerySource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) {
79262	return nil, false
79263}
79264
79265// AsAzureMySQLSource is the BasicCopySource implementation for GoogleBigQuerySource.
79266func (gbqs GoogleBigQuerySource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
79267	return nil, false
79268}
79269
79270// AsHdfsSource is the BasicCopySource implementation for GoogleBigQuerySource.
79271func (gbqs GoogleBigQuerySource) AsHdfsSource() (*HdfsSource, bool) {
79272	return nil, false
79273}
79274
79275// AsFileSystemSource is the BasicCopySource implementation for GoogleBigQuerySource.
79276func (gbqs GoogleBigQuerySource) AsFileSystemSource() (*FileSystemSource, bool) {
79277	return nil, false
79278}
79279
79280// AsSQLDWSource is the BasicCopySource implementation for GoogleBigQuerySource.
79281func (gbqs GoogleBigQuerySource) AsSQLDWSource() (*SQLDWSource, bool) {
79282	return nil, false
79283}
79284
79285// AsSQLMISource is the BasicCopySource implementation for GoogleBigQuerySource.
79286func (gbqs GoogleBigQuerySource) AsSQLMISource() (*SQLMISource, bool) {
79287	return nil, false
79288}
79289
79290// AsAzureSQLSource is the BasicCopySource implementation for GoogleBigQuerySource.
79291func (gbqs GoogleBigQuerySource) AsAzureSQLSource() (*AzureSQLSource, bool) {
79292	return nil, false
79293}
79294
79295// AsSQLServerSource is the BasicCopySource implementation for GoogleBigQuerySource.
79296func (gbqs GoogleBigQuerySource) AsSQLServerSource() (*SQLServerSource, bool) {
79297	return nil, false
79298}
79299
79300// AsSQLSource is the BasicCopySource implementation for GoogleBigQuerySource.
79301func (gbqs GoogleBigQuerySource) AsSQLSource() (*SQLSource, bool) {
79302	return nil, false
79303}
79304
79305// AsRestSource is the BasicCopySource implementation for GoogleBigQuerySource.
79306func (gbqs GoogleBigQuerySource) AsRestSource() (*RestSource, bool) {
79307	return nil, false
79308}
79309
79310// AsSapTableSource is the BasicCopySource implementation for GoogleBigQuerySource.
79311func (gbqs GoogleBigQuerySource) AsSapTableSource() (*SapTableSource, bool) {
79312	return nil, false
79313}
79314
79315// AsSapOpenHubSource is the BasicCopySource implementation for GoogleBigQuerySource.
79316func (gbqs GoogleBigQuerySource) AsSapOpenHubSource() (*SapOpenHubSource, bool) {
79317	return nil, false
79318}
79319
79320// AsSapHanaSource is the BasicCopySource implementation for GoogleBigQuerySource.
79321func (gbqs GoogleBigQuerySource) AsSapHanaSource() (*SapHanaSource, bool) {
79322	return nil, false
79323}
79324
79325// AsSapEccSource is the BasicCopySource implementation for GoogleBigQuerySource.
79326func (gbqs GoogleBigQuerySource) AsSapEccSource() (*SapEccSource, bool) {
79327	return nil, false
79328}
79329
79330// AsSapCloudForCustomerSource is the BasicCopySource implementation for GoogleBigQuerySource.
79331func (gbqs GoogleBigQuerySource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
79332	return nil, false
79333}
79334
79335// AsSalesforceServiceCloudSource is the BasicCopySource implementation for GoogleBigQuerySource.
79336func (gbqs GoogleBigQuerySource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) {
79337	return nil, false
79338}
79339
79340// AsSalesforceSource is the BasicCopySource implementation for GoogleBigQuerySource.
79341func (gbqs GoogleBigQuerySource) AsSalesforceSource() (*SalesforceSource, bool) {
79342	return nil, false
79343}
79344
79345// AsODataSource is the BasicCopySource implementation for GoogleBigQuerySource.
79346func (gbqs GoogleBigQuerySource) AsODataSource() (*ODataSource, bool) {
79347	return nil, false
79348}
79349
79350// AsSybaseSource is the BasicCopySource implementation for GoogleBigQuerySource.
79351func (gbqs GoogleBigQuerySource) AsSybaseSource() (*SybaseSource, bool) {
79352	return nil, false
79353}
79354
79355// AsPostgreSQLSource is the BasicCopySource implementation for GoogleBigQuerySource.
79356func (gbqs GoogleBigQuerySource) AsPostgreSQLSource() (*PostgreSQLSource, bool) {
79357	return nil, false
79358}
79359
79360// AsMySQLSource is the BasicCopySource implementation for GoogleBigQuerySource.
79361func (gbqs GoogleBigQuerySource) AsMySQLSource() (*MySQLSource, bool) {
79362	return nil, false
79363}
79364
79365// AsOdbcSource is the BasicCopySource implementation for GoogleBigQuerySource.
79366func (gbqs GoogleBigQuerySource) AsOdbcSource() (*OdbcSource, bool) {
79367	return nil, false
79368}
79369
79370// AsDb2Source is the BasicCopySource implementation for GoogleBigQuerySource.
79371func (gbqs GoogleBigQuerySource) AsDb2Source() (*Db2Source, bool) {
79372	return nil, false
79373}
79374
79375// AsMicrosoftAccessSource is the BasicCopySource implementation for GoogleBigQuerySource.
79376func (gbqs GoogleBigQuerySource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) {
79377	return nil, false
79378}
79379
79380// AsInformixSource is the BasicCopySource implementation for GoogleBigQuerySource.
79381func (gbqs GoogleBigQuerySource) AsInformixSource() (*InformixSource, bool) {
79382	return nil, false
79383}
79384
79385// AsRelationalSource is the BasicCopySource implementation for GoogleBigQuerySource.
79386func (gbqs GoogleBigQuerySource) AsRelationalSource() (*RelationalSource, bool) {
79387	return nil, false
79388}
79389
79390// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for GoogleBigQuerySource.
79391func (gbqs GoogleBigQuerySource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) {
79392	return nil, false
79393}
79394
79395// AsDynamicsCrmSource is the BasicCopySource implementation for GoogleBigQuerySource.
79396func (gbqs GoogleBigQuerySource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) {
79397	return nil, false
79398}
79399
79400// AsDynamicsSource is the BasicCopySource implementation for GoogleBigQuerySource.
79401func (gbqs GoogleBigQuerySource) AsDynamicsSource() (*DynamicsSource, bool) {
79402	return nil, false
79403}
79404
79405// AsDocumentDbCollectionSource is the BasicCopySource implementation for GoogleBigQuerySource.
79406func (gbqs GoogleBigQuerySource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
79407	return nil, false
79408}
79409
79410// AsBlobSource is the BasicCopySource implementation for GoogleBigQuerySource.
79411func (gbqs GoogleBigQuerySource) AsBlobSource() (*BlobSource, bool) {
79412	return nil, false
79413}
79414
79415// AsAzureTableSource is the BasicCopySource implementation for GoogleBigQuerySource.
79416func (gbqs GoogleBigQuerySource) AsAzureTableSource() (*AzureTableSource, bool) {
79417	return nil, false
79418}
79419
79420// AsBinarySource is the BasicCopySource implementation for GoogleBigQuerySource.
79421func (gbqs GoogleBigQuerySource) AsBinarySource() (*BinarySource, bool) {
79422	return nil, false
79423}
79424
79425// AsDelimitedTextSource is the BasicCopySource implementation for GoogleBigQuerySource.
79426func (gbqs GoogleBigQuerySource) AsDelimitedTextSource() (*DelimitedTextSource, bool) {
79427	return nil, false
79428}
79429
79430// AsParquetSource is the BasicCopySource implementation for GoogleBigQuerySource.
79431func (gbqs GoogleBigQuerySource) AsParquetSource() (*ParquetSource, bool) {
79432	return nil, false
79433}
79434
79435// AsCopySource is the BasicCopySource implementation for GoogleBigQuerySource.
79436func (gbqs GoogleBigQuerySource) AsCopySource() (*CopySource, bool) {
79437	return nil, false
79438}
79439
79440// AsBasicCopySource is the BasicCopySource implementation for GoogleBigQuerySource.
79441func (gbqs GoogleBigQuerySource) AsBasicCopySource() (BasicCopySource, bool) {
79442	return &gbqs, true
79443}
79444
79445// UnmarshalJSON is the custom unmarshaler for GoogleBigQuerySource struct.
79446func (gbqs *GoogleBigQuerySource) UnmarshalJSON(body []byte) error {
79447	var m map[string]*json.RawMessage
79448	err := json.Unmarshal(body, &m)
79449	if err != nil {
79450		return err
79451	}
79452	for k, v := range m {
79453		switch k {
79454		case "query":
79455			if v != nil {
79456				var query interface{}
79457				err = json.Unmarshal(*v, &query)
79458				if err != nil {
79459					return err
79460				}
79461				gbqs.Query = query
79462			}
79463		default:
79464			if v != nil {
79465				var additionalProperties interface{}
79466				err = json.Unmarshal(*v, &additionalProperties)
79467				if err != nil {
79468					return err
79469				}
79470				if gbqs.AdditionalProperties == nil {
79471					gbqs.AdditionalProperties = make(map[string]interface{})
79472				}
79473				gbqs.AdditionalProperties[k] = additionalProperties
79474			}
79475		case "sourceRetryCount":
79476			if v != nil {
79477				var sourceRetryCount interface{}
79478				err = json.Unmarshal(*v, &sourceRetryCount)
79479				if err != nil {
79480					return err
79481				}
79482				gbqs.SourceRetryCount = sourceRetryCount
79483			}
79484		case "sourceRetryWait":
79485			if v != nil {
79486				var sourceRetryWait interface{}
79487				err = json.Unmarshal(*v, &sourceRetryWait)
79488				if err != nil {
79489					return err
79490				}
79491				gbqs.SourceRetryWait = sourceRetryWait
79492			}
79493		case "maxConcurrentConnections":
79494			if v != nil {
79495				var maxConcurrentConnections interface{}
79496				err = json.Unmarshal(*v, &maxConcurrentConnections)
79497				if err != nil {
79498					return err
79499				}
79500				gbqs.MaxConcurrentConnections = maxConcurrentConnections
79501			}
79502		case "type":
79503			if v != nil {
79504				var typeVar TypeBasicCopySource
79505				err = json.Unmarshal(*v, &typeVar)
79506				if err != nil {
79507					return err
79508				}
79509				gbqs.Type = typeVar
79510			}
79511		}
79512	}
79513
79514	return nil
79515}
79516
79517// GreenplumLinkedService greenplum Database linked service.
79518type GreenplumLinkedService struct {
79519	// GreenplumLinkedServiceTypeProperties - Greenplum Database linked service properties.
79520	*GreenplumLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
79521	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
79522	AdditionalProperties map[string]interface{} `json:""`
79523	// ConnectVia - The integration runtime reference.
79524	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
79525	// Description - Linked service description.
79526	Description *string `json:"description,omitempty"`
79527	// Parameters - Parameters for linked service.
79528	Parameters map[string]*ParameterSpecification `json:"parameters"`
79529	// Annotations - List of tags that can be used for describing the linked service.
79530	Annotations *[]interface{} `json:"annotations,omitempty"`
79531	// Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', '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', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage'
79532	Type TypeBasicLinkedService `json:"type,omitempty"`
79533}
79534
79535// MarshalJSON is the custom marshaler for GreenplumLinkedService.
79536func (gls GreenplumLinkedService) MarshalJSON() ([]byte, error) {
79537	gls.Type = TypeGreenplum
79538	objectMap := make(map[string]interface{})
79539	if gls.GreenplumLinkedServiceTypeProperties != nil {
79540		objectMap["typeProperties"] = gls.GreenplumLinkedServiceTypeProperties
79541	}
79542	if gls.ConnectVia != nil {
79543		objectMap["connectVia"] = gls.ConnectVia
79544	}
79545	if gls.Description != nil {
79546		objectMap["description"] = gls.Description
79547	}
79548	if gls.Parameters != nil {
79549		objectMap["parameters"] = gls.Parameters
79550	}
79551	if gls.Annotations != nil {
79552		objectMap["annotations"] = gls.Annotations
79553	}
79554	if gls.Type != "" {
79555		objectMap["type"] = gls.Type
79556	}
79557	for k, v := range gls.AdditionalProperties {
79558		objectMap[k] = v
79559	}
79560	return json.Marshal(objectMap)
79561}
79562
79563// AsAzureFunctionLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
79564func (gls GreenplumLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) {
79565	return nil, false
79566}
79567
79568// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
79569func (gls GreenplumLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) {
79570	return nil, false
79571}
79572
79573// AsSapTableLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
79574func (gls GreenplumLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) {
79575	return nil, false
79576}
79577
79578// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
79579func (gls GreenplumLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) {
79580	return nil, false
79581}
79582
79583// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
79584func (gls GreenplumLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) {
79585	return nil, false
79586}
79587
79588// AsDynamicsAXLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
79589func (gls GreenplumLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) {
79590	return nil, false
79591}
79592
79593// AsResponsysLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
79594func (gls GreenplumLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
79595	return nil, false
79596}
79597
79598// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
79599func (gls GreenplumLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
79600	return nil, false
79601}
79602
79603// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
79604func (gls GreenplumLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
79605	return nil, false
79606}
79607
79608// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
79609func (gls GreenplumLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
79610	return nil, false
79611}
79612
79613// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
79614func (gls GreenplumLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
79615	return nil, false
79616}
79617
79618// AsNetezzaLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
79619func (gls GreenplumLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
79620	return nil, false
79621}
79622
79623// AsVerticaLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
79624func (gls GreenplumLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
79625	return nil, false
79626}
79627
79628// AsZohoLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
79629func (gls GreenplumLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
79630	return nil, false
79631}
79632
79633// AsXeroLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
79634func (gls GreenplumLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
79635	return nil, false
79636}
79637
79638// AsSquareLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
79639func (gls GreenplumLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
79640	return nil, false
79641}
79642
79643// AsSparkLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
79644func (gls GreenplumLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
79645	return nil, false
79646}
79647
79648// AsShopifyLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
79649func (gls GreenplumLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
79650	return nil, false
79651}
79652
79653// AsServiceNowLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
79654func (gls GreenplumLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
79655	return nil, false
79656}
79657
79658// AsQuickBooksLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
79659func (gls GreenplumLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
79660	return nil, false
79661}
79662
79663// AsPrestoLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
79664func (gls GreenplumLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
79665	return nil, false
79666}
79667
79668// AsPhoenixLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
79669func (gls GreenplumLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
79670	return nil, false
79671}
79672
79673// AsPaypalLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
79674func (gls GreenplumLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
79675	return nil, false
79676}
79677
79678// AsMarketoLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
79679func (gls GreenplumLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
79680	return nil, false
79681}
79682
79683// AsMariaDBLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
79684func (gls GreenplumLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
79685	return nil, false
79686}
79687
79688// AsMagentoLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
79689func (gls GreenplumLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
79690	return nil, false
79691}
79692
79693// AsJiraLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
79694func (gls GreenplumLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
79695	return nil, false
79696}
79697
79698// AsImpalaLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
79699func (gls GreenplumLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
79700	return nil, false
79701}
79702
79703// AsHubspotLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
79704func (gls GreenplumLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
79705	return nil, false
79706}
79707
79708// AsHiveLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
79709func (gls GreenplumLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
79710	return nil, false
79711}
79712
79713// AsHBaseLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
79714func (gls GreenplumLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
79715	return nil, false
79716}
79717
79718// AsGreenplumLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
79719func (gls GreenplumLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
79720	return &gls, true
79721}
79722
79723// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
79724func (gls GreenplumLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
79725	return nil, false
79726}
79727
79728// AsEloquaLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
79729func (gls GreenplumLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
79730	return nil, false
79731}
79732
79733// AsDrillLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
79734func (gls GreenplumLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
79735	return nil, false
79736}
79737
79738// AsCouchbaseLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
79739func (gls GreenplumLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
79740	return nil, false
79741}
79742
79743// AsConcurLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
79744func (gls GreenplumLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
79745	return nil, false
79746}
79747
79748// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
79749func (gls GreenplumLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
79750	return nil, false
79751}
79752
79753// AsAmazonMWSLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
79754func (gls GreenplumLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
79755	return nil, false
79756}
79757
79758// AsSapHanaLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
79759func (gls GreenplumLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
79760	return nil, false
79761}
79762
79763// AsSapBWLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
79764func (gls GreenplumLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
79765	return nil, false
79766}
79767
79768// AsSftpServerLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
79769func (gls GreenplumLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
79770	return nil, false
79771}
79772
79773// AsFtpServerLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
79774func (gls GreenplumLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
79775	return nil, false
79776}
79777
79778// AsHTTPLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
79779func (gls GreenplumLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
79780	return nil, false
79781}
79782
79783// AsAzureSearchLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
79784func (gls GreenplumLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
79785	return nil, false
79786}
79787
79788// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
79789func (gls GreenplumLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
79790	return nil, false
79791}
79792
79793// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
79794func (gls GreenplumLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
79795	return nil, false
79796}
79797
79798// AsAmazonS3LinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
79799func (gls GreenplumLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
79800	return nil, false
79801}
79802
79803// AsRestServiceLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
79804func (gls GreenplumLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) {
79805	return nil, false
79806}
79807
79808// AsSapOpenHubLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
79809func (gls GreenplumLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) {
79810	return nil, false
79811}
79812
79813// AsSapEccLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
79814func (gls GreenplumLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
79815	return nil, false
79816}
79817
79818// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
79819func (gls GreenplumLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
79820	return nil, false
79821}
79822
79823// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
79824func (gls GreenplumLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) {
79825	return nil, false
79826}
79827
79828// AsSalesforceLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
79829func (gls GreenplumLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
79830	return nil, false
79831}
79832
79833// AsOffice365LinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
79834func (gls GreenplumLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) {
79835	return nil, false
79836}
79837
79838// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
79839func (gls GreenplumLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) {
79840	return nil, false
79841}
79842
79843// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
79844func (gls GreenplumLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
79845	return nil, false
79846}
79847
79848// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
79849func (gls GreenplumLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) {
79850	return nil, false
79851}
79852
79853// AsMongoDbV2LinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
79854func (gls GreenplumLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) {
79855	return nil, false
79856}
79857
79858// AsMongoDbLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
79859func (gls GreenplumLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
79860	return nil, false
79861}
79862
79863// AsCassandraLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
79864func (gls GreenplumLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
79865	return nil, false
79866}
79867
79868// AsWebLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
79869func (gls GreenplumLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
79870	return nil, false
79871}
79872
79873// AsODataLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
79874func (gls GreenplumLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
79875	return nil, false
79876}
79877
79878// AsHdfsLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
79879func (gls GreenplumLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
79880	return nil, false
79881}
79882
79883// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
79884func (gls GreenplumLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) {
79885	return nil, false
79886}
79887
79888// AsInformixLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
79889func (gls GreenplumLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) {
79890	return nil, false
79891}
79892
79893// AsOdbcLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
79894func (gls GreenplumLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
79895	return nil, false
79896}
79897
79898// AsAzureMLLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
79899func (gls GreenplumLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
79900	return nil, false
79901}
79902
79903// AsTeradataLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
79904func (gls GreenplumLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
79905	return nil, false
79906}
79907
79908// AsDb2LinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
79909func (gls GreenplumLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
79910	return nil, false
79911}
79912
79913// AsSybaseLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
79914func (gls GreenplumLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
79915	return nil, false
79916}
79917
79918// AsPostgreSQLLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
79919func (gls GreenplumLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
79920	return nil, false
79921}
79922
79923// AsMySQLLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
79924func (gls GreenplumLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
79925	return nil, false
79926}
79927
79928// AsAzureMySQLLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
79929func (gls GreenplumLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
79930	return nil, false
79931}
79932
79933// AsOracleLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
79934func (gls GreenplumLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
79935	return nil, false
79936}
79937
79938// AsFileServerLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
79939func (gls GreenplumLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
79940	return nil, false
79941}
79942
79943// AsHDInsightLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
79944func (gls GreenplumLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
79945	return nil, false
79946}
79947
79948// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
79949func (gls GreenplumLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) {
79950	return nil, false
79951}
79952
79953// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
79954func (gls GreenplumLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) {
79955	return nil, false
79956}
79957
79958// AsDynamicsLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
79959func (gls GreenplumLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
79960	return nil, false
79961}
79962
79963// AsCosmosDbLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
79964func (gls GreenplumLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
79965	return nil, false
79966}
79967
79968// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
79969func (gls GreenplumLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
79970	return nil, false
79971}
79972
79973// AsAzureBatchLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
79974func (gls GreenplumLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
79975	return nil, false
79976}
79977
79978// AsAzureSQLMILinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
79979func (gls GreenplumLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) {
79980	return nil, false
79981}
79982
79983// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
79984func (gls GreenplumLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
79985	return nil, false
79986}
79987
79988// AsSQLServerLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
79989func (gls GreenplumLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
79990	return nil, false
79991}
79992
79993// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
79994func (gls GreenplumLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
79995	return nil, false
79996}
79997
79998// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
79999func (gls GreenplumLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) {
80000	return nil, false
80001}
80002
80003// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
80004func (gls GreenplumLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) {
80005	return nil, false
80006}
80007
80008// AsAzureStorageLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
80009func (gls GreenplumLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
80010	return nil, false
80011}
80012
80013// AsLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
80014func (gls GreenplumLinkedService) AsLinkedService() (*LinkedService, bool) {
80015	return nil, false
80016}
80017
80018// AsBasicLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
80019func (gls GreenplumLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
80020	return &gls, true
80021}
80022
80023// UnmarshalJSON is the custom unmarshaler for GreenplumLinkedService struct.
80024func (gls *GreenplumLinkedService) UnmarshalJSON(body []byte) error {
80025	var m map[string]*json.RawMessage
80026	err := json.Unmarshal(body, &m)
80027	if err != nil {
80028		return err
80029	}
80030	for k, v := range m {
80031		switch k {
80032		case "typeProperties":
80033			if v != nil {
80034				var greenplumLinkedServiceTypeProperties GreenplumLinkedServiceTypeProperties
80035				err = json.Unmarshal(*v, &greenplumLinkedServiceTypeProperties)
80036				if err != nil {
80037					return err
80038				}
80039				gls.GreenplumLinkedServiceTypeProperties = &greenplumLinkedServiceTypeProperties
80040			}
80041		default:
80042			if v != nil {
80043				var additionalProperties interface{}
80044				err = json.Unmarshal(*v, &additionalProperties)
80045				if err != nil {
80046					return err
80047				}
80048				if gls.AdditionalProperties == nil {
80049					gls.AdditionalProperties = make(map[string]interface{})
80050				}
80051				gls.AdditionalProperties[k] = additionalProperties
80052			}
80053		case "connectVia":
80054			if v != nil {
80055				var connectVia IntegrationRuntimeReference
80056				err = json.Unmarshal(*v, &connectVia)
80057				if err != nil {
80058					return err
80059				}
80060				gls.ConnectVia = &connectVia
80061			}
80062		case "description":
80063			if v != nil {
80064				var description string
80065				err = json.Unmarshal(*v, &description)
80066				if err != nil {
80067					return err
80068				}
80069				gls.Description = &description
80070			}
80071		case "parameters":
80072			if v != nil {
80073				var parameters map[string]*ParameterSpecification
80074				err = json.Unmarshal(*v, &parameters)
80075				if err != nil {
80076					return err
80077				}
80078				gls.Parameters = parameters
80079			}
80080		case "annotations":
80081			if v != nil {
80082				var annotations []interface{}
80083				err = json.Unmarshal(*v, &annotations)
80084				if err != nil {
80085					return err
80086				}
80087				gls.Annotations = &annotations
80088			}
80089		case "type":
80090			if v != nil {
80091				var typeVar TypeBasicLinkedService
80092				err = json.Unmarshal(*v, &typeVar)
80093				if err != nil {
80094					return err
80095				}
80096				gls.Type = typeVar
80097			}
80098		}
80099	}
80100
80101	return nil
80102}
80103
80104// GreenplumLinkedServiceTypeProperties greenplum Database linked service properties.
80105type GreenplumLinkedServiceTypeProperties struct {
80106	// ConnectionString - An ODBC connection string. Type: string, SecureString or AzureKeyVaultSecretReference.
80107	ConnectionString interface{} `json:"connectionString,omitempty"`
80108	// Pwd - The Azure key vault secret reference of password in connection string.
80109	Pwd *AzureKeyVaultSecretReference `json:"pwd,omitempty"`
80110	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
80111	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
80112}
80113
80114// GreenplumSource a copy activity Greenplum Database source.
80115type GreenplumSource struct {
80116	// Query - A query to retrieve data from source. Type: string (or Expression with resultType string).
80117	Query interface{} `json:"query,omitempty"`
80118	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
80119	AdditionalProperties map[string]interface{} `json:""`
80120	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
80121	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
80122	// 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])).
80123	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
80124	// MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer).
80125	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
80126	// Type - Possible values include: 'TypeCopySource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', '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', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeCassandraSource', 'TypeWebSource', 'TypeTeradataSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeAzureMySQLSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeRestSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceServiceCloudSource', 'TypeSalesforceSource', 'TypeODataSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeMicrosoftAccessSource', 'TypeInformixSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAzureTableSource', 'TypeBinarySource', 'TypeDelimitedTextSource', 'TypeParquetSource'
80127	Type TypeBasicCopySource `json:"type,omitempty"`
80128}
80129
80130// MarshalJSON is the custom marshaler for GreenplumSource.
80131func (gs GreenplumSource) MarshalJSON() ([]byte, error) {
80132	gs.Type = TypeGreenplumSource
80133	objectMap := make(map[string]interface{})
80134	if gs.Query != nil {
80135		objectMap["query"] = gs.Query
80136	}
80137	if gs.SourceRetryCount != nil {
80138		objectMap["sourceRetryCount"] = gs.SourceRetryCount
80139	}
80140	if gs.SourceRetryWait != nil {
80141		objectMap["sourceRetryWait"] = gs.SourceRetryWait
80142	}
80143	if gs.MaxConcurrentConnections != nil {
80144		objectMap["maxConcurrentConnections"] = gs.MaxConcurrentConnections
80145	}
80146	if gs.Type != "" {
80147		objectMap["type"] = gs.Type
80148	}
80149	for k, v := range gs.AdditionalProperties {
80150		objectMap[k] = v
80151	}
80152	return json.Marshal(objectMap)
80153}
80154
80155// AsAmazonRedshiftSource is the BasicCopySource implementation for GreenplumSource.
80156func (gs GreenplumSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
80157	return nil, false
80158}
80159
80160// AsGoogleAdWordsSource is the BasicCopySource implementation for GreenplumSource.
80161func (gs GreenplumSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) {
80162	return nil, false
80163}
80164
80165// AsOracleServiceCloudSource is the BasicCopySource implementation for GreenplumSource.
80166func (gs GreenplumSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) {
80167	return nil, false
80168}
80169
80170// AsDynamicsAXSource is the BasicCopySource implementation for GreenplumSource.
80171func (gs GreenplumSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) {
80172	return nil, false
80173}
80174
80175// AsResponsysSource is the BasicCopySource implementation for GreenplumSource.
80176func (gs GreenplumSource) AsResponsysSource() (*ResponsysSource, bool) {
80177	return nil, false
80178}
80179
80180// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for GreenplumSource.
80181func (gs GreenplumSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
80182	return nil, false
80183}
80184
80185// AsVerticaSource is the BasicCopySource implementation for GreenplumSource.
80186func (gs GreenplumSource) AsVerticaSource() (*VerticaSource, bool) {
80187	return nil, false
80188}
80189
80190// AsNetezzaSource is the BasicCopySource implementation for GreenplumSource.
80191func (gs GreenplumSource) AsNetezzaSource() (*NetezzaSource, bool) {
80192	return nil, false
80193}
80194
80195// AsZohoSource is the BasicCopySource implementation for GreenplumSource.
80196func (gs GreenplumSource) AsZohoSource() (*ZohoSource, bool) {
80197	return nil, false
80198}
80199
80200// AsXeroSource is the BasicCopySource implementation for GreenplumSource.
80201func (gs GreenplumSource) AsXeroSource() (*XeroSource, bool) {
80202	return nil, false
80203}
80204
80205// AsSquareSource is the BasicCopySource implementation for GreenplumSource.
80206func (gs GreenplumSource) AsSquareSource() (*SquareSource, bool) {
80207	return nil, false
80208}
80209
80210// AsSparkSource is the BasicCopySource implementation for GreenplumSource.
80211func (gs GreenplumSource) AsSparkSource() (*SparkSource, bool) {
80212	return nil, false
80213}
80214
80215// AsShopifySource is the BasicCopySource implementation for GreenplumSource.
80216func (gs GreenplumSource) AsShopifySource() (*ShopifySource, bool) {
80217	return nil, false
80218}
80219
80220// AsServiceNowSource is the BasicCopySource implementation for GreenplumSource.
80221func (gs GreenplumSource) AsServiceNowSource() (*ServiceNowSource, bool) {
80222	return nil, false
80223}
80224
80225// AsQuickBooksSource is the BasicCopySource implementation for GreenplumSource.
80226func (gs GreenplumSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
80227	return nil, false
80228}
80229
80230// AsPrestoSource is the BasicCopySource implementation for GreenplumSource.
80231func (gs GreenplumSource) AsPrestoSource() (*PrestoSource, bool) {
80232	return nil, false
80233}
80234
80235// AsPhoenixSource is the BasicCopySource implementation for GreenplumSource.
80236func (gs GreenplumSource) AsPhoenixSource() (*PhoenixSource, bool) {
80237	return nil, false
80238}
80239
80240// AsPaypalSource is the BasicCopySource implementation for GreenplumSource.
80241func (gs GreenplumSource) AsPaypalSource() (*PaypalSource, bool) {
80242	return nil, false
80243}
80244
80245// AsMarketoSource is the BasicCopySource implementation for GreenplumSource.
80246func (gs GreenplumSource) AsMarketoSource() (*MarketoSource, bool) {
80247	return nil, false
80248}
80249
80250// AsMariaDBSource is the BasicCopySource implementation for GreenplumSource.
80251func (gs GreenplumSource) AsMariaDBSource() (*MariaDBSource, bool) {
80252	return nil, false
80253}
80254
80255// AsMagentoSource is the BasicCopySource implementation for GreenplumSource.
80256func (gs GreenplumSource) AsMagentoSource() (*MagentoSource, bool) {
80257	return nil, false
80258}
80259
80260// AsJiraSource is the BasicCopySource implementation for GreenplumSource.
80261func (gs GreenplumSource) AsJiraSource() (*JiraSource, bool) {
80262	return nil, false
80263}
80264
80265// AsImpalaSource is the BasicCopySource implementation for GreenplumSource.
80266func (gs GreenplumSource) AsImpalaSource() (*ImpalaSource, bool) {
80267	return nil, false
80268}
80269
80270// AsHubspotSource is the BasicCopySource implementation for GreenplumSource.
80271func (gs GreenplumSource) AsHubspotSource() (*HubspotSource, bool) {
80272	return nil, false
80273}
80274
80275// AsHiveSource is the BasicCopySource implementation for GreenplumSource.
80276func (gs GreenplumSource) AsHiveSource() (*HiveSource, bool) {
80277	return nil, false
80278}
80279
80280// AsHBaseSource is the BasicCopySource implementation for GreenplumSource.
80281func (gs GreenplumSource) AsHBaseSource() (*HBaseSource, bool) {
80282	return nil, false
80283}
80284
80285// AsGreenplumSource is the BasicCopySource implementation for GreenplumSource.
80286func (gs GreenplumSource) AsGreenplumSource() (*GreenplumSource, bool) {
80287	return &gs, true
80288}
80289
80290// AsGoogleBigQuerySource is the BasicCopySource implementation for GreenplumSource.
80291func (gs GreenplumSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
80292	return nil, false
80293}
80294
80295// AsEloquaSource is the BasicCopySource implementation for GreenplumSource.
80296func (gs GreenplumSource) AsEloquaSource() (*EloquaSource, bool) {
80297	return nil, false
80298}
80299
80300// AsDrillSource is the BasicCopySource implementation for GreenplumSource.
80301func (gs GreenplumSource) AsDrillSource() (*DrillSource, bool) {
80302	return nil, false
80303}
80304
80305// AsCouchbaseSource is the BasicCopySource implementation for GreenplumSource.
80306func (gs GreenplumSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
80307	return nil, false
80308}
80309
80310// AsConcurSource is the BasicCopySource implementation for GreenplumSource.
80311func (gs GreenplumSource) AsConcurSource() (*ConcurSource, bool) {
80312	return nil, false
80313}
80314
80315// AsAzurePostgreSQLSource is the BasicCopySource implementation for GreenplumSource.
80316func (gs GreenplumSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
80317	return nil, false
80318}
80319
80320// AsAmazonMWSSource is the BasicCopySource implementation for GreenplumSource.
80321func (gs GreenplumSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
80322	return nil, false
80323}
80324
80325// AsHTTPSource is the BasicCopySource implementation for GreenplumSource.
80326func (gs GreenplumSource) AsHTTPSource() (*HTTPSource, bool) {
80327	return nil, false
80328}
80329
80330// AsAzureBlobFSSource is the BasicCopySource implementation for GreenplumSource.
80331func (gs GreenplumSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) {
80332	return nil, false
80333}
80334
80335// AsAzureDataLakeStoreSource is the BasicCopySource implementation for GreenplumSource.
80336func (gs GreenplumSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
80337	return nil, false
80338}
80339
80340// AsOffice365Source is the BasicCopySource implementation for GreenplumSource.
80341func (gs GreenplumSource) AsOffice365Source() (*Office365Source, bool) {
80342	return nil, false
80343}
80344
80345// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for GreenplumSource.
80346func (gs GreenplumSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) {
80347	return nil, false
80348}
80349
80350// AsMongoDbV2Source is the BasicCopySource implementation for GreenplumSource.
80351func (gs GreenplumSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) {
80352	return nil, false
80353}
80354
80355// AsMongoDbSource is the BasicCopySource implementation for GreenplumSource.
80356func (gs GreenplumSource) AsMongoDbSource() (*MongoDbSource, bool) {
80357	return nil, false
80358}
80359
80360// AsCassandraSource is the BasicCopySource implementation for GreenplumSource.
80361func (gs GreenplumSource) AsCassandraSource() (*CassandraSource, bool) {
80362	return nil, false
80363}
80364
80365// AsWebSource is the BasicCopySource implementation for GreenplumSource.
80366func (gs GreenplumSource) AsWebSource() (*WebSource, bool) {
80367	return nil, false
80368}
80369
80370// AsTeradataSource is the BasicCopySource implementation for GreenplumSource.
80371func (gs GreenplumSource) AsTeradataSource() (*TeradataSource, bool) {
80372	return nil, false
80373}
80374
80375// AsOracleSource is the BasicCopySource implementation for GreenplumSource.
80376func (gs GreenplumSource) AsOracleSource() (*OracleSource, bool) {
80377	return nil, false
80378}
80379
80380// AsAzureDataExplorerSource is the BasicCopySource implementation for GreenplumSource.
80381func (gs GreenplumSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) {
80382	return nil, false
80383}
80384
80385// AsAzureMySQLSource is the BasicCopySource implementation for GreenplumSource.
80386func (gs GreenplumSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
80387	return nil, false
80388}
80389
80390// AsHdfsSource is the BasicCopySource implementation for GreenplumSource.
80391func (gs GreenplumSource) AsHdfsSource() (*HdfsSource, bool) {
80392	return nil, false
80393}
80394
80395// AsFileSystemSource is the BasicCopySource implementation for GreenplumSource.
80396func (gs GreenplumSource) AsFileSystemSource() (*FileSystemSource, bool) {
80397	return nil, false
80398}
80399
80400// AsSQLDWSource is the BasicCopySource implementation for GreenplumSource.
80401func (gs GreenplumSource) AsSQLDWSource() (*SQLDWSource, bool) {
80402	return nil, false
80403}
80404
80405// AsSQLMISource is the BasicCopySource implementation for GreenplumSource.
80406func (gs GreenplumSource) AsSQLMISource() (*SQLMISource, bool) {
80407	return nil, false
80408}
80409
80410// AsAzureSQLSource is the BasicCopySource implementation for GreenplumSource.
80411func (gs GreenplumSource) AsAzureSQLSource() (*AzureSQLSource, bool) {
80412	return nil, false
80413}
80414
80415// AsSQLServerSource is the BasicCopySource implementation for GreenplumSource.
80416func (gs GreenplumSource) AsSQLServerSource() (*SQLServerSource, bool) {
80417	return nil, false
80418}
80419
80420// AsSQLSource is the BasicCopySource implementation for GreenplumSource.
80421func (gs GreenplumSource) AsSQLSource() (*SQLSource, bool) {
80422	return nil, false
80423}
80424
80425// AsRestSource is the BasicCopySource implementation for GreenplumSource.
80426func (gs GreenplumSource) AsRestSource() (*RestSource, bool) {
80427	return nil, false
80428}
80429
80430// AsSapTableSource is the BasicCopySource implementation for GreenplumSource.
80431func (gs GreenplumSource) AsSapTableSource() (*SapTableSource, bool) {
80432	return nil, false
80433}
80434
80435// AsSapOpenHubSource is the BasicCopySource implementation for GreenplumSource.
80436func (gs GreenplumSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) {
80437	return nil, false
80438}
80439
80440// AsSapHanaSource is the BasicCopySource implementation for GreenplumSource.
80441func (gs GreenplumSource) AsSapHanaSource() (*SapHanaSource, bool) {
80442	return nil, false
80443}
80444
80445// AsSapEccSource is the BasicCopySource implementation for GreenplumSource.
80446func (gs GreenplumSource) AsSapEccSource() (*SapEccSource, bool) {
80447	return nil, false
80448}
80449
80450// AsSapCloudForCustomerSource is the BasicCopySource implementation for GreenplumSource.
80451func (gs GreenplumSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
80452	return nil, false
80453}
80454
80455// AsSalesforceServiceCloudSource is the BasicCopySource implementation for GreenplumSource.
80456func (gs GreenplumSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) {
80457	return nil, false
80458}
80459
80460// AsSalesforceSource is the BasicCopySource implementation for GreenplumSource.
80461func (gs GreenplumSource) AsSalesforceSource() (*SalesforceSource, bool) {
80462	return nil, false
80463}
80464
80465// AsODataSource is the BasicCopySource implementation for GreenplumSource.
80466func (gs GreenplumSource) AsODataSource() (*ODataSource, bool) {
80467	return nil, false
80468}
80469
80470// AsSybaseSource is the BasicCopySource implementation for GreenplumSource.
80471func (gs GreenplumSource) AsSybaseSource() (*SybaseSource, bool) {
80472	return nil, false
80473}
80474
80475// AsPostgreSQLSource is the BasicCopySource implementation for GreenplumSource.
80476func (gs GreenplumSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) {
80477	return nil, false
80478}
80479
80480// AsMySQLSource is the BasicCopySource implementation for GreenplumSource.
80481func (gs GreenplumSource) AsMySQLSource() (*MySQLSource, bool) {
80482	return nil, false
80483}
80484
80485// AsOdbcSource is the BasicCopySource implementation for GreenplumSource.
80486func (gs GreenplumSource) AsOdbcSource() (*OdbcSource, bool) {
80487	return nil, false
80488}
80489
80490// AsDb2Source is the BasicCopySource implementation for GreenplumSource.
80491func (gs GreenplumSource) AsDb2Source() (*Db2Source, bool) {
80492	return nil, false
80493}
80494
80495// AsMicrosoftAccessSource is the BasicCopySource implementation for GreenplumSource.
80496func (gs GreenplumSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) {
80497	return nil, false
80498}
80499
80500// AsInformixSource is the BasicCopySource implementation for GreenplumSource.
80501func (gs GreenplumSource) AsInformixSource() (*InformixSource, bool) {
80502	return nil, false
80503}
80504
80505// AsRelationalSource is the BasicCopySource implementation for GreenplumSource.
80506func (gs GreenplumSource) AsRelationalSource() (*RelationalSource, bool) {
80507	return nil, false
80508}
80509
80510// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for GreenplumSource.
80511func (gs GreenplumSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) {
80512	return nil, false
80513}
80514
80515// AsDynamicsCrmSource is the BasicCopySource implementation for GreenplumSource.
80516func (gs GreenplumSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) {
80517	return nil, false
80518}
80519
80520// AsDynamicsSource is the BasicCopySource implementation for GreenplumSource.
80521func (gs GreenplumSource) AsDynamicsSource() (*DynamicsSource, bool) {
80522	return nil, false
80523}
80524
80525// AsDocumentDbCollectionSource is the BasicCopySource implementation for GreenplumSource.
80526func (gs GreenplumSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
80527	return nil, false
80528}
80529
80530// AsBlobSource is the BasicCopySource implementation for GreenplumSource.
80531func (gs GreenplumSource) AsBlobSource() (*BlobSource, bool) {
80532	return nil, false
80533}
80534
80535// AsAzureTableSource is the BasicCopySource implementation for GreenplumSource.
80536func (gs GreenplumSource) AsAzureTableSource() (*AzureTableSource, bool) {
80537	return nil, false
80538}
80539
80540// AsBinarySource is the BasicCopySource implementation for GreenplumSource.
80541func (gs GreenplumSource) AsBinarySource() (*BinarySource, bool) {
80542	return nil, false
80543}
80544
80545// AsDelimitedTextSource is the BasicCopySource implementation for GreenplumSource.
80546func (gs GreenplumSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) {
80547	return nil, false
80548}
80549
80550// AsParquetSource is the BasicCopySource implementation for GreenplumSource.
80551func (gs GreenplumSource) AsParquetSource() (*ParquetSource, bool) {
80552	return nil, false
80553}
80554
80555// AsCopySource is the BasicCopySource implementation for GreenplumSource.
80556func (gs GreenplumSource) AsCopySource() (*CopySource, bool) {
80557	return nil, false
80558}
80559
80560// AsBasicCopySource is the BasicCopySource implementation for GreenplumSource.
80561func (gs GreenplumSource) AsBasicCopySource() (BasicCopySource, bool) {
80562	return &gs, true
80563}
80564
80565// UnmarshalJSON is the custom unmarshaler for GreenplumSource struct.
80566func (gs *GreenplumSource) UnmarshalJSON(body []byte) error {
80567	var m map[string]*json.RawMessage
80568	err := json.Unmarshal(body, &m)
80569	if err != nil {
80570		return err
80571	}
80572	for k, v := range m {
80573		switch k {
80574		case "query":
80575			if v != nil {
80576				var query interface{}
80577				err = json.Unmarshal(*v, &query)
80578				if err != nil {
80579					return err
80580				}
80581				gs.Query = query
80582			}
80583		default:
80584			if v != nil {
80585				var additionalProperties interface{}
80586				err = json.Unmarshal(*v, &additionalProperties)
80587				if err != nil {
80588					return err
80589				}
80590				if gs.AdditionalProperties == nil {
80591					gs.AdditionalProperties = make(map[string]interface{})
80592				}
80593				gs.AdditionalProperties[k] = additionalProperties
80594			}
80595		case "sourceRetryCount":
80596			if v != nil {
80597				var sourceRetryCount interface{}
80598				err = json.Unmarshal(*v, &sourceRetryCount)
80599				if err != nil {
80600					return err
80601				}
80602				gs.SourceRetryCount = sourceRetryCount
80603			}
80604		case "sourceRetryWait":
80605			if v != nil {
80606				var sourceRetryWait interface{}
80607				err = json.Unmarshal(*v, &sourceRetryWait)
80608				if err != nil {
80609					return err
80610				}
80611				gs.SourceRetryWait = sourceRetryWait
80612			}
80613		case "maxConcurrentConnections":
80614			if v != nil {
80615				var maxConcurrentConnections interface{}
80616				err = json.Unmarshal(*v, &maxConcurrentConnections)
80617				if err != nil {
80618					return err
80619				}
80620				gs.MaxConcurrentConnections = maxConcurrentConnections
80621			}
80622		case "type":
80623			if v != nil {
80624				var typeVar TypeBasicCopySource
80625				err = json.Unmarshal(*v, &typeVar)
80626				if err != nil {
80627					return err
80628				}
80629				gs.Type = typeVar
80630			}
80631		}
80632	}
80633
80634	return nil
80635}
80636
80637// GreenplumTableDataset greenplum Database dataset.
80638type GreenplumTableDataset struct {
80639	// GenericDatasetTypeProperties - Properties specific to this dataset type.
80640	*GenericDatasetTypeProperties `json:"typeProperties,omitempty"`
80641	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
80642	AdditionalProperties map[string]interface{} `json:""`
80643	// Description - Dataset description.
80644	Description *string `json:"description,omitempty"`
80645	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
80646	Structure interface{} `json:"structure,omitempty"`
80647	// Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement.
80648	Schema interface{} `json:"schema,omitempty"`
80649	// LinkedServiceName - Linked service reference.
80650	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
80651	// Parameters - Parameters for dataset.
80652	Parameters map[string]*ParameterSpecification `json:"parameters"`
80653	// Annotations - List of tags that can be used for describing the Dataset.
80654	Annotations *[]interface{} `json:"annotations,omitempty"`
80655	// Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level.
80656	Folder *DatasetFolder `json:"folder,omitempty"`
80657	// Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', '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', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeDelimitedText', 'TypeParquet', 'TypeAmazonS3Object'
80658	Type TypeBasicDataset `json:"type,omitempty"`
80659}
80660
80661// MarshalJSON is the custom marshaler for GreenplumTableDataset.
80662func (gtd GreenplumTableDataset) MarshalJSON() ([]byte, error) {
80663	gtd.Type = TypeGreenplumTable
80664	objectMap := make(map[string]interface{})
80665	if gtd.GenericDatasetTypeProperties != nil {
80666		objectMap["typeProperties"] = gtd.GenericDatasetTypeProperties
80667	}
80668	if gtd.Description != nil {
80669		objectMap["description"] = gtd.Description
80670	}
80671	if gtd.Structure != nil {
80672		objectMap["structure"] = gtd.Structure
80673	}
80674	if gtd.Schema != nil {
80675		objectMap["schema"] = gtd.Schema
80676	}
80677	if gtd.LinkedServiceName != nil {
80678		objectMap["linkedServiceName"] = gtd.LinkedServiceName
80679	}
80680	if gtd.Parameters != nil {
80681		objectMap["parameters"] = gtd.Parameters
80682	}
80683	if gtd.Annotations != nil {
80684		objectMap["annotations"] = gtd.Annotations
80685	}
80686	if gtd.Folder != nil {
80687		objectMap["folder"] = gtd.Folder
80688	}
80689	if gtd.Type != "" {
80690		objectMap["type"] = gtd.Type
80691	}
80692	for k, v := range gtd.AdditionalProperties {
80693		objectMap[k] = v
80694	}
80695	return json.Marshal(objectMap)
80696}
80697
80698// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for GreenplumTableDataset.
80699func (gtd GreenplumTableDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) {
80700	return nil, false
80701}
80702
80703// AsAzureDataExplorerTableDataset is the BasicDataset implementation for GreenplumTableDataset.
80704func (gtd GreenplumTableDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) {
80705	return nil, false
80706}
80707
80708// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for GreenplumTableDataset.
80709func (gtd GreenplumTableDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) {
80710	return nil, false
80711}
80712
80713// AsDynamicsAXResourceDataset is the BasicDataset implementation for GreenplumTableDataset.
80714func (gtd GreenplumTableDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) {
80715	return nil, false
80716}
80717
80718// AsResponsysObjectDataset is the BasicDataset implementation for GreenplumTableDataset.
80719func (gtd GreenplumTableDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
80720	return nil, false
80721}
80722
80723// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for GreenplumTableDataset.
80724func (gtd GreenplumTableDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
80725	return nil, false
80726}
80727
80728// AsVerticaTableDataset is the BasicDataset implementation for GreenplumTableDataset.
80729func (gtd GreenplumTableDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
80730	return nil, false
80731}
80732
80733// AsNetezzaTableDataset is the BasicDataset implementation for GreenplumTableDataset.
80734func (gtd GreenplumTableDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
80735	return nil, false
80736}
80737
80738// AsZohoObjectDataset is the BasicDataset implementation for GreenplumTableDataset.
80739func (gtd GreenplumTableDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
80740	return nil, false
80741}
80742
80743// AsXeroObjectDataset is the BasicDataset implementation for GreenplumTableDataset.
80744func (gtd GreenplumTableDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
80745	return nil, false
80746}
80747
80748// AsSquareObjectDataset is the BasicDataset implementation for GreenplumTableDataset.
80749func (gtd GreenplumTableDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
80750	return nil, false
80751}
80752
80753// AsSparkObjectDataset is the BasicDataset implementation for GreenplumTableDataset.
80754func (gtd GreenplumTableDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
80755	return nil, false
80756}
80757
80758// AsShopifyObjectDataset is the BasicDataset implementation for GreenplumTableDataset.
80759func (gtd GreenplumTableDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
80760	return nil, false
80761}
80762
80763// AsServiceNowObjectDataset is the BasicDataset implementation for GreenplumTableDataset.
80764func (gtd GreenplumTableDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
80765	return nil, false
80766}
80767
80768// AsQuickBooksObjectDataset is the BasicDataset implementation for GreenplumTableDataset.
80769func (gtd GreenplumTableDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
80770	return nil, false
80771}
80772
80773// AsPrestoObjectDataset is the BasicDataset implementation for GreenplumTableDataset.
80774func (gtd GreenplumTableDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
80775	return nil, false
80776}
80777
80778// AsPhoenixObjectDataset is the BasicDataset implementation for GreenplumTableDataset.
80779func (gtd GreenplumTableDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
80780	return nil, false
80781}
80782
80783// AsPaypalObjectDataset is the BasicDataset implementation for GreenplumTableDataset.
80784func (gtd GreenplumTableDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
80785	return nil, false
80786}
80787
80788// AsMarketoObjectDataset is the BasicDataset implementation for GreenplumTableDataset.
80789func (gtd GreenplumTableDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
80790	return nil, false
80791}
80792
80793// AsMariaDBTableDataset is the BasicDataset implementation for GreenplumTableDataset.
80794func (gtd GreenplumTableDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
80795	return nil, false
80796}
80797
80798// AsMagentoObjectDataset is the BasicDataset implementation for GreenplumTableDataset.
80799func (gtd GreenplumTableDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
80800	return nil, false
80801}
80802
80803// AsJiraObjectDataset is the BasicDataset implementation for GreenplumTableDataset.
80804func (gtd GreenplumTableDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
80805	return nil, false
80806}
80807
80808// AsImpalaObjectDataset is the BasicDataset implementation for GreenplumTableDataset.
80809func (gtd GreenplumTableDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
80810	return nil, false
80811}
80812
80813// AsHubspotObjectDataset is the BasicDataset implementation for GreenplumTableDataset.
80814func (gtd GreenplumTableDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
80815	return nil, false
80816}
80817
80818// AsHiveObjectDataset is the BasicDataset implementation for GreenplumTableDataset.
80819func (gtd GreenplumTableDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
80820	return nil, false
80821}
80822
80823// AsHBaseObjectDataset is the BasicDataset implementation for GreenplumTableDataset.
80824func (gtd GreenplumTableDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
80825	return nil, false
80826}
80827
80828// AsGreenplumTableDataset is the BasicDataset implementation for GreenplumTableDataset.
80829func (gtd GreenplumTableDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
80830	return &gtd, true
80831}
80832
80833// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for GreenplumTableDataset.
80834func (gtd GreenplumTableDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
80835	return nil, false
80836}
80837
80838// AsEloquaObjectDataset is the BasicDataset implementation for GreenplumTableDataset.
80839func (gtd GreenplumTableDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
80840	return nil, false
80841}
80842
80843// AsDrillTableDataset is the BasicDataset implementation for GreenplumTableDataset.
80844func (gtd GreenplumTableDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
80845	return nil, false
80846}
80847
80848// AsCouchbaseTableDataset is the BasicDataset implementation for GreenplumTableDataset.
80849func (gtd GreenplumTableDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
80850	return nil, false
80851}
80852
80853// AsConcurObjectDataset is the BasicDataset implementation for GreenplumTableDataset.
80854func (gtd GreenplumTableDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
80855	return nil, false
80856}
80857
80858// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for GreenplumTableDataset.
80859func (gtd GreenplumTableDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
80860	return nil, false
80861}
80862
80863// AsAmazonMWSObjectDataset is the BasicDataset implementation for GreenplumTableDataset.
80864func (gtd GreenplumTableDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
80865	return nil, false
80866}
80867
80868// AsHTTPDataset is the BasicDataset implementation for GreenplumTableDataset.
80869func (gtd GreenplumTableDataset) AsHTTPDataset() (*HTTPDataset, bool) {
80870	return nil, false
80871}
80872
80873// AsAzureSearchIndexDataset is the BasicDataset implementation for GreenplumTableDataset.
80874func (gtd GreenplumTableDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
80875	return nil, false
80876}
80877
80878// AsWebTableDataset is the BasicDataset implementation for GreenplumTableDataset.
80879func (gtd GreenplumTableDataset) AsWebTableDataset() (*WebTableDataset, bool) {
80880	return nil, false
80881}
80882
80883// AsSapTableResourceDataset is the BasicDataset implementation for GreenplumTableDataset.
80884func (gtd GreenplumTableDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) {
80885	return nil, false
80886}
80887
80888// AsRestResourceDataset is the BasicDataset implementation for GreenplumTableDataset.
80889func (gtd GreenplumTableDataset) AsRestResourceDataset() (*RestResourceDataset, bool) {
80890	return nil, false
80891}
80892
80893// AsSQLServerTableDataset is the BasicDataset implementation for GreenplumTableDataset.
80894func (gtd GreenplumTableDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
80895	return nil, false
80896}
80897
80898// AsSapOpenHubTableDataset is the BasicDataset implementation for GreenplumTableDataset.
80899func (gtd GreenplumTableDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) {
80900	return nil, false
80901}
80902
80903// AsSapHanaTableDataset is the BasicDataset implementation for GreenplumTableDataset.
80904func (gtd GreenplumTableDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) {
80905	return nil, false
80906}
80907
80908// AsSapEccResourceDataset is the BasicDataset implementation for GreenplumTableDataset.
80909func (gtd GreenplumTableDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
80910	return nil, false
80911}
80912
80913// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for GreenplumTableDataset.
80914func (gtd GreenplumTableDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
80915	return nil, false
80916}
80917
80918// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for GreenplumTableDataset.
80919func (gtd GreenplumTableDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) {
80920	return nil, false
80921}
80922
80923// AsSalesforceObjectDataset is the BasicDataset implementation for GreenplumTableDataset.
80924func (gtd GreenplumTableDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
80925	return nil, false
80926}
80927
80928// AsMicrosoftAccessTableDataset is the BasicDataset implementation for GreenplumTableDataset.
80929func (gtd GreenplumTableDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) {
80930	return nil, false
80931}
80932
80933// AsPostgreSQLTableDataset is the BasicDataset implementation for GreenplumTableDataset.
80934func (gtd GreenplumTableDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) {
80935	return nil, false
80936}
80937
80938// AsMySQLTableDataset is the BasicDataset implementation for GreenplumTableDataset.
80939func (gtd GreenplumTableDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) {
80940	return nil, false
80941}
80942
80943// AsOdbcTableDataset is the BasicDataset implementation for GreenplumTableDataset.
80944func (gtd GreenplumTableDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) {
80945	return nil, false
80946}
80947
80948// AsInformixTableDataset is the BasicDataset implementation for GreenplumTableDataset.
80949func (gtd GreenplumTableDataset) AsInformixTableDataset() (*InformixTableDataset, bool) {
80950	return nil, false
80951}
80952
80953// AsRelationalTableDataset is the BasicDataset implementation for GreenplumTableDataset.
80954func (gtd GreenplumTableDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
80955	return nil, false
80956}
80957
80958// AsAzureMySQLTableDataset is the BasicDataset implementation for GreenplumTableDataset.
80959func (gtd GreenplumTableDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
80960	return nil, false
80961}
80962
80963// AsTeradataTableDataset is the BasicDataset implementation for GreenplumTableDataset.
80964func (gtd GreenplumTableDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) {
80965	return nil, false
80966}
80967
80968// AsOracleTableDataset is the BasicDataset implementation for GreenplumTableDataset.
80969func (gtd GreenplumTableDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
80970	return nil, false
80971}
80972
80973// AsODataResourceDataset is the BasicDataset implementation for GreenplumTableDataset.
80974func (gtd GreenplumTableDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
80975	return nil, false
80976}
80977
80978// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for GreenplumTableDataset.
80979func (gtd GreenplumTableDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) {
80980	return nil, false
80981}
80982
80983// AsMongoDbV2CollectionDataset is the BasicDataset implementation for GreenplumTableDataset.
80984func (gtd GreenplumTableDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) {
80985	return nil, false
80986}
80987
80988// AsMongoDbCollectionDataset is the BasicDataset implementation for GreenplumTableDataset.
80989func (gtd GreenplumTableDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
80990	return nil, false
80991}
80992
80993// AsFileShareDataset is the BasicDataset implementation for GreenplumTableDataset.
80994func (gtd GreenplumTableDataset) AsFileShareDataset() (*FileShareDataset, bool) {
80995	return nil, false
80996}
80997
80998// AsOffice365Dataset is the BasicDataset implementation for GreenplumTableDataset.
80999func (gtd GreenplumTableDataset) AsOffice365Dataset() (*Office365Dataset, bool) {
81000	return nil, false
81001}
81002
81003// AsAzureBlobFSDataset is the BasicDataset implementation for GreenplumTableDataset.
81004func (gtd GreenplumTableDataset) AsAzureBlobFSDataset() (*AzureBlobFSDataset, bool) {
81005	return nil, false
81006}
81007
81008// AsAzureDataLakeStoreDataset is the BasicDataset implementation for GreenplumTableDataset.
81009func (gtd GreenplumTableDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) {
81010	return nil, false
81011}
81012
81013// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for GreenplumTableDataset.
81014func (gtd GreenplumTableDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) {
81015	return nil, false
81016}
81017
81018// AsDynamicsCrmEntityDataset is the BasicDataset implementation for GreenplumTableDataset.
81019func (gtd GreenplumTableDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) {
81020	return nil, false
81021}
81022
81023// AsDynamicsEntityDataset is the BasicDataset implementation for GreenplumTableDataset.
81024func (gtd GreenplumTableDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
81025	return nil, false
81026}
81027
81028// AsDocumentDbCollectionDataset is the BasicDataset implementation for GreenplumTableDataset.
81029func (gtd GreenplumTableDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
81030	return nil, false
81031}
81032
81033// AsCustomDataset is the BasicDataset implementation for GreenplumTableDataset.
81034func (gtd GreenplumTableDataset) AsCustomDataset() (*CustomDataset, bool) {
81035	return nil, false
81036}
81037
81038// AsCassandraTableDataset is the BasicDataset implementation for GreenplumTableDataset.
81039func (gtd GreenplumTableDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
81040	return nil, false
81041}
81042
81043// AsAzureSQLDWTableDataset is the BasicDataset implementation for GreenplumTableDataset.
81044func (gtd GreenplumTableDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
81045	return nil, false
81046}
81047
81048// AsAzureSQLMITableDataset is the BasicDataset implementation for GreenplumTableDataset.
81049func (gtd GreenplumTableDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) {
81050	return nil, false
81051}
81052
81053// AsAzureSQLTableDataset is the BasicDataset implementation for GreenplumTableDataset.
81054func (gtd GreenplumTableDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
81055	return nil, false
81056}
81057
81058// AsAzureTableDataset is the BasicDataset implementation for GreenplumTableDataset.
81059func (gtd GreenplumTableDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
81060	return nil, false
81061}
81062
81063// AsAzureBlobDataset is the BasicDataset implementation for GreenplumTableDataset.
81064func (gtd GreenplumTableDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) {
81065	return nil, false
81066}
81067
81068// AsBinaryDataset is the BasicDataset implementation for GreenplumTableDataset.
81069func (gtd GreenplumTableDataset) AsBinaryDataset() (*BinaryDataset, bool) {
81070	return nil, false
81071}
81072
81073// AsDelimitedTextDataset is the BasicDataset implementation for GreenplumTableDataset.
81074func (gtd GreenplumTableDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) {
81075	return nil, false
81076}
81077
81078// AsParquetDataset is the BasicDataset implementation for GreenplumTableDataset.
81079func (gtd GreenplumTableDataset) AsParquetDataset() (*ParquetDataset, bool) {
81080	return nil, false
81081}
81082
81083// AsAmazonS3Dataset is the BasicDataset implementation for GreenplumTableDataset.
81084func (gtd GreenplumTableDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) {
81085	return nil, false
81086}
81087
81088// AsDataset is the BasicDataset implementation for GreenplumTableDataset.
81089func (gtd GreenplumTableDataset) AsDataset() (*Dataset, bool) {
81090	return nil, false
81091}
81092
81093// AsBasicDataset is the BasicDataset implementation for GreenplumTableDataset.
81094func (gtd GreenplumTableDataset) AsBasicDataset() (BasicDataset, bool) {
81095	return &gtd, true
81096}
81097
81098// UnmarshalJSON is the custom unmarshaler for GreenplumTableDataset struct.
81099func (gtd *GreenplumTableDataset) UnmarshalJSON(body []byte) error {
81100	var m map[string]*json.RawMessage
81101	err := json.Unmarshal(body, &m)
81102	if err != nil {
81103		return err
81104	}
81105	for k, v := range m {
81106		switch k {
81107		case "typeProperties":
81108			if v != nil {
81109				var genericDatasetTypeProperties GenericDatasetTypeProperties
81110				err = json.Unmarshal(*v, &genericDatasetTypeProperties)
81111				if err != nil {
81112					return err
81113				}
81114				gtd.GenericDatasetTypeProperties = &genericDatasetTypeProperties
81115			}
81116		default:
81117			if v != nil {
81118				var additionalProperties interface{}
81119				err = json.Unmarshal(*v, &additionalProperties)
81120				if err != nil {
81121					return err
81122				}
81123				if gtd.AdditionalProperties == nil {
81124					gtd.AdditionalProperties = make(map[string]interface{})
81125				}
81126				gtd.AdditionalProperties[k] = additionalProperties
81127			}
81128		case "description":
81129			if v != nil {
81130				var description string
81131				err = json.Unmarshal(*v, &description)
81132				if err != nil {
81133					return err
81134				}
81135				gtd.Description = &description
81136			}
81137		case "structure":
81138			if v != nil {
81139				var structure interface{}
81140				err = json.Unmarshal(*v, &structure)
81141				if err != nil {
81142					return err
81143				}
81144				gtd.Structure = structure
81145			}
81146		case "schema":
81147			if v != nil {
81148				var schema interface{}
81149				err = json.Unmarshal(*v, &schema)
81150				if err != nil {
81151					return err
81152				}
81153				gtd.Schema = schema
81154			}
81155		case "linkedServiceName":
81156			if v != nil {
81157				var linkedServiceName LinkedServiceReference
81158				err = json.Unmarshal(*v, &linkedServiceName)
81159				if err != nil {
81160					return err
81161				}
81162				gtd.LinkedServiceName = &linkedServiceName
81163			}
81164		case "parameters":
81165			if v != nil {
81166				var parameters map[string]*ParameterSpecification
81167				err = json.Unmarshal(*v, &parameters)
81168				if err != nil {
81169					return err
81170				}
81171				gtd.Parameters = parameters
81172			}
81173		case "annotations":
81174			if v != nil {
81175				var annotations []interface{}
81176				err = json.Unmarshal(*v, &annotations)
81177				if err != nil {
81178					return err
81179				}
81180				gtd.Annotations = &annotations
81181			}
81182		case "folder":
81183			if v != nil {
81184				var folder DatasetFolder
81185				err = json.Unmarshal(*v, &folder)
81186				if err != nil {
81187					return err
81188				}
81189				gtd.Folder = &folder
81190			}
81191		case "type":
81192			if v != nil {
81193				var typeVar TypeBasicDataset
81194				err = json.Unmarshal(*v, &typeVar)
81195				if err != nil {
81196					return err
81197				}
81198				gtd.Type = typeVar
81199			}
81200		}
81201	}
81202
81203	return nil
81204}
81205
81206// HBaseLinkedService hBase server linked service.
81207type HBaseLinkedService struct {
81208	// HBaseLinkedServiceTypeProperties - HBase server linked service properties.
81209	*HBaseLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
81210	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
81211	AdditionalProperties map[string]interface{} `json:""`
81212	// ConnectVia - The integration runtime reference.
81213	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
81214	// Description - Linked service description.
81215	Description *string `json:"description,omitempty"`
81216	// Parameters - Parameters for linked service.
81217	Parameters map[string]*ParameterSpecification `json:"parameters"`
81218	// Annotations - List of tags that can be used for describing the linked service.
81219	Annotations *[]interface{} `json:"annotations,omitempty"`
81220	// Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', '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', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage'
81221	Type TypeBasicLinkedService `json:"type,omitempty"`
81222}
81223
81224// MarshalJSON is the custom marshaler for HBaseLinkedService.
81225func (hbls HBaseLinkedService) MarshalJSON() ([]byte, error) {
81226	hbls.Type = TypeHBase
81227	objectMap := make(map[string]interface{})
81228	if hbls.HBaseLinkedServiceTypeProperties != nil {
81229		objectMap["typeProperties"] = hbls.HBaseLinkedServiceTypeProperties
81230	}
81231	if hbls.ConnectVia != nil {
81232		objectMap["connectVia"] = hbls.ConnectVia
81233	}
81234	if hbls.Description != nil {
81235		objectMap["description"] = hbls.Description
81236	}
81237	if hbls.Parameters != nil {
81238		objectMap["parameters"] = hbls.Parameters
81239	}
81240	if hbls.Annotations != nil {
81241		objectMap["annotations"] = hbls.Annotations
81242	}
81243	if hbls.Type != "" {
81244		objectMap["type"] = hbls.Type
81245	}
81246	for k, v := range hbls.AdditionalProperties {
81247		objectMap[k] = v
81248	}
81249	return json.Marshal(objectMap)
81250}
81251
81252// AsAzureFunctionLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
81253func (hbls HBaseLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) {
81254	return nil, false
81255}
81256
81257// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
81258func (hbls HBaseLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) {
81259	return nil, false
81260}
81261
81262// AsSapTableLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
81263func (hbls HBaseLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) {
81264	return nil, false
81265}
81266
81267// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
81268func (hbls HBaseLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) {
81269	return nil, false
81270}
81271
81272// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
81273func (hbls HBaseLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) {
81274	return nil, false
81275}
81276
81277// AsDynamicsAXLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
81278func (hbls HBaseLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) {
81279	return nil, false
81280}
81281
81282// AsResponsysLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
81283func (hbls HBaseLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
81284	return nil, false
81285}
81286
81287// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
81288func (hbls HBaseLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
81289	return nil, false
81290}
81291
81292// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
81293func (hbls HBaseLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
81294	return nil, false
81295}
81296
81297// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
81298func (hbls HBaseLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
81299	return nil, false
81300}
81301
81302// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
81303func (hbls HBaseLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
81304	return nil, false
81305}
81306
81307// AsNetezzaLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
81308func (hbls HBaseLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
81309	return nil, false
81310}
81311
81312// AsVerticaLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
81313func (hbls HBaseLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
81314	return nil, false
81315}
81316
81317// AsZohoLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
81318func (hbls HBaseLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
81319	return nil, false
81320}
81321
81322// AsXeroLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
81323func (hbls HBaseLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
81324	return nil, false
81325}
81326
81327// AsSquareLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
81328func (hbls HBaseLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
81329	return nil, false
81330}
81331
81332// AsSparkLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
81333func (hbls HBaseLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
81334	return nil, false
81335}
81336
81337// AsShopifyLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
81338func (hbls HBaseLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
81339	return nil, false
81340}
81341
81342// AsServiceNowLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
81343func (hbls HBaseLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
81344	return nil, false
81345}
81346
81347// AsQuickBooksLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
81348func (hbls HBaseLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
81349	return nil, false
81350}
81351
81352// AsPrestoLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
81353func (hbls HBaseLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
81354	return nil, false
81355}
81356
81357// AsPhoenixLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
81358func (hbls HBaseLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
81359	return nil, false
81360}
81361
81362// AsPaypalLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
81363func (hbls HBaseLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
81364	return nil, false
81365}
81366
81367// AsMarketoLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
81368func (hbls HBaseLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
81369	return nil, false
81370}
81371
81372// AsMariaDBLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
81373func (hbls HBaseLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
81374	return nil, false
81375}
81376
81377// AsMagentoLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
81378func (hbls HBaseLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
81379	return nil, false
81380}
81381
81382// AsJiraLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
81383func (hbls HBaseLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
81384	return nil, false
81385}
81386
81387// AsImpalaLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
81388func (hbls HBaseLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
81389	return nil, false
81390}
81391
81392// AsHubspotLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
81393func (hbls HBaseLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
81394	return nil, false
81395}
81396
81397// AsHiveLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
81398func (hbls HBaseLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
81399	return nil, false
81400}
81401
81402// AsHBaseLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
81403func (hbls HBaseLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
81404	return &hbls, true
81405}
81406
81407// AsGreenplumLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
81408func (hbls HBaseLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
81409	return nil, false
81410}
81411
81412// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
81413func (hbls HBaseLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
81414	return nil, false
81415}
81416
81417// AsEloquaLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
81418func (hbls HBaseLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
81419	return nil, false
81420}
81421
81422// AsDrillLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
81423func (hbls HBaseLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
81424	return nil, false
81425}
81426
81427// AsCouchbaseLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
81428func (hbls HBaseLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
81429	return nil, false
81430}
81431
81432// AsConcurLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
81433func (hbls HBaseLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
81434	return nil, false
81435}
81436
81437// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
81438func (hbls HBaseLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
81439	return nil, false
81440}
81441
81442// AsAmazonMWSLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
81443func (hbls HBaseLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
81444	return nil, false
81445}
81446
81447// AsSapHanaLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
81448func (hbls HBaseLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
81449	return nil, false
81450}
81451
81452// AsSapBWLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
81453func (hbls HBaseLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
81454	return nil, false
81455}
81456
81457// AsSftpServerLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
81458func (hbls HBaseLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
81459	return nil, false
81460}
81461
81462// AsFtpServerLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
81463func (hbls HBaseLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
81464	return nil, false
81465}
81466
81467// AsHTTPLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
81468func (hbls HBaseLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
81469	return nil, false
81470}
81471
81472// AsAzureSearchLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
81473func (hbls HBaseLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
81474	return nil, false
81475}
81476
81477// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
81478func (hbls HBaseLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
81479	return nil, false
81480}
81481
81482// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
81483func (hbls HBaseLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
81484	return nil, false
81485}
81486
81487// AsAmazonS3LinkedService is the BasicLinkedService implementation for HBaseLinkedService.
81488func (hbls HBaseLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
81489	return nil, false
81490}
81491
81492// AsRestServiceLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
81493func (hbls HBaseLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) {
81494	return nil, false
81495}
81496
81497// AsSapOpenHubLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
81498func (hbls HBaseLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) {
81499	return nil, false
81500}
81501
81502// AsSapEccLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
81503func (hbls HBaseLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
81504	return nil, false
81505}
81506
81507// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
81508func (hbls HBaseLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
81509	return nil, false
81510}
81511
81512// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
81513func (hbls HBaseLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) {
81514	return nil, false
81515}
81516
81517// AsSalesforceLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
81518func (hbls HBaseLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
81519	return nil, false
81520}
81521
81522// AsOffice365LinkedService is the BasicLinkedService implementation for HBaseLinkedService.
81523func (hbls HBaseLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) {
81524	return nil, false
81525}
81526
81527// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
81528func (hbls HBaseLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) {
81529	return nil, false
81530}
81531
81532// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
81533func (hbls HBaseLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
81534	return nil, false
81535}
81536
81537// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for HBaseLinkedService.
81538func (hbls HBaseLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) {
81539	return nil, false
81540}
81541
81542// AsMongoDbV2LinkedService is the BasicLinkedService implementation for HBaseLinkedService.
81543func (hbls HBaseLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) {
81544	return nil, false
81545}
81546
81547// AsMongoDbLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
81548func (hbls HBaseLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
81549	return nil, false
81550}
81551
81552// AsCassandraLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
81553func (hbls HBaseLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
81554	return nil, false
81555}
81556
81557// AsWebLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
81558func (hbls HBaseLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
81559	return nil, false
81560}
81561
81562// AsODataLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
81563func (hbls HBaseLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
81564	return nil, false
81565}
81566
81567// AsHdfsLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
81568func (hbls HBaseLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
81569	return nil, false
81570}
81571
81572// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
81573func (hbls HBaseLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) {
81574	return nil, false
81575}
81576
81577// AsInformixLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
81578func (hbls HBaseLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) {
81579	return nil, false
81580}
81581
81582// AsOdbcLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
81583func (hbls HBaseLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
81584	return nil, false
81585}
81586
81587// AsAzureMLLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
81588func (hbls HBaseLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
81589	return nil, false
81590}
81591
81592// AsTeradataLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
81593func (hbls HBaseLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
81594	return nil, false
81595}
81596
81597// AsDb2LinkedService is the BasicLinkedService implementation for HBaseLinkedService.
81598func (hbls HBaseLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
81599	return nil, false
81600}
81601
81602// AsSybaseLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
81603func (hbls HBaseLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
81604	return nil, false
81605}
81606
81607// AsPostgreSQLLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
81608func (hbls HBaseLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
81609	return nil, false
81610}
81611
81612// AsMySQLLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
81613func (hbls HBaseLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
81614	return nil, false
81615}
81616
81617// AsAzureMySQLLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
81618func (hbls HBaseLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
81619	return nil, false
81620}
81621
81622// AsOracleLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
81623func (hbls HBaseLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
81624	return nil, false
81625}
81626
81627// AsFileServerLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
81628func (hbls HBaseLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
81629	return nil, false
81630}
81631
81632// AsHDInsightLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
81633func (hbls HBaseLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
81634	return nil, false
81635}
81636
81637// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
81638func (hbls HBaseLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) {
81639	return nil, false
81640}
81641
81642// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
81643func (hbls HBaseLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) {
81644	return nil, false
81645}
81646
81647// AsDynamicsLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
81648func (hbls HBaseLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
81649	return nil, false
81650}
81651
81652// AsCosmosDbLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
81653func (hbls HBaseLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
81654	return nil, false
81655}
81656
81657// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
81658func (hbls HBaseLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
81659	return nil, false
81660}
81661
81662// AsAzureBatchLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
81663func (hbls HBaseLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
81664	return nil, false
81665}
81666
81667// AsAzureSQLMILinkedService is the BasicLinkedService implementation for HBaseLinkedService.
81668func (hbls HBaseLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) {
81669	return nil, false
81670}
81671
81672// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
81673func (hbls HBaseLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
81674	return nil, false
81675}
81676
81677// AsSQLServerLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
81678func (hbls HBaseLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
81679	return nil, false
81680}
81681
81682// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
81683func (hbls HBaseLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
81684	return nil, false
81685}
81686
81687// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
81688func (hbls HBaseLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) {
81689	return nil, false
81690}
81691
81692// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
81693func (hbls HBaseLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) {
81694	return nil, false
81695}
81696
81697// AsAzureStorageLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
81698func (hbls HBaseLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
81699	return nil, false
81700}
81701
81702// AsLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
81703func (hbls HBaseLinkedService) AsLinkedService() (*LinkedService, bool) {
81704	return nil, false
81705}
81706
81707// AsBasicLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
81708func (hbls HBaseLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
81709	return &hbls, true
81710}
81711
81712// UnmarshalJSON is the custom unmarshaler for HBaseLinkedService struct.
81713func (hbls *HBaseLinkedService) UnmarshalJSON(body []byte) error {
81714	var m map[string]*json.RawMessage
81715	err := json.Unmarshal(body, &m)
81716	if err != nil {
81717		return err
81718	}
81719	for k, v := range m {
81720		switch k {
81721		case "typeProperties":
81722			if v != nil {
81723				var hBaseLinkedServiceTypeProperties HBaseLinkedServiceTypeProperties
81724				err = json.Unmarshal(*v, &hBaseLinkedServiceTypeProperties)
81725				if err != nil {
81726					return err
81727				}
81728				hbls.HBaseLinkedServiceTypeProperties = &hBaseLinkedServiceTypeProperties
81729			}
81730		default:
81731			if v != nil {
81732				var additionalProperties interface{}
81733				err = json.Unmarshal(*v, &additionalProperties)
81734				if err != nil {
81735					return err
81736				}
81737				if hbls.AdditionalProperties == nil {
81738					hbls.AdditionalProperties = make(map[string]interface{})
81739				}
81740				hbls.AdditionalProperties[k] = additionalProperties
81741			}
81742		case "connectVia":
81743			if v != nil {
81744				var connectVia IntegrationRuntimeReference
81745				err = json.Unmarshal(*v, &connectVia)
81746				if err != nil {
81747					return err
81748				}
81749				hbls.ConnectVia = &connectVia
81750			}
81751		case "description":
81752			if v != nil {
81753				var description string
81754				err = json.Unmarshal(*v, &description)
81755				if err != nil {
81756					return err
81757				}
81758				hbls.Description = &description
81759			}
81760		case "parameters":
81761			if v != nil {
81762				var parameters map[string]*ParameterSpecification
81763				err = json.Unmarshal(*v, &parameters)
81764				if err != nil {
81765					return err
81766				}
81767				hbls.Parameters = parameters
81768			}
81769		case "annotations":
81770			if v != nil {
81771				var annotations []interface{}
81772				err = json.Unmarshal(*v, &annotations)
81773				if err != nil {
81774					return err
81775				}
81776				hbls.Annotations = &annotations
81777			}
81778		case "type":
81779			if v != nil {
81780				var typeVar TypeBasicLinkedService
81781				err = json.Unmarshal(*v, &typeVar)
81782				if err != nil {
81783					return err
81784				}
81785				hbls.Type = typeVar
81786			}
81787		}
81788	}
81789
81790	return nil
81791}
81792
81793// HBaseLinkedServiceTypeProperties hBase server linked service properties.
81794type HBaseLinkedServiceTypeProperties struct {
81795	// Host - The IP address or host name of the HBase server. (i.e. 192.168.222.160)
81796	Host interface{} `json:"host,omitempty"`
81797	// Port - The TCP port that the HBase instance uses to listen for client connections. The default value is 9090.
81798	Port interface{} `json:"port,omitempty"`
81799	// HTTPPath - The partial URL corresponding to the HBase server. (i.e. /gateway/sandbox/hbase/version)
81800	HTTPPath interface{} `json:"httpPath,omitempty"`
81801	// AuthenticationType - The authentication mechanism to use to connect to the HBase server. Possible values include: 'HBaseAuthenticationTypeAnonymous', 'HBaseAuthenticationTypeBasic'
81802	AuthenticationType HBaseAuthenticationType `json:"authenticationType,omitempty"`
81803	// Username - The user name used to connect to the HBase instance.
81804	Username interface{} `json:"username,omitempty"`
81805	// Password - The password corresponding to the user name.
81806	Password BasicSecretBase `json:"password,omitempty"`
81807	// EnableSsl - Specifies whether the connections to the server are encrypted using SSL. The default value is false.
81808	EnableSsl interface{} `json:"enableSsl,omitempty"`
81809	// 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.
81810	TrustedCertPath interface{} `json:"trustedCertPath,omitempty"`
81811	// 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.
81812	AllowHostNameCNMismatch interface{} `json:"allowHostNameCNMismatch,omitempty"`
81813	// AllowSelfSignedServerCert - Specifies whether to allow self-signed certificates from the server. The default value is false.
81814	AllowSelfSignedServerCert interface{} `json:"allowSelfSignedServerCert,omitempty"`
81815	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
81816	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
81817}
81818
81819// UnmarshalJSON is the custom unmarshaler for HBaseLinkedServiceTypeProperties struct.
81820func (hblstp *HBaseLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
81821	var m map[string]*json.RawMessage
81822	err := json.Unmarshal(body, &m)
81823	if err != nil {
81824		return err
81825	}
81826	for k, v := range m {
81827		switch k {
81828		case "host":
81829			if v != nil {
81830				var host interface{}
81831				err = json.Unmarshal(*v, &host)
81832				if err != nil {
81833					return err
81834				}
81835				hblstp.Host = host
81836			}
81837		case "port":
81838			if v != nil {
81839				var port interface{}
81840				err = json.Unmarshal(*v, &port)
81841				if err != nil {
81842					return err
81843				}
81844				hblstp.Port = port
81845			}
81846		case "httpPath":
81847			if v != nil {
81848				var HTTPPath interface{}
81849				err = json.Unmarshal(*v, &HTTPPath)
81850				if err != nil {
81851					return err
81852				}
81853				hblstp.HTTPPath = HTTPPath
81854			}
81855		case "authenticationType":
81856			if v != nil {
81857				var authenticationType HBaseAuthenticationType
81858				err = json.Unmarshal(*v, &authenticationType)
81859				if err != nil {
81860					return err
81861				}
81862				hblstp.AuthenticationType = authenticationType
81863			}
81864		case "username":
81865			if v != nil {
81866				var username interface{}
81867				err = json.Unmarshal(*v, &username)
81868				if err != nil {
81869					return err
81870				}
81871				hblstp.Username = username
81872			}
81873		case "password":
81874			if v != nil {
81875				password, err := unmarshalBasicSecretBase(*v)
81876				if err != nil {
81877					return err
81878				}
81879				hblstp.Password = password
81880			}
81881		case "enableSsl":
81882			if v != nil {
81883				var enableSsl interface{}
81884				err = json.Unmarshal(*v, &enableSsl)
81885				if err != nil {
81886					return err
81887				}
81888				hblstp.EnableSsl = enableSsl
81889			}
81890		case "trustedCertPath":
81891			if v != nil {
81892				var trustedCertPath interface{}
81893				err = json.Unmarshal(*v, &trustedCertPath)
81894				if err != nil {
81895					return err
81896				}
81897				hblstp.TrustedCertPath = trustedCertPath
81898			}
81899		case "allowHostNameCNMismatch":
81900			if v != nil {
81901				var allowHostNameCNMismatch interface{}
81902				err = json.Unmarshal(*v, &allowHostNameCNMismatch)
81903				if err != nil {
81904					return err
81905				}
81906				hblstp.AllowHostNameCNMismatch = allowHostNameCNMismatch
81907			}
81908		case "allowSelfSignedServerCert":
81909			if v != nil {
81910				var allowSelfSignedServerCert interface{}
81911				err = json.Unmarshal(*v, &allowSelfSignedServerCert)
81912				if err != nil {
81913					return err
81914				}
81915				hblstp.AllowSelfSignedServerCert = allowSelfSignedServerCert
81916			}
81917		case "encryptedCredential":
81918			if v != nil {
81919				var encryptedCredential interface{}
81920				err = json.Unmarshal(*v, &encryptedCredential)
81921				if err != nil {
81922					return err
81923				}
81924				hblstp.EncryptedCredential = encryptedCredential
81925			}
81926		}
81927	}
81928
81929	return nil
81930}
81931
81932// HBaseObjectDataset hBase server dataset.
81933type HBaseObjectDataset struct {
81934	// GenericDatasetTypeProperties - Properties specific to this dataset type.
81935	*GenericDatasetTypeProperties `json:"typeProperties,omitempty"`
81936	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
81937	AdditionalProperties map[string]interface{} `json:""`
81938	// Description - Dataset description.
81939	Description *string `json:"description,omitempty"`
81940	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
81941	Structure interface{} `json:"structure,omitempty"`
81942	// Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement.
81943	Schema interface{} `json:"schema,omitempty"`
81944	// LinkedServiceName - Linked service reference.
81945	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
81946	// Parameters - Parameters for dataset.
81947	Parameters map[string]*ParameterSpecification `json:"parameters"`
81948	// Annotations - List of tags that can be used for describing the Dataset.
81949	Annotations *[]interface{} `json:"annotations,omitempty"`
81950	// Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level.
81951	Folder *DatasetFolder `json:"folder,omitempty"`
81952	// Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', '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', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeDelimitedText', 'TypeParquet', 'TypeAmazonS3Object'
81953	Type TypeBasicDataset `json:"type,omitempty"`
81954}
81955
81956// MarshalJSON is the custom marshaler for HBaseObjectDataset.
81957func (hbod HBaseObjectDataset) MarshalJSON() ([]byte, error) {
81958	hbod.Type = TypeHBaseObject
81959	objectMap := make(map[string]interface{})
81960	if hbod.GenericDatasetTypeProperties != nil {
81961		objectMap["typeProperties"] = hbod.GenericDatasetTypeProperties
81962	}
81963	if hbod.Description != nil {
81964		objectMap["description"] = hbod.Description
81965	}
81966	if hbod.Structure != nil {
81967		objectMap["structure"] = hbod.Structure
81968	}
81969	if hbod.Schema != nil {
81970		objectMap["schema"] = hbod.Schema
81971	}
81972	if hbod.LinkedServiceName != nil {
81973		objectMap["linkedServiceName"] = hbod.LinkedServiceName
81974	}
81975	if hbod.Parameters != nil {
81976		objectMap["parameters"] = hbod.Parameters
81977	}
81978	if hbod.Annotations != nil {
81979		objectMap["annotations"] = hbod.Annotations
81980	}
81981	if hbod.Folder != nil {
81982		objectMap["folder"] = hbod.Folder
81983	}
81984	if hbod.Type != "" {
81985		objectMap["type"] = hbod.Type
81986	}
81987	for k, v := range hbod.AdditionalProperties {
81988		objectMap[k] = v
81989	}
81990	return json.Marshal(objectMap)
81991}
81992
81993// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for HBaseObjectDataset.
81994func (hbod HBaseObjectDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) {
81995	return nil, false
81996}
81997
81998// AsAzureDataExplorerTableDataset is the BasicDataset implementation for HBaseObjectDataset.
81999func (hbod HBaseObjectDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) {
82000	return nil, false
82001}
82002
82003// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for HBaseObjectDataset.
82004func (hbod HBaseObjectDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) {
82005	return nil, false
82006}
82007
82008// AsDynamicsAXResourceDataset is the BasicDataset implementation for HBaseObjectDataset.
82009func (hbod HBaseObjectDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) {
82010	return nil, false
82011}
82012
82013// AsResponsysObjectDataset is the BasicDataset implementation for HBaseObjectDataset.
82014func (hbod HBaseObjectDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
82015	return nil, false
82016}
82017
82018// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for HBaseObjectDataset.
82019func (hbod HBaseObjectDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
82020	return nil, false
82021}
82022
82023// AsVerticaTableDataset is the BasicDataset implementation for HBaseObjectDataset.
82024func (hbod HBaseObjectDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
82025	return nil, false
82026}
82027
82028// AsNetezzaTableDataset is the BasicDataset implementation for HBaseObjectDataset.
82029func (hbod HBaseObjectDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
82030	return nil, false
82031}
82032
82033// AsZohoObjectDataset is the BasicDataset implementation for HBaseObjectDataset.
82034func (hbod HBaseObjectDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
82035	return nil, false
82036}
82037
82038// AsXeroObjectDataset is the BasicDataset implementation for HBaseObjectDataset.
82039func (hbod HBaseObjectDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
82040	return nil, false
82041}
82042
82043// AsSquareObjectDataset is the BasicDataset implementation for HBaseObjectDataset.
82044func (hbod HBaseObjectDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
82045	return nil, false
82046}
82047
82048// AsSparkObjectDataset is the BasicDataset implementation for HBaseObjectDataset.
82049func (hbod HBaseObjectDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
82050	return nil, false
82051}
82052
82053// AsShopifyObjectDataset is the BasicDataset implementation for HBaseObjectDataset.
82054func (hbod HBaseObjectDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
82055	return nil, false
82056}
82057
82058// AsServiceNowObjectDataset is the BasicDataset implementation for HBaseObjectDataset.
82059func (hbod HBaseObjectDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
82060	return nil, false
82061}
82062
82063// AsQuickBooksObjectDataset is the BasicDataset implementation for HBaseObjectDataset.
82064func (hbod HBaseObjectDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
82065	return nil, false
82066}
82067
82068// AsPrestoObjectDataset is the BasicDataset implementation for HBaseObjectDataset.
82069func (hbod HBaseObjectDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
82070	return nil, false
82071}
82072
82073// AsPhoenixObjectDataset is the BasicDataset implementation for HBaseObjectDataset.
82074func (hbod HBaseObjectDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
82075	return nil, false
82076}
82077
82078// AsPaypalObjectDataset is the BasicDataset implementation for HBaseObjectDataset.
82079func (hbod HBaseObjectDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
82080	return nil, false
82081}
82082
82083// AsMarketoObjectDataset is the BasicDataset implementation for HBaseObjectDataset.
82084func (hbod HBaseObjectDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
82085	return nil, false
82086}
82087
82088// AsMariaDBTableDataset is the BasicDataset implementation for HBaseObjectDataset.
82089func (hbod HBaseObjectDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
82090	return nil, false
82091}
82092
82093// AsMagentoObjectDataset is the BasicDataset implementation for HBaseObjectDataset.
82094func (hbod HBaseObjectDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
82095	return nil, false
82096}
82097
82098// AsJiraObjectDataset is the BasicDataset implementation for HBaseObjectDataset.
82099func (hbod HBaseObjectDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
82100	return nil, false
82101}
82102
82103// AsImpalaObjectDataset is the BasicDataset implementation for HBaseObjectDataset.
82104func (hbod HBaseObjectDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
82105	return nil, false
82106}
82107
82108// AsHubspotObjectDataset is the BasicDataset implementation for HBaseObjectDataset.
82109func (hbod HBaseObjectDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
82110	return nil, false
82111}
82112
82113// AsHiveObjectDataset is the BasicDataset implementation for HBaseObjectDataset.
82114func (hbod HBaseObjectDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
82115	return nil, false
82116}
82117
82118// AsHBaseObjectDataset is the BasicDataset implementation for HBaseObjectDataset.
82119func (hbod HBaseObjectDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
82120	return &hbod, true
82121}
82122
82123// AsGreenplumTableDataset is the BasicDataset implementation for HBaseObjectDataset.
82124func (hbod HBaseObjectDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
82125	return nil, false
82126}
82127
82128// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for HBaseObjectDataset.
82129func (hbod HBaseObjectDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
82130	return nil, false
82131}
82132
82133// AsEloquaObjectDataset is the BasicDataset implementation for HBaseObjectDataset.
82134func (hbod HBaseObjectDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
82135	return nil, false
82136}
82137
82138// AsDrillTableDataset is the BasicDataset implementation for HBaseObjectDataset.
82139func (hbod HBaseObjectDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
82140	return nil, false
82141}
82142
82143// AsCouchbaseTableDataset is the BasicDataset implementation for HBaseObjectDataset.
82144func (hbod HBaseObjectDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
82145	return nil, false
82146}
82147
82148// AsConcurObjectDataset is the BasicDataset implementation for HBaseObjectDataset.
82149func (hbod HBaseObjectDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
82150	return nil, false
82151}
82152
82153// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for HBaseObjectDataset.
82154func (hbod HBaseObjectDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
82155	return nil, false
82156}
82157
82158// AsAmazonMWSObjectDataset is the BasicDataset implementation for HBaseObjectDataset.
82159func (hbod HBaseObjectDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
82160	return nil, false
82161}
82162
82163// AsHTTPDataset is the BasicDataset implementation for HBaseObjectDataset.
82164func (hbod HBaseObjectDataset) AsHTTPDataset() (*HTTPDataset, bool) {
82165	return nil, false
82166}
82167
82168// AsAzureSearchIndexDataset is the BasicDataset implementation for HBaseObjectDataset.
82169func (hbod HBaseObjectDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
82170	return nil, false
82171}
82172
82173// AsWebTableDataset is the BasicDataset implementation for HBaseObjectDataset.
82174func (hbod HBaseObjectDataset) AsWebTableDataset() (*WebTableDataset, bool) {
82175	return nil, false
82176}
82177
82178// AsSapTableResourceDataset is the BasicDataset implementation for HBaseObjectDataset.
82179func (hbod HBaseObjectDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) {
82180	return nil, false
82181}
82182
82183// AsRestResourceDataset is the BasicDataset implementation for HBaseObjectDataset.
82184func (hbod HBaseObjectDataset) AsRestResourceDataset() (*RestResourceDataset, bool) {
82185	return nil, false
82186}
82187
82188// AsSQLServerTableDataset is the BasicDataset implementation for HBaseObjectDataset.
82189func (hbod HBaseObjectDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
82190	return nil, false
82191}
82192
82193// AsSapOpenHubTableDataset is the BasicDataset implementation for HBaseObjectDataset.
82194func (hbod HBaseObjectDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) {
82195	return nil, false
82196}
82197
82198// AsSapHanaTableDataset is the BasicDataset implementation for HBaseObjectDataset.
82199func (hbod HBaseObjectDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) {
82200	return nil, false
82201}
82202
82203// AsSapEccResourceDataset is the BasicDataset implementation for HBaseObjectDataset.
82204func (hbod HBaseObjectDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
82205	return nil, false
82206}
82207
82208// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for HBaseObjectDataset.
82209func (hbod HBaseObjectDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
82210	return nil, false
82211}
82212
82213// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for HBaseObjectDataset.
82214func (hbod HBaseObjectDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) {
82215	return nil, false
82216}
82217
82218// AsSalesforceObjectDataset is the BasicDataset implementation for HBaseObjectDataset.
82219func (hbod HBaseObjectDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
82220	return nil, false
82221}
82222
82223// AsMicrosoftAccessTableDataset is the BasicDataset implementation for HBaseObjectDataset.
82224func (hbod HBaseObjectDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) {
82225	return nil, false
82226}
82227
82228// AsPostgreSQLTableDataset is the BasicDataset implementation for HBaseObjectDataset.
82229func (hbod HBaseObjectDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) {
82230	return nil, false
82231}
82232
82233// AsMySQLTableDataset is the BasicDataset implementation for HBaseObjectDataset.
82234func (hbod HBaseObjectDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) {
82235	return nil, false
82236}
82237
82238// AsOdbcTableDataset is the BasicDataset implementation for HBaseObjectDataset.
82239func (hbod HBaseObjectDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) {
82240	return nil, false
82241}
82242
82243// AsInformixTableDataset is the BasicDataset implementation for HBaseObjectDataset.
82244func (hbod HBaseObjectDataset) AsInformixTableDataset() (*InformixTableDataset, bool) {
82245	return nil, false
82246}
82247
82248// AsRelationalTableDataset is the BasicDataset implementation for HBaseObjectDataset.
82249func (hbod HBaseObjectDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
82250	return nil, false
82251}
82252
82253// AsAzureMySQLTableDataset is the BasicDataset implementation for HBaseObjectDataset.
82254func (hbod HBaseObjectDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
82255	return nil, false
82256}
82257
82258// AsTeradataTableDataset is the BasicDataset implementation for HBaseObjectDataset.
82259func (hbod HBaseObjectDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) {
82260	return nil, false
82261}
82262
82263// AsOracleTableDataset is the BasicDataset implementation for HBaseObjectDataset.
82264func (hbod HBaseObjectDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
82265	return nil, false
82266}
82267
82268// AsODataResourceDataset is the BasicDataset implementation for HBaseObjectDataset.
82269func (hbod HBaseObjectDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
82270	return nil, false
82271}
82272
82273// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for HBaseObjectDataset.
82274func (hbod HBaseObjectDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) {
82275	return nil, false
82276}
82277
82278// AsMongoDbV2CollectionDataset is the BasicDataset implementation for HBaseObjectDataset.
82279func (hbod HBaseObjectDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) {
82280	return nil, false
82281}
82282
82283// AsMongoDbCollectionDataset is the BasicDataset implementation for HBaseObjectDataset.
82284func (hbod HBaseObjectDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
82285	return nil, false
82286}
82287
82288// AsFileShareDataset is the BasicDataset implementation for HBaseObjectDataset.
82289func (hbod HBaseObjectDataset) AsFileShareDataset() (*FileShareDataset, bool) {
82290	return nil, false
82291}
82292
82293// AsOffice365Dataset is the BasicDataset implementation for HBaseObjectDataset.
82294func (hbod HBaseObjectDataset) AsOffice365Dataset() (*Office365Dataset, bool) {
82295	return nil, false
82296}
82297
82298// AsAzureBlobFSDataset is the BasicDataset implementation for HBaseObjectDataset.
82299func (hbod HBaseObjectDataset) AsAzureBlobFSDataset() (*AzureBlobFSDataset, bool) {
82300	return nil, false
82301}
82302
82303// AsAzureDataLakeStoreDataset is the BasicDataset implementation for HBaseObjectDataset.
82304func (hbod HBaseObjectDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) {
82305	return nil, false
82306}
82307
82308// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for HBaseObjectDataset.
82309func (hbod HBaseObjectDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) {
82310	return nil, false
82311}
82312
82313// AsDynamicsCrmEntityDataset is the BasicDataset implementation for HBaseObjectDataset.
82314func (hbod HBaseObjectDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) {
82315	return nil, false
82316}
82317
82318// AsDynamicsEntityDataset is the BasicDataset implementation for HBaseObjectDataset.
82319func (hbod HBaseObjectDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
82320	return nil, false
82321}
82322
82323// AsDocumentDbCollectionDataset is the BasicDataset implementation for HBaseObjectDataset.
82324func (hbod HBaseObjectDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
82325	return nil, false
82326}
82327
82328// AsCustomDataset is the BasicDataset implementation for HBaseObjectDataset.
82329func (hbod HBaseObjectDataset) AsCustomDataset() (*CustomDataset, bool) {
82330	return nil, false
82331}
82332
82333// AsCassandraTableDataset is the BasicDataset implementation for HBaseObjectDataset.
82334func (hbod HBaseObjectDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
82335	return nil, false
82336}
82337
82338// AsAzureSQLDWTableDataset is the BasicDataset implementation for HBaseObjectDataset.
82339func (hbod HBaseObjectDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
82340	return nil, false
82341}
82342
82343// AsAzureSQLMITableDataset is the BasicDataset implementation for HBaseObjectDataset.
82344func (hbod HBaseObjectDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) {
82345	return nil, false
82346}
82347
82348// AsAzureSQLTableDataset is the BasicDataset implementation for HBaseObjectDataset.
82349func (hbod HBaseObjectDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
82350	return nil, false
82351}
82352
82353// AsAzureTableDataset is the BasicDataset implementation for HBaseObjectDataset.
82354func (hbod HBaseObjectDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
82355	return nil, false
82356}
82357
82358// AsAzureBlobDataset is the BasicDataset implementation for HBaseObjectDataset.
82359func (hbod HBaseObjectDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) {
82360	return nil, false
82361}
82362
82363// AsBinaryDataset is the BasicDataset implementation for HBaseObjectDataset.
82364func (hbod HBaseObjectDataset) AsBinaryDataset() (*BinaryDataset, bool) {
82365	return nil, false
82366}
82367
82368// AsDelimitedTextDataset is the BasicDataset implementation for HBaseObjectDataset.
82369func (hbod HBaseObjectDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) {
82370	return nil, false
82371}
82372
82373// AsParquetDataset is the BasicDataset implementation for HBaseObjectDataset.
82374func (hbod HBaseObjectDataset) AsParquetDataset() (*ParquetDataset, bool) {
82375	return nil, false
82376}
82377
82378// AsAmazonS3Dataset is the BasicDataset implementation for HBaseObjectDataset.
82379func (hbod HBaseObjectDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) {
82380	return nil, false
82381}
82382
82383// AsDataset is the BasicDataset implementation for HBaseObjectDataset.
82384func (hbod HBaseObjectDataset) AsDataset() (*Dataset, bool) {
82385	return nil, false
82386}
82387
82388// AsBasicDataset is the BasicDataset implementation for HBaseObjectDataset.
82389func (hbod HBaseObjectDataset) AsBasicDataset() (BasicDataset, bool) {
82390	return &hbod, true
82391}
82392
82393// UnmarshalJSON is the custom unmarshaler for HBaseObjectDataset struct.
82394func (hbod *HBaseObjectDataset) UnmarshalJSON(body []byte) error {
82395	var m map[string]*json.RawMessage
82396	err := json.Unmarshal(body, &m)
82397	if err != nil {
82398		return err
82399	}
82400	for k, v := range m {
82401		switch k {
82402		case "typeProperties":
82403			if v != nil {
82404				var genericDatasetTypeProperties GenericDatasetTypeProperties
82405				err = json.Unmarshal(*v, &genericDatasetTypeProperties)
82406				if err != nil {
82407					return err
82408				}
82409				hbod.GenericDatasetTypeProperties = &genericDatasetTypeProperties
82410			}
82411		default:
82412			if v != nil {
82413				var additionalProperties interface{}
82414				err = json.Unmarshal(*v, &additionalProperties)
82415				if err != nil {
82416					return err
82417				}
82418				if hbod.AdditionalProperties == nil {
82419					hbod.AdditionalProperties = make(map[string]interface{})
82420				}
82421				hbod.AdditionalProperties[k] = additionalProperties
82422			}
82423		case "description":
82424			if v != nil {
82425				var description string
82426				err = json.Unmarshal(*v, &description)
82427				if err != nil {
82428					return err
82429				}
82430				hbod.Description = &description
82431			}
82432		case "structure":
82433			if v != nil {
82434				var structure interface{}
82435				err = json.Unmarshal(*v, &structure)
82436				if err != nil {
82437					return err
82438				}
82439				hbod.Structure = structure
82440			}
82441		case "schema":
82442			if v != nil {
82443				var schema interface{}
82444				err = json.Unmarshal(*v, &schema)
82445				if err != nil {
82446					return err
82447				}
82448				hbod.Schema = schema
82449			}
82450		case "linkedServiceName":
82451			if v != nil {
82452				var linkedServiceName LinkedServiceReference
82453				err = json.Unmarshal(*v, &linkedServiceName)
82454				if err != nil {
82455					return err
82456				}
82457				hbod.LinkedServiceName = &linkedServiceName
82458			}
82459		case "parameters":
82460			if v != nil {
82461				var parameters map[string]*ParameterSpecification
82462				err = json.Unmarshal(*v, &parameters)
82463				if err != nil {
82464					return err
82465				}
82466				hbod.Parameters = parameters
82467			}
82468		case "annotations":
82469			if v != nil {
82470				var annotations []interface{}
82471				err = json.Unmarshal(*v, &annotations)
82472				if err != nil {
82473					return err
82474				}
82475				hbod.Annotations = &annotations
82476			}
82477		case "folder":
82478			if v != nil {
82479				var folder DatasetFolder
82480				err = json.Unmarshal(*v, &folder)
82481				if err != nil {
82482					return err
82483				}
82484				hbod.Folder = &folder
82485			}
82486		case "type":
82487			if v != nil {
82488				var typeVar TypeBasicDataset
82489				err = json.Unmarshal(*v, &typeVar)
82490				if err != nil {
82491					return err
82492				}
82493				hbod.Type = typeVar
82494			}
82495		}
82496	}
82497
82498	return nil
82499}
82500
82501// HBaseSource a copy activity HBase server source.
82502type HBaseSource struct {
82503	// Query - A query to retrieve data from source. Type: string (or Expression with resultType string).
82504	Query interface{} `json:"query,omitempty"`
82505	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
82506	AdditionalProperties map[string]interface{} `json:""`
82507	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
82508	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
82509	// 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])).
82510	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
82511	// MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer).
82512	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
82513	// Type - Possible values include: 'TypeCopySource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', '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', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeCassandraSource', 'TypeWebSource', 'TypeTeradataSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeAzureMySQLSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeRestSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceServiceCloudSource', 'TypeSalesforceSource', 'TypeODataSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeMicrosoftAccessSource', 'TypeInformixSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAzureTableSource', 'TypeBinarySource', 'TypeDelimitedTextSource', 'TypeParquetSource'
82514	Type TypeBasicCopySource `json:"type,omitempty"`
82515}
82516
82517// MarshalJSON is the custom marshaler for HBaseSource.
82518func (hbs HBaseSource) MarshalJSON() ([]byte, error) {
82519	hbs.Type = TypeHBaseSource
82520	objectMap := make(map[string]interface{})
82521	if hbs.Query != nil {
82522		objectMap["query"] = hbs.Query
82523	}
82524	if hbs.SourceRetryCount != nil {
82525		objectMap["sourceRetryCount"] = hbs.SourceRetryCount
82526	}
82527	if hbs.SourceRetryWait != nil {
82528		objectMap["sourceRetryWait"] = hbs.SourceRetryWait
82529	}
82530	if hbs.MaxConcurrentConnections != nil {
82531		objectMap["maxConcurrentConnections"] = hbs.MaxConcurrentConnections
82532	}
82533	if hbs.Type != "" {
82534		objectMap["type"] = hbs.Type
82535	}
82536	for k, v := range hbs.AdditionalProperties {
82537		objectMap[k] = v
82538	}
82539	return json.Marshal(objectMap)
82540}
82541
82542// AsAmazonRedshiftSource is the BasicCopySource implementation for HBaseSource.
82543func (hbs HBaseSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
82544	return nil, false
82545}
82546
82547// AsGoogleAdWordsSource is the BasicCopySource implementation for HBaseSource.
82548func (hbs HBaseSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) {
82549	return nil, false
82550}
82551
82552// AsOracleServiceCloudSource is the BasicCopySource implementation for HBaseSource.
82553func (hbs HBaseSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) {
82554	return nil, false
82555}
82556
82557// AsDynamicsAXSource is the BasicCopySource implementation for HBaseSource.
82558func (hbs HBaseSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) {
82559	return nil, false
82560}
82561
82562// AsResponsysSource is the BasicCopySource implementation for HBaseSource.
82563func (hbs HBaseSource) AsResponsysSource() (*ResponsysSource, bool) {
82564	return nil, false
82565}
82566
82567// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for HBaseSource.
82568func (hbs HBaseSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
82569	return nil, false
82570}
82571
82572// AsVerticaSource is the BasicCopySource implementation for HBaseSource.
82573func (hbs HBaseSource) AsVerticaSource() (*VerticaSource, bool) {
82574	return nil, false
82575}
82576
82577// AsNetezzaSource is the BasicCopySource implementation for HBaseSource.
82578func (hbs HBaseSource) AsNetezzaSource() (*NetezzaSource, bool) {
82579	return nil, false
82580}
82581
82582// AsZohoSource is the BasicCopySource implementation for HBaseSource.
82583func (hbs HBaseSource) AsZohoSource() (*ZohoSource, bool) {
82584	return nil, false
82585}
82586
82587// AsXeroSource is the BasicCopySource implementation for HBaseSource.
82588func (hbs HBaseSource) AsXeroSource() (*XeroSource, bool) {
82589	return nil, false
82590}
82591
82592// AsSquareSource is the BasicCopySource implementation for HBaseSource.
82593func (hbs HBaseSource) AsSquareSource() (*SquareSource, bool) {
82594	return nil, false
82595}
82596
82597// AsSparkSource is the BasicCopySource implementation for HBaseSource.
82598func (hbs HBaseSource) AsSparkSource() (*SparkSource, bool) {
82599	return nil, false
82600}
82601
82602// AsShopifySource is the BasicCopySource implementation for HBaseSource.
82603func (hbs HBaseSource) AsShopifySource() (*ShopifySource, bool) {
82604	return nil, false
82605}
82606
82607// AsServiceNowSource is the BasicCopySource implementation for HBaseSource.
82608func (hbs HBaseSource) AsServiceNowSource() (*ServiceNowSource, bool) {
82609	return nil, false
82610}
82611
82612// AsQuickBooksSource is the BasicCopySource implementation for HBaseSource.
82613func (hbs HBaseSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
82614	return nil, false
82615}
82616
82617// AsPrestoSource is the BasicCopySource implementation for HBaseSource.
82618func (hbs HBaseSource) AsPrestoSource() (*PrestoSource, bool) {
82619	return nil, false
82620}
82621
82622// AsPhoenixSource is the BasicCopySource implementation for HBaseSource.
82623func (hbs HBaseSource) AsPhoenixSource() (*PhoenixSource, bool) {
82624	return nil, false
82625}
82626
82627// AsPaypalSource is the BasicCopySource implementation for HBaseSource.
82628func (hbs HBaseSource) AsPaypalSource() (*PaypalSource, bool) {
82629	return nil, false
82630}
82631
82632// AsMarketoSource is the BasicCopySource implementation for HBaseSource.
82633func (hbs HBaseSource) AsMarketoSource() (*MarketoSource, bool) {
82634	return nil, false
82635}
82636
82637// AsMariaDBSource is the BasicCopySource implementation for HBaseSource.
82638func (hbs HBaseSource) AsMariaDBSource() (*MariaDBSource, bool) {
82639	return nil, false
82640}
82641
82642// AsMagentoSource is the BasicCopySource implementation for HBaseSource.
82643func (hbs HBaseSource) AsMagentoSource() (*MagentoSource, bool) {
82644	return nil, false
82645}
82646
82647// AsJiraSource is the BasicCopySource implementation for HBaseSource.
82648func (hbs HBaseSource) AsJiraSource() (*JiraSource, bool) {
82649	return nil, false
82650}
82651
82652// AsImpalaSource is the BasicCopySource implementation for HBaseSource.
82653func (hbs HBaseSource) AsImpalaSource() (*ImpalaSource, bool) {
82654	return nil, false
82655}
82656
82657// AsHubspotSource is the BasicCopySource implementation for HBaseSource.
82658func (hbs HBaseSource) AsHubspotSource() (*HubspotSource, bool) {
82659	return nil, false
82660}
82661
82662// AsHiveSource is the BasicCopySource implementation for HBaseSource.
82663func (hbs HBaseSource) AsHiveSource() (*HiveSource, bool) {
82664	return nil, false
82665}
82666
82667// AsHBaseSource is the BasicCopySource implementation for HBaseSource.
82668func (hbs HBaseSource) AsHBaseSource() (*HBaseSource, bool) {
82669	return &hbs, true
82670}
82671
82672// AsGreenplumSource is the BasicCopySource implementation for HBaseSource.
82673func (hbs HBaseSource) AsGreenplumSource() (*GreenplumSource, bool) {
82674	return nil, false
82675}
82676
82677// AsGoogleBigQuerySource is the BasicCopySource implementation for HBaseSource.
82678func (hbs HBaseSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
82679	return nil, false
82680}
82681
82682// AsEloquaSource is the BasicCopySource implementation for HBaseSource.
82683func (hbs HBaseSource) AsEloquaSource() (*EloquaSource, bool) {
82684	return nil, false
82685}
82686
82687// AsDrillSource is the BasicCopySource implementation for HBaseSource.
82688func (hbs HBaseSource) AsDrillSource() (*DrillSource, bool) {
82689	return nil, false
82690}
82691
82692// AsCouchbaseSource is the BasicCopySource implementation for HBaseSource.
82693func (hbs HBaseSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
82694	return nil, false
82695}
82696
82697// AsConcurSource is the BasicCopySource implementation for HBaseSource.
82698func (hbs HBaseSource) AsConcurSource() (*ConcurSource, bool) {
82699	return nil, false
82700}
82701
82702// AsAzurePostgreSQLSource is the BasicCopySource implementation for HBaseSource.
82703func (hbs HBaseSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
82704	return nil, false
82705}
82706
82707// AsAmazonMWSSource is the BasicCopySource implementation for HBaseSource.
82708func (hbs HBaseSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
82709	return nil, false
82710}
82711
82712// AsHTTPSource is the BasicCopySource implementation for HBaseSource.
82713func (hbs HBaseSource) AsHTTPSource() (*HTTPSource, bool) {
82714	return nil, false
82715}
82716
82717// AsAzureBlobFSSource is the BasicCopySource implementation for HBaseSource.
82718func (hbs HBaseSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) {
82719	return nil, false
82720}
82721
82722// AsAzureDataLakeStoreSource is the BasicCopySource implementation for HBaseSource.
82723func (hbs HBaseSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
82724	return nil, false
82725}
82726
82727// AsOffice365Source is the BasicCopySource implementation for HBaseSource.
82728func (hbs HBaseSource) AsOffice365Source() (*Office365Source, bool) {
82729	return nil, false
82730}
82731
82732// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for HBaseSource.
82733func (hbs HBaseSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) {
82734	return nil, false
82735}
82736
82737// AsMongoDbV2Source is the BasicCopySource implementation for HBaseSource.
82738func (hbs HBaseSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) {
82739	return nil, false
82740}
82741
82742// AsMongoDbSource is the BasicCopySource implementation for HBaseSource.
82743func (hbs HBaseSource) AsMongoDbSource() (*MongoDbSource, bool) {
82744	return nil, false
82745}
82746
82747// AsCassandraSource is the BasicCopySource implementation for HBaseSource.
82748func (hbs HBaseSource) AsCassandraSource() (*CassandraSource, bool) {
82749	return nil, false
82750}
82751
82752// AsWebSource is the BasicCopySource implementation for HBaseSource.
82753func (hbs HBaseSource) AsWebSource() (*WebSource, bool) {
82754	return nil, false
82755}
82756
82757// AsTeradataSource is the BasicCopySource implementation for HBaseSource.
82758func (hbs HBaseSource) AsTeradataSource() (*TeradataSource, bool) {
82759	return nil, false
82760}
82761
82762// AsOracleSource is the BasicCopySource implementation for HBaseSource.
82763func (hbs HBaseSource) AsOracleSource() (*OracleSource, bool) {
82764	return nil, false
82765}
82766
82767// AsAzureDataExplorerSource is the BasicCopySource implementation for HBaseSource.
82768func (hbs HBaseSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) {
82769	return nil, false
82770}
82771
82772// AsAzureMySQLSource is the BasicCopySource implementation for HBaseSource.
82773func (hbs HBaseSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
82774	return nil, false
82775}
82776
82777// AsHdfsSource is the BasicCopySource implementation for HBaseSource.
82778func (hbs HBaseSource) AsHdfsSource() (*HdfsSource, bool) {
82779	return nil, false
82780}
82781
82782// AsFileSystemSource is the BasicCopySource implementation for HBaseSource.
82783func (hbs HBaseSource) AsFileSystemSource() (*FileSystemSource, bool) {
82784	return nil, false
82785}
82786
82787// AsSQLDWSource is the BasicCopySource implementation for HBaseSource.
82788func (hbs HBaseSource) AsSQLDWSource() (*SQLDWSource, bool) {
82789	return nil, false
82790}
82791
82792// AsSQLMISource is the BasicCopySource implementation for HBaseSource.
82793func (hbs HBaseSource) AsSQLMISource() (*SQLMISource, bool) {
82794	return nil, false
82795}
82796
82797// AsAzureSQLSource is the BasicCopySource implementation for HBaseSource.
82798func (hbs HBaseSource) AsAzureSQLSource() (*AzureSQLSource, bool) {
82799	return nil, false
82800}
82801
82802// AsSQLServerSource is the BasicCopySource implementation for HBaseSource.
82803func (hbs HBaseSource) AsSQLServerSource() (*SQLServerSource, bool) {
82804	return nil, false
82805}
82806
82807// AsSQLSource is the BasicCopySource implementation for HBaseSource.
82808func (hbs HBaseSource) AsSQLSource() (*SQLSource, bool) {
82809	return nil, false
82810}
82811
82812// AsRestSource is the BasicCopySource implementation for HBaseSource.
82813func (hbs HBaseSource) AsRestSource() (*RestSource, bool) {
82814	return nil, false
82815}
82816
82817// AsSapTableSource is the BasicCopySource implementation for HBaseSource.
82818func (hbs HBaseSource) AsSapTableSource() (*SapTableSource, bool) {
82819	return nil, false
82820}
82821
82822// AsSapOpenHubSource is the BasicCopySource implementation for HBaseSource.
82823func (hbs HBaseSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) {
82824	return nil, false
82825}
82826
82827// AsSapHanaSource is the BasicCopySource implementation for HBaseSource.
82828func (hbs HBaseSource) AsSapHanaSource() (*SapHanaSource, bool) {
82829	return nil, false
82830}
82831
82832// AsSapEccSource is the BasicCopySource implementation for HBaseSource.
82833func (hbs HBaseSource) AsSapEccSource() (*SapEccSource, bool) {
82834	return nil, false
82835}
82836
82837// AsSapCloudForCustomerSource is the BasicCopySource implementation for HBaseSource.
82838func (hbs HBaseSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
82839	return nil, false
82840}
82841
82842// AsSalesforceServiceCloudSource is the BasicCopySource implementation for HBaseSource.
82843func (hbs HBaseSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) {
82844	return nil, false
82845}
82846
82847// AsSalesforceSource is the BasicCopySource implementation for HBaseSource.
82848func (hbs HBaseSource) AsSalesforceSource() (*SalesforceSource, bool) {
82849	return nil, false
82850}
82851
82852// AsODataSource is the BasicCopySource implementation for HBaseSource.
82853func (hbs HBaseSource) AsODataSource() (*ODataSource, bool) {
82854	return nil, false
82855}
82856
82857// AsSybaseSource is the BasicCopySource implementation for HBaseSource.
82858func (hbs HBaseSource) AsSybaseSource() (*SybaseSource, bool) {
82859	return nil, false
82860}
82861
82862// AsPostgreSQLSource is the BasicCopySource implementation for HBaseSource.
82863func (hbs HBaseSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) {
82864	return nil, false
82865}
82866
82867// AsMySQLSource is the BasicCopySource implementation for HBaseSource.
82868func (hbs HBaseSource) AsMySQLSource() (*MySQLSource, bool) {
82869	return nil, false
82870}
82871
82872// AsOdbcSource is the BasicCopySource implementation for HBaseSource.
82873func (hbs HBaseSource) AsOdbcSource() (*OdbcSource, bool) {
82874	return nil, false
82875}
82876
82877// AsDb2Source is the BasicCopySource implementation for HBaseSource.
82878func (hbs HBaseSource) AsDb2Source() (*Db2Source, bool) {
82879	return nil, false
82880}
82881
82882// AsMicrosoftAccessSource is the BasicCopySource implementation for HBaseSource.
82883func (hbs HBaseSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) {
82884	return nil, false
82885}
82886
82887// AsInformixSource is the BasicCopySource implementation for HBaseSource.
82888func (hbs HBaseSource) AsInformixSource() (*InformixSource, bool) {
82889	return nil, false
82890}
82891
82892// AsRelationalSource is the BasicCopySource implementation for HBaseSource.
82893func (hbs HBaseSource) AsRelationalSource() (*RelationalSource, bool) {
82894	return nil, false
82895}
82896
82897// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for HBaseSource.
82898func (hbs HBaseSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) {
82899	return nil, false
82900}
82901
82902// AsDynamicsCrmSource is the BasicCopySource implementation for HBaseSource.
82903func (hbs HBaseSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) {
82904	return nil, false
82905}
82906
82907// AsDynamicsSource is the BasicCopySource implementation for HBaseSource.
82908func (hbs HBaseSource) AsDynamicsSource() (*DynamicsSource, bool) {
82909	return nil, false
82910}
82911
82912// AsDocumentDbCollectionSource is the BasicCopySource implementation for HBaseSource.
82913func (hbs HBaseSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
82914	return nil, false
82915}
82916
82917// AsBlobSource is the BasicCopySource implementation for HBaseSource.
82918func (hbs HBaseSource) AsBlobSource() (*BlobSource, bool) {
82919	return nil, false
82920}
82921
82922// AsAzureTableSource is the BasicCopySource implementation for HBaseSource.
82923func (hbs HBaseSource) AsAzureTableSource() (*AzureTableSource, bool) {
82924	return nil, false
82925}
82926
82927// AsBinarySource is the BasicCopySource implementation for HBaseSource.
82928func (hbs HBaseSource) AsBinarySource() (*BinarySource, bool) {
82929	return nil, false
82930}
82931
82932// AsDelimitedTextSource is the BasicCopySource implementation for HBaseSource.
82933func (hbs HBaseSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) {
82934	return nil, false
82935}
82936
82937// AsParquetSource is the BasicCopySource implementation for HBaseSource.
82938func (hbs HBaseSource) AsParquetSource() (*ParquetSource, bool) {
82939	return nil, false
82940}
82941
82942// AsCopySource is the BasicCopySource implementation for HBaseSource.
82943func (hbs HBaseSource) AsCopySource() (*CopySource, bool) {
82944	return nil, false
82945}
82946
82947// AsBasicCopySource is the BasicCopySource implementation for HBaseSource.
82948func (hbs HBaseSource) AsBasicCopySource() (BasicCopySource, bool) {
82949	return &hbs, true
82950}
82951
82952// UnmarshalJSON is the custom unmarshaler for HBaseSource struct.
82953func (hbs *HBaseSource) UnmarshalJSON(body []byte) error {
82954	var m map[string]*json.RawMessage
82955	err := json.Unmarshal(body, &m)
82956	if err != nil {
82957		return err
82958	}
82959	for k, v := range m {
82960		switch k {
82961		case "query":
82962			if v != nil {
82963				var query interface{}
82964				err = json.Unmarshal(*v, &query)
82965				if err != nil {
82966					return err
82967				}
82968				hbs.Query = query
82969			}
82970		default:
82971			if v != nil {
82972				var additionalProperties interface{}
82973				err = json.Unmarshal(*v, &additionalProperties)
82974				if err != nil {
82975					return err
82976				}
82977				if hbs.AdditionalProperties == nil {
82978					hbs.AdditionalProperties = make(map[string]interface{})
82979				}
82980				hbs.AdditionalProperties[k] = additionalProperties
82981			}
82982		case "sourceRetryCount":
82983			if v != nil {
82984				var sourceRetryCount interface{}
82985				err = json.Unmarshal(*v, &sourceRetryCount)
82986				if err != nil {
82987					return err
82988				}
82989				hbs.SourceRetryCount = sourceRetryCount
82990			}
82991		case "sourceRetryWait":
82992			if v != nil {
82993				var sourceRetryWait interface{}
82994				err = json.Unmarshal(*v, &sourceRetryWait)
82995				if err != nil {
82996					return err
82997				}
82998				hbs.SourceRetryWait = sourceRetryWait
82999			}
83000		case "maxConcurrentConnections":
83001			if v != nil {
83002				var maxConcurrentConnections interface{}
83003				err = json.Unmarshal(*v, &maxConcurrentConnections)
83004				if err != nil {
83005					return err
83006				}
83007				hbs.MaxConcurrentConnections = maxConcurrentConnections
83008			}
83009		case "type":
83010			if v != nil {
83011				var typeVar TypeBasicCopySource
83012				err = json.Unmarshal(*v, &typeVar)
83013				if err != nil {
83014					return err
83015				}
83016				hbs.Type = typeVar
83017			}
83018		}
83019	}
83020
83021	return nil
83022}
83023
83024// HdfsLinkedService hadoop Distributed File System (HDFS) linked service.
83025type HdfsLinkedService struct {
83026	// HdfsLinkedServiceTypeProperties - HDFS linked service properties.
83027	*HdfsLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
83028	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
83029	AdditionalProperties map[string]interface{} `json:""`
83030	// ConnectVia - The integration runtime reference.
83031	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
83032	// Description - Linked service description.
83033	Description *string `json:"description,omitempty"`
83034	// Parameters - Parameters for linked service.
83035	Parameters map[string]*ParameterSpecification `json:"parameters"`
83036	// Annotations - List of tags that can be used for describing the linked service.
83037	Annotations *[]interface{} `json:"annotations,omitempty"`
83038	// Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', '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', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage'
83039	Type TypeBasicLinkedService `json:"type,omitempty"`
83040}
83041
83042// MarshalJSON is the custom marshaler for HdfsLinkedService.
83043func (hls HdfsLinkedService) MarshalJSON() ([]byte, error) {
83044	hls.Type = TypeHdfs
83045	objectMap := make(map[string]interface{})
83046	if hls.HdfsLinkedServiceTypeProperties != nil {
83047		objectMap["typeProperties"] = hls.HdfsLinkedServiceTypeProperties
83048	}
83049	if hls.ConnectVia != nil {
83050		objectMap["connectVia"] = hls.ConnectVia
83051	}
83052	if hls.Description != nil {
83053		objectMap["description"] = hls.Description
83054	}
83055	if hls.Parameters != nil {
83056		objectMap["parameters"] = hls.Parameters
83057	}
83058	if hls.Annotations != nil {
83059		objectMap["annotations"] = hls.Annotations
83060	}
83061	if hls.Type != "" {
83062		objectMap["type"] = hls.Type
83063	}
83064	for k, v := range hls.AdditionalProperties {
83065		objectMap[k] = v
83066	}
83067	return json.Marshal(objectMap)
83068}
83069
83070// AsAzureFunctionLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
83071func (hls HdfsLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) {
83072	return nil, false
83073}
83074
83075// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
83076func (hls HdfsLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) {
83077	return nil, false
83078}
83079
83080// AsSapTableLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
83081func (hls HdfsLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) {
83082	return nil, false
83083}
83084
83085// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
83086func (hls HdfsLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) {
83087	return nil, false
83088}
83089
83090// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
83091func (hls HdfsLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) {
83092	return nil, false
83093}
83094
83095// AsDynamicsAXLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
83096func (hls HdfsLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) {
83097	return nil, false
83098}
83099
83100// AsResponsysLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
83101func (hls HdfsLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
83102	return nil, false
83103}
83104
83105// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
83106func (hls HdfsLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
83107	return nil, false
83108}
83109
83110// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
83111func (hls HdfsLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
83112	return nil, false
83113}
83114
83115// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
83116func (hls HdfsLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
83117	return nil, false
83118}
83119
83120// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
83121func (hls HdfsLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
83122	return nil, false
83123}
83124
83125// AsNetezzaLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
83126func (hls HdfsLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
83127	return nil, false
83128}
83129
83130// AsVerticaLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
83131func (hls HdfsLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
83132	return nil, false
83133}
83134
83135// AsZohoLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
83136func (hls HdfsLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
83137	return nil, false
83138}
83139
83140// AsXeroLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
83141func (hls HdfsLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
83142	return nil, false
83143}
83144
83145// AsSquareLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
83146func (hls HdfsLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
83147	return nil, false
83148}
83149
83150// AsSparkLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
83151func (hls HdfsLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
83152	return nil, false
83153}
83154
83155// AsShopifyLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
83156func (hls HdfsLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
83157	return nil, false
83158}
83159
83160// AsServiceNowLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
83161func (hls HdfsLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
83162	return nil, false
83163}
83164
83165// AsQuickBooksLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
83166func (hls HdfsLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
83167	return nil, false
83168}
83169
83170// AsPrestoLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
83171func (hls HdfsLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
83172	return nil, false
83173}
83174
83175// AsPhoenixLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
83176func (hls HdfsLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
83177	return nil, false
83178}
83179
83180// AsPaypalLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
83181func (hls HdfsLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
83182	return nil, false
83183}
83184
83185// AsMarketoLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
83186func (hls HdfsLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
83187	return nil, false
83188}
83189
83190// AsMariaDBLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
83191func (hls HdfsLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
83192	return nil, false
83193}
83194
83195// AsMagentoLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
83196func (hls HdfsLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
83197	return nil, false
83198}
83199
83200// AsJiraLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
83201func (hls HdfsLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
83202	return nil, false
83203}
83204
83205// AsImpalaLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
83206func (hls HdfsLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
83207	return nil, false
83208}
83209
83210// AsHubspotLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
83211func (hls HdfsLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
83212	return nil, false
83213}
83214
83215// AsHiveLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
83216func (hls HdfsLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
83217	return nil, false
83218}
83219
83220// AsHBaseLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
83221func (hls HdfsLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
83222	return nil, false
83223}
83224
83225// AsGreenplumLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
83226func (hls HdfsLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
83227	return nil, false
83228}
83229
83230// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
83231func (hls HdfsLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
83232	return nil, false
83233}
83234
83235// AsEloquaLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
83236func (hls HdfsLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
83237	return nil, false
83238}
83239
83240// AsDrillLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
83241func (hls HdfsLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
83242	return nil, false
83243}
83244
83245// AsCouchbaseLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
83246func (hls HdfsLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
83247	return nil, false
83248}
83249
83250// AsConcurLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
83251func (hls HdfsLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
83252	return nil, false
83253}
83254
83255// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
83256func (hls HdfsLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
83257	return nil, false
83258}
83259
83260// AsAmazonMWSLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
83261func (hls HdfsLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
83262	return nil, false
83263}
83264
83265// AsSapHanaLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
83266func (hls HdfsLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
83267	return nil, false
83268}
83269
83270// AsSapBWLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
83271func (hls HdfsLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
83272	return nil, false
83273}
83274
83275// AsSftpServerLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
83276func (hls HdfsLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
83277	return nil, false
83278}
83279
83280// AsFtpServerLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
83281func (hls HdfsLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
83282	return nil, false
83283}
83284
83285// AsHTTPLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
83286func (hls HdfsLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
83287	return nil, false
83288}
83289
83290// AsAzureSearchLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
83291func (hls HdfsLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
83292	return nil, false
83293}
83294
83295// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
83296func (hls HdfsLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
83297	return nil, false
83298}
83299
83300// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
83301func (hls HdfsLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
83302	return nil, false
83303}
83304
83305// AsAmazonS3LinkedService is the BasicLinkedService implementation for HdfsLinkedService.
83306func (hls HdfsLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
83307	return nil, false
83308}
83309
83310// AsRestServiceLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
83311func (hls HdfsLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) {
83312	return nil, false
83313}
83314
83315// AsSapOpenHubLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
83316func (hls HdfsLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) {
83317	return nil, false
83318}
83319
83320// AsSapEccLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
83321func (hls HdfsLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
83322	return nil, false
83323}
83324
83325// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
83326func (hls HdfsLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
83327	return nil, false
83328}
83329
83330// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
83331func (hls HdfsLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) {
83332	return nil, false
83333}
83334
83335// AsSalesforceLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
83336func (hls HdfsLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
83337	return nil, false
83338}
83339
83340// AsOffice365LinkedService is the BasicLinkedService implementation for HdfsLinkedService.
83341func (hls HdfsLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) {
83342	return nil, false
83343}
83344
83345// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
83346func (hls HdfsLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) {
83347	return nil, false
83348}
83349
83350// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
83351func (hls HdfsLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
83352	return nil, false
83353}
83354
83355// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for HdfsLinkedService.
83356func (hls HdfsLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) {
83357	return nil, false
83358}
83359
83360// AsMongoDbV2LinkedService is the BasicLinkedService implementation for HdfsLinkedService.
83361func (hls HdfsLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) {
83362	return nil, false
83363}
83364
83365// AsMongoDbLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
83366func (hls HdfsLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
83367	return nil, false
83368}
83369
83370// AsCassandraLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
83371func (hls HdfsLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
83372	return nil, false
83373}
83374
83375// AsWebLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
83376func (hls HdfsLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
83377	return nil, false
83378}
83379
83380// AsODataLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
83381func (hls HdfsLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
83382	return nil, false
83383}
83384
83385// AsHdfsLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
83386func (hls HdfsLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
83387	return &hls, true
83388}
83389
83390// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
83391func (hls HdfsLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) {
83392	return nil, false
83393}
83394
83395// AsInformixLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
83396func (hls HdfsLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) {
83397	return nil, false
83398}
83399
83400// AsOdbcLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
83401func (hls HdfsLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
83402	return nil, false
83403}
83404
83405// AsAzureMLLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
83406func (hls HdfsLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
83407	return nil, false
83408}
83409
83410// AsTeradataLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
83411func (hls HdfsLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
83412	return nil, false
83413}
83414
83415// AsDb2LinkedService is the BasicLinkedService implementation for HdfsLinkedService.
83416func (hls HdfsLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
83417	return nil, false
83418}
83419
83420// AsSybaseLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
83421func (hls HdfsLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
83422	return nil, false
83423}
83424
83425// AsPostgreSQLLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
83426func (hls HdfsLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
83427	return nil, false
83428}
83429
83430// AsMySQLLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
83431func (hls HdfsLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
83432	return nil, false
83433}
83434
83435// AsAzureMySQLLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
83436func (hls HdfsLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
83437	return nil, false
83438}
83439
83440// AsOracleLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
83441func (hls HdfsLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
83442	return nil, false
83443}
83444
83445// AsFileServerLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
83446func (hls HdfsLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
83447	return nil, false
83448}
83449
83450// AsHDInsightLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
83451func (hls HdfsLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
83452	return nil, false
83453}
83454
83455// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
83456func (hls HdfsLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) {
83457	return nil, false
83458}
83459
83460// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
83461func (hls HdfsLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) {
83462	return nil, false
83463}
83464
83465// AsDynamicsLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
83466func (hls HdfsLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
83467	return nil, false
83468}
83469
83470// AsCosmosDbLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
83471func (hls HdfsLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
83472	return nil, false
83473}
83474
83475// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
83476func (hls HdfsLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
83477	return nil, false
83478}
83479
83480// AsAzureBatchLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
83481func (hls HdfsLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
83482	return nil, false
83483}
83484
83485// AsAzureSQLMILinkedService is the BasicLinkedService implementation for HdfsLinkedService.
83486func (hls HdfsLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) {
83487	return nil, false
83488}
83489
83490// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
83491func (hls HdfsLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
83492	return nil, false
83493}
83494
83495// AsSQLServerLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
83496func (hls HdfsLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
83497	return nil, false
83498}
83499
83500// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
83501func (hls HdfsLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
83502	return nil, false
83503}
83504
83505// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
83506func (hls HdfsLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) {
83507	return nil, false
83508}
83509
83510// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
83511func (hls HdfsLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) {
83512	return nil, false
83513}
83514
83515// AsAzureStorageLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
83516func (hls HdfsLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
83517	return nil, false
83518}
83519
83520// AsLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
83521func (hls HdfsLinkedService) AsLinkedService() (*LinkedService, bool) {
83522	return nil, false
83523}
83524
83525// AsBasicLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
83526func (hls HdfsLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
83527	return &hls, true
83528}
83529
83530// UnmarshalJSON is the custom unmarshaler for HdfsLinkedService struct.
83531func (hls *HdfsLinkedService) UnmarshalJSON(body []byte) error {
83532	var m map[string]*json.RawMessage
83533	err := json.Unmarshal(body, &m)
83534	if err != nil {
83535		return err
83536	}
83537	for k, v := range m {
83538		switch k {
83539		case "typeProperties":
83540			if v != nil {
83541				var hdfsLinkedServiceTypeProperties HdfsLinkedServiceTypeProperties
83542				err = json.Unmarshal(*v, &hdfsLinkedServiceTypeProperties)
83543				if err != nil {
83544					return err
83545				}
83546				hls.HdfsLinkedServiceTypeProperties = &hdfsLinkedServiceTypeProperties
83547			}
83548		default:
83549			if v != nil {
83550				var additionalProperties interface{}
83551				err = json.Unmarshal(*v, &additionalProperties)
83552				if err != nil {
83553					return err
83554				}
83555				if hls.AdditionalProperties == nil {
83556					hls.AdditionalProperties = make(map[string]interface{})
83557				}
83558				hls.AdditionalProperties[k] = additionalProperties
83559			}
83560		case "connectVia":
83561			if v != nil {
83562				var connectVia IntegrationRuntimeReference
83563				err = json.Unmarshal(*v, &connectVia)
83564				if err != nil {
83565					return err
83566				}
83567				hls.ConnectVia = &connectVia
83568			}
83569		case "description":
83570			if v != nil {
83571				var description string
83572				err = json.Unmarshal(*v, &description)
83573				if err != nil {
83574					return err
83575				}
83576				hls.Description = &description
83577			}
83578		case "parameters":
83579			if v != nil {
83580				var parameters map[string]*ParameterSpecification
83581				err = json.Unmarshal(*v, &parameters)
83582				if err != nil {
83583					return err
83584				}
83585				hls.Parameters = parameters
83586			}
83587		case "annotations":
83588			if v != nil {
83589				var annotations []interface{}
83590				err = json.Unmarshal(*v, &annotations)
83591				if err != nil {
83592					return err
83593				}
83594				hls.Annotations = &annotations
83595			}
83596		case "type":
83597			if v != nil {
83598				var typeVar TypeBasicLinkedService
83599				err = json.Unmarshal(*v, &typeVar)
83600				if err != nil {
83601					return err
83602				}
83603				hls.Type = typeVar
83604			}
83605		}
83606	}
83607
83608	return nil
83609}
83610
83611// HdfsLinkedServiceTypeProperties HDFS linked service properties.
83612type HdfsLinkedServiceTypeProperties struct {
83613	// URL - The URL of the HDFS service endpoint, e.g. http://myhostname:50070/webhdfs/v1 . Type: string (or Expression with resultType string).
83614	URL interface{} `json:"url,omitempty"`
83615	// AuthenticationType - Type of authentication used to connect to the HDFS. Possible values are: Anonymous and Windows. Type: string (or Expression with resultType string).
83616	AuthenticationType interface{} `json:"authenticationType,omitempty"`
83617	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
83618	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
83619	// UserName - User name for Windows authentication. Type: string (or Expression with resultType string).
83620	UserName interface{} `json:"userName,omitempty"`
83621	// Password - Password for Windows authentication.
83622	Password BasicSecretBase `json:"password,omitempty"`
83623}
83624
83625// UnmarshalJSON is the custom unmarshaler for HdfsLinkedServiceTypeProperties struct.
83626func (hlstp *HdfsLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
83627	var m map[string]*json.RawMessage
83628	err := json.Unmarshal(body, &m)
83629	if err != nil {
83630		return err
83631	}
83632	for k, v := range m {
83633		switch k {
83634		case "url":
83635			if v != nil {
83636				var URL interface{}
83637				err = json.Unmarshal(*v, &URL)
83638				if err != nil {
83639					return err
83640				}
83641				hlstp.URL = URL
83642			}
83643		case "authenticationType":
83644			if v != nil {
83645				var authenticationType interface{}
83646				err = json.Unmarshal(*v, &authenticationType)
83647				if err != nil {
83648					return err
83649				}
83650				hlstp.AuthenticationType = authenticationType
83651			}
83652		case "encryptedCredential":
83653			if v != nil {
83654				var encryptedCredential interface{}
83655				err = json.Unmarshal(*v, &encryptedCredential)
83656				if err != nil {
83657					return err
83658				}
83659				hlstp.EncryptedCredential = encryptedCredential
83660			}
83661		case "userName":
83662			if v != nil {
83663				var userName interface{}
83664				err = json.Unmarshal(*v, &userName)
83665				if err != nil {
83666					return err
83667				}
83668				hlstp.UserName = userName
83669			}
83670		case "password":
83671			if v != nil {
83672				password, err := unmarshalBasicSecretBase(*v)
83673				if err != nil {
83674					return err
83675				}
83676				hlstp.Password = password
83677			}
83678		}
83679	}
83680
83681	return nil
83682}
83683
83684// HdfsLocation the location of HDFS.
83685type HdfsLocation struct {
83686	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
83687	AdditionalProperties map[string]interface{} `json:""`
83688	// Type - Type of dataset storage location.
83689	Type *string `json:"type,omitempty"`
83690	// FolderPath - Specify the folder path of dataset. Type: string (or Expression with resultType string)
83691	FolderPath interface{} `json:"folderPath,omitempty"`
83692	// FileName - Specify the file name of dataset. Type: string (or Expression with resultType string).
83693	FileName interface{} `json:"fileName,omitempty"`
83694}
83695
83696// MarshalJSON is the custom marshaler for HdfsLocation.
83697func (hl HdfsLocation) MarshalJSON() ([]byte, error) {
83698	objectMap := make(map[string]interface{})
83699	if hl.Type != nil {
83700		objectMap["type"] = hl.Type
83701	}
83702	if hl.FolderPath != nil {
83703		objectMap["folderPath"] = hl.FolderPath
83704	}
83705	if hl.FileName != nil {
83706		objectMap["fileName"] = hl.FileName
83707	}
83708	for k, v := range hl.AdditionalProperties {
83709		objectMap[k] = v
83710	}
83711	return json.Marshal(objectMap)
83712}
83713
83714// UnmarshalJSON is the custom unmarshaler for HdfsLocation struct.
83715func (hl *HdfsLocation) UnmarshalJSON(body []byte) error {
83716	var m map[string]*json.RawMessage
83717	err := json.Unmarshal(body, &m)
83718	if err != nil {
83719		return err
83720	}
83721	for k, v := range m {
83722		switch k {
83723		default:
83724			if v != nil {
83725				var additionalProperties interface{}
83726				err = json.Unmarshal(*v, &additionalProperties)
83727				if err != nil {
83728					return err
83729				}
83730				if hl.AdditionalProperties == nil {
83731					hl.AdditionalProperties = make(map[string]interface{})
83732				}
83733				hl.AdditionalProperties[k] = additionalProperties
83734			}
83735		case "type":
83736			if v != nil {
83737				var typeVar string
83738				err = json.Unmarshal(*v, &typeVar)
83739				if err != nil {
83740					return err
83741				}
83742				hl.Type = &typeVar
83743			}
83744		case "folderPath":
83745			if v != nil {
83746				var folderPath interface{}
83747				err = json.Unmarshal(*v, &folderPath)
83748				if err != nil {
83749					return err
83750				}
83751				hl.FolderPath = folderPath
83752			}
83753		case "fileName":
83754			if v != nil {
83755				var fileName interface{}
83756				err = json.Unmarshal(*v, &fileName)
83757				if err != nil {
83758					return err
83759				}
83760				hl.FileName = fileName
83761			}
83762		}
83763	}
83764
83765	return nil
83766}
83767
83768// HdfsReadSettings HDFS read settings.
83769type HdfsReadSettings struct {
83770	// Recursive - If true, files under the folder path will be read recursively. Default is true. Type: boolean (or Expression with resultType boolean).
83771	Recursive interface{} `json:"recursive,omitempty"`
83772	// WildcardFolderPath - HDFS wildcardFolderPath. Type: string (or Expression with resultType string).
83773	WildcardFolderPath interface{} `json:"wildcardFolderPath,omitempty"`
83774	// WildcardFileName - HDFS wildcardFileName. Type: string (or Expression with resultType string).
83775	WildcardFileName interface{} `json:"wildcardFileName,omitempty"`
83776	// EnablePartitionDiscovery - Indicates whether to enable partition discovery.
83777	EnablePartitionDiscovery *bool `json:"enablePartitionDiscovery,omitempty"`
83778	// ModifiedDatetimeStart - The start of file's modified datetime. Type: string (or Expression with resultType string).
83779	ModifiedDatetimeStart interface{} `json:"modifiedDatetimeStart,omitempty"`
83780	// ModifiedDatetimeEnd - The end of file's modified datetime. Type: string (or Expression with resultType string).
83781	ModifiedDatetimeEnd interface{} `json:"modifiedDatetimeEnd,omitempty"`
83782	// DistcpSettings - Specifies Distcp-related settings.
83783	DistcpSettings *DistcpSettings `json:"distcpSettings,omitempty"`
83784	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
83785	AdditionalProperties map[string]interface{} `json:""`
83786	// Type - The read setting type.
83787	Type *string `json:"type,omitempty"`
83788	// MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer).
83789	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
83790}
83791
83792// MarshalJSON is the custom marshaler for HdfsReadSettings.
83793func (hrs HdfsReadSettings) MarshalJSON() ([]byte, error) {
83794	objectMap := make(map[string]interface{})
83795	if hrs.Recursive != nil {
83796		objectMap["recursive"] = hrs.Recursive
83797	}
83798	if hrs.WildcardFolderPath != nil {
83799		objectMap["wildcardFolderPath"] = hrs.WildcardFolderPath
83800	}
83801	if hrs.WildcardFileName != nil {
83802		objectMap["wildcardFileName"] = hrs.WildcardFileName
83803	}
83804	if hrs.EnablePartitionDiscovery != nil {
83805		objectMap["enablePartitionDiscovery"] = hrs.EnablePartitionDiscovery
83806	}
83807	if hrs.ModifiedDatetimeStart != nil {
83808		objectMap["modifiedDatetimeStart"] = hrs.ModifiedDatetimeStart
83809	}
83810	if hrs.ModifiedDatetimeEnd != nil {
83811		objectMap["modifiedDatetimeEnd"] = hrs.ModifiedDatetimeEnd
83812	}
83813	if hrs.DistcpSettings != nil {
83814		objectMap["distcpSettings"] = hrs.DistcpSettings
83815	}
83816	if hrs.Type != nil {
83817		objectMap["type"] = hrs.Type
83818	}
83819	if hrs.MaxConcurrentConnections != nil {
83820		objectMap["maxConcurrentConnections"] = hrs.MaxConcurrentConnections
83821	}
83822	for k, v := range hrs.AdditionalProperties {
83823		objectMap[k] = v
83824	}
83825	return json.Marshal(objectMap)
83826}
83827
83828// UnmarshalJSON is the custom unmarshaler for HdfsReadSettings struct.
83829func (hrs *HdfsReadSettings) UnmarshalJSON(body []byte) error {
83830	var m map[string]*json.RawMessage
83831	err := json.Unmarshal(body, &m)
83832	if err != nil {
83833		return err
83834	}
83835	for k, v := range m {
83836		switch k {
83837		case "recursive":
83838			if v != nil {
83839				var recursive interface{}
83840				err = json.Unmarshal(*v, &recursive)
83841				if err != nil {
83842					return err
83843				}
83844				hrs.Recursive = recursive
83845			}
83846		case "wildcardFolderPath":
83847			if v != nil {
83848				var wildcardFolderPath interface{}
83849				err = json.Unmarshal(*v, &wildcardFolderPath)
83850				if err != nil {
83851					return err
83852				}
83853				hrs.WildcardFolderPath = wildcardFolderPath
83854			}
83855		case "wildcardFileName":
83856			if v != nil {
83857				var wildcardFileName interface{}
83858				err = json.Unmarshal(*v, &wildcardFileName)
83859				if err != nil {
83860					return err
83861				}
83862				hrs.WildcardFileName = wildcardFileName
83863			}
83864		case "enablePartitionDiscovery":
83865			if v != nil {
83866				var enablePartitionDiscovery bool
83867				err = json.Unmarshal(*v, &enablePartitionDiscovery)
83868				if err != nil {
83869					return err
83870				}
83871				hrs.EnablePartitionDiscovery = &enablePartitionDiscovery
83872			}
83873		case "modifiedDatetimeStart":
83874			if v != nil {
83875				var modifiedDatetimeStart interface{}
83876				err = json.Unmarshal(*v, &modifiedDatetimeStart)
83877				if err != nil {
83878					return err
83879				}
83880				hrs.ModifiedDatetimeStart = modifiedDatetimeStart
83881			}
83882		case "modifiedDatetimeEnd":
83883			if v != nil {
83884				var modifiedDatetimeEnd interface{}
83885				err = json.Unmarshal(*v, &modifiedDatetimeEnd)
83886				if err != nil {
83887					return err
83888				}
83889				hrs.ModifiedDatetimeEnd = modifiedDatetimeEnd
83890			}
83891		case "distcpSettings":
83892			if v != nil {
83893				var distcpSettings DistcpSettings
83894				err = json.Unmarshal(*v, &distcpSettings)
83895				if err != nil {
83896					return err
83897				}
83898				hrs.DistcpSettings = &distcpSettings
83899			}
83900		default:
83901			if v != nil {
83902				var additionalProperties interface{}
83903				err = json.Unmarshal(*v, &additionalProperties)
83904				if err != nil {
83905					return err
83906				}
83907				if hrs.AdditionalProperties == nil {
83908					hrs.AdditionalProperties = make(map[string]interface{})
83909				}
83910				hrs.AdditionalProperties[k] = additionalProperties
83911			}
83912		case "type":
83913			if v != nil {
83914				var typeVar string
83915				err = json.Unmarshal(*v, &typeVar)
83916				if err != nil {
83917					return err
83918				}
83919				hrs.Type = &typeVar
83920			}
83921		case "maxConcurrentConnections":
83922			if v != nil {
83923				var maxConcurrentConnections interface{}
83924				err = json.Unmarshal(*v, &maxConcurrentConnections)
83925				if err != nil {
83926					return err
83927				}
83928				hrs.MaxConcurrentConnections = maxConcurrentConnections
83929			}
83930		}
83931	}
83932
83933	return nil
83934}
83935
83936// HdfsSource a copy activity HDFS source.
83937type HdfsSource struct {
83938	// Recursive - If true, files under the folder path will be read recursively. Default is true. Type: boolean (or Expression with resultType boolean).
83939	Recursive interface{} `json:"recursive,omitempty"`
83940	// DistcpSettings - Specifies Distcp-related settings.
83941	DistcpSettings *DistcpSettings `json:"distcpSettings,omitempty"`
83942	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
83943	AdditionalProperties map[string]interface{} `json:""`
83944	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
83945	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
83946	// 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])).
83947	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
83948	// MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer).
83949	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
83950	// Type - Possible values include: 'TypeCopySource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', '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', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeCassandraSource', 'TypeWebSource', 'TypeTeradataSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeAzureMySQLSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeRestSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceServiceCloudSource', 'TypeSalesforceSource', 'TypeODataSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeMicrosoftAccessSource', 'TypeInformixSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAzureTableSource', 'TypeBinarySource', 'TypeDelimitedTextSource', 'TypeParquetSource'
83951	Type TypeBasicCopySource `json:"type,omitempty"`
83952}
83953
83954// MarshalJSON is the custom marshaler for HdfsSource.
83955func (hs HdfsSource) MarshalJSON() ([]byte, error) {
83956	hs.Type = TypeHdfsSource
83957	objectMap := make(map[string]interface{})
83958	if hs.Recursive != nil {
83959		objectMap["recursive"] = hs.Recursive
83960	}
83961	if hs.DistcpSettings != nil {
83962		objectMap["distcpSettings"] = hs.DistcpSettings
83963	}
83964	if hs.SourceRetryCount != nil {
83965		objectMap["sourceRetryCount"] = hs.SourceRetryCount
83966	}
83967	if hs.SourceRetryWait != nil {
83968		objectMap["sourceRetryWait"] = hs.SourceRetryWait
83969	}
83970	if hs.MaxConcurrentConnections != nil {
83971		objectMap["maxConcurrentConnections"] = hs.MaxConcurrentConnections
83972	}
83973	if hs.Type != "" {
83974		objectMap["type"] = hs.Type
83975	}
83976	for k, v := range hs.AdditionalProperties {
83977		objectMap[k] = v
83978	}
83979	return json.Marshal(objectMap)
83980}
83981
83982// AsAmazonRedshiftSource is the BasicCopySource implementation for HdfsSource.
83983func (hs HdfsSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
83984	return nil, false
83985}
83986
83987// AsGoogleAdWordsSource is the BasicCopySource implementation for HdfsSource.
83988func (hs HdfsSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) {
83989	return nil, false
83990}
83991
83992// AsOracleServiceCloudSource is the BasicCopySource implementation for HdfsSource.
83993func (hs HdfsSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) {
83994	return nil, false
83995}
83996
83997// AsDynamicsAXSource is the BasicCopySource implementation for HdfsSource.
83998func (hs HdfsSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) {
83999	return nil, false
84000}
84001
84002// AsResponsysSource is the BasicCopySource implementation for HdfsSource.
84003func (hs HdfsSource) AsResponsysSource() (*ResponsysSource, bool) {
84004	return nil, false
84005}
84006
84007// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for HdfsSource.
84008func (hs HdfsSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
84009	return nil, false
84010}
84011
84012// AsVerticaSource is the BasicCopySource implementation for HdfsSource.
84013func (hs HdfsSource) AsVerticaSource() (*VerticaSource, bool) {
84014	return nil, false
84015}
84016
84017// AsNetezzaSource is the BasicCopySource implementation for HdfsSource.
84018func (hs HdfsSource) AsNetezzaSource() (*NetezzaSource, bool) {
84019	return nil, false
84020}
84021
84022// AsZohoSource is the BasicCopySource implementation for HdfsSource.
84023func (hs HdfsSource) AsZohoSource() (*ZohoSource, bool) {
84024	return nil, false
84025}
84026
84027// AsXeroSource is the BasicCopySource implementation for HdfsSource.
84028func (hs HdfsSource) AsXeroSource() (*XeroSource, bool) {
84029	return nil, false
84030}
84031
84032// AsSquareSource is the BasicCopySource implementation for HdfsSource.
84033func (hs HdfsSource) AsSquareSource() (*SquareSource, bool) {
84034	return nil, false
84035}
84036
84037// AsSparkSource is the BasicCopySource implementation for HdfsSource.
84038func (hs HdfsSource) AsSparkSource() (*SparkSource, bool) {
84039	return nil, false
84040}
84041
84042// AsShopifySource is the BasicCopySource implementation for HdfsSource.
84043func (hs HdfsSource) AsShopifySource() (*ShopifySource, bool) {
84044	return nil, false
84045}
84046
84047// AsServiceNowSource is the BasicCopySource implementation for HdfsSource.
84048func (hs HdfsSource) AsServiceNowSource() (*ServiceNowSource, bool) {
84049	return nil, false
84050}
84051
84052// AsQuickBooksSource is the BasicCopySource implementation for HdfsSource.
84053func (hs HdfsSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
84054	return nil, false
84055}
84056
84057// AsPrestoSource is the BasicCopySource implementation for HdfsSource.
84058func (hs HdfsSource) AsPrestoSource() (*PrestoSource, bool) {
84059	return nil, false
84060}
84061
84062// AsPhoenixSource is the BasicCopySource implementation for HdfsSource.
84063func (hs HdfsSource) AsPhoenixSource() (*PhoenixSource, bool) {
84064	return nil, false
84065}
84066
84067// AsPaypalSource is the BasicCopySource implementation for HdfsSource.
84068func (hs HdfsSource) AsPaypalSource() (*PaypalSource, bool) {
84069	return nil, false
84070}
84071
84072// AsMarketoSource is the BasicCopySource implementation for HdfsSource.
84073func (hs HdfsSource) AsMarketoSource() (*MarketoSource, bool) {
84074	return nil, false
84075}
84076
84077// AsMariaDBSource is the BasicCopySource implementation for HdfsSource.
84078func (hs HdfsSource) AsMariaDBSource() (*MariaDBSource, bool) {
84079	return nil, false
84080}
84081
84082// AsMagentoSource is the BasicCopySource implementation for HdfsSource.
84083func (hs HdfsSource) AsMagentoSource() (*MagentoSource, bool) {
84084	return nil, false
84085}
84086
84087// AsJiraSource is the BasicCopySource implementation for HdfsSource.
84088func (hs HdfsSource) AsJiraSource() (*JiraSource, bool) {
84089	return nil, false
84090}
84091
84092// AsImpalaSource is the BasicCopySource implementation for HdfsSource.
84093func (hs HdfsSource) AsImpalaSource() (*ImpalaSource, bool) {
84094	return nil, false
84095}
84096
84097// AsHubspotSource is the BasicCopySource implementation for HdfsSource.
84098func (hs HdfsSource) AsHubspotSource() (*HubspotSource, bool) {
84099	return nil, false
84100}
84101
84102// AsHiveSource is the BasicCopySource implementation for HdfsSource.
84103func (hs HdfsSource) AsHiveSource() (*HiveSource, bool) {
84104	return nil, false
84105}
84106
84107// AsHBaseSource is the BasicCopySource implementation for HdfsSource.
84108func (hs HdfsSource) AsHBaseSource() (*HBaseSource, bool) {
84109	return nil, false
84110}
84111
84112// AsGreenplumSource is the BasicCopySource implementation for HdfsSource.
84113func (hs HdfsSource) AsGreenplumSource() (*GreenplumSource, bool) {
84114	return nil, false
84115}
84116
84117// AsGoogleBigQuerySource is the BasicCopySource implementation for HdfsSource.
84118func (hs HdfsSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
84119	return nil, false
84120}
84121
84122// AsEloquaSource is the BasicCopySource implementation for HdfsSource.
84123func (hs HdfsSource) AsEloquaSource() (*EloquaSource, bool) {
84124	return nil, false
84125}
84126
84127// AsDrillSource is the BasicCopySource implementation for HdfsSource.
84128func (hs HdfsSource) AsDrillSource() (*DrillSource, bool) {
84129	return nil, false
84130}
84131
84132// AsCouchbaseSource is the BasicCopySource implementation for HdfsSource.
84133func (hs HdfsSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
84134	return nil, false
84135}
84136
84137// AsConcurSource is the BasicCopySource implementation for HdfsSource.
84138func (hs HdfsSource) AsConcurSource() (*ConcurSource, bool) {
84139	return nil, false
84140}
84141
84142// AsAzurePostgreSQLSource is the BasicCopySource implementation for HdfsSource.
84143func (hs HdfsSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
84144	return nil, false
84145}
84146
84147// AsAmazonMWSSource is the BasicCopySource implementation for HdfsSource.
84148func (hs HdfsSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
84149	return nil, false
84150}
84151
84152// AsHTTPSource is the BasicCopySource implementation for HdfsSource.
84153func (hs HdfsSource) AsHTTPSource() (*HTTPSource, bool) {
84154	return nil, false
84155}
84156
84157// AsAzureBlobFSSource is the BasicCopySource implementation for HdfsSource.
84158func (hs HdfsSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) {
84159	return nil, false
84160}
84161
84162// AsAzureDataLakeStoreSource is the BasicCopySource implementation for HdfsSource.
84163func (hs HdfsSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
84164	return nil, false
84165}
84166
84167// AsOffice365Source is the BasicCopySource implementation for HdfsSource.
84168func (hs HdfsSource) AsOffice365Source() (*Office365Source, bool) {
84169	return nil, false
84170}
84171
84172// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for HdfsSource.
84173func (hs HdfsSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) {
84174	return nil, false
84175}
84176
84177// AsMongoDbV2Source is the BasicCopySource implementation for HdfsSource.
84178func (hs HdfsSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) {
84179	return nil, false
84180}
84181
84182// AsMongoDbSource is the BasicCopySource implementation for HdfsSource.
84183func (hs HdfsSource) AsMongoDbSource() (*MongoDbSource, bool) {
84184	return nil, false
84185}
84186
84187// AsCassandraSource is the BasicCopySource implementation for HdfsSource.
84188func (hs HdfsSource) AsCassandraSource() (*CassandraSource, bool) {
84189	return nil, false
84190}
84191
84192// AsWebSource is the BasicCopySource implementation for HdfsSource.
84193func (hs HdfsSource) AsWebSource() (*WebSource, bool) {
84194	return nil, false
84195}
84196
84197// AsTeradataSource is the BasicCopySource implementation for HdfsSource.
84198func (hs HdfsSource) AsTeradataSource() (*TeradataSource, bool) {
84199	return nil, false
84200}
84201
84202// AsOracleSource is the BasicCopySource implementation for HdfsSource.
84203func (hs HdfsSource) AsOracleSource() (*OracleSource, bool) {
84204	return nil, false
84205}
84206
84207// AsAzureDataExplorerSource is the BasicCopySource implementation for HdfsSource.
84208func (hs HdfsSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) {
84209	return nil, false
84210}
84211
84212// AsAzureMySQLSource is the BasicCopySource implementation for HdfsSource.
84213func (hs HdfsSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
84214	return nil, false
84215}
84216
84217// AsHdfsSource is the BasicCopySource implementation for HdfsSource.
84218func (hs HdfsSource) AsHdfsSource() (*HdfsSource, bool) {
84219	return &hs, true
84220}
84221
84222// AsFileSystemSource is the BasicCopySource implementation for HdfsSource.
84223func (hs HdfsSource) AsFileSystemSource() (*FileSystemSource, bool) {
84224	return nil, false
84225}
84226
84227// AsSQLDWSource is the BasicCopySource implementation for HdfsSource.
84228func (hs HdfsSource) AsSQLDWSource() (*SQLDWSource, bool) {
84229	return nil, false
84230}
84231
84232// AsSQLMISource is the BasicCopySource implementation for HdfsSource.
84233func (hs HdfsSource) AsSQLMISource() (*SQLMISource, bool) {
84234	return nil, false
84235}
84236
84237// AsAzureSQLSource is the BasicCopySource implementation for HdfsSource.
84238func (hs HdfsSource) AsAzureSQLSource() (*AzureSQLSource, bool) {
84239	return nil, false
84240}
84241
84242// AsSQLServerSource is the BasicCopySource implementation for HdfsSource.
84243func (hs HdfsSource) AsSQLServerSource() (*SQLServerSource, bool) {
84244	return nil, false
84245}
84246
84247// AsSQLSource is the BasicCopySource implementation for HdfsSource.
84248func (hs HdfsSource) AsSQLSource() (*SQLSource, bool) {
84249	return nil, false
84250}
84251
84252// AsRestSource is the BasicCopySource implementation for HdfsSource.
84253func (hs HdfsSource) AsRestSource() (*RestSource, bool) {
84254	return nil, false
84255}
84256
84257// AsSapTableSource is the BasicCopySource implementation for HdfsSource.
84258func (hs HdfsSource) AsSapTableSource() (*SapTableSource, bool) {
84259	return nil, false
84260}
84261
84262// AsSapOpenHubSource is the BasicCopySource implementation for HdfsSource.
84263func (hs HdfsSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) {
84264	return nil, false
84265}
84266
84267// AsSapHanaSource is the BasicCopySource implementation for HdfsSource.
84268func (hs HdfsSource) AsSapHanaSource() (*SapHanaSource, bool) {
84269	return nil, false
84270}
84271
84272// AsSapEccSource is the BasicCopySource implementation for HdfsSource.
84273func (hs HdfsSource) AsSapEccSource() (*SapEccSource, bool) {
84274	return nil, false
84275}
84276
84277// AsSapCloudForCustomerSource is the BasicCopySource implementation for HdfsSource.
84278func (hs HdfsSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
84279	return nil, false
84280}
84281
84282// AsSalesforceServiceCloudSource is the BasicCopySource implementation for HdfsSource.
84283func (hs HdfsSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) {
84284	return nil, false
84285}
84286
84287// AsSalesforceSource is the BasicCopySource implementation for HdfsSource.
84288func (hs HdfsSource) AsSalesforceSource() (*SalesforceSource, bool) {
84289	return nil, false
84290}
84291
84292// AsODataSource is the BasicCopySource implementation for HdfsSource.
84293func (hs HdfsSource) AsODataSource() (*ODataSource, bool) {
84294	return nil, false
84295}
84296
84297// AsSybaseSource is the BasicCopySource implementation for HdfsSource.
84298func (hs HdfsSource) AsSybaseSource() (*SybaseSource, bool) {
84299	return nil, false
84300}
84301
84302// AsPostgreSQLSource is the BasicCopySource implementation for HdfsSource.
84303func (hs HdfsSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) {
84304	return nil, false
84305}
84306
84307// AsMySQLSource is the BasicCopySource implementation for HdfsSource.
84308func (hs HdfsSource) AsMySQLSource() (*MySQLSource, bool) {
84309	return nil, false
84310}
84311
84312// AsOdbcSource is the BasicCopySource implementation for HdfsSource.
84313func (hs HdfsSource) AsOdbcSource() (*OdbcSource, bool) {
84314	return nil, false
84315}
84316
84317// AsDb2Source is the BasicCopySource implementation for HdfsSource.
84318func (hs HdfsSource) AsDb2Source() (*Db2Source, bool) {
84319	return nil, false
84320}
84321
84322// AsMicrosoftAccessSource is the BasicCopySource implementation for HdfsSource.
84323func (hs HdfsSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) {
84324	return nil, false
84325}
84326
84327// AsInformixSource is the BasicCopySource implementation for HdfsSource.
84328func (hs HdfsSource) AsInformixSource() (*InformixSource, bool) {
84329	return nil, false
84330}
84331
84332// AsRelationalSource is the BasicCopySource implementation for HdfsSource.
84333func (hs HdfsSource) AsRelationalSource() (*RelationalSource, bool) {
84334	return nil, false
84335}
84336
84337// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for HdfsSource.
84338func (hs HdfsSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) {
84339	return nil, false
84340}
84341
84342// AsDynamicsCrmSource is the BasicCopySource implementation for HdfsSource.
84343func (hs HdfsSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) {
84344	return nil, false
84345}
84346
84347// AsDynamicsSource is the BasicCopySource implementation for HdfsSource.
84348func (hs HdfsSource) AsDynamicsSource() (*DynamicsSource, bool) {
84349	return nil, false
84350}
84351
84352// AsDocumentDbCollectionSource is the BasicCopySource implementation for HdfsSource.
84353func (hs HdfsSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
84354	return nil, false
84355}
84356
84357// AsBlobSource is the BasicCopySource implementation for HdfsSource.
84358func (hs HdfsSource) AsBlobSource() (*BlobSource, bool) {
84359	return nil, false
84360}
84361
84362// AsAzureTableSource is the BasicCopySource implementation for HdfsSource.
84363func (hs HdfsSource) AsAzureTableSource() (*AzureTableSource, bool) {
84364	return nil, false
84365}
84366
84367// AsBinarySource is the BasicCopySource implementation for HdfsSource.
84368func (hs HdfsSource) AsBinarySource() (*BinarySource, bool) {
84369	return nil, false
84370}
84371
84372// AsDelimitedTextSource is the BasicCopySource implementation for HdfsSource.
84373func (hs HdfsSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) {
84374	return nil, false
84375}
84376
84377// AsParquetSource is the BasicCopySource implementation for HdfsSource.
84378func (hs HdfsSource) AsParquetSource() (*ParquetSource, bool) {
84379	return nil, false
84380}
84381
84382// AsCopySource is the BasicCopySource implementation for HdfsSource.
84383func (hs HdfsSource) AsCopySource() (*CopySource, bool) {
84384	return nil, false
84385}
84386
84387// AsBasicCopySource is the BasicCopySource implementation for HdfsSource.
84388func (hs HdfsSource) AsBasicCopySource() (BasicCopySource, bool) {
84389	return &hs, true
84390}
84391
84392// UnmarshalJSON is the custom unmarshaler for HdfsSource struct.
84393func (hs *HdfsSource) UnmarshalJSON(body []byte) error {
84394	var m map[string]*json.RawMessage
84395	err := json.Unmarshal(body, &m)
84396	if err != nil {
84397		return err
84398	}
84399	for k, v := range m {
84400		switch k {
84401		case "recursive":
84402			if v != nil {
84403				var recursive interface{}
84404				err = json.Unmarshal(*v, &recursive)
84405				if err != nil {
84406					return err
84407				}
84408				hs.Recursive = recursive
84409			}
84410		case "distcpSettings":
84411			if v != nil {
84412				var distcpSettings DistcpSettings
84413				err = json.Unmarshal(*v, &distcpSettings)
84414				if err != nil {
84415					return err
84416				}
84417				hs.DistcpSettings = &distcpSettings
84418			}
84419		default:
84420			if v != nil {
84421				var additionalProperties interface{}
84422				err = json.Unmarshal(*v, &additionalProperties)
84423				if err != nil {
84424					return err
84425				}
84426				if hs.AdditionalProperties == nil {
84427					hs.AdditionalProperties = make(map[string]interface{})
84428				}
84429				hs.AdditionalProperties[k] = additionalProperties
84430			}
84431		case "sourceRetryCount":
84432			if v != nil {
84433				var sourceRetryCount interface{}
84434				err = json.Unmarshal(*v, &sourceRetryCount)
84435				if err != nil {
84436					return err
84437				}
84438				hs.SourceRetryCount = sourceRetryCount
84439			}
84440		case "sourceRetryWait":
84441			if v != nil {
84442				var sourceRetryWait interface{}
84443				err = json.Unmarshal(*v, &sourceRetryWait)
84444				if err != nil {
84445					return err
84446				}
84447				hs.SourceRetryWait = sourceRetryWait
84448			}
84449		case "maxConcurrentConnections":
84450			if v != nil {
84451				var maxConcurrentConnections interface{}
84452				err = json.Unmarshal(*v, &maxConcurrentConnections)
84453				if err != nil {
84454					return err
84455				}
84456				hs.MaxConcurrentConnections = maxConcurrentConnections
84457			}
84458		case "type":
84459			if v != nil {
84460				var typeVar TypeBasicCopySource
84461				err = json.Unmarshal(*v, &typeVar)
84462				if err != nil {
84463					return err
84464				}
84465				hs.Type = typeVar
84466			}
84467		}
84468	}
84469
84470	return nil
84471}
84472
84473// HDInsightHiveActivity hDInsight Hive activity type.
84474type HDInsightHiveActivity struct {
84475	// HDInsightHiveActivityTypeProperties - HDInsight Hive activity properties.
84476	*HDInsightHiveActivityTypeProperties `json:"typeProperties,omitempty"`
84477	// LinkedServiceName - Linked service reference.
84478	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
84479	// Policy - Activity policy.
84480	Policy *ActivityPolicy `json:"policy,omitempty"`
84481	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
84482	AdditionalProperties map[string]interface{} `json:""`
84483	// Name - Activity name.
84484	Name *string `json:"name,omitempty"`
84485	// Description - Activity description.
84486	Description *string `json:"description,omitempty"`
84487	// DependsOn - Activity depends on condition.
84488	DependsOn *[]ActivityDependency `json:"dependsOn,omitempty"`
84489	// UserProperties - Activity user properties.
84490	UserProperties *[]UserProperty `json:"userProperties,omitempty"`
84491	// Type - Possible values include: 'TypeActivity', 'TypeAzureFunctionActivity', 'TypeDatabricksSparkPython', 'TypeDatabricksSparkJar', 'TypeDatabricksNotebook', 'TypeDataLakeAnalyticsUSQL', 'TypeAzureMLUpdateResource', 'TypeAzureMLBatchExecution', 'TypeGetMetadata', 'TypeWebActivity', 'TypeLookup', 'TypeAzureDataExplorerCommand', 'TypeDelete', 'TypeSQLServerStoredProcedure', 'TypeCustom', 'TypeExecuteSSISPackage', 'TypeHDInsightSpark', 'TypeHDInsightStreaming', 'TypeHDInsightMapReduce', 'TypeHDInsightPig', 'TypeHDInsightHive', 'TypeCopy', 'TypeExecution', 'TypeWebHook', 'TypeAppendVariable', 'TypeSetVariable', 'TypeFilter', 'TypeValidation', 'TypeUntil', 'TypeWait', 'TypeForEach', 'TypeIfCondition', 'TypeExecutePipeline', 'TypeContainer'
84492	Type TypeBasicActivity `json:"type,omitempty"`
84493}
84494
84495// MarshalJSON is the custom marshaler for HDInsightHiveActivity.
84496func (hiha HDInsightHiveActivity) MarshalJSON() ([]byte, error) {
84497	hiha.Type = TypeHDInsightHive
84498	objectMap := make(map[string]interface{})
84499	if hiha.HDInsightHiveActivityTypeProperties != nil {
84500		objectMap["typeProperties"] = hiha.HDInsightHiveActivityTypeProperties
84501	}
84502	if hiha.LinkedServiceName != nil {
84503		objectMap["linkedServiceName"] = hiha.LinkedServiceName
84504	}
84505	if hiha.Policy != nil {
84506		objectMap["policy"] = hiha.Policy
84507	}
84508	if hiha.Name != nil {
84509		objectMap["name"] = hiha.Name
84510	}
84511	if hiha.Description != nil {
84512		objectMap["description"] = hiha.Description
84513	}
84514	if hiha.DependsOn != nil {
84515		objectMap["dependsOn"] = hiha.DependsOn
84516	}
84517	if hiha.UserProperties != nil {
84518		objectMap["userProperties"] = hiha.UserProperties
84519	}
84520	if hiha.Type != "" {
84521		objectMap["type"] = hiha.Type
84522	}
84523	for k, v := range hiha.AdditionalProperties {
84524		objectMap[k] = v
84525	}
84526	return json.Marshal(objectMap)
84527}
84528
84529// AsAzureFunctionActivity is the BasicActivity implementation for HDInsightHiveActivity.
84530func (hiha HDInsightHiveActivity) AsAzureFunctionActivity() (*AzureFunctionActivity, bool) {
84531	return nil, false
84532}
84533
84534// AsDatabricksSparkPythonActivity is the BasicActivity implementation for HDInsightHiveActivity.
84535func (hiha HDInsightHiveActivity) AsDatabricksSparkPythonActivity() (*DatabricksSparkPythonActivity, bool) {
84536	return nil, false
84537}
84538
84539// AsDatabricksSparkJarActivity is the BasicActivity implementation for HDInsightHiveActivity.
84540func (hiha HDInsightHiveActivity) AsDatabricksSparkJarActivity() (*DatabricksSparkJarActivity, bool) {
84541	return nil, false
84542}
84543
84544// AsDatabricksNotebookActivity is the BasicActivity implementation for HDInsightHiveActivity.
84545func (hiha HDInsightHiveActivity) AsDatabricksNotebookActivity() (*DatabricksNotebookActivity, bool) {
84546	return nil, false
84547}
84548
84549// AsDataLakeAnalyticsUSQLActivity is the BasicActivity implementation for HDInsightHiveActivity.
84550func (hiha HDInsightHiveActivity) AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalyticsUSQLActivity, bool) {
84551	return nil, false
84552}
84553
84554// AsAzureMLUpdateResourceActivity is the BasicActivity implementation for HDInsightHiveActivity.
84555func (hiha HDInsightHiveActivity) AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool) {
84556	return nil, false
84557}
84558
84559// AsAzureMLBatchExecutionActivity is the BasicActivity implementation for HDInsightHiveActivity.
84560func (hiha HDInsightHiveActivity) AsAzureMLBatchExecutionActivity() (*AzureMLBatchExecutionActivity, bool) {
84561	return nil, false
84562}
84563
84564// AsGetMetadataActivity is the BasicActivity implementation for HDInsightHiveActivity.
84565func (hiha HDInsightHiveActivity) AsGetMetadataActivity() (*GetMetadataActivity, bool) {
84566	return nil, false
84567}
84568
84569// AsWebActivity is the BasicActivity implementation for HDInsightHiveActivity.
84570func (hiha HDInsightHiveActivity) AsWebActivity() (*WebActivity, bool) {
84571	return nil, false
84572}
84573
84574// AsLookupActivity is the BasicActivity implementation for HDInsightHiveActivity.
84575func (hiha HDInsightHiveActivity) AsLookupActivity() (*LookupActivity, bool) {
84576	return nil, false
84577}
84578
84579// AsAzureDataExplorerCommandActivity is the BasicActivity implementation for HDInsightHiveActivity.
84580func (hiha HDInsightHiveActivity) AsAzureDataExplorerCommandActivity() (*AzureDataExplorerCommandActivity, bool) {
84581	return nil, false
84582}
84583
84584// AsDeleteActivity is the BasicActivity implementation for HDInsightHiveActivity.
84585func (hiha HDInsightHiveActivity) AsDeleteActivity() (*DeleteActivity, bool) {
84586	return nil, false
84587}
84588
84589// AsSQLServerStoredProcedureActivity is the BasicActivity implementation for HDInsightHiveActivity.
84590func (hiha HDInsightHiveActivity) AsSQLServerStoredProcedureActivity() (*SQLServerStoredProcedureActivity, bool) {
84591	return nil, false
84592}
84593
84594// AsCustomActivity is the BasicActivity implementation for HDInsightHiveActivity.
84595func (hiha HDInsightHiveActivity) AsCustomActivity() (*CustomActivity, bool) {
84596	return nil, false
84597}
84598
84599// AsExecuteSSISPackageActivity is the BasicActivity implementation for HDInsightHiveActivity.
84600func (hiha HDInsightHiveActivity) AsExecuteSSISPackageActivity() (*ExecuteSSISPackageActivity, bool) {
84601	return nil, false
84602}
84603
84604// AsHDInsightSparkActivity is the BasicActivity implementation for HDInsightHiveActivity.
84605func (hiha HDInsightHiveActivity) AsHDInsightSparkActivity() (*HDInsightSparkActivity, bool) {
84606	return nil, false
84607}
84608
84609// AsHDInsightStreamingActivity is the BasicActivity implementation for HDInsightHiveActivity.
84610func (hiha HDInsightHiveActivity) AsHDInsightStreamingActivity() (*HDInsightStreamingActivity, bool) {
84611	return nil, false
84612}
84613
84614// AsHDInsightMapReduceActivity is the BasicActivity implementation for HDInsightHiveActivity.
84615func (hiha HDInsightHiveActivity) AsHDInsightMapReduceActivity() (*HDInsightMapReduceActivity, bool) {
84616	return nil, false
84617}
84618
84619// AsHDInsightPigActivity is the BasicActivity implementation for HDInsightHiveActivity.
84620func (hiha HDInsightHiveActivity) AsHDInsightPigActivity() (*HDInsightPigActivity, bool) {
84621	return nil, false
84622}
84623
84624// AsHDInsightHiveActivity is the BasicActivity implementation for HDInsightHiveActivity.
84625func (hiha HDInsightHiveActivity) AsHDInsightHiveActivity() (*HDInsightHiveActivity, bool) {
84626	return &hiha, true
84627}
84628
84629// AsCopyActivity is the BasicActivity implementation for HDInsightHiveActivity.
84630func (hiha HDInsightHiveActivity) AsCopyActivity() (*CopyActivity, bool) {
84631	return nil, false
84632}
84633
84634// AsExecutionActivity is the BasicActivity implementation for HDInsightHiveActivity.
84635func (hiha HDInsightHiveActivity) AsExecutionActivity() (*ExecutionActivity, bool) {
84636	return nil, false
84637}
84638
84639// AsBasicExecutionActivity is the BasicActivity implementation for HDInsightHiveActivity.
84640func (hiha HDInsightHiveActivity) AsBasicExecutionActivity() (BasicExecutionActivity, bool) {
84641	return &hiha, true
84642}
84643
84644// AsWebHookActivity is the BasicActivity implementation for HDInsightHiveActivity.
84645func (hiha HDInsightHiveActivity) AsWebHookActivity() (*WebHookActivity, bool) {
84646	return nil, false
84647}
84648
84649// AsAppendVariableActivity is the BasicActivity implementation for HDInsightHiveActivity.
84650func (hiha HDInsightHiveActivity) AsAppendVariableActivity() (*AppendVariableActivity, bool) {
84651	return nil, false
84652}
84653
84654// AsSetVariableActivity is the BasicActivity implementation for HDInsightHiveActivity.
84655func (hiha HDInsightHiveActivity) AsSetVariableActivity() (*SetVariableActivity, bool) {
84656	return nil, false
84657}
84658
84659// AsFilterActivity is the BasicActivity implementation for HDInsightHiveActivity.
84660func (hiha HDInsightHiveActivity) AsFilterActivity() (*FilterActivity, bool) {
84661	return nil, false
84662}
84663
84664// AsValidationActivity is the BasicActivity implementation for HDInsightHiveActivity.
84665func (hiha HDInsightHiveActivity) AsValidationActivity() (*ValidationActivity, bool) {
84666	return nil, false
84667}
84668
84669// AsUntilActivity is the BasicActivity implementation for HDInsightHiveActivity.
84670func (hiha HDInsightHiveActivity) AsUntilActivity() (*UntilActivity, bool) {
84671	return nil, false
84672}
84673
84674// AsWaitActivity is the BasicActivity implementation for HDInsightHiveActivity.
84675func (hiha HDInsightHiveActivity) AsWaitActivity() (*WaitActivity, bool) {
84676	return nil, false
84677}
84678
84679// AsForEachActivity is the BasicActivity implementation for HDInsightHiveActivity.
84680func (hiha HDInsightHiveActivity) AsForEachActivity() (*ForEachActivity, bool) {
84681	return nil, false
84682}
84683
84684// AsIfConditionActivity is the BasicActivity implementation for HDInsightHiveActivity.
84685func (hiha HDInsightHiveActivity) AsIfConditionActivity() (*IfConditionActivity, bool) {
84686	return nil, false
84687}
84688
84689// AsExecutePipelineActivity is the BasicActivity implementation for HDInsightHiveActivity.
84690func (hiha HDInsightHiveActivity) AsExecutePipelineActivity() (*ExecutePipelineActivity, bool) {
84691	return nil, false
84692}
84693
84694// AsControlActivity is the BasicActivity implementation for HDInsightHiveActivity.
84695func (hiha HDInsightHiveActivity) AsControlActivity() (*ControlActivity, bool) {
84696	return nil, false
84697}
84698
84699// AsBasicControlActivity is the BasicActivity implementation for HDInsightHiveActivity.
84700func (hiha HDInsightHiveActivity) AsBasicControlActivity() (BasicControlActivity, bool) {
84701	return nil, false
84702}
84703
84704// AsActivity is the BasicActivity implementation for HDInsightHiveActivity.
84705func (hiha HDInsightHiveActivity) AsActivity() (*Activity, bool) {
84706	return nil, false
84707}
84708
84709// AsBasicActivity is the BasicActivity implementation for HDInsightHiveActivity.
84710func (hiha HDInsightHiveActivity) AsBasicActivity() (BasicActivity, bool) {
84711	return &hiha, true
84712}
84713
84714// UnmarshalJSON is the custom unmarshaler for HDInsightHiveActivity struct.
84715func (hiha *HDInsightHiveActivity) UnmarshalJSON(body []byte) error {
84716	var m map[string]*json.RawMessage
84717	err := json.Unmarshal(body, &m)
84718	if err != nil {
84719		return err
84720	}
84721	for k, v := range m {
84722		switch k {
84723		case "typeProperties":
84724			if v != nil {
84725				var hDInsightHiveActivityTypeProperties HDInsightHiveActivityTypeProperties
84726				err = json.Unmarshal(*v, &hDInsightHiveActivityTypeProperties)
84727				if err != nil {
84728					return err
84729				}
84730				hiha.HDInsightHiveActivityTypeProperties = &hDInsightHiveActivityTypeProperties
84731			}
84732		case "linkedServiceName":
84733			if v != nil {
84734				var linkedServiceName LinkedServiceReference
84735				err = json.Unmarshal(*v, &linkedServiceName)
84736				if err != nil {
84737					return err
84738				}
84739				hiha.LinkedServiceName = &linkedServiceName
84740			}
84741		case "policy":
84742			if v != nil {
84743				var policy ActivityPolicy
84744				err = json.Unmarshal(*v, &policy)
84745				if err != nil {
84746					return err
84747				}
84748				hiha.Policy = &policy
84749			}
84750		default:
84751			if v != nil {
84752				var additionalProperties interface{}
84753				err = json.Unmarshal(*v, &additionalProperties)
84754				if err != nil {
84755					return err
84756				}
84757				if hiha.AdditionalProperties == nil {
84758					hiha.AdditionalProperties = make(map[string]interface{})
84759				}
84760				hiha.AdditionalProperties[k] = additionalProperties
84761			}
84762		case "name":
84763			if v != nil {
84764				var name string
84765				err = json.Unmarshal(*v, &name)
84766				if err != nil {
84767					return err
84768				}
84769				hiha.Name = &name
84770			}
84771		case "description":
84772			if v != nil {
84773				var description string
84774				err = json.Unmarshal(*v, &description)
84775				if err != nil {
84776					return err
84777				}
84778				hiha.Description = &description
84779			}
84780		case "dependsOn":
84781			if v != nil {
84782				var dependsOn []ActivityDependency
84783				err = json.Unmarshal(*v, &dependsOn)
84784				if err != nil {
84785					return err
84786				}
84787				hiha.DependsOn = &dependsOn
84788			}
84789		case "userProperties":
84790			if v != nil {
84791				var userProperties []UserProperty
84792				err = json.Unmarshal(*v, &userProperties)
84793				if err != nil {
84794					return err
84795				}
84796				hiha.UserProperties = &userProperties
84797			}
84798		case "type":
84799			if v != nil {
84800				var typeVar TypeBasicActivity
84801				err = json.Unmarshal(*v, &typeVar)
84802				if err != nil {
84803					return err
84804				}
84805				hiha.Type = typeVar
84806			}
84807		}
84808	}
84809
84810	return nil
84811}
84812
84813// HDInsightHiveActivityTypeProperties hDInsight Hive activity properties.
84814type HDInsightHiveActivityTypeProperties struct {
84815	// StorageLinkedServices - Storage linked service references.
84816	StorageLinkedServices *[]LinkedServiceReference `json:"storageLinkedServices,omitempty"`
84817	// Arguments - User specified arguments to HDInsightActivity.
84818	Arguments *[]interface{} `json:"arguments,omitempty"`
84819	// GetDebugInfo - Debug info option. Possible values include: 'None', 'Always', 'Failure'
84820	GetDebugInfo HDInsightActivityDebugInfoOption `json:"getDebugInfo,omitempty"`
84821	// ScriptPath - Script path. Type: string (or Expression with resultType string).
84822	ScriptPath interface{} `json:"scriptPath,omitempty"`
84823	// ScriptLinkedService - Script linked service reference.
84824	ScriptLinkedService *LinkedServiceReference `json:"scriptLinkedService,omitempty"`
84825	// Defines - Allows user to specify defines for Hive job request.
84826	Defines map[string]interface{} `json:"defines"`
84827	// Variables - User specified arguments under hivevar namespace.
84828	Variables *[]interface{} `json:"variables,omitempty"`
84829	// QueryTimeout - Query timeout value (in minutes).  Effective when the HDInsight cluster is with ESP (Enterprise Security Package)
84830	QueryTimeout *int32 `json:"queryTimeout,omitempty"`
84831}
84832
84833// MarshalJSON is the custom marshaler for HDInsightHiveActivityTypeProperties.
84834func (hihatp HDInsightHiveActivityTypeProperties) MarshalJSON() ([]byte, error) {
84835	objectMap := make(map[string]interface{})
84836	if hihatp.StorageLinkedServices != nil {
84837		objectMap["storageLinkedServices"] = hihatp.StorageLinkedServices
84838	}
84839	if hihatp.Arguments != nil {
84840		objectMap["arguments"] = hihatp.Arguments
84841	}
84842	if hihatp.GetDebugInfo != "" {
84843		objectMap["getDebugInfo"] = hihatp.GetDebugInfo
84844	}
84845	if hihatp.ScriptPath != nil {
84846		objectMap["scriptPath"] = hihatp.ScriptPath
84847	}
84848	if hihatp.ScriptLinkedService != nil {
84849		objectMap["scriptLinkedService"] = hihatp.ScriptLinkedService
84850	}
84851	if hihatp.Defines != nil {
84852		objectMap["defines"] = hihatp.Defines
84853	}
84854	if hihatp.Variables != nil {
84855		objectMap["variables"] = hihatp.Variables
84856	}
84857	if hihatp.QueryTimeout != nil {
84858		objectMap["queryTimeout"] = hihatp.QueryTimeout
84859	}
84860	return json.Marshal(objectMap)
84861}
84862
84863// HDInsightLinkedService hDInsight linked service.
84864type HDInsightLinkedService struct {
84865	// HDInsightLinkedServiceTypeProperties - HDInsight linked service properties.
84866	*HDInsightLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
84867	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
84868	AdditionalProperties map[string]interface{} `json:""`
84869	// ConnectVia - The integration runtime reference.
84870	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
84871	// Description - Linked service description.
84872	Description *string `json:"description,omitempty"`
84873	// Parameters - Parameters for linked service.
84874	Parameters map[string]*ParameterSpecification `json:"parameters"`
84875	// Annotations - List of tags that can be used for describing the linked service.
84876	Annotations *[]interface{} `json:"annotations,omitempty"`
84877	// Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', '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', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage'
84878	Type TypeBasicLinkedService `json:"type,omitempty"`
84879}
84880
84881// MarshalJSON is the custom marshaler for HDInsightLinkedService.
84882func (hils HDInsightLinkedService) MarshalJSON() ([]byte, error) {
84883	hils.Type = TypeHDInsight
84884	objectMap := make(map[string]interface{})
84885	if hils.HDInsightLinkedServiceTypeProperties != nil {
84886		objectMap["typeProperties"] = hils.HDInsightLinkedServiceTypeProperties
84887	}
84888	if hils.ConnectVia != nil {
84889		objectMap["connectVia"] = hils.ConnectVia
84890	}
84891	if hils.Description != nil {
84892		objectMap["description"] = hils.Description
84893	}
84894	if hils.Parameters != nil {
84895		objectMap["parameters"] = hils.Parameters
84896	}
84897	if hils.Annotations != nil {
84898		objectMap["annotations"] = hils.Annotations
84899	}
84900	if hils.Type != "" {
84901		objectMap["type"] = hils.Type
84902	}
84903	for k, v := range hils.AdditionalProperties {
84904		objectMap[k] = v
84905	}
84906	return json.Marshal(objectMap)
84907}
84908
84909// AsAzureFunctionLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
84910func (hils HDInsightLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) {
84911	return nil, false
84912}
84913
84914// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
84915func (hils HDInsightLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) {
84916	return nil, false
84917}
84918
84919// AsSapTableLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
84920func (hils HDInsightLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) {
84921	return nil, false
84922}
84923
84924// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
84925func (hils HDInsightLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) {
84926	return nil, false
84927}
84928
84929// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
84930func (hils HDInsightLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) {
84931	return nil, false
84932}
84933
84934// AsDynamicsAXLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
84935func (hils HDInsightLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) {
84936	return nil, false
84937}
84938
84939// AsResponsysLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
84940func (hils HDInsightLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
84941	return nil, false
84942}
84943
84944// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
84945func (hils HDInsightLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
84946	return nil, false
84947}
84948
84949// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
84950func (hils HDInsightLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
84951	return nil, false
84952}
84953
84954// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
84955func (hils HDInsightLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
84956	return nil, false
84957}
84958
84959// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
84960func (hils HDInsightLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
84961	return nil, false
84962}
84963
84964// AsNetezzaLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
84965func (hils HDInsightLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
84966	return nil, false
84967}
84968
84969// AsVerticaLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
84970func (hils HDInsightLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
84971	return nil, false
84972}
84973
84974// AsZohoLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
84975func (hils HDInsightLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
84976	return nil, false
84977}
84978
84979// AsXeroLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
84980func (hils HDInsightLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
84981	return nil, false
84982}
84983
84984// AsSquareLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
84985func (hils HDInsightLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
84986	return nil, false
84987}
84988
84989// AsSparkLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
84990func (hils HDInsightLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
84991	return nil, false
84992}
84993
84994// AsShopifyLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
84995func (hils HDInsightLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
84996	return nil, false
84997}
84998
84999// AsServiceNowLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
85000func (hils HDInsightLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
85001	return nil, false
85002}
85003
85004// AsQuickBooksLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
85005func (hils HDInsightLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
85006	return nil, false
85007}
85008
85009// AsPrestoLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
85010func (hils HDInsightLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
85011	return nil, false
85012}
85013
85014// AsPhoenixLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
85015func (hils HDInsightLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
85016	return nil, false
85017}
85018
85019// AsPaypalLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
85020func (hils HDInsightLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
85021	return nil, false
85022}
85023
85024// AsMarketoLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
85025func (hils HDInsightLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
85026	return nil, false
85027}
85028
85029// AsMariaDBLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
85030func (hils HDInsightLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
85031	return nil, false
85032}
85033
85034// AsMagentoLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
85035func (hils HDInsightLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
85036	return nil, false
85037}
85038
85039// AsJiraLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
85040func (hils HDInsightLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
85041	return nil, false
85042}
85043
85044// AsImpalaLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
85045func (hils HDInsightLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
85046	return nil, false
85047}
85048
85049// AsHubspotLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
85050func (hils HDInsightLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
85051	return nil, false
85052}
85053
85054// AsHiveLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
85055func (hils HDInsightLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
85056	return nil, false
85057}
85058
85059// AsHBaseLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
85060func (hils HDInsightLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
85061	return nil, false
85062}
85063
85064// AsGreenplumLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
85065func (hils HDInsightLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
85066	return nil, false
85067}
85068
85069// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
85070func (hils HDInsightLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
85071	return nil, false
85072}
85073
85074// AsEloquaLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
85075func (hils HDInsightLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
85076	return nil, false
85077}
85078
85079// AsDrillLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
85080func (hils HDInsightLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
85081	return nil, false
85082}
85083
85084// AsCouchbaseLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
85085func (hils HDInsightLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
85086	return nil, false
85087}
85088
85089// AsConcurLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
85090func (hils HDInsightLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
85091	return nil, false
85092}
85093
85094// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
85095func (hils HDInsightLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
85096	return nil, false
85097}
85098
85099// AsAmazonMWSLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
85100func (hils HDInsightLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
85101	return nil, false
85102}
85103
85104// AsSapHanaLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
85105func (hils HDInsightLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
85106	return nil, false
85107}
85108
85109// AsSapBWLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
85110func (hils HDInsightLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
85111	return nil, false
85112}
85113
85114// AsSftpServerLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
85115func (hils HDInsightLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
85116	return nil, false
85117}
85118
85119// AsFtpServerLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
85120func (hils HDInsightLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
85121	return nil, false
85122}
85123
85124// AsHTTPLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
85125func (hils HDInsightLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
85126	return nil, false
85127}
85128
85129// AsAzureSearchLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
85130func (hils HDInsightLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
85131	return nil, false
85132}
85133
85134// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
85135func (hils HDInsightLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
85136	return nil, false
85137}
85138
85139// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
85140func (hils HDInsightLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
85141	return nil, false
85142}
85143
85144// AsAmazonS3LinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
85145func (hils HDInsightLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
85146	return nil, false
85147}
85148
85149// AsRestServiceLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
85150func (hils HDInsightLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) {
85151	return nil, false
85152}
85153
85154// AsSapOpenHubLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
85155func (hils HDInsightLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) {
85156	return nil, false
85157}
85158
85159// AsSapEccLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
85160func (hils HDInsightLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
85161	return nil, false
85162}
85163
85164// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
85165func (hils HDInsightLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
85166	return nil, false
85167}
85168
85169// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
85170func (hils HDInsightLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) {
85171	return nil, false
85172}
85173
85174// AsSalesforceLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
85175func (hils HDInsightLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
85176	return nil, false
85177}
85178
85179// AsOffice365LinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
85180func (hils HDInsightLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) {
85181	return nil, false
85182}
85183
85184// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
85185func (hils HDInsightLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) {
85186	return nil, false
85187}
85188
85189// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
85190func (hils HDInsightLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
85191	return nil, false
85192}
85193
85194// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
85195func (hils HDInsightLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) {
85196	return nil, false
85197}
85198
85199// AsMongoDbV2LinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
85200func (hils HDInsightLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) {
85201	return nil, false
85202}
85203
85204// AsMongoDbLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
85205func (hils HDInsightLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
85206	return nil, false
85207}
85208
85209// AsCassandraLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
85210func (hils HDInsightLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
85211	return nil, false
85212}
85213
85214// AsWebLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
85215func (hils HDInsightLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
85216	return nil, false
85217}
85218
85219// AsODataLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
85220func (hils HDInsightLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
85221	return nil, false
85222}
85223
85224// AsHdfsLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
85225func (hils HDInsightLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
85226	return nil, false
85227}
85228
85229// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
85230func (hils HDInsightLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) {
85231	return nil, false
85232}
85233
85234// AsInformixLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
85235func (hils HDInsightLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) {
85236	return nil, false
85237}
85238
85239// AsOdbcLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
85240func (hils HDInsightLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
85241	return nil, false
85242}
85243
85244// AsAzureMLLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
85245func (hils HDInsightLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
85246	return nil, false
85247}
85248
85249// AsTeradataLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
85250func (hils HDInsightLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
85251	return nil, false
85252}
85253
85254// AsDb2LinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
85255func (hils HDInsightLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
85256	return nil, false
85257}
85258
85259// AsSybaseLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
85260func (hils HDInsightLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
85261	return nil, false
85262}
85263
85264// AsPostgreSQLLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
85265func (hils HDInsightLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
85266	return nil, false
85267}
85268
85269// AsMySQLLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
85270func (hils HDInsightLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
85271	return nil, false
85272}
85273
85274// AsAzureMySQLLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
85275func (hils HDInsightLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
85276	return nil, false
85277}
85278
85279// AsOracleLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
85280func (hils HDInsightLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
85281	return nil, false
85282}
85283
85284// AsFileServerLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
85285func (hils HDInsightLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
85286	return nil, false
85287}
85288
85289// AsHDInsightLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
85290func (hils HDInsightLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
85291	return &hils, true
85292}
85293
85294// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
85295func (hils HDInsightLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) {
85296	return nil, false
85297}
85298
85299// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
85300func (hils HDInsightLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) {
85301	return nil, false
85302}
85303
85304// AsDynamicsLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
85305func (hils HDInsightLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
85306	return nil, false
85307}
85308
85309// AsCosmosDbLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
85310func (hils HDInsightLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
85311	return nil, false
85312}
85313
85314// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
85315func (hils HDInsightLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
85316	return nil, false
85317}
85318
85319// AsAzureBatchLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
85320func (hils HDInsightLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
85321	return nil, false
85322}
85323
85324// AsAzureSQLMILinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
85325func (hils HDInsightLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) {
85326	return nil, false
85327}
85328
85329// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
85330func (hils HDInsightLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
85331	return nil, false
85332}
85333
85334// AsSQLServerLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
85335func (hils HDInsightLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
85336	return nil, false
85337}
85338
85339// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
85340func (hils HDInsightLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
85341	return nil, false
85342}
85343
85344// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
85345func (hils HDInsightLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) {
85346	return nil, false
85347}
85348
85349// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
85350func (hils HDInsightLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) {
85351	return nil, false
85352}
85353
85354// AsAzureStorageLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
85355func (hils HDInsightLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
85356	return nil, false
85357}
85358
85359// AsLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
85360func (hils HDInsightLinkedService) AsLinkedService() (*LinkedService, bool) {
85361	return nil, false
85362}
85363
85364// AsBasicLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
85365func (hils HDInsightLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
85366	return &hils, true
85367}
85368
85369// UnmarshalJSON is the custom unmarshaler for HDInsightLinkedService struct.
85370func (hils *HDInsightLinkedService) UnmarshalJSON(body []byte) error {
85371	var m map[string]*json.RawMessage
85372	err := json.Unmarshal(body, &m)
85373	if err != nil {
85374		return err
85375	}
85376	for k, v := range m {
85377		switch k {
85378		case "typeProperties":
85379			if v != nil {
85380				var hDInsightLinkedServiceTypeProperties HDInsightLinkedServiceTypeProperties
85381				err = json.Unmarshal(*v, &hDInsightLinkedServiceTypeProperties)
85382				if err != nil {
85383					return err
85384				}
85385				hils.HDInsightLinkedServiceTypeProperties = &hDInsightLinkedServiceTypeProperties
85386			}
85387		default:
85388			if v != nil {
85389				var additionalProperties interface{}
85390				err = json.Unmarshal(*v, &additionalProperties)
85391				if err != nil {
85392					return err
85393				}
85394				if hils.AdditionalProperties == nil {
85395					hils.AdditionalProperties = make(map[string]interface{})
85396				}
85397				hils.AdditionalProperties[k] = additionalProperties
85398			}
85399		case "connectVia":
85400			if v != nil {
85401				var connectVia IntegrationRuntimeReference
85402				err = json.Unmarshal(*v, &connectVia)
85403				if err != nil {
85404					return err
85405				}
85406				hils.ConnectVia = &connectVia
85407			}
85408		case "description":
85409			if v != nil {
85410				var description string
85411				err = json.Unmarshal(*v, &description)
85412				if err != nil {
85413					return err
85414				}
85415				hils.Description = &description
85416			}
85417		case "parameters":
85418			if v != nil {
85419				var parameters map[string]*ParameterSpecification
85420				err = json.Unmarshal(*v, &parameters)
85421				if err != nil {
85422					return err
85423				}
85424				hils.Parameters = parameters
85425			}
85426		case "annotations":
85427			if v != nil {
85428				var annotations []interface{}
85429				err = json.Unmarshal(*v, &annotations)
85430				if err != nil {
85431					return err
85432				}
85433				hils.Annotations = &annotations
85434			}
85435		case "type":
85436			if v != nil {
85437				var typeVar TypeBasicLinkedService
85438				err = json.Unmarshal(*v, &typeVar)
85439				if err != nil {
85440					return err
85441				}
85442				hils.Type = typeVar
85443			}
85444		}
85445	}
85446
85447	return nil
85448}
85449
85450// HDInsightLinkedServiceTypeProperties hDInsight linked service properties.
85451type HDInsightLinkedServiceTypeProperties struct {
85452	// ClusterURI - HDInsight cluster URI. Type: string (or Expression with resultType string).
85453	ClusterURI interface{} `json:"clusterUri,omitempty"`
85454	// UserName - HDInsight cluster user name. Type: string (or Expression with resultType string).
85455	UserName interface{} `json:"userName,omitempty"`
85456	// Password - HDInsight cluster password.
85457	Password BasicSecretBase `json:"password,omitempty"`
85458	// LinkedServiceName - The Azure Storage linked service reference.
85459	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
85460	// HcatalogLinkedServiceName - A reference to the Azure SQL linked service that points to the HCatalog database.
85461	HcatalogLinkedServiceName *LinkedServiceReference `json:"hcatalogLinkedServiceName,omitempty"`
85462	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
85463	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
85464	// IsEspEnabled - Specify if the HDInsight is created with ESP (Enterprise Security Package). Type: Boolean.
85465	IsEspEnabled interface{} `json:"isEspEnabled,omitempty"`
85466	// FileSystem - Specify the FileSystem if the main storage for the HDInsight is ADLS Gen2. Type: string (or Expression with resultType string).
85467	FileSystem interface{} `json:"fileSystem,omitempty"`
85468}
85469
85470// UnmarshalJSON is the custom unmarshaler for HDInsightLinkedServiceTypeProperties struct.
85471func (hilstp *HDInsightLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
85472	var m map[string]*json.RawMessage
85473	err := json.Unmarshal(body, &m)
85474	if err != nil {
85475		return err
85476	}
85477	for k, v := range m {
85478		switch k {
85479		case "clusterUri":
85480			if v != nil {
85481				var clusterURI interface{}
85482				err = json.Unmarshal(*v, &clusterURI)
85483				if err != nil {
85484					return err
85485				}
85486				hilstp.ClusterURI = clusterURI
85487			}
85488		case "userName":
85489			if v != nil {
85490				var userName interface{}
85491				err = json.Unmarshal(*v, &userName)
85492				if err != nil {
85493					return err
85494				}
85495				hilstp.UserName = userName
85496			}
85497		case "password":
85498			if v != nil {
85499				password, err := unmarshalBasicSecretBase(*v)
85500				if err != nil {
85501					return err
85502				}
85503				hilstp.Password = password
85504			}
85505		case "linkedServiceName":
85506			if v != nil {
85507				var linkedServiceName LinkedServiceReference
85508				err = json.Unmarshal(*v, &linkedServiceName)
85509				if err != nil {
85510					return err
85511				}
85512				hilstp.LinkedServiceName = &linkedServiceName
85513			}
85514		case "hcatalogLinkedServiceName":
85515			if v != nil {
85516				var hcatalogLinkedServiceName LinkedServiceReference
85517				err = json.Unmarshal(*v, &hcatalogLinkedServiceName)
85518				if err != nil {
85519					return err
85520				}
85521				hilstp.HcatalogLinkedServiceName = &hcatalogLinkedServiceName
85522			}
85523		case "encryptedCredential":
85524			if v != nil {
85525				var encryptedCredential interface{}
85526				err = json.Unmarshal(*v, &encryptedCredential)
85527				if err != nil {
85528					return err
85529				}
85530				hilstp.EncryptedCredential = encryptedCredential
85531			}
85532		case "isEspEnabled":
85533			if v != nil {
85534				var isEspEnabled interface{}
85535				err = json.Unmarshal(*v, &isEspEnabled)
85536				if err != nil {
85537					return err
85538				}
85539				hilstp.IsEspEnabled = isEspEnabled
85540			}
85541		case "fileSystem":
85542			if v != nil {
85543				var fileSystem interface{}
85544				err = json.Unmarshal(*v, &fileSystem)
85545				if err != nil {
85546					return err
85547				}
85548				hilstp.FileSystem = fileSystem
85549			}
85550		}
85551	}
85552
85553	return nil
85554}
85555
85556// HDInsightMapReduceActivity hDInsight MapReduce activity type.
85557type HDInsightMapReduceActivity struct {
85558	// HDInsightMapReduceActivityTypeProperties - HDInsight MapReduce activity properties.
85559	*HDInsightMapReduceActivityTypeProperties `json:"typeProperties,omitempty"`
85560	// LinkedServiceName - Linked service reference.
85561	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
85562	// Policy - Activity policy.
85563	Policy *ActivityPolicy `json:"policy,omitempty"`
85564	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
85565	AdditionalProperties map[string]interface{} `json:""`
85566	// Name - Activity name.
85567	Name *string `json:"name,omitempty"`
85568	// Description - Activity description.
85569	Description *string `json:"description,omitempty"`
85570	// DependsOn - Activity depends on condition.
85571	DependsOn *[]ActivityDependency `json:"dependsOn,omitempty"`
85572	// UserProperties - Activity user properties.
85573	UserProperties *[]UserProperty `json:"userProperties,omitempty"`
85574	// Type - Possible values include: 'TypeActivity', 'TypeAzureFunctionActivity', 'TypeDatabricksSparkPython', 'TypeDatabricksSparkJar', 'TypeDatabricksNotebook', 'TypeDataLakeAnalyticsUSQL', 'TypeAzureMLUpdateResource', 'TypeAzureMLBatchExecution', 'TypeGetMetadata', 'TypeWebActivity', 'TypeLookup', 'TypeAzureDataExplorerCommand', 'TypeDelete', 'TypeSQLServerStoredProcedure', 'TypeCustom', 'TypeExecuteSSISPackage', 'TypeHDInsightSpark', 'TypeHDInsightStreaming', 'TypeHDInsightMapReduce', 'TypeHDInsightPig', 'TypeHDInsightHive', 'TypeCopy', 'TypeExecution', 'TypeWebHook', 'TypeAppendVariable', 'TypeSetVariable', 'TypeFilter', 'TypeValidation', 'TypeUntil', 'TypeWait', 'TypeForEach', 'TypeIfCondition', 'TypeExecutePipeline', 'TypeContainer'
85575	Type TypeBasicActivity `json:"type,omitempty"`
85576}
85577
85578// MarshalJSON is the custom marshaler for HDInsightMapReduceActivity.
85579func (himra HDInsightMapReduceActivity) MarshalJSON() ([]byte, error) {
85580	himra.Type = TypeHDInsightMapReduce
85581	objectMap := make(map[string]interface{})
85582	if himra.HDInsightMapReduceActivityTypeProperties != nil {
85583		objectMap["typeProperties"] = himra.HDInsightMapReduceActivityTypeProperties
85584	}
85585	if himra.LinkedServiceName != nil {
85586		objectMap["linkedServiceName"] = himra.LinkedServiceName
85587	}
85588	if himra.Policy != nil {
85589		objectMap["policy"] = himra.Policy
85590	}
85591	if himra.Name != nil {
85592		objectMap["name"] = himra.Name
85593	}
85594	if himra.Description != nil {
85595		objectMap["description"] = himra.Description
85596	}
85597	if himra.DependsOn != nil {
85598		objectMap["dependsOn"] = himra.DependsOn
85599	}
85600	if himra.UserProperties != nil {
85601		objectMap["userProperties"] = himra.UserProperties
85602	}
85603	if himra.Type != "" {
85604		objectMap["type"] = himra.Type
85605	}
85606	for k, v := range himra.AdditionalProperties {
85607		objectMap[k] = v
85608	}
85609	return json.Marshal(objectMap)
85610}
85611
85612// AsAzureFunctionActivity is the BasicActivity implementation for HDInsightMapReduceActivity.
85613func (himra HDInsightMapReduceActivity) AsAzureFunctionActivity() (*AzureFunctionActivity, bool) {
85614	return nil, false
85615}
85616
85617// AsDatabricksSparkPythonActivity is the BasicActivity implementation for HDInsightMapReduceActivity.
85618func (himra HDInsightMapReduceActivity) AsDatabricksSparkPythonActivity() (*DatabricksSparkPythonActivity, bool) {
85619	return nil, false
85620}
85621
85622// AsDatabricksSparkJarActivity is the BasicActivity implementation for HDInsightMapReduceActivity.
85623func (himra HDInsightMapReduceActivity) AsDatabricksSparkJarActivity() (*DatabricksSparkJarActivity, bool) {
85624	return nil, false
85625}
85626
85627// AsDatabricksNotebookActivity is the BasicActivity implementation for HDInsightMapReduceActivity.
85628func (himra HDInsightMapReduceActivity) AsDatabricksNotebookActivity() (*DatabricksNotebookActivity, bool) {
85629	return nil, false
85630}
85631
85632// AsDataLakeAnalyticsUSQLActivity is the BasicActivity implementation for HDInsightMapReduceActivity.
85633func (himra HDInsightMapReduceActivity) AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalyticsUSQLActivity, bool) {
85634	return nil, false
85635}
85636
85637// AsAzureMLUpdateResourceActivity is the BasicActivity implementation for HDInsightMapReduceActivity.
85638func (himra HDInsightMapReduceActivity) AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool) {
85639	return nil, false
85640}
85641
85642// AsAzureMLBatchExecutionActivity is the BasicActivity implementation for HDInsightMapReduceActivity.
85643func (himra HDInsightMapReduceActivity) AsAzureMLBatchExecutionActivity() (*AzureMLBatchExecutionActivity, bool) {
85644	return nil, false
85645}
85646
85647// AsGetMetadataActivity is the BasicActivity implementation for HDInsightMapReduceActivity.
85648func (himra HDInsightMapReduceActivity) AsGetMetadataActivity() (*GetMetadataActivity, bool) {
85649	return nil, false
85650}
85651
85652// AsWebActivity is the BasicActivity implementation for HDInsightMapReduceActivity.
85653func (himra HDInsightMapReduceActivity) AsWebActivity() (*WebActivity, bool) {
85654	return nil, false
85655}
85656
85657// AsLookupActivity is the BasicActivity implementation for HDInsightMapReduceActivity.
85658func (himra HDInsightMapReduceActivity) AsLookupActivity() (*LookupActivity, bool) {
85659	return nil, false
85660}
85661
85662// AsAzureDataExplorerCommandActivity is the BasicActivity implementation for HDInsightMapReduceActivity.
85663func (himra HDInsightMapReduceActivity) AsAzureDataExplorerCommandActivity() (*AzureDataExplorerCommandActivity, bool) {
85664	return nil, false
85665}
85666
85667// AsDeleteActivity is the BasicActivity implementation for HDInsightMapReduceActivity.
85668func (himra HDInsightMapReduceActivity) AsDeleteActivity() (*DeleteActivity, bool) {
85669	return nil, false
85670}
85671
85672// AsSQLServerStoredProcedureActivity is the BasicActivity implementation for HDInsightMapReduceActivity.
85673func (himra HDInsightMapReduceActivity) AsSQLServerStoredProcedureActivity() (*SQLServerStoredProcedureActivity, bool) {
85674	return nil, false
85675}
85676
85677// AsCustomActivity is the BasicActivity implementation for HDInsightMapReduceActivity.
85678func (himra HDInsightMapReduceActivity) AsCustomActivity() (*CustomActivity, bool) {
85679	return nil, false
85680}
85681
85682// AsExecuteSSISPackageActivity is the BasicActivity implementation for HDInsightMapReduceActivity.
85683func (himra HDInsightMapReduceActivity) AsExecuteSSISPackageActivity() (*ExecuteSSISPackageActivity, bool) {
85684	return nil, false
85685}
85686
85687// AsHDInsightSparkActivity is the BasicActivity implementation for HDInsightMapReduceActivity.
85688func (himra HDInsightMapReduceActivity) AsHDInsightSparkActivity() (*HDInsightSparkActivity, bool) {
85689	return nil, false
85690}
85691
85692// AsHDInsightStreamingActivity is the BasicActivity implementation for HDInsightMapReduceActivity.
85693func (himra HDInsightMapReduceActivity) AsHDInsightStreamingActivity() (*HDInsightStreamingActivity, bool) {
85694	return nil, false
85695}
85696
85697// AsHDInsightMapReduceActivity is the BasicActivity implementation for HDInsightMapReduceActivity.
85698func (himra HDInsightMapReduceActivity) AsHDInsightMapReduceActivity() (*HDInsightMapReduceActivity, bool) {
85699	return &himra, true
85700}
85701
85702// AsHDInsightPigActivity is the BasicActivity implementation for HDInsightMapReduceActivity.
85703func (himra HDInsightMapReduceActivity) AsHDInsightPigActivity() (*HDInsightPigActivity, bool) {
85704	return nil, false
85705}
85706
85707// AsHDInsightHiveActivity is the BasicActivity implementation for HDInsightMapReduceActivity.
85708func (himra HDInsightMapReduceActivity) AsHDInsightHiveActivity() (*HDInsightHiveActivity, bool) {
85709	return nil, false
85710}
85711
85712// AsCopyActivity is the BasicActivity implementation for HDInsightMapReduceActivity.
85713func (himra HDInsightMapReduceActivity) AsCopyActivity() (*CopyActivity, bool) {
85714	return nil, false
85715}
85716
85717// AsExecutionActivity is the BasicActivity implementation for HDInsightMapReduceActivity.
85718func (himra HDInsightMapReduceActivity) AsExecutionActivity() (*ExecutionActivity, bool) {
85719	return nil, false
85720}
85721
85722// AsBasicExecutionActivity is the BasicActivity implementation for HDInsightMapReduceActivity.
85723func (himra HDInsightMapReduceActivity) AsBasicExecutionActivity() (BasicExecutionActivity, bool) {
85724	return &himra, true
85725}
85726
85727// AsWebHookActivity is the BasicActivity implementation for HDInsightMapReduceActivity.
85728func (himra HDInsightMapReduceActivity) AsWebHookActivity() (*WebHookActivity, bool) {
85729	return nil, false
85730}
85731
85732// AsAppendVariableActivity is the BasicActivity implementation for HDInsightMapReduceActivity.
85733func (himra HDInsightMapReduceActivity) AsAppendVariableActivity() (*AppendVariableActivity, bool) {
85734	return nil, false
85735}
85736
85737// AsSetVariableActivity is the BasicActivity implementation for HDInsightMapReduceActivity.
85738func (himra HDInsightMapReduceActivity) AsSetVariableActivity() (*SetVariableActivity, bool) {
85739	return nil, false
85740}
85741
85742// AsFilterActivity is the BasicActivity implementation for HDInsightMapReduceActivity.
85743func (himra HDInsightMapReduceActivity) AsFilterActivity() (*FilterActivity, bool) {
85744	return nil, false
85745}
85746
85747// AsValidationActivity is the BasicActivity implementation for HDInsightMapReduceActivity.
85748func (himra HDInsightMapReduceActivity) AsValidationActivity() (*ValidationActivity, bool) {
85749	return nil, false
85750}
85751
85752// AsUntilActivity is the BasicActivity implementation for HDInsightMapReduceActivity.
85753func (himra HDInsightMapReduceActivity) AsUntilActivity() (*UntilActivity, bool) {
85754	return nil, false
85755}
85756
85757// AsWaitActivity is the BasicActivity implementation for HDInsightMapReduceActivity.
85758func (himra HDInsightMapReduceActivity) AsWaitActivity() (*WaitActivity, bool) {
85759	return nil, false
85760}
85761
85762// AsForEachActivity is the BasicActivity implementation for HDInsightMapReduceActivity.
85763func (himra HDInsightMapReduceActivity) AsForEachActivity() (*ForEachActivity, bool) {
85764	return nil, false
85765}
85766
85767// AsIfConditionActivity is the BasicActivity implementation for HDInsightMapReduceActivity.
85768func (himra HDInsightMapReduceActivity) AsIfConditionActivity() (*IfConditionActivity, bool) {
85769	return nil, false
85770}
85771
85772// AsExecutePipelineActivity is the BasicActivity implementation for HDInsightMapReduceActivity.
85773func (himra HDInsightMapReduceActivity) AsExecutePipelineActivity() (*ExecutePipelineActivity, bool) {
85774	return nil, false
85775}
85776
85777// AsControlActivity is the BasicActivity implementation for HDInsightMapReduceActivity.
85778func (himra HDInsightMapReduceActivity) AsControlActivity() (*ControlActivity, bool) {
85779	return nil, false
85780}
85781
85782// AsBasicControlActivity is the BasicActivity implementation for HDInsightMapReduceActivity.
85783func (himra HDInsightMapReduceActivity) AsBasicControlActivity() (BasicControlActivity, bool) {
85784	return nil, false
85785}
85786
85787// AsActivity is the BasicActivity implementation for HDInsightMapReduceActivity.
85788func (himra HDInsightMapReduceActivity) AsActivity() (*Activity, bool) {
85789	return nil, false
85790}
85791
85792// AsBasicActivity is the BasicActivity implementation for HDInsightMapReduceActivity.
85793func (himra HDInsightMapReduceActivity) AsBasicActivity() (BasicActivity, bool) {
85794	return &himra, true
85795}
85796
85797// UnmarshalJSON is the custom unmarshaler for HDInsightMapReduceActivity struct.
85798func (himra *HDInsightMapReduceActivity) UnmarshalJSON(body []byte) error {
85799	var m map[string]*json.RawMessage
85800	err := json.Unmarshal(body, &m)
85801	if err != nil {
85802		return err
85803	}
85804	for k, v := range m {
85805		switch k {
85806		case "typeProperties":
85807			if v != nil {
85808				var hDInsightMapReduceActivityTypeProperties HDInsightMapReduceActivityTypeProperties
85809				err = json.Unmarshal(*v, &hDInsightMapReduceActivityTypeProperties)
85810				if err != nil {
85811					return err
85812				}
85813				himra.HDInsightMapReduceActivityTypeProperties = &hDInsightMapReduceActivityTypeProperties
85814			}
85815		case "linkedServiceName":
85816			if v != nil {
85817				var linkedServiceName LinkedServiceReference
85818				err = json.Unmarshal(*v, &linkedServiceName)
85819				if err != nil {
85820					return err
85821				}
85822				himra.LinkedServiceName = &linkedServiceName
85823			}
85824		case "policy":
85825			if v != nil {
85826				var policy ActivityPolicy
85827				err = json.Unmarshal(*v, &policy)
85828				if err != nil {
85829					return err
85830				}
85831				himra.Policy = &policy
85832			}
85833		default:
85834			if v != nil {
85835				var additionalProperties interface{}
85836				err = json.Unmarshal(*v, &additionalProperties)
85837				if err != nil {
85838					return err
85839				}
85840				if himra.AdditionalProperties == nil {
85841					himra.AdditionalProperties = make(map[string]interface{})
85842				}
85843				himra.AdditionalProperties[k] = additionalProperties
85844			}
85845		case "name":
85846			if v != nil {
85847				var name string
85848				err = json.Unmarshal(*v, &name)
85849				if err != nil {
85850					return err
85851				}
85852				himra.Name = &name
85853			}
85854		case "description":
85855			if v != nil {
85856				var description string
85857				err = json.Unmarshal(*v, &description)
85858				if err != nil {
85859					return err
85860				}
85861				himra.Description = &description
85862			}
85863		case "dependsOn":
85864			if v != nil {
85865				var dependsOn []ActivityDependency
85866				err = json.Unmarshal(*v, &dependsOn)
85867				if err != nil {
85868					return err
85869				}
85870				himra.DependsOn = &dependsOn
85871			}
85872		case "userProperties":
85873			if v != nil {
85874				var userProperties []UserProperty
85875				err = json.Unmarshal(*v, &userProperties)
85876				if err != nil {
85877					return err
85878				}
85879				himra.UserProperties = &userProperties
85880			}
85881		case "type":
85882			if v != nil {
85883				var typeVar TypeBasicActivity
85884				err = json.Unmarshal(*v, &typeVar)
85885				if err != nil {
85886					return err
85887				}
85888				himra.Type = typeVar
85889			}
85890		}
85891	}
85892
85893	return nil
85894}
85895
85896// HDInsightMapReduceActivityTypeProperties hDInsight MapReduce activity properties.
85897type HDInsightMapReduceActivityTypeProperties struct {
85898	// StorageLinkedServices - Storage linked service references.
85899	StorageLinkedServices *[]LinkedServiceReference `json:"storageLinkedServices,omitempty"`
85900	// Arguments - User specified arguments to HDInsightActivity.
85901	Arguments *[]interface{} `json:"arguments,omitempty"`
85902	// GetDebugInfo - Debug info option. Possible values include: 'None', 'Always', 'Failure'
85903	GetDebugInfo HDInsightActivityDebugInfoOption `json:"getDebugInfo,omitempty"`
85904	// ClassName - Class name. Type: string (or Expression with resultType string).
85905	ClassName interface{} `json:"className,omitempty"`
85906	// JarFilePath - Jar path. Type: string (or Expression with resultType string).
85907	JarFilePath interface{} `json:"jarFilePath,omitempty"`
85908	// JarLinkedService - Jar linked service reference.
85909	JarLinkedService *LinkedServiceReference `json:"jarLinkedService,omitempty"`
85910	// JarLibs - Jar libs.
85911	JarLibs *[]interface{} `json:"jarLibs,omitempty"`
85912	// Defines - Allows user to specify defines for the MapReduce job request.
85913	Defines map[string]interface{} `json:"defines"`
85914}
85915
85916// MarshalJSON is the custom marshaler for HDInsightMapReduceActivityTypeProperties.
85917func (himratp HDInsightMapReduceActivityTypeProperties) MarshalJSON() ([]byte, error) {
85918	objectMap := make(map[string]interface{})
85919	if himratp.StorageLinkedServices != nil {
85920		objectMap["storageLinkedServices"] = himratp.StorageLinkedServices
85921	}
85922	if himratp.Arguments != nil {
85923		objectMap["arguments"] = himratp.Arguments
85924	}
85925	if himratp.GetDebugInfo != "" {
85926		objectMap["getDebugInfo"] = himratp.GetDebugInfo
85927	}
85928	if himratp.ClassName != nil {
85929		objectMap["className"] = himratp.ClassName
85930	}
85931	if himratp.JarFilePath != nil {
85932		objectMap["jarFilePath"] = himratp.JarFilePath
85933	}
85934	if himratp.JarLinkedService != nil {
85935		objectMap["jarLinkedService"] = himratp.JarLinkedService
85936	}
85937	if himratp.JarLibs != nil {
85938		objectMap["jarLibs"] = himratp.JarLibs
85939	}
85940	if himratp.Defines != nil {
85941		objectMap["defines"] = himratp.Defines
85942	}
85943	return json.Marshal(objectMap)
85944}
85945
85946// HDInsightOnDemandLinkedService hDInsight ondemand linked service.
85947type HDInsightOnDemandLinkedService struct {
85948	// HDInsightOnDemandLinkedServiceTypeProperties - HDInsight ondemand linked service properties.
85949	*HDInsightOnDemandLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
85950	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
85951	AdditionalProperties map[string]interface{} `json:""`
85952	// ConnectVia - The integration runtime reference.
85953	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
85954	// Description - Linked service description.
85955	Description *string `json:"description,omitempty"`
85956	// Parameters - Parameters for linked service.
85957	Parameters map[string]*ParameterSpecification `json:"parameters"`
85958	// Annotations - List of tags that can be used for describing the linked service.
85959	Annotations *[]interface{} `json:"annotations,omitempty"`
85960	// Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', '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', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage'
85961	Type TypeBasicLinkedService `json:"type,omitempty"`
85962}
85963
85964// MarshalJSON is the custom marshaler for HDInsightOnDemandLinkedService.
85965func (hiodls HDInsightOnDemandLinkedService) MarshalJSON() ([]byte, error) {
85966	hiodls.Type = TypeHDInsightOnDemand
85967	objectMap := make(map[string]interface{})
85968	if hiodls.HDInsightOnDemandLinkedServiceTypeProperties != nil {
85969		objectMap["typeProperties"] = hiodls.HDInsightOnDemandLinkedServiceTypeProperties
85970	}
85971	if hiodls.ConnectVia != nil {
85972		objectMap["connectVia"] = hiodls.ConnectVia
85973	}
85974	if hiodls.Description != nil {
85975		objectMap["description"] = hiodls.Description
85976	}
85977	if hiodls.Parameters != nil {
85978		objectMap["parameters"] = hiodls.Parameters
85979	}
85980	if hiodls.Annotations != nil {
85981		objectMap["annotations"] = hiodls.Annotations
85982	}
85983	if hiodls.Type != "" {
85984		objectMap["type"] = hiodls.Type
85985	}
85986	for k, v := range hiodls.AdditionalProperties {
85987		objectMap[k] = v
85988	}
85989	return json.Marshal(objectMap)
85990}
85991
85992// AsAzureFunctionLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
85993func (hiodls HDInsightOnDemandLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) {
85994	return nil, false
85995}
85996
85997// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
85998func (hiodls HDInsightOnDemandLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) {
85999	return nil, false
86000}
86001
86002// AsSapTableLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
86003func (hiodls HDInsightOnDemandLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) {
86004	return nil, false
86005}
86006
86007// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
86008func (hiodls HDInsightOnDemandLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) {
86009	return nil, false
86010}
86011
86012// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
86013func (hiodls HDInsightOnDemandLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) {
86014	return nil, false
86015}
86016
86017// AsDynamicsAXLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
86018func (hiodls HDInsightOnDemandLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) {
86019	return nil, false
86020}
86021
86022// AsResponsysLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
86023func (hiodls HDInsightOnDemandLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
86024	return nil, false
86025}
86026
86027// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
86028func (hiodls HDInsightOnDemandLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
86029	return nil, false
86030}
86031
86032// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
86033func (hiodls HDInsightOnDemandLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
86034	return nil, false
86035}
86036
86037// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
86038func (hiodls HDInsightOnDemandLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
86039	return &hiodls, true
86040}
86041
86042// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
86043func (hiodls HDInsightOnDemandLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
86044	return nil, false
86045}
86046
86047// AsNetezzaLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
86048func (hiodls HDInsightOnDemandLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
86049	return nil, false
86050}
86051
86052// AsVerticaLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
86053func (hiodls HDInsightOnDemandLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
86054	return nil, false
86055}
86056
86057// AsZohoLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
86058func (hiodls HDInsightOnDemandLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
86059	return nil, false
86060}
86061
86062// AsXeroLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
86063func (hiodls HDInsightOnDemandLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
86064	return nil, false
86065}
86066
86067// AsSquareLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
86068func (hiodls HDInsightOnDemandLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
86069	return nil, false
86070}
86071
86072// AsSparkLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
86073func (hiodls HDInsightOnDemandLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
86074	return nil, false
86075}
86076
86077// AsShopifyLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
86078func (hiodls HDInsightOnDemandLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
86079	return nil, false
86080}
86081
86082// AsServiceNowLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
86083func (hiodls HDInsightOnDemandLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
86084	return nil, false
86085}
86086
86087// AsQuickBooksLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
86088func (hiodls HDInsightOnDemandLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
86089	return nil, false
86090}
86091
86092// AsPrestoLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
86093func (hiodls HDInsightOnDemandLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
86094	return nil, false
86095}
86096
86097// AsPhoenixLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
86098func (hiodls HDInsightOnDemandLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
86099	return nil, false
86100}
86101
86102// AsPaypalLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
86103func (hiodls HDInsightOnDemandLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
86104	return nil, false
86105}
86106
86107// AsMarketoLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
86108func (hiodls HDInsightOnDemandLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
86109	return nil, false
86110}
86111
86112// AsMariaDBLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
86113func (hiodls HDInsightOnDemandLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
86114	return nil, false
86115}
86116
86117// AsMagentoLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
86118func (hiodls HDInsightOnDemandLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
86119	return nil, false
86120}
86121
86122// AsJiraLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
86123func (hiodls HDInsightOnDemandLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
86124	return nil, false
86125}
86126
86127// AsImpalaLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
86128func (hiodls HDInsightOnDemandLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
86129	return nil, false
86130}
86131
86132// AsHubspotLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
86133func (hiodls HDInsightOnDemandLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
86134	return nil, false
86135}
86136
86137// AsHiveLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
86138func (hiodls HDInsightOnDemandLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
86139	return nil, false
86140}
86141
86142// AsHBaseLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
86143func (hiodls HDInsightOnDemandLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
86144	return nil, false
86145}
86146
86147// AsGreenplumLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
86148func (hiodls HDInsightOnDemandLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
86149	return nil, false
86150}
86151
86152// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
86153func (hiodls HDInsightOnDemandLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
86154	return nil, false
86155}
86156
86157// AsEloquaLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
86158func (hiodls HDInsightOnDemandLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
86159	return nil, false
86160}
86161
86162// AsDrillLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
86163func (hiodls HDInsightOnDemandLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
86164	return nil, false
86165}
86166
86167// AsCouchbaseLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
86168func (hiodls HDInsightOnDemandLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
86169	return nil, false
86170}
86171
86172// AsConcurLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
86173func (hiodls HDInsightOnDemandLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
86174	return nil, false
86175}
86176
86177// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
86178func (hiodls HDInsightOnDemandLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
86179	return nil, false
86180}
86181
86182// AsAmazonMWSLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
86183func (hiodls HDInsightOnDemandLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
86184	return nil, false
86185}
86186
86187// AsSapHanaLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
86188func (hiodls HDInsightOnDemandLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
86189	return nil, false
86190}
86191
86192// AsSapBWLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
86193func (hiodls HDInsightOnDemandLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
86194	return nil, false
86195}
86196
86197// AsSftpServerLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
86198func (hiodls HDInsightOnDemandLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
86199	return nil, false
86200}
86201
86202// AsFtpServerLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
86203func (hiodls HDInsightOnDemandLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
86204	return nil, false
86205}
86206
86207// AsHTTPLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
86208func (hiodls HDInsightOnDemandLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
86209	return nil, false
86210}
86211
86212// AsAzureSearchLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
86213func (hiodls HDInsightOnDemandLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
86214	return nil, false
86215}
86216
86217// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
86218func (hiodls HDInsightOnDemandLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
86219	return nil, false
86220}
86221
86222// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
86223func (hiodls HDInsightOnDemandLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
86224	return nil, false
86225}
86226
86227// AsAmazonS3LinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
86228func (hiodls HDInsightOnDemandLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
86229	return nil, false
86230}
86231
86232// AsRestServiceLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
86233func (hiodls HDInsightOnDemandLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) {
86234	return nil, false
86235}
86236
86237// AsSapOpenHubLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
86238func (hiodls HDInsightOnDemandLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) {
86239	return nil, false
86240}
86241
86242// AsSapEccLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
86243func (hiodls HDInsightOnDemandLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
86244	return nil, false
86245}
86246
86247// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
86248func (hiodls HDInsightOnDemandLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
86249	return nil, false
86250}
86251
86252// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
86253func (hiodls HDInsightOnDemandLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) {
86254	return nil, false
86255}
86256
86257// AsSalesforceLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
86258func (hiodls HDInsightOnDemandLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
86259	return nil, false
86260}
86261
86262// AsOffice365LinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
86263func (hiodls HDInsightOnDemandLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) {
86264	return nil, false
86265}
86266
86267// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
86268func (hiodls HDInsightOnDemandLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) {
86269	return nil, false
86270}
86271
86272// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
86273func (hiodls HDInsightOnDemandLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
86274	return nil, false
86275}
86276
86277// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
86278func (hiodls HDInsightOnDemandLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) {
86279	return nil, false
86280}
86281
86282// AsMongoDbV2LinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
86283func (hiodls HDInsightOnDemandLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) {
86284	return nil, false
86285}
86286
86287// AsMongoDbLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
86288func (hiodls HDInsightOnDemandLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
86289	return nil, false
86290}
86291
86292// AsCassandraLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
86293func (hiodls HDInsightOnDemandLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
86294	return nil, false
86295}
86296
86297// AsWebLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
86298func (hiodls HDInsightOnDemandLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
86299	return nil, false
86300}
86301
86302// AsODataLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
86303func (hiodls HDInsightOnDemandLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
86304	return nil, false
86305}
86306
86307// AsHdfsLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
86308func (hiodls HDInsightOnDemandLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
86309	return nil, false
86310}
86311
86312// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
86313func (hiodls HDInsightOnDemandLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) {
86314	return nil, false
86315}
86316
86317// AsInformixLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
86318func (hiodls HDInsightOnDemandLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) {
86319	return nil, false
86320}
86321
86322// AsOdbcLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
86323func (hiodls HDInsightOnDemandLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
86324	return nil, false
86325}
86326
86327// AsAzureMLLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
86328func (hiodls HDInsightOnDemandLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
86329	return nil, false
86330}
86331
86332// AsTeradataLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
86333func (hiodls HDInsightOnDemandLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
86334	return nil, false
86335}
86336
86337// AsDb2LinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
86338func (hiodls HDInsightOnDemandLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
86339	return nil, false
86340}
86341
86342// AsSybaseLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
86343func (hiodls HDInsightOnDemandLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
86344	return nil, false
86345}
86346
86347// AsPostgreSQLLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
86348func (hiodls HDInsightOnDemandLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
86349	return nil, false
86350}
86351
86352// AsMySQLLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
86353func (hiodls HDInsightOnDemandLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
86354	return nil, false
86355}
86356
86357// AsAzureMySQLLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
86358func (hiodls HDInsightOnDemandLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
86359	return nil, false
86360}
86361
86362// AsOracleLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
86363func (hiodls HDInsightOnDemandLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
86364	return nil, false
86365}
86366
86367// AsFileServerLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
86368func (hiodls HDInsightOnDemandLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
86369	return nil, false
86370}
86371
86372// AsHDInsightLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
86373func (hiodls HDInsightOnDemandLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
86374	return nil, false
86375}
86376
86377// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
86378func (hiodls HDInsightOnDemandLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) {
86379	return nil, false
86380}
86381
86382// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
86383func (hiodls HDInsightOnDemandLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) {
86384	return nil, false
86385}
86386
86387// AsDynamicsLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
86388func (hiodls HDInsightOnDemandLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
86389	return nil, false
86390}
86391
86392// AsCosmosDbLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
86393func (hiodls HDInsightOnDemandLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
86394	return nil, false
86395}
86396
86397// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
86398func (hiodls HDInsightOnDemandLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
86399	return nil, false
86400}
86401
86402// AsAzureBatchLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
86403func (hiodls HDInsightOnDemandLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
86404	return nil, false
86405}
86406
86407// AsAzureSQLMILinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
86408func (hiodls HDInsightOnDemandLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) {
86409	return nil, false
86410}
86411
86412// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
86413func (hiodls HDInsightOnDemandLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
86414	return nil, false
86415}
86416
86417// AsSQLServerLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
86418func (hiodls HDInsightOnDemandLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
86419	return nil, false
86420}
86421
86422// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
86423func (hiodls HDInsightOnDemandLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
86424	return nil, false
86425}
86426
86427// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
86428func (hiodls HDInsightOnDemandLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) {
86429	return nil, false
86430}
86431
86432// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
86433func (hiodls HDInsightOnDemandLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) {
86434	return nil, false
86435}
86436
86437// AsAzureStorageLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
86438func (hiodls HDInsightOnDemandLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
86439	return nil, false
86440}
86441
86442// AsLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
86443func (hiodls HDInsightOnDemandLinkedService) AsLinkedService() (*LinkedService, bool) {
86444	return nil, false
86445}
86446
86447// AsBasicLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
86448func (hiodls HDInsightOnDemandLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
86449	return &hiodls, true
86450}
86451
86452// UnmarshalJSON is the custom unmarshaler for HDInsightOnDemandLinkedService struct.
86453func (hiodls *HDInsightOnDemandLinkedService) UnmarshalJSON(body []byte) error {
86454	var m map[string]*json.RawMessage
86455	err := json.Unmarshal(body, &m)
86456	if err != nil {
86457		return err
86458	}
86459	for k, v := range m {
86460		switch k {
86461		case "typeProperties":
86462			if v != nil {
86463				var hDInsightOnDemandLinkedServiceTypeProperties HDInsightOnDemandLinkedServiceTypeProperties
86464				err = json.Unmarshal(*v, &hDInsightOnDemandLinkedServiceTypeProperties)
86465				if err != nil {
86466					return err
86467				}
86468				hiodls.HDInsightOnDemandLinkedServiceTypeProperties = &hDInsightOnDemandLinkedServiceTypeProperties
86469			}
86470		default:
86471			if v != nil {
86472				var additionalProperties interface{}
86473				err = json.Unmarshal(*v, &additionalProperties)
86474				if err != nil {
86475					return err
86476				}
86477				if hiodls.AdditionalProperties == nil {
86478					hiodls.AdditionalProperties = make(map[string]interface{})
86479				}
86480				hiodls.AdditionalProperties[k] = additionalProperties
86481			}
86482		case "connectVia":
86483			if v != nil {
86484				var connectVia IntegrationRuntimeReference
86485				err = json.Unmarshal(*v, &connectVia)
86486				if err != nil {
86487					return err
86488				}
86489				hiodls.ConnectVia = &connectVia
86490			}
86491		case "description":
86492			if v != nil {
86493				var description string
86494				err = json.Unmarshal(*v, &description)
86495				if err != nil {
86496					return err
86497				}
86498				hiodls.Description = &description
86499			}
86500		case "parameters":
86501			if v != nil {
86502				var parameters map[string]*ParameterSpecification
86503				err = json.Unmarshal(*v, &parameters)
86504				if err != nil {
86505					return err
86506				}
86507				hiodls.Parameters = parameters
86508			}
86509		case "annotations":
86510			if v != nil {
86511				var annotations []interface{}
86512				err = json.Unmarshal(*v, &annotations)
86513				if err != nil {
86514					return err
86515				}
86516				hiodls.Annotations = &annotations
86517			}
86518		case "type":
86519			if v != nil {
86520				var typeVar TypeBasicLinkedService
86521				err = json.Unmarshal(*v, &typeVar)
86522				if err != nil {
86523					return err
86524				}
86525				hiodls.Type = typeVar
86526			}
86527		}
86528	}
86529
86530	return nil
86531}
86532
86533// HDInsightOnDemandLinkedServiceTypeProperties hDInsight ondemand linked service properties.
86534type HDInsightOnDemandLinkedServiceTypeProperties struct {
86535	// ClusterSize - Number of worker/data nodes in the cluster. Suggestion value: 4. Type: string (or Expression with resultType string).
86536	ClusterSize interface{} `json:"clusterSize,omitempty"`
86537	// 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).
86538	TimeToLive interface{} `json:"timeToLive,omitempty"`
86539	// Version - Version of the HDInsight cluster.  Type: string (or Expression with resultType string).
86540	Version interface{} `json:"version,omitempty"`
86541	// LinkedServiceName - Azure Storage linked service to be used by the on-demand cluster for storing and processing data.
86542	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
86543	// HostSubscriptionID - The customer’s subscription to host the cluster. Type: string (or Expression with resultType string).
86544	HostSubscriptionID interface{} `json:"hostSubscriptionId,omitempty"`
86545	// ServicePrincipalID - The service principal id for the hostSubscriptionId. Type: string (or Expression with resultType string).
86546	ServicePrincipalID interface{} `json:"servicePrincipalId,omitempty"`
86547	// ServicePrincipalKey - The key for the service principal id.
86548	ServicePrincipalKey BasicSecretBase `json:"servicePrincipalKey,omitempty"`
86549	// Tenant - The Tenant id/name to which the service principal belongs. Type: string (or Expression with resultType string).
86550	Tenant interface{} `json:"tenant,omitempty"`
86551	// ClusterResourceGroup - The resource group where the cluster belongs. Type: string (or Expression with resultType string).
86552	ClusterResourceGroup interface{} `json:"clusterResourceGroup,omitempty"`
86553	// ClusterNamePrefix - The prefix of cluster name, postfix will be distinct with timestamp. Type: string (or Expression with resultType string).
86554	ClusterNamePrefix interface{} `json:"clusterNamePrefix,omitempty"`
86555	// ClusterUserName - The username to access the cluster. Type: string (or Expression with resultType string).
86556	ClusterUserName interface{} `json:"clusterUserName,omitempty"`
86557	// ClusterPassword - The password to access the cluster.
86558	ClusterPassword BasicSecretBase `json:"clusterPassword,omitempty"`
86559	// ClusterSSHUserName - The username to SSH remotely connect to cluster’s node (for Linux). Type: string (or Expression with resultType string).
86560	ClusterSSHUserName interface{} `json:"clusterSshUserName,omitempty"`
86561	// ClusterSSHPassword - The password to SSH remotely connect cluster’s node (for Linux).
86562	ClusterSSHPassword BasicSecretBase `json:"clusterSshPassword,omitempty"`
86563	// AdditionalLinkedServiceNames - Specifies additional storage accounts for the HDInsight linked service so that the Data Factory service can register them on your behalf.
86564	AdditionalLinkedServiceNames *[]LinkedServiceReference `json:"additionalLinkedServiceNames,omitempty"`
86565	// 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.
86566	HcatalogLinkedServiceName *LinkedServiceReference `json:"hcatalogLinkedServiceName,omitempty"`
86567	// ClusterType - The cluster type. Type: string (or Expression with resultType string).
86568	ClusterType interface{} `json:"clusterType,omitempty"`
86569	// SparkVersion - The version of spark if the cluster type is 'spark'. Type: string (or Expression with resultType string).
86570	SparkVersion interface{} `json:"sparkVersion,omitempty"`
86571	// CoreConfiguration - Specifies the core configuration parameters (as in core-site.xml) for the HDInsight cluster to be created.
86572	CoreConfiguration interface{} `json:"coreConfiguration,omitempty"`
86573	// HBaseConfiguration - Specifies the HBase configuration parameters (hbase-site.xml) for the HDInsight cluster.
86574	HBaseConfiguration interface{} `json:"hBaseConfiguration,omitempty"`
86575	// HdfsConfiguration - Specifies the HDFS configuration parameters (hdfs-site.xml) for the HDInsight cluster.
86576	HdfsConfiguration interface{} `json:"hdfsConfiguration,omitempty"`
86577	// HiveConfiguration - Specifies the hive configuration parameters (hive-site.xml) for the HDInsight cluster.
86578	HiveConfiguration interface{} `json:"hiveConfiguration,omitempty"`
86579	// MapReduceConfiguration - Specifies the MapReduce configuration parameters (mapred-site.xml) for the HDInsight cluster.
86580	MapReduceConfiguration interface{} `json:"mapReduceConfiguration,omitempty"`
86581	// OozieConfiguration - Specifies the Oozie configuration parameters (oozie-site.xml) for the HDInsight cluster.
86582	OozieConfiguration interface{} `json:"oozieConfiguration,omitempty"`
86583	// StormConfiguration - Specifies the Storm configuration parameters (storm-site.xml) for the HDInsight cluster.
86584	StormConfiguration interface{} `json:"stormConfiguration,omitempty"`
86585	// YarnConfiguration - Specifies the Yarn configuration parameters (yarn-site.xml) for the HDInsight cluster.
86586	YarnConfiguration interface{} `json:"yarnConfiguration,omitempty"`
86587	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
86588	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
86589	// HeadNodeSize - Specifies the size of the head node for the HDInsight cluster.
86590	HeadNodeSize interface{} `json:"headNodeSize,omitempty"`
86591	// DataNodeSize - Specifies the size of the data node for the HDInsight cluster.
86592	DataNodeSize interface{} `json:"dataNodeSize,omitempty"`
86593	// ZookeeperNodeSize - Specifies the size of the Zoo Keeper node for the HDInsight cluster.
86594	ZookeeperNodeSize interface{} `json:"zookeeperNodeSize,omitempty"`
86595	// ScriptActions - Custom script actions to run on HDI ondemand cluster once it's up. Please refer to https://docs.microsoft.com/en-us/azure/hdinsight/hdinsight-hadoop-customize-cluster-linux?toc=%2Fen-us%2Fazure%2Fhdinsight%2Fr-server%2FTOC.json&bc=%2Fen-us%2Fazure%2Fbread%2Ftoc.json#understanding-script-actions.
86596	ScriptActions *[]ScriptAction `json:"scriptActions,omitempty"`
86597	// VirtualNetworkID - The ARM resource ID for the vNet to which the cluster should be joined after creation. Type: string (or Expression with resultType string).
86598	VirtualNetworkID interface{} `json:"virtualNetworkId,omitempty"`
86599	// SubnetName - The ARM resource ID for the subnet in the vNet. If virtualNetworkId was specified, then this property is required. Type: string (or Expression with resultType string).
86600	SubnetName interface{} `json:"subnetName,omitempty"`
86601}
86602
86603// UnmarshalJSON is the custom unmarshaler for HDInsightOnDemandLinkedServiceTypeProperties struct.
86604func (hiodlstp *HDInsightOnDemandLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
86605	var m map[string]*json.RawMessage
86606	err := json.Unmarshal(body, &m)
86607	if err != nil {
86608		return err
86609	}
86610	for k, v := range m {
86611		switch k {
86612		case "clusterSize":
86613			if v != nil {
86614				var clusterSize interface{}
86615				err = json.Unmarshal(*v, &clusterSize)
86616				if err != nil {
86617					return err
86618				}
86619				hiodlstp.ClusterSize = clusterSize
86620			}
86621		case "timeToLive":
86622			if v != nil {
86623				var timeToLive interface{}
86624				err = json.Unmarshal(*v, &timeToLive)
86625				if err != nil {
86626					return err
86627				}
86628				hiodlstp.TimeToLive = timeToLive
86629			}
86630		case "version":
86631			if v != nil {
86632				var version interface{}
86633				err = json.Unmarshal(*v, &version)
86634				if err != nil {
86635					return err
86636				}
86637				hiodlstp.Version = version
86638			}
86639		case "linkedServiceName":
86640			if v != nil {
86641				var linkedServiceName LinkedServiceReference
86642				err = json.Unmarshal(*v, &linkedServiceName)
86643				if err != nil {
86644					return err
86645				}
86646				hiodlstp.LinkedServiceName = &linkedServiceName
86647			}
86648		case "hostSubscriptionId":
86649			if v != nil {
86650				var hostSubscriptionID interface{}
86651				err = json.Unmarshal(*v, &hostSubscriptionID)
86652				if err != nil {
86653					return err
86654				}
86655				hiodlstp.HostSubscriptionID = hostSubscriptionID
86656			}
86657		case "servicePrincipalId":
86658			if v != nil {
86659				var servicePrincipalID interface{}
86660				err = json.Unmarshal(*v, &servicePrincipalID)
86661				if err != nil {
86662					return err
86663				}
86664				hiodlstp.ServicePrincipalID = servicePrincipalID
86665			}
86666		case "servicePrincipalKey":
86667			if v != nil {
86668				servicePrincipalKey, err := unmarshalBasicSecretBase(*v)
86669				if err != nil {
86670					return err
86671				}
86672				hiodlstp.ServicePrincipalKey = servicePrincipalKey
86673			}
86674		case "tenant":
86675			if v != nil {
86676				var tenant interface{}
86677				err = json.Unmarshal(*v, &tenant)
86678				if err != nil {
86679					return err
86680				}
86681				hiodlstp.Tenant = tenant
86682			}
86683		case "clusterResourceGroup":
86684			if v != nil {
86685				var clusterResourceGroup interface{}
86686				err = json.Unmarshal(*v, &clusterResourceGroup)
86687				if err != nil {
86688					return err
86689				}
86690				hiodlstp.ClusterResourceGroup = clusterResourceGroup
86691			}
86692		case "clusterNamePrefix":
86693			if v != nil {
86694				var clusterNamePrefix interface{}
86695				err = json.Unmarshal(*v, &clusterNamePrefix)
86696				if err != nil {
86697					return err
86698				}
86699				hiodlstp.ClusterNamePrefix = clusterNamePrefix
86700			}
86701		case "clusterUserName":
86702			if v != nil {
86703				var clusterUserName interface{}
86704				err = json.Unmarshal(*v, &clusterUserName)
86705				if err != nil {
86706					return err
86707				}
86708				hiodlstp.ClusterUserName = clusterUserName
86709			}
86710		case "clusterPassword":
86711			if v != nil {
86712				clusterPassword, err := unmarshalBasicSecretBase(*v)
86713				if err != nil {
86714					return err
86715				}
86716				hiodlstp.ClusterPassword = clusterPassword
86717			}
86718		case "clusterSshUserName":
86719			if v != nil {
86720				var clusterSSHUserName interface{}
86721				err = json.Unmarshal(*v, &clusterSSHUserName)
86722				if err != nil {
86723					return err
86724				}
86725				hiodlstp.ClusterSSHUserName = clusterSSHUserName
86726			}
86727		case "clusterSshPassword":
86728			if v != nil {
86729				clusterSSHPassword, err := unmarshalBasicSecretBase(*v)
86730				if err != nil {
86731					return err
86732				}
86733				hiodlstp.ClusterSSHPassword = clusterSSHPassword
86734			}
86735		case "additionalLinkedServiceNames":
86736			if v != nil {
86737				var additionalLinkedServiceNames []LinkedServiceReference
86738				err = json.Unmarshal(*v, &additionalLinkedServiceNames)
86739				if err != nil {
86740					return err
86741				}
86742				hiodlstp.AdditionalLinkedServiceNames = &additionalLinkedServiceNames
86743			}
86744		case "hcatalogLinkedServiceName":
86745			if v != nil {
86746				var hcatalogLinkedServiceName LinkedServiceReference
86747				err = json.Unmarshal(*v, &hcatalogLinkedServiceName)
86748				if err != nil {
86749					return err
86750				}
86751				hiodlstp.HcatalogLinkedServiceName = &hcatalogLinkedServiceName
86752			}
86753		case "clusterType":
86754			if v != nil {
86755				var clusterType interface{}
86756				err = json.Unmarshal(*v, &clusterType)
86757				if err != nil {
86758					return err
86759				}
86760				hiodlstp.ClusterType = clusterType
86761			}
86762		case "sparkVersion":
86763			if v != nil {
86764				var sparkVersion interface{}
86765				err = json.Unmarshal(*v, &sparkVersion)
86766				if err != nil {
86767					return err
86768				}
86769				hiodlstp.SparkVersion = sparkVersion
86770			}
86771		case "coreConfiguration":
86772			if v != nil {
86773				var coreConfiguration interface{}
86774				err = json.Unmarshal(*v, &coreConfiguration)
86775				if err != nil {
86776					return err
86777				}
86778				hiodlstp.CoreConfiguration = coreConfiguration
86779			}
86780		case "hBaseConfiguration":
86781			if v != nil {
86782				var hBaseConfiguration interface{}
86783				err = json.Unmarshal(*v, &hBaseConfiguration)
86784				if err != nil {
86785					return err
86786				}
86787				hiodlstp.HBaseConfiguration = hBaseConfiguration
86788			}
86789		case "hdfsConfiguration":
86790			if v != nil {
86791				var hdfsConfiguration interface{}
86792				err = json.Unmarshal(*v, &hdfsConfiguration)
86793				if err != nil {
86794					return err
86795				}
86796				hiodlstp.HdfsConfiguration = hdfsConfiguration
86797			}
86798		case "hiveConfiguration":
86799			if v != nil {
86800				var hiveConfiguration interface{}
86801				err = json.Unmarshal(*v, &hiveConfiguration)
86802				if err != nil {
86803					return err
86804				}
86805				hiodlstp.HiveConfiguration = hiveConfiguration
86806			}
86807		case "mapReduceConfiguration":
86808			if v != nil {
86809				var mapReduceConfiguration interface{}
86810				err = json.Unmarshal(*v, &mapReduceConfiguration)
86811				if err != nil {
86812					return err
86813				}
86814				hiodlstp.MapReduceConfiguration = mapReduceConfiguration
86815			}
86816		case "oozieConfiguration":
86817			if v != nil {
86818				var oozieConfiguration interface{}
86819				err = json.Unmarshal(*v, &oozieConfiguration)
86820				if err != nil {
86821					return err
86822				}
86823				hiodlstp.OozieConfiguration = oozieConfiguration
86824			}
86825		case "stormConfiguration":
86826			if v != nil {
86827				var stormConfiguration interface{}
86828				err = json.Unmarshal(*v, &stormConfiguration)
86829				if err != nil {
86830					return err
86831				}
86832				hiodlstp.StormConfiguration = stormConfiguration
86833			}
86834		case "yarnConfiguration":
86835			if v != nil {
86836				var yarnConfiguration interface{}
86837				err = json.Unmarshal(*v, &yarnConfiguration)
86838				if err != nil {
86839					return err
86840				}
86841				hiodlstp.YarnConfiguration = yarnConfiguration
86842			}
86843		case "encryptedCredential":
86844			if v != nil {
86845				var encryptedCredential interface{}
86846				err = json.Unmarshal(*v, &encryptedCredential)
86847				if err != nil {
86848					return err
86849				}
86850				hiodlstp.EncryptedCredential = encryptedCredential
86851			}
86852		case "headNodeSize":
86853			if v != nil {
86854				var headNodeSize interface{}
86855				err = json.Unmarshal(*v, &headNodeSize)
86856				if err != nil {
86857					return err
86858				}
86859				hiodlstp.HeadNodeSize = headNodeSize
86860			}
86861		case "dataNodeSize":
86862			if v != nil {
86863				var dataNodeSize interface{}
86864				err = json.Unmarshal(*v, &dataNodeSize)
86865				if err != nil {
86866					return err
86867				}
86868				hiodlstp.DataNodeSize = dataNodeSize
86869			}
86870		case "zookeeperNodeSize":
86871			if v != nil {
86872				var zookeeperNodeSize interface{}
86873				err = json.Unmarshal(*v, &zookeeperNodeSize)
86874				if err != nil {
86875					return err
86876				}
86877				hiodlstp.ZookeeperNodeSize = zookeeperNodeSize
86878			}
86879		case "scriptActions":
86880			if v != nil {
86881				var scriptActions []ScriptAction
86882				err = json.Unmarshal(*v, &scriptActions)
86883				if err != nil {
86884					return err
86885				}
86886				hiodlstp.ScriptActions = &scriptActions
86887			}
86888		case "virtualNetworkId":
86889			if v != nil {
86890				var virtualNetworkID interface{}
86891				err = json.Unmarshal(*v, &virtualNetworkID)
86892				if err != nil {
86893					return err
86894				}
86895				hiodlstp.VirtualNetworkID = virtualNetworkID
86896			}
86897		case "subnetName":
86898			if v != nil {
86899				var subnetName interface{}
86900				err = json.Unmarshal(*v, &subnetName)
86901				if err != nil {
86902					return err
86903				}
86904				hiodlstp.SubnetName = subnetName
86905			}
86906		}
86907	}
86908
86909	return nil
86910}
86911
86912// HDInsightPigActivity hDInsight Pig activity type.
86913type HDInsightPigActivity struct {
86914	// HDInsightPigActivityTypeProperties - HDInsight Pig activity properties.
86915	*HDInsightPigActivityTypeProperties `json:"typeProperties,omitempty"`
86916	// LinkedServiceName - Linked service reference.
86917	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
86918	// Policy - Activity policy.
86919	Policy *ActivityPolicy `json:"policy,omitempty"`
86920	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
86921	AdditionalProperties map[string]interface{} `json:""`
86922	// Name - Activity name.
86923	Name *string `json:"name,omitempty"`
86924	// Description - Activity description.
86925	Description *string `json:"description,omitempty"`
86926	// DependsOn - Activity depends on condition.
86927	DependsOn *[]ActivityDependency `json:"dependsOn,omitempty"`
86928	// UserProperties - Activity user properties.
86929	UserProperties *[]UserProperty `json:"userProperties,omitempty"`
86930	// Type - Possible values include: 'TypeActivity', 'TypeAzureFunctionActivity', 'TypeDatabricksSparkPython', 'TypeDatabricksSparkJar', 'TypeDatabricksNotebook', 'TypeDataLakeAnalyticsUSQL', 'TypeAzureMLUpdateResource', 'TypeAzureMLBatchExecution', 'TypeGetMetadata', 'TypeWebActivity', 'TypeLookup', 'TypeAzureDataExplorerCommand', 'TypeDelete', 'TypeSQLServerStoredProcedure', 'TypeCustom', 'TypeExecuteSSISPackage', 'TypeHDInsightSpark', 'TypeHDInsightStreaming', 'TypeHDInsightMapReduce', 'TypeHDInsightPig', 'TypeHDInsightHive', 'TypeCopy', 'TypeExecution', 'TypeWebHook', 'TypeAppendVariable', 'TypeSetVariable', 'TypeFilter', 'TypeValidation', 'TypeUntil', 'TypeWait', 'TypeForEach', 'TypeIfCondition', 'TypeExecutePipeline', 'TypeContainer'
86931	Type TypeBasicActivity `json:"type,omitempty"`
86932}
86933
86934// MarshalJSON is the custom marshaler for HDInsightPigActivity.
86935func (hipa HDInsightPigActivity) MarshalJSON() ([]byte, error) {
86936	hipa.Type = TypeHDInsightPig
86937	objectMap := make(map[string]interface{})
86938	if hipa.HDInsightPigActivityTypeProperties != nil {
86939		objectMap["typeProperties"] = hipa.HDInsightPigActivityTypeProperties
86940	}
86941	if hipa.LinkedServiceName != nil {
86942		objectMap["linkedServiceName"] = hipa.LinkedServiceName
86943	}
86944	if hipa.Policy != nil {
86945		objectMap["policy"] = hipa.Policy
86946	}
86947	if hipa.Name != nil {
86948		objectMap["name"] = hipa.Name
86949	}
86950	if hipa.Description != nil {
86951		objectMap["description"] = hipa.Description
86952	}
86953	if hipa.DependsOn != nil {
86954		objectMap["dependsOn"] = hipa.DependsOn
86955	}
86956	if hipa.UserProperties != nil {
86957		objectMap["userProperties"] = hipa.UserProperties
86958	}
86959	if hipa.Type != "" {
86960		objectMap["type"] = hipa.Type
86961	}
86962	for k, v := range hipa.AdditionalProperties {
86963		objectMap[k] = v
86964	}
86965	return json.Marshal(objectMap)
86966}
86967
86968// AsAzureFunctionActivity is the BasicActivity implementation for HDInsightPigActivity.
86969func (hipa HDInsightPigActivity) AsAzureFunctionActivity() (*AzureFunctionActivity, bool) {
86970	return nil, false
86971}
86972
86973// AsDatabricksSparkPythonActivity is the BasicActivity implementation for HDInsightPigActivity.
86974func (hipa HDInsightPigActivity) AsDatabricksSparkPythonActivity() (*DatabricksSparkPythonActivity, bool) {
86975	return nil, false
86976}
86977
86978// AsDatabricksSparkJarActivity is the BasicActivity implementation for HDInsightPigActivity.
86979func (hipa HDInsightPigActivity) AsDatabricksSparkJarActivity() (*DatabricksSparkJarActivity, bool) {
86980	return nil, false
86981}
86982
86983// AsDatabricksNotebookActivity is the BasicActivity implementation for HDInsightPigActivity.
86984func (hipa HDInsightPigActivity) AsDatabricksNotebookActivity() (*DatabricksNotebookActivity, bool) {
86985	return nil, false
86986}
86987
86988// AsDataLakeAnalyticsUSQLActivity is the BasicActivity implementation for HDInsightPigActivity.
86989func (hipa HDInsightPigActivity) AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalyticsUSQLActivity, bool) {
86990	return nil, false
86991}
86992
86993// AsAzureMLUpdateResourceActivity is the BasicActivity implementation for HDInsightPigActivity.
86994func (hipa HDInsightPigActivity) AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool) {
86995	return nil, false
86996}
86997
86998// AsAzureMLBatchExecutionActivity is the BasicActivity implementation for HDInsightPigActivity.
86999func (hipa HDInsightPigActivity) AsAzureMLBatchExecutionActivity() (*AzureMLBatchExecutionActivity, bool) {
87000	return nil, false
87001}
87002
87003// AsGetMetadataActivity is the BasicActivity implementation for HDInsightPigActivity.
87004func (hipa HDInsightPigActivity) AsGetMetadataActivity() (*GetMetadataActivity, bool) {
87005	return nil, false
87006}
87007
87008// AsWebActivity is the BasicActivity implementation for HDInsightPigActivity.
87009func (hipa HDInsightPigActivity) AsWebActivity() (*WebActivity, bool) {
87010	return nil, false
87011}
87012
87013// AsLookupActivity is the BasicActivity implementation for HDInsightPigActivity.
87014func (hipa HDInsightPigActivity) AsLookupActivity() (*LookupActivity, bool) {
87015	return nil, false
87016}
87017
87018// AsAzureDataExplorerCommandActivity is the BasicActivity implementation for HDInsightPigActivity.
87019func (hipa HDInsightPigActivity) AsAzureDataExplorerCommandActivity() (*AzureDataExplorerCommandActivity, bool) {
87020	return nil, false
87021}
87022
87023// AsDeleteActivity is the BasicActivity implementation for HDInsightPigActivity.
87024func (hipa HDInsightPigActivity) AsDeleteActivity() (*DeleteActivity, bool) {
87025	return nil, false
87026}
87027
87028// AsSQLServerStoredProcedureActivity is the BasicActivity implementation for HDInsightPigActivity.
87029func (hipa HDInsightPigActivity) AsSQLServerStoredProcedureActivity() (*SQLServerStoredProcedureActivity, bool) {
87030	return nil, false
87031}
87032
87033// AsCustomActivity is the BasicActivity implementation for HDInsightPigActivity.
87034func (hipa HDInsightPigActivity) AsCustomActivity() (*CustomActivity, bool) {
87035	return nil, false
87036}
87037
87038// AsExecuteSSISPackageActivity is the BasicActivity implementation for HDInsightPigActivity.
87039func (hipa HDInsightPigActivity) AsExecuteSSISPackageActivity() (*ExecuteSSISPackageActivity, bool) {
87040	return nil, false
87041}
87042
87043// AsHDInsightSparkActivity is the BasicActivity implementation for HDInsightPigActivity.
87044func (hipa HDInsightPigActivity) AsHDInsightSparkActivity() (*HDInsightSparkActivity, bool) {
87045	return nil, false
87046}
87047
87048// AsHDInsightStreamingActivity is the BasicActivity implementation for HDInsightPigActivity.
87049func (hipa HDInsightPigActivity) AsHDInsightStreamingActivity() (*HDInsightStreamingActivity, bool) {
87050	return nil, false
87051}
87052
87053// AsHDInsightMapReduceActivity is the BasicActivity implementation for HDInsightPigActivity.
87054func (hipa HDInsightPigActivity) AsHDInsightMapReduceActivity() (*HDInsightMapReduceActivity, bool) {
87055	return nil, false
87056}
87057
87058// AsHDInsightPigActivity is the BasicActivity implementation for HDInsightPigActivity.
87059func (hipa HDInsightPigActivity) AsHDInsightPigActivity() (*HDInsightPigActivity, bool) {
87060	return &hipa, true
87061}
87062
87063// AsHDInsightHiveActivity is the BasicActivity implementation for HDInsightPigActivity.
87064func (hipa HDInsightPigActivity) AsHDInsightHiveActivity() (*HDInsightHiveActivity, bool) {
87065	return nil, false
87066}
87067
87068// AsCopyActivity is the BasicActivity implementation for HDInsightPigActivity.
87069func (hipa HDInsightPigActivity) AsCopyActivity() (*CopyActivity, bool) {
87070	return nil, false
87071}
87072
87073// AsExecutionActivity is the BasicActivity implementation for HDInsightPigActivity.
87074func (hipa HDInsightPigActivity) AsExecutionActivity() (*ExecutionActivity, bool) {
87075	return nil, false
87076}
87077
87078// AsBasicExecutionActivity is the BasicActivity implementation for HDInsightPigActivity.
87079func (hipa HDInsightPigActivity) AsBasicExecutionActivity() (BasicExecutionActivity, bool) {
87080	return &hipa, true
87081}
87082
87083// AsWebHookActivity is the BasicActivity implementation for HDInsightPigActivity.
87084func (hipa HDInsightPigActivity) AsWebHookActivity() (*WebHookActivity, bool) {
87085	return nil, false
87086}
87087
87088// AsAppendVariableActivity is the BasicActivity implementation for HDInsightPigActivity.
87089func (hipa HDInsightPigActivity) AsAppendVariableActivity() (*AppendVariableActivity, bool) {
87090	return nil, false
87091}
87092
87093// AsSetVariableActivity is the BasicActivity implementation for HDInsightPigActivity.
87094func (hipa HDInsightPigActivity) AsSetVariableActivity() (*SetVariableActivity, bool) {
87095	return nil, false
87096}
87097
87098// AsFilterActivity is the BasicActivity implementation for HDInsightPigActivity.
87099func (hipa HDInsightPigActivity) AsFilterActivity() (*FilterActivity, bool) {
87100	return nil, false
87101}
87102
87103// AsValidationActivity is the BasicActivity implementation for HDInsightPigActivity.
87104func (hipa HDInsightPigActivity) AsValidationActivity() (*ValidationActivity, bool) {
87105	return nil, false
87106}
87107
87108// AsUntilActivity is the BasicActivity implementation for HDInsightPigActivity.
87109func (hipa HDInsightPigActivity) AsUntilActivity() (*UntilActivity, bool) {
87110	return nil, false
87111}
87112
87113// AsWaitActivity is the BasicActivity implementation for HDInsightPigActivity.
87114func (hipa HDInsightPigActivity) AsWaitActivity() (*WaitActivity, bool) {
87115	return nil, false
87116}
87117
87118// AsForEachActivity is the BasicActivity implementation for HDInsightPigActivity.
87119func (hipa HDInsightPigActivity) AsForEachActivity() (*ForEachActivity, bool) {
87120	return nil, false
87121}
87122
87123// AsIfConditionActivity is the BasicActivity implementation for HDInsightPigActivity.
87124func (hipa HDInsightPigActivity) AsIfConditionActivity() (*IfConditionActivity, bool) {
87125	return nil, false
87126}
87127
87128// AsExecutePipelineActivity is the BasicActivity implementation for HDInsightPigActivity.
87129func (hipa HDInsightPigActivity) AsExecutePipelineActivity() (*ExecutePipelineActivity, bool) {
87130	return nil, false
87131}
87132
87133// AsControlActivity is the BasicActivity implementation for HDInsightPigActivity.
87134func (hipa HDInsightPigActivity) AsControlActivity() (*ControlActivity, bool) {
87135	return nil, false
87136}
87137
87138// AsBasicControlActivity is the BasicActivity implementation for HDInsightPigActivity.
87139func (hipa HDInsightPigActivity) AsBasicControlActivity() (BasicControlActivity, bool) {
87140	return nil, false
87141}
87142
87143// AsActivity is the BasicActivity implementation for HDInsightPigActivity.
87144func (hipa HDInsightPigActivity) AsActivity() (*Activity, bool) {
87145	return nil, false
87146}
87147
87148// AsBasicActivity is the BasicActivity implementation for HDInsightPigActivity.
87149func (hipa HDInsightPigActivity) AsBasicActivity() (BasicActivity, bool) {
87150	return &hipa, true
87151}
87152
87153// UnmarshalJSON is the custom unmarshaler for HDInsightPigActivity struct.
87154func (hipa *HDInsightPigActivity) UnmarshalJSON(body []byte) error {
87155	var m map[string]*json.RawMessage
87156	err := json.Unmarshal(body, &m)
87157	if err != nil {
87158		return err
87159	}
87160	for k, v := range m {
87161		switch k {
87162		case "typeProperties":
87163			if v != nil {
87164				var hDInsightPigActivityTypeProperties HDInsightPigActivityTypeProperties
87165				err = json.Unmarshal(*v, &hDInsightPigActivityTypeProperties)
87166				if err != nil {
87167					return err
87168				}
87169				hipa.HDInsightPigActivityTypeProperties = &hDInsightPigActivityTypeProperties
87170			}
87171		case "linkedServiceName":
87172			if v != nil {
87173				var linkedServiceName LinkedServiceReference
87174				err = json.Unmarshal(*v, &linkedServiceName)
87175				if err != nil {
87176					return err
87177				}
87178				hipa.LinkedServiceName = &linkedServiceName
87179			}
87180		case "policy":
87181			if v != nil {
87182				var policy ActivityPolicy
87183				err = json.Unmarshal(*v, &policy)
87184				if err != nil {
87185					return err
87186				}
87187				hipa.Policy = &policy
87188			}
87189		default:
87190			if v != nil {
87191				var additionalProperties interface{}
87192				err = json.Unmarshal(*v, &additionalProperties)
87193				if err != nil {
87194					return err
87195				}
87196				if hipa.AdditionalProperties == nil {
87197					hipa.AdditionalProperties = make(map[string]interface{})
87198				}
87199				hipa.AdditionalProperties[k] = additionalProperties
87200			}
87201		case "name":
87202			if v != nil {
87203				var name string
87204				err = json.Unmarshal(*v, &name)
87205				if err != nil {
87206					return err
87207				}
87208				hipa.Name = &name
87209			}
87210		case "description":
87211			if v != nil {
87212				var description string
87213				err = json.Unmarshal(*v, &description)
87214				if err != nil {
87215					return err
87216				}
87217				hipa.Description = &description
87218			}
87219		case "dependsOn":
87220			if v != nil {
87221				var dependsOn []ActivityDependency
87222				err = json.Unmarshal(*v, &dependsOn)
87223				if err != nil {
87224					return err
87225				}
87226				hipa.DependsOn = &dependsOn
87227			}
87228		case "userProperties":
87229			if v != nil {
87230				var userProperties []UserProperty
87231				err = json.Unmarshal(*v, &userProperties)
87232				if err != nil {
87233					return err
87234				}
87235				hipa.UserProperties = &userProperties
87236			}
87237		case "type":
87238			if v != nil {
87239				var typeVar TypeBasicActivity
87240				err = json.Unmarshal(*v, &typeVar)
87241				if err != nil {
87242					return err
87243				}
87244				hipa.Type = typeVar
87245			}
87246		}
87247	}
87248
87249	return nil
87250}
87251
87252// HDInsightPigActivityTypeProperties hDInsight Pig activity properties.
87253type HDInsightPigActivityTypeProperties struct {
87254	// StorageLinkedServices - Storage linked service references.
87255	StorageLinkedServices *[]LinkedServiceReference `json:"storageLinkedServices,omitempty"`
87256	// Arguments - User specified arguments to HDInsightActivity.
87257	Arguments *[]interface{} `json:"arguments,omitempty"`
87258	// GetDebugInfo - Debug info option. Possible values include: 'None', 'Always', 'Failure'
87259	GetDebugInfo HDInsightActivityDebugInfoOption `json:"getDebugInfo,omitempty"`
87260	// ScriptPath - Script path. Type: string (or Expression with resultType string).
87261	ScriptPath interface{} `json:"scriptPath,omitempty"`
87262	// ScriptLinkedService - Script linked service reference.
87263	ScriptLinkedService *LinkedServiceReference `json:"scriptLinkedService,omitempty"`
87264	// Defines - Allows user to specify defines for Pig job request.
87265	Defines map[string]interface{} `json:"defines"`
87266}
87267
87268// MarshalJSON is the custom marshaler for HDInsightPigActivityTypeProperties.
87269func (hipatp HDInsightPigActivityTypeProperties) MarshalJSON() ([]byte, error) {
87270	objectMap := make(map[string]interface{})
87271	if hipatp.StorageLinkedServices != nil {
87272		objectMap["storageLinkedServices"] = hipatp.StorageLinkedServices
87273	}
87274	if hipatp.Arguments != nil {
87275		objectMap["arguments"] = hipatp.Arguments
87276	}
87277	if hipatp.GetDebugInfo != "" {
87278		objectMap["getDebugInfo"] = hipatp.GetDebugInfo
87279	}
87280	if hipatp.ScriptPath != nil {
87281		objectMap["scriptPath"] = hipatp.ScriptPath
87282	}
87283	if hipatp.ScriptLinkedService != nil {
87284		objectMap["scriptLinkedService"] = hipatp.ScriptLinkedService
87285	}
87286	if hipatp.Defines != nil {
87287		objectMap["defines"] = hipatp.Defines
87288	}
87289	return json.Marshal(objectMap)
87290}
87291
87292// HDInsightSparkActivity hDInsight Spark activity.
87293type HDInsightSparkActivity struct {
87294	// HDInsightSparkActivityTypeProperties - HDInsight spark activity properties.
87295	*HDInsightSparkActivityTypeProperties `json:"typeProperties,omitempty"`
87296	// LinkedServiceName - Linked service reference.
87297	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
87298	// Policy - Activity policy.
87299	Policy *ActivityPolicy `json:"policy,omitempty"`
87300	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
87301	AdditionalProperties map[string]interface{} `json:""`
87302	// Name - Activity name.
87303	Name *string `json:"name,omitempty"`
87304	// Description - Activity description.
87305	Description *string `json:"description,omitempty"`
87306	// DependsOn - Activity depends on condition.
87307	DependsOn *[]ActivityDependency `json:"dependsOn,omitempty"`
87308	// UserProperties - Activity user properties.
87309	UserProperties *[]UserProperty `json:"userProperties,omitempty"`
87310	// Type - Possible values include: 'TypeActivity', 'TypeAzureFunctionActivity', 'TypeDatabricksSparkPython', 'TypeDatabricksSparkJar', 'TypeDatabricksNotebook', 'TypeDataLakeAnalyticsUSQL', 'TypeAzureMLUpdateResource', 'TypeAzureMLBatchExecution', 'TypeGetMetadata', 'TypeWebActivity', 'TypeLookup', 'TypeAzureDataExplorerCommand', 'TypeDelete', 'TypeSQLServerStoredProcedure', 'TypeCustom', 'TypeExecuteSSISPackage', 'TypeHDInsightSpark', 'TypeHDInsightStreaming', 'TypeHDInsightMapReduce', 'TypeHDInsightPig', 'TypeHDInsightHive', 'TypeCopy', 'TypeExecution', 'TypeWebHook', 'TypeAppendVariable', 'TypeSetVariable', 'TypeFilter', 'TypeValidation', 'TypeUntil', 'TypeWait', 'TypeForEach', 'TypeIfCondition', 'TypeExecutePipeline', 'TypeContainer'
87311	Type TypeBasicActivity `json:"type,omitempty"`
87312}
87313
87314// MarshalJSON is the custom marshaler for HDInsightSparkActivity.
87315func (hisa HDInsightSparkActivity) MarshalJSON() ([]byte, error) {
87316	hisa.Type = TypeHDInsightSpark
87317	objectMap := make(map[string]interface{})
87318	if hisa.HDInsightSparkActivityTypeProperties != nil {
87319		objectMap["typeProperties"] = hisa.HDInsightSparkActivityTypeProperties
87320	}
87321	if hisa.LinkedServiceName != nil {
87322		objectMap["linkedServiceName"] = hisa.LinkedServiceName
87323	}
87324	if hisa.Policy != nil {
87325		objectMap["policy"] = hisa.Policy
87326	}
87327	if hisa.Name != nil {
87328		objectMap["name"] = hisa.Name
87329	}
87330	if hisa.Description != nil {
87331		objectMap["description"] = hisa.Description
87332	}
87333	if hisa.DependsOn != nil {
87334		objectMap["dependsOn"] = hisa.DependsOn
87335	}
87336	if hisa.UserProperties != nil {
87337		objectMap["userProperties"] = hisa.UserProperties
87338	}
87339	if hisa.Type != "" {
87340		objectMap["type"] = hisa.Type
87341	}
87342	for k, v := range hisa.AdditionalProperties {
87343		objectMap[k] = v
87344	}
87345	return json.Marshal(objectMap)
87346}
87347
87348// AsAzureFunctionActivity is the BasicActivity implementation for HDInsightSparkActivity.
87349func (hisa HDInsightSparkActivity) AsAzureFunctionActivity() (*AzureFunctionActivity, bool) {
87350	return nil, false
87351}
87352
87353// AsDatabricksSparkPythonActivity is the BasicActivity implementation for HDInsightSparkActivity.
87354func (hisa HDInsightSparkActivity) AsDatabricksSparkPythonActivity() (*DatabricksSparkPythonActivity, bool) {
87355	return nil, false
87356}
87357
87358// AsDatabricksSparkJarActivity is the BasicActivity implementation for HDInsightSparkActivity.
87359func (hisa HDInsightSparkActivity) AsDatabricksSparkJarActivity() (*DatabricksSparkJarActivity, bool) {
87360	return nil, false
87361}
87362
87363// AsDatabricksNotebookActivity is the BasicActivity implementation for HDInsightSparkActivity.
87364func (hisa HDInsightSparkActivity) AsDatabricksNotebookActivity() (*DatabricksNotebookActivity, bool) {
87365	return nil, false
87366}
87367
87368// AsDataLakeAnalyticsUSQLActivity is the BasicActivity implementation for HDInsightSparkActivity.
87369func (hisa HDInsightSparkActivity) AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalyticsUSQLActivity, bool) {
87370	return nil, false
87371}
87372
87373// AsAzureMLUpdateResourceActivity is the BasicActivity implementation for HDInsightSparkActivity.
87374func (hisa HDInsightSparkActivity) AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool) {
87375	return nil, false
87376}
87377
87378// AsAzureMLBatchExecutionActivity is the BasicActivity implementation for HDInsightSparkActivity.
87379func (hisa HDInsightSparkActivity) AsAzureMLBatchExecutionActivity() (*AzureMLBatchExecutionActivity, bool) {
87380	return nil, false
87381}
87382
87383// AsGetMetadataActivity is the BasicActivity implementation for HDInsightSparkActivity.
87384func (hisa HDInsightSparkActivity) AsGetMetadataActivity() (*GetMetadataActivity, bool) {
87385	return nil, false
87386}
87387
87388// AsWebActivity is the BasicActivity implementation for HDInsightSparkActivity.
87389func (hisa HDInsightSparkActivity) AsWebActivity() (*WebActivity, bool) {
87390	return nil, false
87391}
87392
87393// AsLookupActivity is the BasicActivity implementation for HDInsightSparkActivity.
87394func (hisa HDInsightSparkActivity) AsLookupActivity() (*LookupActivity, bool) {
87395	return nil, false
87396}
87397
87398// AsAzureDataExplorerCommandActivity is the BasicActivity implementation for HDInsightSparkActivity.
87399func (hisa HDInsightSparkActivity) AsAzureDataExplorerCommandActivity() (*AzureDataExplorerCommandActivity, bool) {
87400	return nil, false
87401}
87402
87403// AsDeleteActivity is the BasicActivity implementation for HDInsightSparkActivity.
87404func (hisa HDInsightSparkActivity) AsDeleteActivity() (*DeleteActivity, bool) {
87405	return nil, false
87406}
87407
87408// AsSQLServerStoredProcedureActivity is the BasicActivity implementation for HDInsightSparkActivity.
87409func (hisa HDInsightSparkActivity) AsSQLServerStoredProcedureActivity() (*SQLServerStoredProcedureActivity, bool) {
87410	return nil, false
87411}
87412
87413// AsCustomActivity is the BasicActivity implementation for HDInsightSparkActivity.
87414func (hisa HDInsightSparkActivity) AsCustomActivity() (*CustomActivity, bool) {
87415	return nil, false
87416}
87417
87418// AsExecuteSSISPackageActivity is the BasicActivity implementation for HDInsightSparkActivity.
87419func (hisa HDInsightSparkActivity) AsExecuteSSISPackageActivity() (*ExecuteSSISPackageActivity, bool) {
87420	return nil, false
87421}
87422
87423// AsHDInsightSparkActivity is the BasicActivity implementation for HDInsightSparkActivity.
87424func (hisa HDInsightSparkActivity) AsHDInsightSparkActivity() (*HDInsightSparkActivity, bool) {
87425	return &hisa, true
87426}
87427
87428// AsHDInsightStreamingActivity is the BasicActivity implementation for HDInsightSparkActivity.
87429func (hisa HDInsightSparkActivity) AsHDInsightStreamingActivity() (*HDInsightStreamingActivity, bool) {
87430	return nil, false
87431}
87432
87433// AsHDInsightMapReduceActivity is the BasicActivity implementation for HDInsightSparkActivity.
87434func (hisa HDInsightSparkActivity) AsHDInsightMapReduceActivity() (*HDInsightMapReduceActivity, bool) {
87435	return nil, false
87436}
87437
87438// AsHDInsightPigActivity is the BasicActivity implementation for HDInsightSparkActivity.
87439func (hisa HDInsightSparkActivity) AsHDInsightPigActivity() (*HDInsightPigActivity, bool) {
87440	return nil, false
87441}
87442
87443// AsHDInsightHiveActivity is the BasicActivity implementation for HDInsightSparkActivity.
87444func (hisa HDInsightSparkActivity) AsHDInsightHiveActivity() (*HDInsightHiveActivity, bool) {
87445	return nil, false
87446}
87447
87448// AsCopyActivity is the BasicActivity implementation for HDInsightSparkActivity.
87449func (hisa HDInsightSparkActivity) AsCopyActivity() (*CopyActivity, bool) {
87450	return nil, false
87451}
87452
87453// AsExecutionActivity is the BasicActivity implementation for HDInsightSparkActivity.
87454func (hisa HDInsightSparkActivity) AsExecutionActivity() (*ExecutionActivity, bool) {
87455	return nil, false
87456}
87457
87458// AsBasicExecutionActivity is the BasicActivity implementation for HDInsightSparkActivity.
87459func (hisa HDInsightSparkActivity) AsBasicExecutionActivity() (BasicExecutionActivity, bool) {
87460	return &hisa, true
87461}
87462
87463// AsWebHookActivity is the BasicActivity implementation for HDInsightSparkActivity.
87464func (hisa HDInsightSparkActivity) AsWebHookActivity() (*WebHookActivity, bool) {
87465	return nil, false
87466}
87467
87468// AsAppendVariableActivity is the BasicActivity implementation for HDInsightSparkActivity.
87469func (hisa HDInsightSparkActivity) AsAppendVariableActivity() (*AppendVariableActivity, bool) {
87470	return nil, false
87471}
87472
87473// AsSetVariableActivity is the BasicActivity implementation for HDInsightSparkActivity.
87474func (hisa HDInsightSparkActivity) AsSetVariableActivity() (*SetVariableActivity, bool) {
87475	return nil, false
87476}
87477
87478// AsFilterActivity is the BasicActivity implementation for HDInsightSparkActivity.
87479func (hisa HDInsightSparkActivity) AsFilterActivity() (*FilterActivity, bool) {
87480	return nil, false
87481}
87482
87483// AsValidationActivity is the BasicActivity implementation for HDInsightSparkActivity.
87484func (hisa HDInsightSparkActivity) AsValidationActivity() (*ValidationActivity, bool) {
87485	return nil, false
87486}
87487
87488// AsUntilActivity is the BasicActivity implementation for HDInsightSparkActivity.
87489func (hisa HDInsightSparkActivity) AsUntilActivity() (*UntilActivity, bool) {
87490	return nil, false
87491}
87492
87493// AsWaitActivity is the BasicActivity implementation for HDInsightSparkActivity.
87494func (hisa HDInsightSparkActivity) AsWaitActivity() (*WaitActivity, bool) {
87495	return nil, false
87496}
87497
87498// AsForEachActivity is the BasicActivity implementation for HDInsightSparkActivity.
87499func (hisa HDInsightSparkActivity) AsForEachActivity() (*ForEachActivity, bool) {
87500	return nil, false
87501}
87502
87503// AsIfConditionActivity is the BasicActivity implementation for HDInsightSparkActivity.
87504func (hisa HDInsightSparkActivity) AsIfConditionActivity() (*IfConditionActivity, bool) {
87505	return nil, false
87506}
87507
87508// AsExecutePipelineActivity is the BasicActivity implementation for HDInsightSparkActivity.
87509func (hisa HDInsightSparkActivity) AsExecutePipelineActivity() (*ExecutePipelineActivity, bool) {
87510	return nil, false
87511}
87512
87513// AsControlActivity is the BasicActivity implementation for HDInsightSparkActivity.
87514func (hisa HDInsightSparkActivity) AsControlActivity() (*ControlActivity, bool) {
87515	return nil, false
87516}
87517
87518// AsBasicControlActivity is the BasicActivity implementation for HDInsightSparkActivity.
87519func (hisa HDInsightSparkActivity) AsBasicControlActivity() (BasicControlActivity, bool) {
87520	return nil, false
87521}
87522
87523// AsActivity is the BasicActivity implementation for HDInsightSparkActivity.
87524func (hisa HDInsightSparkActivity) AsActivity() (*Activity, bool) {
87525	return nil, false
87526}
87527
87528// AsBasicActivity is the BasicActivity implementation for HDInsightSparkActivity.
87529func (hisa HDInsightSparkActivity) AsBasicActivity() (BasicActivity, bool) {
87530	return &hisa, true
87531}
87532
87533// UnmarshalJSON is the custom unmarshaler for HDInsightSparkActivity struct.
87534func (hisa *HDInsightSparkActivity) UnmarshalJSON(body []byte) error {
87535	var m map[string]*json.RawMessage
87536	err := json.Unmarshal(body, &m)
87537	if err != nil {
87538		return err
87539	}
87540	for k, v := range m {
87541		switch k {
87542		case "typeProperties":
87543			if v != nil {
87544				var hDInsightSparkActivityTypeProperties HDInsightSparkActivityTypeProperties
87545				err = json.Unmarshal(*v, &hDInsightSparkActivityTypeProperties)
87546				if err != nil {
87547					return err
87548				}
87549				hisa.HDInsightSparkActivityTypeProperties = &hDInsightSparkActivityTypeProperties
87550			}
87551		case "linkedServiceName":
87552			if v != nil {
87553				var linkedServiceName LinkedServiceReference
87554				err = json.Unmarshal(*v, &linkedServiceName)
87555				if err != nil {
87556					return err
87557				}
87558				hisa.LinkedServiceName = &linkedServiceName
87559			}
87560		case "policy":
87561			if v != nil {
87562				var policy ActivityPolicy
87563				err = json.Unmarshal(*v, &policy)
87564				if err != nil {
87565					return err
87566				}
87567				hisa.Policy = &policy
87568			}
87569		default:
87570			if v != nil {
87571				var additionalProperties interface{}
87572				err = json.Unmarshal(*v, &additionalProperties)
87573				if err != nil {
87574					return err
87575				}
87576				if hisa.AdditionalProperties == nil {
87577					hisa.AdditionalProperties = make(map[string]interface{})
87578				}
87579				hisa.AdditionalProperties[k] = additionalProperties
87580			}
87581		case "name":
87582			if v != nil {
87583				var name string
87584				err = json.Unmarshal(*v, &name)
87585				if err != nil {
87586					return err
87587				}
87588				hisa.Name = &name
87589			}
87590		case "description":
87591			if v != nil {
87592				var description string
87593				err = json.Unmarshal(*v, &description)
87594				if err != nil {
87595					return err
87596				}
87597				hisa.Description = &description
87598			}
87599		case "dependsOn":
87600			if v != nil {
87601				var dependsOn []ActivityDependency
87602				err = json.Unmarshal(*v, &dependsOn)
87603				if err != nil {
87604					return err
87605				}
87606				hisa.DependsOn = &dependsOn
87607			}
87608		case "userProperties":
87609			if v != nil {
87610				var userProperties []UserProperty
87611				err = json.Unmarshal(*v, &userProperties)
87612				if err != nil {
87613					return err
87614				}
87615				hisa.UserProperties = &userProperties
87616			}
87617		case "type":
87618			if v != nil {
87619				var typeVar TypeBasicActivity
87620				err = json.Unmarshal(*v, &typeVar)
87621				if err != nil {
87622					return err
87623				}
87624				hisa.Type = typeVar
87625			}
87626		}
87627	}
87628
87629	return nil
87630}
87631
87632// HDInsightSparkActivityTypeProperties hDInsight spark activity properties.
87633type HDInsightSparkActivityTypeProperties struct {
87634	// RootPath - The root path in 'sparkJobLinkedService' for all the job’s files. Type: string (or Expression with resultType string).
87635	RootPath interface{} `json:"rootPath,omitempty"`
87636	// EntryFilePath - The relative path to the root folder of the code/package to be executed. Type: string (or Expression with resultType string).
87637	EntryFilePath interface{} `json:"entryFilePath,omitempty"`
87638	// Arguments - The user-specified arguments to HDInsightSparkActivity.
87639	Arguments *[]interface{} `json:"arguments,omitempty"`
87640	// GetDebugInfo - Debug info option. Possible values include: 'None', 'Always', 'Failure'
87641	GetDebugInfo HDInsightActivityDebugInfoOption `json:"getDebugInfo,omitempty"`
87642	// SparkJobLinkedService - The storage linked service for uploading the entry file and dependencies, and for receiving logs.
87643	SparkJobLinkedService *LinkedServiceReference `json:"sparkJobLinkedService,omitempty"`
87644	// ClassName - The application's Java/Spark main class.
87645	ClassName *string `json:"className,omitempty"`
87646	// ProxyUser - The user to impersonate that will execute the job. Type: string (or Expression with resultType string).
87647	ProxyUser interface{} `json:"proxyUser,omitempty"`
87648	// SparkConfig - Spark configuration property.
87649	SparkConfig map[string]interface{} `json:"sparkConfig"`
87650}
87651
87652// MarshalJSON is the custom marshaler for HDInsightSparkActivityTypeProperties.
87653func (hisatp HDInsightSparkActivityTypeProperties) MarshalJSON() ([]byte, error) {
87654	objectMap := make(map[string]interface{})
87655	if hisatp.RootPath != nil {
87656		objectMap["rootPath"] = hisatp.RootPath
87657	}
87658	if hisatp.EntryFilePath != nil {
87659		objectMap["entryFilePath"] = hisatp.EntryFilePath
87660	}
87661	if hisatp.Arguments != nil {
87662		objectMap["arguments"] = hisatp.Arguments
87663	}
87664	if hisatp.GetDebugInfo != "" {
87665		objectMap["getDebugInfo"] = hisatp.GetDebugInfo
87666	}
87667	if hisatp.SparkJobLinkedService != nil {
87668		objectMap["sparkJobLinkedService"] = hisatp.SparkJobLinkedService
87669	}
87670	if hisatp.ClassName != nil {
87671		objectMap["className"] = hisatp.ClassName
87672	}
87673	if hisatp.ProxyUser != nil {
87674		objectMap["proxyUser"] = hisatp.ProxyUser
87675	}
87676	if hisatp.SparkConfig != nil {
87677		objectMap["sparkConfig"] = hisatp.SparkConfig
87678	}
87679	return json.Marshal(objectMap)
87680}
87681
87682// HDInsightStreamingActivity hDInsight streaming activity type.
87683type HDInsightStreamingActivity struct {
87684	// HDInsightStreamingActivityTypeProperties - HDInsight streaming activity properties.
87685	*HDInsightStreamingActivityTypeProperties `json:"typeProperties,omitempty"`
87686	// LinkedServiceName - Linked service reference.
87687	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
87688	// Policy - Activity policy.
87689	Policy *ActivityPolicy `json:"policy,omitempty"`
87690	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
87691	AdditionalProperties map[string]interface{} `json:""`
87692	// Name - Activity name.
87693	Name *string `json:"name,omitempty"`
87694	// Description - Activity description.
87695	Description *string `json:"description,omitempty"`
87696	// DependsOn - Activity depends on condition.
87697	DependsOn *[]ActivityDependency `json:"dependsOn,omitempty"`
87698	// UserProperties - Activity user properties.
87699	UserProperties *[]UserProperty `json:"userProperties,omitempty"`
87700	// Type - Possible values include: 'TypeActivity', 'TypeAzureFunctionActivity', 'TypeDatabricksSparkPython', 'TypeDatabricksSparkJar', 'TypeDatabricksNotebook', 'TypeDataLakeAnalyticsUSQL', 'TypeAzureMLUpdateResource', 'TypeAzureMLBatchExecution', 'TypeGetMetadata', 'TypeWebActivity', 'TypeLookup', 'TypeAzureDataExplorerCommand', 'TypeDelete', 'TypeSQLServerStoredProcedure', 'TypeCustom', 'TypeExecuteSSISPackage', 'TypeHDInsightSpark', 'TypeHDInsightStreaming', 'TypeHDInsightMapReduce', 'TypeHDInsightPig', 'TypeHDInsightHive', 'TypeCopy', 'TypeExecution', 'TypeWebHook', 'TypeAppendVariable', 'TypeSetVariable', 'TypeFilter', 'TypeValidation', 'TypeUntil', 'TypeWait', 'TypeForEach', 'TypeIfCondition', 'TypeExecutePipeline', 'TypeContainer'
87701	Type TypeBasicActivity `json:"type,omitempty"`
87702}
87703
87704// MarshalJSON is the custom marshaler for HDInsightStreamingActivity.
87705func (hisa HDInsightStreamingActivity) MarshalJSON() ([]byte, error) {
87706	hisa.Type = TypeHDInsightStreaming
87707	objectMap := make(map[string]interface{})
87708	if hisa.HDInsightStreamingActivityTypeProperties != nil {
87709		objectMap["typeProperties"] = hisa.HDInsightStreamingActivityTypeProperties
87710	}
87711	if hisa.LinkedServiceName != nil {
87712		objectMap["linkedServiceName"] = hisa.LinkedServiceName
87713	}
87714	if hisa.Policy != nil {
87715		objectMap["policy"] = hisa.Policy
87716	}
87717	if hisa.Name != nil {
87718		objectMap["name"] = hisa.Name
87719	}
87720	if hisa.Description != nil {
87721		objectMap["description"] = hisa.Description
87722	}
87723	if hisa.DependsOn != nil {
87724		objectMap["dependsOn"] = hisa.DependsOn
87725	}
87726	if hisa.UserProperties != nil {
87727		objectMap["userProperties"] = hisa.UserProperties
87728	}
87729	if hisa.Type != "" {
87730		objectMap["type"] = hisa.Type
87731	}
87732	for k, v := range hisa.AdditionalProperties {
87733		objectMap[k] = v
87734	}
87735	return json.Marshal(objectMap)
87736}
87737
87738// AsAzureFunctionActivity is the BasicActivity implementation for HDInsightStreamingActivity.
87739func (hisa HDInsightStreamingActivity) AsAzureFunctionActivity() (*AzureFunctionActivity, bool) {
87740	return nil, false
87741}
87742
87743// AsDatabricksSparkPythonActivity is the BasicActivity implementation for HDInsightStreamingActivity.
87744func (hisa HDInsightStreamingActivity) AsDatabricksSparkPythonActivity() (*DatabricksSparkPythonActivity, bool) {
87745	return nil, false
87746}
87747
87748// AsDatabricksSparkJarActivity is the BasicActivity implementation for HDInsightStreamingActivity.
87749func (hisa HDInsightStreamingActivity) AsDatabricksSparkJarActivity() (*DatabricksSparkJarActivity, bool) {
87750	return nil, false
87751}
87752
87753// AsDatabricksNotebookActivity is the BasicActivity implementation for HDInsightStreamingActivity.
87754func (hisa HDInsightStreamingActivity) AsDatabricksNotebookActivity() (*DatabricksNotebookActivity, bool) {
87755	return nil, false
87756}
87757
87758// AsDataLakeAnalyticsUSQLActivity is the BasicActivity implementation for HDInsightStreamingActivity.
87759func (hisa HDInsightStreamingActivity) AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalyticsUSQLActivity, bool) {
87760	return nil, false
87761}
87762
87763// AsAzureMLUpdateResourceActivity is the BasicActivity implementation for HDInsightStreamingActivity.
87764func (hisa HDInsightStreamingActivity) AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool) {
87765	return nil, false
87766}
87767
87768// AsAzureMLBatchExecutionActivity is the BasicActivity implementation for HDInsightStreamingActivity.
87769func (hisa HDInsightStreamingActivity) AsAzureMLBatchExecutionActivity() (*AzureMLBatchExecutionActivity, bool) {
87770	return nil, false
87771}
87772
87773// AsGetMetadataActivity is the BasicActivity implementation for HDInsightStreamingActivity.
87774func (hisa HDInsightStreamingActivity) AsGetMetadataActivity() (*GetMetadataActivity, bool) {
87775	return nil, false
87776}
87777
87778// AsWebActivity is the BasicActivity implementation for HDInsightStreamingActivity.
87779func (hisa HDInsightStreamingActivity) AsWebActivity() (*WebActivity, bool) {
87780	return nil, false
87781}
87782
87783// AsLookupActivity is the BasicActivity implementation for HDInsightStreamingActivity.
87784func (hisa HDInsightStreamingActivity) AsLookupActivity() (*LookupActivity, bool) {
87785	return nil, false
87786}
87787
87788// AsAzureDataExplorerCommandActivity is the BasicActivity implementation for HDInsightStreamingActivity.
87789func (hisa HDInsightStreamingActivity) AsAzureDataExplorerCommandActivity() (*AzureDataExplorerCommandActivity, bool) {
87790	return nil, false
87791}
87792
87793// AsDeleteActivity is the BasicActivity implementation for HDInsightStreamingActivity.
87794func (hisa HDInsightStreamingActivity) AsDeleteActivity() (*DeleteActivity, bool) {
87795	return nil, false
87796}
87797
87798// AsSQLServerStoredProcedureActivity is the BasicActivity implementation for HDInsightStreamingActivity.
87799func (hisa HDInsightStreamingActivity) AsSQLServerStoredProcedureActivity() (*SQLServerStoredProcedureActivity, bool) {
87800	return nil, false
87801}
87802
87803// AsCustomActivity is the BasicActivity implementation for HDInsightStreamingActivity.
87804func (hisa HDInsightStreamingActivity) AsCustomActivity() (*CustomActivity, bool) {
87805	return nil, false
87806}
87807
87808// AsExecuteSSISPackageActivity is the BasicActivity implementation for HDInsightStreamingActivity.
87809func (hisa HDInsightStreamingActivity) AsExecuteSSISPackageActivity() (*ExecuteSSISPackageActivity, bool) {
87810	return nil, false
87811}
87812
87813// AsHDInsightSparkActivity is the BasicActivity implementation for HDInsightStreamingActivity.
87814func (hisa HDInsightStreamingActivity) AsHDInsightSparkActivity() (*HDInsightSparkActivity, bool) {
87815	return nil, false
87816}
87817
87818// AsHDInsightStreamingActivity is the BasicActivity implementation for HDInsightStreamingActivity.
87819func (hisa HDInsightStreamingActivity) AsHDInsightStreamingActivity() (*HDInsightStreamingActivity, bool) {
87820	return &hisa, true
87821}
87822
87823// AsHDInsightMapReduceActivity is the BasicActivity implementation for HDInsightStreamingActivity.
87824func (hisa HDInsightStreamingActivity) AsHDInsightMapReduceActivity() (*HDInsightMapReduceActivity, bool) {
87825	return nil, false
87826}
87827
87828// AsHDInsightPigActivity is the BasicActivity implementation for HDInsightStreamingActivity.
87829func (hisa HDInsightStreamingActivity) AsHDInsightPigActivity() (*HDInsightPigActivity, bool) {
87830	return nil, false
87831}
87832
87833// AsHDInsightHiveActivity is the BasicActivity implementation for HDInsightStreamingActivity.
87834func (hisa HDInsightStreamingActivity) AsHDInsightHiveActivity() (*HDInsightHiveActivity, bool) {
87835	return nil, false
87836}
87837
87838// AsCopyActivity is the BasicActivity implementation for HDInsightStreamingActivity.
87839func (hisa HDInsightStreamingActivity) AsCopyActivity() (*CopyActivity, bool) {
87840	return nil, false
87841}
87842
87843// AsExecutionActivity is the BasicActivity implementation for HDInsightStreamingActivity.
87844func (hisa HDInsightStreamingActivity) AsExecutionActivity() (*ExecutionActivity, bool) {
87845	return nil, false
87846}
87847
87848// AsBasicExecutionActivity is the BasicActivity implementation for HDInsightStreamingActivity.
87849func (hisa HDInsightStreamingActivity) AsBasicExecutionActivity() (BasicExecutionActivity, bool) {
87850	return &hisa, true
87851}
87852
87853// AsWebHookActivity is the BasicActivity implementation for HDInsightStreamingActivity.
87854func (hisa HDInsightStreamingActivity) AsWebHookActivity() (*WebHookActivity, bool) {
87855	return nil, false
87856}
87857
87858// AsAppendVariableActivity is the BasicActivity implementation for HDInsightStreamingActivity.
87859func (hisa HDInsightStreamingActivity) AsAppendVariableActivity() (*AppendVariableActivity, bool) {
87860	return nil, false
87861}
87862
87863// AsSetVariableActivity is the BasicActivity implementation for HDInsightStreamingActivity.
87864func (hisa HDInsightStreamingActivity) AsSetVariableActivity() (*SetVariableActivity, bool) {
87865	return nil, false
87866}
87867
87868// AsFilterActivity is the BasicActivity implementation for HDInsightStreamingActivity.
87869func (hisa HDInsightStreamingActivity) AsFilterActivity() (*FilterActivity, bool) {
87870	return nil, false
87871}
87872
87873// AsValidationActivity is the BasicActivity implementation for HDInsightStreamingActivity.
87874func (hisa HDInsightStreamingActivity) AsValidationActivity() (*ValidationActivity, bool) {
87875	return nil, false
87876}
87877
87878// AsUntilActivity is the BasicActivity implementation for HDInsightStreamingActivity.
87879func (hisa HDInsightStreamingActivity) AsUntilActivity() (*UntilActivity, bool) {
87880	return nil, false
87881}
87882
87883// AsWaitActivity is the BasicActivity implementation for HDInsightStreamingActivity.
87884func (hisa HDInsightStreamingActivity) AsWaitActivity() (*WaitActivity, bool) {
87885	return nil, false
87886}
87887
87888// AsForEachActivity is the BasicActivity implementation for HDInsightStreamingActivity.
87889func (hisa HDInsightStreamingActivity) AsForEachActivity() (*ForEachActivity, bool) {
87890	return nil, false
87891}
87892
87893// AsIfConditionActivity is the BasicActivity implementation for HDInsightStreamingActivity.
87894func (hisa HDInsightStreamingActivity) AsIfConditionActivity() (*IfConditionActivity, bool) {
87895	return nil, false
87896}
87897
87898// AsExecutePipelineActivity is the BasicActivity implementation for HDInsightStreamingActivity.
87899func (hisa HDInsightStreamingActivity) AsExecutePipelineActivity() (*ExecutePipelineActivity, bool) {
87900	return nil, false
87901}
87902
87903// AsControlActivity is the BasicActivity implementation for HDInsightStreamingActivity.
87904func (hisa HDInsightStreamingActivity) AsControlActivity() (*ControlActivity, bool) {
87905	return nil, false
87906}
87907
87908// AsBasicControlActivity is the BasicActivity implementation for HDInsightStreamingActivity.
87909func (hisa HDInsightStreamingActivity) AsBasicControlActivity() (BasicControlActivity, bool) {
87910	return nil, false
87911}
87912
87913// AsActivity is the BasicActivity implementation for HDInsightStreamingActivity.
87914func (hisa HDInsightStreamingActivity) AsActivity() (*Activity, bool) {
87915	return nil, false
87916}
87917
87918// AsBasicActivity is the BasicActivity implementation for HDInsightStreamingActivity.
87919func (hisa HDInsightStreamingActivity) AsBasicActivity() (BasicActivity, bool) {
87920	return &hisa, true
87921}
87922
87923// UnmarshalJSON is the custom unmarshaler for HDInsightStreamingActivity struct.
87924func (hisa *HDInsightStreamingActivity) UnmarshalJSON(body []byte) error {
87925	var m map[string]*json.RawMessage
87926	err := json.Unmarshal(body, &m)
87927	if err != nil {
87928		return err
87929	}
87930	for k, v := range m {
87931		switch k {
87932		case "typeProperties":
87933			if v != nil {
87934				var hDInsightStreamingActivityTypeProperties HDInsightStreamingActivityTypeProperties
87935				err = json.Unmarshal(*v, &hDInsightStreamingActivityTypeProperties)
87936				if err != nil {
87937					return err
87938				}
87939				hisa.HDInsightStreamingActivityTypeProperties = &hDInsightStreamingActivityTypeProperties
87940			}
87941		case "linkedServiceName":
87942			if v != nil {
87943				var linkedServiceName LinkedServiceReference
87944				err = json.Unmarshal(*v, &linkedServiceName)
87945				if err != nil {
87946					return err
87947				}
87948				hisa.LinkedServiceName = &linkedServiceName
87949			}
87950		case "policy":
87951			if v != nil {
87952				var policy ActivityPolicy
87953				err = json.Unmarshal(*v, &policy)
87954				if err != nil {
87955					return err
87956				}
87957				hisa.Policy = &policy
87958			}
87959		default:
87960			if v != nil {
87961				var additionalProperties interface{}
87962				err = json.Unmarshal(*v, &additionalProperties)
87963				if err != nil {
87964					return err
87965				}
87966				if hisa.AdditionalProperties == nil {
87967					hisa.AdditionalProperties = make(map[string]interface{})
87968				}
87969				hisa.AdditionalProperties[k] = additionalProperties
87970			}
87971		case "name":
87972			if v != nil {
87973				var name string
87974				err = json.Unmarshal(*v, &name)
87975				if err != nil {
87976					return err
87977				}
87978				hisa.Name = &name
87979			}
87980		case "description":
87981			if v != nil {
87982				var description string
87983				err = json.Unmarshal(*v, &description)
87984				if err != nil {
87985					return err
87986				}
87987				hisa.Description = &description
87988			}
87989		case "dependsOn":
87990			if v != nil {
87991				var dependsOn []ActivityDependency
87992				err = json.Unmarshal(*v, &dependsOn)
87993				if err != nil {
87994					return err
87995				}
87996				hisa.DependsOn = &dependsOn
87997			}
87998		case "userProperties":
87999			if v != nil {
88000				var userProperties []UserProperty
88001				err = json.Unmarshal(*v, &userProperties)
88002				if err != nil {
88003					return err
88004				}
88005				hisa.UserProperties = &userProperties
88006			}
88007		case "type":
88008			if v != nil {
88009				var typeVar TypeBasicActivity
88010				err = json.Unmarshal(*v, &typeVar)
88011				if err != nil {
88012					return err
88013				}
88014				hisa.Type = typeVar
88015			}
88016		}
88017	}
88018
88019	return nil
88020}
88021
88022// HDInsightStreamingActivityTypeProperties hDInsight streaming activity properties.
88023type HDInsightStreamingActivityTypeProperties struct {
88024	// StorageLinkedServices - Storage linked service references.
88025	StorageLinkedServices *[]LinkedServiceReference `json:"storageLinkedServices,omitempty"`
88026	// Arguments - User specified arguments to HDInsightActivity.
88027	Arguments *[]interface{} `json:"arguments,omitempty"`
88028	// GetDebugInfo - Debug info option. Possible values include: 'None', 'Always', 'Failure'
88029	GetDebugInfo HDInsightActivityDebugInfoOption `json:"getDebugInfo,omitempty"`
88030	// Mapper - Mapper executable name. Type: string (or Expression with resultType string).
88031	Mapper interface{} `json:"mapper,omitempty"`
88032	// Reducer - Reducer executable name. Type: string (or Expression with resultType string).
88033	Reducer interface{} `json:"reducer,omitempty"`
88034	// Input - Input blob path. Type: string (or Expression with resultType string).
88035	Input interface{} `json:"input,omitempty"`
88036	// Output - Output blob path. Type: string (or Expression with resultType string).
88037	Output interface{} `json:"output,omitempty"`
88038	// FilePaths - Paths to streaming job files. Can be directories.
88039	FilePaths *[]interface{} `json:"filePaths,omitempty"`
88040	// FileLinkedService - Linked service reference where the files are located.
88041	FileLinkedService *LinkedServiceReference `json:"fileLinkedService,omitempty"`
88042	// Combiner - Combiner executable name. Type: string (or Expression with resultType string).
88043	Combiner interface{} `json:"combiner,omitempty"`
88044	// CommandEnvironment - Command line environment values.
88045	CommandEnvironment *[]interface{} `json:"commandEnvironment,omitempty"`
88046	// Defines - Allows user to specify defines for streaming job request.
88047	Defines map[string]interface{} `json:"defines"`
88048}
88049
88050// MarshalJSON is the custom marshaler for HDInsightStreamingActivityTypeProperties.
88051func (hisatp HDInsightStreamingActivityTypeProperties) MarshalJSON() ([]byte, error) {
88052	objectMap := make(map[string]interface{})
88053	if hisatp.StorageLinkedServices != nil {
88054		objectMap["storageLinkedServices"] = hisatp.StorageLinkedServices
88055	}
88056	if hisatp.Arguments != nil {
88057		objectMap["arguments"] = hisatp.Arguments
88058	}
88059	if hisatp.GetDebugInfo != "" {
88060		objectMap["getDebugInfo"] = hisatp.GetDebugInfo
88061	}
88062	if hisatp.Mapper != nil {
88063		objectMap["mapper"] = hisatp.Mapper
88064	}
88065	if hisatp.Reducer != nil {
88066		objectMap["reducer"] = hisatp.Reducer
88067	}
88068	if hisatp.Input != nil {
88069		objectMap["input"] = hisatp.Input
88070	}
88071	if hisatp.Output != nil {
88072		objectMap["output"] = hisatp.Output
88073	}
88074	if hisatp.FilePaths != nil {
88075		objectMap["filePaths"] = hisatp.FilePaths
88076	}
88077	if hisatp.FileLinkedService != nil {
88078		objectMap["fileLinkedService"] = hisatp.FileLinkedService
88079	}
88080	if hisatp.Combiner != nil {
88081		objectMap["combiner"] = hisatp.Combiner
88082	}
88083	if hisatp.CommandEnvironment != nil {
88084		objectMap["commandEnvironment"] = hisatp.CommandEnvironment
88085	}
88086	if hisatp.Defines != nil {
88087		objectMap["defines"] = hisatp.Defines
88088	}
88089	return json.Marshal(objectMap)
88090}
88091
88092// HiveLinkedService hive Server linked service.
88093type HiveLinkedService struct {
88094	// HiveLinkedServiceTypeProperties - Hive Server linked service properties.
88095	*HiveLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
88096	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
88097	AdditionalProperties map[string]interface{} `json:""`
88098	// ConnectVia - The integration runtime reference.
88099	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
88100	// Description - Linked service description.
88101	Description *string `json:"description,omitempty"`
88102	// Parameters - Parameters for linked service.
88103	Parameters map[string]*ParameterSpecification `json:"parameters"`
88104	// Annotations - List of tags that can be used for describing the linked service.
88105	Annotations *[]interface{} `json:"annotations,omitempty"`
88106	// Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', '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', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage'
88107	Type TypeBasicLinkedService `json:"type,omitempty"`
88108}
88109
88110// MarshalJSON is the custom marshaler for HiveLinkedService.
88111func (hls HiveLinkedService) MarshalJSON() ([]byte, error) {
88112	hls.Type = TypeHive
88113	objectMap := make(map[string]interface{})
88114	if hls.HiveLinkedServiceTypeProperties != nil {
88115		objectMap["typeProperties"] = hls.HiveLinkedServiceTypeProperties
88116	}
88117	if hls.ConnectVia != nil {
88118		objectMap["connectVia"] = hls.ConnectVia
88119	}
88120	if hls.Description != nil {
88121		objectMap["description"] = hls.Description
88122	}
88123	if hls.Parameters != nil {
88124		objectMap["parameters"] = hls.Parameters
88125	}
88126	if hls.Annotations != nil {
88127		objectMap["annotations"] = hls.Annotations
88128	}
88129	if hls.Type != "" {
88130		objectMap["type"] = hls.Type
88131	}
88132	for k, v := range hls.AdditionalProperties {
88133		objectMap[k] = v
88134	}
88135	return json.Marshal(objectMap)
88136}
88137
88138// AsAzureFunctionLinkedService is the BasicLinkedService implementation for HiveLinkedService.
88139func (hls HiveLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) {
88140	return nil, false
88141}
88142
88143// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for HiveLinkedService.
88144func (hls HiveLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) {
88145	return nil, false
88146}
88147
88148// AsSapTableLinkedService is the BasicLinkedService implementation for HiveLinkedService.
88149func (hls HiveLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) {
88150	return nil, false
88151}
88152
88153// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for HiveLinkedService.
88154func (hls HiveLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) {
88155	return nil, false
88156}
88157
88158// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for HiveLinkedService.
88159func (hls HiveLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) {
88160	return nil, false
88161}
88162
88163// AsDynamicsAXLinkedService is the BasicLinkedService implementation for HiveLinkedService.
88164func (hls HiveLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) {
88165	return nil, false
88166}
88167
88168// AsResponsysLinkedService is the BasicLinkedService implementation for HiveLinkedService.
88169func (hls HiveLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
88170	return nil, false
88171}
88172
88173// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for HiveLinkedService.
88174func (hls HiveLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
88175	return nil, false
88176}
88177
88178// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for HiveLinkedService.
88179func (hls HiveLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
88180	return nil, false
88181}
88182
88183// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for HiveLinkedService.
88184func (hls HiveLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
88185	return nil, false
88186}
88187
88188// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for HiveLinkedService.
88189func (hls HiveLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
88190	return nil, false
88191}
88192
88193// AsNetezzaLinkedService is the BasicLinkedService implementation for HiveLinkedService.
88194func (hls HiveLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
88195	return nil, false
88196}
88197
88198// AsVerticaLinkedService is the BasicLinkedService implementation for HiveLinkedService.
88199func (hls HiveLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
88200	return nil, false
88201}
88202
88203// AsZohoLinkedService is the BasicLinkedService implementation for HiveLinkedService.
88204func (hls HiveLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
88205	return nil, false
88206}
88207
88208// AsXeroLinkedService is the BasicLinkedService implementation for HiveLinkedService.
88209func (hls HiveLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
88210	return nil, false
88211}
88212
88213// AsSquareLinkedService is the BasicLinkedService implementation for HiveLinkedService.
88214func (hls HiveLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
88215	return nil, false
88216}
88217
88218// AsSparkLinkedService is the BasicLinkedService implementation for HiveLinkedService.
88219func (hls HiveLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
88220	return nil, false
88221}
88222
88223// AsShopifyLinkedService is the BasicLinkedService implementation for HiveLinkedService.
88224func (hls HiveLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
88225	return nil, false
88226}
88227
88228// AsServiceNowLinkedService is the BasicLinkedService implementation for HiveLinkedService.
88229func (hls HiveLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
88230	return nil, false
88231}
88232
88233// AsQuickBooksLinkedService is the BasicLinkedService implementation for HiveLinkedService.
88234func (hls HiveLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
88235	return nil, false
88236}
88237
88238// AsPrestoLinkedService is the BasicLinkedService implementation for HiveLinkedService.
88239func (hls HiveLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
88240	return nil, false
88241}
88242
88243// AsPhoenixLinkedService is the BasicLinkedService implementation for HiveLinkedService.
88244func (hls HiveLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
88245	return nil, false
88246}
88247
88248// AsPaypalLinkedService is the BasicLinkedService implementation for HiveLinkedService.
88249func (hls HiveLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
88250	return nil, false
88251}
88252
88253// AsMarketoLinkedService is the BasicLinkedService implementation for HiveLinkedService.
88254func (hls HiveLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
88255	return nil, false
88256}
88257
88258// AsMariaDBLinkedService is the BasicLinkedService implementation for HiveLinkedService.
88259func (hls HiveLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
88260	return nil, false
88261}
88262
88263// AsMagentoLinkedService is the BasicLinkedService implementation for HiveLinkedService.
88264func (hls HiveLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
88265	return nil, false
88266}
88267
88268// AsJiraLinkedService is the BasicLinkedService implementation for HiveLinkedService.
88269func (hls HiveLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
88270	return nil, false
88271}
88272
88273// AsImpalaLinkedService is the BasicLinkedService implementation for HiveLinkedService.
88274func (hls HiveLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
88275	return nil, false
88276}
88277
88278// AsHubspotLinkedService is the BasicLinkedService implementation for HiveLinkedService.
88279func (hls HiveLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
88280	return nil, false
88281}
88282
88283// AsHiveLinkedService is the BasicLinkedService implementation for HiveLinkedService.
88284func (hls HiveLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
88285	return &hls, true
88286}
88287
88288// AsHBaseLinkedService is the BasicLinkedService implementation for HiveLinkedService.
88289func (hls HiveLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
88290	return nil, false
88291}
88292
88293// AsGreenplumLinkedService is the BasicLinkedService implementation for HiveLinkedService.
88294func (hls HiveLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
88295	return nil, false
88296}
88297
88298// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for HiveLinkedService.
88299func (hls HiveLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
88300	return nil, false
88301}
88302
88303// AsEloquaLinkedService is the BasicLinkedService implementation for HiveLinkedService.
88304func (hls HiveLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
88305	return nil, false
88306}
88307
88308// AsDrillLinkedService is the BasicLinkedService implementation for HiveLinkedService.
88309func (hls HiveLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
88310	return nil, false
88311}
88312
88313// AsCouchbaseLinkedService is the BasicLinkedService implementation for HiveLinkedService.
88314func (hls HiveLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
88315	return nil, false
88316}
88317
88318// AsConcurLinkedService is the BasicLinkedService implementation for HiveLinkedService.
88319func (hls HiveLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
88320	return nil, false
88321}
88322
88323// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for HiveLinkedService.
88324func (hls HiveLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
88325	return nil, false
88326}
88327
88328// AsAmazonMWSLinkedService is the BasicLinkedService implementation for HiveLinkedService.
88329func (hls HiveLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
88330	return nil, false
88331}
88332
88333// AsSapHanaLinkedService is the BasicLinkedService implementation for HiveLinkedService.
88334func (hls HiveLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
88335	return nil, false
88336}
88337
88338// AsSapBWLinkedService is the BasicLinkedService implementation for HiveLinkedService.
88339func (hls HiveLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
88340	return nil, false
88341}
88342
88343// AsSftpServerLinkedService is the BasicLinkedService implementation for HiveLinkedService.
88344func (hls HiveLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
88345	return nil, false
88346}
88347
88348// AsFtpServerLinkedService is the BasicLinkedService implementation for HiveLinkedService.
88349func (hls HiveLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
88350	return nil, false
88351}
88352
88353// AsHTTPLinkedService is the BasicLinkedService implementation for HiveLinkedService.
88354func (hls HiveLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
88355	return nil, false
88356}
88357
88358// AsAzureSearchLinkedService is the BasicLinkedService implementation for HiveLinkedService.
88359func (hls HiveLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
88360	return nil, false
88361}
88362
88363// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for HiveLinkedService.
88364func (hls HiveLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
88365	return nil, false
88366}
88367
88368// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for HiveLinkedService.
88369func (hls HiveLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
88370	return nil, false
88371}
88372
88373// AsAmazonS3LinkedService is the BasicLinkedService implementation for HiveLinkedService.
88374func (hls HiveLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
88375	return nil, false
88376}
88377
88378// AsRestServiceLinkedService is the BasicLinkedService implementation for HiveLinkedService.
88379func (hls HiveLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) {
88380	return nil, false
88381}
88382
88383// AsSapOpenHubLinkedService is the BasicLinkedService implementation for HiveLinkedService.
88384func (hls HiveLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) {
88385	return nil, false
88386}
88387
88388// AsSapEccLinkedService is the BasicLinkedService implementation for HiveLinkedService.
88389func (hls HiveLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
88390	return nil, false
88391}
88392
88393// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for HiveLinkedService.
88394func (hls HiveLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
88395	return nil, false
88396}
88397
88398// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for HiveLinkedService.
88399func (hls HiveLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) {
88400	return nil, false
88401}
88402
88403// AsSalesforceLinkedService is the BasicLinkedService implementation for HiveLinkedService.
88404func (hls HiveLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
88405	return nil, false
88406}
88407
88408// AsOffice365LinkedService is the BasicLinkedService implementation for HiveLinkedService.
88409func (hls HiveLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) {
88410	return nil, false
88411}
88412
88413// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for HiveLinkedService.
88414func (hls HiveLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) {
88415	return nil, false
88416}
88417
88418// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for HiveLinkedService.
88419func (hls HiveLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
88420	return nil, false
88421}
88422
88423// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for HiveLinkedService.
88424func (hls HiveLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) {
88425	return nil, false
88426}
88427
88428// AsMongoDbV2LinkedService is the BasicLinkedService implementation for HiveLinkedService.
88429func (hls HiveLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) {
88430	return nil, false
88431}
88432
88433// AsMongoDbLinkedService is the BasicLinkedService implementation for HiveLinkedService.
88434func (hls HiveLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
88435	return nil, false
88436}
88437
88438// AsCassandraLinkedService is the BasicLinkedService implementation for HiveLinkedService.
88439func (hls HiveLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
88440	return nil, false
88441}
88442
88443// AsWebLinkedService is the BasicLinkedService implementation for HiveLinkedService.
88444func (hls HiveLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
88445	return nil, false
88446}
88447
88448// AsODataLinkedService is the BasicLinkedService implementation for HiveLinkedService.
88449func (hls HiveLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
88450	return nil, false
88451}
88452
88453// AsHdfsLinkedService is the BasicLinkedService implementation for HiveLinkedService.
88454func (hls HiveLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
88455	return nil, false
88456}
88457
88458// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for HiveLinkedService.
88459func (hls HiveLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) {
88460	return nil, false
88461}
88462
88463// AsInformixLinkedService is the BasicLinkedService implementation for HiveLinkedService.
88464func (hls HiveLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) {
88465	return nil, false
88466}
88467
88468// AsOdbcLinkedService is the BasicLinkedService implementation for HiveLinkedService.
88469func (hls HiveLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
88470	return nil, false
88471}
88472
88473// AsAzureMLLinkedService is the BasicLinkedService implementation for HiveLinkedService.
88474func (hls HiveLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
88475	return nil, false
88476}
88477
88478// AsTeradataLinkedService is the BasicLinkedService implementation for HiveLinkedService.
88479func (hls HiveLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
88480	return nil, false
88481}
88482
88483// AsDb2LinkedService is the BasicLinkedService implementation for HiveLinkedService.
88484func (hls HiveLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
88485	return nil, false
88486}
88487
88488// AsSybaseLinkedService is the BasicLinkedService implementation for HiveLinkedService.
88489func (hls HiveLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
88490	return nil, false
88491}
88492
88493// AsPostgreSQLLinkedService is the BasicLinkedService implementation for HiveLinkedService.
88494func (hls HiveLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
88495	return nil, false
88496}
88497
88498// AsMySQLLinkedService is the BasicLinkedService implementation for HiveLinkedService.
88499func (hls HiveLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
88500	return nil, false
88501}
88502
88503// AsAzureMySQLLinkedService is the BasicLinkedService implementation for HiveLinkedService.
88504func (hls HiveLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
88505	return nil, false
88506}
88507
88508// AsOracleLinkedService is the BasicLinkedService implementation for HiveLinkedService.
88509func (hls HiveLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
88510	return nil, false
88511}
88512
88513// AsFileServerLinkedService is the BasicLinkedService implementation for HiveLinkedService.
88514func (hls HiveLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
88515	return nil, false
88516}
88517
88518// AsHDInsightLinkedService is the BasicLinkedService implementation for HiveLinkedService.
88519func (hls HiveLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
88520	return nil, false
88521}
88522
88523// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for HiveLinkedService.
88524func (hls HiveLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) {
88525	return nil, false
88526}
88527
88528// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for HiveLinkedService.
88529func (hls HiveLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) {
88530	return nil, false
88531}
88532
88533// AsDynamicsLinkedService is the BasicLinkedService implementation for HiveLinkedService.
88534func (hls HiveLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
88535	return nil, false
88536}
88537
88538// AsCosmosDbLinkedService is the BasicLinkedService implementation for HiveLinkedService.
88539func (hls HiveLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
88540	return nil, false
88541}
88542
88543// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for HiveLinkedService.
88544func (hls HiveLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
88545	return nil, false
88546}
88547
88548// AsAzureBatchLinkedService is the BasicLinkedService implementation for HiveLinkedService.
88549func (hls HiveLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
88550	return nil, false
88551}
88552
88553// AsAzureSQLMILinkedService is the BasicLinkedService implementation for HiveLinkedService.
88554func (hls HiveLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) {
88555	return nil, false
88556}
88557
88558// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for HiveLinkedService.
88559func (hls HiveLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
88560	return nil, false
88561}
88562
88563// AsSQLServerLinkedService is the BasicLinkedService implementation for HiveLinkedService.
88564func (hls HiveLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
88565	return nil, false
88566}
88567
88568// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for HiveLinkedService.
88569func (hls HiveLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
88570	return nil, false
88571}
88572
88573// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for HiveLinkedService.
88574func (hls HiveLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) {
88575	return nil, false
88576}
88577
88578// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for HiveLinkedService.
88579func (hls HiveLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) {
88580	return nil, false
88581}
88582
88583// AsAzureStorageLinkedService is the BasicLinkedService implementation for HiveLinkedService.
88584func (hls HiveLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
88585	return nil, false
88586}
88587
88588// AsLinkedService is the BasicLinkedService implementation for HiveLinkedService.
88589func (hls HiveLinkedService) AsLinkedService() (*LinkedService, bool) {
88590	return nil, false
88591}
88592
88593// AsBasicLinkedService is the BasicLinkedService implementation for HiveLinkedService.
88594func (hls HiveLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
88595	return &hls, true
88596}
88597
88598// UnmarshalJSON is the custom unmarshaler for HiveLinkedService struct.
88599func (hls *HiveLinkedService) UnmarshalJSON(body []byte) error {
88600	var m map[string]*json.RawMessage
88601	err := json.Unmarshal(body, &m)
88602	if err != nil {
88603		return err
88604	}
88605	for k, v := range m {
88606		switch k {
88607		case "typeProperties":
88608			if v != nil {
88609				var hiveLinkedServiceTypeProperties HiveLinkedServiceTypeProperties
88610				err = json.Unmarshal(*v, &hiveLinkedServiceTypeProperties)
88611				if err != nil {
88612					return err
88613				}
88614				hls.HiveLinkedServiceTypeProperties = &hiveLinkedServiceTypeProperties
88615			}
88616		default:
88617			if v != nil {
88618				var additionalProperties interface{}
88619				err = json.Unmarshal(*v, &additionalProperties)
88620				if err != nil {
88621					return err
88622				}
88623				if hls.AdditionalProperties == nil {
88624					hls.AdditionalProperties = make(map[string]interface{})
88625				}
88626				hls.AdditionalProperties[k] = additionalProperties
88627			}
88628		case "connectVia":
88629			if v != nil {
88630				var connectVia IntegrationRuntimeReference
88631				err = json.Unmarshal(*v, &connectVia)
88632				if err != nil {
88633					return err
88634				}
88635				hls.ConnectVia = &connectVia
88636			}
88637		case "description":
88638			if v != nil {
88639				var description string
88640				err = json.Unmarshal(*v, &description)
88641				if err != nil {
88642					return err
88643				}
88644				hls.Description = &description
88645			}
88646		case "parameters":
88647			if v != nil {
88648				var parameters map[string]*ParameterSpecification
88649				err = json.Unmarshal(*v, &parameters)
88650				if err != nil {
88651					return err
88652				}
88653				hls.Parameters = parameters
88654			}
88655		case "annotations":
88656			if v != nil {
88657				var annotations []interface{}
88658				err = json.Unmarshal(*v, &annotations)
88659				if err != nil {
88660					return err
88661				}
88662				hls.Annotations = &annotations
88663			}
88664		case "type":
88665			if v != nil {
88666				var typeVar TypeBasicLinkedService
88667				err = json.Unmarshal(*v, &typeVar)
88668				if err != nil {
88669					return err
88670				}
88671				hls.Type = typeVar
88672			}
88673		}
88674	}
88675
88676	return nil
88677}
88678
88679// HiveLinkedServiceTypeProperties hive Server linked service properties.
88680type HiveLinkedServiceTypeProperties struct {
88681	// Host - IP address or host name of the Hive server, separated by ';' for multiple hosts (only when serviceDiscoveryMode is enable).
88682	Host interface{} `json:"host,omitempty"`
88683	// Port - The TCP port that the Hive server uses to listen for client connections.
88684	Port interface{} `json:"port,omitempty"`
88685	// ServerType - The type of Hive server. Possible values include: 'HiveServer1', 'HiveServer2', 'HiveThriftServer'
88686	ServerType HiveServerType `json:"serverType,omitempty"`
88687	// ThriftTransportProtocol - The transport protocol to use in the Thrift layer. Possible values include: 'Binary', 'SASL', 'HTTP'
88688	ThriftTransportProtocol HiveThriftTransportProtocol `json:"thriftTransportProtocol,omitempty"`
88689	// AuthenticationType - The authentication method used to access the Hive server. Possible values include: 'Anonymous', 'Username', 'UsernameAndPassword', 'WindowsAzureHDInsightService'
88690	AuthenticationType HiveAuthenticationType `json:"authenticationType,omitempty"`
88691	// ServiceDiscoveryMode - true to indicate using the ZooKeeper service, false not.
88692	ServiceDiscoveryMode interface{} `json:"serviceDiscoveryMode,omitempty"`
88693	// ZooKeeperNameSpace - The namespace on ZooKeeper under which Hive Server 2 nodes are added.
88694	ZooKeeperNameSpace interface{} `json:"zooKeeperNameSpace,omitempty"`
88695	// UseNativeQuery - Specifies whether the driver uses native HiveQL queries,or converts them into an equivalent form in HiveQL.
88696	UseNativeQuery interface{} `json:"useNativeQuery,omitempty"`
88697	// Username - The user name that you use to access Hive Server.
88698	Username interface{} `json:"username,omitempty"`
88699	// Password - The password corresponding to the user name that you provided in the Username field
88700	Password BasicSecretBase `json:"password,omitempty"`
88701	// HTTPPath - The partial URL corresponding to the Hive server.
88702	HTTPPath interface{} `json:"httpPath,omitempty"`
88703	// EnableSsl - Specifies whether the connections to the server are encrypted using SSL. The default value is false.
88704	EnableSsl interface{} `json:"enableSsl,omitempty"`
88705	// 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.
88706	TrustedCertPath interface{} `json:"trustedCertPath,omitempty"`
88707	// UseSystemTrustStore - Specifies whether to use a CA certificate from the system trust store or from a specified PEM file. The default value is false.
88708	UseSystemTrustStore interface{} `json:"useSystemTrustStore,omitempty"`
88709	// 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.
88710	AllowHostNameCNMismatch interface{} `json:"allowHostNameCNMismatch,omitempty"`
88711	// AllowSelfSignedServerCert - Specifies whether to allow self-signed certificates from the server. The default value is false.
88712	AllowSelfSignedServerCert interface{} `json:"allowSelfSignedServerCert,omitempty"`
88713	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
88714	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
88715}
88716
88717// UnmarshalJSON is the custom unmarshaler for HiveLinkedServiceTypeProperties struct.
88718func (hlstp *HiveLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
88719	var m map[string]*json.RawMessage
88720	err := json.Unmarshal(body, &m)
88721	if err != nil {
88722		return err
88723	}
88724	for k, v := range m {
88725		switch k {
88726		case "host":
88727			if v != nil {
88728				var host interface{}
88729				err = json.Unmarshal(*v, &host)
88730				if err != nil {
88731					return err
88732				}
88733				hlstp.Host = host
88734			}
88735		case "port":
88736			if v != nil {
88737				var port interface{}
88738				err = json.Unmarshal(*v, &port)
88739				if err != nil {
88740					return err
88741				}
88742				hlstp.Port = port
88743			}
88744		case "serverType":
88745			if v != nil {
88746				var serverType HiveServerType
88747				err = json.Unmarshal(*v, &serverType)
88748				if err != nil {
88749					return err
88750				}
88751				hlstp.ServerType = serverType
88752			}
88753		case "thriftTransportProtocol":
88754			if v != nil {
88755				var thriftTransportProtocol HiveThriftTransportProtocol
88756				err = json.Unmarshal(*v, &thriftTransportProtocol)
88757				if err != nil {
88758					return err
88759				}
88760				hlstp.ThriftTransportProtocol = thriftTransportProtocol
88761			}
88762		case "authenticationType":
88763			if v != nil {
88764				var authenticationType HiveAuthenticationType
88765				err = json.Unmarshal(*v, &authenticationType)
88766				if err != nil {
88767					return err
88768				}
88769				hlstp.AuthenticationType = authenticationType
88770			}
88771		case "serviceDiscoveryMode":
88772			if v != nil {
88773				var serviceDiscoveryMode interface{}
88774				err = json.Unmarshal(*v, &serviceDiscoveryMode)
88775				if err != nil {
88776					return err
88777				}
88778				hlstp.ServiceDiscoveryMode = serviceDiscoveryMode
88779			}
88780		case "zooKeeperNameSpace":
88781			if v != nil {
88782				var zooKeeperNameSpace interface{}
88783				err = json.Unmarshal(*v, &zooKeeperNameSpace)
88784				if err != nil {
88785					return err
88786				}
88787				hlstp.ZooKeeperNameSpace = zooKeeperNameSpace
88788			}
88789		case "useNativeQuery":
88790			if v != nil {
88791				var useNativeQuery interface{}
88792				err = json.Unmarshal(*v, &useNativeQuery)
88793				if err != nil {
88794					return err
88795				}
88796				hlstp.UseNativeQuery = useNativeQuery
88797			}
88798		case "username":
88799			if v != nil {
88800				var username interface{}
88801				err = json.Unmarshal(*v, &username)
88802				if err != nil {
88803					return err
88804				}
88805				hlstp.Username = username
88806			}
88807		case "password":
88808			if v != nil {
88809				password, err := unmarshalBasicSecretBase(*v)
88810				if err != nil {
88811					return err
88812				}
88813				hlstp.Password = password
88814			}
88815		case "httpPath":
88816			if v != nil {
88817				var HTTPPath interface{}
88818				err = json.Unmarshal(*v, &HTTPPath)
88819				if err != nil {
88820					return err
88821				}
88822				hlstp.HTTPPath = HTTPPath
88823			}
88824		case "enableSsl":
88825			if v != nil {
88826				var enableSsl interface{}
88827				err = json.Unmarshal(*v, &enableSsl)
88828				if err != nil {
88829					return err
88830				}
88831				hlstp.EnableSsl = enableSsl
88832			}
88833		case "trustedCertPath":
88834			if v != nil {
88835				var trustedCertPath interface{}
88836				err = json.Unmarshal(*v, &trustedCertPath)
88837				if err != nil {
88838					return err
88839				}
88840				hlstp.TrustedCertPath = trustedCertPath
88841			}
88842		case "useSystemTrustStore":
88843			if v != nil {
88844				var useSystemTrustStore interface{}
88845				err = json.Unmarshal(*v, &useSystemTrustStore)
88846				if err != nil {
88847					return err
88848				}
88849				hlstp.UseSystemTrustStore = useSystemTrustStore
88850			}
88851		case "allowHostNameCNMismatch":
88852			if v != nil {
88853				var allowHostNameCNMismatch interface{}
88854				err = json.Unmarshal(*v, &allowHostNameCNMismatch)
88855				if err != nil {
88856					return err
88857				}
88858				hlstp.AllowHostNameCNMismatch = allowHostNameCNMismatch
88859			}
88860		case "allowSelfSignedServerCert":
88861			if v != nil {
88862				var allowSelfSignedServerCert interface{}
88863				err = json.Unmarshal(*v, &allowSelfSignedServerCert)
88864				if err != nil {
88865					return err
88866				}
88867				hlstp.AllowSelfSignedServerCert = allowSelfSignedServerCert
88868			}
88869		case "encryptedCredential":
88870			if v != nil {
88871				var encryptedCredential interface{}
88872				err = json.Unmarshal(*v, &encryptedCredential)
88873				if err != nil {
88874					return err
88875				}
88876				hlstp.EncryptedCredential = encryptedCredential
88877			}
88878		}
88879	}
88880
88881	return nil
88882}
88883
88884// HiveObjectDataset hive Server dataset.
88885type HiveObjectDataset struct {
88886	// GenericDatasetTypeProperties - Properties specific to this dataset type.
88887	*GenericDatasetTypeProperties `json:"typeProperties,omitempty"`
88888	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
88889	AdditionalProperties map[string]interface{} `json:""`
88890	// Description - Dataset description.
88891	Description *string `json:"description,omitempty"`
88892	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
88893	Structure interface{} `json:"structure,omitempty"`
88894	// Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement.
88895	Schema interface{} `json:"schema,omitempty"`
88896	// LinkedServiceName - Linked service reference.
88897	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
88898	// Parameters - Parameters for dataset.
88899	Parameters map[string]*ParameterSpecification `json:"parameters"`
88900	// Annotations - List of tags that can be used for describing the Dataset.
88901	Annotations *[]interface{} `json:"annotations,omitempty"`
88902	// Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level.
88903	Folder *DatasetFolder `json:"folder,omitempty"`
88904	// Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', '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', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeDelimitedText', 'TypeParquet', 'TypeAmazonS3Object'
88905	Type TypeBasicDataset `json:"type,omitempty"`
88906}
88907
88908// MarshalJSON is the custom marshaler for HiveObjectDataset.
88909func (hod HiveObjectDataset) MarshalJSON() ([]byte, error) {
88910	hod.Type = TypeHiveObject
88911	objectMap := make(map[string]interface{})
88912	if hod.GenericDatasetTypeProperties != nil {
88913		objectMap["typeProperties"] = hod.GenericDatasetTypeProperties
88914	}
88915	if hod.Description != nil {
88916		objectMap["description"] = hod.Description
88917	}
88918	if hod.Structure != nil {
88919		objectMap["structure"] = hod.Structure
88920	}
88921	if hod.Schema != nil {
88922		objectMap["schema"] = hod.Schema
88923	}
88924	if hod.LinkedServiceName != nil {
88925		objectMap["linkedServiceName"] = hod.LinkedServiceName
88926	}
88927	if hod.Parameters != nil {
88928		objectMap["parameters"] = hod.Parameters
88929	}
88930	if hod.Annotations != nil {
88931		objectMap["annotations"] = hod.Annotations
88932	}
88933	if hod.Folder != nil {
88934		objectMap["folder"] = hod.Folder
88935	}
88936	if hod.Type != "" {
88937		objectMap["type"] = hod.Type
88938	}
88939	for k, v := range hod.AdditionalProperties {
88940		objectMap[k] = v
88941	}
88942	return json.Marshal(objectMap)
88943}
88944
88945// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for HiveObjectDataset.
88946func (hod HiveObjectDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) {
88947	return nil, false
88948}
88949
88950// AsAzureDataExplorerTableDataset is the BasicDataset implementation for HiveObjectDataset.
88951func (hod HiveObjectDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) {
88952	return nil, false
88953}
88954
88955// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for HiveObjectDataset.
88956func (hod HiveObjectDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) {
88957	return nil, false
88958}
88959
88960// AsDynamicsAXResourceDataset is the BasicDataset implementation for HiveObjectDataset.
88961func (hod HiveObjectDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) {
88962	return nil, false
88963}
88964
88965// AsResponsysObjectDataset is the BasicDataset implementation for HiveObjectDataset.
88966func (hod HiveObjectDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
88967	return nil, false
88968}
88969
88970// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for HiveObjectDataset.
88971func (hod HiveObjectDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
88972	return nil, false
88973}
88974
88975// AsVerticaTableDataset is the BasicDataset implementation for HiveObjectDataset.
88976func (hod HiveObjectDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
88977	return nil, false
88978}
88979
88980// AsNetezzaTableDataset is the BasicDataset implementation for HiveObjectDataset.
88981func (hod HiveObjectDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
88982	return nil, false
88983}
88984
88985// AsZohoObjectDataset is the BasicDataset implementation for HiveObjectDataset.
88986func (hod HiveObjectDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
88987	return nil, false
88988}
88989
88990// AsXeroObjectDataset is the BasicDataset implementation for HiveObjectDataset.
88991func (hod HiveObjectDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
88992	return nil, false
88993}
88994
88995// AsSquareObjectDataset is the BasicDataset implementation for HiveObjectDataset.
88996func (hod HiveObjectDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
88997	return nil, false
88998}
88999
89000// AsSparkObjectDataset is the BasicDataset implementation for HiveObjectDataset.
89001func (hod HiveObjectDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
89002	return nil, false
89003}
89004
89005// AsShopifyObjectDataset is the BasicDataset implementation for HiveObjectDataset.
89006func (hod HiveObjectDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
89007	return nil, false
89008}
89009
89010// AsServiceNowObjectDataset is the BasicDataset implementation for HiveObjectDataset.
89011func (hod HiveObjectDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
89012	return nil, false
89013}
89014
89015// AsQuickBooksObjectDataset is the BasicDataset implementation for HiveObjectDataset.
89016func (hod HiveObjectDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
89017	return nil, false
89018}
89019
89020// AsPrestoObjectDataset is the BasicDataset implementation for HiveObjectDataset.
89021func (hod HiveObjectDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
89022	return nil, false
89023}
89024
89025// AsPhoenixObjectDataset is the BasicDataset implementation for HiveObjectDataset.
89026func (hod HiveObjectDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
89027	return nil, false
89028}
89029
89030// AsPaypalObjectDataset is the BasicDataset implementation for HiveObjectDataset.
89031func (hod HiveObjectDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
89032	return nil, false
89033}
89034
89035// AsMarketoObjectDataset is the BasicDataset implementation for HiveObjectDataset.
89036func (hod HiveObjectDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
89037	return nil, false
89038}
89039
89040// AsMariaDBTableDataset is the BasicDataset implementation for HiveObjectDataset.
89041func (hod HiveObjectDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
89042	return nil, false
89043}
89044
89045// AsMagentoObjectDataset is the BasicDataset implementation for HiveObjectDataset.
89046func (hod HiveObjectDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
89047	return nil, false
89048}
89049
89050// AsJiraObjectDataset is the BasicDataset implementation for HiveObjectDataset.
89051func (hod HiveObjectDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
89052	return nil, false
89053}
89054
89055// AsImpalaObjectDataset is the BasicDataset implementation for HiveObjectDataset.
89056func (hod HiveObjectDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
89057	return nil, false
89058}
89059
89060// AsHubspotObjectDataset is the BasicDataset implementation for HiveObjectDataset.
89061func (hod HiveObjectDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
89062	return nil, false
89063}
89064
89065// AsHiveObjectDataset is the BasicDataset implementation for HiveObjectDataset.
89066func (hod HiveObjectDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
89067	return &hod, true
89068}
89069
89070// AsHBaseObjectDataset is the BasicDataset implementation for HiveObjectDataset.
89071func (hod HiveObjectDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
89072	return nil, false
89073}
89074
89075// AsGreenplumTableDataset is the BasicDataset implementation for HiveObjectDataset.
89076func (hod HiveObjectDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
89077	return nil, false
89078}
89079
89080// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for HiveObjectDataset.
89081func (hod HiveObjectDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
89082	return nil, false
89083}
89084
89085// AsEloquaObjectDataset is the BasicDataset implementation for HiveObjectDataset.
89086func (hod HiveObjectDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
89087	return nil, false
89088}
89089
89090// AsDrillTableDataset is the BasicDataset implementation for HiveObjectDataset.
89091func (hod HiveObjectDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
89092	return nil, false
89093}
89094
89095// AsCouchbaseTableDataset is the BasicDataset implementation for HiveObjectDataset.
89096func (hod HiveObjectDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
89097	return nil, false
89098}
89099
89100// AsConcurObjectDataset is the BasicDataset implementation for HiveObjectDataset.
89101func (hod HiveObjectDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
89102	return nil, false
89103}
89104
89105// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for HiveObjectDataset.
89106func (hod HiveObjectDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
89107	return nil, false
89108}
89109
89110// AsAmazonMWSObjectDataset is the BasicDataset implementation for HiveObjectDataset.
89111func (hod HiveObjectDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
89112	return nil, false
89113}
89114
89115// AsHTTPDataset is the BasicDataset implementation for HiveObjectDataset.
89116func (hod HiveObjectDataset) AsHTTPDataset() (*HTTPDataset, bool) {
89117	return nil, false
89118}
89119
89120// AsAzureSearchIndexDataset is the BasicDataset implementation for HiveObjectDataset.
89121func (hod HiveObjectDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
89122	return nil, false
89123}
89124
89125// AsWebTableDataset is the BasicDataset implementation for HiveObjectDataset.
89126func (hod HiveObjectDataset) AsWebTableDataset() (*WebTableDataset, bool) {
89127	return nil, false
89128}
89129
89130// AsSapTableResourceDataset is the BasicDataset implementation for HiveObjectDataset.
89131func (hod HiveObjectDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) {
89132	return nil, false
89133}
89134
89135// AsRestResourceDataset is the BasicDataset implementation for HiveObjectDataset.
89136func (hod HiveObjectDataset) AsRestResourceDataset() (*RestResourceDataset, bool) {
89137	return nil, false
89138}
89139
89140// AsSQLServerTableDataset is the BasicDataset implementation for HiveObjectDataset.
89141func (hod HiveObjectDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
89142	return nil, false
89143}
89144
89145// AsSapOpenHubTableDataset is the BasicDataset implementation for HiveObjectDataset.
89146func (hod HiveObjectDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) {
89147	return nil, false
89148}
89149
89150// AsSapHanaTableDataset is the BasicDataset implementation for HiveObjectDataset.
89151func (hod HiveObjectDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) {
89152	return nil, false
89153}
89154
89155// AsSapEccResourceDataset is the BasicDataset implementation for HiveObjectDataset.
89156func (hod HiveObjectDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
89157	return nil, false
89158}
89159
89160// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for HiveObjectDataset.
89161func (hod HiveObjectDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
89162	return nil, false
89163}
89164
89165// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for HiveObjectDataset.
89166func (hod HiveObjectDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) {
89167	return nil, false
89168}
89169
89170// AsSalesforceObjectDataset is the BasicDataset implementation for HiveObjectDataset.
89171func (hod HiveObjectDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
89172	return nil, false
89173}
89174
89175// AsMicrosoftAccessTableDataset is the BasicDataset implementation for HiveObjectDataset.
89176func (hod HiveObjectDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) {
89177	return nil, false
89178}
89179
89180// AsPostgreSQLTableDataset is the BasicDataset implementation for HiveObjectDataset.
89181func (hod HiveObjectDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) {
89182	return nil, false
89183}
89184
89185// AsMySQLTableDataset is the BasicDataset implementation for HiveObjectDataset.
89186func (hod HiveObjectDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) {
89187	return nil, false
89188}
89189
89190// AsOdbcTableDataset is the BasicDataset implementation for HiveObjectDataset.
89191func (hod HiveObjectDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) {
89192	return nil, false
89193}
89194
89195// AsInformixTableDataset is the BasicDataset implementation for HiveObjectDataset.
89196func (hod HiveObjectDataset) AsInformixTableDataset() (*InformixTableDataset, bool) {
89197	return nil, false
89198}
89199
89200// AsRelationalTableDataset is the BasicDataset implementation for HiveObjectDataset.
89201func (hod HiveObjectDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
89202	return nil, false
89203}
89204
89205// AsAzureMySQLTableDataset is the BasicDataset implementation for HiveObjectDataset.
89206func (hod HiveObjectDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
89207	return nil, false
89208}
89209
89210// AsTeradataTableDataset is the BasicDataset implementation for HiveObjectDataset.
89211func (hod HiveObjectDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) {
89212	return nil, false
89213}
89214
89215// AsOracleTableDataset is the BasicDataset implementation for HiveObjectDataset.
89216func (hod HiveObjectDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
89217	return nil, false
89218}
89219
89220// AsODataResourceDataset is the BasicDataset implementation for HiveObjectDataset.
89221func (hod HiveObjectDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
89222	return nil, false
89223}
89224
89225// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for HiveObjectDataset.
89226func (hod HiveObjectDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) {
89227	return nil, false
89228}
89229
89230// AsMongoDbV2CollectionDataset is the BasicDataset implementation for HiveObjectDataset.
89231func (hod HiveObjectDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) {
89232	return nil, false
89233}
89234
89235// AsMongoDbCollectionDataset is the BasicDataset implementation for HiveObjectDataset.
89236func (hod HiveObjectDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
89237	return nil, false
89238}
89239
89240// AsFileShareDataset is the BasicDataset implementation for HiveObjectDataset.
89241func (hod HiveObjectDataset) AsFileShareDataset() (*FileShareDataset, bool) {
89242	return nil, false
89243}
89244
89245// AsOffice365Dataset is the BasicDataset implementation for HiveObjectDataset.
89246func (hod HiveObjectDataset) AsOffice365Dataset() (*Office365Dataset, bool) {
89247	return nil, false
89248}
89249
89250// AsAzureBlobFSDataset is the BasicDataset implementation for HiveObjectDataset.
89251func (hod HiveObjectDataset) AsAzureBlobFSDataset() (*AzureBlobFSDataset, bool) {
89252	return nil, false
89253}
89254
89255// AsAzureDataLakeStoreDataset is the BasicDataset implementation for HiveObjectDataset.
89256func (hod HiveObjectDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) {
89257	return nil, false
89258}
89259
89260// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for HiveObjectDataset.
89261func (hod HiveObjectDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) {
89262	return nil, false
89263}
89264
89265// AsDynamicsCrmEntityDataset is the BasicDataset implementation for HiveObjectDataset.
89266func (hod HiveObjectDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) {
89267	return nil, false
89268}
89269
89270// AsDynamicsEntityDataset is the BasicDataset implementation for HiveObjectDataset.
89271func (hod HiveObjectDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
89272	return nil, false
89273}
89274
89275// AsDocumentDbCollectionDataset is the BasicDataset implementation for HiveObjectDataset.
89276func (hod HiveObjectDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
89277	return nil, false
89278}
89279
89280// AsCustomDataset is the BasicDataset implementation for HiveObjectDataset.
89281func (hod HiveObjectDataset) AsCustomDataset() (*CustomDataset, bool) {
89282	return nil, false
89283}
89284
89285// AsCassandraTableDataset is the BasicDataset implementation for HiveObjectDataset.
89286func (hod HiveObjectDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
89287	return nil, false
89288}
89289
89290// AsAzureSQLDWTableDataset is the BasicDataset implementation for HiveObjectDataset.
89291func (hod HiveObjectDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
89292	return nil, false
89293}
89294
89295// AsAzureSQLMITableDataset is the BasicDataset implementation for HiveObjectDataset.
89296func (hod HiveObjectDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) {
89297	return nil, false
89298}
89299
89300// AsAzureSQLTableDataset is the BasicDataset implementation for HiveObjectDataset.
89301func (hod HiveObjectDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
89302	return nil, false
89303}
89304
89305// AsAzureTableDataset is the BasicDataset implementation for HiveObjectDataset.
89306func (hod HiveObjectDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
89307	return nil, false
89308}
89309
89310// AsAzureBlobDataset is the BasicDataset implementation for HiveObjectDataset.
89311func (hod HiveObjectDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) {
89312	return nil, false
89313}
89314
89315// AsBinaryDataset is the BasicDataset implementation for HiveObjectDataset.
89316func (hod HiveObjectDataset) AsBinaryDataset() (*BinaryDataset, bool) {
89317	return nil, false
89318}
89319
89320// AsDelimitedTextDataset is the BasicDataset implementation for HiveObjectDataset.
89321func (hod HiveObjectDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) {
89322	return nil, false
89323}
89324
89325// AsParquetDataset is the BasicDataset implementation for HiveObjectDataset.
89326func (hod HiveObjectDataset) AsParquetDataset() (*ParquetDataset, bool) {
89327	return nil, false
89328}
89329
89330// AsAmazonS3Dataset is the BasicDataset implementation for HiveObjectDataset.
89331func (hod HiveObjectDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) {
89332	return nil, false
89333}
89334
89335// AsDataset is the BasicDataset implementation for HiveObjectDataset.
89336func (hod HiveObjectDataset) AsDataset() (*Dataset, bool) {
89337	return nil, false
89338}
89339
89340// AsBasicDataset is the BasicDataset implementation for HiveObjectDataset.
89341func (hod HiveObjectDataset) AsBasicDataset() (BasicDataset, bool) {
89342	return &hod, true
89343}
89344
89345// UnmarshalJSON is the custom unmarshaler for HiveObjectDataset struct.
89346func (hod *HiveObjectDataset) UnmarshalJSON(body []byte) error {
89347	var m map[string]*json.RawMessage
89348	err := json.Unmarshal(body, &m)
89349	if err != nil {
89350		return err
89351	}
89352	for k, v := range m {
89353		switch k {
89354		case "typeProperties":
89355			if v != nil {
89356				var genericDatasetTypeProperties GenericDatasetTypeProperties
89357				err = json.Unmarshal(*v, &genericDatasetTypeProperties)
89358				if err != nil {
89359					return err
89360				}
89361				hod.GenericDatasetTypeProperties = &genericDatasetTypeProperties
89362			}
89363		default:
89364			if v != nil {
89365				var additionalProperties interface{}
89366				err = json.Unmarshal(*v, &additionalProperties)
89367				if err != nil {
89368					return err
89369				}
89370				if hod.AdditionalProperties == nil {
89371					hod.AdditionalProperties = make(map[string]interface{})
89372				}
89373				hod.AdditionalProperties[k] = additionalProperties
89374			}
89375		case "description":
89376			if v != nil {
89377				var description string
89378				err = json.Unmarshal(*v, &description)
89379				if err != nil {
89380					return err
89381				}
89382				hod.Description = &description
89383			}
89384		case "structure":
89385			if v != nil {
89386				var structure interface{}
89387				err = json.Unmarshal(*v, &structure)
89388				if err != nil {
89389					return err
89390				}
89391				hod.Structure = structure
89392			}
89393		case "schema":
89394			if v != nil {
89395				var schema interface{}
89396				err = json.Unmarshal(*v, &schema)
89397				if err != nil {
89398					return err
89399				}
89400				hod.Schema = schema
89401			}
89402		case "linkedServiceName":
89403			if v != nil {
89404				var linkedServiceName LinkedServiceReference
89405				err = json.Unmarshal(*v, &linkedServiceName)
89406				if err != nil {
89407					return err
89408				}
89409				hod.LinkedServiceName = &linkedServiceName
89410			}
89411		case "parameters":
89412			if v != nil {
89413				var parameters map[string]*ParameterSpecification
89414				err = json.Unmarshal(*v, &parameters)
89415				if err != nil {
89416					return err
89417				}
89418				hod.Parameters = parameters
89419			}
89420		case "annotations":
89421			if v != nil {
89422				var annotations []interface{}
89423				err = json.Unmarshal(*v, &annotations)
89424				if err != nil {
89425					return err
89426				}
89427				hod.Annotations = &annotations
89428			}
89429		case "folder":
89430			if v != nil {
89431				var folder DatasetFolder
89432				err = json.Unmarshal(*v, &folder)
89433				if err != nil {
89434					return err
89435				}
89436				hod.Folder = &folder
89437			}
89438		case "type":
89439			if v != nil {
89440				var typeVar TypeBasicDataset
89441				err = json.Unmarshal(*v, &typeVar)
89442				if err != nil {
89443					return err
89444				}
89445				hod.Type = typeVar
89446			}
89447		}
89448	}
89449
89450	return nil
89451}
89452
89453// HiveSource a copy activity Hive Server source.
89454type HiveSource struct {
89455	// Query - A query to retrieve data from source. Type: string (or Expression with resultType string).
89456	Query interface{} `json:"query,omitempty"`
89457	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
89458	AdditionalProperties map[string]interface{} `json:""`
89459	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
89460	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
89461	// 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])).
89462	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
89463	// MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer).
89464	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
89465	// Type - Possible values include: 'TypeCopySource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', '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', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeCassandraSource', 'TypeWebSource', 'TypeTeradataSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeAzureMySQLSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeRestSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceServiceCloudSource', 'TypeSalesforceSource', 'TypeODataSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeMicrosoftAccessSource', 'TypeInformixSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAzureTableSource', 'TypeBinarySource', 'TypeDelimitedTextSource', 'TypeParquetSource'
89466	Type TypeBasicCopySource `json:"type,omitempty"`
89467}
89468
89469// MarshalJSON is the custom marshaler for HiveSource.
89470func (hs HiveSource) MarshalJSON() ([]byte, error) {
89471	hs.Type = TypeHiveSource
89472	objectMap := make(map[string]interface{})
89473	if hs.Query != nil {
89474		objectMap["query"] = hs.Query
89475	}
89476	if hs.SourceRetryCount != nil {
89477		objectMap["sourceRetryCount"] = hs.SourceRetryCount
89478	}
89479	if hs.SourceRetryWait != nil {
89480		objectMap["sourceRetryWait"] = hs.SourceRetryWait
89481	}
89482	if hs.MaxConcurrentConnections != nil {
89483		objectMap["maxConcurrentConnections"] = hs.MaxConcurrentConnections
89484	}
89485	if hs.Type != "" {
89486		objectMap["type"] = hs.Type
89487	}
89488	for k, v := range hs.AdditionalProperties {
89489		objectMap[k] = v
89490	}
89491	return json.Marshal(objectMap)
89492}
89493
89494// AsAmazonRedshiftSource is the BasicCopySource implementation for HiveSource.
89495func (hs HiveSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
89496	return nil, false
89497}
89498
89499// AsGoogleAdWordsSource is the BasicCopySource implementation for HiveSource.
89500func (hs HiveSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) {
89501	return nil, false
89502}
89503
89504// AsOracleServiceCloudSource is the BasicCopySource implementation for HiveSource.
89505func (hs HiveSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) {
89506	return nil, false
89507}
89508
89509// AsDynamicsAXSource is the BasicCopySource implementation for HiveSource.
89510func (hs HiveSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) {
89511	return nil, false
89512}
89513
89514// AsResponsysSource is the BasicCopySource implementation for HiveSource.
89515func (hs HiveSource) AsResponsysSource() (*ResponsysSource, bool) {
89516	return nil, false
89517}
89518
89519// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for HiveSource.
89520func (hs HiveSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
89521	return nil, false
89522}
89523
89524// AsVerticaSource is the BasicCopySource implementation for HiveSource.
89525func (hs HiveSource) AsVerticaSource() (*VerticaSource, bool) {
89526	return nil, false
89527}
89528
89529// AsNetezzaSource is the BasicCopySource implementation for HiveSource.
89530func (hs HiveSource) AsNetezzaSource() (*NetezzaSource, bool) {
89531	return nil, false
89532}
89533
89534// AsZohoSource is the BasicCopySource implementation for HiveSource.
89535func (hs HiveSource) AsZohoSource() (*ZohoSource, bool) {
89536	return nil, false
89537}
89538
89539// AsXeroSource is the BasicCopySource implementation for HiveSource.
89540func (hs HiveSource) AsXeroSource() (*XeroSource, bool) {
89541	return nil, false
89542}
89543
89544// AsSquareSource is the BasicCopySource implementation for HiveSource.
89545func (hs HiveSource) AsSquareSource() (*SquareSource, bool) {
89546	return nil, false
89547}
89548
89549// AsSparkSource is the BasicCopySource implementation for HiveSource.
89550func (hs HiveSource) AsSparkSource() (*SparkSource, bool) {
89551	return nil, false
89552}
89553
89554// AsShopifySource is the BasicCopySource implementation for HiveSource.
89555func (hs HiveSource) AsShopifySource() (*ShopifySource, bool) {
89556	return nil, false
89557}
89558
89559// AsServiceNowSource is the BasicCopySource implementation for HiveSource.
89560func (hs HiveSource) AsServiceNowSource() (*ServiceNowSource, bool) {
89561	return nil, false
89562}
89563
89564// AsQuickBooksSource is the BasicCopySource implementation for HiveSource.
89565func (hs HiveSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
89566	return nil, false
89567}
89568
89569// AsPrestoSource is the BasicCopySource implementation for HiveSource.
89570func (hs HiveSource) AsPrestoSource() (*PrestoSource, bool) {
89571	return nil, false
89572}
89573
89574// AsPhoenixSource is the BasicCopySource implementation for HiveSource.
89575func (hs HiveSource) AsPhoenixSource() (*PhoenixSource, bool) {
89576	return nil, false
89577}
89578
89579// AsPaypalSource is the BasicCopySource implementation for HiveSource.
89580func (hs HiveSource) AsPaypalSource() (*PaypalSource, bool) {
89581	return nil, false
89582}
89583
89584// AsMarketoSource is the BasicCopySource implementation for HiveSource.
89585func (hs HiveSource) AsMarketoSource() (*MarketoSource, bool) {
89586	return nil, false
89587}
89588
89589// AsMariaDBSource is the BasicCopySource implementation for HiveSource.
89590func (hs HiveSource) AsMariaDBSource() (*MariaDBSource, bool) {
89591	return nil, false
89592}
89593
89594// AsMagentoSource is the BasicCopySource implementation for HiveSource.
89595func (hs HiveSource) AsMagentoSource() (*MagentoSource, bool) {
89596	return nil, false
89597}
89598
89599// AsJiraSource is the BasicCopySource implementation for HiveSource.
89600func (hs HiveSource) AsJiraSource() (*JiraSource, bool) {
89601	return nil, false
89602}
89603
89604// AsImpalaSource is the BasicCopySource implementation for HiveSource.
89605func (hs HiveSource) AsImpalaSource() (*ImpalaSource, bool) {
89606	return nil, false
89607}
89608
89609// AsHubspotSource is the BasicCopySource implementation for HiveSource.
89610func (hs HiveSource) AsHubspotSource() (*HubspotSource, bool) {
89611	return nil, false
89612}
89613
89614// AsHiveSource is the BasicCopySource implementation for HiveSource.
89615func (hs HiveSource) AsHiveSource() (*HiveSource, bool) {
89616	return &hs, true
89617}
89618
89619// AsHBaseSource is the BasicCopySource implementation for HiveSource.
89620func (hs HiveSource) AsHBaseSource() (*HBaseSource, bool) {
89621	return nil, false
89622}
89623
89624// AsGreenplumSource is the BasicCopySource implementation for HiveSource.
89625func (hs HiveSource) AsGreenplumSource() (*GreenplumSource, bool) {
89626	return nil, false
89627}
89628
89629// AsGoogleBigQuerySource is the BasicCopySource implementation for HiveSource.
89630func (hs HiveSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
89631	return nil, false
89632}
89633
89634// AsEloquaSource is the BasicCopySource implementation for HiveSource.
89635func (hs HiveSource) AsEloquaSource() (*EloquaSource, bool) {
89636	return nil, false
89637}
89638
89639// AsDrillSource is the BasicCopySource implementation for HiveSource.
89640func (hs HiveSource) AsDrillSource() (*DrillSource, bool) {
89641	return nil, false
89642}
89643
89644// AsCouchbaseSource is the BasicCopySource implementation for HiveSource.
89645func (hs HiveSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
89646	return nil, false
89647}
89648
89649// AsConcurSource is the BasicCopySource implementation for HiveSource.
89650func (hs HiveSource) AsConcurSource() (*ConcurSource, bool) {
89651	return nil, false
89652}
89653
89654// AsAzurePostgreSQLSource is the BasicCopySource implementation for HiveSource.
89655func (hs HiveSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
89656	return nil, false
89657}
89658
89659// AsAmazonMWSSource is the BasicCopySource implementation for HiveSource.
89660func (hs HiveSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
89661	return nil, false
89662}
89663
89664// AsHTTPSource is the BasicCopySource implementation for HiveSource.
89665func (hs HiveSource) AsHTTPSource() (*HTTPSource, bool) {
89666	return nil, false
89667}
89668
89669// AsAzureBlobFSSource is the BasicCopySource implementation for HiveSource.
89670func (hs HiveSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) {
89671	return nil, false
89672}
89673
89674// AsAzureDataLakeStoreSource is the BasicCopySource implementation for HiveSource.
89675func (hs HiveSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
89676	return nil, false
89677}
89678
89679// AsOffice365Source is the BasicCopySource implementation for HiveSource.
89680func (hs HiveSource) AsOffice365Source() (*Office365Source, bool) {
89681	return nil, false
89682}
89683
89684// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for HiveSource.
89685func (hs HiveSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) {
89686	return nil, false
89687}
89688
89689// AsMongoDbV2Source is the BasicCopySource implementation for HiveSource.
89690func (hs HiveSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) {
89691	return nil, false
89692}
89693
89694// AsMongoDbSource is the BasicCopySource implementation for HiveSource.
89695func (hs HiveSource) AsMongoDbSource() (*MongoDbSource, bool) {
89696	return nil, false
89697}
89698
89699// AsCassandraSource is the BasicCopySource implementation for HiveSource.
89700func (hs HiveSource) AsCassandraSource() (*CassandraSource, bool) {
89701	return nil, false
89702}
89703
89704// AsWebSource is the BasicCopySource implementation for HiveSource.
89705func (hs HiveSource) AsWebSource() (*WebSource, bool) {
89706	return nil, false
89707}
89708
89709// AsTeradataSource is the BasicCopySource implementation for HiveSource.
89710func (hs HiveSource) AsTeradataSource() (*TeradataSource, bool) {
89711	return nil, false
89712}
89713
89714// AsOracleSource is the BasicCopySource implementation for HiveSource.
89715func (hs HiveSource) AsOracleSource() (*OracleSource, bool) {
89716	return nil, false
89717}
89718
89719// AsAzureDataExplorerSource is the BasicCopySource implementation for HiveSource.
89720func (hs HiveSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) {
89721	return nil, false
89722}
89723
89724// AsAzureMySQLSource is the BasicCopySource implementation for HiveSource.
89725func (hs HiveSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
89726	return nil, false
89727}
89728
89729// AsHdfsSource is the BasicCopySource implementation for HiveSource.
89730func (hs HiveSource) AsHdfsSource() (*HdfsSource, bool) {
89731	return nil, false
89732}
89733
89734// AsFileSystemSource is the BasicCopySource implementation for HiveSource.
89735func (hs HiveSource) AsFileSystemSource() (*FileSystemSource, bool) {
89736	return nil, false
89737}
89738
89739// AsSQLDWSource is the BasicCopySource implementation for HiveSource.
89740func (hs HiveSource) AsSQLDWSource() (*SQLDWSource, bool) {
89741	return nil, false
89742}
89743
89744// AsSQLMISource is the BasicCopySource implementation for HiveSource.
89745func (hs HiveSource) AsSQLMISource() (*SQLMISource, bool) {
89746	return nil, false
89747}
89748
89749// AsAzureSQLSource is the BasicCopySource implementation for HiveSource.
89750func (hs HiveSource) AsAzureSQLSource() (*AzureSQLSource, bool) {
89751	return nil, false
89752}
89753
89754// AsSQLServerSource is the BasicCopySource implementation for HiveSource.
89755func (hs HiveSource) AsSQLServerSource() (*SQLServerSource, bool) {
89756	return nil, false
89757}
89758
89759// AsSQLSource is the BasicCopySource implementation for HiveSource.
89760func (hs HiveSource) AsSQLSource() (*SQLSource, bool) {
89761	return nil, false
89762}
89763
89764// AsRestSource is the BasicCopySource implementation for HiveSource.
89765func (hs HiveSource) AsRestSource() (*RestSource, bool) {
89766	return nil, false
89767}
89768
89769// AsSapTableSource is the BasicCopySource implementation for HiveSource.
89770func (hs HiveSource) AsSapTableSource() (*SapTableSource, bool) {
89771	return nil, false
89772}
89773
89774// AsSapOpenHubSource is the BasicCopySource implementation for HiveSource.
89775func (hs HiveSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) {
89776	return nil, false
89777}
89778
89779// AsSapHanaSource is the BasicCopySource implementation for HiveSource.
89780func (hs HiveSource) AsSapHanaSource() (*SapHanaSource, bool) {
89781	return nil, false
89782}
89783
89784// AsSapEccSource is the BasicCopySource implementation for HiveSource.
89785func (hs HiveSource) AsSapEccSource() (*SapEccSource, bool) {
89786	return nil, false
89787}
89788
89789// AsSapCloudForCustomerSource is the BasicCopySource implementation for HiveSource.
89790func (hs HiveSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
89791	return nil, false
89792}
89793
89794// AsSalesforceServiceCloudSource is the BasicCopySource implementation for HiveSource.
89795func (hs HiveSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) {
89796	return nil, false
89797}
89798
89799// AsSalesforceSource is the BasicCopySource implementation for HiveSource.
89800func (hs HiveSource) AsSalesforceSource() (*SalesforceSource, bool) {
89801	return nil, false
89802}
89803
89804// AsODataSource is the BasicCopySource implementation for HiveSource.
89805func (hs HiveSource) AsODataSource() (*ODataSource, bool) {
89806	return nil, false
89807}
89808
89809// AsSybaseSource is the BasicCopySource implementation for HiveSource.
89810func (hs HiveSource) AsSybaseSource() (*SybaseSource, bool) {
89811	return nil, false
89812}
89813
89814// AsPostgreSQLSource is the BasicCopySource implementation for HiveSource.
89815func (hs HiveSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) {
89816	return nil, false
89817}
89818
89819// AsMySQLSource is the BasicCopySource implementation for HiveSource.
89820func (hs HiveSource) AsMySQLSource() (*MySQLSource, bool) {
89821	return nil, false
89822}
89823
89824// AsOdbcSource is the BasicCopySource implementation for HiveSource.
89825func (hs HiveSource) AsOdbcSource() (*OdbcSource, bool) {
89826	return nil, false
89827}
89828
89829// AsDb2Source is the BasicCopySource implementation for HiveSource.
89830func (hs HiveSource) AsDb2Source() (*Db2Source, bool) {
89831	return nil, false
89832}
89833
89834// AsMicrosoftAccessSource is the BasicCopySource implementation for HiveSource.
89835func (hs HiveSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) {
89836	return nil, false
89837}
89838
89839// AsInformixSource is the BasicCopySource implementation for HiveSource.
89840func (hs HiveSource) AsInformixSource() (*InformixSource, bool) {
89841	return nil, false
89842}
89843
89844// AsRelationalSource is the BasicCopySource implementation for HiveSource.
89845func (hs HiveSource) AsRelationalSource() (*RelationalSource, bool) {
89846	return nil, false
89847}
89848
89849// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for HiveSource.
89850func (hs HiveSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) {
89851	return nil, false
89852}
89853
89854// AsDynamicsCrmSource is the BasicCopySource implementation for HiveSource.
89855func (hs HiveSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) {
89856	return nil, false
89857}
89858
89859// AsDynamicsSource is the BasicCopySource implementation for HiveSource.
89860func (hs HiveSource) AsDynamicsSource() (*DynamicsSource, bool) {
89861	return nil, false
89862}
89863
89864// AsDocumentDbCollectionSource is the BasicCopySource implementation for HiveSource.
89865func (hs HiveSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
89866	return nil, false
89867}
89868
89869// AsBlobSource is the BasicCopySource implementation for HiveSource.
89870func (hs HiveSource) AsBlobSource() (*BlobSource, bool) {
89871	return nil, false
89872}
89873
89874// AsAzureTableSource is the BasicCopySource implementation for HiveSource.
89875func (hs HiveSource) AsAzureTableSource() (*AzureTableSource, bool) {
89876	return nil, false
89877}
89878
89879// AsBinarySource is the BasicCopySource implementation for HiveSource.
89880func (hs HiveSource) AsBinarySource() (*BinarySource, bool) {
89881	return nil, false
89882}
89883
89884// AsDelimitedTextSource is the BasicCopySource implementation for HiveSource.
89885func (hs HiveSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) {
89886	return nil, false
89887}
89888
89889// AsParquetSource is the BasicCopySource implementation for HiveSource.
89890func (hs HiveSource) AsParquetSource() (*ParquetSource, bool) {
89891	return nil, false
89892}
89893
89894// AsCopySource is the BasicCopySource implementation for HiveSource.
89895func (hs HiveSource) AsCopySource() (*CopySource, bool) {
89896	return nil, false
89897}
89898
89899// AsBasicCopySource is the BasicCopySource implementation for HiveSource.
89900func (hs HiveSource) AsBasicCopySource() (BasicCopySource, bool) {
89901	return &hs, true
89902}
89903
89904// UnmarshalJSON is the custom unmarshaler for HiveSource struct.
89905func (hs *HiveSource) UnmarshalJSON(body []byte) error {
89906	var m map[string]*json.RawMessage
89907	err := json.Unmarshal(body, &m)
89908	if err != nil {
89909		return err
89910	}
89911	for k, v := range m {
89912		switch k {
89913		case "query":
89914			if v != nil {
89915				var query interface{}
89916				err = json.Unmarshal(*v, &query)
89917				if err != nil {
89918					return err
89919				}
89920				hs.Query = query
89921			}
89922		default:
89923			if v != nil {
89924				var additionalProperties interface{}
89925				err = json.Unmarshal(*v, &additionalProperties)
89926				if err != nil {
89927					return err
89928				}
89929				if hs.AdditionalProperties == nil {
89930					hs.AdditionalProperties = make(map[string]interface{})
89931				}
89932				hs.AdditionalProperties[k] = additionalProperties
89933			}
89934		case "sourceRetryCount":
89935			if v != nil {
89936				var sourceRetryCount interface{}
89937				err = json.Unmarshal(*v, &sourceRetryCount)
89938				if err != nil {
89939					return err
89940				}
89941				hs.SourceRetryCount = sourceRetryCount
89942			}
89943		case "sourceRetryWait":
89944			if v != nil {
89945				var sourceRetryWait interface{}
89946				err = json.Unmarshal(*v, &sourceRetryWait)
89947				if err != nil {
89948					return err
89949				}
89950				hs.SourceRetryWait = sourceRetryWait
89951			}
89952		case "maxConcurrentConnections":
89953			if v != nil {
89954				var maxConcurrentConnections interface{}
89955				err = json.Unmarshal(*v, &maxConcurrentConnections)
89956				if err != nil {
89957					return err
89958				}
89959				hs.MaxConcurrentConnections = maxConcurrentConnections
89960			}
89961		case "type":
89962			if v != nil {
89963				var typeVar TypeBasicCopySource
89964				err = json.Unmarshal(*v, &typeVar)
89965				if err != nil {
89966					return err
89967				}
89968				hs.Type = typeVar
89969			}
89970		}
89971	}
89972
89973	return nil
89974}
89975
89976// HTTPDataset a file in an HTTP web server.
89977type HTTPDataset struct {
89978	// HTTPDatasetTypeProperties - Properties specific to this dataset type.
89979	*HTTPDatasetTypeProperties `json:"typeProperties,omitempty"`
89980	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
89981	AdditionalProperties map[string]interface{} `json:""`
89982	// Description - Dataset description.
89983	Description *string `json:"description,omitempty"`
89984	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
89985	Structure interface{} `json:"structure,omitempty"`
89986	// Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement.
89987	Schema interface{} `json:"schema,omitempty"`
89988	// LinkedServiceName - Linked service reference.
89989	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
89990	// Parameters - Parameters for dataset.
89991	Parameters map[string]*ParameterSpecification `json:"parameters"`
89992	// Annotations - List of tags that can be used for describing the Dataset.
89993	Annotations *[]interface{} `json:"annotations,omitempty"`
89994	// Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level.
89995	Folder *DatasetFolder `json:"folder,omitempty"`
89996	// Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', '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', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeDelimitedText', 'TypeParquet', 'TypeAmazonS3Object'
89997	Type TypeBasicDataset `json:"type,omitempty"`
89998}
89999
90000// MarshalJSON is the custom marshaler for HTTPDataset.
90001func (hd HTTPDataset) MarshalJSON() ([]byte, error) {
90002	hd.Type = TypeHTTPFile
90003	objectMap := make(map[string]interface{})
90004	if hd.HTTPDatasetTypeProperties != nil {
90005		objectMap["typeProperties"] = hd.HTTPDatasetTypeProperties
90006	}
90007	if hd.Description != nil {
90008		objectMap["description"] = hd.Description
90009	}
90010	if hd.Structure != nil {
90011		objectMap["structure"] = hd.Structure
90012	}
90013	if hd.Schema != nil {
90014		objectMap["schema"] = hd.Schema
90015	}
90016	if hd.LinkedServiceName != nil {
90017		objectMap["linkedServiceName"] = hd.LinkedServiceName
90018	}
90019	if hd.Parameters != nil {
90020		objectMap["parameters"] = hd.Parameters
90021	}
90022	if hd.Annotations != nil {
90023		objectMap["annotations"] = hd.Annotations
90024	}
90025	if hd.Folder != nil {
90026		objectMap["folder"] = hd.Folder
90027	}
90028	if hd.Type != "" {
90029		objectMap["type"] = hd.Type
90030	}
90031	for k, v := range hd.AdditionalProperties {
90032		objectMap[k] = v
90033	}
90034	return json.Marshal(objectMap)
90035}
90036
90037// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for HTTPDataset.
90038func (hd HTTPDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) {
90039	return nil, false
90040}
90041
90042// AsAzureDataExplorerTableDataset is the BasicDataset implementation for HTTPDataset.
90043func (hd HTTPDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) {
90044	return nil, false
90045}
90046
90047// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for HTTPDataset.
90048func (hd HTTPDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) {
90049	return nil, false
90050}
90051
90052// AsDynamicsAXResourceDataset is the BasicDataset implementation for HTTPDataset.
90053func (hd HTTPDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) {
90054	return nil, false
90055}
90056
90057// AsResponsysObjectDataset is the BasicDataset implementation for HTTPDataset.
90058func (hd HTTPDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
90059	return nil, false
90060}
90061
90062// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for HTTPDataset.
90063func (hd HTTPDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
90064	return nil, false
90065}
90066
90067// AsVerticaTableDataset is the BasicDataset implementation for HTTPDataset.
90068func (hd HTTPDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
90069	return nil, false
90070}
90071
90072// AsNetezzaTableDataset is the BasicDataset implementation for HTTPDataset.
90073func (hd HTTPDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
90074	return nil, false
90075}
90076
90077// AsZohoObjectDataset is the BasicDataset implementation for HTTPDataset.
90078func (hd HTTPDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
90079	return nil, false
90080}
90081
90082// AsXeroObjectDataset is the BasicDataset implementation for HTTPDataset.
90083func (hd HTTPDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
90084	return nil, false
90085}
90086
90087// AsSquareObjectDataset is the BasicDataset implementation for HTTPDataset.
90088func (hd HTTPDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
90089	return nil, false
90090}
90091
90092// AsSparkObjectDataset is the BasicDataset implementation for HTTPDataset.
90093func (hd HTTPDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
90094	return nil, false
90095}
90096
90097// AsShopifyObjectDataset is the BasicDataset implementation for HTTPDataset.
90098func (hd HTTPDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
90099	return nil, false
90100}
90101
90102// AsServiceNowObjectDataset is the BasicDataset implementation for HTTPDataset.
90103func (hd HTTPDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
90104	return nil, false
90105}
90106
90107// AsQuickBooksObjectDataset is the BasicDataset implementation for HTTPDataset.
90108func (hd HTTPDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
90109	return nil, false
90110}
90111
90112// AsPrestoObjectDataset is the BasicDataset implementation for HTTPDataset.
90113func (hd HTTPDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
90114	return nil, false
90115}
90116
90117// AsPhoenixObjectDataset is the BasicDataset implementation for HTTPDataset.
90118func (hd HTTPDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
90119	return nil, false
90120}
90121
90122// AsPaypalObjectDataset is the BasicDataset implementation for HTTPDataset.
90123func (hd HTTPDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
90124	return nil, false
90125}
90126
90127// AsMarketoObjectDataset is the BasicDataset implementation for HTTPDataset.
90128func (hd HTTPDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
90129	return nil, false
90130}
90131
90132// AsMariaDBTableDataset is the BasicDataset implementation for HTTPDataset.
90133func (hd HTTPDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
90134	return nil, false
90135}
90136
90137// AsMagentoObjectDataset is the BasicDataset implementation for HTTPDataset.
90138func (hd HTTPDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
90139	return nil, false
90140}
90141
90142// AsJiraObjectDataset is the BasicDataset implementation for HTTPDataset.
90143func (hd HTTPDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
90144	return nil, false
90145}
90146
90147// AsImpalaObjectDataset is the BasicDataset implementation for HTTPDataset.
90148func (hd HTTPDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
90149	return nil, false
90150}
90151
90152// AsHubspotObjectDataset is the BasicDataset implementation for HTTPDataset.
90153func (hd HTTPDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
90154	return nil, false
90155}
90156
90157// AsHiveObjectDataset is the BasicDataset implementation for HTTPDataset.
90158func (hd HTTPDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
90159	return nil, false
90160}
90161
90162// AsHBaseObjectDataset is the BasicDataset implementation for HTTPDataset.
90163func (hd HTTPDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
90164	return nil, false
90165}
90166
90167// AsGreenplumTableDataset is the BasicDataset implementation for HTTPDataset.
90168func (hd HTTPDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
90169	return nil, false
90170}
90171
90172// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for HTTPDataset.
90173func (hd HTTPDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
90174	return nil, false
90175}
90176
90177// AsEloquaObjectDataset is the BasicDataset implementation for HTTPDataset.
90178func (hd HTTPDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
90179	return nil, false
90180}
90181
90182// AsDrillTableDataset is the BasicDataset implementation for HTTPDataset.
90183func (hd HTTPDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
90184	return nil, false
90185}
90186
90187// AsCouchbaseTableDataset is the BasicDataset implementation for HTTPDataset.
90188func (hd HTTPDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
90189	return nil, false
90190}
90191
90192// AsConcurObjectDataset is the BasicDataset implementation for HTTPDataset.
90193func (hd HTTPDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
90194	return nil, false
90195}
90196
90197// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for HTTPDataset.
90198func (hd HTTPDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
90199	return nil, false
90200}
90201
90202// AsAmazonMWSObjectDataset is the BasicDataset implementation for HTTPDataset.
90203func (hd HTTPDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
90204	return nil, false
90205}
90206
90207// AsHTTPDataset is the BasicDataset implementation for HTTPDataset.
90208func (hd HTTPDataset) AsHTTPDataset() (*HTTPDataset, bool) {
90209	return &hd, true
90210}
90211
90212// AsAzureSearchIndexDataset is the BasicDataset implementation for HTTPDataset.
90213func (hd HTTPDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
90214	return nil, false
90215}
90216
90217// AsWebTableDataset is the BasicDataset implementation for HTTPDataset.
90218func (hd HTTPDataset) AsWebTableDataset() (*WebTableDataset, bool) {
90219	return nil, false
90220}
90221
90222// AsSapTableResourceDataset is the BasicDataset implementation for HTTPDataset.
90223func (hd HTTPDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) {
90224	return nil, false
90225}
90226
90227// AsRestResourceDataset is the BasicDataset implementation for HTTPDataset.
90228func (hd HTTPDataset) AsRestResourceDataset() (*RestResourceDataset, bool) {
90229	return nil, false
90230}
90231
90232// AsSQLServerTableDataset is the BasicDataset implementation for HTTPDataset.
90233func (hd HTTPDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
90234	return nil, false
90235}
90236
90237// AsSapOpenHubTableDataset is the BasicDataset implementation for HTTPDataset.
90238func (hd HTTPDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) {
90239	return nil, false
90240}
90241
90242// AsSapHanaTableDataset is the BasicDataset implementation for HTTPDataset.
90243func (hd HTTPDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) {
90244	return nil, false
90245}
90246
90247// AsSapEccResourceDataset is the BasicDataset implementation for HTTPDataset.
90248func (hd HTTPDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
90249	return nil, false
90250}
90251
90252// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for HTTPDataset.
90253func (hd HTTPDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
90254	return nil, false
90255}
90256
90257// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for HTTPDataset.
90258func (hd HTTPDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) {
90259	return nil, false
90260}
90261
90262// AsSalesforceObjectDataset is the BasicDataset implementation for HTTPDataset.
90263func (hd HTTPDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
90264	return nil, false
90265}
90266
90267// AsMicrosoftAccessTableDataset is the BasicDataset implementation for HTTPDataset.
90268func (hd HTTPDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) {
90269	return nil, false
90270}
90271
90272// AsPostgreSQLTableDataset is the BasicDataset implementation for HTTPDataset.
90273func (hd HTTPDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) {
90274	return nil, false
90275}
90276
90277// AsMySQLTableDataset is the BasicDataset implementation for HTTPDataset.
90278func (hd HTTPDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) {
90279	return nil, false
90280}
90281
90282// AsOdbcTableDataset is the BasicDataset implementation for HTTPDataset.
90283func (hd HTTPDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) {
90284	return nil, false
90285}
90286
90287// AsInformixTableDataset is the BasicDataset implementation for HTTPDataset.
90288func (hd HTTPDataset) AsInformixTableDataset() (*InformixTableDataset, bool) {
90289	return nil, false
90290}
90291
90292// AsRelationalTableDataset is the BasicDataset implementation for HTTPDataset.
90293func (hd HTTPDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
90294	return nil, false
90295}
90296
90297// AsAzureMySQLTableDataset is the BasicDataset implementation for HTTPDataset.
90298func (hd HTTPDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
90299	return nil, false
90300}
90301
90302// AsTeradataTableDataset is the BasicDataset implementation for HTTPDataset.
90303func (hd HTTPDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) {
90304	return nil, false
90305}
90306
90307// AsOracleTableDataset is the BasicDataset implementation for HTTPDataset.
90308func (hd HTTPDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
90309	return nil, false
90310}
90311
90312// AsODataResourceDataset is the BasicDataset implementation for HTTPDataset.
90313func (hd HTTPDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
90314	return nil, false
90315}
90316
90317// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for HTTPDataset.
90318func (hd HTTPDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) {
90319	return nil, false
90320}
90321
90322// AsMongoDbV2CollectionDataset is the BasicDataset implementation for HTTPDataset.
90323func (hd HTTPDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) {
90324	return nil, false
90325}
90326
90327// AsMongoDbCollectionDataset is the BasicDataset implementation for HTTPDataset.
90328func (hd HTTPDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
90329	return nil, false
90330}
90331
90332// AsFileShareDataset is the BasicDataset implementation for HTTPDataset.
90333func (hd HTTPDataset) AsFileShareDataset() (*FileShareDataset, bool) {
90334	return nil, false
90335}
90336
90337// AsOffice365Dataset is the BasicDataset implementation for HTTPDataset.
90338func (hd HTTPDataset) AsOffice365Dataset() (*Office365Dataset, bool) {
90339	return nil, false
90340}
90341
90342// AsAzureBlobFSDataset is the BasicDataset implementation for HTTPDataset.
90343func (hd HTTPDataset) AsAzureBlobFSDataset() (*AzureBlobFSDataset, bool) {
90344	return nil, false
90345}
90346
90347// AsAzureDataLakeStoreDataset is the BasicDataset implementation for HTTPDataset.
90348func (hd HTTPDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) {
90349	return nil, false
90350}
90351
90352// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for HTTPDataset.
90353func (hd HTTPDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) {
90354	return nil, false
90355}
90356
90357// AsDynamicsCrmEntityDataset is the BasicDataset implementation for HTTPDataset.
90358func (hd HTTPDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) {
90359	return nil, false
90360}
90361
90362// AsDynamicsEntityDataset is the BasicDataset implementation for HTTPDataset.
90363func (hd HTTPDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
90364	return nil, false
90365}
90366
90367// AsDocumentDbCollectionDataset is the BasicDataset implementation for HTTPDataset.
90368func (hd HTTPDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
90369	return nil, false
90370}
90371
90372// AsCustomDataset is the BasicDataset implementation for HTTPDataset.
90373func (hd HTTPDataset) AsCustomDataset() (*CustomDataset, bool) {
90374	return nil, false
90375}
90376
90377// AsCassandraTableDataset is the BasicDataset implementation for HTTPDataset.
90378func (hd HTTPDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
90379	return nil, false
90380}
90381
90382// AsAzureSQLDWTableDataset is the BasicDataset implementation for HTTPDataset.
90383func (hd HTTPDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
90384	return nil, false
90385}
90386
90387// AsAzureSQLMITableDataset is the BasicDataset implementation for HTTPDataset.
90388func (hd HTTPDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) {
90389	return nil, false
90390}
90391
90392// AsAzureSQLTableDataset is the BasicDataset implementation for HTTPDataset.
90393func (hd HTTPDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
90394	return nil, false
90395}
90396
90397// AsAzureTableDataset is the BasicDataset implementation for HTTPDataset.
90398func (hd HTTPDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
90399	return nil, false
90400}
90401
90402// AsAzureBlobDataset is the BasicDataset implementation for HTTPDataset.
90403func (hd HTTPDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) {
90404	return nil, false
90405}
90406
90407// AsBinaryDataset is the BasicDataset implementation for HTTPDataset.
90408func (hd HTTPDataset) AsBinaryDataset() (*BinaryDataset, bool) {
90409	return nil, false
90410}
90411
90412// AsDelimitedTextDataset is the BasicDataset implementation for HTTPDataset.
90413func (hd HTTPDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) {
90414	return nil, false
90415}
90416
90417// AsParquetDataset is the BasicDataset implementation for HTTPDataset.
90418func (hd HTTPDataset) AsParquetDataset() (*ParquetDataset, bool) {
90419	return nil, false
90420}
90421
90422// AsAmazonS3Dataset is the BasicDataset implementation for HTTPDataset.
90423func (hd HTTPDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) {
90424	return nil, false
90425}
90426
90427// AsDataset is the BasicDataset implementation for HTTPDataset.
90428func (hd HTTPDataset) AsDataset() (*Dataset, bool) {
90429	return nil, false
90430}
90431
90432// AsBasicDataset is the BasicDataset implementation for HTTPDataset.
90433func (hd HTTPDataset) AsBasicDataset() (BasicDataset, bool) {
90434	return &hd, true
90435}
90436
90437// UnmarshalJSON is the custom unmarshaler for HTTPDataset struct.
90438func (hd *HTTPDataset) UnmarshalJSON(body []byte) error {
90439	var m map[string]*json.RawMessage
90440	err := json.Unmarshal(body, &m)
90441	if err != nil {
90442		return err
90443	}
90444	for k, v := range m {
90445		switch k {
90446		case "typeProperties":
90447			if v != nil {
90448				var HTTPDatasetTypeProperties HTTPDatasetTypeProperties
90449				err = json.Unmarshal(*v, &HTTPDatasetTypeProperties)
90450				if err != nil {
90451					return err
90452				}
90453				hd.HTTPDatasetTypeProperties = &HTTPDatasetTypeProperties
90454			}
90455		default:
90456			if v != nil {
90457				var additionalProperties interface{}
90458				err = json.Unmarshal(*v, &additionalProperties)
90459				if err != nil {
90460					return err
90461				}
90462				if hd.AdditionalProperties == nil {
90463					hd.AdditionalProperties = make(map[string]interface{})
90464				}
90465				hd.AdditionalProperties[k] = additionalProperties
90466			}
90467		case "description":
90468			if v != nil {
90469				var description string
90470				err = json.Unmarshal(*v, &description)
90471				if err != nil {
90472					return err
90473				}
90474				hd.Description = &description
90475			}
90476		case "structure":
90477			if v != nil {
90478				var structure interface{}
90479				err = json.Unmarshal(*v, &structure)
90480				if err != nil {
90481					return err
90482				}
90483				hd.Structure = structure
90484			}
90485		case "schema":
90486			if v != nil {
90487				var schema interface{}
90488				err = json.Unmarshal(*v, &schema)
90489				if err != nil {
90490					return err
90491				}
90492				hd.Schema = schema
90493			}
90494		case "linkedServiceName":
90495			if v != nil {
90496				var linkedServiceName LinkedServiceReference
90497				err = json.Unmarshal(*v, &linkedServiceName)
90498				if err != nil {
90499					return err
90500				}
90501				hd.LinkedServiceName = &linkedServiceName
90502			}
90503		case "parameters":
90504			if v != nil {
90505				var parameters map[string]*ParameterSpecification
90506				err = json.Unmarshal(*v, &parameters)
90507				if err != nil {
90508					return err
90509				}
90510				hd.Parameters = parameters
90511			}
90512		case "annotations":
90513			if v != nil {
90514				var annotations []interface{}
90515				err = json.Unmarshal(*v, &annotations)
90516				if err != nil {
90517					return err
90518				}
90519				hd.Annotations = &annotations
90520			}
90521		case "folder":
90522			if v != nil {
90523				var folder DatasetFolder
90524				err = json.Unmarshal(*v, &folder)
90525				if err != nil {
90526					return err
90527				}
90528				hd.Folder = &folder
90529			}
90530		case "type":
90531			if v != nil {
90532				var typeVar TypeBasicDataset
90533				err = json.Unmarshal(*v, &typeVar)
90534				if err != nil {
90535					return err
90536				}
90537				hd.Type = typeVar
90538			}
90539		}
90540	}
90541
90542	return nil
90543}
90544
90545// HTTPDatasetTypeProperties properties specific to this dataset type.
90546type HTTPDatasetTypeProperties struct {
90547	// RelativeURL - The relative URL based on the URL in the HttpLinkedService refers to an HTTP file Type: string (or Expression with resultType string).
90548	RelativeURL interface{} `json:"relativeUrl,omitempty"`
90549	// RequestMethod - The HTTP method for the HTTP request. Type: string (or Expression with resultType string).
90550	RequestMethod interface{} `json:"requestMethod,omitempty"`
90551	// RequestBody - The body for the HTTP request. Type: string (or Expression with resultType string).
90552	RequestBody interface{} `json:"requestBody,omitempty"`
90553	// AdditionalHeaders - The headers for the HTTP Request. e.g. request-header-name-1:request-header-value-1
90554	// ...
90555	// request-header-name-n:request-header-value-n Type: string (or Expression with resultType string).
90556	AdditionalHeaders interface{} `json:"additionalHeaders,omitempty"`
90557	// Format - The format of files.
90558	Format BasicDatasetStorageFormat `json:"format,omitempty"`
90559	// Compression - The data compression method used on files.
90560	Compression BasicDatasetCompression `json:"compression,omitempty"`
90561}
90562
90563// UnmarshalJSON is the custom unmarshaler for HTTPDatasetTypeProperties struct.
90564func (hdtp *HTTPDatasetTypeProperties) UnmarshalJSON(body []byte) error {
90565	var m map[string]*json.RawMessage
90566	err := json.Unmarshal(body, &m)
90567	if err != nil {
90568		return err
90569	}
90570	for k, v := range m {
90571		switch k {
90572		case "relativeUrl":
90573			if v != nil {
90574				var relativeURL interface{}
90575				err = json.Unmarshal(*v, &relativeURL)
90576				if err != nil {
90577					return err
90578				}
90579				hdtp.RelativeURL = relativeURL
90580			}
90581		case "requestMethod":
90582			if v != nil {
90583				var requestMethod interface{}
90584				err = json.Unmarshal(*v, &requestMethod)
90585				if err != nil {
90586					return err
90587				}
90588				hdtp.RequestMethod = requestMethod
90589			}
90590		case "requestBody":
90591			if v != nil {
90592				var requestBody interface{}
90593				err = json.Unmarshal(*v, &requestBody)
90594				if err != nil {
90595					return err
90596				}
90597				hdtp.RequestBody = requestBody
90598			}
90599		case "additionalHeaders":
90600			if v != nil {
90601				var additionalHeaders interface{}
90602				err = json.Unmarshal(*v, &additionalHeaders)
90603				if err != nil {
90604					return err
90605				}
90606				hdtp.AdditionalHeaders = additionalHeaders
90607			}
90608		case "format":
90609			if v != nil {
90610				formatVar, err := unmarshalBasicDatasetStorageFormat(*v)
90611				if err != nil {
90612					return err
90613				}
90614				hdtp.Format = formatVar
90615			}
90616		case "compression":
90617			if v != nil {
90618				compression, err := unmarshalBasicDatasetCompression(*v)
90619				if err != nil {
90620					return err
90621				}
90622				hdtp.Compression = compression
90623			}
90624		}
90625	}
90626
90627	return nil
90628}
90629
90630// HTTPLinkedService linked service for an HTTP source.
90631type HTTPLinkedService struct {
90632	// HTTPLinkedServiceTypeProperties - Properties specific to this linked service type.
90633	*HTTPLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
90634	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
90635	AdditionalProperties map[string]interface{} `json:""`
90636	// ConnectVia - The integration runtime reference.
90637	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
90638	// Description - Linked service description.
90639	Description *string `json:"description,omitempty"`
90640	// Parameters - Parameters for linked service.
90641	Parameters map[string]*ParameterSpecification `json:"parameters"`
90642	// Annotations - List of tags that can be used for describing the linked service.
90643	Annotations *[]interface{} `json:"annotations,omitempty"`
90644	// Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', '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', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage'
90645	Type TypeBasicLinkedService `json:"type,omitempty"`
90646}
90647
90648// MarshalJSON is the custom marshaler for HTTPLinkedService.
90649func (hls HTTPLinkedService) MarshalJSON() ([]byte, error) {
90650	hls.Type = TypeHTTPServer
90651	objectMap := make(map[string]interface{})
90652	if hls.HTTPLinkedServiceTypeProperties != nil {
90653		objectMap["typeProperties"] = hls.HTTPLinkedServiceTypeProperties
90654	}
90655	if hls.ConnectVia != nil {
90656		objectMap["connectVia"] = hls.ConnectVia
90657	}
90658	if hls.Description != nil {
90659		objectMap["description"] = hls.Description
90660	}
90661	if hls.Parameters != nil {
90662		objectMap["parameters"] = hls.Parameters
90663	}
90664	if hls.Annotations != nil {
90665		objectMap["annotations"] = hls.Annotations
90666	}
90667	if hls.Type != "" {
90668		objectMap["type"] = hls.Type
90669	}
90670	for k, v := range hls.AdditionalProperties {
90671		objectMap[k] = v
90672	}
90673	return json.Marshal(objectMap)
90674}
90675
90676// AsAzureFunctionLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
90677func (hls HTTPLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) {
90678	return nil, false
90679}
90680
90681// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
90682func (hls HTTPLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) {
90683	return nil, false
90684}
90685
90686// AsSapTableLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
90687func (hls HTTPLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) {
90688	return nil, false
90689}
90690
90691// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
90692func (hls HTTPLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) {
90693	return nil, false
90694}
90695
90696// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
90697func (hls HTTPLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) {
90698	return nil, false
90699}
90700
90701// AsDynamicsAXLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
90702func (hls HTTPLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) {
90703	return nil, false
90704}
90705
90706// AsResponsysLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
90707func (hls HTTPLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
90708	return nil, false
90709}
90710
90711// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
90712func (hls HTTPLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
90713	return nil, false
90714}
90715
90716// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
90717func (hls HTTPLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
90718	return nil, false
90719}
90720
90721// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
90722func (hls HTTPLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
90723	return nil, false
90724}
90725
90726// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
90727func (hls HTTPLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
90728	return nil, false
90729}
90730
90731// AsNetezzaLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
90732func (hls HTTPLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
90733	return nil, false
90734}
90735
90736// AsVerticaLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
90737func (hls HTTPLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
90738	return nil, false
90739}
90740
90741// AsZohoLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
90742func (hls HTTPLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
90743	return nil, false
90744}
90745
90746// AsXeroLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
90747func (hls HTTPLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
90748	return nil, false
90749}
90750
90751// AsSquareLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
90752func (hls HTTPLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
90753	return nil, false
90754}
90755
90756// AsSparkLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
90757func (hls HTTPLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
90758	return nil, false
90759}
90760
90761// AsShopifyLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
90762func (hls HTTPLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
90763	return nil, false
90764}
90765
90766// AsServiceNowLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
90767func (hls HTTPLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
90768	return nil, false
90769}
90770
90771// AsQuickBooksLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
90772func (hls HTTPLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
90773	return nil, false
90774}
90775
90776// AsPrestoLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
90777func (hls HTTPLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
90778	return nil, false
90779}
90780
90781// AsPhoenixLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
90782func (hls HTTPLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
90783	return nil, false
90784}
90785
90786// AsPaypalLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
90787func (hls HTTPLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
90788	return nil, false
90789}
90790
90791// AsMarketoLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
90792func (hls HTTPLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
90793	return nil, false
90794}
90795
90796// AsMariaDBLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
90797func (hls HTTPLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
90798	return nil, false
90799}
90800
90801// AsMagentoLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
90802func (hls HTTPLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
90803	return nil, false
90804}
90805
90806// AsJiraLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
90807func (hls HTTPLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
90808	return nil, false
90809}
90810
90811// AsImpalaLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
90812func (hls HTTPLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
90813	return nil, false
90814}
90815
90816// AsHubspotLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
90817func (hls HTTPLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
90818	return nil, false
90819}
90820
90821// AsHiveLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
90822func (hls HTTPLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
90823	return nil, false
90824}
90825
90826// AsHBaseLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
90827func (hls HTTPLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
90828	return nil, false
90829}
90830
90831// AsGreenplumLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
90832func (hls HTTPLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
90833	return nil, false
90834}
90835
90836// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
90837func (hls HTTPLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
90838	return nil, false
90839}
90840
90841// AsEloquaLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
90842func (hls HTTPLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
90843	return nil, false
90844}
90845
90846// AsDrillLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
90847func (hls HTTPLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
90848	return nil, false
90849}
90850
90851// AsCouchbaseLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
90852func (hls HTTPLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
90853	return nil, false
90854}
90855
90856// AsConcurLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
90857func (hls HTTPLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
90858	return nil, false
90859}
90860
90861// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
90862func (hls HTTPLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
90863	return nil, false
90864}
90865
90866// AsAmazonMWSLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
90867func (hls HTTPLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
90868	return nil, false
90869}
90870
90871// AsSapHanaLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
90872func (hls HTTPLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
90873	return nil, false
90874}
90875
90876// AsSapBWLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
90877func (hls HTTPLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
90878	return nil, false
90879}
90880
90881// AsSftpServerLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
90882func (hls HTTPLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
90883	return nil, false
90884}
90885
90886// AsFtpServerLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
90887func (hls HTTPLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
90888	return nil, false
90889}
90890
90891// AsHTTPLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
90892func (hls HTTPLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
90893	return &hls, true
90894}
90895
90896// AsAzureSearchLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
90897func (hls HTTPLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
90898	return nil, false
90899}
90900
90901// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
90902func (hls HTTPLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
90903	return nil, false
90904}
90905
90906// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
90907func (hls HTTPLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
90908	return nil, false
90909}
90910
90911// AsAmazonS3LinkedService is the BasicLinkedService implementation for HTTPLinkedService.
90912func (hls HTTPLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
90913	return nil, false
90914}
90915
90916// AsRestServiceLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
90917func (hls HTTPLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) {
90918	return nil, false
90919}
90920
90921// AsSapOpenHubLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
90922func (hls HTTPLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) {
90923	return nil, false
90924}
90925
90926// AsSapEccLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
90927func (hls HTTPLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
90928	return nil, false
90929}
90930
90931// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
90932func (hls HTTPLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
90933	return nil, false
90934}
90935
90936// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
90937func (hls HTTPLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) {
90938	return nil, false
90939}
90940
90941// AsSalesforceLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
90942func (hls HTTPLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
90943	return nil, false
90944}
90945
90946// AsOffice365LinkedService is the BasicLinkedService implementation for HTTPLinkedService.
90947func (hls HTTPLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) {
90948	return nil, false
90949}
90950
90951// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
90952func (hls HTTPLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) {
90953	return nil, false
90954}
90955
90956// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
90957func (hls HTTPLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
90958	return nil, false
90959}
90960
90961// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for HTTPLinkedService.
90962func (hls HTTPLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) {
90963	return nil, false
90964}
90965
90966// AsMongoDbV2LinkedService is the BasicLinkedService implementation for HTTPLinkedService.
90967func (hls HTTPLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) {
90968	return nil, false
90969}
90970
90971// AsMongoDbLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
90972func (hls HTTPLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
90973	return nil, false
90974}
90975
90976// AsCassandraLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
90977func (hls HTTPLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
90978	return nil, false
90979}
90980
90981// AsWebLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
90982func (hls HTTPLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
90983	return nil, false
90984}
90985
90986// AsODataLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
90987func (hls HTTPLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
90988	return nil, false
90989}
90990
90991// AsHdfsLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
90992func (hls HTTPLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
90993	return nil, false
90994}
90995
90996// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
90997func (hls HTTPLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) {
90998	return nil, false
90999}
91000
91001// AsInformixLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
91002func (hls HTTPLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) {
91003	return nil, false
91004}
91005
91006// AsOdbcLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
91007func (hls HTTPLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
91008	return nil, false
91009}
91010
91011// AsAzureMLLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
91012func (hls HTTPLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
91013	return nil, false
91014}
91015
91016// AsTeradataLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
91017func (hls HTTPLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
91018	return nil, false
91019}
91020
91021// AsDb2LinkedService is the BasicLinkedService implementation for HTTPLinkedService.
91022func (hls HTTPLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
91023	return nil, false
91024}
91025
91026// AsSybaseLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
91027func (hls HTTPLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
91028	return nil, false
91029}
91030
91031// AsPostgreSQLLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
91032func (hls HTTPLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
91033	return nil, false
91034}
91035
91036// AsMySQLLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
91037func (hls HTTPLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
91038	return nil, false
91039}
91040
91041// AsAzureMySQLLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
91042func (hls HTTPLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
91043	return nil, false
91044}
91045
91046// AsOracleLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
91047func (hls HTTPLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
91048	return nil, false
91049}
91050
91051// AsFileServerLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
91052func (hls HTTPLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
91053	return nil, false
91054}
91055
91056// AsHDInsightLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
91057func (hls HTTPLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
91058	return nil, false
91059}
91060
91061// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
91062func (hls HTTPLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) {
91063	return nil, false
91064}
91065
91066// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
91067func (hls HTTPLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) {
91068	return nil, false
91069}
91070
91071// AsDynamicsLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
91072func (hls HTTPLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
91073	return nil, false
91074}
91075
91076// AsCosmosDbLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
91077func (hls HTTPLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
91078	return nil, false
91079}
91080
91081// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
91082func (hls HTTPLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
91083	return nil, false
91084}
91085
91086// AsAzureBatchLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
91087func (hls HTTPLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
91088	return nil, false
91089}
91090
91091// AsAzureSQLMILinkedService is the BasicLinkedService implementation for HTTPLinkedService.
91092func (hls HTTPLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) {
91093	return nil, false
91094}
91095
91096// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
91097func (hls HTTPLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
91098	return nil, false
91099}
91100
91101// AsSQLServerLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
91102func (hls HTTPLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
91103	return nil, false
91104}
91105
91106// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
91107func (hls HTTPLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
91108	return nil, false
91109}
91110
91111// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
91112func (hls HTTPLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) {
91113	return nil, false
91114}
91115
91116// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
91117func (hls HTTPLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) {
91118	return nil, false
91119}
91120
91121// AsAzureStorageLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
91122func (hls HTTPLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
91123	return nil, false
91124}
91125
91126// AsLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
91127func (hls HTTPLinkedService) AsLinkedService() (*LinkedService, bool) {
91128	return nil, false
91129}
91130
91131// AsBasicLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
91132func (hls HTTPLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
91133	return &hls, true
91134}
91135
91136// UnmarshalJSON is the custom unmarshaler for HTTPLinkedService struct.
91137func (hls *HTTPLinkedService) UnmarshalJSON(body []byte) error {
91138	var m map[string]*json.RawMessage
91139	err := json.Unmarshal(body, &m)
91140	if err != nil {
91141		return err
91142	}
91143	for k, v := range m {
91144		switch k {
91145		case "typeProperties":
91146			if v != nil {
91147				var HTTPLinkedServiceTypeProperties HTTPLinkedServiceTypeProperties
91148				err = json.Unmarshal(*v, &HTTPLinkedServiceTypeProperties)
91149				if err != nil {
91150					return err
91151				}
91152				hls.HTTPLinkedServiceTypeProperties = &HTTPLinkedServiceTypeProperties
91153			}
91154		default:
91155			if v != nil {
91156				var additionalProperties interface{}
91157				err = json.Unmarshal(*v, &additionalProperties)
91158				if err != nil {
91159					return err
91160				}
91161				if hls.AdditionalProperties == nil {
91162					hls.AdditionalProperties = make(map[string]interface{})
91163				}
91164				hls.AdditionalProperties[k] = additionalProperties
91165			}
91166		case "connectVia":
91167			if v != nil {
91168				var connectVia IntegrationRuntimeReference
91169				err = json.Unmarshal(*v, &connectVia)
91170				if err != nil {
91171					return err
91172				}
91173				hls.ConnectVia = &connectVia
91174			}
91175		case "description":
91176			if v != nil {
91177				var description string
91178				err = json.Unmarshal(*v, &description)
91179				if err != nil {
91180					return err
91181				}
91182				hls.Description = &description
91183			}
91184		case "parameters":
91185			if v != nil {
91186				var parameters map[string]*ParameterSpecification
91187				err = json.Unmarshal(*v, &parameters)
91188				if err != nil {
91189					return err
91190				}
91191				hls.Parameters = parameters
91192			}
91193		case "annotations":
91194			if v != nil {
91195				var annotations []interface{}
91196				err = json.Unmarshal(*v, &annotations)
91197				if err != nil {
91198					return err
91199				}
91200				hls.Annotations = &annotations
91201			}
91202		case "type":
91203			if v != nil {
91204				var typeVar TypeBasicLinkedService
91205				err = json.Unmarshal(*v, &typeVar)
91206				if err != nil {
91207					return err
91208				}
91209				hls.Type = typeVar
91210			}
91211		}
91212	}
91213
91214	return nil
91215}
91216
91217// HTTPLinkedServiceTypeProperties properties specific to this linked service type.
91218type HTTPLinkedServiceTypeProperties struct {
91219	// URL - The base URL of the HTTP endpoint, e.g. http://www.microsoft.com. Type: string (or Expression with resultType string).
91220	URL interface{} `json:"url,omitempty"`
91221	// AuthenticationType - The authentication type to be used to connect to the HTTP server. Possible values include: 'HTTPAuthenticationTypeBasic', 'HTTPAuthenticationTypeAnonymous', 'HTTPAuthenticationTypeDigest', 'HTTPAuthenticationTypeWindows', 'HTTPAuthenticationTypeClientCertificate'
91222	AuthenticationType HTTPAuthenticationType `json:"authenticationType,omitempty"`
91223	// UserName - User name for Basic, Digest, or Windows authentication. Type: string (or Expression with resultType string).
91224	UserName interface{} `json:"userName,omitempty"`
91225	// Password - Password for Basic, Digest, Windows, or ClientCertificate with EmbeddedCertData authentication.
91226	Password BasicSecretBase `json:"password,omitempty"`
91227	// 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).
91228	EmbeddedCertData interface{} `json:"embeddedCertData,omitempty"`
91229	// 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).
91230	CertThumbprint interface{} `json:"certThumbprint,omitempty"`
91231	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
91232	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
91233	// EnableServerCertificateValidation - If true, validate the HTTPS server SSL certificate. Default value is true. Type: boolean (or Expression with resultType boolean).
91234	EnableServerCertificateValidation interface{} `json:"enableServerCertificateValidation,omitempty"`
91235}
91236
91237// UnmarshalJSON is the custom unmarshaler for HTTPLinkedServiceTypeProperties struct.
91238func (hlstp *HTTPLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
91239	var m map[string]*json.RawMessage
91240	err := json.Unmarshal(body, &m)
91241	if err != nil {
91242		return err
91243	}
91244	for k, v := range m {
91245		switch k {
91246		case "url":
91247			if v != nil {
91248				var URL interface{}
91249				err = json.Unmarshal(*v, &URL)
91250				if err != nil {
91251					return err
91252				}
91253				hlstp.URL = URL
91254			}
91255		case "authenticationType":
91256			if v != nil {
91257				var authenticationType HTTPAuthenticationType
91258				err = json.Unmarshal(*v, &authenticationType)
91259				if err != nil {
91260					return err
91261				}
91262				hlstp.AuthenticationType = authenticationType
91263			}
91264		case "userName":
91265			if v != nil {
91266				var userName interface{}
91267				err = json.Unmarshal(*v, &userName)
91268				if err != nil {
91269					return err
91270				}
91271				hlstp.UserName = userName
91272			}
91273		case "password":
91274			if v != nil {
91275				password, err := unmarshalBasicSecretBase(*v)
91276				if err != nil {
91277					return err
91278				}
91279				hlstp.Password = password
91280			}
91281		case "embeddedCertData":
91282			if v != nil {
91283				var embeddedCertData interface{}
91284				err = json.Unmarshal(*v, &embeddedCertData)
91285				if err != nil {
91286					return err
91287				}
91288				hlstp.EmbeddedCertData = embeddedCertData
91289			}
91290		case "certThumbprint":
91291			if v != nil {
91292				var certThumbprint interface{}
91293				err = json.Unmarshal(*v, &certThumbprint)
91294				if err != nil {
91295					return err
91296				}
91297				hlstp.CertThumbprint = certThumbprint
91298			}
91299		case "encryptedCredential":
91300			if v != nil {
91301				var encryptedCredential interface{}
91302				err = json.Unmarshal(*v, &encryptedCredential)
91303				if err != nil {
91304					return err
91305				}
91306				hlstp.EncryptedCredential = encryptedCredential
91307			}
91308		case "enableServerCertificateValidation":
91309			if v != nil {
91310				var enableServerCertificateValidation interface{}
91311				err = json.Unmarshal(*v, &enableServerCertificateValidation)
91312				if err != nil {
91313					return err
91314				}
91315				hlstp.EnableServerCertificateValidation = enableServerCertificateValidation
91316			}
91317		}
91318	}
91319
91320	return nil
91321}
91322
91323// HTTPReadSettings sftp read settings.
91324type HTTPReadSettings struct {
91325	// RequestMethod - The HTTP method used to call the RESTful API. The default is GET. Type: string (or Expression with resultType string).
91326	RequestMethod interface{} `json:"requestMethod,omitempty"`
91327	// RequestBody - The HTTP request body to the RESTful API if requestMethod is POST. Type: string (or Expression with resultType string).
91328	RequestBody interface{} `json:"requestBody,omitempty"`
91329	// AdditionalHeaders - The additional HTTP headers in the request to the RESTful API. Type: string (or Expression with resultType string).
91330	AdditionalHeaders interface{} `json:"additionalHeaders,omitempty"`
91331	// RequestTimeout - Specifies the timeout for a HTTP client to get HTTP response from HTTP server.
91332	RequestTimeout interface{} `json:"requestTimeout,omitempty"`
91333	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
91334	AdditionalProperties map[string]interface{} `json:""`
91335	// Type - The read setting type.
91336	Type *string `json:"type,omitempty"`
91337	// MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer).
91338	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
91339}
91340
91341// MarshalJSON is the custom marshaler for HTTPReadSettings.
91342func (hrs HTTPReadSettings) MarshalJSON() ([]byte, error) {
91343	objectMap := make(map[string]interface{})
91344	if hrs.RequestMethod != nil {
91345		objectMap["requestMethod"] = hrs.RequestMethod
91346	}
91347	if hrs.RequestBody != nil {
91348		objectMap["requestBody"] = hrs.RequestBody
91349	}
91350	if hrs.AdditionalHeaders != nil {
91351		objectMap["additionalHeaders"] = hrs.AdditionalHeaders
91352	}
91353	if hrs.RequestTimeout != nil {
91354		objectMap["requestTimeout"] = hrs.RequestTimeout
91355	}
91356	if hrs.Type != nil {
91357		objectMap["type"] = hrs.Type
91358	}
91359	if hrs.MaxConcurrentConnections != nil {
91360		objectMap["maxConcurrentConnections"] = hrs.MaxConcurrentConnections
91361	}
91362	for k, v := range hrs.AdditionalProperties {
91363		objectMap[k] = v
91364	}
91365	return json.Marshal(objectMap)
91366}
91367
91368// UnmarshalJSON is the custom unmarshaler for HTTPReadSettings struct.
91369func (hrs *HTTPReadSettings) UnmarshalJSON(body []byte) error {
91370	var m map[string]*json.RawMessage
91371	err := json.Unmarshal(body, &m)
91372	if err != nil {
91373		return err
91374	}
91375	for k, v := range m {
91376		switch k {
91377		case "requestMethod":
91378			if v != nil {
91379				var requestMethod interface{}
91380				err = json.Unmarshal(*v, &requestMethod)
91381				if err != nil {
91382					return err
91383				}
91384				hrs.RequestMethod = requestMethod
91385			}
91386		case "requestBody":
91387			if v != nil {
91388				var requestBody interface{}
91389				err = json.Unmarshal(*v, &requestBody)
91390				if err != nil {
91391					return err
91392				}
91393				hrs.RequestBody = requestBody
91394			}
91395		case "additionalHeaders":
91396			if v != nil {
91397				var additionalHeaders interface{}
91398				err = json.Unmarshal(*v, &additionalHeaders)
91399				if err != nil {
91400					return err
91401				}
91402				hrs.AdditionalHeaders = additionalHeaders
91403			}
91404		case "requestTimeout":
91405			if v != nil {
91406				var requestTimeout interface{}
91407				err = json.Unmarshal(*v, &requestTimeout)
91408				if err != nil {
91409					return err
91410				}
91411				hrs.RequestTimeout = requestTimeout
91412			}
91413		default:
91414			if v != nil {
91415				var additionalProperties interface{}
91416				err = json.Unmarshal(*v, &additionalProperties)
91417				if err != nil {
91418					return err
91419				}
91420				if hrs.AdditionalProperties == nil {
91421					hrs.AdditionalProperties = make(map[string]interface{})
91422				}
91423				hrs.AdditionalProperties[k] = additionalProperties
91424			}
91425		case "type":
91426			if v != nil {
91427				var typeVar string
91428				err = json.Unmarshal(*v, &typeVar)
91429				if err != nil {
91430					return err
91431				}
91432				hrs.Type = &typeVar
91433			}
91434		case "maxConcurrentConnections":
91435			if v != nil {
91436				var maxConcurrentConnections interface{}
91437				err = json.Unmarshal(*v, &maxConcurrentConnections)
91438				if err != nil {
91439					return err
91440				}
91441				hrs.MaxConcurrentConnections = maxConcurrentConnections
91442			}
91443		}
91444	}
91445
91446	return nil
91447}
91448
91449// HTTPServerLocation the location of http server.
91450type HTTPServerLocation struct {
91451	// RelativeURL - Specify the relativeUrl of http server. Type: string (or Expression with resultType string)
91452	RelativeURL interface{} `json:"relativeUrl,omitempty"`
91453	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
91454	AdditionalProperties map[string]interface{} `json:""`
91455	// Type - Type of dataset storage location.
91456	Type *string `json:"type,omitempty"`
91457	// FolderPath - Specify the folder path of dataset. Type: string (or Expression with resultType string)
91458	FolderPath interface{} `json:"folderPath,omitempty"`
91459	// FileName - Specify the file name of dataset. Type: string (or Expression with resultType string).
91460	FileName interface{} `json:"fileName,omitempty"`
91461}
91462
91463// MarshalJSON is the custom marshaler for HTTPServerLocation.
91464func (hsl HTTPServerLocation) MarshalJSON() ([]byte, error) {
91465	objectMap := make(map[string]interface{})
91466	if hsl.RelativeURL != nil {
91467		objectMap["relativeUrl"] = hsl.RelativeURL
91468	}
91469	if hsl.Type != nil {
91470		objectMap["type"] = hsl.Type
91471	}
91472	if hsl.FolderPath != nil {
91473		objectMap["folderPath"] = hsl.FolderPath
91474	}
91475	if hsl.FileName != nil {
91476		objectMap["fileName"] = hsl.FileName
91477	}
91478	for k, v := range hsl.AdditionalProperties {
91479		objectMap[k] = v
91480	}
91481	return json.Marshal(objectMap)
91482}
91483
91484// UnmarshalJSON is the custom unmarshaler for HTTPServerLocation struct.
91485func (hsl *HTTPServerLocation) UnmarshalJSON(body []byte) error {
91486	var m map[string]*json.RawMessage
91487	err := json.Unmarshal(body, &m)
91488	if err != nil {
91489		return err
91490	}
91491	for k, v := range m {
91492		switch k {
91493		case "relativeUrl":
91494			if v != nil {
91495				var relativeURL interface{}
91496				err = json.Unmarshal(*v, &relativeURL)
91497				if err != nil {
91498					return err
91499				}
91500				hsl.RelativeURL = relativeURL
91501			}
91502		default:
91503			if v != nil {
91504				var additionalProperties interface{}
91505				err = json.Unmarshal(*v, &additionalProperties)
91506				if err != nil {
91507					return err
91508				}
91509				if hsl.AdditionalProperties == nil {
91510					hsl.AdditionalProperties = make(map[string]interface{})
91511				}
91512				hsl.AdditionalProperties[k] = additionalProperties
91513			}
91514		case "type":
91515			if v != nil {
91516				var typeVar string
91517				err = json.Unmarshal(*v, &typeVar)
91518				if err != nil {
91519					return err
91520				}
91521				hsl.Type = &typeVar
91522			}
91523		case "folderPath":
91524			if v != nil {
91525				var folderPath interface{}
91526				err = json.Unmarshal(*v, &folderPath)
91527				if err != nil {
91528					return err
91529				}
91530				hsl.FolderPath = folderPath
91531			}
91532		case "fileName":
91533			if v != nil {
91534				var fileName interface{}
91535				err = json.Unmarshal(*v, &fileName)
91536				if err != nil {
91537					return err
91538				}
91539				hsl.FileName = fileName
91540			}
91541		}
91542	}
91543
91544	return nil
91545}
91546
91547// HTTPSource a copy activity source for an HTTP file.
91548type HTTPSource struct {
91549	// 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])).
91550	HTTPRequestTimeout interface{} `json:"httpRequestTimeout,omitempty"`
91551	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
91552	AdditionalProperties map[string]interface{} `json:""`
91553	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
91554	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
91555	// 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])).
91556	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
91557	// MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer).
91558	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
91559	// Type - Possible values include: 'TypeCopySource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', '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', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeCassandraSource', 'TypeWebSource', 'TypeTeradataSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeAzureMySQLSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeRestSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceServiceCloudSource', 'TypeSalesforceSource', 'TypeODataSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeMicrosoftAccessSource', 'TypeInformixSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAzureTableSource', 'TypeBinarySource', 'TypeDelimitedTextSource', 'TypeParquetSource'
91560	Type TypeBasicCopySource `json:"type,omitempty"`
91561}
91562
91563// MarshalJSON is the custom marshaler for HTTPSource.
91564func (hs HTTPSource) MarshalJSON() ([]byte, error) {
91565	hs.Type = TypeHTTPSource
91566	objectMap := make(map[string]interface{})
91567	if hs.HTTPRequestTimeout != nil {
91568		objectMap["httpRequestTimeout"] = hs.HTTPRequestTimeout
91569	}
91570	if hs.SourceRetryCount != nil {
91571		objectMap["sourceRetryCount"] = hs.SourceRetryCount
91572	}
91573	if hs.SourceRetryWait != nil {
91574		objectMap["sourceRetryWait"] = hs.SourceRetryWait
91575	}
91576	if hs.MaxConcurrentConnections != nil {
91577		objectMap["maxConcurrentConnections"] = hs.MaxConcurrentConnections
91578	}
91579	if hs.Type != "" {
91580		objectMap["type"] = hs.Type
91581	}
91582	for k, v := range hs.AdditionalProperties {
91583		objectMap[k] = v
91584	}
91585	return json.Marshal(objectMap)
91586}
91587
91588// AsAmazonRedshiftSource is the BasicCopySource implementation for HTTPSource.
91589func (hs HTTPSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
91590	return nil, false
91591}
91592
91593// AsGoogleAdWordsSource is the BasicCopySource implementation for HTTPSource.
91594func (hs HTTPSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) {
91595	return nil, false
91596}
91597
91598// AsOracleServiceCloudSource is the BasicCopySource implementation for HTTPSource.
91599func (hs HTTPSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) {
91600	return nil, false
91601}
91602
91603// AsDynamicsAXSource is the BasicCopySource implementation for HTTPSource.
91604func (hs HTTPSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) {
91605	return nil, false
91606}
91607
91608// AsResponsysSource is the BasicCopySource implementation for HTTPSource.
91609func (hs HTTPSource) AsResponsysSource() (*ResponsysSource, bool) {
91610	return nil, false
91611}
91612
91613// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for HTTPSource.
91614func (hs HTTPSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
91615	return nil, false
91616}
91617
91618// AsVerticaSource is the BasicCopySource implementation for HTTPSource.
91619func (hs HTTPSource) AsVerticaSource() (*VerticaSource, bool) {
91620	return nil, false
91621}
91622
91623// AsNetezzaSource is the BasicCopySource implementation for HTTPSource.
91624func (hs HTTPSource) AsNetezzaSource() (*NetezzaSource, bool) {
91625	return nil, false
91626}
91627
91628// AsZohoSource is the BasicCopySource implementation for HTTPSource.
91629func (hs HTTPSource) AsZohoSource() (*ZohoSource, bool) {
91630	return nil, false
91631}
91632
91633// AsXeroSource is the BasicCopySource implementation for HTTPSource.
91634func (hs HTTPSource) AsXeroSource() (*XeroSource, bool) {
91635	return nil, false
91636}
91637
91638// AsSquareSource is the BasicCopySource implementation for HTTPSource.
91639func (hs HTTPSource) AsSquareSource() (*SquareSource, bool) {
91640	return nil, false
91641}
91642
91643// AsSparkSource is the BasicCopySource implementation for HTTPSource.
91644func (hs HTTPSource) AsSparkSource() (*SparkSource, bool) {
91645	return nil, false
91646}
91647
91648// AsShopifySource is the BasicCopySource implementation for HTTPSource.
91649func (hs HTTPSource) AsShopifySource() (*ShopifySource, bool) {
91650	return nil, false
91651}
91652
91653// AsServiceNowSource is the BasicCopySource implementation for HTTPSource.
91654func (hs HTTPSource) AsServiceNowSource() (*ServiceNowSource, bool) {
91655	return nil, false
91656}
91657
91658// AsQuickBooksSource is the BasicCopySource implementation for HTTPSource.
91659func (hs HTTPSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
91660	return nil, false
91661}
91662
91663// AsPrestoSource is the BasicCopySource implementation for HTTPSource.
91664func (hs HTTPSource) AsPrestoSource() (*PrestoSource, bool) {
91665	return nil, false
91666}
91667
91668// AsPhoenixSource is the BasicCopySource implementation for HTTPSource.
91669func (hs HTTPSource) AsPhoenixSource() (*PhoenixSource, bool) {
91670	return nil, false
91671}
91672
91673// AsPaypalSource is the BasicCopySource implementation for HTTPSource.
91674func (hs HTTPSource) AsPaypalSource() (*PaypalSource, bool) {
91675	return nil, false
91676}
91677
91678// AsMarketoSource is the BasicCopySource implementation for HTTPSource.
91679func (hs HTTPSource) AsMarketoSource() (*MarketoSource, bool) {
91680	return nil, false
91681}
91682
91683// AsMariaDBSource is the BasicCopySource implementation for HTTPSource.
91684func (hs HTTPSource) AsMariaDBSource() (*MariaDBSource, bool) {
91685	return nil, false
91686}
91687
91688// AsMagentoSource is the BasicCopySource implementation for HTTPSource.
91689func (hs HTTPSource) AsMagentoSource() (*MagentoSource, bool) {
91690	return nil, false
91691}
91692
91693// AsJiraSource is the BasicCopySource implementation for HTTPSource.
91694func (hs HTTPSource) AsJiraSource() (*JiraSource, bool) {
91695	return nil, false
91696}
91697
91698// AsImpalaSource is the BasicCopySource implementation for HTTPSource.
91699func (hs HTTPSource) AsImpalaSource() (*ImpalaSource, bool) {
91700	return nil, false
91701}
91702
91703// AsHubspotSource is the BasicCopySource implementation for HTTPSource.
91704func (hs HTTPSource) AsHubspotSource() (*HubspotSource, bool) {
91705	return nil, false
91706}
91707
91708// AsHiveSource is the BasicCopySource implementation for HTTPSource.
91709func (hs HTTPSource) AsHiveSource() (*HiveSource, bool) {
91710	return nil, false
91711}
91712
91713// AsHBaseSource is the BasicCopySource implementation for HTTPSource.
91714func (hs HTTPSource) AsHBaseSource() (*HBaseSource, bool) {
91715	return nil, false
91716}
91717
91718// AsGreenplumSource is the BasicCopySource implementation for HTTPSource.
91719func (hs HTTPSource) AsGreenplumSource() (*GreenplumSource, bool) {
91720	return nil, false
91721}
91722
91723// AsGoogleBigQuerySource is the BasicCopySource implementation for HTTPSource.
91724func (hs HTTPSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
91725	return nil, false
91726}
91727
91728// AsEloquaSource is the BasicCopySource implementation for HTTPSource.
91729func (hs HTTPSource) AsEloquaSource() (*EloquaSource, bool) {
91730	return nil, false
91731}
91732
91733// AsDrillSource is the BasicCopySource implementation for HTTPSource.
91734func (hs HTTPSource) AsDrillSource() (*DrillSource, bool) {
91735	return nil, false
91736}
91737
91738// AsCouchbaseSource is the BasicCopySource implementation for HTTPSource.
91739func (hs HTTPSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
91740	return nil, false
91741}
91742
91743// AsConcurSource is the BasicCopySource implementation for HTTPSource.
91744func (hs HTTPSource) AsConcurSource() (*ConcurSource, bool) {
91745	return nil, false
91746}
91747
91748// AsAzurePostgreSQLSource is the BasicCopySource implementation for HTTPSource.
91749func (hs HTTPSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
91750	return nil, false
91751}
91752
91753// AsAmazonMWSSource is the BasicCopySource implementation for HTTPSource.
91754func (hs HTTPSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
91755	return nil, false
91756}
91757
91758// AsHTTPSource is the BasicCopySource implementation for HTTPSource.
91759func (hs HTTPSource) AsHTTPSource() (*HTTPSource, bool) {
91760	return &hs, true
91761}
91762
91763// AsAzureBlobFSSource is the BasicCopySource implementation for HTTPSource.
91764func (hs HTTPSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) {
91765	return nil, false
91766}
91767
91768// AsAzureDataLakeStoreSource is the BasicCopySource implementation for HTTPSource.
91769func (hs HTTPSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
91770	return nil, false
91771}
91772
91773// AsOffice365Source is the BasicCopySource implementation for HTTPSource.
91774func (hs HTTPSource) AsOffice365Source() (*Office365Source, bool) {
91775	return nil, false
91776}
91777
91778// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for HTTPSource.
91779func (hs HTTPSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) {
91780	return nil, false
91781}
91782
91783// AsMongoDbV2Source is the BasicCopySource implementation for HTTPSource.
91784func (hs HTTPSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) {
91785	return nil, false
91786}
91787
91788// AsMongoDbSource is the BasicCopySource implementation for HTTPSource.
91789func (hs HTTPSource) AsMongoDbSource() (*MongoDbSource, bool) {
91790	return nil, false
91791}
91792
91793// AsCassandraSource is the BasicCopySource implementation for HTTPSource.
91794func (hs HTTPSource) AsCassandraSource() (*CassandraSource, bool) {
91795	return nil, false
91796}
91797
91798// AsWebSource is the BasicCopySource implementation for HTTPSource.
91799func (hs HTTPSource) AsWebSource() (*WebSource, bool) {
91800	return nil, false
91801}
91802
91803// AsTeradataSource is the BasicCopySource implementation for HTTPSource.
91804func (hs HTTPSource) AsTeradataSource() (*TeradataSource, bool) {
91805	return nil, false
91806}
91807
91808// AsOracleSource is the BasicCopySource implementation for HTTPSource.
91809func (hs HTTPSource) AsOracleSource() (*OracleSource, bool) {
91810	return nil, false
91811}
91812
91813// AsAzureDataExplorerSource is the BasicCopySource implementation for HTTPSource.
91814func (hs HTTPSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) {
91815	return nil, false
91816}
91817
91818// AsAzureMySQLSource is the BasicCopySource implementation for HTTPSource.
91819func (hs HTTPSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
91820	return nil, false
91821}
91822
91823// AsHdfsSource is the BasicCopySource implementation for HTTPSource.
91824func (hs HTTPSource) AsHdfsSource() (*HdfsSource, bool) {
91825	return nil, false
91826}
91827
91828// AsFileSystemSource is the BasicCopySource implementation for HTTPSource.
91829func (hs HTTPSource) AsFileSystemSource() (*FileSystemSource, bool) {
91830	return nil, false
91831}
91832
91833// AsSQLDWSource is the BasicCopySource implementation for HTTPSource.
91834func (hs HTTPSource) AsSQLDWSource() (*SQLDWSource, bool) {
91835	return nil, false
91836}
91837
91838// AsSQLMISource is the BasicCopySource implementation for HTTPSource.
91839func (hs HTTPSource) AsSQLMISource() (*SQLMISource, bool) {
91840	return nil, false
91841}
91842
91843// AsAzureSQLSource is the BasicCopySource implementation for HTTPSource.
91844func (hs HTTPSource) AsAzureSQLSource() (*AzureSQLSource, bool) {
91845	return nil, false
91846}
91847
91848// AsSQLServerSource is the BasicCopySource implementation for HTTPSource.
91849func (hs HTTPSource) AsSQLServerSource() (*SQLServerSource, bool) {
91850	return nil, false
91851}
91852
91853// AsSQLSource is the BasicCopySource implementation for HTTPSource.
91854func (hs HTTPSource) AsSQLSource() (*SQLSource, bool) {
91855	return nil, false
91856}
91857
91858// AsRestSource is the BasicCopySource implementation for HTTPSource.
91859func (hs HTTPSource) AsRestSource() (*RestSource, bool) {
91860	return nil, false
91861}
91862
91863// AsSapTableSource is the BasicCopySource implementation for HTTPSource.
91864func (hs HTTPSource) AsSapTableSource() (*SapTableSource, bool) {
91865	return nil, false
91866}
91867
91868// AsSapOpenHubSource is the BasicCopySource implementation for HTTPSource.
91869func (hs HTTPSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) {
91870	return nil, false
91871}
91872
91873// AsSapHanaSource is the BasicCopySource implementation for HTTPSource.
91874func (hs HTTPSource) AsSapHanaSource() (*SapHanaSource, bool) {
91875	return nil, false
91876}
91877
91878// AsSapEccSource is the BasicCopySource implementation for HTTPSource.
91879func (hs HTTPSource) AsSapEccSource() (*SapEccSource, bool) {
91880	return nil, false
91881}
91882
91883// AsSapCloudForCustomerSource is the BasicCopySource implementation for HTTPSource.
91884func (hs HTTPSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
91885	return nil, false
91886}
91887
91888// AsSalesforceServiceCloudSource is the BasicCopySource implementation for HTTPSource.
91889func (hs HTTPSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) {
91890	return nil, false
91891}
91892
91893// AsSalesforceSource is the BasicCopySource implementation for HTTPSource.
91894func (hs HTTPSource) AsSalesforceSource() (*SalesforceSource, bool) {
91895	return nil, false
91896}
91897
91898// AsODataSource is the BasicCopySource implementation for HTTPSource.
91899func (hs HTTPSource) AsODataSource() (*ODataSource, bool) {
91900	return nil, false
91901}
91902
91903// AsSybaseSource is the BasicCopySource implementation for HTTPSource.
91904func (hs HTTPSource) AsSybaseSource() (*SybaseSource, bool) {
91905	return nil, false
91906}
91907
91908// AsPostgreSQLSource is the BasicCopySource implementation for HTTPSource.
91909func (hs HTTPSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) {
91910	return nil, false
91911}
91912
91913// AsMySQLSource is the BasicCopySource implementation for HTTPSource.
91914func (hs HTTPSource) AsMySQLSource() (*MySQLSource, bool) {
91915	return nil, false
91916}
91917
91918// AsOdbcSource is the BasicCopySource implementation for HTTPSource.
91919func (hs HTTPSource) AsOdbcSource() (*OdbcSource, bool) {
91920	return nil, false
91921}
91922
91923// AsDb2Source is the BasicCopySource implementation for HTTPSource.
91924func (hs HTTPSource) AsDb2Source() (*Db2Source, bool) {
91925	return nil, false
91926}
91927
91928// AsMicrosoftAccessSource is the BasicCopySource implementation for HTTPSource.
91929func (hs HTTPSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) {
91930	return nil, false
91931}
91932
91933// AsInformixSource is the BasicCopySource implementation for HTTPSource.
91934func (hs HTTPSource) AsInformixSource() (*InformixSource, bool) {
91935	return nil, false
91936}
91937
91938// AsRelationalSource is the BasicCopySource implementation for HTTPSource.
91939func (hs HTTPSource) AsRelationalSource() (*RelationalSource, bool) {
91940	return nil, false
91941}
91942
91943// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for HTTPSource.
91944func (hs HTTPSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) {
91945	return nil, false
91946}
91947
91948// AsDynamicsCrmSource is the BasicCopySource implementation for HTTPSource.
91949func (hs HTTPSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) {
91950	return nil, false
91951}
91952
91953// AsDynamicsSource is the BasicCopySource implementation for HTTPSource.
91954func (hs HTTPSource) AsDynamicsSource() (*DynamicsSource, bool) {
91955	return nil, false
91956}
91957
91958// AsDocumentDbCollectionSource is the BasicCopySource implementation for HTTPSource.
91959func (hs HTTPSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
91960	return nil, false
91961}
91962
91963// AsBlobSource is the BasicCopySource implementation for HTTPSource.
91964func (hs HTTPSource) AsBlobSource() (*BlobSource, bool) {
91965	return nil, false
91966}
91967
91968// AsAzureTableSource is the BasicCopySource implementation for HTTPSource.
91969func (hs HTTPSource) AsAzureTableSource() (*AzureTableSource, bool) {
91970	return nil, false
91971}
91972
91973// AsBinarySource is the BasicCopySource implementation for HTTPSource.
91974func (hs HTTPSource) AsBinarySource() (*BinarySource, bool) {
91975	return nil, false
91976}
91977
91978// AsDelimitedTextSource is the BasicCopySource implementation for HTTPSource.
91979func (hs HTTPSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) {
91980	return nil, false
91981}
91982
91983// AsParquetSource is the BasicCopySource implementation for HTTPSource.
91984func (hs HTTPSource) AsParquetSource() (*ParquetSource, bool) {
91985	return nil, false
91986}
91987
91988// AsCopySource is the BasicCopySource implementation for HTTPSource.
91989func (hs HTTPSource) AsCopySource() (*CopySource, bool) {
91990	return nil, false
91991}
91992
91993// AsBasicCopySource is the BasicCopySource implementation for HTTPSource.
91994func (hs HTTPSource) AsBasicCopySource() (BasicCopySource, bool) {
91995	return &hs, true
91996}
91997
91998// UnmarshalJSON is the custom unmarshaler for HTTPSource struct.
91999func (hs *HTTPSource) UnmarshalJSON(body []byte) error {
92000	var m map[string]*json.RawMessage
92001	err := json.Unmarshal(body, &m)
92002	if err != nil {
92003		return err
92004	}
92005	for k, v := range m {
92006		switch k {
92007		case "httpRequestTimeout":
92008			if v != nil {
92009				var HTTPRequestTimeout interface{}
92010				err = json.Unmarshal(*v, &HTTPRequestTimeout)
92011				if err != nil {
92012					return err
92013				}
92014				hs.HTTPRequestTimeout = HTTPRequestTimeout
92015			}
92016		default:
92017			if v != nil {
92018				var additionalProperties interface{}
92019				err = json.Unmarshal(*v, &additionalProperties)
92020				if err != nil {
92021					return err
92022				}
92023				if hs.AdditionalProperties == nil {
92024					hs.AdditionalProperties = make(map[string]interface{})
92025				}
92026				hs.AdditionalProperties[k] = additionalProperties
92027			}
92028		case "sourceRetryCount":
92029			if v != nil {
92030				var sourceRetryCount interface{}
92031				err = json.Unmarshal(*v, &sourceRetryCount)
92032				if err != nil {
92033					return err
92034				}
92035				hs.SourceRetryCount = sourceRetryCount
92036			}
92037		case "sourceRetryWait":
92038			if v != nil {
92039				var sourceRetryWait interface{}
92040				err = json.Unmarshal(*v, &sourceRetryWait)
92041				if err != nil {
92042					return err
92043				}
92044				hs.SourceRetryWait = sourceRetryWait
92045			}
92046		case "maxConcurrentConnections":
92047			if v != nil {
92048				var maxConcurrentConnections interface{}
92049				err = json.Unmarshal(*v, &maxConcurrentConnections)
92050				if err != nil {
92051					return err
92052				}
92053				hs.MaxConcurrentConnections = maxConcurrentConnections
92054			}
92055		case "type":
92056			if v != nil {
92057				var typeVar TypeBasicCopySource
92058				err = json.Unmarshal(*v, &typeVar)
92059				if err != nil {
92060					return err
92061				}
92062				hs.Type = typeVar
92063			}
92064		}
92065	}
92066
92067	return nil
92068}
92069
92070// HubspotLinkedService hubspot Service linked service.
92071type HubspotLinkedService struct {
92072	// HubspotLinkedServiceTypeProperties - Hubspot Service linked service properties.
92073	*HubspotLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
92074	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
92075	AdditionalProperties map[string]interface{} `json:""`
92076	// ConnectVia - The integration runtime reference.
92077	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
92078	// Description - Linked service description.
92079	Description *string `json:"description,omitempty"`
92080	// Parameters - Parameters for linked service.
92081	Parameters map[string]*ParameterSpecification `json:"parameters"`
92082	// Annotations - List of tags that can be used for describing the linked service.
92083	Annotations *[]interface{} `json:"annotations,omitempty"`
92084	// Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', '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', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage'
92085	Type TypeBasicLinkedService `json:"type,omitempty"`
92086}
92087
92088// MarshalJSON is the custom marshaler for HubspotLinkedService.
92089func (hls HubspotLinkedService) MarshalJSON() ([]byte, error) {
92090	hls.Type = TypeHubspot
92091	objectMap := make(map[string]interface{})
92092	if hls.HubspotLinkedServiceTypeProperties != nil {
92093		objectMap["typeProperties"] = hls.HubspotLinkedServiceTypeProperties
92094	}
92095	if hls.ConnectVia != nil {
92096		objectMap["connectVia"] = hls.ConnectVia
92097	}
92098	if hls.Description != nil {
92099		objectMap["description"] = hls.Description
92100	}
92101	if hls.Parameters != nil {
92102		objectMap["parameters"] = hls.Parameters
92103	}
92104	if hls.Annotations != nil {
92105		objectMap["annotations"] = hls.Annotations
92106	}
92107	if hls.Type != "" {
92108		objectMap["type"] = hls.Type
92109	}
92110	for k, v := range hls.AdditionalProperties {
92111		objectMap[k] = v
92112	}
92113	return json.Marshal(objectMap)
92114}
92115
92116// AsAzureFunctionLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
92117func (hls HubspotLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) {
92118	return nil, false
92119}
92120
92121// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
92122func (hls HubspotLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) {
92123	return nil, false
92124}
92125
92126// AsSapTableLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
92127func (hls HubspotLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) {
92128	return nil, false
92129}
92130
92131// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
92132func (hls HubspotLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) {
92133	return nil, false
92134}
92135
92136// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
92137func (hls HubspotLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) {
92138	return nil, false
92139}
92140
92141// AsDynamicsAXLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
92142func (hls HubspotLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) {
92143	return nil, false
92144}
92145
92146// AsResponsysLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
92147func (hls HubspotLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
92148	return nil, false
92149}
92150
92151// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
92152func (hls HubspotLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
92153	return nil, false
92154}
92155
92156// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
92157func (hls HubspotLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
92158	return nil, false
92159}
92160
92161// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
92162func (hls HubspotLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
92163	return nil, false
92164}
92165
92166// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
92167func (hls HubspotLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
92168	return nil, false
92169}
92170
92171// AsNetezzaLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
92172func (hls HubspotLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
92173	return nil, false
92174}
92175
92176// AsVerticaLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
92177func (hls HubspotLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
92178	return nil, false
92179}
92180
92181// AsZohoLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
92182func (hls HubspotLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
92183	return nil, false
92184}
92185
92186// AsXeroLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
92187func (hls HubspotLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
92188	return nil, false
92189}
92190
92191// AsSquareLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
92192func (hls HubspotLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
92193	return nil, false
92194}
92195
92196// AsSparkLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
92197func (hls HubspotLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
92198	return nil, false
92199}
92200
92201// AsShopifyLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
92202func (hls HubspotLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
92203	return nil, false
92204}
92205
92206// AsServiceNowLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
92207func (hls HubspotLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
92208	return nil, false
92209}
92210
92211// AsQuickBooksLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
92212func (hls HubspotLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
92213	return nil, false
92214}
92215
92216// AsPrestoLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
92217func (hls HubspotLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
92218	return nil, false
92219}
92220
92221// AsPhoenixLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
92222func (hls HubspotLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
92223	return nil, false
92224}
92225
92226// AsPaypalLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
92227func (hls HubspotLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
92228	return nil, false
92229}
92230
92231// AsMarketoLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
92232func (hls HubspotLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
92233	return nil, false
92234}
92235
92236// AsMariaDBLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
92237func (hls HubspotLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
92238	return nil, false
92239}
92240
92241// AsMagentoLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
92242func (hls HubspotLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
92243	return nil, false
92244}
92245
92246// AsJiraLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
92247func (hls HubspotLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
92248	return nil, false
92249}
92250
92251// AsImpalaLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
92252func (hls HubspotLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
92253	return nil, false
92254}
92255
92256// AsHubspotLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
92257func (hls HubspotLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
92258	return &hls, true
92259}
92260
92261// AsHiveLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
92262func (hls HubspotLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
92263	return nil, false
92264}
92265
92266// AsHBaseLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
92267func (hls HubspotLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
92268	return nil, false
92269}
92270
92271// AsGreenplumLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
92272func (hls HubspotLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
92273	return nil, false
92274}
92275
92276// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
92277func (hls HubspotLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
92278	return nil, false
92279}
92280
92281// AsEloquaLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
92282func (hls HubspotLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
92283	return nil, false
92284}
92285
92286// AsDrillLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
92287func (hls HubspotLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
92288	return nil, false
92289}
92290
92291// AsCouchbaseLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
92292func (hls HubspotLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
92293	return nil, false
92294}
92295
92296// AsConcurLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
92297func (hls HubspotLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
92298	return nil, false
92299}
92300
92301// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
92302func (hls HubspotLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
92303	return nil, false
92304}
92305
92306// AsAmazonMWSLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
92307func (hls HubspotLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
92308	return nil, false
92309}
92310
92311// AsSapHanaLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
92312func (hls HubspotLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
92313	return nil, false
92314}
92315
92316// AsSapBWLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
92317func (hls HubspotLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
92318	return nil, false
92319}
92320
92321// AsSftpServerLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
92322func (hls HubspotLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
92323	return nil, false
92324}
92325
92326// AsFtpServerLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
92327func (hls HubspotLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
92328	return nil, false
92329}
92330
92331// AsHTTPLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
92332func (hls HubspotLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
92333	return nil, false
92334}
92335
92336// AsAzureSearchLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
92337func (hls HubspotLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
92338	return nil, false
92339}
92340
92341// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
92342func (hls HubspotLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
92343	return nil, false
92344}
92345
92346// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
92347func (hls HubspotLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
92348	return nil, false
92349}
92350
92351// AsAmazonS3LinkedService is the BasicLinkedService implementation for HubspotLinkedService.
92352func (hls HubspotLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
92353	return nil, false
92354}
92355
92356// AsRestServiceLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
92357func (hls HubspotLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) {
92358	return nil, false
92359}
92360
92361// AsSapOpenHubLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
92362func (hls HubspotLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) {
92363	return nil, false
92364}
92365
92366// AsSapEccLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
92367func (hls HubspotLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
92368	return nil, false
92369}
92370
92371// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
92372func (hls HubspotLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
92373	return nil, false
92374}
92375
92376// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
92377func (hls HubspotLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) {
92378	return nil, false
92379}
92380
92381// AsSalesforceLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
92382func (hls HubspotLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
92383	return nil, false
92384}
92385
92386// AsOffice365LinkedService is the BasicLinkedService implementation for HubspotLinkedService.
92387func (hls HubspotLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) {
92388	return nil, false
92389}
92390
92391// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
92392func (hls HubspotLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) {
92393	return nil, false
92394}
92395
92396// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
92397func (hls HubspotLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
92398	return nil, false
92399}
92400
92401// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for HubspotLinkedService.
92402func (hls HubspotLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) {
92403	return nil, false
92404}
92405
92406// AsMongoDbV2LinkedService is the BasicLinkedService implementation for HubspotLinkedService.
92407func (hls HubspotLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) {
92408	return nil, false
92409}
92410
92411// AsMongoDbLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
92412func (hls HubspotLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
92413	return nil, false
92414}
92415
92416// AsCassandraLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
92417func (hls HubspotLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
92418	return nil, false
92419}
92420
92421// AsWebLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
92422func (hls HubspotLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
92423	return nil, false
92424}
92425
92426// AsODataLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
92427func (hls HubspotLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
92428	return nil, false
92429}
92430
92431// AsHdfsLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
92432func (hls HubspotLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
92433	return nil, false
92434}
92435
92436// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
92437func (hls HubspotLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) {
92438	return nil, false
92439}
92440
92441// AsInformixLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
92442func (hls HubspotLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) {
92443	return nil, false
92444}
92445
92446// AsOdbcLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
92447func (hls HubspotLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
92448	return nil, false
92449}
92450
92451// AsAzureMLLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
92452func (hls HubspotLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
92453	return nil, false
92454}
92455
92456// AsTeradataLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
92457func (hls HubspotLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
92458	return nil, false
92459}
92460
92461// AsDb2LinkedService is the BasicLinkedService implementation for HubspotLinkedService.
92462func (hls HubspotLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
92463	return nil, false
92464}
92465
92466// AsSybaseLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
92467func (hls HubspotLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
92468	return nil, false
92469}
92470
92471// AsPostgreSQLLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
92472func (hls HubspotLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
92473	return nil, false
92474}
92475
92476// AsMySQLLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
92477func (hls HubspotLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
92478	return nil, false
92479}
92480
92481// AsAzureMySQLLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
92482func (hls HubspotLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
92483	return nil, false
92484}
92485
92486// AsOracleLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
92487func (hls HubspotLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
92488	return nil, false
92489}
92490
92491// AsFileServerLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
92492func (hls HubspotLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
92493	return nil, false
92494}
92495
92496// AsHDInsightLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
92497func (hls HubspotLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
92498	return nil, false
92499}
92500
92501// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
92502func (hls HubspotLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) {
92503	return nil, false
92504}
92505
92506// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
92507func (hls HubspotLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) {
92508	return nil, false
92509}
92510
92511// AsDynamicsLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
92512func (hls HubspotLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
92513	return nil, false
92514}
92515
92516// AsCosmosDbLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
92517func (hls HubspotLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
92518	return nil, false
92519}
92520
92521// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
92522func (hls HubspotLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
92523	return nil, false
92524}
92525
92526// AsAzureBatchLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
92527func (hls HubspotLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
92528	return nil, false
92529}
92530
92531// AsAzureSQLMILinkedService is the BasicLinkedService implementation for HubspotLinkedService.
92532func (hls HubspotLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) {
92533	return nil, false
92534}
92535
92536// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
92537func (hls HubspotLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
92538	return nil, false
92539}
92540
92541// AsSQLServerLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
92542func (hls HubspotLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
92543	return nil, false
92544}
92545
92546// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
92547func (hls HubspotLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
92548	return nil, false
92549}
92550
92551// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
92552func (hls HubspotLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) {
92553	return nil, false
92554}
92555
92556// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
92557func (hls HubspotLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) {
92558	return nil, false
92559}
92560
92561// AsAzureStorageLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
92562func (hls HubspotLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
92563	return nil, false
92564}
92565
92566// AsLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
92567func (hls HubspotLinkedService) AsLinkedService() (*LinkedService, bool) {
92568	return nil, false
92569}
92570
92571// AsBasicLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
92572func (hls HubspotLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
92573	return &hls, true
92574}
92575
92576// UnmarshalJSON is the custom unmarshaler for HubspotLinkedService struct.
92577func (hls *HubspotLinkedService) UnmarshalJSON(body []byte) error {
92578	var m map[string]*json.RawMessage
92579	err := json.Unmarshal(body, &m)
92580	if err != nil {
92581		return err
92582	}
92583	for k, v := range m {
92584		switch k {
92585		case "typeProperties":
92586			if v != nil {
92587				var hubspotLinkedServiceTypeProperties HubspotLinkedServiceTypeProperties
92588				err = json.Unmarshal(*v, &hubspotLinkedServiceTypeProperties)
92589				if err != nil {
92590					return err
92591				}
92592				hls.HubspotLinkedServiceTypeProperties = &hubspotLinkedServiceTypeProperties
92593			}
92594		default:
92595			if v != nil {
92596				var additionalProperties interface{}
92597				err = json.Unmarshal(*v, &additionalProperties)
92598				if err != nil {
92599					return err
92600				}
92601				if hls.AdditionalProperties == nil {
92602					hls.AdditionalProperties = make(map[string]interface{})
92603				}
92604				hls.AdditionalProperties[k] = additionalProperties
92605			}
92606		case "connectVia":
92607			if v != nil {
92608				var connectVia IntegrationRuntimeReference
92609				err = json.Unmarshal(*v, &connectVia)
92610				if err != nil {
92611					return err
92612				}
92613				hls.ConnectVia = &connectVia
92614			}
92615		case "description":
92616			if v != nil {
92617				var description string
92618				err = json.Unmarshal(*v, &description)
92619				if err != nil {
92620					return err
92621				}
92622				hls.Description = &description
92623			}
92624		case "parameters":
92625			if v != nil {
92626				var parameters map[string]*ParameterSpecification
92627				err = json.Unmarshal(*v, &parameters)
92628				if err != nil {
92629					return err
92630				}
92631				hls.Parameters = parameters
92632			}
92633		case "annotations":
92634			if v != nil {
92635				var annotations []interface{}
92636				err = json.Unmarshal(*v, &annotations)
92637				if err != nil {
92638					return err
92639				}
92640				hls.Annotations = &annotations
92641			}
92642		case "type":
92643			if v != nil {
92644				var typeVar TypeBasicLinkedService
92645				err = json.Unmarshal(*v, &typeVar)
92646				if err != nil {
92647					return err
92648				}
92649				hls.Type = typeVar
92650			}
92651		}
92652	}
92653
92654	return nil
92655}
92656
92657// HubspotLinkedServiceTypeProperties hubspot Service linked service properties.
92658type HubspotLinkedServiceTypeProperties struct {
92659	// ClientID - The client ID associated with your Hubspot application.
92660	ClientID interface{} `json:"clientId,omitempty"`
92661	// ClientSecret - The client secret associated with your Hubspot application.
92662	ClientSecret BasicSecretBase `json:"clientSecret,omitempty"`
92663	// AccessToken - The access token obtained when initially authenticating your OAuth integration.
92664	AccessToken BasicSecretBase `json:"accessToken,omitempty"`
92665	// RefreshToken - The refresh token obtained when initially authenticating your OAuth integration.
92666	RefreshToken BasicSecretBase `json:"refreshToken,omitempty"`
92667	// UseEncryptedEndpoints - Specifies whether the data source endpoints are encrypted using HTTPS. The default value is true.
92668	UseEncryptedEndpoints interface{} `json:"useEncryptedEndpoints,omitempty"`
92669	// 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.
92670	UseHostVerification interface{} `json:"useHostVerification,omitempty"`
92671	// UsePeerVerification - Specifies whether to verify the identity of the server when connecting over SSL. The default value is true.
92672	UsePeerVerification interface{} `json:"usePeerVerification,omitempty"`
92673	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
92674	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
92675}
92676
92677// UnmarshalJSON is the custom unmarshaler for HubspotLinkedServiceTypeProperties struct.
92678func (hlstp *HubspotLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
92679	var m map[string]*json.RawMessage
92680	err := json.Unmarshal(body, &m)
92681	if err != nil {
92682		return err
92683	}
92684	for k, v := range m {
92685		switch k {
92686		case "clientId":
92687			if v != nil {
92688				var clientID interface{}
92689				err = json.Unmarshal(*v, &clientID)
92690				if err != nil {
92691					return err
92692				}
92693				hlstp.ClientID = clientID
92694			}
92695		case "clientSecret":
92696			if v != nil {
92697				clientSecret, err := unmarshalBasicSecretBase(*v)
92698				if err != nil {
92699					return err
92700				}
92701				hlstp.ClientSecret = clientSecret
92702			}
92703		case "accessToken":
92704			if v != nil {
92705				accessToken, err := unmarshalBasicSecretBase(*v)
92706				if err != nil {
92707					return err
92708				}
92709				hlstp.AccessToken = accessToken
92710			}
92711		case "refreshToken":
92712			if v != nil {
92713				refreshToken, err := unmarshalBasicSecretBase(*v)
92714				if err != nil {
92715					return err
92716				}
92717				hlstp.RefreshToken = refreshToken
92718			}
92719		case "useEncryptedEndpoints":
92720			if v != nil {
92721				var useEncryptedEndpoints interface{}
92722				err = json.Unmarshal(*v, &useEncryptedEndpoints)
92723				if err != nil {
92724					return err
92725				}
92726				hlstp.UseEncryptedEndpoints = useEncryptedEndpoints
92727			}
92728		case "useHostVerification":
92729			if v != nil {
92730				var useHostVerification interface{}
92731				err = json.Unmarshal(*v, &useHostVerification)
92732				if err != nil {
92733					return err
92734				}
92735				hlstp.UseHostVerification = useHostVerification
92736			}
92737		case "usePeerVerification":
92738			if v != nil {
92739				var usePeerVerification interface{}
92740				err = json.Unmarshal(*v, &usePeerVerification)
92741				if err != nil {
92742					return err
92743				}
92744				hlstp.UsePeerVerification = usePeerVerification
92745			}
92746		case "encryptedCredential":
92747			if v != nil {
92748				var encryptedCredential interface{}
92749				err = json.Unmarshal(*v, &encryptedCredential)
92750				if err != nil {
92751					return err
92752				}
92753				hlstp.EncryptedCredential = encryptedCredential
92754			}
92755		}
92756	}
92757
92758	return nil
92759}
92760
92761// HubspotObjectDataset hubspot Service dataset.
92762type HubspotObjectDataset struct {
92763	// GenericDatasetTypeProperties - Properties specific to this dataset type.
92764	*GenericDatasetTypeProperties `json:"typeProperties,omitempty"`
92765	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
92766	AdditionalProperties map[string]interface{} `json:""`
92767	// Description - Dataset description.
92768	Description *string `json:"description,omitempty"`
92769	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
92770	Structure interface{} `json:"structure,omitempty"`
92771	// Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement.
92772	Schema interface{} `json:"schema,omitempty"`
92773	// LinkedServiceName - Linked service reference.
92774	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
92775	// Parameters - Parameters for dataset.
92776	Parameters map[string]*ParameterSpecification `json:"parameters"`
92777	// Annotations - List of tags that can be used for describing the Dataset.
92778	Annotations *[]interface{} `json:"annotations,omitempty"`
92779	// Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level.
92780	Folder *DatasetFolder `json:"folder,omitempty"`
92781	// Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', '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', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeDelimitedText', 'TypeParquet', 'TypeAmazonS3Object'
92782	Type TypeBasicDataset `json:"type,omitempty"`
92783}
92784
92785// MarshalJSON is the custom marshaler for HubspotObjectDataset.
92786func (hod HubspotObjectDataset) MarshalJSON() ([]byte, error) {
92787	hod.Type = TypeHubspotObject
92788	objectMap := make(map[string]interface{})
92789	if hod.GenericDatasetTypeProperties != nil {
92790		objectMap["typeProperties"] = hod.GenericDatasetTypeProperties
92791	}
92792	if hod.Description != nil {
92793		objectMap["description"] = hod.Description
92794	}
92795	if hod.Structure != nil {
92796		objectMap["structure"] = hod.Structure
92797	}
92798	if hod.Schema != nil {
92799		objectMap["schema"] = hod.Schema
92800	}
92801	if hod.LinkedServiceName != nil {
92802		objectMap["linkedServiceName"] = hod.LinkedServiceName
92803	}
92804	if hod.Parameters != nil {
92805		objectMap["parameters"] = hod.Parameters
92806	}
92807	if hod.Annotations != nil {
92808		objectMap["annotations"] = hod.Annotations
92809	}
92810	if hod.Folder != nil {
92811		objectMap["folder"] = hod.Folder
92812	}
92813	if hod.Type != "" {
92814		objectMap["type"] = hod.Type
92815	}
92816	for k, v := range hod.AdditionalProperties {
92817		objectMap[k] = v
92818	}
92819	return json.Marshal(objectMap)
92820}
92821
92822// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for HubspotObjectDataset.
92823func (hod HubspotObjectDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) {
92824	return nil, false
92825}
92826
92827// AsAzureDataExplorerTableDataset is the BasicDataset implementation for HubspotObjectDataset.
92828func (hod HubspotObjectDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) {
92829	return nil, false
92830}
92831
92832// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for HubspotObjectDataset.
92833func (hod HubspotObjectDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) {
92834	return nil, false
92835}
92836
92837// AsDynamicsAXResourceDataset is the BasicDataset implementation for HubspotObjectDataset.
92838func (hod HubspotObjectDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) {
92839	return nil, false
92840}
92841
92842// AsResponsysObjectDataset is the BasicDataset implementation for HubspotObjectDataset.
92843func (hod HubspotObjectDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
92844	return nil, false
92845}
92846
92847// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for HubspotObjectDataset.
92848func (hod HubspotObjectDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
92849	return nil, false
92850}
92851
92852// AsVerticaTableDataset is the BasicDataset implementation for HubspotObjectDataset.
92853func (hod HubspotObjectDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
92854	return nil, false
92855}
92856
92857// AsNetezzaTableDataset is the BasicDataset implementation for HubspotObjectDataset.
92858func (hod HubspotObjectDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
92859	return nil, false
92860}
92861
92862// AsZohoObjectDataset is the BasicDataset implementation for HubspotObjectDataset.
92863func (hod HubspotObjectDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
92864	return nil, false
92865}
92866
92867// AsXeroObjectDataset is the BasicDataset implementation for HubspotObjectDataset.
92868func (hod HubspotObjectDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
92869	return nil, false
92870}
92871
92872// AsSquareObjectDataset is the BasicDataset implementation for HubspotObjectDataset.
92873func (hod HubspotObjectDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
92874	return nil, false
92875}
92876
92877// AsSparkObjectDataset is the BasicDataset implementation for HubspotObjectDataset.
92878func (hod HubspotObjectDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
92879	return nil, false
92880}
92881
92882// AsShopifyObjectDataset is the BasicDataset implementation for HubspotObjectDataset.
92883func (hod HubspotObjectDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
92884	return nil, false
92885}
92886
92887// AsServiceNowObjectDataset is the BasicDataset implementation for HubspotObjectDataset.
92888func (hod HubspotObjectDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
92889	return nil, false
92890}
92891
92892// AsQuickBooksObjectDataset is the BasicDataset implementation for HubspotObjectDataset.
92893func (hod HubspotObjectDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
92894	return nil, false
92895}
92896
92897// AsPrestoObjectDataset is the BasicDataset implementation for HubspotObjectDataset.
92898func (hod HubspotObjectDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
92899	return nil, false
92900}
92901
92902// AsPhoenixObjectDataset is the BasicDataset implementation for HubspotObjectDataset.
92903func (hod HubspotObjectDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
92904	return nil, false
92905}
92906
92907// AsPaypalObjectDataset is the BasicDataset implementation for HubspotObjectDataset.
92908func (hod HubspotObjectDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
92909	return nil, false
92910}
92911
92912// AsMarketoObjectDataset is the BasicDataset implementation for HubspotObjectDataset.
92913func (hod HubspotObjectDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
92914	return nil, false
92915}
92916
92917// AsMariaDBTableDataset is the BasicDataset implementation for HubspotObjectDataset.
92918func (hod HubspotObjectDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
92919	return nil, false
92920}
92921
92922// AsMagentoObjectDataset is the BasicDataset implementation for HubspotObjectDataset.
92923func (hod HubspotObjectDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
92924	return nil, false
92925}
92926
92927// AsJiraObjectDataset is the BasicDataset implementation for HubspotObjectDataset.
92928func (hod HubspotObjectDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
92929	return nil, false
92930}
92931
92932// AsImpalaObjectDataset is the BasicDataset implementation for HubspotObjectDataset.
92933func (hod HubspotObjectDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
92934	return nil, false
92935}
92936
92937// AsHubspotObjectDataset is the BasicDataset implementation for HubspotObjectDataset.
92938func (hod HubspotObjectDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
92939	return &hod, true
92940}
92941
92942// AsHiveObjectDataset is the BasicDataset implementation for HubspotObjectDataset.
92943func (hod HubspotObjectDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
92944	return nil, false
92945}
92946
92947// AsHBaseObjectDataset is the BasicDataset implementation for HubspotObjectDataset.
92948func (hod HubspotObjectDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
92949	return nil, false
92950}
92951
92952// AsGreenplumTableDataset is the BasicDataset implementation for HubspotObjectDataset.
92953func (hod HubspotObjectDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
92954	return nil, false
92955}
92956
92957// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for HubspotObjectDataset.
92958func (hod HubspotObjectDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
92959	return nil, false
92960}
92961
92962// AsEloquaObjectDataset is the BasicDataset implementation for HubspotObjectDataset.
92963func (hod HubspotObjectDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
92964	return nil, false
92965}
92966
92967// AsDrillTableDataset is the BasicDataset implementation for HubspotObjectDataset.
92968func (hod HubspotObjectDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
92969	return nil, false
92970}
92971
92972// AsCouchbaseTableDataset is the BasicDataset implementation for HubspotObjectDataset.
92973func (hod HubspotObjectDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
92974	return nil, false
92975}
92976
92977// AsConcurObjectDataset is the BasicDataset implementation for HubspotObjectDataset.
92978func (hod HubspotObjectDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
92979	return nil, false
92980}
92981
92982// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for HubspotObjectDataset.
92983func (hod HubspotObjectDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
92984	return nil, false
92985}
92986
92987// AsAmazonMWSObjectDataset is the BasicDataset implementation for HubspotObjectDataset.
92988func (hod HubspotObjectDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
92989	return nil, false
92990}
92991
92992// AsHTTPDataset is the BasicDataset implementation for HubspotObjectDataset.
92993func (hod HubspotObjectDataset) AsHTTPDataset() (*HTTPDataset, bool) {
92994	return nil, false
92995}
92996
92997// AsAzureSearchIndexDataset is the BasicDataset implementation for HubspotObjectDataset.
92998func (hod HubspotObjectDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
92999	return nil, false
93000}
93001
93002// AsWebTableDataset is the BasicDataset implementation for HubspotObjectDataset.
93003func (hod HubspotObjectDataset) AsWebTableDataset() (*WebTableDataset, bool) {
93004	return nil, false
93005}
93006
93007// AsSapTableResourceDataset is the BasicDataset implementation for HubspotObjectDataset.
93008func (hod HubspotObjectDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) {
93009	return nil, false
93010}
93011
93012// AsRestResourceDataset is the BasicDataset implementation for HubspotObjectDataset.
93013func (hod HubspotObjectDataset) AsRestResourceDataset() (*RestResourceDataset, bool) {
93014	return nil, false
93015}
93016
93017// AsSQLServerTableDataset is the BasicDataset implementation for HubspotObjectDataset.
93018func (hod HubspotObjectDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
93019	return nil, false
93020}
93021
93022// AsSapOpenHubTableDataset is the BasicDataset implementation for HubspotObjectDataset.
93023func (hod HubspotObjectDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) {
93024	return nil, false
93025}
93026
93027// AsSapHanaTableDataset is the BasicDataset implementation for HubspotObjectDataset.
93028func (hod HubspotObjectDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) {
93029	return nil, false
93030}
93031
93032// AsSapEccResourceDataset is the BasicDataset implementation for HubspotObjectDataset.
93033func (hod HubspotObjectDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
93034	return nil, false
93035}
93036
93037// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for HubspotObjectDataset.
93038func (hod HubspotObjectDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
93039	return nil, false
93040}
93041
93042// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for HubspotObjectDataset.
93043func (hod HubspotObjectDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) {
93044	return nil, false
93045}
93046
93047// AsSalesforceObjectDataset is the BasicDataset implementation for HubspotObjectDataset.
93048func (hod HubspotObjectDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
93049	return nil, false
93050}
93051
93052// AsMicrosoftAccessTableDataset is the BasicDataset implementation for HubspotObjectDataset.
93053func (hod HubspotObjectDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) {
93054	return nil, false
93055}
93056
93057// AsPostgreSQLTableDataset is the BasicDataset implementation for HubspotObjectDataset.
93058func (hod HubspotObjectDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) {
93059	return nil, false
93060}
93061
93062// AsMySQLTableDataset is the BasicDataset implementation for HubspotObjectDataset.
93063func (hod HubspotObjectDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) {
93064	return nil, false
93065}
93066
93067// AsOdbcTableDataset is the BasicDataset implementation for HubspotObjectDataset.
93068func (hod HubspotObjectDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) {
93069	return nil, false
93070}
93071
93072// AsInformixTableDataset is the BasicDataset implementation for HubspotObjectDataset.
93073func (hod HubspotObjectDataset) AsInformixTableDataset() (*InformixTableDataset, bool) {
93074	return nil, false
93075}
93076
93077// AsRelationalTableDataset is the BasicDataset implementation for HubspotObjectDataset.
93078func (hod HubspotObjectDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
93079	return nil, false
93080}
93081
93082// AsAzureMySQLTableDataset is the BasicDataset implementation for HubspotObjectDataset.
93083func (hod HubspotObjectDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
93084	return nil, false
93085}
93086
93087// AsTeradataTableDataset is the BasicDataset implementation for HubspotObjectDataset.
93088func (hod HubspotObjectDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) {
93089	return nil, false
93090}
93091
93092// AsOracleTableDataset is the BasicDataset implementation for HubspotObjectDataset.
93093func (hod HubspotObjectDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
93094	return nil, false
93095}
93096
93097// AsODataResourceDataset is the BasicDataset implementation for HubspotObjectDataset.
93098func (hod HubspotObjectDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
93099	return nil, false
93100}
93101
93102// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for HubspotObjectDataset.
93103func (hod HubspotObjectDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) {
93104	return nil, false
93105}
93106
93107// AsMongoDbV2CollectionDataset is the BasicDataset implementation for HubspotObjectDataset.
93108func (hod HubspotObjectDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) {
93109	return nil, false
93110}
93111
93112// AsMongoDbCollectionDataset is the BasicDataset implementation for HubspotObjectDataset.
93113func (hod HubspotObjectDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
93114	return nil, false
93115}
93116
93117// AsFileShareDataset is the BasicDataset implementation for HubspotObjectDataset.
93118func (hod HubspotObjectDataset) AsFileShareDataset() (*FileShareDataset, bool) {
93119	return nil, false
93120}
93121
93122// AsOffice365Dataset is the BasicDataset implementation for HubspotObjectDataset.
93123func (hod HubspotObjectDataset) AsOffice365Dataset() (*Office365Dataset, bool) {
93124	return nil, false
93125}
93126
93127// AsAzureBlobFSDataset is the BasicDataset implementation for HubspotObjectDataset.
93128func (hod HubspotObjectDataset) AsAzureBlobFSDataset() (*AzureBlobFSDataset, bool) {
93129	return nil, false
93130}
93131
93132// AsAzureDataLakeStoreDataset is the BasicDataset implementation for HubspotObjectDataset.
93133func (hod HubspotObjectDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) {
93134	return nil, false
93135}
93136
93137// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for HubspotObjectDataset.
93138func (hod HubspotObjectDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) {
93139	return nil, false
93140}
93141
93142// AsDynamicsCrmEntityDataset is the BasicDataset implementation for HubspotObjectDataset.
93143func (hod HubspotObjectDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) {
93144	return nil, false
93145}
93146
93147// AsDynamicsEntityDataset is the BasicDataset implementation for HubspotObjectDataset.
93148func (hod HubspotObjectDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
93149	return nil, false
93150}
93151
93152// AsDocumentDbCollectionDataset is the BasicDataset implementation for HubspotObjectDataset.
93153func (hod HubspotObjectDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
93154	return nil, false
93155}
93156
93157// AsCustomDataset is the BasicDataset implementation for HubspotObjectDataset.
93158func (hod HubspotObjectDataset) AsCustomDataset() (*CustomDataset, bool) {
93159	return nil, false
93160}
93161
93162// AsCassandraTableDataset is the BasicDataset implementation for HubspotObjectDataset.
93163func (hod HubspotObjectDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
93164	return nil, false
93165}
93166
93167// AsAzureSQLDWTableDataset is the BasicDataset implementation for HubspotObjectDataset.
93168func (hod HubspotObjectDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
93169	return nil, false
93170}
93171
93172// AsAzureSQLMITableDataset is the BasicDataset implementation for HubspotObjectDataset.
93173func (hod HubspotObjectDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) {
93174	return nil, false
93175}
93176
93177// AsAzureSQLTableDataset is the BasicDataset implementation for HubspotObjectDataset.
93178func (hod HubspotObjectDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
93179	return nil, false
93180}
93181
93182// AsAzureTableDataset is the BasicDataset implementation for HubspotObjectDataset.
93183func (hod HubspotObjectDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
93184	return nil, false
93185}
93186
93187// AsAzureBlobDataset is the BasicDataset implementation for HubspotObjectDataset.
93188func (hod HubspotObjectDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) {
93189	return nil, false
93190}
93191
93192// AsBinaryDataset is the BasicDataset implementation for HubspotObjectDataset.
93193func (hod HubspotObjectDataset) AsBinaryDataset() (*BinaryDataset, bool) {
93194	return nil, false
93195}
93196
93197// AsDelimitedTextDataset is the BasicDataset implementation for HubspotObjectDataset.
93198func (hod HubspotObjectDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) {
93199	return nil, false
93200}
93201
93202// AsParquetDataset is the BasicDataset implementation for HubspotObjectDataset.
93203func (hod HubspotObjectDataset) AsParquetDataset() (*ParquetDataset, bool) {
93204	return nil, false
93205}
93206
93207// AsAmazonS3Dataset is the BasicDataset implementation for HubspotObjectDataset.
93208func (hod HubspotObjectDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) {
93209	return nil, false
93210}
93211
93212// AsDataset is the BasicDataset implementation for HubspotObjectDataset.
93213func (hod HubspotObjectDataset) AsDataset() (*Dataset, bool) {
93214	return nil, false
93215}
93216
93217// AsBasicDataset is the BasicDataset implementation for HubspotObjectDataset.
93218func (hod HubspotObjectDataset) AsBasicDataset() (BasicDataset, bool) {
93219	return &hod, true
93220}
93221
93222// UnmarshalJSON is the custom unmarshaler for HubspotObjectDataset struct.
93223func (hod *HubspotObjectDataset) UnmarshalJSON(body []byte) error {
93224	var m map[string]*json.RawMessage
93225	err := json.Unmarshal(body, &m)
93226	if err != nil {
93227		return err
93228	}
93229	for k, v := range m {
93230		switch k {
93231		case "typeProperties":
93232			if v != nil {
93233				var genericDatasetTypeProperties GenericDatasetTypeProperties
93234				err = json.Unmarshal(*v, &genericDatasetTypeProperties)
93235				if err != nil {
93236					return err
93237				}
93238				hod.GenericDatasetTypeProperties = &genericDatasetTypeProperties
93239			}
93240		default:
93241			if v != nil {
93242				var additionalProperties interface{}
93243				err = json.Unmarshal(*v, &additionalProperties)
93244				if err != nil {
93245					return err
93246				}
93247				if hod.AdditionalProperties == nil {
93248					hod.AdditionalProperties = make(map[string]interface{})
93249				}
93250				hod.AdditionalProperties[k] = additionalProperties
93251			}
93252		case "description":
93253			if v != nil {
93254				var description string
93255				err = json.Unmarshal(*v, &description)
93256				if err != nil {
93257					return err
93258				}
93259				hod.Description = &description
93260			}
93261		case "structure":
93262			if v != nil {
93263				var structure interface{}
93264				err = json.Unmarshal(*v, &structure)
93265				if err != nil {
93266					return err
93267				}
93268				hod.Structure = structure
93269			}
93270		case "schema":
93271			if v != nil {
93272				var schema interface{}
93273				err = json.Unmarshal(*v, &schema)
93274				if err != nil {
93275					return err
93276				}
93277				hod.Schema = schema
93278			}
93279		case "linkedServiceName":
93280			if v != nil {
93281				var linkedServiceName LinkedServiceReference
93282				err = json.Unmarshal(*v, &linkedServiceName)
93283				if err != nil {
93284					return err
93285				}
93286				hod.LinkedServiceName = &linkedServiceName
93287			}
93288		case "parameters":
93289			if v != nil {
93290				var parameters map[string]*ParameterSpecification
93291				err = json.Unmarshal(*v, &parameters)
93292				if err != nil {
93293					return err
93294				}
93295				hod.Parameters = parameters
93296			}
93297		case "annotations":
93298			if v != nil {
93299				var annotations []interface{}
93300				err = json.Unmarshal(*v, &annotations)
93301				if err != nil {
93302					return err
93303				}
93304				hod.Annotations = &annotations
93305			}
93306		case "folder":
93307			if v != nil {
93308				var folder DatasetFolder
93309				err = json.Unmarshal(*v, &folder)
93310				if err != nil {
93311					return err
93312				}
93313				hod.Folder = &folder
93314			}
93315		case "type":
93316			if v != nil {
93317				var typeVar TypeBasicDataset
93318				err = json.Unmarshal(*v, &typeVar)
93319				if err != nil {
93320					return err
93321				}
93322				hod.Type = typeVar
93323			}
93324		}
93325	}
93326
93327	return nil
93328}
93329
93330// HubspotSource a copy activity Hubspot Service source.
93331type HubspotSource struct {
93332	// Query - A query to retrieve data from source. Type: string (or Expression with resultType string).
93333	Query interface{} `json:"query,omitempty"`
93334	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
93335	AdditionalProperties map[string]interface{} `json:""`
93336	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
93337	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
93338	// 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])).
93339	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
93340	// MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer).
93341	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
93342	// Type - Possible values include: 'TypeCopySource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', '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', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeCassandraSource', 'TypeWebSource', 'TypeTeradataSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeAzureMySQLSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeRestSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceServiceCloudSource', 'TypeSalesforceSource', 'TypeODataSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeMicrosoftAccessSource', 'TypeInformixSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAzureTableSource', 'TypeBinarySource', 'TypeDelimitedTextSource', 'TypeParquetSource'
93343	Type TypeBasicCopySource `json:"type,omitempty"`
93344}
93345
93346// MarshalJSON is the custom marshaler for HubspotSource.
93347func (hs HubspotSource) MarshalJSON() ([]byte, error) {
93348	hs.Type = TypeHubspotSource
93349	objectMap := make(map[string]interface{})
93350	if hs.Query != nil {
93351		objectMap["query"] = hs.Query
93352	}
93353	if hs.SourceRetryCount != nil {
93354		objectMap["sourceRetryCount"] = hs.SourceRetryCount
93355	}
93356	if hs.SourceRetryWait != nil {
93357		objectMap["sourceRetryWait"] = hs.SourceRetryWait
93358	}
93359	if hs.MaxConcurrentConnections != nil {
93360		objectMap["maxConcurrentConnections"] = hs.MaxConcurrentConnections
93361	}
93362	if hs.Type != "" {
93363		objectMap["type"] = hs.Type
93364	}
93365	for k, v := range hs.AdditionalProperties {
93366		objectMap[k] = v
93367	}
93368	return json.Marshal(objectMap)
93369}
93370
93371// AsAmazonRedshiftSource is the BasicCopySource implementation for HubspotSource.
93372func (hs HubspotSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
93373	return nil, false
93374}
93375
93376// AsGoogleAdWordsSource is the BasicCopySource implementation for HubspotSource.
93377func (hs HubspotSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) {
93378	return nil, false
93379}
93380
93381// AsOracleServiceCloudSource is the BasicCopySource implementation for HubspotSource.
93382func (hs HubspotSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) {
93383	return nil, false
93384}
93385
93386// AsDynamicsAXSource is the BasicCopySource implementation for HubspotSource.
93387func (hs HubspotSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) {
93388	return nil, false
93389}
93390
93391// AsResponsysSource is the BasicCopySource implementation for HubspotSource.
93392func (hs HubspotSource) AsResponsysSource() (*ResponsysSource, bool) {
93393	return nil, false
93394}
93395
93396// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for HubspotSource.
93397func (hs HubspotSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
93398	return nil, false
93399}
93400
93401// AsVerticaSource is the BasicCopySource implementation for HubspotSource.
93402func (hs HubspotSource) AsVerticaSource() (*VerticaSource, bool) {
93403	return nil, false
93404}
93405
93406// AsNetezzaSource is the BasicCopySource implementation for HubspotSource.
93407func (hs HubspotSource) AsNetezzaSource() (*NetezzaSource, bool) {
93408	return nil, false
93409}
93410
93411// AsZohoSource is the BasicCopySource implementation for HubspotSource.
93412func (hs HubspotSource) AsZohoSource() (*ZohoSource, bool) {
93413	return nil, false
93414}
93415
93416// AsXeroSource is the BasicCopySource implementation for HubspotSource.
93417func (hs HubspotSource) AsXeroSource() (*XeroSource, bool) {
93418	return nil, false
93419}
93420
93421// AsSquareSource is the BasicCopySource implementation for HubspotSource.
93422func (hs HubspotSource) AsSquareSource() (*SquareSource, bool) {
93423	return nil, false
93424}
93425
93426// AsSparkSource is the BasicCopySource implementation for HubspotSource.
93427func (hs HubspotSource) AsSparkSource() (*SparkSource, bool) {
93428	return nil, false
93429}
93430
93431// AsShopifySource is the BasicCopySource implementation for HubspotSource.
93432func (hs HubspotSource) AsShopifySource() (*ShopifySource, bool) {
93433	return nil, false
93434}
93435
93436// AsServiceNowSource is the BasicCopySource implementation for HubspotSource.
93437func (hs HubspotSource) AsServiceNowSource() (*ServiceNowSource, bool) {
93438	return nil, false
93439}
93440
93441// AsQuickBooksSource is the BasicCopySource implementation for HubspotSource.
93442func (hs HubspotSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
93443	return nil, false
93444}
93445
93446// AsPrestoSource is the BasicCopySource implementation for HubspotSource.
93447func (hs HubspotSource) AsPrestoSource() (*PrestoSource, bool) {
93448	return nil, false
93449}
93450
93451// AsPhoenixSource is the BasicCopySource implementation for HubspotSource.
93452func (hs HubspotSource) AsPhoenixSource() (*PhoenixSource, bool) {
93453	return nil, false
93454}
93455
93456// AsPaypalSource is the BasicCopySource implementation for HubspotSource.
93457func (hs HubspotSource) AsPaypalSource() (*PaypalSource, bool) {
93458	return nil, false
93459}
93460
93461// AsMarketoSource is the BasicCopySource implementation for HubspotSource.
93462func (hs HubspotSource) AsMarketoSource() (*MarketoSource, bool) {
93463	return nil, false
93464}
93465
93466// AsMariaDBSource is the BasicCopySource implementation for HubspotSource.
93467func (hs HubspotSource) AsMariaDBSource() (*MariaDBSource, bool) {
93468	return nil, false
93469}
93470
93471// AsMagentoSource is the BasicCopySource implementation for HubspotSource.
93472func (hs HubspotSource) AsMagentoSource() (*MagentoSource, bool) {
93473	return nil, false
93474}
93475
93476// AsJiraSource is the BasicCopySource implementation for HubspotSource.
93477func (hs HubspotSource) AsJiraSource() (*JiraSource, bool) {
93478	return nil, false
93479}
93480
93481// AsImpalaSource is the BasicCopySource implementation for HubspotSource.
93482func (hs HubspotSource) AsImpalaSource() (*ImpalaSource, bool) {
93483	return nil, false
93484}
93485
93486// AsHubspotSource is the BasicCopySource implementation for HubspotSource.
93487func (hs HubspotSource) AsHubspotSource() (*HubspotSource, bool) {
93488	return &hs, true
93489}
93490
93491// AsHiveSource is the BasicCopySource implementation for HubspotSource.
93492func (hs HubspotSource) AsHiveSource() (*HiveSource, bool) {
93493	return nil, false
93494}
93495
93496// AsHBaseSource is the BasicCopySource implementation for HubspotSource.
93497func (hs HubspotSource) AsHBaseSource() (*HBaseSource, bool) {
93498	return nil, false
93499}
93500
93501// AsGreenplumSource is the BasicCopySource implementation for HubspotSource.
93502func (hs HubspotSource) AsGreenplumSource() (*GreenplumSource, bool) {
93503	return nil, false
93504}
93505
93506// AsGoogleBigQuerySource is the BasicCopySource implementation for HubspotSource.
93507func (hs HubspotSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
93508	return nil, false
93509}
93510
93511// AsEloquaSource is the BasicCopySource implementation for HubspotSource.
93512func (hs HubspotSource) AsEloquaSource() (*EloquaSource, bool) {
93513	return nil, false
93514}
93515
93516// AsDrillSource is the BasicCopySource implementation for HubspotSource.
93517func (hs HubspotSource) AsDrillSource() (*DrillSource, bool) {
93518	return nil, false
93519}
93520
93521// AsCouchbaseSource is the BasicCopySource implementation for HubspotSource.
93522func (hs HubspotSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
93523	return nil, false
93524}
93525
93526// AsConcurSource is the BasicCopySource implementation for HubspotSource.
93527func (hs HubspotSource) AsConcurSource() (*ConcurSource, bool) {
93528	return nil, false
93529}
93530
93531// AsAzurePostgreSQLSource is the BasicCopySource implementation for HubspotSource.
93532func (hs HubspotSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
93533	return nil, false
93534}
93535
93536// AsAmazonMWSSource is the BasicCopySource implementation for HubspotSource.
93537func (hs HubspotSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
93538	return nil, false
93539}
93540
93541// AsHTTPSource is the BasicCopySource implementation for HubspotSource.
93542func (hs HubspotSource) AsHTTPSource() (*HTTPSource, bool) {
93543	return nil, false
93544}
93545
93546// AsAzureBlobFSSource is the BasicCopySource implementation for HubspotSource.
93547func (hs HubspotSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) {
93548	return nil, false
93549}
93550
93551// AsAzureDataLakeStoreSource is the BasicCopySource implementation for HubspotSource.
93552func (hs HubspotSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
93553	return nil, false
93554}
93555
93556// AsOffice365Source is the BasicCopySource implementation for HubspotSource.
93557func (hs HubspotSource) AsOffice365Source() (*Office365Source, bool) {
93558	return nil, false
93559}
93560
93561// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for HubspotSource.
93562func (hs HubspotSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) {
93563	return nil, false
93564}
93565
93566// AsMongoDbV2Source is the BasicCopySource implementation for HubspotSource.
93567func (hs HubspotSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) {
93568	return nil, false
93569}
93570
93571// AsMongoDbSource is the BasicCopySource implementation for HubspotSource.
93572func (hs HubspotSource) AsMongoDbSource() (*MongoDbSource, bool) {
93573	return nil, false
93574}
93575
93576// AsCassandraSource is the BasicCopySource implementation for HubspotSource.
93577func (hs HubspotSource) AsCassandraSource() (*CassandraSource, bool) {
93578	return nil, false
93579}
93580
93581// AsWebSource is the BasicCopySource implementation for HubspotSource.
93582func (hs HubspotSource) AsWebSource() (*WebSource, bool) {
93583	return nil, false
93584}
93585
93586// AsTeradataSource is the BasicCopySource implementation for HubspotSource.
93587func (hs HubspotSource) AsTeradataSource() (*TeradataSource, bool) {
93588	return nil, false
93589}
93590
93591// AsOracleSource is the BasicCopySource implementation for HubspotSource.
93592func (hs HubspotSource) AsOracleSource() (*OracleSource, bool) {
93593	return nil, false
93594}
93595
93596// AsAzureDataExplorerSource is the BasicCopySource implementation for HubspotSource.
93597func (hs HubspotSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) {
93598	return nil, false
93599}
93600
93601// AsAzureMySQLSource is the BasicCopySource implementation for HubspotSource.
93602func (hs HubspotSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
93603	return nil, false
93604}
93605
93606// AsHdfsSource is the BasicCopySource implementation for HubspotSource.
93607func (hs HubspotSource) AsHdfsSource() (*HdfsSource, bool) {
93608	return nil, false
93609}
93610
93611// AsFileSystemSource is the BasicCopySource implementation for HubspotSource.
93612func (hs HubspotSource) AsFileSystemSource() (*FileSystemSource, bool) {
93613	return nil, false
93614}
93615
93616// AsSQLDWSource is the BasicCopySource implementation for HubspotSource.
93617func (hs HubspotSource) AsSQLDWSource() (*SQLDWSource, bool) {
93618	return nil, false
93619}
93620
93621// AsSQLMISource is the BasicCopySource implementation for HubspotSource.
93622func (hs HubspotSource) AsSQLMISource() (*SQLMISource, bool) {
93623	return nil, false
93624}
93625
93626// AsAzureSQLSource is the BasicCopySource implementation for HubspotSource.
93627func (hs HubspotSource) AsAzureSQLSource() (*AzureSQLSource, bool) {
93628	return nil, false
93629}
93630
93631// AsSQLServerSource is the BasicCopySource implementation for HubspotSource.
93632func (hs HubspotSource) AsSQLServerSource() (*SQLServerSource, bool) {
93633	return nil, false
93634}
93635
93636// AsSQLSource is the BasicCopySource implementation for HubspotSource.
93637func (hs HubspotSource) AsSQLSource() (*SQLSource, bool) {
93638	return nil, false
93639}
93640
93641// AsRestSource is the BasicCopySource implementation for HubspotSource.
93642func (hs HubspotSource) AsRestSource() (*RestSource, bool) {
93643	return nil, false
93644}
93645
93646// AsSapTableSource is the BasicCopySource implementation for HubspotSource.
93647func (hs HubspotSource) AsSapTableSource() (*SapTableSource, bool) {
93648	return nil, false
93649}
93650
93651// AsSapOpenHubSource is the BasicCopySource implementation for HubspotSource.
93652func (hs HubspotSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) {
93653	return nil, false
93654}
93655
93656// AsSapHanaSource is the BasicCopySource implementation for HubspotSource.
93657func (hs HubspotSource) AsSapHanaSource() (*SapHanaSource, bool) {
93658	return nil, false
93659}
93660
93661// AsSapEccSource is the BasicCopySource implementation for HubspotSource.
93662func (hs HubspotSource) AsSapEccSource() (*SapEccSource, bool) {
93663	return nil, false
93664}
93665
93666// AsSapCloudForCustomerSource is the BasicCopySource implementation for HubspotSource.
93667func (hs HubspotSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
93668	return nil, false
93669}
93670
93671// AsSalesforceServiceCloudSource is the BasicCopySource implementation for HubspotSource.
93672func (hs HubspotSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) {
93673	return nil, false
93674}
93675
93676// AsSalesforceSource is the BasicCopySource implementation for HubspotSource.
93677func (hs HubspotSource) AsSalesforceSource() (*SalesforceSource, bool) {
93678	return nil, false
93679}
93680
93681// AsODataSource is the BasicCopySource implementation for HubspotSource.
93682func (hs HubspotSource) AsODataSource() (*ODataSource, bool) {
93683	return nil, false
93684}
93685
93686// AsSybaseSource is the BasicCopySource implementation for HubspotSource.
93687func (hs HubspotSource) AsSybaseSource() (*SybaseSource, bool) {
93688	return nil, false
93689}
93690
93691// AsPostgreSQLSource is the BasicCopySource implementation for HubspotSource.
93692func (hs HubspotSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) {
93693	return nil, false
93694}
93695
93696// AsMySQLSource is the BasicCopySource implementation for HubspotSource.
93697func (hs HubspotSource) AsMySQLSource() (*MySQLSource, bool) {
93698	return nil, false
93699}
93700
93701// AsOdbcSource is the BasicCopySource implementation for HubspotSource.
93702func (hs HubspotSource) AsOdbcSource() (*OdbcSource, bool) {
93703	return nil, false
93704}
93705
93706// AsDb2Source is the BasicCopySource implementation for HubspotSource.
93707func (hs HubspotSource) AsDb2Source() (*Db2Source, bool) {
93708	return nil, false
93709}
93710
93711// AsMicrosoftAccessSource is the BasicCopySource implementation for HubspotSource.
93712func (hs HubspotSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) {
93713	return nil, false
93714}
93715
93716// AsInformixSource is the BasicCopySource implementation for HubspotSource.
93717func (hs HubspotSource) AsInformixSource() (*InformixSource, bool) {
93718	return nil, false
93719}
93720
93721// AsRelationalSource is the BasicCopySource implementation for HubspotSource.
93722func (hs HubspotSource) AsRelationalSource() (*RelationalSource, bool) {
93723	return nil, false
93724}
93725
93726// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for HubspotSource.
93727func (hs HubspotSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) {
93728	return nil, false
93729}
93730
93731// AsDynamicsCrmSource is the BasicCopySource implementation for HubspotSource.
93732func (hs HubspotSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) {
93733	return nil, false
93734}
93735
93736// AsDynamicsSource is the BasicCopySource implementation for HubspotSource.
93737func (hs HubspotSource) AsDynamicsSource() (*DynamicsSource, bool) {
93738	return nil, false
93739}
93740
93741// AsDocumentDbCollectionSource is the BasicCopySource implementation for HubspotSource.
93742func (hs HubspotSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
93743	return nil, false
93744}
93745
93746// AsBlobSource is the BasicCopySource implementation for HubspotSource.
93747func (hs HubspotSource) AsBlobSource() (*BlobSource, bool) {
93748	return nil, false
93749}
93750
93751// AsAzureTableSource is the BasicCopySource implementation for HubspotSource.
93752func (hs HubspotSource) AsAzureTableSource() (*AzureTableSource, bool) {
93753	return nil, false
93754}
93755
93756// AsBinarySource is the BasicCopySource implementation for HubspotSource.
93757func (hs HubspotSource) AsBinarySource() (*BinarySource, bool) {
93758	return nil, false
93759}
93760
93761// AsDelimitedTextSource is the BasicCopySource implementation for HubspotSource.
93762func (hs HubspotSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) {
93763	return nil, false
93764}
93765
93766// AsParquetSource is the BasicCopySource implementation for HubspotSource.
93767func (hs HubspotSource) AsParquetSource() (*ParquetSource, bool) {
93768	return nil, false
93769}
93770
93771// AsCopySource is the BasicCopySource implementation for HubspotSource.
93772func (hs HubspotSource) AsCopySource() (*CopySource, bool) {
93773	return nil, false
93774}
93775
93776// AsBasicCopySource is the BasicCopySource implementation for HubspotSource.
93777func (hs HubspotSource) AsBasicCopySource() (BasicCopySource, bool) {
93778	return &hs, true
93779}
93780
93781// UnmarshalJSON is the custom unmarshaler for HubspotSource struct.
93782func (hs *HubspotSource) UnmarshalJSON(body []byte) error {
93783	var m map[string]*json.RawMessage
93784	err := json.Unmarshal(body, &m)
93785	if err != nil {
93786		return err
93787	}
93788	for k, v := range m {
93789		switch k {
93790		case "query":
93791			if v != nil {
93792				var query interface{}
93793				err = json.Unmarshal(*v, &query)
93794				if err != nil {
93795					return err
93796				}
93797				hs.Query = query
93798			}
93799		default:
93800			if v != nil {
93801				var additionalProperties interface{}
93802				err = json.Unmarshal(*v, &additionalProperties)
93803				if err != nil {
93804					return err
93805				}
93806				if hs.AdditionalProperties == nil {
93807					hs.AdditionalProperties = make(map[string]interface{})
93808				}
93809				hs.AdditionalProperties[k] = additionalProperties
93810			}
93811		case "sourceRetryCount":
93812			if v != nil {
93813				var sourceRetryCount interface{}
93814				err = json.Unmarshal(*v, &sourceRetryCount)
93815				if err != nil {
93816					return err
93817				}
93818				hs.SourceRetryCount = sourceRetryCount
93819			}
93820		case "sourceRetryWait":
93821			if v != nil {
93822				var sourceRetryWait interface{}
93823				err = json.Unmarshal(*v, &sourceRetryWait)
93824				if err != nil {
93825					return err
93826				}
93827				hs.SourceRetryWait = sourceRetryWait
93828			}
93829		case "maxConcurrentConnections":
93830			if v != nil {
93831				var maxConcurrentConnections interface{}
93832				err = json.Unmarshal(*v, &maxConcurrentConnections)
93833				if err != nil {
93834					return err
93835				}
93836				hs.MaxConcurrentConnections = maxConcurrentConnections
93837			}
93838		case "type":
93839			if v != nil {
93840				var typeVar TypeBasicCopySource
93841				err = json.Unmarshal(*v, &typeVar)
93842				if err != nil {
93843					return err
93844				}
93845				hs.Type = typeVar
93846			}
93847		}
93848	}
93849
93850	return nil
93851}
93852
93853// IfConditionActivity this activity evaluates a boolean expression and executes either the activities
93854// under the ifTrueActivities property or the ifFalseActivities property depending on the result of the
93855// expression.
93856type IfConditionActivity struct {
93857	// IfConditionActivityTypeProperties - IfCondition activity properties.
93858	*IfConditionActivityTypeProperties `json:"typeProperties,omitempty"`
93859	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
93860	AdditionalProperties map[string]interface{} `json:""`
93861	// Name - Activity name.
93862	Name *string `json:"name,omitempty"`
93863	// Description - Activity description.
93864	Description *string `json:"description,omitempty"`
93865	// DependsOn - Activity depends on condition.
93866	DependsOn *[]ActivityDependency `json:"dependsOn,omitempty"`
93867	// UserProperties - Activity user properties.
93868	UserProperties *[]UserProperty `json:"userProperties,omitempty"`
93869	// Type - Possible values include: 'TypeActivity', 'TypeAzureFunctionActivity', 'TypeDatabricksSparkPython', 'TypeDatabricksSparkJar', 'TypeDatabricksNotebook', 'TypeDataLakeAnalyticsUSQL', 'TypeAzureMLUpdateResource', 'TypeAzureMLBatchExecution', 'TypeGetMetadata', 'TypeWebActivity', 'TypeLookup', 'TypeAzureDataExplorerCommand', 'TypeDelete', 'TypeSQLServerStoredProcedure', 'TypeCustom', 'TypeExecuteSSISPackage', 'TypeHDInsightSpark', 'TypeHDInsightStreaming', 'TypeHDInsightMapReduce', 'TypeHDInsightPig', 'TypeHDInsightHive', 'TypeCopy', 'TypeExecution', 'TypeWebHook', 'TypeAppendVariable', 'TypeSetVariable', 'TypeFilter', 'TypeValidation', 'TypeUntil', 'TypeWait', 'TypeForEach', 'TypeIfCondition', 'TypeExecutePipeline', 'TypeContainer'
93870	Type TypeBasicActivity `json:"type,omitempty"`
93871}
93872
93873// MarshalJSON is the custom marshaler for IfConditionActivity.
93874func (ica IfConditionActivity) MarshalJSON() ([]byte, error) {
93875	ica.Type = TypeIfCondition
93876	objectMap := make(map[string]interface{})
93877	if ica.IfConditionActivityTypeProperties != nil {
93878		objectMap["typeProperties"] = ica.IfConditionActivityTypeProperties
93879	}
93880	if ica.Name != nil {
93881		objectMap["name"] = ica.Name
93882	}
93883	if ica.Description != nil {
93884		objectMap["description"] = ica.Description
93885	}
93886	if ica.DependsOn != nil {
93887		objectMap["dependsOn"] = ica.DependsOn
93888	}
93889	if ica.UserProperties != nil {
93890		objectMap["userProperties"] = ica.UserProperties
93891	}
93892	if ica.Type != "" {
93893		objectMap["type"] = ica.Type
93894	}
93895	for k, v := range ica.AdditionalProperties {
93896		objectMap[k] = v
93897	}
93898	return json.Marshal(objectMap)
93899}
93900
93901// AsAzureFunctionActivity is the BasicActivity implementation for IfConditionActivity.
93902func (ica IfConditionActivity) AsAzureFunctionActivity() (*AzureFunctionActivity, bool) {
93903	return nil, false
93904}
93905
93906// AsDatabricksSparkPythonActivity is the BasicActivity implementation for IfConditionActivity.
93907func (ica IfConditionActivity) AsDatabricksSparkPythonActivity() (*DatabricksSparkPythonActivity, bool) {
93908	return nil, false
93909}
93910
93911// AsDatabricksSparkJarActivity is the BasicActivity implementation for IfConditionActivity.
93912func (ica IfConditionActivity) AsDatabricksSparkJarActivity() (*DatabricksSparkJarActivity, bool) {
93913	return nil, false
93914}
93915
93916// AsDatabricksNotebookActivity is the BasicActivity implementation for IfConditionActivity.
93917func (ica IfConditionActivity) AsDatabricksNotebookActivity() (*DatabricksNotebookActivity, bool) {
93918	return nil, false
93919}
93920
93921// AsDataLakeAnalyticsUSQLActivity is the BasicActivity implementation for IfConditionActivity.
93922func (ica IfConditionActivity) AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalyticsUSQLActivity, bool) {
93923	return nil, false
93924}
93925
93926// AsAzureMLUpdateResourceActivity is the BasicActivity implementation for IfConditionActivity.
93927func (ica IfConditionActivity) AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool) {
93928	return nil, false
93929}
93930
93931// AsAzureMLBatchExecutionActivity is the BasicActivity implementation for IfConditionActivity.
93932func (ica IfConditionActivity) AsAzureMLBatchExecutionActivity() (*AzureMLBatchExecutionActivity, bool) {
93933	return nil, false
93934}
93935
93936// AsGetMetadataActivity is the BasicActivity implementation for IfConditionActivity.
93937func (ica IfConditionActivity) AsGetMetadataActivity() (*GetMetadataActivity, bool) {
93938	return nil, false
93939}
93940
93941// AsWebActivity is the BasicActivity implementation for IfConditionActivity.
93942func (ica IfConditionActivity) AsWebActivity() (*WebActivity, bool) {
93943	return nil, false
93944}
93945
93946// AsLookupActivity is the BasicActivity implementation for IfConditionActivity.
93947func (ica IfConditionActivity) AsLookupActivity() (*LookupActivity, bool) {
93948	return nil, false
93949}
93950
93951// AsAzureDataExplorerCommandActivity is the BasicActivity implementation for IfConditionActivity.
93952func (ica IfConditionActivity) AsAzureDataExplorerCommandActivity() (*AzureDataExplorerCommandActivity, bool) {
93953	return nil, false
93954}
93955
93956// AsDeleteActivity is the BasicActivity implementation for IfConditionActivity.
93957func (ica IfConditionActivity) AsDeleteActivity() (*DeleteActivity, bool) {
93958	return nil, false
93959}
93960
93961// AsSQLServerStoredProcedureActivity is the BasicActivity implementation for IfConditionActivity.
93962func (ica IfConditionActivity) AsSQLServerStoredProcedureActivity() (*SQLServerStoredProcedureActivity, bool) {
93963	return nil, false
93964}
93965
93966// AsCustomActivity is the BasicActivity implementation for IfConditionActivity.
93967func (ica IfConditionActivity) AsCustomActivity() (*CustomActivity, bool) {
93968	return nil, false
93969}
93970
93971// AsExecuteSSISPackageActivity is the BasicActivity implementation for IfConditionActivity.
93972func (ica IfConditionActivity) AsExecuteSSISPackageActivity() (*ExecuteSSISPackageActivity, bool) {
93973	return nil, false
93974}
93975
93976// AsHDInsightSparkActivity is the BasicActivity implementation for IfConditionActivity.
93977func (ica IfConditionActivity) AsHDInsightSparkActivity() (*HDInsightSparkActivity, bool) {
93978	return nil, false
93979}
93980
93981// AsHDInsightStreamingActivity is the BasicActivity implementation for IfConditionActivity.
93982func (ica IfConditionActivity) AsHDInsightStreamingActivity() (*HDInsightStreamingActivity, bool) {
93983	return nil, false
93984}
93985
93986// AsHDInsightMapReduceActivity is the BasicActivity implementation for IfConditionActivity.
93987func (ica IfConditionActivity) AsHDInsightMapReduceActivity() (*HDInsightMapReduceActivity, bool) {
93988	return nil, false
93989}
93990
93991// AsHDInsightPigActivity is the BasicActivity implementation for IfConditionActivity.
93992func (ica IfConditionActivity) AsHDInsightPigActivity() (*HDInsightPigActivity, bool) {
93993	return nil, false
93994}
93995
93996// AsHDInsightHiveActivity is the BasicActivity implementation for IfConditionActivity.
93997func (ica IfConditionActivity) AsHDInsightHiveActivity() (*HDInsightHiveActivity, bool) {
93998	return nil, false
93999}
94000
94001// AsCopyActivity is the BasicActivity implementation for IfConditionActivity.
94002func (ica IfConditionActivity) AsCopyActivity() (*CopyActivity, bool) {
94003	return nil, false
94004}
94005
94006// AsExecutionActivity is the BasicActivity implementation for IfConditionActivity.
94007func (ica IfConditionActivity) AsExecutionActivity() (*ExecutionActivity, bool) {
94008	return nil, false
94009}
94010
94011// AsBasicExecutionActivity is the BasicActivity implementation for IfConditionActivity.
94012func (ica IfConditionActivity) AsBasicExecutionActivity() (BasicExecutionActivity, bool) {
94013	return nil, false
94014}
94015
94016// AsWebHookActivity is the BasicActivity implementation for IfConditionActivity.
94017func (ica IfConditionActivity) AsWebHookActivity() (*WebHookActivity, bool) {
94018	return nil, false
94019}
94020
94021// AsAppendVariableActivity is the BasicActivity implementation for IfConditionActivity.
94022func (ica IfConditionActivity) AsAppendVariableActivity() (*AppendVariableActivity, bool) {
94023	return nil, false
94024}
94025
94026// AsSetVariableActivity is the BasicActivity implementation for IfConditionActivity.
94027func (ica IfConditionActivity) AsSetVariableActivity() (*SetVariableActivity, bool) {
94028	return nil, false
94029}
94030
94031// AsFilterActivity is the BasicActivity implementation for IfConditionActivity.
94032func (ica IfConditionActivity) AsFilterActivity() (*FilterActivity, bool) {
94033	return nil, false
94034}
94035
94036// AsValidationActivity is the BasicActivity implementation for IfConditionActivity.
94037func (ica IfConditionActivity) AsValidationActivity() (*ValidationActivity, bool) {
94038	return nil, false
94039}
94040
94041// AsUntilActivity is the BasicActivity implementation for IfConditionActivity.
94042func (ica IfConditionActivity) AsUntilActivity() (*UntilActivity, bool) {
94043	return nil, false
94044}
94045
94046// AsWaitActivity is the BasicActivity implementation for IfConditionActivity.
94047func (ica IfConditionActivity) AsWaitActivity() (*WaitActivity, bool) {
94048	return nil, false
94049}
94050
94051// AsForEachActivity is the BasicActivity implementation for IfConditionActivity.
94052func (ica IfConditionActivity) AsForEachActivity() (*ForEachActivity, bool) {
94053	return nil, false
94054}
94055
94056// AsIfConditionActivity is the BasicActivity implementation for IfConditionActivity.
94057func (ica IfConditionActivity) AsIfConditionActivity() (*IfConditionActivity, bool) {
94058	return &ica, true
94059}
94060
94061// AsExecutePipelineActivity is the BasicActivity implementation for IfConditionActivity.
94062func (ica IfConditionActivity) AsExecutePipelineActivity() (*ExecutePipelineActivity, bool) {
94063	return nil, false
94064}
94065
94066// AsControlActivity is the BasicActivity implementation for IfConditionActivity.
94067func (ica IfConditionActivity) AsControlActivity() (*ControlActivity, bool) {
94068	return nil, false
94069}
94070
94071// AsBasicControlActivity is the BasicActivity implementation for IfConditionActivity.
94072func (ica IfConditionActivity) AsBasicControlActivity() (BasicControlActivity, bool) {
94073	return &ica, true
94074}
94075
94076// AsActivity is the BasicActivity implementation for IfConditionActivity.
94077func (ica IfConditionActivity) AsActivity() (*Activity, bool) {
94078	return nil, false
94079}
94080
94081// AsBasicActivity is the BasicActivity implementation for IfConditionActivity.
94082func (ica IfConditionActivity) AsBasicActivity() (BasicActivity, bool) {
94083	return &ica, true
94084}
94085
94086// UnmarshalJSON is the custom unmarshaler for IfConditionActivity struct.
94087func (ica *IfConditionActivity) UnmarshalJSON(body []byte) error {
94088	var m map[string]*json.RawMessage
94089	err := json.Unmarshal(body, &m)
94090	if err != nil {
94091		return err
94092	}
94093	for k, v := range m {
94094		switch k {
94095		case "typeProperties":
94096			if v != nil {
94097				var ifConditionActivityTypeProperties IfConditionActivityTypeProperties
94098				err = json.Unmarshal(*v, &ifConditionActivityTypeProperties)
94099				if err != nil {
94100					return err
94101				}
94102				ica.IfConditionActivityTypeProperties = &ifConditionActivityTypeProperties
94103			}
94104		default:
94105			if v != nil {
94106				var additionalProperties interface{}
94107				err = json.Unmarshal(*v, &additionalProperties)
94108				if err != nil {
94109					return err
94110				}
94111				if ica.AdditionalProperties == nil {
94112					ica.AdditionalProperties = make(map[string]interface{})
94113				}
94114				ica.AdditionalProperties[k] = additionalProperties
94115			}
94116		case "name":
94117			if v != nil {
94118				var name string
94119				err = json.Unmarshal(*v, &name)
94120				if err != nil {
94121					return err
94122				}
94123				ica.Name = &name
94124			}
94125		case "description":
94126			if v != nil {
94127				var description string
94128				err = json.Unmarshal(*v, &description)
94129				if err != nil {
94130					return err
94131				}
94132				ica.Description = &description
94133			}
94134		case "dependsOn":
94135			if v != nil {
94136				var dependsOn []ActivityDependency
94137				err = json.Unmarshal(*v, &dependsOn)
94138				if err != nil {
94139					return err
94140				}
94141				ica.DependsOn = &dependsOn
94142			}
94143		case "userProperties":
94144			if v != nil {
94145				var userProperties []UserProperty
94146				err = json.Unmarshal(*v, &userProperties)
94147				if err != nil {
94148					return err
94149				}
94150				ica.UserProperties = &userProperties
94151			}
94152		case "type":
94153			if v != nil {
94154				var typeVar TypeBasicActivity
94155				err = json.Unmarshal(*v, &typeVar)
94156				if err != nil {
94157					return err
94158				}
94159				ica.Type = typeVar
94160			}
94161		}
94162	}
94163
94164	return nil
94165}
94166
94167// IfConditionActivityTypeProperties ifCondition activity properties.
94168type IfConditionActivityTypeProperties struct {
94169	// Expression - An expression that would evaluate to Boolean. This is used to determine the block of activities (ifTrueActivities or ifFalseActivities) that will be executed.
94170	Expression *Expression `json:"expression,omitempty"`
94171	// 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.
94172	IfTrueActivities *[]BasicActivity `json:"ifTrueActivities,omitempty"`
94173	// 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.
94174	IfFalseActivities *[]BasicActivity `json:"ifFalseActivities,omitempty"`
94175}
94176
94177// UnmarshalJSON is the custom unmarshaler for IfConditionActivityTypeProperties struct.
94178func (icatp *IfConditionActivityTypeProperties) UnmarshalJSON(body []byte) error {
94179	var m map[string]*json.RawMessage
94180	err := json.Unmarshal(body, &m)
94181	if err != nil {
94182		return err
94183	}
94184	for k, v := range m {
94185		switch k {
94186		case "expression":
94187			if v != nil {
94188				var expression Expression
94189				err = json.Unmarshal(*v, &expression)
94190				if err != nil {
94191					return err
94192				}
94193				icatp.Expression = &expression
94194			}
94195		case "ifTrueActivities":
94196			if v != nil {
94197				ifTrueActivities, err := unmarshalBasicActivityArray(*v)
94198				if err != nil {
94199					return err
94200				}
94201				icatp.IfTrueActivities = &ifTrueActivities
94202			}
94203		case "ifFalseActivities":
94204			if v != nil {
94205				ifFalseActivities, err := unmarshalBasicActivityArray(*v)
94206				if err != nil {
94207					return err
94208				}
94209				icatp.IfFalseActivities = &ifFalseActivities
94210			}
94211		}
94212	}
94213
94214	return nil
94215}
94216
94217// ImpalaLinkedService impala server linked service.
94218type ImpalaLinkedService struct {
94219	// ImpalaLinkedServiceTypeProperties - Impala server linked service properties.
94220	*ImpalaLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
94221	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
94222	AdditionalProperties map[string]interface{} `json:""`
94223	// ConnectVia - The integration runtime reference.
94224	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
94225	// Description - Linked service description.
94226	Description *string `json:"description,omitempty"`
94227	// Parameters - Parameters for linked service.
94228	Parameters map[string]*ParameterSpecification `json:"parameters"`
94229	// Annotations - List of tags that can be used for describing the linked service.
94230	Annotations *[]interface{} `json:"annotations,omitempty"`
94231	// Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', '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', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage'
94232	Type TypeBasicLinkedService `json:"type,omitempty"`
94233}
94234
94235// MarshalJSON is the custom marshaler for ImpalaLinkedService.
94236func (ils ImpalaLinkedService) MarshalJSON() ([]byte, error) {
94237	ils.Type = TypeImpala
94238	objectMap := make(map[string]interface{})
94239	if ils.ImpalaLinkedServiceTypeProperties != nil {
94240		objectMap["typeProperties"] = ils.ImpalaLinkedServiceTypeProperties
94241	}
94242	if ils.ConnectVia != nil {
94243		objectMap["connectVia"] = ils.ConnectVia
94244	}
94245	if ils.Description != nil {
94246		objectMap["description"] = ils.Description
94247	}
94248	if ils.Parameters != nil {
94249		objectMap["parameters"] = ils.Parameters
94250	}
94251	if ils.Annotations != nil {
94252		objectMap["annotations"] = ils.Annotations
94253	}
94254	if ils.Type != "" {
94255		objectMap["type"] = ils.Type
94256	}
94257	for k, v := range ils.AdditionalProperties {
94258		objectMap[k] = v
94259	}
94260	return json.Marshal(objectMap)
94261}
94262
94263// AsAzureFunctionLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
94264func (ils ImpalaLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) {
94265	return nil, false
94266}
94267
94268// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
94269func (ils ImpalaLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) {
94270	return nil, false
94271}
94272
94273// AsSapTableLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
94274func (ils ImpalaLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) {
94275	return nil, false
94276}
94277
94278// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
94279func (ils ImpalaLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) {
94280	return nil, false
94281}
94282
94283// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
94284func (ils ImpalaLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) {
94285	return nil, false
94286}
94287
94288// AsDynamicsAXLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
94289func (ils ImpalaLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) {
94290	return nil, false
94291}
94292
94293// AsResponsysLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
94294func (ils ImpalaLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
94295	return nil, false
94296}
94297
94298// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
94299func (ils ImpalaLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
94300	return nil, false
94301}
94302
94303// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
94304func (ils ImpalaLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
94305	return nil, false
94306}
94307
94308// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
94309func (ils ImpalaLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
94310	return nil, false
94311}
94312
94313// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
94314func (ils ImpalaLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
94315	return nil, false
94316}
94317
94318// AsNetezzaLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
94319func (ils ImpalaLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
94320	return nil, false
94321}
94322
94323// AsVerticaLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
94324func (ils ImpalaLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
94325	return nil, false
94326}
94327
94328// AsZohoLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
94329func (ils ImpalaLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
94330	return nil, false
94331}
94332
94333// AsXeroLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
94334func (ils ImpalaLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
94335	return nil, false
94336}
94337
94338// AsSquareLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
94339func (ils ImpalaLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
94340	return nil, false
94341}
94342
94343// AsSparkLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
94344func (ils ImpalaLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
94345	return nil, false
94346}
94347
94348// AsShopifyLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
94349func (ils ImpalaLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
94350	return nil, false
94351}
94352
94353// AsServiceNowLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
94354func (ils ImpalaLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
94355	return nil, false
94356}
94357
94358// AsQuickBooksLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
94359func (ils ImpalaLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
94360	return nil, false
94361}
94362
94363// AsPrestoLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
94364func (ils ImpalaLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
94365	return nil, false
94366}
94367
94368// AsPhoenixLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
94369func (ils ImpalaLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
94370	return nil, false
94371}
94372
94373// AsPaypalLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
94374func (ils ImpalaLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
94375	return nil, false
94376}
94377
94378// AsMarketoLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
94379func (ils ImpalaLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
94380	return nil, false
94381}
94382
94383// AsMariaDBLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
94384func (ils ImpalaLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
94385	return nil, false
94386}
94387
94388// AsMagentoLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
94389func (ils ImpalaLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
94390	return nil, false
94391}
94392
94393// AsJiraLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
94394func (ils ImpalaLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
94395	return nil, false
94396}
94397
94398// AsImpalaLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
94399func (ils ImpalaLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
94400	return &ils, true
94401}
94402
94403// AsHubspotLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
94404func (ils ImpalaLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
94405	return nil, false
94406}
94407
94408// AsHiveLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
94409func (ils ImpalaLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
94410	return nil, false
94411}
94412
94413// AsHBaseLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
94414func (ils ImpalaLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
94415	return nil, false
94416}
94417
94418// AsGreenplumLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
94419func (ils ImpalaLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
94420	return nil, false
94421}
94422
94423// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
94424func (ils ImpalaLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
94425	return nil, false
94426}
94427
94428// AsEloquaLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
94429func (ils ImpalaLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
94430	return nil, false
94431}
94432
94433// AsDrillLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
94434func (ils ImpalaLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
94435	return nil, false
94436}
94437
94438// AsCouchbaseLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
94439func (ils ImpalaLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
94440	return nil, false
94441}
94442
94443// AsConcurLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
94444func (ils ImpalaLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
94445	return nil, false
94446}
94447
94448// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
94449func (ils ImpalaLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
94450	return nil, false
94451}
94452
94453// AsAmazonMWSLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
94454func (ils ImpalaLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
94455	return nil, false
94456}
94457
94458// AsSapHanaLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
94459func (ils ImpalaLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
94460	return nil, false
94461}
94462
94463// AsSapBWLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
94464func (ils ImpalaLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
94465	return nil, false
94466}
94467
94468// AsSftpServerLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
94469func (ils ImpalaLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
94470	return nil, false
94471}
94472
94473// AsFtpServerLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
94474func (ils ImpalaLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
94475	return nil, false
94476}
94477
94478// AsHTTPLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
94479func (ils ImpalaLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
94480	return nil, false
94481}
94482
94483// AsAzureSearchLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
94484func (ils ImpalaLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
94485	return nil, false
94486}
94487
94488// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
94489func (ils ImpalaLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
94490	return nil, false
94491}
94492
94493// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
94494func (ils ImpalaLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
94495	return nil, false
94496}
94497
94498// AsAmazonS3LinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
94499func (ils ImpalaLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
94500	return nil, false
94501}
94502
94503// AsRestServiceLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
94504func (ils ImpalaLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) {
94505	return nil, false
94506}
94507
94508// AsSapOpenHubLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
94509func (ils ImpalaLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) {
94510	return nil, false
94511}
94512
94513// AsSapEccLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
94514func (ils ImpalaLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
94515	return nil, false
94516}
94517
94518// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
94519func (ils ImpalaLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
94520	return nil, false
94521}
94522
94523// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
94524func (ils ImpalaLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) {
94525	return nil, false
94526}
94527
94528// AsSalesforceLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
94529func (ils ImpalaLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
94530	return nil, false
94531}
94532
94533// AsOffice365LinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
94534func (ils ImpalaLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) {
94535	return nil, false
94536}
94537
94538// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
94539func (ils ImpalaLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) {
94540	return nil, false
94541}
94542
94543// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
94544func (ils ImpalaLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
94545	return nil, false
94546}
94547
94548// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
94549func (ils ImpalaLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) {
94550	return nil, false
94551}
94552
94553// AsMongoDbV2LinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
94554func (ils ImpalaLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) {
94555	return nil, false
94556}
94557
94558// AsMongoDbLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
94559func (ils ImpalaLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
94560	return nil, false
94561}
94562
94563// AsCassandraLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
94564func (ils ImpalaLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
94565	return nil, false
94566}
94567
94568// AsWebLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
94569func (ils ImpalaLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
94570	return nil, false
94571}
94572
94573// AsODataLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
94574func (ils ImpalaLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
94575	return nil, false
94576}
94577
94578// AsHdfsLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
94579func (ils ImpalaLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
94580	return nil, false
94581}
94582
94583// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
94584func (ils ImpalaLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) {
94585	return nil, false
94586}
94587
94588// AsInformixLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
94589func (ils ImpalaLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) {
94590	return nil, false
94591}
94592
94593// AsOdbcLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
94594func (ils ImpalaLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
94595	return nil, false
94596}
94597
94598// AsAzureMLLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
94599func (ils ImpalaLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
94600	return nil, false
94601}
94602
94603// AsTeradataLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
94604func (ils ImpalaLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
94605	return nil, false
94606}
94607
94608// AsDb2LinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
94609func (ils ImpalaLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
94610	return nil, false
94611}
94612
94613// AsSybaseLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
94614func (ils ImpalaLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
94615	return nil, false
94616}
94617
94618// AsPostgreSQLLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
94619func (ils ImpalaLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
94620	return nil, false
94621}
94622
94623// AsMySQLLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
94624func (ils ImpalaLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
94625	return nil, false
94626}
94627
94628// AsAzureMySQLLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
94629func (ils ImpalaLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
94630	return nil, false
94631}
94632
94633// AsOracleLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
94634func (ils ImpalaLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
94635	return nil, false
94636}
94637
94638// AsFileServerLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
94639func (ils ImpalaLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
94640	return nil, false
94641}
94642
94643// AsHDInsightLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
94644func (ils ImpalaLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
94645	return nil, false
94646}
94647
94648// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
94649func (ils ImpalaLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) {
94650	return nil, false
94651}
94652
94653// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
94654func (ils ImpalaLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) {
94655	return nil, false
94656}
94657
94658// AsDynamicsLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
94659func (ils ImpalaLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
94660	return nil, false
94661}
94662
94663// AsCosmosDbLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
94664func (ils ImpalaLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
94665	return nil, false
94666}
94667
94668// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
94669func (ils ImpalaLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
94670	return nil, false
94671}
94672
94673// AsAzureBatchLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
94674func (ils ImpalaLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
94675	return nil, false
94676}
94677
94678// AsAzureSQLMILinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
94679func (ils ImpalaLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) {
94680	return nil, false
94681}
94682
94683// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
94684func (ils ImpalaLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
94685	return nil, false
94686}
94687
94688// AsSQLServerLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
94689func (ils ImpalaLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
94690	return nil, false
94691}
94692
94693// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
94694func (ils ImpalaLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
94695	return nil, false
94696}
94697
94698// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
94699func (ils ImpalaLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) {
94700	return nil, false
94701}
94702
94703// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
94704func (ils ImpalaLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) {
94705	return nil, false
94706}
94707
94708// AsAzureStorageLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
94709func (ils ImpalaLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
94710	return nil, false
94711}
94712
94713// AsLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
94714func (ils ImpalaLinkedService) AsLinkedService() (*LinkedService, bool) {
94715	return nil, false
94716}
94717
94718// AsBasicLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
94719func (ils ImpalaLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
94720	return &ils, true
94721}
94722
94723// UnmarshalJSON is the custom unmarshaler for ImpalaLinkedService struct.
94724func (ils *ImpalaLinkedService) UnmarshalJSON(body []byte) error {
94725	var m map[string]*json.RawMessage
94726	err := json.Unmarshal(body, &m)
94727	if err != nil {
94728		return err
94729	}
94730	for k, v := range m {
94731		switch k {
94732		case "typeProperties":
94733			if v != nil {
94734				var impalaLinkedServiceTypeProperties ImpalaLinkedServiceTypeProperties
94735				err = json.Unmarshal(*v, &impalaLinkedServiceTypeProperties)
94736				if err != nil {
94737					return err
94738				}
94739				ils.ImpalaLinkedServiceTypeProperties = &impalaLinkedServiceTypeProperties
94740			}
94741		default:
94742			if v != nil {
94743				var additionalProperties interface{}
94744				err = json.Unmarshal(*v, &additionalProperties)
94745				if err != nil {
94746					return err
94747				}
94748				if ils.AdditionalProperties == nil {
94749					ils.AdditionalProperties = make(map[string]interface{})
94750				}
94751				ils.AdditionalProperties[k] = additionalProperties
94752			}
94753		case "connectVia":
94754			if v != nil {
94755				var connectVia IntegrationRuntimeReference
94756				err = json.Unmarshal(*v, &connectVia)
94757				if err != nil {
94758					return err
94759				}
94760				ils.ConnectVia = &connectVia
94761			}
94762		case "description":
94763			if v != nil {
94764				var description string
94765				err = json.Unmarshal(*v, &description)
94766				if err != nil {
94767					return err
94768				}
94769				ils.Description = &description
94770			}
94771		case "parameters":
94772			if v != nil {
94773				var parameters map[string]*ParameterSpecification
94774				err = json.Unmarshal(*v, &parameters)
94775				if err != nil {
94776					return err
94777				}
94778				ils.Parameters = parameters
94779			}
94780		case "annotations":
94781			if v != nil {
94782				var annotations []interface{}
94783				err = json.Unmarshal(*v, &annotations)
94784				if err != nil {
94785					return err
94786				}
94787				ils.Annotations = &annotations
94788			}
94789		case "type":
94790			if v != nil {
94791				var typeVar TypeBasicLinkedService
94792				err = json.Unmarshal(*v, &typeVar)
94793				if err != nil {
94794					return err
94795				}
94796				ils.Type = typeVar
94797			}
94798		}
94799	}
94800
94801	return nil
94802}
94803
94804// ImpalaLinkedServiceTypeProperties impala server linked service properties.
94805type ImpalaLinkedServiceTypeProperties struct {
94806	// Host - The IP address or host name of the Impala server. (i.e. 192.168.222.160)
94807	Host interface{} `json:"host,omitempty"`
94808	// Port - The TCP port that the Impala server uses to listen for client connections. The default value is 21050.
94809	Port interface{} `json:"port,omitempty"`
94810	// AuthenticationType - The authentication type to use. Possible values include: 'ImpalaAuthenticationTypeAnonymous', 'ImpalaAuthenticationTypeSASLUsername', 'ImpalaAuthenticationTypeUsernameAndPassword'
94811	AuthenticationType ImpalaAuthenticationType `json:"authenticationType,omitempty"`
94812	// Username - The user name used to access the Impala server. The default value is anonymous when using SASLUsername.
94813	Username interface{} `json:"username,omitempty"`
94814	// Password - The password corresponding to the user name when using UsernameAndPassword.
94815	Password BasicSecretBase `json:"password,omitempty"`
94816	// EnableSsl - Specifies whether the connections to the server are encrypted using SSL. The default value is false.
94817	EnableSsl interface{} `json:"enableSsl,omitempty"`
94818	// 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.
94819	TrustedCertPath interface{} `json:"trustedCertPath,omitempty"`
94820	// UseSystemTrustStore - Specifies whether to use a CA certificate from the system trust store or from a specified PEM file. The default value is false.
94821	UseSystemTrustStore interface{} `json:"useSystemTrustStore,omitempty"`
94822	// 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.
94823	AllowHostNameCNMismatch interface{} `json:"allowHostNameCNMismatch,omitempty"`
94824	// AllowSelfSignedServerCert - Specifies whether to allow self-signed certificates from the server. The default value is false.
94825	AllowSelfSignedServerCert interface{} `json:"allowSelfSignedServerCert,omitempty"`
94826	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
94827	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
94828}
94829
94830// UnmarshalJSON is the custom unmarshaler for ImpalaLinkedServiceTypeProperties struct.
94831func (ilstp *ImpalaLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
94832	var m map[string]*json.RawMessage
94833	err := json.Unmarshal(body, &m)
94834	if err != nil {
94835		return err
94836	}
94837	for k, v := range m {
94838		switch k {
94839		case "host":
94840			if v != nil {
94841				var host interface{}
94842				err = json.Unmarshal(*v, &host)
94843				if err != nil {
94844					return err
94845				}
94846				ilstp.Host = host
94847			}
94848		case "port":
94849			if v != nil {
94850				var port interface{}
94851				err = json.Unmarshal(*v, &port)
94852				if err != nil {
94853					return err
94854				}
94855				ilstp.Port = port
94856			}
94857		case "authenticationType":
94858			if v != nil {
94859				var authenticationType ImpalaAuthenticationType
94860				err = json.Unmarshal(*v, &authenticationType)
94861				if err != nil {
94862					return err
94863				}
94864				ilstp.AuthenticationType = authenticationType
94865			}
94866		case "username":
94867			if v != nil {
94868				var username interface{}
94869				err = json.Unmarshal(*v, &username)
94870				if err != nil {
94871					return err
94872				}
94873				ilstp.Username = username
94874			}
94875		case "password":
94876			if v != nil {
94877				password, err := unmarshalBasicSecretBase(*v)
94878				if err != nil {
94879					return err
94880				}
94881				ilstp.Password = password
94882			}
94883		case "enableSsl":
94884			if v != nil {
94885				var enableSsl interface{}
94886				err = json.Unmarshal(*v, &enableSsl)
94887				if err != nil {
94888					return err
94889				}
94890				ilstp.EnableSsl = enableSsl
94891			}
94892		case "trustedCertPath":
94893			if v != nil {
94894				var trustedCertPath interface{}
94895				err = json.Unmarshal(*v, &trustedCertPath)
94896				if err != nil {
94897					return err
94898				}
94899				ilstp.TrustedCertPath = trustedCertPath
94900			}
94901		case "useSystemTrustStore":
94902			if v != nil {
94903				var useSystemTrustStore interface{}
94904				err = json.Unmarshal(*v, &useSystemTrustStore)
94905				if err != nil {
94906					return err
94907				}
94908				ilstp.UseSystemTrustStore = useSystemTrustStore
94909			}
94910		case "allowHostNameCNMismatch":
94911			if v != nil {
94912				var allowHostNameCNMismatch interface{}
94913				err = json.Unmarshal(*v, &allowHostNameCNMismatch)
94914				if err != nil {
94915					return err
94916				}
94917				ilstp.AllowHostNameCNMismatch = allowHostNameCNMismatch
94918			}
94919		case "allowSelfSignedServerCert":
94920			if v != nil {
94921				var allowSelfSignedServerCert interface{}
94922				err = json.Unmarshal(*v, &allowSelfSignedServerCert)
94923				if err != nil {
94924					return err
94925				}
94926				ilstp.AllowSelfSignedServerCert = allowSelfSignedServerCert
94927			}
94928		case "encryptedCredential":
94929			if v != nil {
94930				var encryptedCredential interface{}
94931				err = json.Unmarshal(*v, &encryptedCredential)
94932				if err != nil {
94933					return err
94934				}
94935				ilstp.EncryptedCredential = encryptedCredential
94936			}
94937		}
94938	}
94939
94940	return nil
94941}
94942
94943// ImpalaObjectDataset impala server dataset.
94944type ImpalaObjectDataset struct {
94945	// GenericDatasetTypeProperties - Properties specific to this dataset type.
94946	*GenericDatasetTypeProperties `json:"typeProperties,omitempty"`
94947	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
94948	AdditionalProperties map[string]interface{} `json:""`
94949	// Description - Dataset description.
94950	Description *string `json:"description,omitempty"`
94951	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
94952	Structure interface{} `json:"structure,omitempty"`
94953	// Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement.
94954	Schema interface{} `json:"schema,omitempty"`
94955	// LinkedServiceName - Linked service reference.
94956	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
94957	// Parameters - Parameters for dataset.
94958	Parameters map[string]*ParameterSpecification `json:"parameters"`
94959	// Annotations - List of tags that can be used for describing the Dataset.
94960	Annotations *[]interface{} `json:"annotations,omitempty"`
94961	// Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level.
94962	Folder *DatasetFolder `json:"folder,omitempty"`
94963	// Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', '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', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeDelimitedText', 'TypeParquet', 'TypeAmazonS3Object'
94964	Type TypeBasicDataset `json:"type,omitempty"`
94965}
94966
94967// MarshalJSON is the custom marshaler for ImpalaObjectDataset.
94968func (iod ImpalaObjectDataset) MarshalJSON() ([]byte, error) {
94969	iod.Type = TypeImpalaObject
94970	objectMap := make(map[string]interface{})
94971	if iod.GenericDatasetTypeProperties != nil {
94972		objectMap["typeProperties"] = iod.GenericDatasetTypeProperties
94973	}
94974	if iod.Description != nil {
94975		objectMap["description"] = iod.Description
94976	}
94977	if iod.Structure != nil {
94978		objectMap["structure"] = iod.Structure
94979	}
94980	if iod.Schema != nil {
94981		objectMap["schema"] = iod.Schema
94982	}
94983	if iod.LinkedServiceName != nil {
94984		objectMap["linkedServiceName"] = iod.LinkedServiceName
94985	}
94986	if iod.Parameters != nil {
94987		objectMap["parameters"] = iod.Parameters
94988	}
94989	if iod.Annotations != nil {
94990		objectMap["annotations"] = iod.Annotations
94991	}
94992	if iod.Folder != nil {
94993		objectMap["folder"] = iod.Folder
94994	}
94995	if iod.Type != "" {
94996		objectMap["type"] = iod.Type
94997	}
94998	for k, v := range iod.AdditionalProperties {
94999		objectMap[k] = v
95000	}
95001	return json.Marshal(objectMap)
95002}
95003
95004// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for ImpalaObjectDataset.
95005func (iod ImpalaObjectDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) {
95006	return nil, false
95007}
95008
95009// AsAzureDataExplorerTableDataset is the BasicDataset implementation for ImpalaObjectDataset.
95010func (iod ImpalaObjectDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) {
95011	return nil, false
95012}
95013
95014// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for ImpalaObjectDataset.
95015func (iod ImpalaObjectDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) {
95016	return nil, false
95017}
95018
95019// AsDynamicsAXResourceDataset is the BasicDataset implementation for ImpalaObjectDataset.
95020func (iod ImpalaObjectDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) {
95021	return nil, false
95022}
95023
95024// AsResponsysObjectDataset is the BasicDataset implementation for ImpalaObjectDataset.
95025func (iod ImpalaObjectDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
95026	return nil, false
95027}
95028
95029// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for ImpalaObjectDataset.
95030func (iod ImpalaObjectDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
95031	return nil, false
95032}
95033
95034// AsVerticaTableDataset is the BasicDataset implementation for ImpalaObjectDataset.
95035func (iod ImpalaObjectDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
95036	return nil, false
95037}
95038
95039// AsNetezzaTableDataset is the BasicDataset implementation for ImpalaObjectDataset.
95040func (iod ImpalaObjectDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
95041	return nil, false
95042}
95043
95044// AsZohoObjectDataset is the BasicDataset implementation for ImpalaObjectDataset.
95045func (iod ImpalaObjectDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
95046	return nil, false
95047}
95048
95049// AsXeroObjectDataset is the BasicDataset implementation for ImpalaObjectDataset.
95050func (iod ImpalaObjectDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
95051	return nil, false
95052}
95053
95054// AsSquareObjectDataset is the BasicDataset implementation for ImpalaObjectDataset.
95055func (iod ImpalaObjectDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
95056	return nil, false
95057}
95058
95059// AsSparkObjectDataset is the BasicDataset implementation for ImpalaObjectDataset.
95060func (iod ImpalaObjectDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
95061	return nil, false
95062}
95063
95064// AsShopifyObjectDataset is the BasicDataset implementation for ImpalaObjectDataset.
95065func (iod ImpalaObjectDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
95066	return nil, false
95067}
95068
95069// AsServiceNowObjectDataset is the BasicDataset implementation for ImpalaObjectDataset.
95070func (iod ImpalaObjectDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
95071	return nil, false
95072}
95073
95074// AsQuickBooksObjectDataset is the BasicDataset implementation for ImpalaObjectDataset.
95075func (iod ImpalaObjectDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
95076	return nil, false
95077}
95078
95079// AsPrestoObjectDataset is the BasicDataset implementation for ImpalaObjectDataset.
95080func (iod ImpalaObjectDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
95081	return nil, false
95082}
95083
95084// AsPhoenixObjectDataset is the BasicDataset implementation for ImpalaObjectDataset.
95085func (iod ImpalaObjectDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
95086	return nil, false
95087}
95088
95089// AsPaypalObjectDataset is the BasicDataset implementation for ImpalaObjectDataset.
95090func (iod ImpalaObjectDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
95091	return nil, false
95092}
95093
95094// AsMarketoObjectDataset is the BasicDataset implementation for ImpalaObjectDataset.
95095func (iod ImpalaObjectDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
95096	return nil, false
95097}
95098
95099// AsMariaDBTableDataset is the BasicDataset implementation for ImpalaObjectDataset.
95100func (iod ImpalaObjectDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
95101	return nil, false
95102}
95103
95104// AsMagentoObjectDataset is the BasicDataset implementation for ImpalaObjectDataset.
95105func (iod ImpalaObjectDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
95106	return nil, false
95107}
95108
95109// AsJiraObjectDataset is the BasicDataset implementation for ImpalaObjectDataset.
95110func (iod ImpalaObjectDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
95111	return nil, false
95112}
95113
95114// AsImpalaObjectDataset is the BasicDataset implementation for ImpalaObjectDataset.
95115func (iod ImpalaObjectDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
95116	return &iod, true
95117}
95118
95119// AsHubspotObjectDataset is the BasicDataset implementation for ImpalaObjectDataset.
95120func (iod ImpalaObjectDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
95121	return nil, false
95122}
95123
95124// AsHiveObjectDataset is the BasicDataset implementation for ImpalaObjectDataset.
95125func (iod ImpalaObjectDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
95126	return nil, false
95127}
95128
95129// AsHBaseObjectDataset is the BasicDataset implementation for ImpalaObjectDataset.
95130func (iod ImpalaObjectDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
95131	return nil, false
95132}
95133
95134// AsGreenplumTableDataset is the BasicDataset implementation for ImpalaObjectDataset.
95135func (iod ImpalaObjectDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
95136	return nil, false
95137}
95138
95139// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for ImpalaObjectDataset.
95140func (iod ImpalaObjectDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
95141	return nil, false
95142}
95143
95144// AsEloquaObjectDataset is the BasicDataset implementation for ImpalaObjectDataset.
95145func (iod ImpalaObjectDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
95146	return nil, false
95147}
95148
95149// AsDrillTableDataset is the BasicDataset implementation for ImpalaObjectDataset.
95150func (iod ImpalaObjectDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
95151	return nil, false
95152}
95153
95154// AsCouchbaseTableDataset is the BasicDataset implementation for ImpalaObjectDataset.
95155func (iod ImpalaObjectDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
95156	return nil, false
95157}
95158
95159// AsConcurObjectDataset is the BasicDataset implementation for ImpalaObjectDataset.
95160func (iod ImpalaObjectDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
95161	return nil, false
95162}
95163
95164// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for ImpalaObjectDataset.
95165func (iod ImpalaObjectDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
95166	return nil, false
95167}
95168
95169// AsAmazonMWSObjectDataset is the BasicDataset implementation for ImpalaObjectDataset.
95170func (iod ImpalaObjectDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
95171	return nil, false
95172}
95173
95174// AsHTTPDataset is the BasicDataset implementation for ImpalaObjectDataset.
95175func (iod ImpalaObjectDataset) AsHTTPDataset() (*HTTPDataset, bool) {
95176	return nil, false
95177}
95178
95179// AsAzureSearchIndexDataset is the BasicDataset implementation for ImpalaObjectDataset.
95180func (iod ImpalaObjectDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
95181	return nil, false
95182}
95183
95184// AsWebTableDataset is the BasicDataset implementation for ImpalaObjectDataset.
95185func (iod ImpalaObjectDataset) AsWebTableDataset() (*WebTableDataset, bool) {
95186	return nil, false
95187}
95188
95189// AsSapTableResourceDataset is the BasicDataset implementation for ImpalaObjectDataset.
95190func (iod ImpalaObjectDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) {
95191	return nil, false
95192}
95193
95194// AsRestResourceDataset is the BasicDataset implementation for ImpalaObjectDataset.
95195func (iod ImpalaObjectDataset) AsRestResourceDataset() (*RestResourceDataset, bool) {
95196	return nil, false
95197}
95198
95199// AsSQLServerTableDataset is the BasicDataset implementation for ImpalaObjectDataset.
95200func (iod ImpalaObjectDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
95201	return nil, false
95202}
95203
95204// AsSapOpenHubTableDataset is the BasicDataset implementation for ImpalaObjectDataset.
95205func (iod ImpalaObjectDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) {
95206	return nil, false
95207}
95208
95209// AsSapHanaTableDataset is the BasicDataset implementation for ImpalaObjectDataset.
95210func (iod ImpalaObjectDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) {
95211	return nil, false
95212}
95213
95214// AsSapEccResourceDataset is the BasicDataset implementation for ImpalaObjectDataset.
95215func (iod ImpalaObjectDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
95216	return nil, false
95217}
95218
95219// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for ImpalaObjectDataset.
95220func (iod ImpalaObjectDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
95221	return nil, false
95222}
95223
95224// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for ImpalaObjectDataset.
95225func (iod ImpalaObjectDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) {
95226	return nil, false
95227}
95228
95229// AsSalesforceObjectDataset is the BasicDataset implementation for ImpalaObjectDataset.
95230func (iod ImpalaObjectDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
95231	return nil, false
95232}
95233
95234// AsMicrosoftAccessTableDataset is the BasicDataset implementation for ImpalaObjectDataset.
95235func (iod ImpalaObjectDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) {
95236	return nil, false
95237}
95238
95239// AsPostgreSQLTableDataset is the BasicDataset implementation for ImpalaObjectDataset.
95240func (iod ImpalaObjectDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) {
95241	return nil, false
95242}
95243
95244// AsMySQLTableDataset is the BasicDataset implementation for ImpalaObjectDataset.
95245func (iod ImpalaObjectDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) {
95246	return nil, false
95247}
95248
95249// AsOdbcTableDataset is the BasicDataset implementation for ImpalaObjectDataset.
95250func (iod ImpalaObjectDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) {
95251	return nil, false
95252}
95253
95254// AsInformixTableDataset is the BasicDataset implementation for ImpalaObjectDataset.
95255func (iod ImpalaObjectDataset) AsInformixTableDataset() (*InformixTableDataset, bool) {
95256	return nil, false
95257}
95258
95259// AsRelationalTableDataset is the BasicDataset implementation for ImpalaObjectDataset.
95260func (iod ImpalaObjectDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
95261	return nil, false
95262}
95263
95264// AsAzureMySQLTableDataset is the BasicDataset implementation for ImpalaObjectDataset.
95265func (iod ImpalaObjectDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
95266	return nil, false
95267}
95268
95269// AsTeradataTableDataset is the BasicDataset implementation for ImpalaObjectDataset.
95270func (iod ImpalaObjectDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) {
95271	return nil, false
95272}
95273
95274// AsOracleTableDataset is the BasicDataset implementation for ImpalaObjectDataset.
95275func (iod ImpalaObjectDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
95276	return nil, false
95277}
95278
95279// AsODataResourceDataset is the BasicDataset implementation for ImpalaObjectDataset.
95280func (iod ImpalaObjectDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
95281	return nil, false
95282}
95283
95284// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for ImpalaObjectDataset.
95285func (iod ImpalaObjectDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) {
95286	return nil, false
95287}
95288
95289// AsMongoDbV2CollectionDataset is the BasicDataset implementation for ImpalaObjectDataset.
95290func (iod ImpalaObjectDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) {
95291	return nil, false
95292}
95293
95294// AsMongoDbCollectionDataset is the BasicDataset implementation for ImpalaObjectDataset.
95295func (iod ImpalaObjectDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
95296	return nil, false
95297}
95298
95299// AsFileShareDataset is the BasicDataset implementation for ImpalaObjectDataset.
95300func (iod ImpalaObjectDataset) AsFileShareDataset() (*FileShareDataset, bool) {
95301	return nil, false
95302}
95303
95304// AsOffice365Dataset is the BasicDataset implementation for ImpalaObjectDataset.
95305func (iod ImpalaObjectDataset) AsOffice365Dataset() (*Office365Dataset, bool) {
95306	return nil, false
95307}
95308
95309// AsAzureBlobFSDataset is the BasicDataset implementation for ImpalaObjectDataset.
95310func (iod ImpalaObjectDataset) AsAzureBlobFSDataset() (*AzureBlobFSDataset, bool) {
95311	return nil, false
95312}
95313
95314// AsAzureDataLakeStoreDataset is the BasicDataset implementation for ImpalaObjectDataset.
95315func (iod ImpalaObjectDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) {
95316	return nil, false
95317}
95318
95319// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for ImpalaObjectDataset.
95320func (iod ImpalaObjectDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) {
95321	return nil, false
95322}
95323
95324// AsDynamicsCrmEntityDataset is the BasicDataset implementation for ImpalaObjectDataset.
95325func (iod ImpalaObjectDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) {
95326	return nil, false
95327}
95328
95329// AsDynamicsEntityDataset is the BasicDataset implementation for ImpalaObjectDataset.
95330func (iod ImpalaObjectDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
95331	return nil, false
95332}
95333
95334// AsDocumentDbCollectionDataset is the BasicDataset implementation for ImpalaObjectDataset.
95335func (iod ImpalaObjectDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
95336	return nil, false
95337}
95338
95339// AsCustomDataset is the BasicDataset implementation for ImpalaObjectDataset.
95340func (iod ImpalaObjectDataset) AsCustomDataset() (*CustomDataset, bool) {
95341	return nil, false
95342}
95343
95344// AsCassandraTableDataset is the BasicDataset implementation for ImpalaObjectDataset.
95345func (iod ImpalaObjectDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
95346	return nil, false
95347}
95348
95349// AsAzureSQLDWTableDataset is the BasicDataset implementation for ImpalaObjectDataset.
95350func (iod ImpalaObjectDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
95351	return nil, false
95352}
95353
95354// AsAzureSQLMITableDataset is the BasicDataset implementation for ImpalaObjectDataset.
95355func (iod ImpalaObjectDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) {
95356	return nil, false
95357}
95358
95359// AsAzureSQLTableDataset is the BasicDataset implementation for ImpalaObjectDataset.
95360func (iod ImpalaObjectDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
95361	return nil, false
95362}
95363
95364// AsAzureTableDataset is the BasicDataset implementation for ImpalaObjectDataset.
95365func (iod ImpalaObjectDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
95366	return nil, false
95367}
95368
95369// AsAzureBlobDataset is the BasicDataset implementation for ImpalaObjectDataset.
95370func (iod ImpalaObjectDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) {
95371	return nil, false
95372}
95373
95374// AsBinaryDataset is the BasicDataset implementation for ImpalaObjectDataset.
95375func (iod ImpalaObjectDataset) AsBinaryDataset() (*BinaryDataset, bool) {
95376	return nil, false
95377}
95378
95379// AsDelimitedTextDataset is the BasicDataset implementation for ImpalaObjectDataset.
95380func (iod ImpalaObjectDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) {
95381	return nil, false
95382}
95383
95384// AsParquetDataset is the BasicDataset implementation for ImpalaObjectDataset.
95385func (iod ImpalaObjectDataset) AsParquetDataset() (*ParquetDataset, bool) {
95386	return nil, false
95387}
95388
95389// AsAmazonS3Dataset is the BasicDataset implementation for ImpalaObjectDataset.
95390func (iod ImpalaObjectDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) {
95391	return nil, false
95392}
95393
95394// AsDataset is the BasicDataset implementation for ImpalaObjectDataset.
95395func (iod ImpalaObjectDataset) AsDataset() (*Dataset, bool) {
95396	return nil, false
95397}
95398
95399// AsBasicDataset is the BasicDataset implementation for ImpalaObjectDataset.
95400func (iod ImpalaObjectDataset) AsBasicDataset() (BasicDataset, bool) {
95401	return &iod, true
95402}
95403
95404// UnmarshalJSON is the custom unmarshaler for ImpalaObjectDataset struct.
95405func (iod *ImpalaObjectDataset) UnmarshalJSON(body []byte) error {
95406	var m map[string]*json.RawMessage
95407	err := json.Unmarshal(body, &m)
95408	if err != nil {
95409		return err
95410	}
95411	for k, v := range m {
95412		switch k {
95413		case "typeProperties":
95414			if v != nil {
95415				var genericDatasetTypeProperties GenericDatasetTypeProperties
95416				err = json.Unmarshal(*v, &genericDatasetTypeProperties)
95417				if err != nil {
95418					return err
95419				}
95420				iod.GenericDatasetTypeProperties = &genericDatasetTypeProperties
95421			}
95422		default:
95423			if v != nil {
95424				var additionalProperties interface{}
95425				err = json.Unmarshal(*v, &additionalProperties)
95426				if err != nil {
95427					return err
95428				}
95429				if iod.AdditionalProperties == nil {
95430					iod.AdditionalProperties = make(map[string]interface{})
95431				}
95432				iod.AdditionalProperties[k] = additionalProperties
95433			}
95434		case "description":
95435			if v != nil {
95436				var description string
95437				err = json.Unmarshal(*v, &description)
95438				if err != nil {
95439					return err
95440				}
95441				iod.Description = &description
95442			}
95443		case "structure":
95444			if v != nil {
95445				var structure interface{}
95446				err = json.Unmarshal(*v, &structure)
95447				if err != nil {
95448					return err
95449				}
95450				iod.Structure = structure
95451			}
95452		case "schema":
95453			if v != nil {
95454				var schema interface{}
95455				err = json.Unmarshal(*v, &schema)
95456				if err != nil {
95457					return err
95458				}
95459				iod.Schema = schema
95460			}
95461		case "linkedServiceName":
95462			if v != nil {
95463				var linkedServiceName LinkedServiceReference
95464				err = json.Unmarshal(*v, &linkedServiceName)
95465				if err != nil {
95466					return err
95467				}
95468				iod.LinkedServiceName = &linkedServiceName
95469			}
95470		case "parameters":
95471			if v != nil {
95472				var parameters map[string]*ParameterSpecification
95473				err = json.Unmarshal(*v, &parameters)
95474				if err != nil {
95475					return err
95476				}
95477				iod.Parameters = parameters
95478			}
95479		case "annotations":
95480			if v != nil {
95481				var annotations []interface{}
95482				err = json.Unmarshal(*v, &annotations)
95483				if err != nil {
95484					return err
95485				}
95486				iod.Annotations = &annotations
95487			}
95488		case "folder":
95489			if v != nil {
95490				var folder DatasetFolder
95491				err = json.Unmarshal(*v, &folder)
95492				if err != nil {
95493					return err
95494				}
95495				iod.Folder = &folder
95496			}
95497		case "type":
95498			if v != nil {
95499				var typeVar TypeBasicDataset
95500				err = json.Unmarshal(*v, &typeVar)
95501				if err != nil {
95502					return err
95503				}
95504				iod.Type = typeVar
95505			}
95506		}
95507	}
95508
95509	return nil
95510}
95511
95512// ImpalaSource a copy activity Impala server source.
95513type ImpalaSource struct {
95514	// Query - A query to retrieve data from source. Type: string (or Expression with resultType string).
95515	Query interface{} `json:"query,omitempty"`
95516	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
95517	AdditionalProperties map[string]interface{} `json:""`
95518	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
95519	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
95520	// 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])).
95521	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
95522	// MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer).
95523	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
95524	// Type - Possible values include: 'TypeCopySource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', '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', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeCassandraSource', 'TypeWebSource', 'TypeTeradataSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeAzureMySQLSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeRestSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceServiceCloudSource', 'TypeSalesforceSource', 'TypeODataSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeMicrosoftAccessSource', 'TypeInformixSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAzureTableSource', 'TypeBinarySource', 'TypeDelimitedTextSource', 'TypeParquetSource'
95525	Type TypeBasicCopySource `json:"type,omitempty"`
95526}
95527
95528// MarshalJSON is the custom marshaler for ImpalaSource.
95529func (is ImpalaSource) MarshalJSON() ([]byte, error) {
95530	is.Type = TypeImpalaSource
95531	objectMap := make(map[string]interface{})
95532	if is.Query != nil {
95533		objectMap["query"] = is.Query
95534	}
95535	if is.SourceRetryCount != nil {
95536		objectMap["sourceRetryCount"] = is.SourceRetryCount
95537	}
95538	if is.SourceRetryWait != nil {
95539		objectMap["sourceRetryWait"] = is.SourceRetryWait
95540	}
95541	if is.MaxConcurrentConnections != nil {
95542		objectMap["maxConcurrentConnections"] = is.MaxConcurrentConnections
95543	}
95544	if is.Type != "" {
95545		objectMap["type"] = is.Type
95546	}
95547	for k, v := range is.AdditionalProperties {
95548		objectMap[k] = v
95549	}
95550	return json.Marshal(objectMap)
95551}
95552
95553// AsAmazonRedshiftSource is the BasicCopySource implementation for ImpalaSource.
95554func (is ImpalaSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
95555	return nil, false
95556}
95557
95558// AsGoogleAdWordsSource is the BasicCopySource implementation for ImpalaSource.
95559func (is ImpalaSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) {
95560	return nil, false
95561}
95562
95563// AsOracleServiceCloudSource is the BasicCopySource implementation for ImpalaSource.
95564func (is ImpalaSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) {
95565	return nil, false
95566}
95567
95568// AsDynamicsAXSource is the BasicCopySource implementation for ImpalaSource.
95569func (is ImpalaSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) {
95570	return nil, false
95571}
95572
95573// AsResponsysSource is the BasicCopySource implementation for ImpalaSource.
95574func (is ImpalaSource) AsResponsysSource() (*ResponsysSource, bool) {
95575	return nil, false
95576}
95577
95578// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for ImpalaSource.
95579func (is ImpalaSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
95580	return nil, false
95581}
95582
95583// AsVerticaSource is the BasicCopySource implementation for ImpalaSource.
95584func (is ImpalaSource) AsVerticaSource() (*VerticaSource, bool) {
95585	return nil, false
95586}
95587
95588// AsNetezzaSource is the BasicCopySource implementation for ImpalaSource.
95589func (is ImpalaSource) AsNetezzaSource() (*NetezzaSource, bool) {
95590	return nil, false
95591}
95592
95593// AsZohoSource is the BasicCopySource implementation for ImpalaSource.
95594func (is ImpalaSource) AsZohoSource() (*ZohoSource, bool) {
95595	return nil, false
95596}
95597
95598// AsXeroSource is the BasicCopySource implementation for ImpalaSource.
95599func (is ImpalaSource) AsXeroSource() (*XeroSource, bool) {
95600	return nil, false
95601}
95602
95603// AsSquareSource is the BasicCopySource implementation for ImpalaSource.
95604func (is ImpalaSource) AsSquareSource() (*SquareSource, bool) {
95605	return nil, false
95606}
95607
95608// AsSparkSource is the BasicCopySource implementation for ImpalaSource.
95609func (is ImpalaSource) AsSparkSource() (*SparkSource, bool) {
95610	return nil, false
95611}
95612
95613// AsShopifySource is the BasicCopySource implementation for ImpalaSource.
95614func (is ImpalaSource) AsShopifySource() (*ShopifySource, bool) {
95615	return nil, false
95616}
95617
95618// AsServiceNowSource is the BasicCopySource implementation for ImpalaSource.
95619func (is ImpalaSource) AsServiceNowSource() (*ServiceNowSource, bool) {
95620	return nil, false
95621}
95622
95623// AsQuickBooksSource is the BasicCopySource implementation for ImpalaSource.
95624func (is ImpalaSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
95625	return nil, false
95626}
95627
95628// AsPrestoSource is the BasicCopySource implementation for ImpalaSource.
95629func (is ImpalaSource) AsPrestoSource() (*PrestoSource, bool) {
95630	return nil, false
95631}
95632
95633// AsPhoenixSource is the BasicCopySource implementation for ImpalaSource.
95634func (is ImpalaSource) AsPhoenixSource() (*PhoenixSource, bool) {
95635	return nil, false
95636}
95637
95638// AsPaypalSource is the BasicCopySource implementation for ImpalaSource.
95639func (is ImpalaSource) AsPaypalSource() (*PaypalSource, bool) {
95640	return nil, false
95641}
95642
95643// AsMarketoSource is the BasicCopySource implementation for ImpalaSource.
95644func (is ImpalaSource) AsMarketoSource() (*MarketoSource, bool) {
95645	return nil, false
95646}
95647
95648// AsMariaDBSource is the BasicCopySource implementation for ImpalaSource.
95649func (is ImpalaSource) AsMariaDBSource() (*MariaDBSource, bool) {
95650	return nil, false
95651}
95652
95653// AsMagentoSource is the BasicCopySource implementation for ImpalaSource.
95654func (is ImpalaSource) AsMagentoSource() (*MagentoSource, bool) {
95655	return nil, false
95656}
95657
95658// AsJiraSource is the BasicCopySource implementation for ImpalaSource.
95659func (is ImpalaSource) AsJiraSource() (*JiraSource, bool) {
95660	return nil, false
95661}
95662
95663// AsImpalaSource is the BasicCopySource implementation for ImpalaSource.
95664func (is ImpalaSource) AsImpalaSource() (*ImpalaSource, bool) {
95665	return &is, true
95666}
95667
95668// AsHubspotSource is the BasicCopySource implementation for ImpalaSource.
95669func (is ImpalaSource) AsHubspotSource() (*HubspotSource, bool) {
95670	return nil, false
95671}
95672
95673// AsHiveSource is the BasicCopySource implementation for ImpalaSource.
95674func (is ImpalaSource) AsHiveSource() (*HiveSource, bool) {
95675	return nil, false
95676}
95677
95678// AsHBaseSource is the BasicCopySource implementation for ImpalaSource.
95679func (is ImpalaSource) AsHBaseSource() (*HBaseSource, bool) {
95680	return nil, false
95681}
95682
95683// AsGreenplumSource is the BasicCopySource implementation for ImpalaSource.
95684func (is ImpalaSource) AsGreenplumSource() (*GreenplumSource, bool) {
95685	return nil, false
95686}
95687
95688// AsGoogleBigQuerySource is the BasicCopySource implementation for ImpalaSource.
95689func (is ImpalaSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
95690	return nil, false
95691}
95692
95693// AsEloquaSource is the BasicCopySource implementation for ImpalaSource.
95694func (is ImpalaSource) AsEloquaSource() (*EloquaSource, bool) {
95695	return nil, false
95696}
95697
95698// AsDrillSource is the BasicCopySource implementation for ImpalaSource.
95699func (is ImpalaSource) AsDrillSource() (*DrillSource, bool) {
95700	return nil, false
95701}
95702
95703// AsCouchbaseSource is the BasicCopySource implementation for ImpalaSource.
95704func (is ImpalaSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
95705	return nil, false
95706}
95707
95708// AsConcurSource is the BasicCopySource implementation for ImpalaSource.
95709func (is ImpalaSource) AsConcurSource() (*ConcurSource, bool) {
95710	return nil, false
95711}
95712
95713// AsAzurePostgreSQLSource is the BasicCopySource implementation for ImpalaSource.
95714func (is ImpalaSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
95715	return nil, false
95716}
95717
95718// AsAmazonMWSSource is the BasicCopySource implementation for ImpalaSource.
95719func (is ImpalaSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
95720	return nil, false
95721}
95722
95723// AsHTTPSource is the BasicCopySource implementation for ImpalaSource.
95724func (is ImpalaSource) AsHTTPSource() (*HTTPSource, bool) {
95725	return nil, false
95726}
95727
95728// AsAzureBlobFSSource is the BasicCopySource implementation for ImpalaSource.
95729func (is ImpalaSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) {
95730	return nil, false
95731}
95732
95733// AsAzureDataLakeStoreSource is the BasicCopySource implementation for ImpalaSource.
95734func (is ImpalaSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
95735	return nil, false
95736}
95737
95738// AsOffice365Source is the BasicCopySource implementation for ImpalaSource.
95739func (is ImpalaSource) AsOffice365Source() (*Office365Source, bool) {
95740	return nil, false
95741}
95742
95743// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for ImpalaSource.
95744func (is ImpalaSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) {
95745	return nil, false
95746}
95747
95748// AsMongoDbV2Source is the BasicCopySource implementation for ImpalaSource.
95749func (is ImpalaSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) {
95750	return nil, false
95751}
95752
95753// AsMongoDbSource is the BasicCopySource implementation for ImpalaSource.
95754func (is ImpalaSource) AsMongoDbSource() (*MongoDbSource, bool) {
95755	return nil, false
95756}
95757
95758// AsCassandraSource is the BasicCopySource implementation for ImpalaSource.
95759func (is ImpalaSource) AsCassandraSource() (*CassandraSource, bool) {
95760	return nil, false
95761}
95762
95763// AsWebSource is the BasicCopySource implementation for ImpalaSource.
95764func (is ImpalaSource) AsWebSource() (*WebSource, bool) {
95765	return nil, false
95766}
95767
95768// AsTeradataSource is the BasicCopySource implementation for ImpalaSource.
95769func (is ImpalaSource) AsTeradataSource() (*TeradataSource, bool) {
95770	return nil, false
95771}
95772
95773// AsOracleSource is the BasicCopySource implementation for ImpalaSource.
95774func (is ImpalaSource) AsOracleSource() (*OracleSource, bool) {
95775	return nil, false
95776}
95777
95778// AsAzureDataExplorerSource is the BasicCopySource implementation for ImpalaSource.
95779func (is ImpalaSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) {
95780	return nil, false
95781}
95782
95783// AsAzureMySQLSource is the BasicCopySource implementation for ImpalaSource.
95784func (is ImpalaSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
95785	return nil, false
95786}
95787
95788// AsHdfsSource is the BasicCopySource implementation for ImpalaSource.
95789func (is ImpalaSource) AsHdfsSource() (*HdfsSource, bool) {
95790	return nil, false
95791}
95792
95793// AsFileSystemSource is the BasicCopySource implementation for ImpalaSource.
95794func (is ImpalaSource) AsFileSystemSource() (*FileSystemSource, bool) {
95795	return nil, false
95796}
95797
95798// AsSQLDWSource is the BasicCopySource implementation for ImpalaSource.
95799func (is ImpalaSource) AsSQLDWSource() (*SQLDWSource, bool) {
95800	return nil, false
95801}
95802
95803// AsSQLMISource is the BasicCopySource implementation for ImpalaSource.
95804func (is ImpalaSource) AsSQLMISource() (*SQLMISource, bool) {
95805	return nil, false
95806}
95807
95808// AsAzureSQLSource is the BasicCopySource implementation for ImpalaSource.
95809func (is ImpalaSource) AsAzureSQLSource() (*AzureSQLSource, bool) {
95810	return nil, false
95811}
95812
95813// AsSQLServerSource is the BasicCopySource implementation for ImpalaSource.
95814func (is ImpalaSource) AsSQLServerSource() (*SQLServerSource, bool) {
95815	return nil, false
95816}
95817
95818// AsSQLSource is the BasicCopySource implementation for ImpalaSource.
95819func (is ImpalaSource) AsSQLSource() (*SQLSource, bool) {
95820	return nil, false
95821}
95822
95823// AsRestSource is the BasicCopySource implementation for ImpalaSource.
95824func (is ImpalaSource) AsRestSource() (*RestSource, bool) {
95825	return nil, false
95826}
95827
95828// AsSapTableSource is the BasicCopySource implementation for ImpalaSource.
95829func (is ImpalaSource) AsSapTableSource() (*SapTableSource, bool) {
95830	return nil, false
95831}
95832
95833// AsSapOpenHubSource is the BasicCopySource implementation for ImpalaSource.
95834func (is ImpalaSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) {
95835	return nil, false
95836}
95837
95838// AsSapHanaSource is the BasicCopySource implementation for ImpalaSource.
95839func (is ImpalaSource) AsSapHanaSource() (*SapHanaSource, bool) {
95840	return nil, false
95841}
95842
95843// AsSapEccSource is the BasicCopySource implementation for ImpalaSource.
95844func (is ImpalaSource) AsSapEccSource() (*SapEccSource, bool) {
95845	return nil, false
95846}
95847
95848// AsSapCloudForCustomerSource is the BasicCopySource implementation for ImpalaSource.
95849func (is ImpalaSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
95850	return nil, false
95851}
95852
95853// AsSalesforceServiceCloudSource is the BasicCopySource implementation for ImpalaSource.
95854func (is ImpalaSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) {
95855	return nil, false
95856}
95857
95858// AsSalesforceSource is the BasicCopySource implementation for ImpalaSource.
95859func (is ImpalaSource) AsSalesforceSource() (*SalesforceSource, bool) {
95860	return nil, false
95861}
95862
95863// AsODataSource is the BasicCopySource implementation for ImpalaSource.
95864func (is ImpalaSource) AsODataSource() (*ODataSource, bool) {
95865	return nil, false
95866}
95867
95868// AsSybaseSource is the BasicCopySource implementation for ImpalaSource.
95869func (is ImpalaSource) AsSybaseSource() (*SybaseSource, bool) {
95870	return nil, false
95871}
95872
95873// AsPostgreSQLSource is the BasicCopySource implementation for ImpalaSource.
95874func (is ImpalaSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) {
95875	return nil, false
95876}
95877
95878// AsMySQLSource is the BasicCopySource implementation for ImpalaSource.
95879func (is ImpalaSource) AsMySQLSource() (*MySQLSource, bool) {
95880	return nil, false
95881}
95882
95883// AsOdbcSource is the BasicCopySource implementation for ImpalaSource.
95884func (is ImpalaSource) AsOdbcSource() (*OdbcSource, bool) {
95885	return nil, false
95886}
95887
95888// AsDb2Source is the BasicCopySource implementation for ImpalaSource.
95889func (is ImpalaSource) AsDb2Source() (*Db2Source, bool) {
95890	return nil, false
95891}
95892
95893// AsMicrosoftAccessSource is the BasicCopySource implementation for ImpalaSource.
95894func (is ImpalaSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) {
95895	return nil, false
95896}
95897
95898// AsInformixSource is the BasicCopySource implementation for ImpalaSource.
95899func (is ImpalaSource) AsInformixSource() (*InformixSource, bool) {
95900	return nil, false
95901}
95902
95903// AsRelationalSource is the BasicCopySource implementation for ImpalaSource.
95904func (is ImpalaSource) AsRelationalSource() (*RelationalSource, bool) {
95905	return nil, false
95906}
95907
95908// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for ImpalaSource.
95909func (is ImpalaSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) {
95910	return nil, false
95911}
95912
95913// AsDynamicsCrmSource is the BasicCopySource implementation for ImpalaSource.
95914func (is ImpalaSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) {
95915	return nil, false
95916}
95917
95918// AsDynamicsSource is the BasicCopySource implementation for ImpalaSource.
95919func (is ImpalaSource) AsDynamicsSource() (*DynamicsSource, bool) {
95920	return nil, false
95921}
95922
95923// AsDocumentDbCollectionSource is the BasicCopySource implementation for ImpalaSource.
95924func (is ImpalaSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
95925	return nil, false
95926}
95927
95928// AsBlobSource is the BasicCopySource implementation for ImpalaSource.
95929func (is ImpalaSource) AsBlobSource() (*BlobSource, bool) {
95930	return nil, false
95931}
95932
95933// AsAzureTableSource is the BasicCopySource implementation for ImpalaSource.
95934func (is ImpalaSource) AsAzureTableSource() (*AzureTableSource, bool) {
95935	return nil, false
95936}
95937
95938// AsBinarySource is the BasicCopySource implementation for ImpalaSource.
95939func (is ImpalaSource) AsBinarySource() (*BinarySource, bool) {
95940	return nil, false
95941}
95942
95943// AsDelimitedTextSource is the BasicCopySource implementation for ImpalaSource.
95944func (is ImpalaSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) {
95945	return nil, false
95946}
95947
95948// AsParquetSource is the BasicCopySource implementation for ImpalaSource.
95949func (is ImpalaSource) AsParquetSource() (*ParquetSource, bool) {
95950	return nil, false
95951}
95952
95953// AsCopySource is the BasicCopySource implementation for ImpalaSource.
95954func (is ImpalaSource) AsCopySource() (*CopySource, bool) {
95955	return nil, false
95956}
95957
95958// AsBasicCopySource is the BasicCopySource implementation for ImpalaSource.
95959func (is ImpalaSource) AsBasicCopySource() (BasicCopySource, bool) {
95960	return &is, true
95961}
95962
95963// UnmarshalJSON is the custom unmarshaler for ImpalaSource struct.
95964func (is *ImpalaSource) UnmarshalJSON(body []byte) error {
95965	var m map[string]*json.RawMessage
95966	err := json.Unmarshal(body, &m)
95967	if err != nil {
95968		return err
95969	}
95970	for k, v := range m {
95971		switch k {
95972		case "query":
95973			if v != nil {
95974				var query interface{}
95975				err = json.Unmarshal(*v, &query)
95976				if err != nil {
95977					return err
95978				}
95979				is.Query = query
95980			}
95981		default:
95982			if v != nil {
95983				var additionalProperties interface{}
95984				err = json.Unmarshal(*v, &additionalProperties)
95985				if err != nil {
95986					return err
95987				}
95988				if is.AdditionalProperties == nil {
95989					is.AdditionalProperties = make(map[string]interface{})
95990				}
95991				is.AdditionalProperties[k] = additionalProperties
95992			}
95993		case "sourceRetryCount":
95994			if v != nil {
95995				var sourceRetryCount interface{}
95996				err = json.Unmarshal(*v, &sourceRetryCount)
95997				if err != nil {
95998					return err
95999				}
96000				is.SourceRetryCount = sourceRetryCount
96001			}
96002		case "sourceRetryWait":
96003			if v != nil {
96004				var sourceRetryWait interface{}
96005				err = json.Unmarshal(*v, &sourceRetryWait)
96006				if err != nil {
96007					return err
96008				}
96009				is.SourceRetryWait = sourceRetryWait
96010			}
96011		case "maxConcurrentConnections":
96012			if v != nil {
96013				var maxConcurrentConnections interface{}
96014				err = json.Unmarshal(*v, &maxConcurrentConnections)
96015				if err != nil {
96016					return err
96017				}
96018				is.MaxConcurrentConnections = maxConcurrentConnections
96019			}
96020		case "type":
96021			if v != nil {
96022				var typeVar TypeBasicCopySource
96023				err = json.Unmarshal(*v, &typeVar)
96024				if err != nil {
96025					return err
96026				}
96027				is.Type = typeVar
96028			}
96029		}
96030	}
96031
96032	return nil
96033}
96034
96035// InformixLinkedService informix linked service.
96036type InformixLinkedService struct {
96037	// InformixLinkedServiceTypeProperties - Informix linked service properties.
96038	*InformixLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
96039	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
96040	AdditionalProperties map[string]interface{} `json:""`
96041	// ConnectVia - The integration runtime reference.
96042	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
96043	// Description - Linked service description.
96044	Description *string `json:"description,omitempty"`
96045	// Parameters - Parameters for linked service.
96046	Parameters map[string]*ParameterSpecification `json:"parameters"`
96047	// Annotations - List of tags that can be used for describing the linked service.
96048	Annotations *[]interface{} `json:"annotations,omitempty"`
96049	// Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', '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', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage'
96050	Type TypeBasicLinkedService `json:"type,omitempty"`
96051}
96052
96053// MarshalJSON is the custom marshaler for InformixLinkedService.
96054func (ils InformixLinkedService) MarshalJSON() ([]byte, error) {
96055	ils.Type = TypeInformix
96056	objectMap := make(map[string]interface{})
96057	if ils.InformixLinkedServiceTypeProperties != nil {
96058		objectMap["typeProperties"] = ils.InformixLinkedServiceTypeProperties
96059	}
96060	if ils.ConnectVia != nil {
96061		objectMap["connectVia"] = ils.ConnectVia
96062	}
96063	if ils.Description != nil {
96064		objectMap["description"] = ils.Description
96065	}
96066	if ils.Parameters != nil {
96067		objectMap["parameters"] = ils.Parameters
96068	}
96069	if ils.Annotations != nil {
96070		objectMap["annotations"] = ils.Annotations
96071	}
96072	if ils.Type != "" {
96073		objectMap["type"] = ils.Type
96074	}
96075	for k, v := range ils.AdditionalProperties {
96076		objectMap[k] = v
96077	}
96078	return json.Marshal(objectMap)
96079}
96080
96081// AsAzureFunctionLinkedService is the BasicLinkedService implementation for InformixLinkedService.
96082func (ils InformixLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) {
96083	return nil, false
96084}
96085
96086// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for InformixLinkedService.
96087func (ils InformixLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) {
96088	return nil, false
96089}
96090
96091// AsSapTableLinkedService is the BasicLinkedService implementation for InformixLinkedService.
96092func (ils InformixLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) {
96093	return nil, false
96094}
96095
96096// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for InformixLinkedService.
96097func (ils InformixLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) {
96098	return nil, false
96099}
96100
96101// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for InformixLinkedService.
96102func (ils InformixLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) {
96103	return nil, false
96104}
96105
96106// AsDynamicsAXLinkedService is the BasicLinkedService implementation for InformixLinkedService.
96107func (ils InformixLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) {
96108	return nil, false
96109}
96110
96111// AsResponsysLinkedService is the BasicLinkedService implementation for InformixLinkedService.
96112func (ils InformixLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
96113	return nil, false
96114}
96115
96116// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for InformixLinkedService.
96117func (ils InformixLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
96118	return nil, false
96119}
96120
96121// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for InformixLinkedService.
96122func (ils InformixLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
96123	return nil, false
96124}
96125
96126// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for InformixLinkedService.
96127func (ils InformixLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
96128	return nil, false
96129}
96130
96131// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for InformixLinkedService.
96132func (ils InformixLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
96133	return nil, false
96134}
96135
96136// AsNetezzaLinkedService is the BasicLinkedService implementation for InformixLinkedService.
96137func (ils InformixLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
96138	return nil, false
96139}
96140
96141// AsVerticaLinkedService is the BasicLinkedService implementation for InformixLinkedService.
96142func (ils InformixLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
96143	return nil, false
96144}
96145
96146// AsZohoLinkedService is the BasicLinkedService implementation for InformixLinkedService.
96147func (ils InformixLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
96148	return nil, false
96149}
96150
96151// AsXeroLinkedService is the BasicLinkedService implementation for InformixLinkedService.
96152func (ils InformixLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
96153	return nil, false
96154}
96155
96156// AsSquareLinkedService is the BasicLinkedService implementation for InformixLinkedService.
96157func (ils InformixLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
96158	return nil, false
96159}
96160
96161// AsSparkLinkedService is the BasicLinkedService implementation for InformixLinkedService.
96162func (ils InformixLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
96163	return nil, false
96164}
96165
96166// AsShopifyLinkedService is the BasicLinkedService implementation for InformixLinkedService.
96167func (ils InformixLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
96168	return nil, false
96169}
96170
96171// AsServiceNowLinkedService is the BasicLinkedService implementation for InformixLinkedService.
96172func (ils InformixLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
96173	return nil, false
96174}
96175
96176// AsQuickBooksLinkedService is the BasicLinkedService implementation for InformixLinkedService.
96177func (ils InformixLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
96178	return nil, false
96179}
96180
96181// AsPrestoLinkedService is the BasicLinkedService implementation for InformixLinkedService.
96182func (ils InformixLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
96183	return nil, false
96184}
96185
96186// AsPhoenixLinkedService is the BasicLinkedService implementation for InformixLinkedService.
96187func (ils InformixLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
96188	return nil, false
96189}
96190
96191// AsPaypalLinkedService is the BasicLinkedService implementation for InformixLinkedService.
96192func (ils InformixLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
96193	return nil, false
96194}
96195
96196// AsMarketoLinkedService is the BasicLinkedService implementation for InformixLinkedService.
96197func (ils InformixLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
96198	return nil, false
96199}
96200
96201// AsMariaDBLinkedService is the BasicLinkedService implementation for InformixLinkedService.
96202func (ils InformixLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
96203	return nil, false
96204}
96205
96206// AsMagentoLinkedService is the BasicLinkedService implementation for InformixLinkedService.
96207func (ils InformixLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
96208	return nil, false
96209}
96210
96211// AsJiraLinkedService is the BasicLinkedService implementation for InformixLinkedService.
96212func (ils InformixLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
96213	return nil, false
96214}
96215
96216// AsImpalaLinkedService is the BasicLinkedService implementation for InformixLinkedService.
96217func (ils InformixLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
96218	return nil, false
96219}
96220
96221// AsHubspotLinkedService is the BasicLinkedService implementation for InformixLinkedService.
96222func (ils InformixLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
96223	return nil, false
96224}
96225
96226// AsHiveLinkedService is the BasicLinkedService implementation for InformixLinkedService.
96227func (ils InformixLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
96228	return nil, false
96229}
96230
96231// AsHBaseLinkedService is the BasicLinkedService implementation for InformixLinkedService.
96232func (ils InformixLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
96233	return nil, false
96234}
96235
96236// AsGreenplumLinkedService is the BasicLinkedService implementation for InformixLinkedService.
96237func (ils InformixLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
96238	return nil, false
96239}
96240
96241// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for InformixLinkedService.
96242func (ils InformixLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
96243	return nil, false
96244}
96245
96246// AsEloquaLinkedService is the BasicLinkedService implementation for InformixLinkedService.
96247func (ils InformixLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
96248	return nil, false
96249}
96250
96251// AsDrillLinkedService is the BasicLinkedService implementation for InformixLinkedService.
96252func (ils InformixLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
96253	return nil, false
96254}
96255
96256// AsCouchbaseLinkedService is the BasicLinkedService implementation for InformixLinkedService.
96257func (ils InformixLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
96258	return nil, false
96259}
96260
96261// AsConcurLinkedService is the BasicLinkedService implementation for InformixLinkedService.
96262func (ils InformixLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
96263	return nil, false
96264}
96265
96266// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for InformixLinkedService.
96267func (ils InformixLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
96268	return nil, false
96269}
96270
96271// AsAmazonMWSLinkedService is the BasicLinkedService implementation for InformixLinkedService.
96272func (ils InformixLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
96273	return nil, false
96274}
96275
96276// AsSapHanaLinkedService is the BasicLinkedService implementation for InformixLinkedService.
96277func (ils InformixLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
96278	return nil, false
96279}
96280
96281// AsSapBWLinkedService is the BasicLinkedService implementation for InformixLinkedService.
96282func (ils InformixLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
96283	return nil, false
96284}
96285
96286// AsSftpServerLinkedService is the BasicLinkedService implementation for InformixLinkedService.
96287func (ils InformixLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
96288	return nil, false
96289}
96290
96291// AsFtpServerLinkedService is the BasicLinkedService implementation for InformixLinkedService.
96292func (ils InformixLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
96293	return nil, false
96294}
96295
96296// AsHTTPLinkedService is the BasicLinkedService implementation for InformixLinkedService.
96297func (ils InformixLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
96298	return nil, false
96299}
96300
96301// AsAzureSearchLinkedService is the BasicLinkedService implementation for InformixLinkedService.
96302func (ils InformixLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
96303	return nil, false
96304}
96305
96306// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for InformixLinkedService.
96307func (ils InformixLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
96308	return nil, false
96309}
96310
96311// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for InformixLinkedService.
96312func (ils InformixLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
96313	return nil, false
96314}
96315
96316// AsAmazonS3LinkedService is the BasicLinkedService implementation for InformixLinkedService.
96317func (ils InformixLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
96318	return nil, false
96319}
96320
96321// AsRestServiceLinkedService is the BasicLinkedService implementation for InformixLinkedService.
96322func (ils InformixLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) {
96323	return nil, false
96324}
96325
96326// AsSapOpenHubLinkedService is the BasicLinkedService implementation for InformixLinkedService.
96327func (ils InformixLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) {
96328	return nil, false
96329}
96330
96331// AsSapEccLinkedService is the BasicLinkedService implementation for InformixLinkedService.
96332func (ils InformixLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
96333	return nil, false
96334}
96335
96336// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for InformixLinkedService.
96337func (ils InformixLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
96338	return nil, false
96339}
96340
96341// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for InformixLinkedService.
96342func (ils InformixLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) {
96343	return nil, false
96344}
96345
96346// AsSalesforceLinkedService is the BasicLinkedService implementation for InformixLinkedService.
96347func (ils InformixLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
96348	return nil, false
96349}
96350
96351// AsOffice365LinkedService is the BasicLinkedService implementation for InformixLinkedService.
96352func (ils InformixLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) {
96353	return nil, false
96354}
96355
96356// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for InformixLinkedService.
96357func (ils InformixLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) {
96358	return nil, false
96359}
96360
96361// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for InformixLinkedService.
96362func (ils InformixLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
96363	return nil, false
96364}
96365
96366// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for InformixLinkedService.
96367func (ils InformixLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) {
96368	return nil, false
96369}
96370
96371// AsMongoDbV2LinkedService is the BasicLinkedService implementation for InformixLinkedService.
96372func (ils InformixLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) {
96373	return nil, false
96374}
96375
96376// AsMongoDbLinkedService is the BasicLinkedService implementation for InformixLinkedService.
96377func (ils InformixLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
96378	return nil, false
96379}
96380
96381// AsCassandraLinkedService is the BasicLinkedService implementation for InformixLinkedService.
96382func (ils InformixLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
96383	return nil, false
96384}
96385
96386// AsWebLinkedService is the BasicLinkedService implementation for InformixLinkedService.
96387func (ils InformixLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
96388	return nil, false
96389}
96390
96391// AsODataLinkedService is the BasicLinkedService implementation for InformixLinkedService.
96392func (ils InformixLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
96393	return nil, false
96394}
96395
96396// AsHdfsLinkedService is the BasicLinkedService implementation for InformixLinkedService.
96397func (ils InformixLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
96398	return nil, false
96399}
96400
96401// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for InformixLinkedService.
96402func (ils InformixLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) {
96403	return nil, false
96404}
96405
96406// AsInformixLinkedService is the BasicLinkedService implementation for InformixLinkedService.
96407func (ils InformixLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) {
96408	return &ils, true
96409}
96410
96411// AsOdbcLinkedService is the BasicLinkedService implementation for InformixLinkedService.
96412func (ils InformixLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
96413	return nil, false
96414}
96415
96416// AsAzureMLLinkedService is the BasicLinkedService implementation for InformixLinkedService.
96417func (ils InformixLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
96418	return nil, false
96419}
96420
96421// AsTeradataLinkedService is the BasicLinkedService implementation for InformixLinkedService.
96422func (ils InformixLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
96423	return nil, false
96424}
96425
96426// AsDb2LinkedService is the BasicLinkedService implementation for InformixLinkedService.
96427func (ils InformixLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
96428	return nil, false
96429}
96430
96431// AsSybaseLinkedService is the BasicLinkedService implementation for InformixLinkedService.
96432func (ils InformixLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
96433	return nil, false
96434}
96435
96436// AsPostgreSQLLinkedService is the BasicLinkedService implementation for InformixLinkedService.
96437func (ils InformixLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
96438	return nil, false
96439}
96440
96441// AsMySQLLinkedService is the BasicLinkedService implementation for InformixLinkedService.
96442func (ils InformixLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
96443	return nil, false
96444}
96445
96446// AsAzureMySQLLinkedService is the BasicLinkedService implementation for InformixLinkedService.
96447func (ils InformixLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
96448	return nil, false
96449}
96450
96451// AsOracleLinkedService is the BasicLinkedService implementation for InformixLinkedService.
96452func (ils InformixLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
96453	return nil, false
96454}
96455
96456// AsFileServerLinkedService is the BasicLinkedService implementation for InformixLinkedService.
96457func (ils InformixLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
96458	return nil, false
96459}
96460
96461// AsHDInsightLinkedService is the BasicLinkedService implementation for InformixLinkedService.
96462func (ils InformixLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
96463	return nil, false
96464}
96465
96466// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for InformixLinkedService.
96467func (ils InformixLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) {
96468	return nil, false
96469}
96470
96471// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for InformixLinkedService.
96472func (ils InformixLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) {
96473	return nil, false
96474}
96475
96476// AsDynamicsLinkedService is the BasicLinkedService implementation for InformixLinkedService.
96477func (ils InformixLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
96478	return nil, false
96479}
96480
96481// AsCosmosDbLinkedService is the BasicLinkedService implementation for InformixLinkedService.
96482func (ils InformixLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
96483	return nil, false
96484}
96485
96486// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for InformixLinkedService.
96487func (ils InformixLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
96488	return nil, false
96489}
96490
96491// AsAzureBatchLinkedService is the BasicLinkedService implementation for InformixLinkedService.
96492func (ils InformixLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
96493	return nil, false
96494}
96495
96496// AsAzureSQLMILinkedService is the BasicLinkedService implementation for InformixLinkedService.
96497func (ils InformixLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) {
96498	return nil, false
96499}
96500
96501// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for InformixLinkedService.
96502func (ils InformixLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
96503	return nil, false
96504}
96505
96506// AsSQLServerLinkedService is the BasicLinkedService implementation for InformixLinkedService.
96507func (ils InformixLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
96508	return nil, false
96509}
96510
96511// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for InformixLinkedService.
96512func (ils InformixLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
96513	return nil, false
96514}
96515
96516// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for InformixLinkedService.
96517func (ils InformixLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) {
96518	return nil, false
96519}
96520
96521// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for InformixLinkedService.
96522func (ils InformixLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) {
96523	return nil, false
96524}
96525
96526// AsAzureStorageLinkedService is the BasicLinkedService implementation for InformixLinkedService.
96527func (ils InformixLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
96528	return nil, false
96529}
96530
96531// AsLinkedService is the BasicLinkedService implementation for InformixLinkedService.
96532func (ils InformixLinkedService) AsLinkedService() (*LinkedService, bool) {
96533	return nil, false
96534}
96535
96536// AsBasicLinkedService is the BasicLinkedService implementation for InformixLinkedService.
96537func (ils InformixLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
96538	return &ils, true
96539}
96540
96541// UnmarshalJSON is the custom unmarshaler for InformixLinkedService struct.
96542func (ils *InformixLinkedService) UnmarshalJSON(body []byte) error {
96543	var m map[string]*json.RawMessage
96544	err := json.Unmarshal(body, &m)
96545	if err != nil {
96546		return err
96547	}
96548	for k, v := range m {
96549		switch k {
96550		case "typeProperties":
96551			if v != nil {
96552				var informixLinkedServiceTypeProperties InformixLinkedServiceTypeProperties
96553				err = json.Unmarshal(*v, &informixLinkedServiceTypeProperties)
96554				if err != nil {
96555					return err
96556				}
96557				ils.InformixLinkedServiceTypeProperties = &informixLinkedServiceTypeProperties
96558			}
96559		default:
96560			if v != nil {
96561				var additionalProperties interface{}
96562				err = json.Unmarshal(*v, &additionalProperties)
96563				if err != nil {
96564					return err
96565				}
96566				if ils.AdditionalProperties == nil {
96567					ils.AdditionalProperties = make(map[string]interface{})
96568				}
96569				ils.AdditionalProperties[k] = additionalProperties
96570			}
96571		case "connectVia":
96572			if v != nil {
96573				var connectVia IntegrationRuntimeReference
96574				err = json.Unmarshal(*v, &connectVia)
96575				if err != nil {
96576					return err
96577				}
96578				ils.ConnectVia = &connectVia
96579			}
96580		case "description":
96581			if v != nil {
96582				var description string
96583				err = json.Unmarshal(*v, &description)
96584				if err != nil {
96585					return err
96586				}
96587				ils.Description = &description
96588			}
96589		case "parameters":
96590			if v != nil {
96591				var parameters map[string]*ParameterSpecification
96592				err = json.Unmarshal(*v, &parameters)
96593				if err != nil {
96594					return err
96595				}
96596				ils.Parameters = parameters
96597			}
96598		case "annotations":
96599			if v != nil {
96600				var annotations []interface{}
96601				err = json.Unmarshal(*v, &annotations)
96602				if err != nil {
96603					return err
96604				}
96605				ils.Annotations = &annotations
96606			}
96607		case "type":
96608			if v != nil {
96609				var typeVar TypeBasicLinkedService
96610				err = json.Unmarshal(*v, &typeVar)
96611				if err != nil {
96612					return err
96613				}
96614				ils.Type = typeVar
96615			}
96616		}
96617	}
96618
96619	return nil
96620}
96621
96622// InformixLinkedServiceTypeProperties informix linked service properties.
96623type InformixLinkedServiceTypeProperties struct {
96624	// ConnectionString - The non-access credential portion of the connection string as well as an optional encrypted credential. Type: string, SecureString or AzureKeyVaultSecretReference.
96625	ConnectionString interface{} `json:"connectionString,omitempty"`
96626	// AuthenticationType - Type of authentication used to connect to the Informix as ODBC data store. Possible values are: Anonymous and Basic. Type: string (or Expression with resultType string).
96627	AuthenticationType interface{} `json:"authenticationType,omitempty"`
96628	// Credential - The access credential portion of the connection string specified in driver-specific property-value format.
96629	Credential BasicSecretBase `json:"credential,omitempty"`
96630	// UserName - User name for Basic authentication. Type: string (or Expression with resultType string).
96631	UserName interface{} `json:"userName,omitempty"`
96632	// Password - Password for Basic authentication.
96633	Password BasicSecretBase `json:"password,omitempty"`
96634	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
96635	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
96636}
96637
96638// UnmarshalJSON is the custom unmarshaler for InformixLinkedServiceTypeProperties struct.
96639func (ilstp *InformixLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
96640	var m map[string]*json.RawMessage
96641	err := json.Unmarshal(body, &m)
96642	if err != nil {
96643		return err
96644	}
96645	for k, v := range m {
96646		switch k {
96647		case "connectionString":
96648			if v != nil {
96649				var connectionString interface{}
96650				err = json.Unmarshal(*v, &connectionString)
96651				if err != nil {
96652					return err
96653				}
96654				ilstp.ConnectionString = connectionString
96655			}
96656		case "authenticationType":
96657			if v != nil {
96658				var authenticationType interface{}
96659				err = json.Unmarshal(*v, &authenticationType)
96660				if err != nil {
96661					return err
96662				}
96663				ilstp.AuthenticationType = authenticationType
96664			}
96665		case "credential":
96666			if v != nil {
96667				credential, err := unmarshalBasicSecretBase(*v)
96668				if err != nil {
96669					return err
96670				}
96671				ilstp.Credential = credential
96672			}
96673		case "userName":
96674			if v != nil {
96675				var userName interface{}
96676				err = json.Unmarshal(*v, &userName)
96677				if err != nil {
96678					return err
96679				}
96680				ilstp.UserName = userName
96681			}
96682		case "password":
96683			if v != nil {
96684				password, err := unmarshalBasicSecretBase(*v)
96685				if err != nil {
96686					return err
96687				}
96688				ilstp.Password = password
96689			}
96690		case "encryptedCredential":
96691			if v != nil {
96692				var encryptedCredential interface{}
96693				err = json.Unmarshal(*v, &encryptedCredential)
96694				if err != nil {
96695					return err
96696				}
96697				ilstp.EncryptedCredential = encryptedCredential
96698			}
96699		}
96700	}
96701
96702	return nil
96703}
96704
96705// InformixSink a copy activity Informix sink.
96706type InformixSink struct {
96707	// PreCopyScript - A query to execute before starting the copy. Type: string (or Expression with resultType string).
96708	PreCopyScript interface{} `json:"preCopyScript,omitempty"`
96709	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
96710	AdditionalProperties map[string]interface{} `json:""`
96711	// WriteBatchSize - Write batch size. Type: integer (or Expression with resultType integer), minimum: 0.
96712	WriteBatchSize interface{} `json:"writeBatchSize,omitempty"`
96713	// 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])).
96714	WriteBatchTimeout interface{} `json:"writeBatchTimeout,omitempty"`
96715	// SinkRetryCount - Sink retry count. Type: integer (or Expression with resultType integer).
96716	SinkRetryCount interface{} `json:"sinkRetryCount,omitempty"`
96717	// 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])).
96718	SinkRetryWait interface{} `json:"sinkRetryWait,omitempty"`
96719	// MaxConcurrentConnections - The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer).
96720	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
96721	// Type - Possible values include: 'TypeCopySink', 'TypeCosmosDbMongoDbAPISink', 'TypeSalesforceServiceCloudSink', 'TypeSalesforceSink', 'TypeAzureDataExplorerSink', 'TypeCommonDataServiceForAppsSink', 'TypeDynamicsCrmSink', 'TypeDynamicsSink', 'TypeMicrosoftAccessSink', 'TypeInformixSink', 'TypeOdbcSink', 'TypeAzureSearchIndexSink', 'TypeAzureBlobFSSink', 'TypeAzureDataLakeStoreSink', 'TypeOracleSink', 'TypeSQLDWSink', 'TypeSQLMISink', 'TypeAzureSQLSink', 'TypeSQLServerSink', 'TypeSQLSink', 'TypeDocumentDbCollectionSink', 'TypeFileSystemSink', 'TypeBlobSink', 'TypeBinarySink', 'TypeParquetSink', 'TypeAzureTableSink', 'TypeAzureQueueSink', 'TypeSapCloudForCustomerSink', 'TypeAzurePostgreSQLSink', 'TypeDelimitedTextSink'
96722	Type TypeBasicCopySink `json:"type,omitempty"`
96723}
96724
96725// MarshalJSON is the custom marshaler for InformixSink.
96726func (is InformixSink) MarshalJSON() ([]byte, error) {
96727	is.Type = TypeInformixSink
96728	objectMap := make(map[string]interface{})
96729	if is.PreCopyScript != nil {
96730		objectMap["preCopyScript"] = is.PreCopyScript
96731	}
96732	if is.WriteBatchSize != nil {
96733		objectMap["writeBatchSize"] = is.WriteBatchSize
96734	}
96735	if is.WriteBatchTimeout != nil {
96736		objectMap["writeBatchTimeout"] = is.WriteBatchTimeout
96737	}
96738	if is.SinkRetryCount != nil {
96739		objectMap["sinkRetryCount"] = is.SinkRetryCount
96740	}
96741	if is.SinkRetryWait != nil {
96742		objectMap["sinkRetryWait"] = is.SinkRetryWait
96743	}
96744	if is.MaxConcurrentConnections != nil {
96745		objectMap["maxConcurrentConnections"] = is.MaxConcurrentConnections
96746	}
96747	if is.Type != "" {
96748		objectMap["type"] = is.Type
96749	}
96750	for k, v := range is.AdditionalProperties {
96751		objectMap[k] = v
96752	}
96753	return json.Marshal(objectMap)
96754}
96755
96756// AsCosmosDbMongoDbAPISink is the BasicCopySink implementation for InformixSink.
96757func (is InformixSink) AsCosmosDbMongoDbAPISink() (*CosmosDbMongoDbAPISink, bool) {
96758	return nil, false
96759}
96760
96761// AsSalesforceServiceCloudSink is the BasicCopySink implementation for InformixSink.
96762func (is InformixSink) AsSalesforceServiceCloudSink() (*SalesforceServiceCloudSink, bool) {
96763	return nil, false
96764}
96765
96766// AsSalesforceSink is the BasicCopySink implementation for InformixSink.
96767func (is InformixSink) AsSalesforceSink() (*SalesforceSink, bool) {
96768	return nil, false
96769}
96770
96771// AsAzureDataExplorerSink is the BasicCopySink implementation for InformixSink.
96772func (is InformixSink) AsAzureDataExplorerSink() (*AzureDataExplorerSink, bool) {
96773	return nil, false
96774}
96775
96776// AsCommonDataServiceForAppsSink is the BasicCopySink implementation for InformixSink.
96777func (is InformixSink) AsCommonDataServiceForAppsSink() (*CommonDataServiceForAppsSink, bool) {
96778	return nil, false
96779}
96780
96781// AsDynamicsCrmSink is the BasicCopySink implementation for InformixSink.
96782func (is InformixSink) AsDynamicsCrmSink() (*DynamicsCrmSink, bool) {
96783	return nil, false
96784}
96785
96786// AsDynamicsSink is the BasicCopySink implementation for InformixSink.
96787func (is InformixSink) AsDynamicsSink() (*DynamicsSink, bool) {
96788	return nil, false
96789}
96790
96791// AsMicrosoftAccessSink is the BasicCopySink implementation for InformixSink.
96792func (is InformixSink) AsMicrosoftAccessSink() (*MicrosoftAccessSink, bool) {
96793	return nil, false
96794}
96795
96796// AsInformixSink is the BasicCopySink implementation for InformixSink.
96797func (is InformixSink) AsInformixSink() (*InformixSink, bool) {
96798	return &is, true
96799}
96800
96801// AsOdbcSink is the BasicCopySink implementation for InformixSink.
96802func (is InformixSink) AsOdbcSink() (*OdbcSink, bool) {
96803	return nil, false
96804}
96805
96806// AsAzureSearchIndexSink is the BasicCopySink implementation for InformixSink.
96807func (is InformixSink) AsAzureSearchIndexSink() (*AzureSearchIndexSink, bool) {
96808	return nil, false
96809}
96810
96811// AsAzureBlobFSSink is the BasicCopySink implementation for InformixSink.
96812func (is InformixSink) AsAzureBlobFSSink() (*AzureBlobFSSink, bool) {
96813	return nil, false
96814}
96815
96816// AsAzureDataLakeStoreSink is the BasicCopySink implementation for InformixSink.
96817func (is InformixSink) AsAzureDataLakeStoreSink() (*AzureDataLakeStoreSink, bool) {
96818	return nil, false
96819}
96820
96821// AsOracleSink is the BasicCopySink implementation for InformixSink.
96822func (is InformixSink) AsOracleSink() (*OracleSink, bool) {
96823	return nil, false
96824}
96825
96826// AsSQLDWSink is the BasicCopySink implementation for InformixSink.
96827func (is InformixSink) AsSQLDWSink() (*SQLDWSink, bool) {
96828	return nil, false
96829}
96830
96831// AsSQLMISink is the BasicCopySink implementation for InformixSink.
96832func (is InformixSink) AsSQLMISink() (*SQLMISink, bool) {
96833	return nil, false
96834}
96835
96836// AsAzureSQLSink is the BasicCopySink implementation for InformixSink.
96837func (is InformixSink) AsAzureSQLSink() (*AzureSQLSink, bool) {
96838	return nil, false
96839}
96840
96841// AsSQLServerSink is the BasicCopySink implementation for InformixSink.
96842func (is InformixSink) AsSQLServerSink() (*SQLServerSink, bool) {
96843	return nil, false
96844}
96845
96846// AsSQLSink is the BasicCopySink implementation for InformixSink.
96847func (is InformixSink) AsSQLSink() (*SQLSink, bool) {
96848	return nil, false
96849}
96850
96851// AsDocumentDbCollectionSink is the BasicCopySink implementation for InformixSink.
96852func (is InformixSink) AsDocumentDbCollectionSink() (*DocumentDbCollectionSink, bool) {
96853	return nil, false
96854}
96855
96856// AsFileSystemSink is the BasicCopySink implementation for InformixSink.
96857func (is InformixSink) AsFileSystemSink() (*FileSystemSink, bool) {
96858	return nil, false
96859}
96860
96861// AsBlobSink is the BasicCopySink implementation for InformixSink.
96862func (is InformixSink) AsBlobSink() (*BlobSink, bool) {
96863	return nil, false
96864}
96865
96866// AsBinarySink is the BasicCopySink implementation for InformixSink.
96867func (is InformixSink) AsBinarySink() (*BinarySink, bool) {
96868	return nil, false
96869}
96870
96871// AsParquetSink is the BasicCopySink implementation for InformixSink.
96872func (is InformixSink) AsParquetSink() (*ParquetSink, bool) {
96873	return nil, false
96874}
96875
96876// AsAzureTableSink is the BasicCopySink implementation for InformixSink.
96877func (is InformixSink) AsAzureTableSink() (*AzureTableSink, bool) {
96878	return nil, false
96879}
96880
96881// AsAzureQueueSink is the BasicCopySink implementation for InformixSink.
96882func (is InformixSink) AsAzureQueueSink() (*AzureQueueSink, bool) {
96883	return nil, false
96884}
96885
96886// AsSapCloudForCustomerSink is the BasicCopySink implementation for InformixSink.
96887func (is InformixSink) AsSapCloudForCustomerSink() (*SapCloudForCustomerSink, bool) {
96888	return nil, false
96889}
96890
96891// AsAzurePostgreSQLSink is the BasicCopySink implementation for InformixSink.
96892func (is InformixSink) AsAzurePostgreSQLSink() (*AzurePostgreSQLSink, bool) {
96893	return nil, false
96894}
96895
96896// AsDelimitedTextSink is the BasicCopySink implementation for InformixSink.
96897func (is InformixSink) AsDelimitedTextSink() (*DelimitedTextSink, bool) {
96898	return nil, false
96899}
96900
96901// AsCopySink is the BasicCopySink implementation for InformixSink.
96902func (is InformixSink) AsCopySink() (*CopySink, bool) {
96903	return nil, false
96904}
96905
96906// AsBasicCopySink is the BasicCopySink implementation for InformixSink.
96907func (is InformixSink) AsBasicCopySink() (BasicCopySink, bool) {
96908	return &is, true
96909}
96910
96911// UnmarshalJSON is the custom unmarshaler for InformixSink struct.
96912func (is *InformixSink) UnmarshalJSON(body []byte) error {
96913	var m map[string]*json.RawMessage
96914	err := json.Unmarshal(body, &m)
96915	if err != nil {
96916		return err
96917	}
96918	for k, v := range m {
96919		switch k {
96920		case "preCopyScript":
96921			if v != nil {
96922				var preCopyScript interface{}
96923				err = json.Unmarshal(*v, &preCopyScript)
96924				if err != nil {
96925					return err
96926				}
96927				is.PreCopyScript = preCopyScript
96928			}
96929		default:
96930			if v != nil {
96931				var additionalProperties interface{}
96932				err = json.Unmarshal(*v, &additionalProperties)
96933				if err != nil {
96934					return err
96935				}
96936				if is.AdditionalProperties == nil {
96937					is.AdditionalProperties = make(map[string]interface{})
96938				}
96939				is.AdditionalProperties[k] = additionalProperties
96940			}
96941		case "writeBatchSize":
96942			if v != nil {
96943				var writeBatchSize interface{}
96944				err = json.Unmarshal(*v, &writeBatchSize)
96945				if err != nil {
96946					return err
96947				}
96948				is.WriteBatchSize = writeBatchSize
96949			}
96950		case "writeBatchTimeout":
96951			if v != nil {
96952				var writeBatchTimeout interface{}
96953				err = json.Unmarshal(*v, &writeBatchTimeout)
96954				if err != nil {
96955					return err
96956				}
96957				is.WriteBatchTimeout = writeBatchTimeout
96958			}
96959		case "sinkRetryCount":
96960			if v != nil {
96961				var sinkRetryCount interface{}
96962				err = json.Unmarshal(*v, &sinkRetryCount)
96963				if err != nil {
96964					return err
96965				}
96966				is.SinkRetryCount = sinkRetryCount
96967			}
96968		case "sinkRetryWait":
96969			if v != nil {
96970				var sinkRetryWait interface{}
96971				err = json.Unmarshal(*v, &sinkRetryWait)
96972				if err != nil {
96973					return err
96974				}
96975				is.SinkRetryWait = sinkRetryWait
96976			}
96977		case "maxConcurrentConnections":
96978			if v != nil {
96979				var maxConcurrentConnections interface{}
96980				err = json.Unmarshal(*v, &maxConcurrentConnections)
96981				if err != nil {
96982					return err
96983				}
96984				is.MaxConcurrentConnections = maxConcurrentConnections
96985			}
96986		case "type":
96987			if v != nil {
96988				var typeVar TypeBasicCopySink
96989				err = json.Unmarshal(*v, &typeVar)
96990				if err != nil {
96991					return err
96992				}
96993				is.Type = typeVar
96994			}
96995		}
96996	}
96997
96998	return nil
96999}
97000
97001// InformixSource a copy activity source for Informix.
97002type InformixSource struct {
97003	// Query - Database query. Type: string (or Expression with resultType string).
97004	Query interface{} `json:"query,omitempty"`
97005	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
97006	AdditionalProperties map[string]interface{} `json:""`
97007	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
97008	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
97009	// 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])).
97010	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
97011	// MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer).
97012	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
97013	// Type - Possible values include: 'TypeCopySource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', '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', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeCassandraSource', 'TypeWebSource', 'TypeTeradataSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeAzureMySQLSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeRestSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceServiceCloudSource', 'TypeSalesforceSource', 'TypeODataSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeMicrosoftAccessSource', 'TypeInformixSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAzureTableSource', 'TypeBinarySource', 'TypeDelimitedTextSource', 'TypeParquetSource'
97014	Type TypeBasicCopySource `json:"type,omitempty"`
97015}
97016
97017// MarshalJSON is the custom marshaler for InformixSource.
97018func (is InformixSource) MarshalJSON() ([]byte, error) {
97019	is.Type = TypeInformixSource
97020	objectMap := make(map[string]interface{})
97021	if is.Query != nil {
97022		objectMap["query"] = is.Query
97023	}
97024	if is.SourceRetryCount != nil {
97025		objectMap["sourceRetryCount"] = is.SourceRetryCount
97026	}
97027	if is.SourceRetryWait != nil {
97028		objectMap["sourceRetryWait"] = is.SourceRetryWait
97029	}
97030	if is.MaxConcurrentConnections != nil {
97031		objectMap["maxConcurrentConnections"] = is.MaxConcurrentConnections
97032	}
97033	if is.Type != "" {
97034		objectMap["type"] = is.Type
97035	}
97036	for k, v := range is.AdditionalProperties {
97037		objectMap[k] = v
97038	}
97039	return json.Marshal(objectMap)
97040}
97041
97042// AsAmazonRedshiftSource is the BasicCopySource implementation for InformixSource.
97043func (is InformixSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
97044	return nil, false
97045}
97046
97047// AsGoogleAdWordsSource is the BasicCopySource implementation for InformixSource.
97048func (is InformixSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) {
97049	return nil, false
97050}
97051
97052// AsOracleServiceCloudSource is the BasicCopySource implementation for InformixSource.
97053func (is InformixSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) {
97054	return nil, false
97055}
97056
97057// AsDynamicsAXSource is the BasicCopySource implementation for InformixSource.
97058func (is InformixSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) {
97059	return nil, false
97060}
97061
97062// AsResponsysSource is the BasicCopySource implementation for InformixSource.
97063func (is InformixSource) AsResponsysSource() (*ResponsysSource, bool) {
97064	return nil, false
97065}
97066
97067// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for InformixSource.
97068func (is InformixSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
97069	return nil, false
97070}
97071
97072// AsVerticaSource is the BasicCopySource implementation for InformixSource.
97073func (is InformixSource) AsVerticaSource() (*VerticaSource, bool) {
97074	return nil, false
97075}
97076
97077// AsNetezzaSource is the BasicCopySource implementation for InformixSource.
97078func (is InformixSource) AsNetezzaSource() (*NetezzaSource, bool) {
97079	return nil, false
97080}
97081
97082// AsZohoSource is the BasicCopySource implementation for InformixSource.
97083func (is InformixSource) AsZohoSource() (*ZohoSource, bool) {
97084	return nil, false
97085}
97086
97087// AsXeroSource is the BasicCopySource implementation for InformixSource.
97088func (is InformixSource) AsXeroSource() (*XeroSource, bool) {
97089	return nil, false
97090}
97091
97092// AsSquareSource is the BasicCopySource implementation for InformixSource.
97093func (is InformixSource) AsSquareSource() (*SquareSource, bool) {
97094	return nil, false
97095}
97096
97097// AsSparkSource is the BasicCopySource implementation for InformixSource.
97098func (is InformixSource) AsSparkSource() (*SparkSource, bool) {
97099	return nil, false
97100}
97101
97102// AsShopifySource is the BasicCopySource implementation for InformixSource.
97103func (is InformixSource) AsShopifySource() (*ShopifySource, bool) {
97104	return nil, false
97105}
97106
97107// AsServiceNowSource is the BasicCopySource implementation for InformixSource.
97108func (is InformixSource) AsServiceNowSource() (*ServiceNowSource, bool) {
97109	return nil, false
97110}
97111
97112// AsQuickBooksSource is the BasicCopySource implementation for InformixSource.
97113func (is InformixSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
97114	return nil, false
97115}
97116
97117// AsPrestoSource is the BasicCopySource implementation for InformixSource.
97118func (is InformixSource) AsPrestoSource() (*PrestoSource, bool) {
97119	return nil, false
97120}
97121
97122// AsPhoenixSource is the BasicCopySource implementation for InformixSource.
97123func (is InformixSource) AsPhoenixSource() (*PhoenixSource, bool) {
97124	return nil, false
97125}
97126
97127// AsPaypalSource is the BasicCopySource implementation for InformixSource.
97128func (is InformixSource) AsPaypalSource() (*PaypalSource, bool) {
97129	return nil, false
97130}
97131
97132// AsMarketoSource is the BasicCopySource implementation for InformixSource.
97133func (is InformixSource) AsMarketoSource() (*MarketoSource, bool) {
97134	return nil, false
97135}
97136
97137// AsMariaDBSource is the BasicCopySource implementation for InformixSource.
97138func (is InformixSource) AsMariaDBSource() (*MariaDBSource, bool) {
97139	return nil, false
97140}
97141
97142// AsMagentoSource is the BasicCopySource implementation for InformixSource.
97143func (is InformixSource) AsMagentoSource() (*MagentoSource, bool) {
97144	return nil, false
97145}
97146
97147// AsJiraSource is the BasicCopySource implementation for InformixSource.
97148func (is InformixSource) AsJiraSource() (*JiraSource, bool) {
97149	return nil, false
97150}
97151
97152// AsImpalaSource is the BasicCopySource implementation for InformixSource.
97153func (is InformixSource) AsImpalaSource() (*ImpalaSource, bool) {
97154	return nil, false
97155}
97156
97157// AsHubspotSource is the BasicCopySource implementation for InformixSource.
97158func (is InformixSource) AsHubspotSource() (*HubspotSource, bool) {
97159	return nil, false
97160}
97161
97162// AsHiveSource is the BasicCopySource implementation for InformixSource.
97163func (is InformixSource) AsHiveSource() (*HiveSource, bool) {
97164	return nil, false
97165}
97166
97167// AsHBaseSource is the BasicCopySource implementation for InformixSource.
97168func (is InformixSource) AsHBaseSource() (*HBaseSource, bool) {
97169	return nil, false
97170}
97171
97172// AsGreenplumSource is the BasicCopySource implementation for InformixSource.
97173func (is InformixSource) AsGreenplumSource() (*GreenplumSource, bool) {
97174	return nil, false
97175}
97176
97177// AsGoogleBigQuerySource is the BasicCopySource implementation for InformixSource.
97178func (is InformixSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
97179	return nil, false
97180}
97181
97182// AsEloquaSource is the BasicCopySource implementation for InformixSource.
97183func (is InformixSource) AsEloquaSource() (*EloquaSource, bool) {
97184	return nil, false
97185}
97186
97187// AsDrillSource is the BasicCopySource implementation for InformixSource.
97188func (is InformixSource) AsDrillSource() (*DrillSource, bool) {
97189	return nil, false
97190}
97191
97192// AsCouchbaseSource is the BasicCopySource implementation for InformixSource.
97193func (is InformixSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
97194	return nil, false
97195}
97196
97197// AsConcurSource is the BasicCopySource implementation for InformixSource.
97198func (is InformixSource) AsConcurSource() (*ConcurSource, bool) {
97199	return nil, false
97200}
97201
97202// AsAzurePostgreSQLSource is the BasicCopySource implementation for InformixSource.
97203func (is InformixSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
97204	return nil, false
97205}
97206
97207// AsAmazonMWSSource is the BasicCopySource implementation for InformixSource.
97208func (is InformixSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
97209	return nil, false
97210}
97211
97212// AsHTTPSource is the BasicCopySource implementation for InformixSource.
97213func (is InformixSource) AsHTTPSource() (*HTTPSource, bool) {
97214	return nil, false
97215}
97216
97217// AsAzureBlobFSSource is the BasicCopySource implementation for InformixSource.
97218func (is InformixSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) {
97219	return nil, false
97220}
97221
97222// AsAzureDataLakeStoreSource is the BasicCopySource implementation for InformixSource.
97223func (is InformixSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
97224	return nil, false
97225}
97226
97227// AsOffice365Source is the BasicCopySource implementation for InformixSource.
97228func (is InformixSource) AsOffice365Source() (*Office365Source, bool) {
97229	return nil, false
97230}
97231
97232// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for InformixSource.
97233func (is InformixSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) {
97234	return nil, false
97235}
97236
97237// AsMongoDbV2Source is the BasicCopySource implementation for InformixSource.
97238func (is InformixSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) {
97239	return nil, false
97240}
97241
97242// AsMongoDbSource is the BasicCopySource implementation for InformixSource.
97243func (is InformixSource) AsMongoDbSource() (*MongoDbSource, bool) {
97244	return nil, false
97245}
97246
97247// AsCassandraSource is the BasicCopySource implementation for InformixSource.
97248func (is InformixSource) AsCassandraSource() (*CassandraSource, bool) {
97249	return nil, false
97250}
97251
97252// AsWebSource is the BasicCopySource implementation for InformixSource.
97253func (is InformixSource) AsWebSource() (*WebSource, bool) {
97254	return nil, false
97255}
97256
97257// AsTeradataSource is the BasicCopySource implementation for InformixSource.
97258func (is InformixSource) AsTeradataSource() (*TeradataSource, bool) {
97259	return nil, false
97260}
97261
97262// AsOracleSource is the BasicCopySource implementation for InformixSource.
97263func (is InformixSource) AsOracleSource() (*OracleSource, bool) {
97264	return nil, false
97265}
97266
97267// AsAzureDataExplorerSource is the BasicCopySource implementation for InformixSource.
97268func (is InformixSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) {
97269	return nil, false
97270}
97271
97272// AsAzureMySQLSource is the BasicCopySource implementation for InformixSource.
97273func (is InformixSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
97274	return nil, false
97275}
97276
97277// AsHdfsSource is the BasicCopySource implementation for InformixSource.
97278func (is InformixSource) AsHdfsSource() (*HdfsSource, bool) {
97279	return nil, false
97280}
97281
97282// AsFileSystemSource is the BasicCopySource implementation for InformixSource.
97283func (is InformixSource) AsFileSystemSource() (*FileSystemSource, bool) {
97284	return nil, false
97285}
97286
97287// AsSQLDWSource is the BasicCopySource implementation for InformixSource.
97288func (is InformixSource) AsSQLDWSource() (*SQLDWSource, bool) {
97289	return nil, false
97290}
97291
97292// AsSQLMISource is the BasicCopySource implementation for InformixSource.
97293func (is InformixSource) AsSQLMISource() (*SQLMISource, bool) {
97294	return nil, false
97295}
97296
97297// AsAzureSQLSource is the BasicCopySource implementation for InformixSource.
97298func (is InformixSource) AsAzureSQLSource() (*AzureSQLSource, bool) {
97299	return nil, false
97300}
97301
97302// AsSQLServerSource is the BasicCopySource implementation for InformixSource.
97303func (is InformixSource) AsSQLServerSource() (*SQLServerSource, bool) {
97304	return nil, false
97305}
97306
97307// AsSQLSource is the BasicCopySource implementation for InformixSource.
97308func (is InformixSource) AsSQLSource() (*SQLSource, bool) {
97309	return nil, false
97310}
97311
97312// AsRestSource is the BasicCopySource implementation for InformixSource.
97313func (is InformixSource) AsRestSource() (*RestSource, bool) {
97314	return nil, false
97315}
97316
97317// AsSapTableSource is the BasicCopySource implementation for InformixSource.
97318func (is InformixSource) AsSapTableSource() (*SapTableSource, bool) {
97319	return nil, false
97320}
97321
97322// AsSapOpenHubSource is the BasicCopySource implementation for InformixSource.
97323func (is InformixSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) {
97324	return nil, false
97325}
97326
97327// AsSapHanaSource is the BasicCopySource implementation for InformixSource.
97328func (is InformixSource) AsSapHanaSource() (*SapHanaSource, bool) {
97329	return nil, false
97330}
97331
97332// AsSapEccSource is the BasicCopySource implementation for InformixSource.
97333func (is InformixSource) AsSapEccSource() (*SapEccSource, bool) {
97334	return nil, false
97335}
97336
97337// AsSapCloudForCustomerSource is the BasicCopySource implementation for InformixSource.
97338func (is InformixSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
97339	return nil, false
97340}
97341
97342// AsSalesforceServiceCloudSource is the BasicCopySource implementation for InformixSource.
97343func (is InformixSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) {
97344	return nil, false
97345}
97346
97347// AsSalesforceSource is the BasicCopySource implementation for InformixSource.
97348func (is InformixSource) AsSalesforceSource() (*SalesforceSource, bool) {
97349	return nil, false
97350}
97351
97352// AsODataSource is the BasicCopySource implementation for InformixSource.
97353func (is InformixSource) AsODataSource() (*ODataSource, bool) {
97354	return nil, false
97355}
97356
97357// AsSybaseSource is the BasicCopySource implementation for InformixSource.
97358func (is InformixSource) AsSybaseSource() (*SybaseSource, bool) {
97359	return nil, false
97360}
97361
97362// AsPostgreSQLSource is the BasicCopySource implementation for InformixSource.
97363func (is InformixSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) {
97364	return nil, false
97365}
97366
97367// AsMySQLSource is the BasicCopySource implementation for InformixSource.
97368func (is InformixSource) AsMySQLSource() (*MySQLSource, bool) {
97369	return nil, false
97370}
97371
97372// AsOdbcSource is the BasicCopySource implementation for InformixSource.
97373func (is InformixSource) AsOdbcSource() (*OdbcSource, bool) {
97374	return nil, false
97375}
97376
97377// AsDb2Source is the BasicCopySource implementation for InformixSource.
97378func (is InformixSource) AsDb2Source() (*Db2Source, bool) {
97379	return nil, false
97380}
97381
97382// AsMicrosoftAccessSource is the BasicCopySource implementation for InformixSource.
97383func (is InformixSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) {
97384	return nil, false
97385}
97386
97387// AsInformixSource is the BasicCopySource implementation for InformixSource.
97388func (is InformixSource) AsInformixSource() (*InformixSource, bool) {
97389	return &is, true
97390}
97391
97392// AsRelationalSource is the BasicCopySource implementation for InformixSource.
97393func (is InformixSource) AsRelationalSource() (*RelationalSource, bool) {
97394	return nil, false
97395}
97396
97397// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for InformixSource.
97398func (is InformixSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) {
97399	return nil, false
97400}
97401
97402// AsDynamicsCrmSource is the BasicCopySource implementation for InformixSource.
97403func (is InformixSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) {
97404	return nil, false
97405}
97406
97407// AsDynamicsSource is the BasicCopySource implementation for InformixSource.
97408func (is InformixSource) AsDynamicsSource() (*DynamicsSource, bool) {
97409	return nil, false
97410}
97411
97412// AsDocumentDbCollectionSource is the BasicCopySource implementation for InformixSource.
97413func (is InformixSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
97414	return nil, false
97415}
97416
97417// AsBlobSource is the BasicCopySource implementation for InformixSource.
97418func (is InformixSource) AsBlobSource() (*BlobSource, bool) {
97419	return nil, false
97420}
97421
97422// AsAzureTableSource is the BasicCopySource implementation for InformixSource.
97423func (is InformixSource) AsAzureTableSource() (*AzureTableSource, bool) {
97424	return nil, false
97425}
97426
97427// AsBinarySource is the BasicCopySource implementation for InformixSource.
97428func (is InformixSource) AsBinarySource() (*BinarySource, bool) {
97429	return nil, false
97430}
97431
97432// AsDelimitedTextSource is the BasicCopySource implementation for InformixSource.
97433func (is InformixSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) {
97434	return nil, false
97435}
97436
97437// AsParquetSource is the BasicCopySource implementation for InformixSource.
97438func (is InformixSource) AsParquetSource() (*ParquetSource, bool) {
97439	return nil, false
97440}
97441
97442// AsCopySource is the BasicCopySource implementation for InformixSource.
97443func (is InformixSource) AsCopySource() (*CopySource, bool) {
97444	return nil, false
97445}
97446
97447// AsBasicCopySource is the BasicCopySource implementation for InformixSource.
97448func (is InformixSource) AsBasicCopySource() (BasicCopySource, bool) {
97449	return &is, true
97450}
97451
97452// UnmarshalJSON is the custom unmarshaler for InformixSource struct.
97453func (is *InformixSource) UnmarshalJSON(body []byte) error {
97454	var m map[string]*json.RawMessage
97455	err := json.Unmarshal(body, &m)
97456	if err != nil {
97457		return err
97458	}
97459	for k, v := range m {
97460		switch k {
97461		case "query":
97462			if v != nil {
97463				var query interface{}
97464				err = json.Unmarshal(*v, &query)
97465				if err != nil {
97466					return err
97467				}
97468				is.Query = query
97469			}
97470		default:
97471			if v != nil {
97472				var additionalProperties interface{}
97473				err = json.Unmarshal(*v, &additionalProperties)
97474				if err != nil {
97475					return err
97476				}
97477				if is.AdditionalProperties == nil {
97478					is.AdditionalProperties = make(map[string]interface{})
97479				}
97480				is.AdditionalProperties[k] = additionalProperties
97481			}
97482		case "sourceRetryCount":
97483			if v != nil {
97484				var sourceRetryCount interface{}
97485				err = json.Unmarshal(*v, &sourceRetryCount)
97486				if err != nil {
97487					return err
97488				}
97489				is.SourceRetryCount = sourceRetryCount
97490			}
97491		case "sourceRetryWait":
97492			if v != nil {
97493				var sourceRetryWait interface{}
97494				err = json.Unmarshal(*v, &sourceRetryWait)
97495				if err != nil {
97496					return err
97497				}
97498				is.SourceRetryWait = sourceRetryWait
97499			}
97500		case "maxConcurrentConnections":
97501			if v != nil {
97502				var maxConcurrentConnections interface{}
97503				err = json.Unmarshal(*v, &maxConcurrentConnections)
97504				if err != nil {
97505					return err
97506				}
97507				is.MaxConcurrentConnections = maxConcurrentConnections
97508			}
97509		case "type":
97510			if v != nil {
97511				var typeVar TypeBasicCopySource
97512				err = json.Unmarshal(*v, &typeVar)
97513				if err != nil {
97514					return err
97515				}
97516				is.Type = typeVar
97517			}
97518		}
97519	}
97520
97521	return nil
97522}
97523
97524// InformixTableDataset the Informix table dataset.
97525type InformixTableDataset struct {
97526	// InformixTableDatasetTypeProperties - Informix table dataset properties.
97527	*InformixTableDatasetTypeProperties `json:"typeProperties,omitempty"`
97528	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
97529	AdditionalProperties map[string]interface{} `json:""`
97530	// Description - Dataset description.
97531	Description *string `json:"description,omitempty"`
97532	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
97533	Structure interface{} `json:"structure,omitempty"`
97534	// Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement.
97535	Schema interface{} `json:"schema,omitempty"`
97536	// LinkedServiceName - Linked service reference.
97537	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
97538	// Parameters - Parameters for dataset.
97539	Parameters map[string]*ParameterSpecification `json:"parameters"`
97540	// Annotations - List of tags that can be used for describing the Dataset.
97541	Annotations *[]interface{} `json:"annotations,omitempty"`
97542	// Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level.
97543	Folder *DatasetFolder `json:"folder,omitempty"`
97544	// Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', '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', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeDelimitedText', 'TypeParquet', 'TypeAmazonS3Object'
97545	Type TypeBasicDataset `json:"type,omitempty"`
97546}
97547
97548// MarshalJSON is the custom marshaler for InformixTableDataset.
97549func (itd InformixTableDataset) MarshalJSON() ([]byte, error) {
97550	itd.Type = TypeInformixTable
97551	objectMap := make(map[string]interface{})
97552	if itd.InformixTableDatasetTypeProperties != nil {
97553		objectMap["typeProperties"] = itd.InformixTableDatasetTypeProperties
97554	}
97555	if itd.Description != nil {
97556		objectMap["description"] = itd.Description
97557	}
97558	if itd.Structure != nil {
97559		objectMap["structure"] = itd.Structure
97560	}
97561	if itd.Schema != nil {
97562		objectMap["schema"] = itd.Schema
97563	}
97564	if itd.LinkedServiceName != nil {
97565		objectMap["linkedServiceName"] = itd.LinkedServiceName
97566	}
97567	if itd.Parameters != nil {
97568		objectMap["parameters"] = itd.Parameters
97569	}
97570	if itd.Annotations != nil {
97571		objectMap["annotations"] = itd.Annotations
97572	}
97573	if itd.Folder != nil {
97574		objectMap["folder"] = itd.Folder
97575	}
97576	if itd.Type != "" {
97577		objectMap["type"] = itd.Type
97578	}
97579	for k, v := range itd.AdditionalProperties {
97580		objectMap[k] = v
97581	}
97582	return json.Marshal(objectMap)
97583}
97584
97585// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for InformixTableDataset.
97586func (itd InformixTableDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) {
97587	return nil, false
97588}
97589
97590// AsAzureDataExplorerTableDataset is the BasicDataset implementation for InformixTableDataset.
97591func (itd InformixTableDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) {
97592	return nil, false
97593}
97594
97595// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for InformixTableDataset.
97596func (itd InformixTableDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) {
97597	return nil, false
97598}
97599
97600// AsDynamicsAXResourceDataset is the BasicDataset implementation for InformixTableDataset.
97601func (itd InformixTableDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) {
97602	return nil, false
97603}
97604
97605// AsResponsysObjectDataset is the BasicDataset implementation for InformixTableDataset.
97606func (itd InformixTableDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
97607	return nil, false
97608}
97609
97610// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for InformixTableDataset.
97611func (itd InformixTableDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
97612	return nil, false
97613}
97614
97615// AsVerticaTableDataset is the BasicDataset implementation for InformixTableDataset.
97616func (itd InformixTableDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
97617	return nil, false
97618}
97619
97620// AsNetezzaTableDataset is the BasicDataset implementation for InformixTableDataset.
97621func (itd InformixTableDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
97622	return nil, false
97623}
97624
97625// AsZohoObjectDataset is the BasicDataset implementation for InformixTableDataset.
97626func (itd InformixTableDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
97627	return nil, false
97628}
97629
97630// AsXeroObjectDataset is the BasicDataset implementation for InformixTableDataset.
97631func (itd InformixTableDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
97632	return nil, false
97633}
97634
97635// AsSquareObjectDataset is the BasicDataset implementation for InformixTableDataset.
97636func (itd InformixTableDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
97637	return nil, false
97638}
97639
97640// AsSparkObjectDataset is the BasicDataset implementation for InformixTableDataset.
97641func (itd InformixTableDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
97642	return nil, false
97643}
97644
97645// AsShopifyObjectDataset is the BasicDataset implementation for InformixTableDataset.
97646func (itd InformixTableDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
97647	return nil, false
97648}
97649
97650// AsServiceNowObjectDataset is the BasicDataset implementation for InformixTableDataset.
97651func (itd InformixTableDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
97652	return nil, false
97653}
97654
97655// AsQuickBooksObjectDataset is the BasicDataset implementation for InformixTableDataset.
97656func (itd InformixTableDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
97657	return nil, false
97658}
97659
97660// AsPrestoObjectDataset is the BasicDataset implementation for InformixTableDataset.
97661func (itd InformixTableDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
97662	return nil, false
97663}
97664
97665// AsPhoenixObjectDataset is the BasicDataset implementation for InformixTableDataset.
97666func (itd InformixTableDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
97667	return nil, false
97668}
97669
97670// AsPaypalObjectDataset is the BasicDataset implementation for InformixTableDataset.
97671func (itd InformixTableDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
97672	return nil, false
97673}
97674
97675// AsMarketoObjectDataset is the BasicDataset implementation for InformixTableDataset.
97676func (itd InformixTableDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
97677	return nil, false
97678}
97679
97680// AsMariaDBTableDataset is the BasicDataset implementation for InformixTableDataset.
97681func (itd InformixTableDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
97682	return nil, false
97683}
97684
97685// AsMagentoObjectDataset is the BasicDataset implementation for InformixTableDataset.
97686func (itd InformixTableDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
97687	return nil, false
97688}
97689
97690// AsJiraObjectDataset is the BasicDataset implementation for InformixTableDataset.
97691func (itd InformixTableDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
97692	return nil, false
97693}
97694
97695// AsImpalaObjectDataset is the BasicDataset implementation for InformixTableDataset.
97696func (itd InformixTableDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
97697	return nil, false
97698}
97699
97700// AsHubspotObjectDataset is the BasicDataset implementation for InformixTableDataset.
97701func (itd InformixTableDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
97702	return nil, false
97703}
97704
97705// AsHiveObjectDataset is the BasicDataset implementation for InformixTableDataset.
97706func (itd InformixTableDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
97707	return nil, false
97708}
97709
97710// AsHBaseObjectDataset is the BasicDataset implementation for InformixTableDataset.
97711func (itd InformixTableDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
97712	return nil, false
97713}
97714
97715// AsGreenplumTableDataset is the BasicDataset implementation for InformixTableDataset.
97716func (itd InformixTableDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
97717	return nil, false
97718}
97719
97720// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for InformixTableDataset.
97721func (itd InformixTableDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
97722	return nil, false
97723}
97724
97725// AsEloquaObjectDataset is the BasicDataset implementation for InformixTableDataset.
97726func (itd InformixTableDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
97727	return nil, false
97728}
97729
97730// AsDrillTableDataset is the BasicDataset implementation for InformixTableDataset.
97731func (itd InformixTableDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
97732	return nil, false
97733}
97734
97735// AsCouchbaseTableDataset is the BasicDataset implementation for InformixTableDataset.
97736func (itd InformixTableDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
97737	return nil, false
97738}
97739
97740// AsConcurObjectDataset is the BasicDataset implementation for InformixTableDataset.
97741func (itd InformixTableDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
97742	return nil, false
97743}
97744
97745// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for InformixTableDataset.
97746func (itd InformixTableDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
97747	return nil, false
97748}
97749
97750// AsAmazonMWSObjectDataset is the BasicDataset implementation for InformixTableDataset.
97751func (itd InformixTableDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
97752	return nil, false
97753}
97754
97755// AsHTTPDataset is the BasicDataset implementation for InformixTableDataset.
97756func (itd InformixTableDataset) AsHTTPDataset() (*HTTPDataset, bool) {
97757	return nil, false
97758}
97759
97760// AsAzureSearchIndexDataset is the BasicDataset implementation for InformixTableDataset.
97761func (itd InformixTableDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
97762	return nil, false
97763}
97764
97765// AsWebTableDataset is the BasicDataset implementation for InformixTableDataset.
97766func (itd InformixTableDataset) AsWebTableDataset() (*WebTableDataset, bool) {
97767	return nil, false
97768}
97769
97770// AsSapTableResourceDataset is the BasicDataset implementation for InformixTableDataset.
97771func (itd InformixTableDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) {
97772	return nil, false
97773}
97774
97775// AsRestResourceDataset is the BasicDataset implementation for InformixTableDataset.
97776func (itd InformixTableDataset) AsRestResourceDataset() (*RestResourceDataset, bool) {
97777	return nil, false
97778}
97779
97780// AsSQLServerTableDataset is the BasicDataset implementation for InformixTableDataset.
97781func (itd InformixTableDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
97782	return nil, false
97783}
97784
97785// AsSapOpenHubTableDataset is the BasicDataset implementation for InformixTableDataset.
97786func (itd InformixTableDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) {
97787	return nil, false
97788}
97789
97790// AsSapHanaTableDataset is the BasicDataset implementation for InformixTableDataset.
97791func (itd InformixTableDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) {
97792	return nil, false
97793}
97794
97795// AsSapEccResourceDataset is the BasicDataset implementation for InformixTableDataset.
97796func (itd InformixTableDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
97797	return nil, false
97798}
97799
97800// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for InformixTableDataset.
97801func (itd InformixTableDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
97802	return nil, false
97803}
97804
97805// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for InformixTableDataset.
97806func (itd InformixTableDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) {
97807	return nil, false
97808}
97809
97810// AsSalesforceObjectDataset is the BasicDataset implementation for InformixTableDataset.
97811func (itd InformixTableDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
97812	return nil, false
97813}
97814
97815// AsMicrosoftAccessTableDataset is the BasicDataset implementation for InformixTableDataset.
97816func (itd InformixTableDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) {
97817	return nil, false
97818}
97819
97820// AsPostgreSQLTableDataset is the BasicDataset implementation for InformixTableDataset.
97821func (itd InformixTableDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) {
97822	return nil, false
97823}
97824
97825// AsMySQLTableDataset is the BasicDataset implementation for InformixTableDataset.
97826func (itd InformixTableDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) {
97827	return nil, false
97828}
97829
97830// AsOdbcTableDataset is the BasicDataset implementation for InformixTableDataset.
97831func (itd InformixTableDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) {
97832	return nil, false
97833}
97834
97835// AsInformixTableDataset is the BasicDataset implementation for InformixTableDataset.
97836func (itd InformixTableDataset) AsInformixTableDataset() (*InformixTableDataset, bool) {
97837	return &itd, true
97838}
97839
97840// AsRelationalTableDataset is the BasicDataset implementation for InformixTableDataset.
97841func (itd InformixTableDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
97842	return nil, false
97843}
97844
97845// AsAzureMySQLTableDataset is the BasicDataset implementation for InformixTableDataset.
97846func (itd InformixTableDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
97847	return nil, false
97848}
97849
97850// AsTeradataTableDataset is the BasicDataset implementation for InformixTableDataset.
97851func (itd InformixTableDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) {
97852	return nil, false
97853}
97854
97855// AsOracleTableDataset is the BasicDataset implementation for InformixTableDataset.
97856func (itd InformixTableDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
97857	return nil, false
97858}
97859
97860// AsODataResourceDataset is the BasicDataset implementation for InformixTableDataset.
97861func (itd InformixTableDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
97862	return nil, false
97863}
97864
97865// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for InformixTableDataset.
97866func (itd InformixTableDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) {
97867	return nil, false
97868}
97869
97870// AsMongoDbV2CollectionDataset is the BasicDataset implementation for InformixTableDataset.
97871func (itd InformixTableDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) {
97872	return nil, false
97873}
97874
97875// AsMongoDbCollectionDataset is the BasicDataset implementation for InformixTableDataset.
97876func (itd InformixTableDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
97877	return nil, false
97878}
97879
97880// AsFileShareDataset is the BasicDataset implementation for InformixTableDataset.
97881func (itd InformixTableDataset) AsFileShareDataset() (*FileShareDataset, bool) {
97882	return nil, false
97883}
97884
97885// AsOffice365Dataset is the BasicDataset implementation for InformixTableDataset.
97886func (itd InformixTableDataset) AsOffice365Dataset() (*Office365Dataset, bool) {
97887	return nil, false
97888}
97889
97890// AsAzureBlobFSDataset is the BasicDataset implementation for InformixTableDataset.
97891func (itd InformixTableDataset) AsAzureBlobFSDataset() (*AzureBlobFSDataset, bool) {
97892	return nil, false
97893}
97894
97895// AsAzureDataLakeStoreDataset is the BasicDataset implementation for InformixTableDataset.
97896func (itd InformixTableDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) {
97897	return nil, false
97898}
97899
97900// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for InformixTableDataset.
97901func (itd InformixTableDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) {
97902	return nil, false
97903}
97904
97905// AsDynamicsCrmEntityDataset is the BasicDataset implementation for InformixTableDataset.
97906func (itd InformixTableDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) {
97907	return nil, false
97908}
97909
97910// AsDynamicsEntityDataset is the BasicDataset implementation for InformixTableDataset.
97911func (itd InformixTableDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
97912	return nil, false
97913}
97914
97915// AsDocumentDbCollectionDataset is the BasicDataset implementation for InformixTableDataset.
97916func (itd InformixTableDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
97917	return nil, false
97918}
97919
97920// AsCustomDataset is the BasicDataset implementation for InformixTableDataset.
97921func (itd InformixTableDataset) AsCustomDataset() (*CustomDataset, bool) {
97922	return nil, false
97923}
97924
97925// AsCassandraTableDataset is the BasicDataset implementation for InformixTableDataset.
97926func (itd InformixTableDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
97927	return nil, false
97928}
97929
97930// AsAzureSQLDWTableDataset is the BasicDataset implementation for InformixTableDataset.
97931func (itd InformixTableDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
97932	return nil, false
97933}
97934
97935// AsAzureSQLMITableDataset is the BasicDataset implementation for InformixTableDataset.
97936func (itd InformixTableDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) {
97937	return nil, false
97938}
97939
97940// AsAzureSQLTableDataset is the BasicDataset implementation for InformixTableDataset.
97941func (itd InformixTableDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
97942	return nil, false
97943}
97944
97945// AsAzureTableDataset is the BasicDataset implementation for InformixTableDataset.
97946func (itd InformixTableDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
97947	return nil, false
97948}
97949
97950// AsAzureBlobDataset is the BasicDataset implementation for InformixTableDataset.
97951func (itd InformixTableDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) {
97952	return nil, false
97953}
97954
97955// AsBinaryDataset is the BasicDataset implementation for InformixTableDataset.
97956func (itd InformixTableDataset) AsBinaryDataset() (*BinaryDataset, bool) {
97957	return nil, false
97958}
97959
97960// AsDelimitedTextDataset is the BasicDataset implementation for InformixTableDataset.
97961func (itd InformixTableDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) {
97962	return nil, false
97963}
97964
97965// AsParquetDataset is the BasicDataset implementation for InformixTableDataset.
97966func (itd InformixTableDataset) AsParquetDataset() (*ParquetDataset, bool) {
97967	return nil, false
97968}
97969
97970// AsAmazonS3Dataset is the BasicDataset implementation for InformixTableDataset.
97971func (itd InformixTableDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) {
97972	return nil, false
97973}
97974
97975// AsDataset is the BasicDataset implementation for InformixTableDataset.
97976func (itd InformixTableDataset) AsDataset() (*Dataset, bool) {
97977	return nil, false
97978}
97979
97980// AsBasicDataset is the BasicDataset implementation for InformixTableDataset.
97981func (itd InformixTableDataset) AsBasicDataset() (BasicDataset, bool) {
97982	return &itd, true
97983}
97984
97985// UnmarshalJSON is the custom unmarshaler for InformixTableDataset struct.
97986func (itd *InformixTableDataset) UnmarshalJSON(body []byte) error {
97987	var m map[string]*json.RawMessage
97988	err := json.Unmarshal(body, &m)
97989	if err != nil {
97990		return err
97991	}
97992	for k, v := range m {
97993		switch k {
97994		case "typeProperties":
97995			if v != nil {
97996				var informixTableDatasetTypeProperties InformixTableDatasetTypeProperties
97997				err = json.Unmarshal(*v, &informixTableDatasetTypeProperties)
97998				if err != nil {
97999					return err
98000				}
98001				itd.InformixTableDatasetTypeProperties = &informixTableDatasetTypeProperties
98002			}
98003		default:
98004			if v != nil {
98005				var additionalProperties interface{}
98006				err = json.Unmarshal(*v, &additionalProperties)
98007				if err != nil {
98008					return err
98009				}
98010				if itd.AdditionalProperties == nil {
98011					itd.AdditionalProperties = make(map[string]interface{})
98012				}
98013				itd.AdditionalProperties[k] = additionalProperties
98014			}
98015		case "description":
98016			if v != nil {
98017				var description string
98018				err = json.Unmarshal(*v, &description)
98019				if err != nil {
98020					return err
98021				}
98022				itd.Description = &description
98023			}
98024		case "structure":
98025			if v != nil {
98026				var structure interface{}
98027				err = json.Unmarshal(*v, &structure)
98028				if err != nil {
98029					return err
98030				}
98031				itd.Structure = structure
98032			}
98033		case "schema":
98034			if v != nil {
98035				var schema interface{}
98036				err = json.Unmarshal(*v, &schema)
98037				if err != nil {
98038					return err
98039				}
98040				itd.Schema = schema
98041			}
98042		case "linkedServiceName":
98043			if v != nil {
98044				var linkedServiceName LinkedServiceReference
98045				err = json.Unmarshal(*v, &linkedServiceName)
98046				if err != nil {
98047					return err
98048				}
98049				itd.LinkedServiceName = &linkedServiceName
98050			}
98051		case "parameters":
98052			if v != nil {
98053				var parameters map[string]*ParameterSpecification
98054				err = json.Unmarshal(*v, &parameters)
98055				if err != nil {
98056					return err
98057				}
98058				itd.Parameters = parameters
98059			}
98060		case "annotations":
98061			if v != nil {
98062				var annotations []interface{}
98063				err = json.Unmarshal(*v, &annotations)
98064				if err != nil {
98065					return err
98066				}
98067				itd.Annotations = &annotations
98068			}
98069		case "folder":
98070			if v != nil {
98071				var folder DatasetFolder
98072				err = json.Unmarshal(*v, &folder)
98073				if err != nil {
98074					return err
98075				}
98076				itd.Folder = &folder
98077			}
98078		case "type":
98079			if v != nil {
98080				var typeVar TypeBasicDataset
98081				err = json.Unmarshal(*v, &typeVar)
98082				if err != nil {
98083					return err
98084				}
98085				itd.Type = typeVar
98086			}
98087		}
98088	}
98089
98090	return nil
98091}
98092
98093// InformixTableDatasetTypeProperties informix table dataset properties.
98094type InformixTableDatasetTypeProperties struct {
98095	// TableName - The Informix table name. Type: string (or Expression with resultType string).
98096	TableName interface{} `json:"tableName,omitempty"`
98097}
98098
98099// BasicIntegrationRuntime azure Data Factory nested object which serves as a compute resource for activities.
98100type BasicIntegrationRuntime interface {
98101	AsSelfHostedIntegrationRuntime() (*SelfHostedIntegrationRuntime, bool)
98102	AsManagedIntegrationRuntime() (*ManagedIntegrationRuntime, bool)
98103	AsIntegrationRuntime() (*IntegrationRuntime, bool)
98104}
98105
98106// IntegrationRuntime azure Data Factory nested object which serves as a compute resource for activities.
98107type IntegrationRuntime struct {
98108	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
98109	AdditionalProperties map[string]interface{} `json:""`
98110	// Description - Integration runtime description.
98111	Description *string `json:"description,omitempty"`
98112	// Type - Possible values include: 'TypeIntegrationRuntime', 'TypeSelfHosted', 'TypeManaged'
98113	Type TypeBasicIntegrationRuntime `json:"type,omitempty"`
98114}
98115
98116func unmarshalBasicIntegrationRuntime(body []byte) (BasicIntegrationRuntime, error) {
98117	var m map[string]interface{}
98118	err := json.Unmarshal(body, &m)
98119	if err != nil {
98120		return nil, err
98121	}
98122
98123	switch m["type"] {
98124	case string(TypeSelfHosted):
98125		var shir SelfHostedIntegrationRuntime
98126		err := json.Unmarshal(body, &shir)
98127		return shir, err
98128	case string(TypeManaged):
98129		var mir ManagedIntegrationRuntime
98130		err := json.Unmarshal(body, &mir)
98131		return mir, err
98132	default:
98133		var ir IntegrationRuntime
98134		err := json.Unmarshal(body, &ir)
98135		return ir, err
98136	}
98137}
98138func unmarshalBasicIntegrationRuntimeArray(body []byte) ([]BasicIntegrationRuntime, error) {
98139	var rawMessages []*json.RawMessage
98140	err := json.Unmarshal(body, &rawMessages)
98141	if err != nil {
98142		return nil, err
98143	}
98144
98145	irArray := make([]BasicIntegrationRuntime, len(rawMessages))
98146
98147	for index, rawMessage := range rawMessages {
98148		ir, err := unmarshalBasicIntegrationRuntime(*rawMessage)
98149		if err != nil {
98150			return nil, err
98151		}
98152		irArray[index] = ir
98153	}
98154	return irArray, nil
98155}
98156
98157// MarshalJSON is the custom marshaler for IntegrationRuntime.
98158func (ir IntegrationRuntime) MarshalJSON() ([]byte, error) {
98159	ir.Type = TypeIntegrationRuntime
98160	objectMap := make(map[string]interface{})
98161	if ir.Description != nil {
98162		objectMap["description"] = ir.Description
98163	}
98164	if ir.Type != "" {
98165		objectMap["type"] = ir.Type
98166	}
98167	for k, v := range ir.AdditionalProperties {
98168		objectMap[k] = v
98169	}
98170	return json.Marshal(objectMap)
98171}
98172
98173// AsSelfHostedIntegrationRuntime is the BasicIntegrationRuntime implementation for IntegrationRuntime.
98174func (ir IntegrationRuntime) AsSelfHostedIntegrationRuntime() (*SelfHostedIntegrationRuntime, bool) {
98175	return nil, false
98176}
98177
98178// AsManagedIntegrationRuntime is the BasicIntegrationRuntime implementation for IntegrationRuntime.
98179func (ir IntegrationRuntime) AsManagedIntegrationRuntime() (*ManagedIntegrationRuntime, bool) {
98180	return nil, false
98181}
98182
98183// AsIntegrationRuntime is the BasicIntegrationRuntime implementation for IntegrationRuntime.
98184func (ir IntegrationRuntime) AsIntegrationRuntime() (*IntegrationRuntime, bool) {
98185	return &ir, true
98186}
98187
98188// AsBasicIntegrationRuntime is the BasicIntegrationRuntime implementation for IntegrationRuntime.
98189func (ir IntegrationRuntime) AsBasicIntegrationRuntime() (BasicIntegrationRuntime, bool) {
98190	return &ir, true
98191}
98192
98193// UnmarshalJSON is the custom unmarshaler for IntegrationRuntime struct.
98194func (ir *IntegrationRuntime) UnmarshalJSON(body []byte) error {
98195	var m map[string]*json.RawMessage
98196	err := json.Unmarshal(body, &m)
98197	if err != nil {
98198		return err
98199	}
98200	for k, v := range m {
98201		switch k {
98202		default:
98203			if v != nil {
98204				var additionalProperties interface{}
98205				err = json.Unmarshal(*v, &additionalProperties)
98206				if err != nil {
98207					return err
98208				}
98209				if ir.AdditionalProperties == nil {
98210					ir.AdditionalProperties = make(map[string]interface{})
98211				}
98212				ir.AdditionalProperties[k] = additionalProperties
98213			}
98214		case "description":
98215			if v != nil {
98216				var description string
98217				err = json.Unmarshal(*v, &description)
98218				if err != nil {
98219					return err
98220				}
98221				ir.Description = &description
98222			}
98223		case "type":
98224			if v != nil {
98225				var typeVar TypeBasicIntegrationRuntime
98226				err = json.Unmarshal(*v, &typeVar)
98227				if err != nil {
98228					return err
98229				}
98230				ir.Type = typeVar
98231			}
98232		}
98233	}
98234
98235	return nil
98236}
98237
98238// IntegrationRuntimeAuthKeys the integration runtime authentication keys.
98239type IntegrationRuntimeAuthKeys struct {
98240	autorest.Response `json:"-"`
98241	// AuthKey1 - The primary integration runtime authentication key.
98242	AuthKey1 *string `json:"authKey1,omitempty"`
98243	// AuthKey2 - The secondary integration runtime authentication key.
98244	AuthKey2 *string `json:"authKey2,omitempty"`
98245}
98246
98247// IntegrationRuntimeComputeProperties the compute resource properties for managed integration runtime.
98248type IntegrationRuntimeComputeProperties struct {
98249	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
98250	AdditionalProperties map[string]interface{} `json:""`
98251	// 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
98252	Location *string `json:"location,omitempty"`
98253	// NodeSize - The node size requirement to managed integration runtime.
98254	NodeSize *string `json:"nodeSize,omitempty"`
98255	// NumberOfNodes - The required number of nodes for managed integration runtime.
98256	NumberOfNodes *int32 `json:"numberOfNodes,omitempty"`
98257	// MaxParallelExecutionsPerNode - Maximum parallel executions count per node for managed integration runtime.
98258	MaxParallelExecutionsPerNode *int32 `json:"maxParallelExecutionsPerNode,omitempty"`
98259	// VNetProperties - VNet properties for managed integration runtime.
98260	VNetProperties *IntegrationRuntimeVNetProperties `json:"vNetProperties,omitempty"`
98261}
98262
98263// MarshalJSON is the custom marshaler for IntegrationRuntimeComputeProperties.
98264func (ircp IntegrationRuntimeComputeProperties) MarshalJSON() ([]byte, error) {
98265	objectMap := make(map[string]interface{})
98266	if ircp.Location != nil {
98267		objectMap["location"] = ircp.Location
98268	}
98269	if ircp.NodeSize != nil {
98270		objectMap["nodeSize"] = ircp.NodeSize
98271	}
98272	if ircp.NumberOfNodes != nil {
98273		objectMap["numberOfNodes"] = ircp.NumberOfNodes
98274	}
98275	if ircp.MaxParallelExecutionsPerNode != nil {
98276		objectMap["maxParallelExecutionsPerNode"] = ircp.MaxParallelExecutionsPerNode
98277	}
98278	if ircp.VNetProperties != nil {
98279		objectMap["vNetProperties"] = ircp.VNetProperties
98280	}
98281	for k, v := range ircp.AdditionalProperties {
98282		objectMap[k] = v
98283	}
98284	return json.Marshal(objectMap)
98285}
98286
98287// UnmarshalJSON is the custom unmarshaler for IntegrationRuntimeComputeProperties struct.
98288func (ircp *IntegrationRuntimeComputeProperties) UnmarshalJSON(body []byte) error {
98289	var m map[string]*json.RawMessage
98290	err := json.Unmarshal(body, &m)
98291	if err != nil {
98292		return err
98293	}
98294	for k, v := range m {
98295		switch k {
98296		default:
98297			if v != nil {
98298				var additionalProperties interface{}
98299				err = json.Unmarshal(*v, &additionalProperties)
98300				if err != nil {
98301					return err
98302				}
98303				if ircp.AdditionalProperties == nil {
98304					ircp.AdditionalProperties = make(map[string]interface{})
98305				}
98306				ircp.AdditionalProperties[k] = additionalProperties
98307			}
98308		case "location":
98309			if v != nil {
98310				var location string
98311				err = json.Unmarshal(*v, &location)
98312				if err != nil {
98313					return err
98314				}
98315				ircp.Location = &location
98316			}
98317		case "nodeSize":
98318			if v != nil {
98319				var nodeSize string
98320				err = json.Unmarshal(*v, &nodeSize)
98321				if err != nil {
98322					return err
98323				}
98324				ircp.NodeSize = &nodeSize
98325			}
98326		case "numberOfNodes":
98327			if v != nil {
98328				var numberOfNodes int32
98329				err = json.Unmarshal(*v, &numberOfNodes)
98330				if err != nil {
98331					return err
98332				}
98333				ircp.NumberOfNodes = &numberOfNodes
98334			}
98335		case "maxParallelExecutionsPerNode":
98336			if v != nil {
98337				var maxParallelExecutionsPerNode int32
98338				err = json.Unmarshal(*v, &maxParallelExecutionsPerNode)
98339				if err != nil {
98340					return err
98341				}
98342				ircp.MaxParallelExecutionsPerNode = &maxParallelExecutionsPerNode
98343			}
98344		case "vNetProperties":
98345			if v != nil {
98346				var vNetProperties IntegrationRuntimeVNetProperties
98347				err = json.Unmarshal(*v, &vNetProperties)
98348				if err != nil {
98349					return err
98350				}
98351				ircp.VNetProperties = &vNetProperties
98352			}
98353		}
98354	}
98355
98356	return nil
98357}
98358
98359// IntegrationRuntimeConnectionInfo connection information for encrypting the on-premises data source
98360// credentials.
98361type IntegrationRuntimeConnectionInfo struct {
98362	autorest.Response `json:"-"`
98363	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
98364	AdditionalProperties map[string]interface{} `json:""`
98365	// ServiceToken - READ-ONLY; The token generated in service. Callers use this token to authenticate to integration runtime.
98366	ServiceToken *string `json:"serviceToken,omitempty"`
98367	// IdentityCertThumbprint - READ-ONLY; The integration runtime SSL certificate thumbprint. Click-Once application uses it to do server validation.
98368	IdentityCertThumbprint *string `json:"identityCertThumbprint,omitempty"`
98369	// HostServiceURI - READ-ONLY; The on-premises integration runtime host URL.
98370	HostServiceURI *string `json:"hostServiceUri,omitempty"`
98371	// Version - READ-ONLY; The integration runtime version.
98372	Version *string `json:"version,omitempty"`
98373	// PublicKey - READ-ONLY; The public key for encrypting a credential when transferring the credential to the integration runtime.
98374	PublicKey *string `json:"publicKey,omitempty"`
98375	// IsIdentityCertExprired - READ-ONLY; Whether the identity certificate is expired.
98376	IsIdentityCertExprired *bool `json:"isIdentityCertExprired,omitempty"`
98377}
98378
98379// MarshalJSON is the custom marshaler for IntegrationRuntimeConnectionInfo.
98380func (irci IntegrationRuntimeConnectionInfo) MarshalJSON() ([]byte, error) {
98381	objectMap := make(map[string]interface{})
98382	for k, v := range irci.AdditionalProperties {
98383		objectMap[k] = v
98384	}
98385	return json.Marshal(objectMap)
98386}
98387
98388// UnmarshalJSON is the custom unmarshaler for IntegrationRuntimeConnectionInfo struct.
98389func (irci *IntegrationRuntimeConnectionInfo) UnmarshalJSON(body []byte) error {
98390	var m map[string]*json.RawMessage
98391	err := json.Unmarshal(body, &m)
98392	if err != nil {
98393		return err
98394	}
98395	for k, v := range m {
98396		switch k {
98397		default:
98398			if v != nil {
98399				var additionalProperties interface{}
98400				err = json.Unmarshal(*v, &additionalProperties)
98401				if err != nil {
98402					return err
98403				}
98404				if irci.AdditionalProperties == nil {
98405					irci.AdditionalProperties = make(map[string]interface{})
98406				}
98407				irci.AdditionalProperties[k] = additionalProperties
98408			}
98409		case "serviceToken":
98410			if v != nil {
98411				var serviceToken string
98412				err = json.Unmarshal(*v, &serviceToken)
98413				if err != nil {
98414					return err
98415				}
98416				irci.ServiceToken = &serviceToken
98417			}
98418		case "identityCertThumbprint":
98419			if v != nil {
98420				var identityCertThumbprint string
98421				err = json.Unmarshal(*v, &identityCertThumbprint)
98422				if err != nil {
98423					return err
98424				}
98425				irci.IdentityCertThumbprint = &identityCertThumbprint
98426			}
98427		case "hostServiceUri":
98428			if v != nil {
98429				var hostServiceURI string
98430				err = json.Unmarshal(*v, &hostServiceURI)
98431				if err != nil {
98432					return err
98433				}
98434				irci.HostServiceURI = &hostServiceURI
98435			}
98436		case "version":
98437			if v != nil {
98438				var version string
98439				err = json.Unmarshal(*v, &version)
98440				if err != nil {
98441					return err
98442				}
98443				irci.Version = &version
98444			}
98445		case "publicKey":
98446			if v != nil {
98447				var publicKey string
98448				err = json.Unmarshal(*v, &publicKey)
98449				if err != nil {
98450					return err
98451				}
98452				irci.PublicKey = &publicKey
98453			}
98454		case "isIdentityCertExprired":
98455			if v != nil {
98456				var isIdentityCertExprired bool
98457				err = json.Unmarshal(*v, &isIdentityCertExprired)
98458				if err != nil {
98459					return err
98460				}
98461				irci.IsIdentityCertExprired = &isIdentityCertExprired
98462			}
98463		}
98464	}
98465
98466	return nil
98467}
98468
98469// IntegrationRuntimeCustomSetupScriptProperties custom setup script properties for a managed dedicated
98470// integration runtime.
98471type IntegrationRuntimeCustomSetupScriptProperties struct {
98472	// BlobContainerURI - The URI of the Azure blob container that contains the custom setup script.
98473	BlobContainerURI *string `json:"blobContainerUri,omitempty"`
98474	// SasToken - The SAS token of the Azure blob container.
98475	SasToken *SecureString `json:"sasToken,omitempty"`
98476}
98477
98478// IntegrationRuntimeDataProxyProperties data proxy properties for a managed dedicated integration runtime.
98479type IntegrationRuntimeDataProxyProperties struct {
98480	// ConnectVia - The self-hosted integration runtime reference.
98481	ConnectVia *EntityReference `json:"connectVia,omitempty"`
98482	// StagingLinkedService - The staging linked service reference.
98483	StagingLinkedService *EntityReference `json:"stagingLinkedService,omitempty"`
98484	// Path - The path to contain the staged data in the Blob storage.
98485	Path *string `json:"path,omitempty"`
98486}
98487
98488// IntegrationRuntimeListResponse a list of integration runtime resources.
98489type IntegrationRuntimeListResponse struct {
98490	autorest.Response `json:"-"`
98491	// Value - List of integration runtimes.
98492	Value *[]IntegrationRuntimeResource `json:"value,omitempty"`
98493	// NextLink - The link to the next page of results, if any remaining results exist.
98494	NextLink *string `json:"nextLink,omitempty"`
98495}
98496
98497// IntegrationRuntimeListResponseIterator provides access to a complete listing of
98498// IntegrationRuntimeResource values.
98499type IntegrationRuntimeListResponseIterator struct {
98500	i    int
98501	page IntegrationRuntimeListResponsePage
98502}
98503
98504// NextWithContext advances to the next value.  If there was an error making
98505// the request the iterator does not advance and the error is returned.
98506func (iter *IntegrationRuntimeListResponseIterator) NextWithContext(ctx context.Context) (err error) {
98507	if tracing.IsEnabled() {
98508		ctx = tracing.StartSpan(ctx, fqdn+"/IntegrationRuntimeListResponseIterator.NextWithContext")
98509		defer func() {
98510			sc := -1
98511			if iter.Response().Response.Response != nil {
98512				sc = iter.Response().Response.Response.StatusCode
98513			}
98514			tracing.EndSpan(ctx, sc, err)
98515		}()
98516	}
98517	iter.i++
98518	if iter.i < len(iter.page.Values()) {
98519		return nil
98520	}
98521	err = iter.page.NextWithContext(ctx)
98522	if err != nil {
98523		iter.i--
98524		return err
98525	}
98526	iter.i = 0
98527	return nil
98528}
98529
98530// Next advances to the next value.  If there was an error making
98531// the request the iterator does not advance and the error is returned.
98532// Deprecated: Use NextWithContext() instead.
98533func (iter *IntegrationRuntimeListResponseIterator) Next() error {
98534	return iter.NextWithContext(context.Background())
98535}
98536
98537// NotDone returns true if the enumeration should be started or is not yet complete.
98538func (iter IntegrationRuntimeListResponseIterator) NotDone() bool {
98539	return iter.page.NotDone() && iter.i < len(iter.page.Values())
98540}
98541
98542// Response returns the raw server response from the last page request.
98543func (iter IntegrationRuntimeListResponseIterator) Response() IntegrationRuntimeListResponse {
98544	return iter.page.Response()
98545}
98546
98547// Value returns the current value or a zero-initialized value if the
98548// iterator has advanced beyond the end of the collection.
98549func (iter IntegrationRuntimeListResponseIterator) Value() IntegrationRuntimeResource {
98550	if !iter.page.NotDone() {
98551		return IntegrationRuntimeResource{}
98552	}
98553	return iter.page.Values()[iter.i]
98554}
98555
98556// Creates a new instance of the IntegrationRuntimeListResponseIterator type.
98557func NewIntegrationRuntimeListResponseIterator(page IntegrationRuntimeListResponsePage) IntegrationRuntimeListResponseIterator {
98558	return IntegrationRuntimeListResponseIterator{page: page}
98559}
98560
98561// IsEmpty returns true if the ListResult contains no values.
98562func (irlr IntegrationRuntimeListResponse) IsEmpty() bool {
98563	return irlr.Value == nil || len(*irlr.Value) == 0
98564}
98565
98566// integrationRuntimeListResponsePreparer prepares a request to retrieve the next set of results.
98567// It returns nil if no more results exist.
98568func (irlr IntegrationRuntimeListResponse) integrationRuntimeListResponsePreparer(ctx context.Context) (*http.Request, error) {
98569	if irlr.NextLink == nil || len(to.String(irlr.NextLink)) < 1 {
98570		return nil, nil
98571	}
98572	return autorest.Prepare((&http.Request{}).WithContext(ctx),
98573		autorest.AsJSON(),
98574		autorest.AsGet(),
98575		autorest.WithBaseURL(to.String(irlr.NextLink)))
98576}
98577
98578// IntegrationRuntimeListResponsePage contains a page of IntegrationRuntimeResource values.
98579type IntegrationRuntimeListResponsePage struct {
98580	fn   func(context.Context, IntegrationRuntimeListResponse) (IntegrationRuntimeListResponse, error)
98581	irlr IntegrationRuntimeListResponse
98582}
98583
98584// NextWithContext advances to the next page of values.  If there was an error making
98585// the request the page does not advance and the error is returned.
98586func (page *IntegrationRuntimeListResponsePage) NextWithContext(ctx context.Context) (err error) {
98587	if tracing.IsEnabled() {
98588		ctx = tracing.StartSpan(ctx, fqdn+"/IntegrationRuntimeListResponsePage.NextWithContext")
98589		defer func() {
98590			sc := -1
98591			if page.Response().Response.Response != nil {
98592				sc = page.Response().Response.Response.StatusCode
98593			}
98594			tracing.EndSpan(ctx, sc, err)
98595		}()
98596	}
98597	next, err := page.fn(ctx, page.irlr)
98598	if err != nil {
98599		return err
98600	}
98601	page.irlr = next
98602	return nil
98603}
98604
98605// Next advances to the next page of values.  If there was an error making
98606// the request the page does not advance and the error is returned.
98607// Deprecated: Use NextWithContext() instead.
98608func (page *IntegrationRuntimeListResponsePage) Next() error {
98609	return page.NextWithContext(context.Background())
98610}
98611
98612// NotDone returns true if the page enumeration should be started or is not yet complete.
98613func (page IntegrationRuntimeListResponsePage) NotDone() bool {
98614	return !page.irlr.IsEmpty()
98615}
98616
98617// Response returns the raw server response from the last page request.
98618func (page IntegrationRuntimeListResponsePage) Response() IntegrationRuntimeListResponse {
98619	return page.irlr
98620}
98621
98622// Values returns the slice of values for the current page or nil if there are no values.
98623func (page IntegrationRuntimeListResponsePage) Values() []IntegrationRuntimeResource {
98624	if page.irlr.IsEmpty() {
98625		return nil
98626	}
98627	return *page.irlr.Value
98628}
98629
98630// Creates a new instance of the IntegrationRuntimeListResponsePage type.
98631func NewIntegrationRuntimeListResponsePage(getNextPage func(context.Context, IntegrationRuntimeListResponse) (IntegrationRuntimeListResponse, error)) IntegrationRuntimeListResponsePage {
98632	return IntegrationRuntimeListResponsePage{fn: getNextPage}
98633}
98634
98635// IntegrationRuntimeMonitoringData get monitoring data response.
98636type IntegrationRuntimeMonitoringData struct {
98637	autorest.Response `json:"-"`
98638	// Name - Integration runtime name.
98639	Name *string `json:"name,omitempty"`
98640	// Nodes - Integration runtime node monitoring data.
98641	Nodes *[]IntegrationRuntimeNodeMonitoringData `json:"nodes,omitempty"`
98642}
98643
98644// IntegrationRuntimeNodeIPAddress the IP address of self-hosted integration runtime node.
98645type IntegrationRuntimeNodeIPAddress struct {
98646	autorest.Response `json:"-"`
98647	// IPAddress - READ-ONLY; The IP address of self-hosted integration runtime node.
98648	IPAddress *string `json:"ipAddress,omitempty"`
98649}
98650
98651// IntegrationRuntimeNodeMonitoringData monitoring data for integration runtime node.
98652type IntegrationRuntimeNodeMonitoringData struct {
98653	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
98654	AdditionalProperties map[string]interface{} `json:""`
98655	// NodeName - READ-ONLY; Name of the integration runtime node.
98656	NodeName *string `json:"nodeName,omitempty"`
98657	// AvailableMemoryInMB - READ-ONLY; Available memory (MB) on the integration runtime node.
98658	AvailableMemoryInMB *int32 `json:"availableMemoryInMB,omitempty"`
98659	// CPUUtilization - READ-ONLY; CPU percentage on the integration runtime node.
98660	CPUUtilization *int32 `json:"cpuUtilization,omitempty"`
98661	// ConcurrentJobsLimit - READ-ONLY; Maximum concurrent jobs on the integration runtime node.
98662	ConcurrentJobsLimit *int32 `json:"concurrentJobsLimit,omitempty"`
98663	// ConcurrentJobsRunning - READ-ONLY; The number of jobs currently running on the integration runtime node.
98664	ConcurrentJobsRunning *int32 `json:"concurrentJobsRunning,omitempty"`
98665	// MaxConcurrentJobs - READ-ONLY; The maximum concurrent jobs in this integration runtime.
98666	MaxConcurrentJobs *int32 `json:"maxConcurrentJobs,omitempty"`
98667	// SentBytes - READ-ONLY; Sent bytes on the integration runtime node.
98668	SentBytes *float64 `json:"sentBytes,omitempty"`
98669	// ReceivedBytes - READ-ONLY; Received bytes on the integration runtime node.
98670	ReceivedBytes *float64 `json:"receivedBytes,omitempty"`
98671}
98672
98673// MarshalJSON is the custom marshaler for IntegrationRuntimeNodeMonitoringData.
98674func (irnmd IntegrationRuntimeNodeMonitoringData) MarshalJSON() ([]byte, error) {
98675	objectMap := make(map[string]interface{})
98676	for k, v := range irnmd.AdditionalProperties {
98677		objectMap[k] = v
98678	}
98679	return json.Marshal(objectMap)
98680}
98681
98682// UnmarshalJSON is the custom unmarshaler for IntegrationRuntimeNodeMonitoringData struct.
98683func (irnmd *IntegrationRuntimeNodeMonitoringData) UnmarshalJSON(body []byte) error {
98684	var m map[string]*json.RawMessage
98685	err := json.Unmarshal(body, &m)
98686	if err != nil {
98687		return err
98688	}
98689	for k, v := range m {
98690		switch k {
98691		default:
98692			if v != nil {
98693				var additionalProperties interface{}
98694				err = json.Unmarshal(*v, &additionalProperties)
98695				if err != nil {
98696					return err
98697				}
98698				if irnmd.AdditionalProperties == nil {
98699					irnmd.AdditionalProperties = make(map[string]interface{})
98700				}
98701				irnmd.AdditionalProperties[k] = additionalProperties
98702			}
98703		case "nodeName":
98704			if v != nil {
98705				var nodeName string
98706				err = json.Unmarshal(*v, &nodeName)
98707				if err != nil {
98708					return err
98709				}
98710				irnmd.NodeName = &nodeName
98711			}
98712		case "availableMemoryInMB":
98713			if v != nil {
98714				var availableMemoryInMB int32
98715				err = json.Unmarshal(*v, &availableMemoryInMB)
98716				if err != nil {
98717					return err
98718				}
98719				irnmd.AvailableMemoryInMB = &availableMemoryInMB
98720			}
98721		case "cpuUtilization":
98722			if v != nil {
98723				var CPUUtilization int32
98724				err = json.Unmarshal(*v, &CPUUtilization)
98725				if err != nil {
98726					return err
98727				}
98728				irnmd.CPUUtilization = &CPUUtilization
98729			}
98730		case "concurrentJobsLimit":
98731			if v != nil {
98732				var concurrentJobsLimit int32
98733				err = json.Unmarshal(*v, &concurrentJobsLimit)
98734				if err != nil {
98735					return err
98736				}
98737				irnmd.ConcurrentJobsLimit = &concurrentJobsLimit
98738			}
98739		case "concurrentJobsRunning":
98740			if v != nil {
98741				var concurrentJobsRunning int32
98742				err = json.Unmarshal(*v, &concurrentJobsRunning)
98743				if err != nil {
98744					return err
98745				}
98746				irnmd.ConcurrentJobsRunning = &concurrentJobsRunning
98747			}
98748		case "maxConcurrentJobs":
98749			if v != nil {
98750				var maxConcurrentJobs int32
98751				err = json.Unmarshal(*v, &maxConcurrentJobs)
98752				if err != nil {
98753					return err
98754				}
98755				irnmd.MaxConcurrentJobs = &maxConcurrentJobs
98756			}
98757		case "sentBytes":
98758			if v != nil {
98759				var sentBytes float64
98760				err = json.Unmarshal(*v, &sentBytes)
98761				if err != nil {
98762					return err
98763				}
98764				irnmd.SentBytes = &sentBytes
98765			}
98766		case "receivedBytes":
98767			if v != nil {
98768				var receivedBytes float64
98769				err = json.Unmarshal(*v, &receivedBytes)
98770				if err != nil {
98771					return err
98772				}
98773				irnmd.ReceivedBytes = &receivedBytes
98774			}
98775		}
98776	}
98777
98778	return nil
98779}
98780
98781// IntegrationRuntimeObjectMetadataRefreshFuture an abstraction for monitoring and retrieving the results
98782// of a long-running operation.
98783type IntegrationRuntimeObjectMetadataRefreshFuture struct {
98784	azure.Future
98785}
98786
98787// Result returns the result of the asynchronous operation.
98788// If the operation has not completed it will return an error.
98789func (future *IntegrationRuntimeObjectMetadataRefreshFuture) Result(client IntegrationRuntimeObjectMetadataClient) (somsr SsisObjectMetadataStatusResponse, err error) {
98790	var done bool
98791	done, err = future.DoneWithContext(context.Background(), client)
98792	if err != nil {
98793		err = autorest.NewErrorWithError(err, "datafactory.IntegrationRuntimeObjectMetadataRefreshFuture", "Result", future.Response(), "Polling failure")
98794		return
98795	}
98796	if !done {
98797		err = azure.NewAsyncOpIncompleteError("datafactory.IntegrationRuntimeObjectMetadataRefreshFuture")
98798		return
98799	}
98800	sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...))
98801	if somsr.Response.Response, err = future.GetResult(sender); err == nil && somsr.Response.Response.StatusCode != http.StatusNoContent {
98802		somsr, err = client.RefreshResponder(somsr.Response.Response)
98803		if err != nil {
98804			err = autorest.NewErrorWithError(err, "datafactory.IntegrationRuntimeObjectMetadataRefreshFuture", "Result", somsr.Response.Response, "Failure responding to request")
98805		}
98806	}
98807	return
98808}
98809
98810// IntegrationRuntimeReference integration runtime reference type.
98811type IntegrationRuntimeReference struct {
98812	// Type - Type of integration runtime.
98813	Type *string `json:"type,omitempty"`
98814	// ReferenceName - Reference integration runtime name.
98815	ReferenceName *string `json:"referenceName,omitempty"`
98816	// Parameters - Arguments for integration runtime.
98817	Parameters map[string]interface{} `json:"parameters"`
98818}
98819
98820// MarshalJSON is the custom marshaler for IntegrationRuntimeReference.
98821func (irr IntegrationRuntimeReference) MarshalJSON() ([]byte, error) {
98822	objectMap := make(map[string]interface{})
98823	if irr.Type != nil {
98824		objectMap["type"] = irr.Type
98825	}
98826	if irr.ReferenceName != nil {
98827		objectMap["referenceName"] = irr.ReferenceName
98828	}
98829	if irr.Parameters != nil {
98830		objectMap["parameters"] = irr.Parameters
98831	}
98832	return json.Marshal(objectMap)
98833}
98834
98835// IntegrationRuntimeRegenerateKeyParameters parameters to regenerate the authentication key.
98836type IntegrationRuntimeRegenerateKeyParameters struct {
98837	// KeyName - The name of the authentication key to regenerate. Possible values include: 'AuthKey1', 'AuthKey2'
98838	KeyName IntegrationRuntimeAuthKeyName `json:"keyName,omitempty"`
98839}
98840
98841// IntegrationRuntimeResource integration runtime resource type.
98842type IntegrationRuntimeResource struct {
98843	autorest.Response `json:"-"`
98844	// Properties - Integration runtime properties.
98845	Properties BasicIntegrationRuntime `json:"properties,omitempty"`
98846	// ID - READ-ONLY; The resource identifier.
98847	ID *string `json:"id,omitempty"`
98848	// Name - READ-ONLY; The resource name.
98849	Name *string `json:"name,omitempty"`
98850	// Type - READ-ONLY; The resource type.
98851	Type *string `json:"type,omitempty"`
98852	// Etag - READ-ONLY; Etag identifies change in the resource.
98853	Etag *string `json:"etag,omitempty"`
98854}
98855
98856// UnmarshalJSON is the custom unmarshaler for IntegrationRuntimeResource struct.
98857func (irr *IntegrationRuntimeResource) UnmarshalJSON(body []byte) error {
98858	var m map[string]*json.RawMessage
98859	err := json.Unmarshal(body, &m)
98860	if err != nil {
98861		return err
98862	}
98863	for k, v := range m {
98864		switch k {
98865		case "properties":
98866			if v != nil {
98867				properties, err := unmarshalBasicIntegrationRuntime(*v)
98868				if err != nil {
98869					return err
98870				}
98871				irr.Properties = properties
98872			}
98873		case "id":
98874			if v != nil {
98875				var ID string
98876				err = json.Unmarshal(*v, &ID)
98877				if err != nil {
98878					return err
98879				}
98880				irr.ID = &ID
98881			}
98882		case "name":
98883			if v != nil {
98884				var name string
98885				err = json.Unmarshal(*v, &name)
98886				if err != nil {
98887					return err
98888				}
98889				irr.Name = &name
98890			}
98891		case "type":
98892			if v != nil {
98893				var typeVar string
98894				err = json.Unmarshal(*v, &typeVar)
98895				if err != nil {
98896					return err
98897				}
98898				irr.Type = &typeVar
98899			}
98900		case "etag":
98901			if v != nil {
98902				var etag string
98903				err = json.Unmarshal(*v, &etag)
98904				if err != nil {
98905					return err
98906				}
98907				irr.Etag = &etag
98908			}
98909		}
98910	}
98911
98912	return nil
98913}
98914
98915// IntegrationRuntimeSsisCatalogInfo catalog information for managed dedicated integration runtime.
98916type IntegrationRuntimeSsisCatalogInfo struct {
98917	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
98918	AdditionalProperties map[string]interface{} `json:""`
98919	// CatalogServerEndpoint - The catalog database server URL.
98920	CatalogServerEndpoint *string `json:"catalogServerEndpoint,omitempty"`
98921	// CatalogAdminUserName - The administrator user name of catalog database.
98922	CatalogAdminUserName *string `json:"catalogAdminUserName,omitempty"`
98923	// CatalogAdminPassword - The password of the administrator user account of the catalog database.
98924	CatalogAdminPassword *SecureString `json:"catalogAdminPassword,omitempty"`
98925	// 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/. Possible values include: 'IntegrationRuntimeSsisCatalogPricingTierBasic', 'IntegrationRuntimeSsisCatalogPricingTierStandard', 'IntegrationRuntimeSsisCatalogPricingTierPremium', 'IntegrationRuntimeSsisCatalogPricingTierPremiumRS'
98926	CatalogPricingTier IntegrationRuntimeSsisCatalogPricingTier `json:"catalogPricingTier,omitempty"`
98927}
98928
98929// MarshalJSON is the custom marshaler for IntegrationRuntimeSsisCatalogInfo.
98930func (irsci IntegrationRuntimeSsisCatalogInfo) MarshalJSON() ([]byte, error) {
98931	objectMap := make(map[string]interface{})
98932	if irsci.CatalogServerEndpoint != nil {
98933		objectMap["catalogServerEndpoint"] = irsci.CatalogServerEndpoint
98934	}
98935	if irsci.CatalogAdminUserName != nil {
98936		objectMap["catalogAdminUserName"] = irsci.CatalogAdminUserName
98937	}
98938	if irsci.CatalogAdminPassword != nil {
98939		objectMap["catalogAdminPassword"] = irsci.CatalogAdminPassword
98940	}
98941	if irsci.CatalogPricingTier != "" {
98942		objectMap["catalogPricingTier"] = irsci.CatalogPricingTier
98943	}
98944	for k, v := range irsci.AdditionalProperties {
98945		objectMap[k] = v
98946	}
98947	return json.Marshal(objectMap)
98948}
98949
98950// UnmarshalJSON is the custom unmarshaler for IntegrationRuntimeSsisCatalogInfo struct.
98951func (irsci *IntegrationRuntimeSsisCatalogInfo) UnmarshalJSON(body []byte) error {
98952	var m map[string]*json.RawMessage
98953	err := json.Unmarshal(body, &m)
98954	if err != nil {
98955		return err
98956	}
98957	for k, v := range m {
98958		switch k {
98959		default:
98960			if v != nil {
98961				var additionalProperties interface{}
98962				err = json.Unmarshal(*v, &additionalProperties)
98963				if err != nil {
98964					return err
98965				}
98966				if irsci.AdditionalProperties == nil {
98967					irsci.AdditionalProperties = make(map[string]interface{})
98968				}
98969				irsci.AdditionalProperties[k] = additionalProperties
98970			}
98971		case "catalogServerEndpoint":
98972			if v != nil {
98973				var catalogServerEndpoint string
98974				err = json.Unmarshal(*v, &catalogServerEndpoint)
98975				if err != nil {
98976					return err
98977				}
98978				irsci.CatalogServerEndpoint = &catalogServerEndpoint
98979			}
98980		case "catalogAdminUserName":
98981			if v != nil {
98982				var catalogAdminUserName string
98983				err = json.Unmarshal(*v, &catalogAdminUserName)
98984				if err != nil {
98985					return err
98986				}
98987				irsci.CatalogAdminUserName = &catalogAdminUserName
98988			}
98989		case "catalogAdminPassword":
98990			if v != nil {
98991				var catalogAdminPassword SecureString
98992				err = json.Unmarshal(*v, &catalogAdminPassword)
98993				if err != nil {
98994					return err
98995				}
98996				irsci.CatalogAdminPassword = &catalogAdminPassword
98997			}
98998		case "catalogPricingTier":
98999			if v != nil {
99000				var catalogPricingTier IntegrationRuntimeSsisCatalogPricingTier
99001				err = json.Unmarshal(*v, &catalogPricingTier)
99002				if err != nil {
99003					return err
99004				}
99005				irsci.CatalogPricingTier = catalogPricingTier
99006			}
99007		}
99008	}
99009
99010	return nil
99011}
99012
99013// IntegrationRuntimeSsisProperties SSIS properties for managed integration runtime.
99014type IntegrationRuntimeSsisProperties struct {
99015	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
99016	AdditionalProperties map[string]interface{} `json:""`
99017	// CatalogInfo - Catalog information for managed dedicated integration runtime.
99018	CatalogInfo *IntegrationRuntimeSsisCatalogInfo `json:"catalogInfo,omitempty"`
99019	// LicenseType - License type for bringing your own license scenario. Possible values include: 'BasePrice', 'LicenseIncluded'
99020	LicenseType IntegrationRuntimeLicenseType `json:"licenseType,omitempty"`
99021	// CustomSetupScriptProperties - Custom setup script properties for a managed dedicated integration runtime.
99022	CustomSetupScriptProperties *IntegrationRuntimeCustomSetupScriptProperties `json:"customSetupScriptProperties,omitempty"`
99023	// DataProxyProperties - Data proxy properties for a managed dedicated integration runtime.
99024	DataProxyProperties *IntegrationRuntimeDataProxyProperties `json:"dataProxyProperties,omitempty"`
99025	// Edition - The edition for the SSIS Integration Runtime. Possible values include: 'Standard', 'Enterprise'
99026	Edition IntegrationRuntimeEdition `json:"edition,omitempty"`
99027}
99028
99029// MarshalJSON is the custom marshaler for IntegrationRuntimeSsisProperties.
99030func (irsp IntegrationRuntimeSsisProperties) MarshalJSON() ([]byte, error) {
99031	objectMap := make(map[string]interface{})
99032	if irsp.CatalogInfo != nil {
99033		objectMap["catalogInfo"] = irsp.CatalogInfo
99034	}
99035	if irsp.LicenseType != "" {
99036		objectMap["licenseType"] = irsp.LicenseType
99037	}
99038	if irsp.CustomSetupScriptProperties != nil {
99039		objectMap["customSetupScriptProperties"] = irsp.CustomSetupScriptProperties
99040	}
99041	if irsp.DataProxyProperties != nil {
99042		objectMap["dataProxyProperties"] = irsp.DataProxyProperties
99043	}
99044	if irsp.Edition != "" {
99045		objectMap["edition"] = irsp.Edition
99046	}
99047	for k, v := range irsp.AdditionalProperties {
99048		objectMap[k] = v
99049	}
99050	return json.Marshal(objectMap)
99051}
99052
99053// UnmarshalJSON is the custom unmarshaler for IntegrationRuntimeSsisProperties struct.
99054func (irsp *IntegrationRuntimeSsisProperties) UnmarshalJSON(body []byte) error {
99055	var m map[string]*json.RawMessage
99056	err := json.Unmarshal(body, &m)
99057	if err != nil {
99058		return err
99059	}
99060	for k, v := range m {
99061		switch k {
99062		default:
99063			if v != nil {
99064				var additionalProperties interface{}
99065				err = json.Unmarshal(*v, &additionalProperties)
99066				if err != nil {
99067					return err
99068				}
99069				if irsp.AdditionalProperties == nil {
99070					irsp.AdditionalProperties = make(map[string]interface{})
99071				}
99072				irsp.AdditionalProperties[k] = additionalProperties
99073			}
99074		case "catalogInfo":
99075			if v != nil {
99076				var catalogInfo IntegrationRuntimeSsisCatalogInfo
99077				err = json.Unmarshal(*v, &catalogInfo)
99078				if err != nil {
99079					return err
99080				}
99081				irsp.CatalogInfo = &catalogInfo
99082			}
99083		case "licenseType":
99084			if v != nil {
99085				var licenseType IntegrationRuntimeLicenseType
99086				err = json.Unmarshal(*v, &licenseType)
99087				if err != nil {
99088					return err
99089				}
99090				irsp.LicenseType = licenseType
99091			}
99092		case "customSetupScriptProperties":
99093			if v != nil {
99094				var customSetupScriptProperties IntegrationRuntimeCustomSetupScriptProperties
99095				err = json.Unmarshal(*v, &customSetupScriptProperties)
99096				if err != nil {
99097					return err
99098				}
99099				irsp.CustomSetupScriptProperties = &customSetupScriptProperties
99100			}
99101		case "dataProxyProperties":
99102			if v != nil {
99103				var dataProxyProperties IntegrationRuntimeDataProxyProperties
99104				err = json.Unmarshal(*v, &dataProxyProperties)
99105				if err != nil {
99106					return err
99107				}
99108				irsp.DataProxyProperties = &dataProxyProperties
99109			}
99110		case "edition":
99111			if v != nil {
99112				var edition IntegrationRuntimeEdition
99113				err = json.Unmarshal(*v, &edition)
99114				if err != nil {
99115					return err
99116				}
99117				irsp.Edition = edition
99118			}
99119		}
99120	}
99121
99122	return nil
99123}
99124
99125// IntegrationRuntimesStartFuture an abstraction for monitoring and retrieving the results of a
99126// long-running operation.
99127type IntegrationRuntimesStartFuture struct {
99128	azure.Future
99129}
99130
99131// Result returns the result of the asynchronous operation.
99132// If the operation has not completed it will return an error.
99133func (future *IntegrationRuntimesStartFuture) Result(client IntegrationRuntimesClient) (irsr IntegrationRuntimeStatusResponse, err error) {
99134	var done bool
99135	done, err = future.DoneWithContext(context.Background(), client)
99136	if err != nil {
99137		err = autorest.NewErrorWithError(err, "datafactory.IntegrationRuntimesStartFuture", "Result", future.Response(), "Polling failure")
99138		return
99139	}
99140	if !done {
99141		err = azure.NewAsyncOpIncompleteError("datafactory.IntegrationRuntimesStartFuture")
99142		return
99143	}
99144	sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...))
99145	if irsr.Response.Response, err = future.GetResult(sender); err == nil && irsr.Response.Response.StatusCode != http.StatusNoContent {
99146		irsr, err = client.StartResponder(irsr.Response.Response)
99147		if err != nil {
99148			err = autorest.NewErrorWithError(err, "datafactory.IntegrationRuntimesStartFuture", "Result", irsr.Response.Response, "Failure responding to request")
99149		}
99150	}
99151	return
99152}
99153
99154// IntegrationRuntimesStopFuture an abstraction for monitoring and retrieving the results of a long-running
99155// operation.
99156type IntegrationRuntimesStopFuture struct {
99157	azure.Future
99158}
99159
99160// Result returns the result of the asynchronous operation.
99161// If the operation has not completed it will return an error.
99162func (future *IntegrationRuntimesStopFuture) Result(client IntegrationRuntimesClient) (ar autorest.Response, err error) {
99163	var done bool
99164	done, err = future.DoneWithContext(context.Background(), client)
99165	if err != nil {
99166		err = autorest.NewErrorWithError(err, "datafactory.IntegrationRuntimesStopFuture", "Result", future.Response(), "Polling failure")
99167		return
99168	}
99169	if !done {
99170		err = azure.NewAsyncOpIncompleteError("datafactory.IntegrationRuntimesStopFuture")
99171		return
99172	}
99173	ar.Response = future.Response()
99174	return
99175}
99176
99177// BasicIntegrationRuntimeStatus integration runtime status.
99178type BasicIntegrationRuntimeStatus interface {
99179	AsSelfHostedIntegrationRuntimeStatus() (*SelfHostedIntegrationRuntimeStatus, bool)
99180	AsManagedIntegrationRuntimeStatus() (*ManagedIntegrationRuntimeStatus, bool)
99181	AsIntegrationRuntimeStatus() (*IntegrationRuntimeStatus, bool)
99182}
99183
99184// IntegrationRuntimeStatus integration runtime status.
99185type IntegrationRuntimeStatus struct {
99186	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
99187	AdditionalProperties map[string]interface{} `json:""`
99188	// DataFactoryName - READ-ONLY; The data factory name which the integration runtime belong to.
99189	DataFactoryName *string `json:"dataFactoryName,omitempty"`
99190	// State - READ-ONLY; The state of integration runtime. Possible values include: 'IntegrationRuntimeStateInitial', 'IntegrationRuntimeStateStopped', 'IntegrationRuntimeStateStarted', 'IntegrationRuntimeStateStarting', 'IntegrationRuntimeStateStopping', 'IntegrationRuntimeStateNeedRegistration', 'IntegrationRuntimeStateOnline', 'IntegrationRuntimeStateLimited', 'IntegrationRuntimeStateOffline', 'IntegrationRuntimeStateAccessDenied'
99191	State IntegrationRuntimeState `json:"state,omitempty"`
99192	// Type - Possible values include: 'TypeBasicIntegrationRuntimeStatusTypeIntegrationRuntimeStatus', 'TypeBasicIntegrationRuntimeStatusTypeSelfHosted', 'TypeBasicIntegrationRuntimeStatusTypeManaged'
99193	Type TypeBasicIntegrationRuntimeStatus `json:"type,omitempty"`
99194}
99195
99196func unmarshalBasicIntegrationRuntimeStatus(body []byte) (BasicIntegrationRuntimeStatus, error) {
99197	var m map[string]interface{}
99198	err := json.Unmarshal(body, &m)
99199	if err != nil {
99200		return nil, err
99201	}
99202
99203	switch m["type"] {
99204	case string(TypeBasicIntegrationRuntimeStatusTypeSelfHosted):
99205		var shirs SelfHostedIntegrationRuntimeStatus
99206		err := json.Unmarshal(body, &shirs)
99207		return shirs, err
99208	case string(TypeBasicIntegrationRuntimeStatusTypeManaged):
99209		var mirs ManagedIntegrationRuntimeStatus
99210		err := json.Unmarshal(body, &mirs)
99211		return mirs, err
99212	default:
99213		var irs IntegrationRuntimeStatus
99214		err := json.Unmarshal(body, &irs)
99215		return irs, err
99216	}
99217}
99218func unmarshalBasicIntegrationRuntimeStatusArray(body []byte) ([]BasicIntegrationRuntimeStatus, error) {
99219	var rawMessages []*json.RawMessage
99220	err := json.Unmarshal(body, &rawMessages)
99221	if err != nil {
99222		return nil, err
99223	}
99224
99225	irsArray := make([]BasicIntegrationRuntimeStatus, len(rawMessages))
99226
99227	for index, rawMessage := range rawMessages {
99228		irs, err := unmarshalBasicIntegrationRuntimeStatus(*rawMessage)
99229		if err != nil {
99230			return nil, err
99231		}
99232		irsArray[index] = irs
99233	}
99234	return irsArray, nil
99235}
99236
99237// MarshalJSON is the custom marshaler for IntegrationRuntimeStatus.
99238func (irs IntegrationRuntimeStatus) MarshalJSON() ([]byte, error) {
99239	irs.Type = TypeBasicIntegrationRuntimeStatusTypeIntegrationRuntimeStatus
99240	objectMap := make(map[string]interface{})
99241	if irs.Type != "" {
99242		objectMap["type"] = irs.Type
99243	}
99244	for k, v := range irs.AdditionalProperties {
99245		objectMap[k] = v
99246	}
99247	return json.Marshal(objectMap)
99248}
99249
99250// AsSelfHostedIntegrationRuntimeStatus is the BasicIntegrationRuntimeStatus implementation for IntegrationRuntimeStatus.
99251func (irs IntegrationRuntimeStatus) AsSelfHostedIntegrationRuntimeStatus() (*SelfHostedIntegrationRuntimeStatus, bool) {
99252	return nil, false
99253}
99254
99255// AsManagedIntegrationRuntimeStatus is the BasicIntegrationRuntimeStatus implementation for IntegrationRuntimeStatus.
99256func (irs IntegrationRuntimeStatus) AsManagedIntegrationRuntimeStatus() (*ManagedIntegrationRuntimeStatus, bool) {
99257	return nil, false
99258}
99259
99260// AsIntegrationRuntimeStatus is the BasicIntegrationRuntimeStatus implementation for IntegrationRuntimeStatus.
99261func (irs IntegrationRuntimeStatus) AsIntegrationRuntimeStatus() (*IntegrationRuntimeStatus, bool) {
99262	return &irs, true
99263}
99264
99265// AsBasicIntegrationRuntimeStatus is the BasicIntegrationRuntimeStatus implementation for IntegrationRuntimeStatus.
99266func (irs IntegrationRuntimeStatus) AsBasicIntegrationRuntimeStatus() (BasicIntegrationRuntimeStatus, bool) {
99267	return &irs, true
99268}
99269
99270// UnmarshalJSON is the custom unmarshaler for IntegrationRuntimeStatus struct.
99271func (irs *IntegrationRuntimeStatus) UnmarshalJSON(body []byte) error {
99272	var m map[string]*json.RawMessage
99273	err := json.Unmarshal(body, &m)
99274	if err != nil {
99275		return err
99276	}
99277	for k, v := range m {
99278		switch k {
99279		default:
99280			if v != nil {
99281				var additionalProperties interface{}
99282				err = json.Unmarshal(*v, &additionalProperties)
99283				if err != nil {
99284					return err
99285				}
99286				if irs.AdditionalProperties == nil {
99287					irs.AdditionalProperties = make(map[string]interface{})
99288				}
99289				irs.AdditionalProperties[k] = additionalProperties
99290			}
99291		case "dataFactoryName":
99292			if v != nil {
99293				var dataFactoryName string
99294				err = json.Unmarshal(*v, &dataFactoryName)
99295				if err != nil {
99296					return err
99297				}
99298				irs.DataFactoryName = &dataFactoryName
99299			}
99300		case "state":
99301			if v != nil {
99302				var state IntegrationRuntimeState
99303				err = json.Unmarshal(*v, &state)
99304				if err != nil {
99305					return err
99306				}
99307				irs.State = state
99308			}
99309		case "type":
99310			if v != nil {
99311				var typeVar TypeBasicIntegrationRuntimeStatus
99312				err = json.Unmarshal(*v, &typeVar)
99313				if err != nil {
99314					return err
99315				}
99316				irs.Type = typeVar
99317			}
99318		}
99319	}
99320
99321	return nil
99322}
99323
99324// IntegrationRuntimeStatusListResponse a list of integration runtime status.
99325type IntegrationRuntimeStatusListResponse struct {
99326	// Value - List of integration runtime status.
99327	Value *[]IntegrationRuntimeStatusResponse `json:"value,omitempty"`
99328	// NextLink - The link to the next page of results, if any remaining results exist.
99329	NextLink *string `json:"nextLink,omitempty"`
99330}
99331
99332// IntegrationRuntimeStatusResponse integration runtime status response.
99333type IntegrationRuntimeStatusResponse struct {
99334	autorest.Response `json:"-"`
99335	// Name - READ-ONLY; The integration runtime name.
99336	Name *string `json:"name,omitempty"`
99337	// Properties - Integration runtime properties.
99338	Properties BasicIntegrationRuntimeStatus `json:"properties,omitempty"`
99339}
99340
99341// UnmarshalJSON is the custom unmarshaler for IntegrationRuntimeStatusResponse struct.
99342func (irsr *IntegrationRuntimeStatusResponse) UnmarshalJSON(body []byte) error {
99343	var m map[string]*json.RawMessage
99344	err := json.Unmarshal(body, &m)
99345	if err != nil {
99346		return err
99347	}
99348	for k, v := range m {
99349		switch k {
99350		case "name":
99351			if v != nil {
99352				var name string
99353				err = json.Unmarshal(*v, &name)
99354				if err != nil {
99355					return err
99356				}
99357				irsr.Name = &name
99358			}
99359		case "properties":
99360			if v != nil {
99361				properties, err := unmarshalBasicIntegrationRuntimeStatus(*v)
99362				if err != nil {
99363					return err
99364				}
99365				irsr.Properties = properties
99366			}
99367		}
99368	}
99369
99370	return nil
99371}
99372
99373// IntegrationRuntimeVNetProperties vNet properties for managed integration runtime.
99374type IntegrationRuntimeVNetProperties struct {
99375	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
99376	AdditionalProperties map[string]interface{} `json:""`
99377	// VNetID - The ID of the VNet that this integration runtime will join.
99378	VNetID *string `json:"vNetId,omitempty"`
99379	// Subnet - The name of the subnet this integration runtime will join.
99380	Subnet *string `json:"subnet,omitempty"`
99381}
99382
99383// MarshalJSON is the custom marshaler for IntegrationRuntimeVNetProperties.
99384func (irvnp IntegrationRuntimeVNetProperties) MarshalJSON() ([]byte, error) {
99385	objectMap := make(map[string]interface{})
99386	if irvnp.VNetID != nil {
99387		objectMap["vNetId"] = irvnp.VNetID
99388	}
99389	if irvnp.Subnet != nil {
99390		objectMap["subnet"] = irvnp.Subnet
99391	}
99392	for k, v := range irvnp.AdditionalProperties {
99393		objectMap[k] = v
99394	}
99395	return json.Marshal(objectMap)
99396}
99397
99398// UnmarshalJSON is the custom unmarshaler for IntegrationRuntimeVNetProperties struct.
99399func (irvnp *IntegrationRuntimeVNetProperties) UnmarshalJSON(body []byte) error {
99400	var m map[string]*json.RawMessage
99401	err := json.Unmarshal(body, &m)
99402	if err != nil {
99403		return err
99404	}
99405	for k, v := range m {
99406		switch k {
99407		default:
99408			if v != nil {
99409				var additionalProperties interface{}
99410				err = json.Unmarshal(*v, &additionalProperties)
99411				if err != nil {
99412					return err
99413				}
99414				if irvnp.AdditionalProperties == nil {
99415					irvnp.AdditionalProperties = make(map[string]interface{})
99416				}
99417				irvnp.AdditionalProperties[k] = additionalProperties
99418			}
99419		case "vNetId":
99420			if v != nil {
99421				var vNetID string
99422				err = json.Unmarshal(*v, &vNetID)
99423				if err != nil {
99424					return err
99425				}
99426				irvnp.VNetID = &vNetID
99427			}
99428		case "subnet":
99429			if v != nil {
99430				var subnet string
99431				err = json.Unmarshal(*v, &subnet)
99432				if err != nil {
99433					return err
99434				}
99435				irvnp.Subnet = &subnet
99436			}
99437		}
99438	}
99439
99440	return nil
99441}
99442
99443// JiraLinkedService jira Service linked service.
99444type JiraLinkedService struct {
99445	// JiraLinkedServiceTypeProperties - Jira Service linked service properties.
99446	*JiraLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
99447	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
99448	AdditionalProperties map[string]interface{} `json:""`
99449	// ConnectVia - The integration runtime reference.
99450	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
99451	// Description - Linked service description.
99452	Description *string `json:"description,omitempty"`
99453	// Parameters - Parameters for linked service.
99454	Parameters map[string]*ParameterSpecification `json:"parameters"`
99455	// Annotations - List of tags that can be used for describing the linked service.
99456	Annotations *[]interface{} `json:"annotations,omitempty"`
99457	// Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', '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', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage'
99458	Type TypeBasicLinkedService `json:"type,omitempty"`
99459}
99460
99461// MarshalJSON is the custom marshaler for JiraLinkedService.
99462func (jls JiraLinkedService) MarshalJSON() ([]byte, error) {
99463	jls.Type = TypeJira
99464	objectMap := make(map[string]interface{})
99465	if jls.JiraLinkedServiceTypeProperties != nil {
99466		objectMap["typeProperties"] = jls.JiraLinkedServiceTypeProperties
99467	}
99468	if jls.ConnectVia != nil {
99469		objectMap["connectVia"] = jls.ConnectVia
99470	}
99471	if jls.Description != nil {
99472		objectMap["description"] = jls.Description
99473	}
99474	if jls.Parameters != nil {
99475		objectMap["parameters"] = jls.Parameters
99476	}
99477	if jls.Annotations != nil {
99478		objectMap["annotations"] = jls.Annotations
99479	}
99480	if jls.Type != "" {
99481		objectMap["type"] = jls.Type
99482	}
99483	for k, v := range jls.AdditionalProperties {
99484		objectMap[k] = v
99485	}
99486	return json.Marshal(objectMap)
99487}
99488
99489// AsAzureFunctionLinkedService is the BasicLinkedService implementation for JiraLinkedService.
99490func (jls JiraLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) {
99491	return nil, false
99492}
99493
99494// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for JiraLinkedService.
99495func (jls JiraLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) {
99496	return nil, false
99497}
99498
99499// AsSapTableLinkedService is the BasicLinkedService implementation for JiraLinkedService.
99500func (jls JiraLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) {
99501	return nil, false
99502}
99503
99504// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for JiraLinkedService.
99505func (jls JiraLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) {
99506	return nil, false
99507}
99508
99509// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for JiraLinkedService.
99510func (jls JiraLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) {
99511	return nil, false
99512}
99513
99514// AsDynamicsAXLinkedService is the BasicLinkedService implementation for JiraLinkedService.
99515func (jls JiraLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) {
99516	return nil, false
99517}
99518
99519// AsResponsysLinkedService is the BasicLinkedService implementation for JiraLinkedService.
99520func (jls JiraLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
99521	return nil, false
99522}
99523
99524// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for JiraLinkedService.
99525func (jls JiraLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
99526	return nil, false
99527}
99528
99529// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for JiraLinkedService.
99530func (jls JiraLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
99531	return nil, false
99532}
99533
99534// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for JiraLinkedService.
99535func (jls JiraLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
99536	return nil, false
99537}
99538
99539// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for JiraLinkedService.
99540func (jls JiraLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
99541	return nil, false
99542}
99543
99544// AsNetezzaLinkedService is the BasicLinkedService implementation for JiraLinkedService.
99545func (jls JiraLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
99546	return nil, false
99547}
99548
99549// AsVerticaLinkedService is the BasicLinkedService implementation for JiraLinkedService.
99550func (jls JiraLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
99551	return nil, false
99552}
99553
99554// AsZohoLinkedService is the BasicLinkedService implementation for JiraLinkedService.
99555func (jls JiraLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
99556	return nil, false
99557}
99558
99559// AsXeroLinkedService is the BasicLinkedService implementation for JiraLinkedService.
99560func (jls JiraLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
99561	return nil, false
99562}
99563
99564// AsSquareLinkedService is the BasicLinkedService implementation for JiraLinkedService.
99565func (jls JiraLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
99566	return nil, false
99567}
99568
99569// AsSparkLinkedService is the BasicLinkedService implementation for JiraLinkedService.
99570func (jls JiraLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
99571	return nil, false
99572}
99573
99574// AsShopifyLinkedService is the BasicLinkedService implementation for JiraLinkedService.
99575func (jls JiraLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
99576	return nil, false
99577}
99578
99579// AsServiceNowLinkedService is the BasicLinkedService implementation for JiraLinkedService.
99580func (jls JiraLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
99581	return nil, false
99582}
99583
99584// AsQuickBooksLinkedService is the BasicLinkedService implementation for JiraLinkedService.
99585func (jls JiraLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
99586	return nil, false
99587}
99588
99589// AsPrestoLinkedService is the BasicLinkedService implementation for JiraLinkedService.
99590func (jls JiraLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
99591	return nil, false
99592}
99593
99594// AsPhoenixLinkedService is the BasicLinkedService implementation for JiraLinkedService.
99595func (jls JiraLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
99596	return nil, false
99597}
99598
99599// AsPaypalLinkedService is the BasicLinkedService implementation for JiraLinkedService.
99600func (jls JiraLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
99601	return nil, false
99602}
99603
99604// AsMarketoLinkedService is the BasicLinkedService implementation for JiraLinkedService.
99605func (jls JiraLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
99606	return nil, false
99607}
99608
99609// AsMariaDBLinkedService is the BasicLinkedService implementation for JiraLinkedService.
99610func (jls JiraLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
99611	return nil, false
99612}
99613
99614// AsMagentoLinkedService is the BasicLinkedService implementation for JiraLinkedService.
99615func (jls JiraLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
99616	return nil, false
99617}
99618
99619// AsJiraLinkedService is the BasicLinkedService implementation for JiraLinkedService.
99620func (jls JiraLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
99621	return &jls, true
99622}
99623
99624// AsImpalaLinkedService is the BasicLinkedService implementation for JiraLinkedService.
99625func (jls JiraLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
99626	return nil, false
99627}
99628
99629// AsHubspotLinkedService is the BasicLinkedService implementation for JiraLinkedService.
99630func (jls JiraLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
99631	return nil, false
99632}
99633
99634// AsHiveLinkedService is the BasicLinkedService implementation for JiraLinkedService.
99635func (jls JiraLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
99636	return nil, false
99637}
99638
99639// AsHBaseLinkedService is the BasicLinkedService implementation for JiraLinkedService.
99640func (jls JiraLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
99641	return nil, false
99642}
99643
99644// AsGreenplumLinkedService is the BasicLinkedService implementation for JiraLinkedService.
99645func (jls JiraLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
99646	return nil, false
99647}
99648
99649// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for JiraLinkedService.
99650func (jls JiraLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
99651	return nil, false
99652}
99653
99654// AsEloquaLinkedService is the BasicLinkedService implementation for JiraLinkedService.
99655func (jls JiraLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
99656	return nil, false
99657}
99658
99659// AsDrillLinkedService is the BasicLinkedService implementation for JiraLinkedService.
99660func (jls JiraLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
99661	return nil, false
99662}
99663
99664// AsCouchbaseLinkedService is the BasicLinkedService implementation for JiraLinkedService.
99665func (jls JiraLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
99666	return nil, false
99667}
99668
99669// AsConcurLinkedService is the BasicLinkedService implementation for JiraLinkedService.
99670func (jls JiraLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
99671	return nil, false
99672}
99673
99674// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for JiraLinkedService.
99675func (jls JiraLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
99676	return nil, false
99677}
99678
99679// AsAmazonMWSLinkedService is the BasicLinkedService implementation for JiraLinkedService.
99680func (jls JiraLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
99681	return nil, false
99682}
99683
99684// AsSapHanaLinkedService is the BasicLinkedService implementation for JiraLinkedService.
99685func (jls JiraLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
99686	return nil, false
99687}
99688
99689// AsSapBWLinkedService is the BasicLinkedService implementation for JiraLinkedService.
99690func (jls JiraLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
99691	return nil, false
99692}
99693
99694// AsSftpServerLinkedService is the BasicLinkedService implementation for JiraLinkedService.
99695func (jls JiraLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
99696	return nil, false
99697}
99698
99699// AsFtpServerLinkedService is the BasicLinkedService implementation for JiraLinkedService.
99700func (jls JiraLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
99701	return nil, false
99702}
99703
99704// AsHTTPLinkedService is the BasicLinkedService implementation for JiraLinkedService.
99705func (jls JiraLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
99706	return nil, false
99707}
99708
99709// AsAzureSearchLinkedService is the BasicLinkedService implementation for JiraLinkedService.
99710func (jls JiraLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
99711	return nil, false
99712}
99713
99714// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for JiraLinkedService.
99715func (jls JiraLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
99716	return nil, false
99717}
99718
99719// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for JiraLinkedService.
99720func (jls JiraLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
99721	return nil, false
99722}
99723
99724// AsAmazonS3LinkedService is the BasicLinkedService implementation for JiraLinkedService.
99725func (jls JiraLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
99726	return nil, false
99727}
99728
99729// AsRestServiceLinkedService is the BasicLinkedService implementation for JiraLinkedService.
99730func (jls JiraLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) {
99731	return nil, false
99732}
99733
99734// AsSapOpenHubLinkedService is the BasicLinkedService implementation for JiraLinkedService.
99735func (jls JiraLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) {
99736	return nil, false
99737}
99738
99739// AsSapEccLinkedService is the BasicLinkedService implementation for JiraLinkedService.
99740func (jls JiraLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
99741	return nil, false
99742}
99743
99744// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for JiraLinkedService.
99745func (jls JiraLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
99746	return nil, false
99747}
99748
99749// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for JiraLinkedService.
99750func (jls JiraLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) {
99751	return nil, false
99752}
99753
99754// AsSalesforceLinkedService is the BasicLinkedService implementation for JiraLinkedService.
99755func (jls JiraLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
99756	return nil, false
99757}
99758
99759// AsOffice365LinkedService is the BasicLinkedService implementation for JiraLinkedService.
99760func (jls JiraLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) {
99761	return nil, false
99762}
99763
99764// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for JiraLinkedService.
99765func (jls JiraLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) {
99766	return nil, false
99767}
99768
99769// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for JiraLinkedService.
99770func (jls JiraLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
99771	return nil, false
99772}
99773
99774// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for JiraLinkedService.
99775func (jls JiraLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) {
99776	return nil, false
99777}
99778
99779// AsMongoDbV2LinkedService is the BasicLinkedService implementation for JiraLinkedService.
99780func (jls JiraLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) {
99781	return nil, false
99782}
99783
99784// AsMongoDbLinkedService is the BasicLinkedService implementation for JiraLinkedService.
99785func (jls JiraLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
99786	return nil, false
99787}
99788
99789// AsCassandraLinkedService is the BasicLinkedService implementation for JiraLinkedService.
99790func (jls JiraLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
99791	return nil, false
99792}
99793
99794// AsWebLinkedService is the BasicLinkedService implementation for JiraLinkedService.
99795func (jls JiraLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
99796	return nil, false
99797}
99798
99799// AsODataLinkedService is the BasicLinkedService implementation for JiraLinkedService.
99800func (jls JiraLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
99801	return nil, false
99802}
99803
99804// AsHdfsLinkedService is the BasicLinkedService implementation for JiraLinkedService.
99805func (jls JiraLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
99806	return nil, false
99807}
99808
99809// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for JiraLinkedService.
99810func (jls JiraLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) {
99811	return nil, false
99812}
99813
99814// AsInformixLinkedService is the BasicLinkedService implementation for JiraLinkedService.
99815func (jls JiraLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) {
99816	return nil, false
99817}
99818
99819// AsOdbcLinkedService is the BasicLinkedService implementation for JiraLinkedService.
99820func (jls JiraLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
99821	return nil, false
99822}
99823
99824// AsAzureMLLinkedService is the BasicLinkedService implementation for JiraLinkedService.
99825func (jls JiraLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
99826	return nil, false
99827}
99828
99829// AsTeradataLinkedService is the BasicLinkedService implementation for JiraLinkedService.
99830func (jls JiraLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
99831	return nil, false
99832}
99833
99834// AsDb2LinkedService is the BasicLinkedService implementation for JiraLinkedService.
99835func (jls JiraLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
99836	return nil, false
99837}
99838
99839// AsSybaseLinkedService is the BasicLinkedService implementation for JiraLinkedService.
99840func (jls JiraLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
99841	return nil, false
99842}
99843
99844// AsPostgreSQLLinkedService is the BasicLinkedService implementation for JiraLinkedService.
99845func (jls JiraLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
99846	return nil, false
99847}
99848
99849// AsMySQLLinkedService is the BasicLinkedService implementation for JiraLinkedService.
99850func (jls JiraLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
99851	return nil, false
99852}
99853
99854// AsAzureMySQLLinkedService is the BasicLinkedService implementation for JiraLinkedService.
99855func (jls JiraLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
99856	return nil, false
99857}
99858
99859// AsOracleLinkedService is the BasicLinkedService implementation for JiraLinkedService.
99860func (jls JiraLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
99861	return nil, false
99862}
99863
99864// AsFileServerLinkedService is the BasicLinkedService implementation for JiraLinkedService.
99865func (jls JiraLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
99866	return nil, false
99867}
99868
99869// AsHDInsightLinkedService is the BasicLinkedService implementation for JiraLinkedService.
99870func (jls JiraLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
99871	return nil, false
99872}
99873
99874// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for JiraLinkedService.
99875func (jls JiraLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) {
99876	return nil, false
99877}
99878
99879// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for JiraLinkedService.
99880func (jls JiraLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) {
99881	return nil, false
99882}
99883
99884// AsDynamicsLinkedService is the BasicLinkedService implementation for JiraLinkedService.
99885func (jls JiraLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
99886	return nil, false
99887}
99888
99889// AsCosmosDbLinkedService is the BasicLinkedService implementation for JiraLinkedService.
99890func (jls JiraLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
99891	return nil, false
99892}
99893
99894// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for JiraLinkedService.
99895func (jls JiraLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
99896	return nil, false
99897}
99898
99899// AsAzureBatchLinkedService is the BasicLinkedService implementation for JiraLinkedService.
99900func (jls JiraLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
99901	return nil, false
99902}
99903
99904// AsAzureSQLMILinkedService is the BasicLinkedService implementation for JiraLinkedService.
99905func (jls JiraLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) {
99906	return nil, false
99907}
99908
99909// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for JiraLinkedService.
99910func (jls JiraLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
99911	return nil, false
99912}
99913
99914// AsSQLServerLinkedService is the BasicLinkedService implementation for JiraLinkedService.
99915func (jls JiraLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
99916	return nil, false
99917}
99918
99919// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for JiraLinkedService.
99920func (jls JiraLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
99921	return nil, false
99922}
99923
99924// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for JiraLinkedService.
99925func (jls JiraLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) {
99926	return nil, false
99927}
99928
99929// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for JiraLinkedService.
99930func (jls JiraLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) {
99931	return nil, false
99932}
99933
99934// AsAzureStorageLinkedService is the BasicLinkedService implementation for JiraLinkedService.
99935func (jls JiraLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
99936	return nil, false
99937}
99938
99939// AsLinkedService is the BasicLinkedService implementation for JiraLinkedService.
99940func (jls JiraLinkedService) AsLinkedService() (*LinkedService, bool) {
99941	return nil, false
99942}
99943
99944// AsBasicLinkedService is the BasicLinkedService implementation for JiraLinkedService.
99945func (jls JiraLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
99946	return &jls, true
99947}
99948
99949// UnmarshalJSON is the custom unmarshaler for JiraLinkedService struct.
99950func (jls *JiraLinkedService) UnmarshalJSON(body []byte) error {
99951	var m map[string]*json.RawMessage
99952	err := json.Unmarshal(body, &m)
99953	if err != nil {
99954		return err
99955	}
99956	for k, v := range m {
99957		switch k {
99958		case "typeProperties":
99959			if v != nil {
99960				var jiraLinkedServiceTypeProperties JiraLinkedServiceTypeProperties
99961				err = json.Unmarshal(*v, &jiraLinkedServiceTypeProperties)
99962				if err != nil {
99963					return err
99964				}
99965				jls.JiraLinkedServiceTypeProperties = &jiraLinkedServiceTypeProperties
99966			}
99967		default:
99968			if v != nil {
99969				var additionalProperties interface{}
99970				err = json.Unmarshal(*v, &additionalProperties)
99971				if err != nil {
99972					return err
99973				}
99974				if jls.AdditionalProperties == nil {
99975					jls.AdditionalProperties = make(map[string]interface{})
99976				}
99977				jls.AdditionalProperties[k] = additionalProperties
99978			}
99979		case "connectVia":
99980			if v != nil {
99981				var connectVia IntegrationRuntimeReference
99982				err = json.Unmarshal(*v, &connectVia)
99983				if err != nil {
99984					return err
99985				}
99986				jls.ConnectVia = &connectVia
99987			}
99988		case "description":
99989			if v != nil {
99990				var description string
99991				err = json.Unmarshal(*v, &description)
99992				if err != nil {
99993					return err
99994				}
99995				jls.Description = &description
99996			}
99997		case "parameters":
99998			if v != nil {
99999				var parameters map[string]*ParameterSpecification
100000				err = json.Unmarshal(*v, &parameters)
100001				if err != nil {
100002					return err
100003				}
100004				jls.Parameters = parameters
100005			}
100006		case "annotations":
100007			if v != nil {
100008				var annotations []interface{}
100009				err = json.Unmarshal(*v, &annotations)
100010				if err != nil {
100011					return err
100012				}
100013				jls.Annotations = &annotations
100014			}
100015		case "type":
100016			if v != nil {
100017				var typeVar TypeBasicLinkedService
100018				err = json.Unmarshal(*v, &typeVar)
100019				if err != nil {
100020					return err
100021				}
100022				jls.Type = typeVar
100023			}
100024		}
100025	}
100026
100027	return nil
100028}
100029
100030// JiraLinkedServiceTypeProperties jira Service linked service properties.
100031type JiraLinkedServiceTypeProperties struct {
100032	// Host - The IP address or host name of the Jira service. (e.g. jira.example.com)
100033	Host interface{} `json:"host,omitempty"`
100034	// 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.
100035	Port interface{} `json:"port,omitempty"`
100036	// Username - The user name that you use to access Jira Service.
100037	Username interface{} `json:"username,omitempty"`
100038	// Password - The password corresponding to the user name that you provided in the username field.
100039	Password BasicSecretBase `json:"password,omitempty"`
100040	// UseEncryptedEndpoints - Specifies whether the data source endpoints are encrypted using HTTPS. The default value is true.
100041	UseEncryptedEndpoints interface{} `json:"useEncryptedEndpoints,omitempty"`
100042	// 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.
100043	UseHostVerification interface{} `json:"useHostVerification,omitempty"`
100044	// UsePeerVerification - Specifies whether to verify the identity of the server when connecting over SSL. The default value is true.
100045	UsePeerVerification interface{} `json:"usePeerVerification,omitempty"`
100046	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
100047	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
100048}
100049
100050// UnmarshalJSON is the custom unmarshaler for JiraLinkedServiceTypeProperties struct.
100051func (jlstp *JiraLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
100052	var m map[string]*json.RawMessage
100053	err := json.Unmarshal(body, &m)
100054	if err != nil {
100055		return err
100056	}
100057	for k, v := range m {
100058		switch k {
100059		case "host":
100060			if v != nil {
100061				var host interface{}
100062				err = json.Unmarshal(*v, &host)
100063				if err != nil {
100064					return err
100065				}
100066				jlstp.Host = host
100067			}
100068		case "port":
100069			if v != nil {
100070				var port interface{}
100071				err = json.Unmarshal(*v, &port)
100072				if err != nil {
100073					return err
100074				}
100075				jlstp.Port = port
100076			}
100077		case "username":
100078			if v != nil {
100079				var username interface{}
100080				err = json.Unmarshal(*v, &username)
100081				if err != nil {
100082					return err
100083				}
100084				jlstp.Username = username
100085			}
100086		case "password":
100087			if v != nil {
100088				password, err := unmarshalBasicSecretBase(*v)
100089				if err != nil {
100090					return err
100091				}
100092				jlstp.Password = password
100093			}
100094		case "useEncryptedEndpoints":
100095			if v != nil {
100096				var useEncryptedEndpoints interface{}
100097				err = json.Unmarshal(*v, &useEncryptedEndpoints)
100098				if err != nil {
100099					return err
100100				}
100101				jlstp.UseEncryptedEndpoints = useEncryptedEndpoints
100102			}
100103		case "useHostVerification":
100104			if v != nil {
100105				var useHostVerification interface{}
100106				err = json.Unmarshal(*v, &useHostVerification)
100107				if err != nil {
100108					return err
100109				}
100110				jlstp.UseHostVerification = useHostVerification
100111			}
100112		case "usePeerVerification":
100113			if v != nil {
100114				var usePeerVerification interface{}
100115				err = json.Unmarshal(*v, &usePeerVerification)
100116				if err != nil {
100117					return err
100118				}
100119				jlstp.UsePeerVerification = usePeerVerification
100120			}
100121		case "encryptedCredential":
100122			if v != nil {
100123				var encryptedCredential interface{}
100124				err = json.Unmarshal(*v, &encryptedCredential)
100125				if err != nil {
100126					return err
100127				}
100128				jlstp.EncryptedCredential = encryptedCredential
100129			}
100130		}
100131	}
100132
100133	return nil
100134}
100135
100136// JiraObjectDataset jira Service dataset.
100137type JiraObjectDataset struct {
100138	// GenericDatasetTypeProperties - Properties specific to this dataset type.
100139	*GenericDatasetTypeProperties `json:"typeProperties,omitempty"`
100140	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
100141	AdditionalProperties map[string]interface{} `json:""`
100142	// Description - Dataset description.
100143	Description *string `json:"description,omitempty"`
100144	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
100145	Structure interface{} `json:"structure,omitempty"`
100146	// Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement.
100147	Schema interface{} `json:"schema,omitempty"`
100148	// LinkedServiceName - Linked service reference.
100149	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
100150	// Parameters - Parameters for dataset.
100151	Parameters map[string]*ParameterSpecification `json:"parameters"`
100152	// Annotations - List of tags that can be used for describing the Dataset.
100153	Annotations *[]interface{} `json:"annotations,omitempty"`
100154	// Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level.
100155	Folder *DatasetFolder `json:"folder,omitempty"`
100156	// Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', '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', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeDelimitedText', 'TypeParquet', 'TypeAmazonS3Object'
100157	Type TypeBasicDataset `json:"type,omitempty"`
100158}
100159
100160// MarshalJSON is the custom marshaler for JiraObjectDataset.
100161func (jod JiraObjectDataset) MarshalJSON() ([]byte, error) {
100162	jod.Type = TypeJiraObject
100163	objectMap := make(map[string]interface{})
100164	if jod.GenericDatasetTypeProperties != nil {
100165		objectMap["typeProperties"] = jod.GenericDatasetTypeProperties
100166	}
100167	if jod.Description != nil {
100168		objectMap["description"] = jod.Description
100169	}
100170	if jod.Structure != nil {
100171		objectMap["structure"] = jod.Structure
100172	}
100173	if jod.Schema != nil {
100174		objectMap["schema"] = jod.Schema
100175	}
100176	if jod.LinkedServiceName != nil {
100177		objectMap["linkedServiceName"] = jod.LinkedServiceName
100178	}
100179	if jod.Parameters != nil {
100180		objectMap["parameters"] = jod.Parameters
100181	}
100182	if jod.Annotations != nil {
100183		objectMap["annotations"] = jod.Annotations
100184	}
100185	if jod.Folder != nil {
100186		objectMap["folder"] = jod.Folder
100187	}
100188	if jod.Type != "" {
100189		objectMap["type"] = jod.Type
100190	}
100191	for k, v := range jod.AdditionalProperties {
100192		objectMap[k] = v
100193	}
100194	return json.Marshal(objectMap)
100195}
100196
100197// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for JiraObjectDataset.
100198func (jod JiraObjectDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) {
100199	return nil, false
100200}
100201
100202// AsAzureDataExplorerTableDataset is the BasicDataset implementation for JiraObjectDataset.
100203func (jod JiraObjectDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) {
100204	return nil, false
100205}
100206
100207// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for JiraObjectDataset.
100208func (jod JiraObjectDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) {
100209	return nil, false
100210}
100211
100212// AsDynamicsAXResourceDataset is the BasicDataset implementation for JiraObjectDataset.
100213func (jod JiraObjectDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) {
100214	return nil, false
100215}
100216
100217// AsResponsysObjectDataset is the BasicDataset implementation for JiraObjectDataset.
100218func (jod JiraObjectDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
100219	return nil, false
100220}
100221
100222// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for JiraObjectDataset.
100223func (jod JiraObjectDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
100224	return nil, false
100225}
100226
100227// AsVerticaTableDataset is the BasicDataset implementation for JiraObjectDataset.
100228func (jod JiraObjectDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
100229	return nil, false
100230}
100231
100232// AsNetezzaTableDataset is the BasicDataset implementation for JiraObjectDataset.
100233func (jod JiraObjectDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
100234	return nil, false
100235}
100236
100237// AsZohoObjectDataset is the BasicDataset implementation for JiraObjectDataset.
100238func (jod JiraObjectDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
100239	return nil, false
100240}
100241
100242// AsXeroObjectDataset is the BasicDataset implementation for JiraObjectDataset.
100243func (jod JiraObjectDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
100244	return nil, false
100245}
100246
100247// AsSquareObjectDataset is the BasicDataset implementation for JiraObjectDataset.
100248func (jod JiraObjectDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
100249	return nil, false
100250}
100251
100252// AsSparkObjectDataset is the BasicDataset implementation for JiraObjectDataset.
100253func (jod JiraObjectDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
100254	return nil, false
100255}
100256
100257// AsShopifyObjectDataset is the BasicDataset implementation for JiraObjectDataset.
100258func (jod JiraObjectDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
100259	return nil, false
100260}
100261
100262// AsServiceNowObjectDataset is the BasicDataset implementation for JiraObjectDataset.
100263func (jod JiraObjectDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
100264	return nil, false
100265}
100266
100267// AsQuickBooksObjectDataset is the BasicDataset implementation for JiraObjectDataset.
100268func (jod JiraObjectDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
100269	return nil, false
100270}
100271
100272// AsPrestoObjectDataset is the BasicDataset implementation for JiraObjectDataset.
100273func (jod JiraObjectDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
100274	return nil, false
100275}
100276
100277// AsPhoenixObjectDataset is the BasicDataset implementation for JiraObjectDataset.
100278func (jod JiraObjectDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
100279	return nil, false
100280}
100281
100282// AsPaypalObjectDataset is the BasicDataset implementation for JiraObjectDataset.
100283func (jod JiraObjectDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
100284	return nil, false
100285}
100286
100287// AsMarketoObjectDataset is the BasicDataset implementation for JiraObjectDataset.
100288func (jod JiraObjectDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
100289	return nil, false
100290}
100291
100292// AsMariaDBTableDataset is the BasicDataset implementation for JiraObjectDataset.
100293func (jod JiraObjectDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
100294	return nil, false
100295}
100296
100297// AsMagentoObjectDataset is the BasicDataset implementation for JiraObjectDataset.
100298func (jod JiraObjectDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
100299	return nil, false
100300}
100301
100302// AsJiraObjectDataset is the BasicDataset implementation for JiraObjectDataset.
100303func (jod JiraObjectDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
100304	return &jod, true
100305}
100306
100307// AsImpalaObjectDataset is the BasicDataset implementation for JiraObjectDataset.
100308func (jod JiraObjectDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
100309	return nil, false
100310}
100311
100312// AsHubspotObjectDataset is the BasicDataset implementation for JiraObjectDataset.
100313func (jod JiraObjectDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
100314	return nil, false
100315}
100316
100317// AsHiveObjectDataset is the BasicDataset implementation for JiraObjectDataset.
100318func (jod JiraObjectDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
100319	return nil, false
100320}
100321
100322// AsHBaseObjectDataset is the BasicDataset implementation for JiraObjectDataset.
100323func (jod JiraObjectDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
100324	return nil, false
100325}
100326
100327// AsGreenplumTableDataset is the BasicDataset implementation for JiraObjectDataset.
100328func (jod JiraObjectDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
100329	return nil, false
100330}
100331
100332// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for JiraObjectDataset.
100333func (jod JiraObjectDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
100334	return nil, false
100335}
100336
100337// AsEloquaObjectDataset is the BasicDataset implementation for JiraObjectDataset.
100338func (jod JiraObjectDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
100339	return nil, false
100340}
100341
100342// AsDrillTableDataset is the BasicDataset implementation for JiraObjectDataset.
100343func (jod JiraObjectDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
100344	return nil, false
100345}
100346
100347// AsCouchbaseTableDataset is the BasicDataset implementation for JiraObjectDataset.
100348func (jod JiraObjectDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
100349	return nil, false
100350}
100351
100352// AsConcurObjectDataset is the BasicDataset implementation for JiraObjectDataset.
100353func (jod JiraObjectDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
100354	return nil, false
100355}
100356
100357// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for JiraObjectDataset.
100358func (jod JiraObjectDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
100359	return nil, false
100360}
100361
100362// AsAmazonMWSObjectDataset is the BasicDataset implementation for JiraObjectDataset.
100363func (jod JiraObjectDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
100364	return nil, false
100365}
100366
100367// AsHTTPDataset is the BasicDataset implementation for JiraObjectDataset.
100368func (jod JiraObjectDataset) AsHTTPDataset() (*HTTPDataset, bool) {
100369	return nil, false
100370}
100371
100372// AsAzureSearchIndexDataset is the BasicDataset implementation for JiraObjectDataset.
100373func (jod JiraObjectDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
100374	return nil, false
100375}
100376
100377// AsWebTableDataset is the BasicDataset implementation for JiraObjectDataset.
100378func (jod JiraObjectDataset) AsWebTableDataset() (*WebTableDataset, bool) {
100379	return nil, false
100380}
100381
100382// AsSapTableResourceDataset is the BasicDataset implementation for JiraObjectDataset.
100383func (jod JiraObjectDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) {
100384	return nil, false
100385}
100386
100387// AsRestResourceDataset is the BasicDataset implementation for JiraObjectDataset.
100388func (jod JiraObjectDataset) AsRestResourceDataset() (*RestResourceDataset, bool) {
100389	return nil, false
100390}
100391
100392// AsSQLServerTableDataset is the BasicDataset implementation for JiraObjectDataset.
100393func (jod JiraObjectDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
100394	return nil, false
100395}
100396
100397// AsSapOpenHubTableDataset is the BasicDataset implementation for JiraObjectDataset.
100398func (jod JiraObjectDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) {
100399	return nil, false
100400}
100401
100402// AsSapHanaTableDataset is the BasicDataset implementation for JiraObjectDataset.
100403func (jod JiraObjectDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) {
100404	return nil, false
100405}
100406
100407// AsSapEccResourceDataset is the BasicDataset implementation for JiraObjectDataset.
100408func (jod JiraObjectDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
100409	return nil, false
100410}
100411
100412// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for JiraObjectDataset.
100413func (jod JiraObjectDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
100414	return nil, false
100415}
100416
100417// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for JiraObjectDataset.
100418func (jod JiraObjectDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) {
100419	return nil, false
100420}
100421
100422// AsSalesforceObjectDataset is the BasicDataset implementation for JiraObjectDataset.
100423func (jod JiraObjectDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
100424	return nil, false
100425}
100426
100427// AsMicrosoftAccessTableDataset is the BasicDataset implementation for JiraObjectDataset.
100428func (jod JiraObjectDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) {
100429	return nil, false
100430}
100431
100432// AsPostgreSQLTableDataset is the BasicDataset implementation for JiraObjectDataset.
100433func (jod JiraObjectDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) {
100434	return nil, false
100435}
100436
100437// AsMySQLTableDataset is the BasicDataset implementation for JiraObjectDataset.
100438func (jod JiraObjectDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) {
100439	return nil, false
100440}
100441
100442// AsOdbcTableDataset is the BasicDataset implementation for JiraObjectDataset.
100443func (jod JiraObjectDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) {
100444	return nil, false
100445}
100446
100447// AsInformixTableDataset is the BasicDataset implementation for JiraObjectDataset.
100448func (jod JiraObjectDataset) AsInformixTableDataset() (*InformixTableDataset, bool) {
100449	return nil, false
100450}
100451
100452// AsRelationalTableDataset is the BasicDataset implementation for JiraObjectDataset.
100453func (jod JiraObjectDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
100454	return nil, false
100455}
100456
100457// AsAzureMySQLTableDataset is the BasicDataset implementation for JiraObjectDataset.
100458func (jod JiraObjectDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
100459	return nil, false
100460}
100461
100462// AsTeradataTableDataset is the BasicDataset implementation for JiraObjectDataset.
100463func (jod JiraObjectDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) {
100464	return nil, false
100465}
100466
100467// AsOracleTableDataset is the BasicDataset implementation for JiraObjectDataset.
100468func (jod JiraObjectDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
100469	return nil, false
100470}
100471
100472// AsODataResourceDataset is the BasicDataset implementation for JiraObjectDataset.
100473func (jod JiraObjectDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
100474	return nil, false
100475}
100476
100477// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for JiraObjectDataset.
100478func (jod JiraObjectDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) {
100479	return nil, false
100480}
100481
100482// AsMongoDbV2CollectionDataset is the BasicDataset implementation for JiraObjectDataset.
100483func (jod JiraObjectDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) {
100484	return nil, false
100485}
100486
100487// AsMongoDbCollectionDataset is the BasicDataset implementation for JiraObjectDataset.
100488func (jod JiraObjectDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
100489	return nil, false
100490}
100491
100492// AsFileShareDataset is the BasicDataset implementation for JiraObjectDataset.
100493func (jod JiraObjectDataset) AsFileShareDataset() (*FileShareDataset, bool) {
100494	return nil, false
100495}
100496
100497// AsOffice365Dataset is the BasicDataset implementation for JiraObjectDataset.
100498func (jod JiraObjectDataset) AsOffice365Dataset() (*Office365Dataset, bool) {
100499	return nil, false
100500}
100501
100502// AsAzureBlobFSDataset is the BasicDataset implementation for JiraObjectDataset.
100503func (jod JiraObjectDataset) AsAzureBlobFSDataset() (*AzureBlobFSDataset, bool) {
100504	return nil, false
100505}
100506
100507// AsAzureDataLakeStoreDataset is the BasicDataset implementation for JiraObjectDataset.
100508func (jod JiraObjectDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) {
100509	return nil, false
100510}
100511
100512// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for JiraObjectDataset.
100513func (jod JiraObjectDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) {
100514	return nil, false
100515}
100516
100517// AsDynamicsCrmEntityDataset is the BasicDataset implementation for JiraObjectDataset.
100518func (jod JiraObjectDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) {
100519	return nil, false
100520}
100521
100522// AsDynamicsEntityDataset is the BasicDataset implementation for JiraObjectDataset.
100523func (jod JiraObjectDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
100524	return nil, false
100525}
100526
100527// AsDocumentDbCollectionDataset is the BasicDataset implementation for JiraObjectDataset.
100528func (jod JiraObjectDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
100529	return nil, false
100530}
100531
100532// AsCustomDataset is the BasicDataset implementation for JiraObjectDataset.
100533func (jod JiraObjectDataset) AsCustomDataset() (*CustomDataset, bool) {
100534	return nil, false
100535}
100536
100537// AsCassandraTableDataset is the BasicDataset implementation for JiraObjectDataset.
100538func (jod JiraObjectDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
100539	return nil, false
100540}
100541
100542// AsAzureSQLDWTableDataset is the BasicDataset implementation for JiraObjectDataset.
100543func (jod JiraObjectDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
100544	return nil, false
100545}
100546
100547// AsAzureSQLMITableDataset is the BasicDataset implementation for JiraObjectDataset.
100548func (jod JiraObjectDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) {
100549	return nil, false
100550}
100551
100552// AsAzureSQLTableDataset is the BasicDataset implementation for JiraObjectDataset.
100553func (jod JiraObjectDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
100554	return nil, false
100555}
100556
100557// AsAzureTableDataset is the BasicDataset implementation for JiraObjectDataset.
100558func (jod JiraObjectDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
100559	return nil, false
100560}
100561
100562// AsAzureBlobDataset is the BasicDataset implementation for JiraObjectDataset.
100563func (jod JiraObjectDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) {
100564	return nil, false
100565}
100566
100567// AsBinaryDataset is the BasicDataset implementation for JiraObjectDataset.
100568func (jod JiraObjectDataset) AsBinaryDataset() (*BinaryDataset, bool) {
100569	return nil, false
100570}
100571
100572// AsDelimitedTextDataset is the BasicDataset implementation for JiraObjectDataset.
100573func (jod JiraObjectDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) {
100574	return nil, false
100575}
100576
100577// AsParquetDataset is the BasicDataset implementation for JiraObjectDataset.
100578func (jod JiraObjectDataset) AsParquetDataset() (*ParquetDataset, bool) {
100579	return nil, false
100580}
100581
100582// AsAmazonS3Dataset is the BasicDataset implementation for JiraObjectDataset.
100583func (jod JiraObjectDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) {
100584	return nil, false
100585}
100586
100587// AsDataset is the BasicDataset implementation for JiraObjectDataset.
100588func (jod JiraObjectDataset) AsDataset() (*Dataset, bool) {
100589	return nil, false
100590}
100591
100592// AsBasicDataset is the BasicDataset implementation for JiraObjectDataset.
100593func (jod JiraObjectDataset) AsBasicDataset() (BasicDataset, bool) {
100594	return &jod, true
100595}
100596
100597// UnmarshalJSON is the custom unmarshaler for JiraObjectDataset struct.
100598func (jod *JiraObjectDataset) UnmarshalJSON(body []byte) error {
100599	var m map[string]*json.RawMessage
100600	err := json.Unmarshal(body, &m)
100601	if err != nil {
100602		return err
100603	}
100604	for k, v := range m {
100605		switch k {
100606		case "typeProperties":
100607			if v != nil {
100608				var genericDatasetTypeProperties GenericDatasetTypeProperties
100609				err = json.Unmarshal(*v, &genericDatasetTypeProperties)
100610				if err != nil {
100611					return err
100612				}
100613				jod.GenericDatasetTypeProperties = &genericDatasetTypeProperties
100614			}
100615		default:
100616			if v != nil {
100617				var additionalProperties interface{}
100618				err = json.Unmarshal(*v, &additionalProperties)
100619				if err != nil {
100620					return err
100621				}
100622				if jod.AdditionalProperties == nil {
100623					jod.AdditionalProperties = make(map[string]interface{})
100624				}
100625				jod.AdditionalProperties[k] = additionalProperties
100626			}
100627		case "description":
100628			if v != nil {
100629				var description string
100630				err = json.Unmarshal(*v, &description)
100631				if err != nil {
100632					return err
100633				}
100634				jod.Description = &description
100635			}
100636		case "structure":
100637			if v != nil {
100638				var structure interface{}
100639				err = json.Unmarshal(*v, &structure)
100640				if err != nil {
100641					return err
100642				}
100643				jod.Structure = structure
100644			}
100645		case "schema":
100646			if v != nil {
100647				var schema interface{}
100648				err = json.Unmarshal(*v, &schema)
100649				if err != nil {
100650					return err
100651				}
100652				jod.Schema = schema
100653			}
100654		case "linkedServiceName":
100655			if v != nil {
100656				var linkedServiceName LinkedServiceReference
100657				err = json.Unmarshal(*v, &linkedServiceName)
100658				if err != nil {
100659					return err
100660				}
100661				jod.LinkedServiceName = &linkedServiceName
100662			}
100663		case "parameters":
100664			if v != nil {
100665				var parameters map[string]*ParameterSpecification
100666				err = json.Unmarshal(*v, &parameters)
100667				if err != nil {
100668					return err
100669				}
100670				jod.Parameters = parameters
100671			}
100672		case "annotations":
100673			if v != nil {
100674				var annotations []interface{}
100675				err = json.Unmarshal(*v, &annotations)
100676				if err != nil {
100677					return err
100678				}
100679				jod.Annotations = &annotations
100680			}
100681		case "folder":
100682			if v != nil {
100683				var folder DatasetFolder
100684				err = json.Unmarshal(*v, &folder)
100685				if err != nil {
100686					return err
100687				}
100688				jod.Folder = &folder
100689			}
100690		case "type":
100691			if v != nil {
100692				var typeVar TypeBasicDataset
100693				err = json.Unmarshal(*v, &typeVar)
100694				if err != nil {
100695					return err
100696				}
100697				jod.Type = typeVar
100698			}
100699		}
100700	}
100701
100702	return nil
100703}
100704
100705// JiraSource a copy activity Jira Service source.
100706type JiraSource struct {
100707	// Query - A query to retrieve data from source. Type: string (or Expression with resultType string).
100708	Query interface{} `json:"query,omitempty"`
100709	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
100710	AdditionalProperties map[string]interface{} `json:""`
100711	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
100712	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
100713	// 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])).
100714	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
100715	// MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer).
100716	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
100717	// Type - Possible values include: 'TypeCopySource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', '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', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeCassandraSource', 'TypeWebSource', 'TypeTeradataSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeAzureMySQLSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeRestSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceServiceCloudSource', 'TypeSalesforceSource', 'TypeODataSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeMicrosoftAccessSource', 'TypeInformixSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAzureTableSource', 'TypeBinarySource', 'TypeDelimitedTextSource', 'TypeParquetSource'
100718	Type TypeBasicCopySource `json:"type,omitempty"`
100719}
100720
100721// MarshalJSON is the custom marshaler for JiraSource.
100722func (js JiraSource) MarshalJSON() ([]byte, error) {
100723	js.Type = TypeJiraSource
100724	objectMap := make(map[string]interface{})
100725	if js.Query != nil {
100726		objectMap["query"] = js.Query
100727	}
100728	if js.SourceRetryCount != nil {
100729		objectMap["sourceRetryCount"] = js.SourceRetryCount
100730	}
100731	if js.SourceRetryWait != nil {
100732		objectMap["sourceRetryWait"] = js.SourceRetryWait
100733	}
100734	if js.MaxConcurrentConnections != nil {
100735		objectMap["maxConcurrentConnections"] = js.MaxConcurrentConnections
100736	}
100737	if js.Type != "" {
100738		objectMap["type"] = js.Type
100739	}
100740	for k, v := range js.AdditionalProperties {
100741		objectMap[k] = v
100742	}
100743	return json.Marshal(objectMap)
100744}
100745
100746// AsAmazonRedshiftSource is the BasicCopySource implementation for JiraSource.
100747func (js JiraSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
100748	return nil, false
100749}
100750
100751// AsGoogleAdWordsSource is the BasicCopySource implementation for JiraSource.
100752func (js JiraSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) {
100753	return nil, false
100754}
100755
100756// AsOracleServiceCloudSource is the BasicCopySource implementation for JiraSource.
100757func (js JiraSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) {
100758	return nil, false
100759}
100760
100761// AsDynamicsAXSource is the BasicCopySource implementation for JiraSource.
100762func (js JiraSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) {
100763	return nil, false
100764}
100765
100766// AsResponsysSource is the BasicCopySource implementation for JiraSource.
100767func (js JiraSource) AsResponsysSource() (*ResponsysSource, bool) {
100768	return nil, false
100769}
100770
100771// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for JiraSource.
100772func (js JiraSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
100773	return nil, false
100774}
100775
100776// AsVerticaSource is the BasicCopySource implementation for JiraSource.
100777func (js JiraSource) AsVerticaSource() (*VerticaSource, bool) {
100778	return nil, false
100779}
100780
100781// AsNetezzaSource is the BasicCopySource implementation for JiraSource.
100782func (js JiraSource) AsNetezzaSource() (*NetezzaSource, bool) {
100783	return nil, false
100784}
100785
100786// AsZohoSource is the BasicCopySource implementation for JiraSource.
100787func (js JiraSource) AsZohoSource() (*ZohoSource, bool) {
100788	return nil, false
100789}
100790
100791// AsXeroSource is the BasicCopySource implementation for JiraSource.
100792func (js JiraSource) AsXeroSource() (*XeroSource, bool) {
100793	return nil, false
100794}
100795
100796// AsSquareSource is the BasicCopySource implementation for JiraSource.
100797func (js JiraSource) AsSquareSource() (*SquareSource, bool) {
100798	return nil, false
100799}
100800
100801// AsSparkSource is the BasicCopySource implementation for JiraSource.
100802func (js JiraSource) AsSparkSource() (*SparkSource, bool) {
100803	return nil, false
100804}
100805
100806// AsShopifySource is the BasicCopySource implementation for JiraSource.
100807func (js JiraSource) AsShopifySource() (*ShopifySource, bool) {
100808	return nil, false
100809}
100810
100811// AsServiceNowSource is the BasicCopySource implementation for JiraSource.
100812func (js JiraSource) AsServiceNowSource() (*ServiceNowSource, bool) {
100813	return nil, false
100814}
100815
100816// AsQuickBooksSource is the BasicCopySource implementation for JiraSource.
100817func (js JiraSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
100818	return nil, false
100819}
100820
100821// AsPrestoSource is the BasicCopySource implementation for JiraSource.
100822func (js JiraSource) AsPrestoSource() (*PrestoSource, bool) {
100823	return nil, false
100824}
100825
100826// AsPhoenixSource is the BasicCopySource implementation for JiraSource.
100827func (js JiraSource) AsPhoenixSource() (*PhoenixSource, bool) {
100828	return nil, false
100829}
100830
100831// AsPaypalSource is the BasicCopySource implementation for JiraSource.
100832func (js JiraSource) AsPaypalSource() (*PaypalSource, bool) {
100833	return nil, false
100834}
100835
100836// AsMarketoSource is the BasicCopySource implementation for JiraSource.
100837func (js JiraSource) AsMarketoSource() (*MarketoSource, bool) {
100838	return nil, false
100839}
100840
100841// AsMariaDBSource is the BasicCopySource implementation for JiraSource.
100842func (js JiraSource) AsMariaDBSource() (*MariaDBSource, bool) {
100843	return nil, false
100844}
100845
100846// AsMagentoSource is the BasicCopySource implementation for JiraSource.
100847func (js JiraSource) AsMagentoSource() (*MagentoSource, bool) {
100848	return nil, false
100849}
100850
100851// AsJiraSource is the BasicCopySource implementation for JiraSource.
100852func (js JiraSource) AsJiraSource() (*JiraSource, bool) {
100853	return &js, true
100854}
100855
100856// AsImpalaSource is the BasicCopySource implementation for JiraSource.
100857func (js JiraSource) AsImpalaSource() (*ImpalaSource, bool) {
100858	return nil, false
100859}
100860
100861// AsHubspotSource is the BasicCopySource implementation for JiraSource.
100862func (js JiraSource) AsHubspotSource() (*HubspotSource, bool) {
100863	return nil, false
100864}
100865
100866// AsHiveSource is the BasicCopySource implementation for JiraSource.
100867func (js JiraSource) AsHiveSource() (*HiveSource, bool) {
100868	return nil, false
100869}
100870
100871// AsHBaseSource is the BasicCopySource implementation for JiraSource.
100872func (js JiraSource) AsHBaseSource() (*HBaseSource, bool) {
100873	return nil, false
100874}
100875
100876// AsGreenplumSource is the BasicCopySource implementation for JiraSource.
100877func (js JiraSource) AsGreenplumSource() (*GreenplumSource, bool) {
100878	return nil, false
100879}
100880
100881// AsGoogleBigQuerySource is the BasicCopySource implementation for JiraSource.
100882func (js JiraSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
100883	return nil, false
100884}
100885
100886// AsEloquaSource is the BasicCopySource implementation for JiraSource.
100887func (js JiraSource) AsEloquaSource() (*EloquaSource, bool) {
100888	return nil, false
100889}
100890
100891// AsDrillSource is the BasicCopySource implementation for JiraSource.
100892func (js JiraSource) AsDrillSource() (*DrillSource, bool) {
100893	return nil, false
100894}
100895
100896// AsCouchbaseSource is the BasicCopySource implementation for JiraSource.
100897func (js JiraSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
100898	return nil, false
100899}
100900
100901// AsConcurSource is the BasicCopySource implementation for JiraSource.
100902func (js JiraSource) AsConcurSource() (*ConcurSource, bool) {
100903	return nil, false
100904}
100905
100906// AsAzurePostgreSQLSource is the BasicCopySource implementation for JiraSource.
100907func (js JiraSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
100908	return nil, false
100909}
100910
100911// AsAmazonMWSSource is the BasicCopySource implementation for JiraSource.
100912func (js JiraSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
100913	return nil, false
100914}
100915
100916// AsHTTPSource is the BasicCopySource implementation for JiraSource.
100917func (js JiraSource) AsHTTPSource() (*HTTPSource, bool) {
100918	return nil, false
100919}
100920
100921// AsAzureBlobFSSource is the BasicCopySource implementation for JiraSource.
100922func (js JiraSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) {
100923	return nil, false
100924}
100925
100926// AsAzureDataLakeStoreSource is the BasicCopySource implementation for JiraSource.
100927func (js JiraSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
100928	return nil, false
100929}
100930
100931// AsOffice365Source is the BasicCopySource implementation for JiraSource.
100932func (js JiraSource) AsOffice365Source() (*Office365Source, bool) {
100933	return nil, false
100934}
100935
100936// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for JiraSource.
100937func (js JiraSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) {
100938	return nil, false
100939}
100940
100941// AsMongoDbV2Source is the BasicCopySource implementation for JiraSource.
100942func (js JiraSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) {
100943	return nil, false
100944}
100945
100946// AsMongoDbSource is the BasicCopySource implementation for JiraSource.
100947func (js JiraSource) AsMongoDbSource() (*MongoDbSource, bool) {
100948	return nil, false
100949}
100950
100951// AsCassandraSource is the BasicCopySource implementation for JiraSource.
100952func (js JiraSource) AsCassandraSource() (*CassandraSource, bool) {
100953	return nil, false
100954}
100955
100956// AsWebSource is the BasicCopySource implementation for JiraSource.
100957func (js JiraSource) AsWebSource() (*WebSource, bool) {
100958	return nil, false
100959}
100960
100961// AsTeradataSource is the BasicCopySource implementation for JiraSource.
100962func (js JiraSource) AsTeradataSource() (*TeradataSource, bool) {
100963	return nil, false
100964}
100965
100966// AsOracleSource is the BasicCopySource implementation for JiraSource.
100967func (js JiraSource) AsOracleSource() (*OracleSource, bool) {
100968	return nil, false
100969}
100970
100971// AsAzureDataExplorerSource is the BasicCopySource implementation for JiraSource.
100972func (js JiraSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) {
100973	return nil, false
100974}
100975
100976// AsAzureMySQLSource is the BasicCopySource implementation for JiraSource.
100977func (js JiraSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
100978	return nil, false
100979}
100980
100981// AsHdfsSource is the BasicCopySource implementation for JiraSource.
100982func (js JiraSource) AsHdfsSource() (*HdfsSource, bool) {
100983	return nil, false
100984}
100985
100986// AsFileSystemSource is the BasicCopySource implementation for JiraSource.
100987func (js JiraSource) AsFileSystemSource() (*FileSystemSource, bool) {
100988	return nil, false
100989}
100990
100991// AsSQLDWSource is the BasicCopySource implementation for JiraSource.
100992func (js JiraSource) AsSQLDWSource() (*SQLDWSource, bool) {
100993	return nil, false
100994}
100995
100996// AsSQLMISource is the BasicCopySource implementation for JiraSource.
100997func (js JiraSource) AsSQLMISource() (*SQLMISource, bool) {
100998	return nil, false
100999}
101000
101001// AsAzureSQLSource is the BasicCopySource implementation for JiraSource.
101002func (js JiraSource) AsAzureSQLSource() (*AzureSQLSource, bool) {
101003	return nil, false
101004}
101005
101006// AsSQLServerSource is the BasicCopySource implementation for JiraSource.
101007func (js JiraSource) AsSQLServerSource() (*SQLServerSource, bool) {
101008	return nil, false
101009}
101010
101011// AsSQLSource is the BasicCopySource implementation for JiraSource.
101012func (js JiraSource) AsSQLSource() (*SQLSource, bool) {
101013	return nil, false
101014}
101015
101016// AsRestSource is the BasicCopySource implementation for JiraSource.
101017func (js JiraSource) AsRestSource() (*RestSource, bool) {
101018	return nil, false
101019}
101020
101021// AsSapTableSource is the BasicCopySource implementation for JiraSource.
101022func (js JiraSource) AsSapTableSource() (*SapTableSource, bool) {
101023	return nil, false
101024}
101025
101026// AsSapOpenHubSource is the BasicCopySource implementation for JiraSource.
101027func (js JiraSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) {
101028	return nil, false
101029}
101030
101031// AsSapHanaSource is the BasicCopySource implementation for JiraSource.
101032func (js JiraSource) AsSapHanaSource() (*SapHanaSource, bool) {
101033	return nil, false
101034}
101035
101036// AsSapEccSource is the BasicCopySource implementation for JiraSource.
101037func (js JiraSource) AsSapEccSource() (*SapEccSource, bool) {
101038	return nil, false
101039}
101040
101041// AsSapCloudForCustomerSource is the BasicCopySource implementation for JiraSource.
101042func (js JiraSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
101043	return nil, false
101044}
101045
101046// AsSalesforceServiceCloudSource is the BasicCopySource implementation for JiraSource.
101047func (js JiraSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) {
101048	return nil, false
101049}
101050
101051// AsSalesforceSource is the BasicCopySource implementation for JiraSource.
101052func (js JiraSource) AsSalesforceSource() (*SalesforceSource, bool) {
101053	return nil, false
101054}
101055
101056// AsODataSource is the BasicCopySource implementation for JiraSource.
101057func (js JiraSource) AsODataSource() (*ODataSource, bool) {
101058	return nil, false
101059}
101060
101061// AsSybaseSource is the BasicCopySource implementation for JiraSource.
101062func (js JiraSource) AsSybaseSource() (*SybaseSource, bool) {
101063	return nil, false
101064}
101065
101066// AsPostgreSQLSource is the BasicCopySource implementation for JiraSource.
101067func (js JiraSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) {
101068	return nil, false
101069}
101070
101071// AsMySQLSource is the BasicCopySource implementation for JiraSource.
101072func (js JiraSource) AsMySQLSource() (*MySQLSource, bool) {
101073	return nil, false
101074}
101075
101076// AsOdbcSource is the BasicCopySource implementation for JiraSource.
101077func (js JiraSource) AsOdbcSource() (*OdbcSource, bool) {
101078	return nil, false
101079}
101080
101081// AsDb2Source is the BasicCopySource implementation for JiraSource.
101082func (js JiraSource) AsDb2Source() (*Db2Source, bool) {
101083	return nil, false
101084}
101085
101086// AsMicrosoftAccessSource is the BasicCopySource implementation for JiraSource.
101087func (js JiraSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) {
101088	return nil, false
101089}
101090
101091// AsInformixSource is the BasicCopySource implementation for JiraSource.
101092func (js JiraSource) AsInformixSource() (*InformixSource, bool) {
101093	return nil, false
101094}
101095
101096// AsRelationalSource is the BasicCopySource implementation for JiraSource.
101097func (js JiraSource) AsRelationalSource() (*RelationalSource, bool) {
101098	return nil, false
101099}
101100
101101// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for JiraSource.
101102func (js JiraSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) {
101103	return nil, false
101104}
101105
101106// AsDynamicsCrmSource is the BasicCopySource implementation for JiraSource.
101107func (js JiraSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) {
101108	return nil, false
101109}
101110
101111// AsDynamicsSource is the BasicCopySource implementation for JiraSource.
101112func (js JiraSource) AsDynamicsSource() (*DynamicsSource, bool) {
101113	return nil, false
101114}
101115
101116// AsDocumentDbCollectionSource is the BasicCopySource implementation for JiraSource.
101117func (js JiraSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
101118	return nil, false
101119}
101120
101121// AsBlobSource is the BasicCopySource implementation for JiraSource.
101122func (js JiraSource) AsBlobSource() (*BlobSource, bool) {
101123	return nil, false
101124}
101125
101126// AsAzureTableSource is the BasicCopySource implementation for JiraSource.
101127func (js JiraSource) AsAzureTableSource() (*AzureTableSource, bool) {
101128	return nil, false
101129}
101130
101131// AsBinarySource is the BasicCopySource implementation for JiraSource.
101132func (js JiraSource) AsBinarySource() (*BinarySource, bool) {
101133	return nil, false
101134}
101135
101136// AsDelimitedTextSource is the BasicCopySource implementation for JiraSource.
101137func (js JiraSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) {
101138	return nil, false
101139}
101140
101141// AsParquetSource is the BasicCopySource implementation for JiraSource.
101142func (js JiraSource) AsParquetSource() (*ParquetSource, bool) {
101143	return nil, false
101144}
101145
101146// AsCopySource is the BasicCopySource implementation for JiraSource.
101147func (js JiraSource) AsCopySource() (*CopySource, bool) {
101148	return nil, false
101149}
101150
101151// AsBasicCopySource is the BasicCopySource implementation for JiraSource.
101152func (js JiraSource) AsBasicCopySource() (BasicCopySource, bool) {
101153	return &js, true
101154}
101155
101156// UnmarshalJSON is the custom unmarshaler for JiraSource struct.
101157func (js *JiraSource) UnmarshalJSON(body []byte) error {
101158	var m map[string]*json.RawMessage
101159	err := json.Unmarshal(body, &m)
101160	if err != nil {
101161		return err
101162	}
101163	for k, v := range m {
101164		switch k {
101165		case "query":
101166			if v != nil {
101167				var query interface{}
101168				err = json.Unmarshal(*v, &query)
101169				if err != nil {
101170					return err
101171				}
101172				js.Query = query
101173			}
101174		default:
101175			if v != nil {
101176				var additionalProperties interface{}
101177				err = json.Unmarshal(*v, &additionalProperties)
101178				if err != nil {
101179					return err
101180				}
101181				if js.AdditionalProperties == nil {
101182					js.AdditionalProperties = make(map[string]interface{})
101183				}
101184				js.AdditionalProperties[k] = additionalProperties
101185			}
101186		case "sourceRetryCount":
101187			if v != nil {
101188				var sourceRetryCount interface{}
101189				err = json.Unmarshal(*v, &sourceRetryCount)
101190				if err != nil {
101191					return err
101192				}
101193				js.SourceRetryCount = sourceRetryCount
101194			}
101195		case "sourceRetryWait":
101196			if v != nil {
101197				var sourceRetryWait interface{}
101198				err = json.Unmarshal(*v, &sourceRetryWait)
101199				if err != nil {
101200					return err
101201				}
101202				js.SourceRetryWait = sourceRetryWait
101203			}
101204		case "maxConcurrentConnections":
101205			if v != nil {
101206				var maxConcurrentConnections interface{}
101207				err = json.Unmarshal(*v, &maxConcurrentConnections)
101208				if err != nil {
101209					return err
101210				}
101211				js.MaxConcurrentConnections = maxConcurrentConnections
101212			}
101213		case "type":
101214			if v != nil {
101215				var typeVar TypeBasicCopySource
101216				err = json.Unmarshal(*v, &typeVar)
101217				if err != nil {
101218					return err
101219				}
101220				js.Type = typeVar
101221			}
101222		}
101223	}
101224
101225	return nil
101226}
101227
101228// JSONFormat the data stored in JSON format.
101229type JSONFormat struct {
101230	// 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.
101231	FilePattern interface{} `json:"filePattern,omitempty"`
101232	// NestingSeparator - The character used to separate nesting levels. Default value is '.' (dot). Type: string (or Expression with resultType string).
101233	NestingSeparator interface{} `json:"nestingSeparator,omitempty"`
101234	// 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).
101235	EncodingName interface{} `json:"encodingName,omitempty"`
101236	// JSONNodeReference - The JSONPath of the JSON array element to be flattened. Example: "$.ArrayPath". Type: string (or Expression with resultType string).
101237	JSONNodeReference interface{} `json:"jsonNodeReference,omitempty"`
101238	// 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).
101239	JSONPathDefinition interface{} `json:"jsonPathDefinition,omitempty"`
101240	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
101241	AdditionalProperties map[string]interface{} `json:""`
101242	// Serializer - Serializer. Type: string (or Expression with resultType string).
101243	Serializer interface{} `json:"serializer,omitempty"`
101244	// Deserializer - Deserializer. Type: string (or Expression with resultType string).
101245	Deserializer interface{} `json:"deserializer,omitempty"`
101246	// Type - Possible values include: 'TypeDatasetStorageFormat', 'TypeParquetFormat', 'TypeOrcFormat', 'TypeAvroFormat', 'TypeJSONFormat', 'TypeTextFormat'
101247	Type TypeBasicDatasetStorageFormat `json:"type,omitempty"`
101248}
101249
101250// MarshalJSON is the custom marshaler for JSONFormat.
101251func (jf JSONFormat) MarshalJSON() ([]byte, error) {
101252	jf.Type = TypeJSONFormat
101253	objectMap := make(map[string]interface{})
101254	if jf.FilePattern != nil {
101255		objectMap["filePattern"] = jf.FilePattern
101256	}
101257	if jf.NestingSeparator != nil {
101258		objectMap["nestingSeparator"] = jf.NestingSeparator
101259	}
101260	if jf.EncodingName != nil {
101261		objectMap["encodingName"] = jf.EncodingName
101262	}
101263	if jf.JSONNodeReference != nil {
101264		objectMap["jsonNodeReference"] = jf.JSONNodeReference
101265	}
101266	if jf.JSONPathDefinition != nil {
101267		objectMap["jsonPathDefinition"] = jf.JSONPathDefinition
101268	}
101269	if jf.Serializer != nil {
101270		objectMap["serializer"] = jf.Serializer
101271	}
101272	if jf.Deserializer != nil {
101273		objectMap["deserializer"] = jf.Deserializer
101274	}
101275	if jf.Type != "" {
101276		objectMap["type"] = jf.Type
101277	}
101278	for k, v := range jf.AdditionalProperties {
101279		objectMap[k] = v
101280	}
101281	return json.Marshal(objectMap)
101282}
101283
101284// AsParquetFormat is the BasicDatasetStorageFormat implementation for JSONFormat.
101285func (jf JSONFormat) AsParquetFormat() (*ParquetFormat, bool) {
101286	return nil, false
101287}
101288
101289// AsOrcFormat is the BasicDatasetStorageFormat implementation for JSONFormat.
101290func (jf JSONFormat) AsOrcFormat() (*OrcFormat, bool) {
101291	return nil, false
101292}
101293
101294// AsAvroFormat is the BasicDatasetStorageFormat implementation for JSONFormat.
101295func (jf JSONFormat) AsAvroFormat() (*AvroFormat, bool) {
101296	return nil, false
101297}
101298
101299// AsJSONFormat is the BasicDatasetStorageFormat implementation for JSONFormat.
101300func (jf JSONFormat) AsJSONFormat() (*JSONFormat, bool) {
101301	return &jf, true
101302}
101303
101304// AsTextFormat is the BasicDatasetStorageFormat implementation for JSONFormat.
101305func (jf JSONFormat) AsTextFormat() (*TextFormat, bool) {
101306	return nil, false
101307}
101308
101309// AsDatasetStorageFormat is the BasicDatasetStorageFormat implementation for JSONFormat.
101310func (jf JSONFormat) AsDatasetStorageFormat() (*DatasetStorageFormat, bool) {
101311	return nil, false
101312}
101313
101314// AsBasicDatasetStorageFormat is the BasicDatasetStorageFormat implementation for JSONFormat.
101315func (jf JSONFormat) AsBasicDatasetStorageFormat() (BasicDatasetStorageFormat, bool) {
101316	return &jf, true
101317}
101318
101319// UnmarshalJSON is the custom unmarshaler for JSONFormat struct.
101320func (jf *JSONFormat) UnmarshalJSON(body []byte) error {
101321	var m map[string]*json.RawMessage
101322	err := json.Unmarshal(body, &m)
101323	if err != nil {
101324		return err
101325	}
101326	for k, v := range m {
101327		switch k {
101328		case "filePattern":
101329			if v != nil {
101330				var filePattern interface{}
101331				err = json.Unmarshal(*v, &filePattern)
101332				if err != nil {
101333					return err
101334				}
101335				jf.FilePattern = filePattern
101336			}
101337		case "nestingSeparator":
101338			if v != nil {
101339				var nestingSeparator interface{}
101340				err = json.Unmarshal(*v, &nestingSeparator)
101341				if err != nil {
101342					return err
101343				}
101344				jf.NestingSeparator = nestingSeparator
101345			}
101346		case "encodingName":
101347			if v != nil {
101348				var encodingName interface{}
101349				err = json.Unmarshal(*v, &encodingName)
101350				if err != nil {
101351					return err
101352				}
101353				jf.EncodingName = encodingName
101354			}
101355		case "jsonNodeReference":
101356			if v != nil {
101357				var JSONNodeReference interface{}
101358				err = json.Unmarshal(*v, &JSONNodeReference)
101359				if err != nil {
101360					return err
101361				}
101362				jf.JSONNodeReference = JSONNodeReference
101363			}
101364		case "jsonPathDefinition":
101365			if v != nil {
101366				var JSONPathDefinition interface{}
101367				err = json.Unmarshal(*v, &JSONPathDefinition)
101368				if err != nil {
101369					return err
101370				}
101371				jf.JSONPathDefinition = JSONPathDefinition
101372			}
101373		default:
101374			if v != nil {
101375				var additionalProperties interface{}
101376				err = json.Unmarshal(*v, &additionalProperties)
101377				if err != nil {
101378					return err
101379				}
101380				if jf.AdditionalProperties == nil {
101381					jf.AdditionalProperties = make(map[string]interface{})
101382				}
101383				jf.AdditionalProperties[k] = additionalProperties
101384			}
101385		case "serializer":
101386			if v != nil {
101387				var serializer interface{}
101388				err = json.Unmarshal(*v, &serializer)
101389				if err != nil {
101390					return err
101391				}
101392				jf.Serializer = serializer
101393			}
101394		case "deserializer":
101395			if v != nil {
101396				var deserializer interface{}
101397				err = json.Unmarshal(*v, &deserializer)
101398				if err != nil {
101399					return err
101400				}
101401				jf.Deserializer = deserializer
101402			}
101403		case "type":
101404			if v != nil {
101405				var typeVar TypeBasicDatasetStorageFormat
101406				err = json.Unmarshal(*v, &typeVar)
101407				if err != nil {
101408					return err
101409				}
101410				jf.Type = typeVar
101411			}
101412		}
101413	}
101414
101415	return nil
101416}
101417
101418// LinkedIntegrationRuntime the linked integration runtime information.
101419type LinkedIntegrationRuntime struct {
101420	// Name - READ-ONLY; The name of the linked integration runtime.
101421	Name *string `json:"name,omitempty"`
101422	// SubscriptionID - READ-ONLY; The subscription ID for which the linked integration runtime belong to.
101423	SubscriptionID *string `json:"subscriptionId,omitempty"`
101424	// DataFactoryName - READ-ONLY; The name of the data factory for which the linked integration runtime belong to.
101425	DataFactoryName *string `json:"dataFactoryName,omitempty"`
101426	// DataFactoryLocation - READ-ONLY; The location of the data factory for which the linked integration runtime belong to.
101427	DataFactoryLocation *string `json:"dataFactoryLocation,omitempty"`
101428	// CreateTime - READ-ONLY; The creating time of the linked integration runtime.
101429	CreateTime *date.Time `json:"createTime,omitempty"`
101430}
101431
101432// LinkedIntegrationRuntimeKeyAuthorization the key authorization type integration runtime.
101433type LinkedIntegrationRuntimeKeyAuthorization struct {
101434	// Key - The key used for authorization.
101435	Key *SecureString `json:"key,omitempty"`
101436	// AuthorizationType - Possible values include: 'AuthorizationTypeLinkedIntegrationRuntimeType', 'AuthorizationTypeRBAC', 'AuthorizationTypeKey'
101437	AuthorizationType AuthorizationType `json:"authorizationType,omitempty"`
101438}
101439
101440// MarshalJSON is the custom marshaler for LinkedIntegrationRuntimeKeyAuthorization.
101441func (lirka LinkedIntegrationRuntimeKeyAuthorization) MarshalJSON() ([]byte, error) {
101442	lirka.AuthorizationType = AuthorizationTypeKey
101443	objectMap := make(map[string]interface{})
101444	if lirka.Key != nil {
101445		objectMap["key"] = lirka.Key
101446	}
101447	if lirka.AuthorizationType != "" {
101448		objectMap["authorizationType"] = lirka.AuthorizationType
101449	}
101450	return json.Marshal(objectMap)
101451}
101452
101453// AsLinkedIntegrationRuntimeRbacAuthorization is the BasicLinkedIntegrationRuntimeType implementation for LinkedIntegrationRuntimeKeyAuthorization.
101454func (lirka LinkedIntegrationRuntimeKeyAuthorization) AsLinkedIntegrationRuntimeRbacAuthorization() (*LinkedIntegrationRuntimeRbacAuthorization, bool) {
101455	return nil, false
101456}
101457
101458// AsLinkedIntegrationRuntimeKeyAuthorization is the BasicLinkedIntegrationRuntimeType implementation for LinkedIntegrationRuntimeKeyAuthorization.
101459func (lirka LinkedIntegrationRuntimeKeyAuthorization) AsLinkedIntegrationRuntimeKeyAuthorization() (*LinkedIntegrationRuntimeKeyAuthorization, bool) {
101460	return &lirka, true
101461}
101462
101463// AsLinkedIntegrationRuntimeType is the BasicLinkedIntegrationRuntimeType implementation for LinkedIntegrationRuntimeKeyAuthorization.
101464func (lirka LinkedIntegrationRuntimeKeyAuthorization) AsLinkedIntegrationRuntimeType() (*LinkedIntegrationRuntimeType, bool) {
101465	return nil, false
101466}
101467
101468// AsBasicLinkedIntegrationRuntimeType is the BasicLinkedIntegrationRuntimeType implementation for LinkedIntegrationRuntimeKeyAuthorization.
101469func (lirka LinkedIntegrationRuntimeKeyAuthorization) AsBasicLinkedIntegrationRuntimeType() (BasicLinkedIntegrationRuntimeType, bool) {
101470	return &lirka, true
101471}
101472
101473// LinkedIntegrationRuntimeRbacAuthorization the role based access control (RBAC) authorization type
101474// integration runtime.
101475type LinkedIntegrationRuntimeRbacAuthorization struct {
101476	// ResourceID - The resource identifier of the integration runtime to be shared.
101477	ResourceID *string `json:"resourceId,omitempty"`
101478	// AuthorizationType - Possible values include: 'AuthorizationTypeLinkedIntegrationRuntimeType', 'AuthorizationTypeRBAC', 'AuthorizationTypeKey'
101479	AuthorizationType AuthorizationType `json:"authorizationType,omitempty"`
101480}
101481
101482// MarshalJSON is the custom marshaler for LinkedIntegrationRuntimeRbacAuthorization.
101483func (lirra LinkedIntegrationRuntimeRbacAuthorization) MarshalJSON() ([]byte, error) {
101484	lirra.AuthorizationType = AuthorizationTypeRBAC
101485	objectMap := make(map[string]interface{})
101486	if lirra.ResourceID != nil {
101487		objectMap["resourceId"] = lirra.ResourceID
101488	}
101489	if lirra.AuthorizationType != "" {
101490		objectMap["authorizationType"] = lirra.AuthorizationType
101491	}
101492	return json.Marshal(objectMap)
101493}
101494
101495// AsLinkedIntegrationRuntimeRbacAuthorization is the BasicLinkedIntegrationRuntimeType implementation for LinkedIntegrationRuntimeRbacAuthorization.
101496func (lirra LinkedIntegrationRuntimeRbacAuthorization) AsLinkedIntegrationRuntimeRbacAuthorization() (*LinkedIntegrationRuntimeRbacAuthorization, bool) {
101497	return &lirra, true
101498}
101499
101500// AsLinkedIntegrationRuntimeKeyAuthorization is the BasicLinkedIntegrationRuntimeType implementation for LinkedIntegrationRuntimeRbacAuthorization.
101501func (lirra LinkedIntegrationRuntimeRbacAuthorization) AsLinkedIntegrationRuntimeKeyAuthorization() (*LinkedIntegrationRuntimeKeyAuthorization, bool) {
101502	return nil, false
101503}
101504
101505// AsLinkedIntegrationRuntimeType is the BasicLinkedIntegrationRuntimeType implementation for LinkedIntegrationRuntimeRbacAuthorization.
101506func (lirra LinkedIntegrationRuntimeRbacAuthorization) AsLinkedIntegrationRuntimeType() (*LinkedIntegrationRuntimeType, bool) {
101507	return nil, false
101508}
101509
101510// AsBasicLinkedIntegrationRuntimeType is the BasicLinkedIntegrationRuntimeType implementation for LinkedIntegrationRuntimeRbacAuthorization.
101511func (lirra LinkedIntegrationRuntimeRbacAuthorization) AsBasicLinkedIntegrationRuntimeType() (BasicLinkedIntegrationRuntimeType, bool) {
101512	return &lirra, true
101513}
101514
101515// LinkedIntegrationRuntimeRequest data factory name for linked integration runtime request.
101516type LinkedIntegrationRuntimeRequest struct {
101517	// LinkedFactoryName - The data factory name for linked integration runtime.
101518	LinkedFactoryName *string `json:"factoryName,omitempty"`
101519}
101520
101521// BasicLinkedIntegrationRuntimeType the base definition of a linked integration runtime.
101522type BasicLinkedIntegrationRuntimeType interface {
101523	AsLinkedIntegrationRuntimeRbacAuthorization() (*LinkedIntegrationRuntimeRbacAuthorization, bool)
101524	AsLinkedIntegrationRuntimeKeyAuthorization() (*LinkedIntegrationRuntimeKeyAuthorization, bool)
101525	AsLinkedIntegrationRuntimeType() (*LinkedIntegrationRuntimeType, bool)
101526}
101527
101528// LinkedIntegrationRuntimeType the base definition of a linked integration runtime.
101529type LinkedIntegrationRuntimeType struct {
101530	// AuthorizationType - Possible values include: 'AuthorizationTypeLinkedIntegrationRuntimeType', 'AuthorizationTypeRBAC', 'AuthorizationTypeKey'
101531	AuthorizationType AuthorizationType `json:"authorizationType,omitempty"`
101532}
101533
101534func unmarshalBasicLinkedIntegrationRuntimeType(body []byte) (BasicLinkedIntegrationRuntimeType, error) {
101535	var m map[string]interface{}
101536	err := json.Unmarshal(body, &m)
101537	if err != nil {
101538		return nil, err
101539	}
101540
101541	switch m["authorizationType"] {
101542	case string(AuthorizationTypeRBAC):
101543		var lirra LinkedIntegrationRuntimeRbacAuthorization
101544		err := json.Unmarshal(body, &lirra)
101545		return lirra, err
101546	case string(AuthorizationTypeKey):
101547		var lirka LinkedIntegrationRuntimeKeyAuthorization
101548		err := json.Unmarshal(body, &lirka)
101549		return lirka, err
101550	default:
101551		var lirt LinkedIntegrationRuntimeType
101552		err := json.Unmarshal(body, &lirt)
101553		return lirt, err
101554	}
101555}
101556func unmarshalBasicLinkedIntegrationRuntimeTypeArray(body []byte) ([]BasicLinkedIntegrationRuntimeType, error) {
101557	var rawMessages []*json.RawMessage
101558	err := json.Unmarshal(body, &rawMessages)
101559	if err != nil {
101560		return nil, err
101561	}
101562
101563	lirtArray := make([]BasicLinkedIntegrationRuntimeType, len(rawMessages))
101564
101565	for index, rawMessage := range rawMessages {
101566		lirt, err := unmarshalBasicLinkedIntegrationRuntimeType(*rawMessage)
101567		if err != nil {
101568			return nil, err
101569		}
101570		lirtArray[index] = lirt
101571	}
101572	return lirtArray, nil
101573}
101574
101575// MarshalJSON is the custom marshaler for LinkedIntegrationRuntimeType.
101576func (lirt LinkedIntegrationRuntimeType) MarshalJSON() ([]byte, error) {
101577	lirt.AuthorizationType = AuthorizationTypeLinkedIntegrationRuntimeType
101578	objectMap := make(map[string]interface{})
101579	if lirt.AuthorizationType != "" {
101580		objectMap["authorizationType"] = lirt.AuthorizationType
101581	}
101582	return json.Marshal(objectMap)
101583}
101584
101585// AsLinkedIntegrationRuntimeRbacAuthorization is the BasicLinkedIntegrationRuntimeType implementation for LinkedIntegrationRuntimeType.
101586func (lirt LinkedIntegrationRuntimeType) AsLinkedIntegrationRuntimeRbacAuthorization() (*LinkedIntegrationRuntimeRbacAuthorization, bool) {
101587	return nil, false
101588}
101589
101590// AsLinkedIntegrationRuntimeKeyAuthorization is the BasicLinkedIntegrationRuntimeType implementation for LinkedIntegrationRuntimeType.
101591func (lirt LinkedIntegrationRuntimeType) AsLinkedIntegrationRuntimeKeyAuthorization() (*LinkedIntegrationRuntimeKeyAuthorization, bool) {
101592	return nil, false
101593}
101594
101595// AsLinkedIntegrationRuntimeType is the BasicLinkedIntegrationRuntimeType implementation for LinkedIntegrationRuntimeType.
101596func (lirt LinkedIntegrationRuntimeType) AsLinkedIntegrationRuntimeType() (*LinkedIntegrationRuntimeType, bool) {
101597	return &lirt, true
101598}
101599
101600// AsBasicLinkedIntegrationRuntimeType is the BasicLinkedIntegrationRuntimeType implementation for LinkedIntegrationRuntimeType.
101601func (lirt LinkedIntegrationRuntimeType) AsBasicLinkedIntegrationRuntimeType() (BasicLinkedIntegrationRuntimeType, bool) {
101602	return &lirt, true
101603}
101604
101605// BasicLinkedService the Azure Data Factory nested object which contains the information and credential which can be
101606// used to connect with related store or compute resource.
101607type BasicLinkedService interface {
101608	AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool)
101609	AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool)
101610	AsSapTableLinkedService() (*SapTableLinkedService, bool)
101611	AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool)
101612	AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool)
101613	AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool)
101614	AsResponsysLinkedService() (*ResponsysLinkedService, bool)
101615	AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool)
101616	AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool)
101617	AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool)
101618	AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool)
101619	AsNetezzaLinkedService() (*NetezzaLinkedService, bool)
101620	AsVerticaLinkedService() (*VerticaLinkedService, bool)
101621	AsZohoLinkedService() (*ZohoLinkedService, bool)
101622	AsXeroLinkedService() (*XeroLinkedService, bool)
101623	AsSquareLinkedService() (*SquareLinkedService, bool)
101624	AsSparkLinkedService() (*SparkLinkedService, bool)
101625	AsShopifyLinkedService() (*ShopifyLinkedService, bool)
101626	AsServiceNowLinkedService() (*ServiceNowLinkedService, bool)
101627	AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool)
101628	AsPrestoLinkedService() (*PrestoLinkedService, bool)
101629	AsPhoenixLinkedService() (*PhoenixLinkedService, bool)
101630	AsPaypalLinkedService() (*PaypalLinkedService, bool)
101631	AsMarketoLinkedService() (*MarketoLinkedService, bool)
101632	AsMariaDBLinkedService() (*MariaDBLinkedService, bool)
101633	AsMagentoLinkedService() (*MagentoLinkedService, bool)
101634	AsJiraLinkedService() (*JiraLinkedService, bool)
101635	AsImpalaLinkedService() (*ImpalaLinkedService, bool)
101636	AsHubspotLinkedService() (*HubspotLinkedService, bool)
101637	AsHiveLinkedService() (*HiveLinkedService, bool)
101638	AsHBaseLinkedService() (*HBaseLinkedService, bool)
101639	AsGreenplumLinkedService() (*GreenplumLinkedService, bool)
101640	AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool)
101641	AsEloquaLinkedService() (*EloquaLinkedService, bool)
101642	AsDrillLinkedService() (*DrillLinkedService, bool)
101643	AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool)
101644	AsConcurLinkedService() (*ConcurLinkedService, bool)
101645	AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool)
101646	AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool)
101647	AsSapHanaLinkedService() (*SapHanaLinkedService, bool)
101648	AsSapBWLinkedService() (*SapBWLinkedService, bool)
101649	AsSftpServerLinkedService() (*SftpServerLinkedService, bool)
101650	AsFtpServerLinkedService() (*FtpServerLinkedService, bool)
101651	AsHTTPLinkedService() (*HTTPLinkedService, bool)
101652	AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool)
101653	AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool)
101654	AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool)
101655	AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool)
101656	AsRestServiceLinkedService() (*RestServiceLinkedService, bool)
101657	AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool)
101658	AsSapEccLinkedService() (*SapEccLinkedService, bool)
101659	AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool)
101660	AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool)
101661	AsSalesforceLinkedService() (*SalesforceLinkedService, bool)
101662	AsOffice365LinkedService() (*Office365LinkedService, bool)
101663	AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool)
101664	AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool)
101665	AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool)
101666	AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool)
101667	AsMongoDbLinkedService() (*MongoDbLinkedService, bool)
101668	AsCassandraLinkedService() (*CassandraLinkedService, bool)
101669	AsWebLinkedService() (*WebLinkedService, bool)
101670	AsODataLinkedService() (*ODataLinkedService, bool)
101671	AsHdfsLinkedService() (*HdfsLinkedService, bool)
101672	AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool)
101673	AsInformixLinkedService() (*InformixLinkedService, bool)
101674	AsOdbcLinkedService() (*OdbcLinkedService, bool)
101675	AsAzureMLLinkedService() (*AzureMLLinkedService, bool)
101676	AsTeradataLinkedService() (*TeradataLinkedService, bool)
101677	AsDb2LinkedService() (*Db2LinkedService, bool)
101678	AsSybaseLinkedService() (*SybaseLinkedService, bool)
101679	AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool)
101680	AsMySQLLinkedService() (*MySQLLinkedService, bool)
101681	AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool)
101682	AsOracleLinkedService() (*OracleLinkedService, bool)
101683	AsFileServerLinkedService() (*FileServerLinkedService, bool)
101684	AsHDInsightLinkedService() (*HDInsightLinkedService, bool)
101685	AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool)
101686	AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool)
101687	AsDynamicsLinkedService() (*DynamicsLinkedService, bool)
101688	AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool)
101689	AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool)
101690	AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool)
101691	AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool)
101692	AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool)
101693	AsSQLServerLinkedService() (*SQLServerLinkedService, bool)
101694	AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool)
101695	AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool)
101696	AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool)
101697	AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool)
101698	AsLinkedService() (*LinkedService, bool)
101699}
101700
101701// LinkedService the Azure Data Factory nested object which contains the information and credential which can
101702// be used to connect with related store or compute resource.
101703type LinkedService struct {
101704	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
101705	AdditionalProperties map[string]interface{} `json:""`
101706	// ConnectVia - The integration runtime reference.
101707	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
101708	// Description - Linked service description.
101709	Description *string `json:"description,omitempty"`
101710	// Parameters - Parameters for linked service.
101711	Parameters map[string]*ParameterSpecification `json:"parameters"`
101712	// Annotations - List of tags that can be used for describing the linked service.
101713	Annotations *[]interface{} `json:"annotations,omitempty"`
101714	// Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', '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', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage'
101715	Type TypeBasicLinkedService `json:"type,omitempty"`
101716}
101717
101718func unmarshalBasicLinkedService(body []byte) (BasicLinkedService, error) {
101719	var m map[string]interface{}
101720	err := json.Unmarshal(body, &m)
101721	if err != nil {
101722		return nil, err
101723	}
101724
101725	switch m["type"] {
101726	case string(TypeAzureFunction):
101727		var afls AzureFunctionLinkedService
101728		err := json.Unmarshal(body, &afls)
101729		return afls, err
101730	case string(TypeAzureDataExplorer):
101731		var adels AzureDataExplorerLinkedService
101732		err := json.Unmarshal(body, &adels)
101733		return adels, err
101734	case string(TypeSapTable):
101735		var stls SapTableLinkedService
101736		err := json.Unmarshal(body, &stls)
101737		return stls, err
101738	case string(TypeGoogleAdWords):
101739		var gawls GoogleAdWordsLinkedService
101740		err := json.Unmarshal(body, &gawls)
101741		return gawls, err
101742	case string(TypeOracleServiceCloud):
101743		var oscls OracleServiceCloudLinkedService
101744		err := json.Unmarshal(body, &oscls)
101745		return oscls, err
101746	case string(TypeDynamicsAX):
101747		var dals DynamicsAXLinkedService
101748		err := json.Unmarshal(body, &dals)
101749		return dals, err
101750	case string(TypeResponsys):
101751		var rls ResponsysLinkedService
101752		err := json.Unmarshal(body, &rls)
101753		return rls, err
101754	case string(TypeAzureDatabricks):
101755		var adls AzureDatabricksLinkedService
101756		err := json.Unmarshal(body, &adls)
101757		return adls, err
101758	case string(TypeAzureDataLakeAnalytics):
101759		var adlals AzureDataLakeAnalyticsLinkedService
101760		err := json.Unmarshal(body, &adlals)
101761		return adlals, err
101762	case string(TypeHDInsightOnDemand):
101763		var hiodls HDInsightOnDemandLinkedService
101764		err := json.Unmarshal(body, &hiodls)
101765		return hiodls, err
101766	case string(TypeSalesforceMarketingCloud):
101767		var smcls SalesforceMarketingCloudLinkedService
101768		err := json.Unmarshal(body, &smcls)
101769		return smcls, err
101770	case string(TypeNetezza):
101771		var nls NetezzaLinkedService
101772		err := json.Unmarshal(body, &nls)
101773		return nls, err
101774	case string(TypeVertica):
101775		var vls VerticaLinkedService
101776		err := json.Unmarshal(body, &vls)
101777		return vls, err
101778	case string(TypeZoho):
101779		var zls ZohoLinkedService
101780		err := json.Unmarshal(body, &zls)
101781		return zls, err
101782	case string(TypeXero):
101783		var xls XeroLinkedService
101784		err := json.Unmarshal(body, &xls)
101785		return xls, err
101786	case string(TypeSquare):
101787		var sls SquareLinkedService
101788		err := json.Unmarshal(body, &sls)
101789		return sls, err
101790	case string(TypeSpark):
101791		var sls SparkLinkedService
101792		err := json.Unmarshal(body, &sls)
101793		return sls, err
101794	case string(TypeShopify):
101795		var sls ShopifyLinkedService
101796		err := json.Unmarshal(body, &sls)
101797		return sls, err
101798	case string(TypeServiceNow):
101799		var snls ServiceNowLinkedService
101800		err := json.Unmarshal(body, &snls)
101801		return snls, err
101802	case string(TypeQuickBooks):
101803		var qbls QuickBooksLinkedService
101804		err := json.Unmarshal(body, &qbls)
101805		return qbls, err
101806	case string(TypePresto):
101807		var pls PrestoLinkedService
101808		err := json.Unmarshal(body, &pls)
101809		return pls, err
101810	case string(TypePhoenix):
101811		var pls PhoenixLinkedService
101812		err := json.Unmarshal(body, &pls)
101813		return pls, err
101814	case string(TypePaypal):
101815		var pls PaypalLinkedService
101816		err := json.Unmarshal(body, &pls)
101817		return pls, err
101818	case string(TypeMarketo):
101819		var mls MarketoLinkedService
101820		err := json.Unmarshal(body, &mls)
101821		return mls, err
101822	case string(TypeMariaDB):
101823		var mdls MariaDBLinkedService
101824		err := json.Unmarshal(body, &mdls)
101825		return mdls, err
101826	case string(TypeMagento):
101827		var mls MagentoLinkedService
101828		err := json.Unmarshal(body, &mls)
101829		return mls, err
101830	case string(TypeJira):
101831		var jls JiraLinkedService
101832		err := json.Unmarshal(body, &jls)
101833		return jls, err
101834	case string(TypeImpala):
101835		var ils ImpalaLinkedService
101836		err := json.Unmarshal(body, &ils)
101837		return ils, err
101838	case string(TypeHubspot):
101839		var hls HubspotLinkedService
101840		err := json.Unmarshal(body, &hls)
101841		return hls, err
101842	case string(TypeHive):
101843		var hls HiveLinkedService
101844		err := json.Unmarshal(body, &hls)
101845		return hls, err
101846	case string(TypeHBase):
101847		var hbls HBaseLinkedService
101848		err := json.Unmarshal(body, &hbls)
101849		return hbls, err
101850	case string(TypeGreenplum):
101851		var gls GreenplumLinkedService
101852		err := json.Unmarshal(body, &gls)
101853		return gls, err
101854	case string(TypeGoogleBigQuery):
101855		var gbqls GoogleBigQueryLinkedService
101856		err := json.Unmarshal(body, &gbqls)
101857		return gbqls, err
101858	case string(TypeEloqua):
101859		var els EloquaLinkedService
101860		err := json.Unmarshal(body, &els)
101861		return els, err
101862	case string(TypeDrill):
101863		var dls DrillLinkedService
101864		err := json.Unmarshal(body, &dls)
101865		return dls, err
101866	case string(TypeCouchbase):
101867		var cls CouchbaseLinkedService
101868		err := json.Unmarshal(body, &cls)
101869		return cls, err
101870	case string(TypeConcur):
101871		var cls ConcurLinkedService
101872		err := json.Unmarshal(body, &cls)
101873		return cls, err
101874	case string(TypeAzurePostgreSQL):
101875		var apsls AzurePostgreSQLLinkedService
101876		err := json.Unmarshal(body, &apsls)
101877		return apsls, err
101878	case string(TypeAmazonMWS):
101879		var amls AmazonMWSLinkedService
101880		err := json.Unmarshal(body, &amls)
101881		return amls, err
101882	case string(TypeSapHana):
101883		var shls SapHanaLinkedService
101884		err := json.Unmarshal(body, &shls)
101885		return shls, err
101886	case string(TypeSapBW):
101887		var sbls SapBWLinkedService
101888		err := json.Unmarshal(body, &sbls)
101889		return sbls, err
101890	case string(TypeSftp):
101891		var ssls SftpServerLinkedService
101892		err := json.Unmarshal(body, &ssls)
101893		return ssls, err
101894	case string(TypeFtpServer):
101895		var fsls FtpServerLinkedService
101896		err := json.Unmarshal(body, &fsls)
101897		return fsls, err
101898	case string(TypeHTTPServer):
101899		var hls HTTPLinkedService
101900		err := json.Unmarshal(body, &hls)
101901		return hls, err
101902	case string(TypeAzureSearch):
101903		var asls AzureSearchLinkedService
101904		err := json.Unmarshal(body, &asls)
101905		return asls, err
101906	case string(TypeCustomDataSource):
101907		var cdsls CustomDataSourceLinkedService
101908		err := json.Unmarshal(body, &cdsls)
101909		return cdsls, err
101910	case string(TypeAmazonRedshift):
101911		var arls AmazonRedshiftLinkedService
101912		err := json.Unmarshal(body, &arls)
101913		return arls, err
101914	case string(TypeAmazonS3):
101915		var asls AmazonS3LinkedService
101916		err := json.Unmarshal(body, &asls)
101917		return asls, err
101918	case string(TypeRestService):
101919		var rsls RestServiceLinkedService
101920		err := json.Unmarshal(body, &rsls)
101921		return rsls, err
101922	case string(TypeSapOpenHub):
101923		var sohls SapOpenHubLinkedService
101924		err := json.Unmarshal(body, &sohls)
101925		return sohls, err
101926	case string(TypeSapEcc):
101927		var sels SapEccLinkedService
101928		err := json.Unmarshal(body, &sels)
101929		return sels, err
101930	case string(TypeSapCloudForCustomer):
101931		var scfcls SapCloudForCustomerLinkedService
101932		err := json.Unmarshal(body, &scfcls)
101933		return scfcls, err
101934	case string(TypeSalesforceServiceCloud):
101935		var sscls SalesforceServiceCloudLinkedService
101936		err := json.Unmarshal(body, &sscls)
101937		return sscls, err
101938	case string(TypeSalesforce):
101939		var sls SalesforceLinkedService
101940		err := json.Unmarshal(body, &sls)
101941		return sls, err
101942	case string(TypeOffice365):
101943		var o3ls Office365LinkedService
101944		err := json.Unmarshal(body, &o3ls)
101945		return o3ls, err
101946	case string(TypeAzureBlobFS):
101947		var abfls AzureBlobFSLinkedService
101948		err := json.Unmarshal(body, &abfls)
101949		return abfls, err
101950	case string(TypeAzureDataLakeStore):
101951		var adlsls AzureDataLakeStoreLinkedService
101952		err := json.Unmarshal(body, &adlsls)
101953		return adlsls, err
101954	case string(TypeCosmosDbMongoDbAPI):
101955		var cdmdals CosmosDbMongoDbAPILinkedService
101956		err := json.Unmarshal(body, &cdmdals)
101957		return cdmdals, err
101958	case string(TypeMongoDbV2):
101959		var mdvls MongoDbV2LinkedService
101960		err := json.Unmarshal(body, &mdvls)
101961		return mdvls, err
101962	case string(TypeMongoDb):
101963		var mdls MongoDbLinkedService
101964		err := json.Unmarshal(body, &mdls)
101965		return mdls, err
101966	case string(TypeCassandra):
101967		var cls CassandraLinkedService
101968		err := json.Unmarshal(body, &cls)
101969		return cls, err
101970	case string(TypeWeb):
101971		var wls WebLinkedService
101972		err := json.Unmarshal(body, &wls)
101973		return wls, err
101974	case string(TypeOData):
101975		var odls ODataLinkedService
101976		err := json.Unmarshal(body, &odls)
101977		return odls, err
101978	case string(TypeHdfs):
101979		var hls HdfsLinkedService
101980		err := json.Unmarshal(body, &hls)
101981		return hls, err
101982	case string(TypeMicrosoftAccess):
101983		var mals MicrosoftAccessLinkedService
101984		err := json.Unmarshal(body, &mals)
101985		return mals, err
101986	case string(TypeInformix):
101987		var ils InformixLinkedService
101988		err := json.Unmarshal(body, &ils)
101989		return ils, err
101990	case string(TypeOdbc):
101991		var ols OdbcLinkedService
101992		err := json.Unmarshal(body, &ols)
101993		return ols, err
101994	case string(TypeAzureML):
101995		var amls AzureMLLinkedService
101996		err := json.Unmarshal(body, &amls)
101997		return amls, err
101998	case string(TypeTeradata):
101999		var TLSVar TeradataLinkedService
102000		err := json.Unmarshal(body, &TLSVar)
102001		return TLSVar, err
102002	case string(TypeDb2):
102003		var d2ls Db2LinkedService
102004		err := json.Unmarshal(body, &d2ls)
102005		return d2ls, err
102006	case string(TypeSybase):
102007		var sls SybaseLinkedService
102008		err := json.Unmarshal(body, &sls)
102009		return sls, err
102010	case string(TypePostgreSQL):
102011		var psls PostgreSQLLinkedService
102012		err := json.Unmarshal(body, &psls)
102013		return psls, err
102014	case string(TypeMySQL):
102015		var msls MySQLLinkedService
102016		err := json.Unmarshal(body, &msls)
102017		return msls, err
102018	case string(TypeAzureMySQL):
102019		var amsls AzureMySQLLinkedService
102020		err := json.Unmarshal(body, &amsls)
102021		return amsls, err
102022	case string(TypeOracle):
102023		var ols OracleLinkedService
102024		err := json.Unmarshal(body, &ols)
102025		return ols, err
102026	case string(TypeFileServer):
102027		var fsls FileServerLinkedService
102028		err := json.Unmarshal(body, &fsls)
102029		return fsls, err
102030	case string(TypeHDInsight):
102031		var hils HDInsightLinkedService
102032		err := json.Unmarshal(body, &hils)
102033		return hils, err
102034	case string(TypeCommonDataServiceForApps):
102035		var cdsfals CommonDataServiceForAppsLinkedService
102036		err := json.Unmarshal(body, &cdsfals)
102037		return cdsfals, err
102038	case string(TypeDynamicsCrm):
102039		var dcls DynamicsCrmLinkedService
102040		err := json.Unmarshal(body, &dcls)
102041		return dcls, err
102042	case string(TypeDynamics):
102043		var dls DynamicsLinkedService
102044		err := json.Unmarshal(body, &dls)
102045		return dls, err
102046	case string(TypeCosmosDb):
102047		var cdls CosmosDbLinkedService
102048		err := json.Unmarshal(body, &cdls)
102049		return cdls, err
102050	case string(TypeAzureKeyVault):
102051		var akvls AzureKeyVaultLinkedService
102052		err := json.Unmarshal(body, &akvls)
102053		return akvls, err
102054	case string(TypeAzureBatch):
102055		var abls AzureBatchLinkedService
102056		err := json.Unmarshal(body, &abls)
102057		return abls, err
102058	case string(TypeAzureSQLMI):
102059		var asmls AzureSQLMILinkedService
102060		err := json.Unmarshal(body, &asmls)
102061		return asmls, err
102062	case string(TypeAzureSQLDatabase):
102063		var asdls AzureSQLDatabaseLinkedService
102064		err := json.Unmarshal(body, &asdls)
102065		return asdls, err
102066	case string(TypeSQLServer):
102067		var ssls SQLServerLinkedService
102068		err := json.Unmarshal(body, &ssls)
102069		return ssls, err
102070	case string(TypeAzureSQLDW):
102071		var asdls AzureSQLDWLinkedService
102072		err := json.Unmarshal(body, &asdls)
102073		return asdls, err
102074	case string(TypeAzureTableStorage):
102075		var atsls AzureTableStorageLinkedService
102076		err := json.Unmarshal(body, &atsls)
102077		return atsls, err
102078	case string(TypeAzureBlobStorage):
102079		var absls AzureBlobStorageLinkedService
102080		err := json.Unmarshal(body, &absls)
102081		return absls, err
102082	case string(TypeAzureStorage):
102083		var asls AzureStorageLinkedService
102084		err := json.Unmarshal(body, &asls)
102085		return asls, err
102086	default:
102087		var ls LinkedService
102088		err := json.Unmarshal(body, &ls)
102089		return ls, err
102090	}
102091}
102092func unmarshalBasicLinkedServiceArray(body []byte) ([]BasicLinkedService, error) {
102093	var rawMessages []*json.RawMessage
102094	err := json.Unmarshal(body, &rawMessages)
102095	if err != nil {
102096		return nil, err
102097	}
102098
102099	lsArray := make([]BasicLinkedService, len(rawMessages))
102100
102101	for index, rawMessage := range rawMessages {
102102		ls, err := unmarshalBasicLinkedService(*rawMessage)
102103		if err != nil {
102104			return nil, err
102105		}
102106		lsArray[index] = ls
102107	}
102108	return lsArray, nil
102109}
102110
102111// MarshalJSON is the custom marshaler for LinkedService.
102112func (ls LinkedService) MarshalJSON() ([]byte, error) {
102113	ls.Type = TypeLinkedService
102114	objectMap := make(map[string]interface{})
102115	if ls.ConnectVia != nil {
102116		objectMap["connectVia"] = ls.ConnectVia
102117	}
102118	if ls.Description != nil {
102119		objectMap["description"] = ls.Description
102120	}
102121	if ls.Parameters != nil {
102122		objectMap["parameters"] = ls.Parameters
102123	}
102124	if ls.Annotations != nil {
102125		objectMap["annotations"] = ls.Annotations
102126	}
102127	if ls.Type != "" {
102128		objectMap["type"] = ls.Type
102129	}
102130	for k, v := range ls.AdditionalProperties {
102131		objectMap[k] = v
102132	}
102133	return json.Marshal(objectMap)
102134}
102135
102136// AsAzureFunctionLinkedService is the BasicLinkedService implementation for LinkedService.
102137func (ls LinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) {
102138	return nil, false
102139}
102140
102141// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for LinkedService.
102142func (ls LinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) {
102143	return nil, false
102144}
102145
102146// AsSapTableLinkedService is the BasicLinkedService implementation for LinkedService.
102147func (ls LinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) {
102148	return nil, false
102149}
102150
102151// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for LinkedService.
102152func (ls LinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) {
102153	return nil, false
102154}
102155
102156// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for LinkedService.
102157func (ls LinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) {
102158	return nil, false
102159}
102160
102161// AsDynamicsAXLinkedService is the BasicLinkedService implementation for LinkedService.
102162func (ls LinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) {
102163	return nil, false
102164}
102165
102166// AsResponsysLinkedService is the BasicLinkedService implementation for LinkedService.
102167func (ls LinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
102168	return nil, false
102169}
102170
102171// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for LinkedService.
102172func (ls LinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
102173	return nil, false
102174}
102175
102176// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for LinkedService.
102177func (ls LinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
102178	return nil, false
102179}
102180
102181// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for LinkedService.
102182func (ls LinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
102183	return nil, false
102184}
102185
102186// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for LinkedService.
102187func (ls LinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
102188	return nil, false
102189}
102190
102191// AsNetezzaLinkedService is the BasicLinkedService implementation for LinkedService.
102192func (ls LinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
102193	return nil, false
102194}
102195
102196// AsVerticaLinkedService is the BasicLinkedService implementation for LinkedService.
102197func (ls LinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
102198	return nil, false
102199}
102200
102201// AsZohoLinkedService is the BasicLinkedService implementation for LinkedService.
102202func (ls LinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
102203	return nil, false
102204}
102205
102206// AsXeroLinkedService is the BasicLinkedService implementation for LinkedService.
102207func (ls LinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
102208	return nil, false
102209}
102210
102211// AsSquareLinkedService is the BasicLinkedService implementation for LinkedService.
102212func (ls LinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
102213	return nil, false
102214}
102215
102216// AsSparkLinkedService is the BasicLinkedService implementation for LinkedService.
102217func (ls LinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
102218	return nil, false
102219}
102220
102221// AsShopifyLinkedService is the BasicLinkedService implementation for LinkedService.
102222func (ls LinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
102223	return nil, false
102224}
102225
102226// AsServiceNowLinkedService is the BasicLinkedService implementation for LinkedService.
102227func (ls LinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
102228	return nil, false
102229}
102230
102231// AsQuickBooksLinkedService is the BasicLinkedService implementation for LinkedService.
102232func (ls LinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
102233	return nil, false
102234}
102235
102236// AsPrestoLinkedService is the BasicLinkedService implementation for LinkedService.
102237func (ls LinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
102238	return nil, false
102239}
102240
102241// AsPhoenixLinkedService is the BasicLinkedService implementation for LinkedService.
102242func (ls LinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
102243	return nil, false
102244}
102245
102246// AsPaypalLinkedService is the BasicLinkedService implementation for LinkedService.
102247func (ls LinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
102248	return nil, false
102249}
102250
102251// AsMarketoLinkedService is the BasicLinkedService implementation for LinkedService.
102252func (ls LinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
102253	return nil, false
102254}
102255
102256// AsMariaDBLinkedService is the BasicLinkedService implementation for LinkedService.
102257func (ls LinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
102258	return nil, false
102259}
102260
102261// AsMagentoLinkedService is the BasicLinkedService implementation for LinkedService.
102262func (ls LinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
102263	return nil, false
102264}
102265
102266// AsJiraLinkedService is the BasicLinkedService implementation for LinkedService.
102267func (ls LinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
102268	return nil, false
102269}
102270
102271// AsImpalaLinkedService is the BasicLinkedService implementation for LinkedService.
102272func (ls LinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
102273	return nil, false
102274}
102275
102276// AsHubspotLinkedService is the BasicLinkedService implementation for LinkedService.
102277func (ls LinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
102278	return nil, false
102279}
102280
102281// AsHiveLinkedService is the BasicLinkedService implementation for LinkedService.
102282func (ls LinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
102283	return nil, false
102284}
102285
102286// AsHBaseLinkedService is the BasicLinkedService implementation for LinkedService.
102287func (ls LinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
102288	return nil, false
102289}
102290
102291// AsGreenplumLinkedService is the BasicLinkedService implementation for LinkedService.
102292func (ls LinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
102293	return nil, false
102294}
102295
102296// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for LinkedService.
102297func (ls LinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
102298	return nil, false
102299}
102300
102301// AsEloquaLinkedService is the BasicLinkedService implementation for LinkedService.
102302func (ls LinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
102303	return nil, false
102304}
102305
102306// AsDrillLinkedService is the BasicLinkedService implementation for LinkedService.
102307func (ls LinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
102308	return nil, false
102309}
102310
102311// AsCouchbaseLinkedService is the BasicLinkedService implementation for LinkedService.
102312func (ls LinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
102313	return nil, false
102314}
102315
102316// AsConcurLinkedService is the BasicLinkedService implementation for LinkedService.
102317func (ls LinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
102318	return nil, false
102319}
102320
102321// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for LinkedService.
102322func (ls LinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
102323	return nil, false
102324}
102325
102326// AsAmazonMWSLinkedService is the BasicLinkedService implementation for LinkedService.
102327func (ls LinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
102328	return nil, false
102329}
102330
102331// AsSapHanaLinkedService is the BasicLinkedService implementation for LinkedService.
102332func (ls LinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
102333	return nil, false
102334}
102335
102336// AsSapBWLinkedService is the BasicLinkedService implementation for LinkedService.
102337func (ls LinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
102338	return nil, false
102339}
102340
102341// AsSftpServerLinkedService is the BasicLinkedService implementation for LinkedService.
102342func (ls LinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
102343	return nil, false
102344}
102345
102346// AsFtpServerLinkedService is the BasicLinkedService implementation for LinkedService.
102347func (ls LinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
102348	return nil, false
102349}
102350
102351// AsHTTPLinkedService is the BasicLinkedService implementation for LinkedService.
102352func (ls LinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
102353	return nil, false
102354}
102355
102356// AsAzureSearchLinkedService is the BasicLinkedService implementation for LinkedService.
102357func (ls LinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
102358	return nil, false
102359}
102360
102361// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for LinkedService.
102362func (ls LinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
102363	return nil, false
102364}
102365
102366// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for LinkedService.
102367func (ls LinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
102368	return nil, false
102369}
102370
102371// AsAmazonS3LinkedService is the BasicLinkedService implementation for LinkedService.
102372func (ls LinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
102373	return nil, false
102374}
102375
102376// AsRestServiceLinkedService is the BasicLinkedService implementation for LinkedService.
102377func (ls LinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) {
102378	return nil, false
102379}
102380
102381// AsSapOpenHubLinkedService is the BasicLinkedService implementation for LinkedService.
102382func (ls LinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) {
102383	return nil, false
102384}
102385
102386// AsSapEccLinkedService is the BasicLinkedService implementation for LinkedService.
102387func (ls LinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
102388	return nil, false
102389}
102390
102391// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for LinkedService.
102392func (ls LinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
102393	return nil, false
102394}
102395
102396// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for LinkedService.
102397func (ls LinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) {
102398	return nil, false
102399}
102400
102401// AsSalesforceLinkedService is the BasicLinkedService implementation for LinkedService.
102402func (ls LinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
102403	return nil, false
102404}
102405
102406// AsOffice365LinkedService is the BasicLinkedService implementation for LinkedService.
102407func (ls LinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) {
102408	return nil, false
102409}
102410
102411// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for LinkedService.
102412func (ls LinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) {
102413	return nil, false
102414}
102415
102416// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for LinkedService.
102417func (ls LinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
102418	return nil, false
102419}
102420
102421// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for LinkedService.
102422func (ls LinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) {
102423	return nil, false
102424}
102425
102426// AsMongoDbV2LinkedService is the BasicLinkedService implementation for LinkedService.
102427func (ls LinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) {
102428	return nil, false
102429}
102430
102431// AsMongoDbLinkedService is the BasicLinkedService implementation for LinkedService.
102432func (ls LinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
102433	return nil, false
102434}
102435
102436// AsCassandraLinkedService is the BasicLinkedService implementation for LinkedService.
102437func (ls LinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
102438	return nil, false
102439}
102440
102441// AsWebLinkedService is the BasicLinkedService implementation for LinkedService.
102442func (ls LinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
102443	return nil, false
102444}
102445
102446// AsODataLinkedService is the BasicLinkedService implementation for LinkedService.
102447func (ls LinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
102448	return nil, false
102449}
102450
102451// AsHdfsLinkedService is the BasicLinkedService implementation for LinkedService.
102452func (ls LinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
102453	return nil, false
102454}
102455
102456// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for LinkedService.
102457func (ls LinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) {
102458	return nil, false
102459}
102460
102461// AsInformixLinkedService is the BasicLinkedService implementation for LinkedService.
102462func (ls LinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) {
102463	return nil, false
102464}
102465
102466// AsOdbcLinkedService is the BasicLinkedService implementation for LinkedService.
102467func (ls LinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
102468	return nil, false
102469}
102470
102471// AsAzureMLLinkedService is the BasicLinkedService implementation for LinkedService.
102472func (ls LinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
102473	return nil, false
102474}
102475
102476// AsTeradataLinkedService is the BasicLinkedService implementation for LinkedService.
102477func (ls LinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
102478	return nil, false
102479}
102480
102481// AsDb2LinkedService is the BasicLinkedService implementation for LinkedService.
102482func (ls LinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
102483	return nil, false
102484}
102485
102486// AsSybaseLinkedService is the BasicLinkedService implementation for LinkedService.
102487func (ls LinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
102488	return nil, false
102489}
102490
102491// AsPostgreSQLLinkedService is the BasicLinkedService implementation for LinkedService.
102492func (ls LinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
102493	return nil, false
102494}
102495
102496// AsMySQLLinkedService is the BasicLinkedService implementation for LinkedService.
102497func (ls LinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
102498	return nil, false
102499}
102500
102501// AsAzureMySQLLinkedService is the BasicLinkedService implementation for LinkedService.
102502func (ls LinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
102503	return nil, false
102504}
102505
102506// AsOracleLinkedService is the BasicLinkedService implementation for LinkedService.
102507func (ls LinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
102508	return nil, false
102509}
102510
102511// AsFileServerLinkedService is the BasicLinkedService implementation for LinkedService.
102512func (ls LinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
102513	return nil, false
102514}
102515
102516// AsHDInsightLinkedService is the BasicLinkedService implementation for LinkedService.
102517func (ls LinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
102518	return nil, false
102519}
102520
102521// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for LinkedService.
102522func (ls LinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) {
102523	return nil, false
102524}
102525
102526// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for LinkedService.
102527func (ls LinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) {
102528	return nil, false
102529}
102530
102531// AsDynamicsLinkedService is the BasicLinkedService implementation for LinkedService.
102532func (ls LinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
102533	return nil, false
102534}
102535
102536// AsCosmosDbLinkedService is the BasicLinkedService implementation for LinkedService.
102537func (ls LinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
102538	return nil, false
102539}
102540
102541// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for LinkedService.
102542func (ls LinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
102543	return nil, false
102544}
102545
102546// AsAzureBatchLinkedService is the BasicLinkedService implementation for LinkedService.
102547func (ls LinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
102548	return nil, false
102549}
102550
102551// AsAzureSQLMILinkedService is the BasicLinkedService implementation for LinkedService.
102552func (ls LinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) {
102553	return nil, false
102554}
102555
102556// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for LinkedService.
102557func (ls LinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
102558	return nil, false
102559}
102560
102561// AsSQLServerLinkedService is the BasicLinkedService implementation for LinkedService.
102562func (ls LinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
102563	return nil, false
102564}
102565
102566// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for LinkedService.
102567func (ls LinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
102568	return nil, false
102569}
102570
102571// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for LinkedService.
102572func (ls LinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) {
102573	return nil, false
102574}
102575
102576// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for LinkedService.
102577func (ls LinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) {
102578	return nil, false
102579}
102580
102581// AsAzureStorageLinkedService is the BasicLinkedService implementation for LinkedService.
102582func (ls LinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
102583	return nil, false
102584}
102585
102586// AsLinkedService is the BasicLinkedService implementation for LinkedService.
102587func (ls LinkedService) AsLinkedService() (*LinkedService, bool) {
102588	return &ls, true
102589}
102590
102591// AsBasicLinkedService is the BasicLinkedService implementation for LinkedService.
102592func (ls LinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
102593	return &ls, true
102594}
102595
102596// UnmarshalJSON is the custom unmarshaler for LinkedService struct.
102597func (ls *LinkedService) UnmarshalJSON(body []byte) error {
102598	var m map[string]*json.RawMessage
102599	err := json.Unmarshal(body, &m)
102600	if err != nil {
102601		return err
102602	}
102603	for k, v := range m {
102604		switch k {
102605		default:
102606			if v != nil {
102607				var additionalProperties interface{}
102608				err = json.Unmarshal(*v, &additionalProperties)
102609				if err != nil {
102610					return err
102611				}
102612				if ls.AdditionalProperties == nil {
102613					ls.AdditionalProperties = make(map[string]interface{})
102614				}
102615				ls.AdditionalProperties[k] = additionalProperties
102616			}
102617		case "connectVia":
102618			if v != nil {
102619				var connectVia IntegrationRuntimeReference
102620				err = json.Unmarshal(*v, &connectVia)
102621				if err != nil {
102622					return err
102623				}
102624				ls.ConnectVia = &connectVia
102625			}
102626		case "description":
102627			if v != nil {
102628				var description string
102629				err = json.Unmarshal(*v, &description)
102630				if err != nil {
102631					return err
102632				}
102633				ls.Description = &description
102634			}
102635		case "parameters":
102636			if v != nil {
102637				var parameters map[string]*ParameterSpecification
102638				err = json.Unmarshal(*v, &parameters)
102639				if err != nil {
102640					return err
102641				}
102642				ls.Parameters = parameters
102643			}
102644		case "annotations":
102645			if v != nil {
102646				var annotations []interface{}
102647				err = json.Unmarshal(*v, &annotations)
102648				if err != nil {
102649					return err
102650				}
102651				ls.Annotations = &annotations
102652			}
102653		case "type":
102654			if v != nil {
102655				var typeVar TypeBasicLinkedService
102656				err = json.Unmarshal(*v, &typeVar)
102657				if err != nil {
102658					return err
102659				}
102660				ls.Type = typeVar
102661			}
102662		}
102663	}
102664
102665	return nil
102666}
102667
102668// LinkedServiceListResponse a list of linked service resources.
102669type LinkedServiceListResponse struct {
102670	autorest.Response `json:"-"`
102671	// Value - List of linked services.
102672	Value *[]LinkedServiceResource `json:"value,omitempty"`
102673	// NextLink - The link to the next page of results, if any remaining results exist.
102674	NextLink *string `json:"nextLink,omitempty"`
102675}
102676
102677// LinkedServiceListResponseIterator provides access to a complete listing of LinkedServiceResource values.
102678type LinkedServiceListResponseIterator struct {
102679	i    int
102680	page LinkedServiceListResponsePage
102681}
102682
102683// NextWithContext advances to the next value.  If there was an error making
102684// the request the iterator does not advance and the error is returned.
102685func (iter *LinkedServiceListResponseIterator) NextWithContext(ctx context.Context) (err error) {
102686	if tracing.IsEnabled() {
102687		ctx = tracing.StartSpan(ctx, fqdn+"/LinkedServiceListResponseIterator.NextWithContext")
102688		defer func() {
102689			sc := -1
102690			if iter.Response().Response.Response != nil {
102691				sc = iter.Response().Response.Response.StatusCode
102692			}
102693			tracing.EndSpan(ctx, sc, err)
102694		}()
102695	}
102696	iter.i++
102697	if iter.i < len(iter.page.Values()) {
102698		return nil
102699	}
102700	err = iter.page.NextWithContext(ctx)
102701	if err != nil {
102702		iter.i--
102703		return err
102704	}
102705	iter.i = 0
102706	return nil
102707}
102708
102709// Next advances to the next value.  If there was an error making
102710// the request the iterator does not advance and the error is returned.
102711// Deprecated: Use NextWithContext() instead.
102712func (iter *LinkedServiceListResponseIterator) Next() error {
102713	return iter.NextWithContext(context.Background())
102714}
102715
102716// NotDone returns true if the enumeration should be started or is not yet complete.
102717func (iter LinkedServiceListResponseIterator) NotDone() bool {
102718	return iter.page.NotDone() && iter.i < len(iter.page.Values())
102719}
102720
102721// Response returns the raw server response from the last page request.
102722func (iter LinkedServiceListResponseIterator) Response() LinkedServiceListResponse {
102723	return iter.page.Response()
102724}
102725
102726// Value returns the current value or a zero-initialized value if the
102727// iterator has advanced beyond the end of the collection.
102728func (iter LinkedServiceListResponseIterator) Value() LinkedServiceResource {
102729	if !iter.page.NotDone() {
102730		return LinkedServiceResource{}
102731	}
102732	return iter.page.Values()[iter.i]
102733}
102734
102735// Creates a new instance of the LinkedServiceListResponseIterator type.
102736func NewLinkedServiceListResponseIterator(page LinkedServiceListResponsePage) LinkedServiceListResponseIterator {
102737	return LinkedServiceListResponseIterator{page: page}
102738}
102739
102740// IsEmpty returns true if the ListResult contains no values.
102741func (lslr LinkedServiceListResponse) IsEmpty() bool {
102742	return lslr.Value == nil || len(*lslr.Value) == 0
102743}
102744
102745// linkedServiceListResponsePreparer prepares a request to retrieve the next set of results.
102746// It returns nil if no more results exist.
102747func (lslr LinkedServiceListResponse) linkedServiceListResponsePreparer(ctx context.Context) (*http.Request, error) {
102748	if lslr.NextLink == nil || len(to.String(lslr.NextLink)) < 1 {
102749		return nil, nil
102750	}
102751	return autorest.Prepare((&http.Request{}).WithContext(ctx),
102752		autorest.AsJSON(),
102753		autorest.AsGet(),
102754		autorest.WithBaseURL(to.String(lslr.NextLink)))
102755}
102756
102757// LinkedServiceListResponsePage contains a page of LinkedServiceResource values.
102758type LinkedServiceListResponsePage struct {
102759	fn   func(context.Context, LinkedServiceListResponse) (LinkedServiceListResponse, error)
102760	lslr LinkedServiceListResponse
102761}
102762
102763// NextWithContext advances to the next page of values.  If there was an error making
102764// the request the page does not advance and the error is returned.
102765func (page *LinkedServiceListResponsePage) NextWithContext(ctx context.Context) (err error) {
102766	if tracing.IsEnabled() {
102767		ctx = tracing.StartSpan(ctx, fqdn+"/LinkedServiceListResponsePage.NextWithContext")
102768		defer func() {
102769			sc := -1
102770			if page.Response().Response.Response != nil {
102771				sc = page.Response().Response.Response.StatusCode
102772			}
102773			tracing.EndSpan(ctx, sc, err)
102774		}()
102775	}
102776	next, err := page.fn(ctx, page.lslr)
102777	if err != nil {
102778		return err
102779	}
102780	page.lslr = next
102781	return nil
102782}
102783
102784// Next advances to the next page of values.  If there was an error making
102785// the request the page does not advance and the error is returned.
102786// Deprecated: Use NextWithContext() instead.
102787func (page *LinkedServiceListResponsePage) Next() error {
102788	return page.NextWithContext(context.Background())
102789}
102790
102791// NotDone returns true if the page enumeration should be started or is not yet complete.
102792func (page LinkedServiceListResponsePage) NotDone() bool {
102793	return !page.lslr.IsEmpty()
102794}
102795
102796// Response returns the raw server response from the last page request.
102797func (page LinkedServiceListResponsePage) Response() LinkedServiceListResponse {
102798	return page.lslr
102799}
102800
102801// Values returns the slice of values for the current page or nil if there are no values.
102802func (page LinkedServiceListResponsePage) Values() []LinkedServiceResource {
102803	if page.lslr.IsEmpty() {
102804		return nil
102805	}
102806	return *page.lslr.Value
102807}
102808
102809// Creates a new instance of the LinkedServiceListResponsePage type.
102810func NewLinkedServiceListResponsePage(getNextPage func(context.Context, LinkedServiceListResponse) (LinkedServiceListResponse, error)) LinkedServiceListResponsePage {
102811	return LinkedServiceListResponsePage{fn: getNextPage}
102812}
102813
102814// LinkedServiceReference linked service reference type.
102815type LinkedServiceReference struct {
102816	// Type - Linked service reference type.
102817	Type *string `json:"type,omitempty"`
102818	// ReferenceName - Reference LinkedService name.
102819	ReferenceName *string `json:"referenceName,omitempty"`
102820	// Parameters - Arguments for LinkedService.
102821	Parameters map[string]interface{} `json:"parameters"`
102822}
102823
102824// MarshalJSON is the custom marshaler for LinkedServiceReference.
102825func (lsr LinkedServiceReference) MarshalJSON() ([]byte, error) {
102826	objectMap := make(map[string]interface{})
102827	if lsr.Type != nil {
102828		objectMap["type"] = lsr.Type
102829	}
102830	if lsr.ReferenceName != nil {
102831		objectMap["referenceName"] = lsr.ReferenceName
102832	}
102833	if lsr.Parameters != nil {
102834		objectMap["parameters"] = lsr.Parameters
102835	}
102836	return json.Marshal(objectMap)
102837}
102838
102839// LinkedServiceResource linked service resource type.
102840type LinkedServiceResource struct {
102841	autorest.Response `json:"-"`
102842	// Properties - Properties of linked service.
102843	Properties BasicLinkedService `json:"properties,omitempty"`
102844	// ID - READ-ONLY; The resource identifier.
102845	ID *string `json:"id,omitempty"`
102846	// Name - READ-ONLY; The resource name.
102847	Name *string `json:"name,omitempty"`
102848	// Type - READ-ONLY; The resource type.
102849	Type *string `json:"type,omitempty"`
102850	// Etag - READ-ONLY; Etag identifies change in the resource.
102851	Etag *string `json:"etag,omitempty"`
102852}
102853
102854// UnmarshalJSON is the custom unmarshaler for LinkedServiceResource struct.
102855func (lsr *LinkedServiceResource) UnmarshalJSON(body []byte) error {
102856	var m map[string]*json.RawMessage
102857	err := json.Unmarshal(body, &m)
102858	if err != nil {
102859		return err
102860	}
102861	for k, v := range m {
102862		switch k {
102863		case "properties":
102864			if v != nil {
102865				properties, err := unmarshalBasicLinkedService(*v)
102866				if err != nil {
102867					return err
102868				}
102869				lsr.Properties = properties
102870			}
102871		case "id":
102872			if v != nil {
102873				var ID string
102874				err = json.Unmarshal(*v, &ID)
102875				if err != nil {
102876					return err
102877				}
102878				lsr.ID = &ID
102879			}
102880		case "name":
102881			if v != nil {
102882				var name string
102883				err = json.Unmarshal(*v, &name)
102884				if err != nil {
102885					return err
102886				}
102887				lsr.Name = &name
102888			}
102889		case "type":
102890			if v != nil {
102891				var typeVar string
102892				err = json.Unmarshal(*v, &typeVar)
102893				if err != nil {
102894					return err
102895				}
102896				lsr.Type = &typeVar
102897			}
102898		case "etag":
102899			if v != nil {
102900				var etag string
102901				err = json.Unmarshal(*v, &etag)
102902				if err != nil {
102903					return err
102904				}
102905				lsr.Etag = &etag
102906			}
102907		}
102908	}
102909
102910	return nil
102911}
102912
102913// LogStorageSettings log storage settings.
102914type LogStorageSettings struct {
102915	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
102916	AdditionalProperties map[string]interface{} `json:""`
102917	// LinkedServiceName - Log storage linked service reference.
102918	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
102919	// Path - The path to storage for storing detailed logs of activity execution. Type: string (or Expression with resultType string).
102920	Path interface{} `json:"path,omitempty"`
102921}
102922
102923// MarshalJSON is the custom marshaler for LogStorageSettings.
102924func (lss LogStorageSettings) MarshalJSON() ([]byte, error) {
102925	objectMap := make(map[string]interface{})
102926	if lss.LinkedServiceName != nil {
102927		objectMap["linkedServiceName"] = lss.LinkedServiceName
102928	}
102929	if lss.Path != nil {
102930		objectMap["path"] = lss.Path
102931	}
102932	for k, v := range lss.AdditionalProperties {
102933		objectMap[k] = v
102934	}
102935	return json.Marshal(objectMap)
102936}
102937
102938// UnmarshalJSON is the custom unmarshaler for LogStorageSettings struct.
102939func (lss *LogStorageSettings) UnmarshalJSON(body []byte) error {
102940	var m map[string]*json.RawMessage
102941	err := json.Unmarshal(body, &m)
102942	if err != nil {
102943		return err
102944	}
102945	for k, v := range m {
102946		switch k {
102947		default:
102948			if v != nil {
102949				var additionalProperties interface{}
102950				err = json.Unmarshal(*v, &additionalProperties)
102951				if err != nil {
102952					return err
102953				}
102954				if lss.AdditionalProperties == nil {
102955					lss.AdditionalProperties = make(map[string]interface{})
102956				}
102957				lss.AdditionalProperties[k] = additionalProperties
102958			}
102959		case "linkedServiceName":
102960			if v != nil {
102961				var linkedServiceName LinkedServiceReference
102962				err = json.Unmarshal(*v, &linkedServiceName)
102963				if err != nil {
102964					return err
102965				}
102966				lss.LinkedServiceName = &linkedServiceName
102967			}
102968		case "path":
102969			if v != nil {
102970				var pathVar interface{}
102971				err = json.Unmarshal(*v, &pathVar)
102972				if err != nil {
102973					return err
102974				}
102975				lss.Path = pathVar
102976			}
102977		}
102978	}
102979
102980	return nil
102981}
102982
102983// LookupActivity lookup activity.
102984type LookupActivity struct {
102985	// LookupActivityTypeProperties - Lookup activity properties.
102986	*LookupActivityTypeProperties `json:"typeProperties,omitempty"`
102987	// LinkedServiceName - Linked service reference.
102988	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
102989	// Policy - Activity policy.
102990	Policy *ActivityPolicy `json:"policy,omitempty"`
102991	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
102992	AdditionalProperties map[string]interface{} `json:""`
102993	// Name - Activity name.
102994	Name *string `json:"name,omitempty"`
102995	// Description - Activity description.
102996	Description *string `json:"description,omitempty"`
102997	// DependsOn - Activity depends on condition.
102998	DependsOn *[]ActivityDependency `json:"dependsOn,omitempty"`
102999	// UserProperties - Activity user properties.
103000	UserProperties *[]UserProperty `json:"userProperties,omitempty"`
103001	// Type - Possible values include: 'TypeActivity', 'TypeAzureFunctionActivity', 'TypeDatabricksSparkPython', 'TypeDatabricksSparkJar', 'TypeDatabricksNotebook', 'TypeDataLakeAnalyticsUSQL', 'TypeAzureMLUpdateResource', 'TypeAzureMLBatchExecution', 'TypeGetMetadata', 'TypeWebActivity', 'TypeLookup', 'TypeAzureDataExplorerCommand', 'TypeDelete', 'TypeSQLServerStoredProcedure', 'TypeCustom', 'TypeExecuteSSISPackage', 'TypeHDInsightSpark', 'TypeHDInsightStreaming', 'TypeHDInsightMapReduce', 'TypeHDInsightPig', 'TypeHDInsightHive', 'TypeCopy', 'TypeExecution', 'TypeWebHook', 'TypeAppendVariable', 'TypeSetVariable', 'TypeFilter', 'TypeValidation', 'TypeUntil', 'TypeWait', 'TypeForEach', 'TypeIfCondition', 'TypeExecutePipeline', 'TypeContainer'
103002	Type TypeBasicActivity `json:"type,omitempty"`
103003}
103004
103005// MarshalJSON is the custom marshaler for LookupActivity.
103006func (la LookupActivity) MarshalJSON() ([]byte, error) {
103007	la.Type = TypeLookup
103008	objectMap := make(map[string]interface{})
103009	if la.LookupActivityTypeProperties != nil {
103010		objectMap["typeProperties"] = la.LookupActivityTypeProperties
103011	}
103012	if la.LinkedServiceName != nil {
103013		objectMap["linkedServiceName"] = la.LinkedServiceName
103014	}
103015	if la.Policy != nil {
103016		objectMap["policy"] = la.Policy
103017	}
103018	if la.Name != nil {
103019		objectMap["name"] = la.Name
103020	}
103021	if la.Description != nil {
103022		objectMap["description"] = la.Description
103023	}
103024	if la.DependsOn != nil {
103025		objectMap["dependsOn"] = la.DependsOn
103026	}
103027	if la.UserProperties != nil {
103028		objectMap["userProperties"] = la.UserProperties
103029	}
103030	if la.Type != "" {
103031		objectMap["type"] = la.Type
103032	}
103033	for k, v := range la.AdditionalProperties {
103034		objectMap[k] = v
103035	}
103036	return json.Marshal(objectMap)
103037}
103038
103039// AsAzureFunctionActivity is the BasicActivity implementation for LookupActivity.
103040func (la LookupActivity) AsAzureFunctionActivity() (*AzureFunctionActivity, bool) {
103041	return nil, false
103042}
103043
103044// AsDatabricksSparkPythonActivity is the BasicActivity implementation for LookupActivity.
103045func (la LookupActivity) AsDatabricksSparkPythonActivity() (*DatabricksSparkPythonActivity, bool) {
103046	return nil, false
103047}
103048
103049// AsDatabricksSparkJarActivity is the BasicActivity implementation for LookupActivity.
103050func (la LookupActivity) AsDatabricksSparkJarActivity() (*DatabricksSparkJarActivity, bool) {
103051	return nil, false
103052}
103053
103054// AsDatabricksNotebookActivity is the BasicActivity implementation for LookupActivity.
103055func (la LookupActivity) AsDatabricksNotebookActivity() (*DatabricksNotebookActivity, bool) {
103056	return nil, false
103057}
103058
103059// AsDataLakeAnalyticsUSQLActivity is the BasicActivity implementation for LookupActivity.
103060func (la LookupActivity) AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalyticsUSQLActivity, bool) {
103061	return nil, false
103062}
103063
103064// AsAzureMLUpdateResourceActivity is the BasicActivity implementation for LookupActivity.
103065func (la LookupActivity) AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool) {
103066	return nil, false
103067}
103068
103069// AsAzureMLBatchExecutionActivity is the BasicActivity implementation for LookupActivity.
103070func (la LookupActivity) AsAzureMLBatchExecutionActivity() (*AzureMLBatchExecutionActivity, bool) {
103071	return nil, false
103072}
103073
103074// AsGetMetadataActivity is the BasicActivity implementation for LookupActivity.
103075func (la LookupActivity) AsGetMetadataActivity() (*GetMetadataActivity, bool) {
103076	return nil, false
103077}
103078
103079// AsWebActivity is the BasicActivity implementation for LookupActivity.
103080func (la LookupActivity) AsWebActivity() (*WebActivity, bool) {
103081	return nil, false
103082}
103083
103084// AsLookupActivity is the BasicActivity implementation for LookupActivity.
103085func (la LookupActivity) AsLookupActivity() (*LookupActivity, bool) {
103086	return &la, true
103087}
103088
103089// AsAzureDataExplorerCommandActivity is the BasicActivity implementation for LookupActivity.
103090func (la LookupActivity) AsAzureDataExplorerCommandActivity() (*AzureDataExplorerCommandActivity, bool) {
103091	return nil, false
103092}
103093
103094// AsDeleteActivity is the BasicActivity implementation for LookupActivity.
103095func (la LookupActivity) AsDeleteActivity() (*DeleteActivity, bool) {
103096	return nil, false
103097}
103098
103099// AsSQLServerStoredProcedureActivity is the BasicActivity implementation for LookupActivity.
103100func (la LookupActivity) AsSQLServerStoredProcedureActivity() (*SQLServerStoredProcedureActivity, bool) {
103101	return nil, false
103102}
103103
103104// AsCustomActivity is the BasicActivity implementation for LookupActivity.
103105func (la LookupActivity) AsCustomActivity() (*CustomActivity, bool) {
103106	return nil, false
103107}
103108
103109// AsExecuteSSISPackageActivity is the BasicActivity implementation for LookupActivity.
103110func (la LookupActivity) AsExecuteSSISPackageActivity() (*ExecuteSSISPackageActivity, bool) {
103111	return nil, false
103112}
103113
103114// AsHDInsightSparkActivity is the BasicActivity implementation for LookupActivity.
103115func (la LookupActivity) AsHDInsightSparkActivity() (*HDInsightSparkActivity, bool) {
103116	return nil, false
103117}
103118
103119// AsHDInsightStreamingActivity is the BasicActivity implementation for LookupActivity.
103120func (la LookupActivity) AsHDInsightStreamingActivity() (*HDInsightStreamingActivity, bool) {
103121	return nil, false
103122}
103123
103124// AsHDInsightMapReduceActivity is the BasicActivity implementation for LookupActivity.
103125func (la LookupActivity) AsHDInsightMapReduceActivity() (*HDInsightMapReduceActivity, bool) {
103126	return nil, false
103127}
103128
103129// AsHDInsightPigActivity is the BasicActivity implementation for LookupActivity.
103130func (la LookupActivity) AsHDInsightPigActivity() (*HDInsightPigActivity, bool) {
103131	return nil, false
103132}
103133
103134// AsHDInsightHiveActivity is the BasicActivity implementation for LookupActivity.
103135func (la LookupActivity) AsHDInsightHiveActivity() (*HDInsightHiveActivity, bool) {
103136	return nil, false
103137}
103138
103139// AsCopyActivity is the BasicActivity implementation for LookupActivity.
103140func (la LookupActivity) AsCopyActivity() (*CopyActivity, bool) {
103141	return nil, false
103142}
103143
103144// AsExecutionActivity is the BasicActivity implementation for LookupActivity.
103145func (la LookupActivity) AsExecutionActivity() (*ExecutionActivity, bool) {
103146	return nil, false
103147}
103148
103149// AsBasicExecutionActivity is the BasicActivity implementation for LookupActivity.
103150func (la LookupActivity) AsBasicExecutionActivity() (BasicExecutionActivity, bool) {
103151	return &la, true
103152}
103153
103154// AsWebHookActivity is the BasicActivity implementation for LookupActivity.
103155func (la LookupActivity) AsWebHookActivity() (*WebHookActivity, bool) {
103156	return nil, false
103157}
103158
103159// AsAppendVariableActivity is the BasicActivity implementation for LookupActivity.
103160func (la LookupActivity) AsAppendVariableActivity() (*AppendVariableActivity, bool) {
103161	return nil, false
103162}
103163
103164// AsSetVariableActivity is the BasicActivity implementation for LookupActivity.
103165func (la LookupActivity) AsSetVariableActivity() (*SetVariableActivity, bool) {
103166	return nil, false
103167}
103168
103169// AsFilterActivity is the BasicActivity implementation for LookupActivity.
103170func (la LookupActivity) AsFilterActivity() (*FilterActivity, bool) {
103171	return nil, false
103172}
103173
103174// AsValidationActivity is the BasicActivity implementation for LookupActivity.
103175func (la LookupActivity) AsValidationActivity() (*ValidationActivity, bool) {
103176	return nil, false
103177}
103178
103179// AsUntilActivity is the BasicActivity implementation for LookupActivity.
103180func (la LookupActivity) AsUntilActivity() (*UntilActivity, bool) {
103181	return nil, false
103182}
103183
103184// AsWaitActivity is the BasicActivity implementation for LookupActivity.
103185func (la LookupActivity) AsWaitActivity() (*WaitActivity, bool) {
103186	return nil, false
103187}
103188
103189// AsForEachActivity is the BasicActivity implementation for LookupActivity.
103190func (la LookupActivity) AsForEachActivity() (*ForEachActivity, bool) {
103191	return nil, false
103192}
103193
103194// AsIfConditionActivity is the BasicActivity implementation for LookupActivity.
103195func (la LookupActivity) AsIfConditionActivity() (*IfConditionActivity, bool) {
103196	return nil, false
103197}
103198
103199// AsExecutePipelineActivity is the BasicActivity implementation for LookupActivity.
103200func (la LookupActivity) AsExecutePipelineActivity() (*ExecutePipelineActivity, bool) {
103201	return nil, false
103202}
103203
103204// AsControlActivity is the BasicActivity implementation for LookupActivity.
103205func (la LookupActivity) AsControlActivity() (*ControlActivity, bool) {
103206	return nil, false
103207}
103208
103209// AsBasicControlActivity is the BasicActivity implementation for LookupActivity.
103210func (la LookupActivity) AsBasicControlActivity() (BasicControlActivity, bool) {
103211	return nil, false
103212}
103213
103214// AsActivity is the BasicActivity implementation for LookupActivity.
103215func (la LookupActivity) AsActivity() (*Activity, bool) {
103216	return nil, false
103217}
103218
103219// AsBasicActivity is the BasicActivity implementation for LookupActivity.
103220func (la LookupActivity) AsBasicActivity() (BasicActivity, bool) {
103221	return &la, true
103222}
103223
103224// UnmarshalJSON is the custom unmarshaler for LookupActivity struct.
103225func (la *LookupActivity) UnmarshalJSON(body []byte) error {
103226	var m map[string]*json.RawMessage
103227	err := json.Unmarshal(body, &m)
103228	if err != nil {
103229		return err
103230	}
103231	for k, v := range m {
103232		switch k {
103233		case "typeProperties":
103234			if v != nil {
103235				var lookupActivityTypeProperties LookupActivityTypeProperties
103236				err = json.Unmarshal(*v, &lookupActivityTypeProperties)
103237				if err != nil {
103238					return err
103239				}
103240				la.LookupActivityTypeProperties = &lookupActivityTypeProperties
103241			}
103242		case "linkedServiceName":
103243			if v != nil {
103244				var linkedServiceName LinkedServiceReference
103245				err = json.Unmarshal(*v, &linkedServiceName)
103246				if err != nil {
103247					return err
103248				}
103249				la.LinkedServiceName = &linkedServiceName
103250			}
103251		case "policy":
103252			if v != nil {
103253				var policy ActivityPolicy
103254				err = json.Unmarshal(*v, &policy)
103255				if err != nil {
103256					return err
103257				}
103258				la.Policy = &policy
103259			}
103260		default:
103261			if v != nil {
103262				var additionalProperties interface{}
103263				err = json.Unmarshal(*v, &additionalProperties)
103264				if err != nil {
103265					return err
103266				}
103267				if la.AdditionalProperties == nil {
103268					la.AdditionalProperties = make(map[string]interface{})
103269				}
103270				la.AdditionalProperties[k] = additionalProperties
103271			}
103272		case "name":
103273			if v != nil {
103274				var name string
103275				err = json.Unmarshal(*v, &name)
103276				if err != nil {
103277					return err
103278				}
103279				la.Name = &name
103280			}
103281		case "description":
103282			if v != nil {
103283				var description string
103284				err = json.Unmarshal(*v, &description)
103285				if err != nil {
103286					return err
103287				}
103288				la.Description = &description
103289			}
103290		case "dependsOn":
103291			if v != nil {
103292				var dependsOn []ActivityDependency
103293				err = json.Unmarshal(*v, &dependsOn)
103294				if err != nil {
103295					return err
103296				}
103297				la.DependsOn = &dependsOn
103298			}
103299		case "userProperties":
103300			if v != nil {
103301				var userProperties []UserProperty
103302				err = json.Unmarshal(*v, &userProperties)
103303				if err != nil {
103304					return err
103305				}
103306				la.UserProperties = &userProperties
103307			}
103308		case "type":
103309			if v != nil {
103310				var typeVar TypeBasicActivity
103311				err = json.Unmarshal(*v, &typeVar)
103312				if err != nil {
103313					return err
103314				}
103315				la.Type = typeVar
103316			}
103317		}
103318	}
103319
103320	return nil
103321}
103322
103323// LookupActivityTypeProperties lookup activity properties.
103324type LookupActivityTypeProperties struct {
103325	// Source - Dataset-specific source properties, same as copy activity source.
103326	Source BasicCopySource `json:"source,omitempty"`
103327	// Dataset - Lookup activity dataset reference.
103328	Dataset *DatasetReference `json:"dataset,omitempty"`
103329	// FirstRowOnly - Whether to return first row or all rows. Default value is true. Type: boolean (or Expression with resultType boolean).
103330	FirstRowOnly interface{} `json:"firstRowOnly,omitempty"`
103331}
103332
103333// UnmarshalJSON is the custom unmarshaler for LookupActivityTypeProperties struct.
103334func (latp *LookupActivityTypeProperties) UnmarshalJSON(body []byte) error {
103335	var m map[string]*json.RawMessage
103336	err := json.Unmarshal(body, &m)
103337	if err != nil {
103338		return err
103339	}
103340	for k, v := range m {
103341		switch k {
103342		case "source":
103343			if v != nil {
103344				source, err := unmarshalBasicCopySource(*v)
103345				if err != nil {
103346					return err
103347				}
103348				latp.Source = source
103349			}
103350		case "dataset":
103351			if v != nil {
103352				var dataset DatasetReference
103353				err = json.Unmarshal(*v, &dataset)
103354				if err != nil {
103355					return err
103356				}
103357				latp.Dataset = &dataset
103358			}
103359		case "firstRowOnly":
103360			if v != nil {
103361				var firstRowOnly interface{}
103362				err = json.Unmarshal(*v, &firstRowOnly)
103363				if err != nil {
103364					return err
103365				}
103366				latp.FirstRowOnly = firstRowOnly
103367			}
103368		}
103369	}
103370
103371	return nil
103372}
103373
103374// MagentoLinkedService magento server linked service.
103375type MagentoLinkedService struct {
103376	// MagentoLinkedServiceTypeProperties - Magento server linked service properties.
103377	*MagentoLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
103378	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
103379	AdditionalProperties map[string]interface{} `json:""`
103380	// ConnectVia - The integration runtime reference.
103381	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
103382	// Description - Linked service description.
103383	Description *string `json:"description,omitempty"`
103384	// Parameters - Parameters for linked service.
103385	Parameters map[string]*ParameterSpecification `json:"parameters"`
103386	// Annotations - List of tags that can be used for describing the linked service.
103387	Annotations *[]interface{} `json:"annotations,omitempty"`
103388	// Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', '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', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage'
103389	Type TypeBasicLinkedService `json:"type,omitempty"`
103390}
103391
103392// MarshalJSON is the custom marshaler for MagentoLinkedService.
103393func (mls MagentoLinkedService) MarshalJSON() ([]byte, error) {
103394	mls.Type = TypeMagento
103395	objectMap := make(map[string]interface{})
103396	if mls.MagentoLinkedServiceTypeProperties != nil {
103397		objectMap["typeProperties"] = mls.MagentoLinkedServiceTypeProperties
103398	}
103399	if mls.ConnectVia != nil {
103400		objectMap["connectVia"] = mls.ConnectVia
103401	}
103402	if mls.Description != nil {
103403		objectMap["description"] = mls.Description
103404	}
103405	if mls.Parameters != nil {
103406		objectMap["parameters"] = mls.Parameters
103407	}
103408	if mls.Annotations != nil {
103409		objectMap["annotations"] = mls.Annotations
103410	}
103411	if mls.Type != "" {
103412		objectMap["type"] = mls.Type
103413	}
103414	for k, v := range mls.AdditionalProperties {
103415		objectMap[k] = v
103416	}
103417	return json.Marshal(objectMap)
103418}
103419
103420// AsAzureFunctionLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
103421func (mls MagentoLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) {
103422	return nil, false
103423}
103424
103425// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
103426func (mls MagentoLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) {
103427	return nil, false
103428}
103429
103430// AsSapTableLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
103431func (mls MagentoLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) {
103432	return nil, false
103433}
103434
103435// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
103436func (mls MagentoLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) {
103437	return nil, false
103438}
103439
103440// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
103441func (mls MagentoLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) {
103442	return nil, false
103443}
103444
103445// AsDynamicsAXLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
103446func (mls MagentoLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) {
103447	return nil, false
103448}
103449
103450// AsResponsysLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
103451func (mls MagentoLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
103452	return nil, false
103453}
103454
103455// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
103456func (mls MagentoLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
103457	return nil, false
103458}
103459
103460// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
103461func (mls MagentoLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
103462	return nil, false
103463}
103464
103465// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
103466func (mls MagentoLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
103467	return nil, false
103468}
103469
103470// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
103471func (mls MagentoLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
103472	return nil, false
103473}
103474
103475// AsNetezzaLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
103476func (mls MagentoLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
103477	return nil, false
103478}
103479
103480// AsVerticaLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
103481func (mls MagentoLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
103482	return nil, false
103483}
103484
103485// AsZohoLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
103486func (mls MagentoLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
103487	return nil, false
103488}
103489
103490// AsXeroLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
103491func (mls MagentoLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
103492	return nil, false
103493}
103494
103495// AsSquareLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
103496func (mls MagentoLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
103497	return nil, false
103498}
103499
103500// AsSparkLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
103501func (mls MagentoLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
103502	return nil, false
103503}
103504
103505// AsShopifyLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
103506func (mls MagentoLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
103507	return nil, false
103508}
103509
103510// AsServiceNowLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
103511func (mls MagentoLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
103512	return nil, false
103513}
103514
103515// AsQuickBooksLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
103516func (mls MagentoLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
103517	return nil, false
103518}
103519
103520// AsPrestoLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
103521func (mls MagentoLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
103522	return nil, false
103523}
103524
103525// AsPhoenixLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
103526func (mls MagentoLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
103527	return nil, false
103528}
103529
103530// AsPaypalLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
103531func (mls MagentoLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
103532	return nil, false
103533}
103534
103535// AsMarketoLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
103536func (mls MagentoLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
103537	return nil, false
103538}
103539
103540// AsMariaDBLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
103541func (mls MagentoLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
103542	return nil, false
103543}
103544
103545// AsMagentoLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
103546func (mls MagentoLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
103547	return &mls, true
103548}
103549
103550// AsJiraLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
103551func (mls MagentoLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
103552	return nil, false
103553}
103554
103555// AsImpalaLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
103556func (mls MagentoLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
103557	return nil, false
103558}
103559
103560// AsHubspotLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
103561func (mls MagentoLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
103562	return nil, false
103563}
103564
103565// AsHiveLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
103566func (mls MagentoLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
103567	return nil, false
103568}
103569
103570// AsHBaseLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
103571func (mls MagentoLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
103572	return nil, false
103573}
103574
103575// AsGreenplumLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
103576func (mls MagentoLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
103577	return nil, false
103578}
103579
103580// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
103581func (mls MagentoLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
103582	return nil, false
103583}
103584
103585// AsEloquaLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
103586func (mls MagentoLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
103587	return nil, false
103588}
103589
103590// AsDrillLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
103591func (mls MagentoLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
103592	return nil, false
103593}
103594
103595// AsCouchbaseLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
103596func (mls MagentoLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
103597	return nil, false
103598}
103599
103600// AsConcurLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
103601func (mls MagentoLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
103602	return nil, false
103603}
103604
103605// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
103606func (mls MagentoLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
103607	return nil, false
103608}
103609
103610// AsAmazonMWSLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
103611func (mls MagentoLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
103612	return nil, false
103613}
103614
103615// AsSapHanaLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
103616func (mls MagentoLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
103617	return nil, false
103618}
103619
103620// AsSapBWLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
103621func (mls MagentoLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
103622	return nil, false
103623}
103624
103625// AsSftpServerLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
103626func (mls MagentoLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
103627	return nil, false
103628}
103629
103630// AsFtpServerLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
103631func (mls MagentoLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
103632	return nil, false
103633}
103634
103635// AsHTTPLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
103636func (mls MagentoLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
103637	return nil, false
103638}
103639
103640// AsAzureSearchLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
103641func (mls MagentoLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
103642	return nil, false
103643}
103644
103645// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
103646func (mls MagentoLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
103647	return nil, false
103648}
103649
103650// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
103651func (mls MagentoLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
103652	return nil, false
103653}
103654
103655// AsAmazonS3LinkedService is the BasicLinkedService implementation for MagentoLinkedService.
103656func (mls MagentoLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
103657	return nil, false
103658}
103659
103660// AsRestServiceLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
103661func (mls MagentoLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) {
103662	return nil, false
103663}
103664
103665// AsSapOpenHubLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
103666func (mls MagentoLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) {
103667	return nil, false
103668}
103669
103670// AsSapEccLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
103671func (mls MagentoLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
103672	return nil, false
103673}
103674
103675// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
103676func (mls MagentoLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
103677	return nil, false
103678}
103679
103680// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
103681func (mls MagentoLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) {
103682	return nil, false
103683}
103684
103685// AsSalesforceLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
103686func (mls MagentoLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
103687	return nil, false
103688}
103689
103690// AsOffice365LinkedService is the BasicLinkedService implementation for MagentoLinkedService.
103691func (mls MagentoLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) {
103692	return nil, false
103693}
103694
103695// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
103696func (mls MagentoLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) {
103697	return nil, false
103698}
103699
103700// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
103701func (mls MagentoLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
103702	return nil, false
103703}
103704
103705// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for MagentoLinkedService.
103706func (mls MagentoLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) {
103707	return nil, false
103708}
103709
103710// AsMongoDbV2LinkedService is the BasicLinkedService implementation for MagentoLinkedService.
103711func (mls MagentoLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) {
103712	return nil, false
103713}
103714
103715// AsMongoDbLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
103716func (mls MagentoLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
103717	return nil, false
103718}
103719
103720// AsCassandraLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
103721func (mls MagentoLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
103722	return nil, false
103723}
103724
103725// AsWebLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
103726func (mls MagentoLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
103727	return nil, false
103728}
103729
103730// AsODataLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
103731func (mls MagentoLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
103732	return nil, false
103733}
103734
103735// AsHdfsLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
103736func (mls MagentoLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
103737	return nil, false
103738}
103739
103740// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
103741func (mls MagentoLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) {
103742	return nil, false
103743}
103744
103745// AsInformixLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
103746func (mls MagentoLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) {
103747	return nil, false
103748}
103749
103750// AsOdbcLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
103751func (mls MagentoLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
103752	return nil, false
103753}
103754
103755// AsAzureMLLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
103756func (mls MagentoLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
103757	return nil, false
103758}
103759
103760// AsTeradataLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
103761func (mls MagentoLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
103762	return nil, false
103763}
103764
103765// AsDb2LinkedService is the BasicLinkedService implementation for MagentoLinkedService.
103766func (mls MagentoLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
103767	return nil, false
103768}
103769
103770// AsSybaseLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
103771func (mls MagentoLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
103772	return nil, false
103773}
103774
103775// AsPostgreSQLLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
103776func (mls MagentoLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
103777	return nil, false
103778}
103779
103780// AsMySQLLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
103781func (mls MagentoLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
103782	return nil, false
103783}
103784
103785// AsAzureMySQLLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
103786func (mls MagentoLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
103787	return nil, false
103788}
103789
103790// AsOracleLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
103791func (mls MagentoLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
103792	return nil, false
103793}
103794
103795// AsFileServerLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
103796func (mls MagentoLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
103797	return nil, false
103798}
103799
103800// AsHDInsightLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
103801func (mls MagentoLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
103802	return nil, false
103803}
103804
103805// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
103806func (mls MagentoLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) {
103807	return nil, false
103808}
103809
103810// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
103811func (mls MagentoLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) {
103812	return nil, false
103813}
103814
103815// AsDynamicsLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
103816func (mls MagentoLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
103817	return nil, false
103818}
103819
103820// AsCosmosDbLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
103821func (mls MagentoLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
103822	return nil, false
103823}
103824
103825// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
103826func (mls MagentoLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
103827	return nil, false
103828}
103829
103830// AsAzureBatchLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
103831func (mls MagentoLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
103832	return nil, false
103833}
103834
103835// AsAzureSQLMILinkedService is the BasicLinkedService implementation for MagentoLinkedService.
103836func (mls MagentoLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) {
103837	return nil, false
103838}
103839
103840// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
103841func (mls MagentoLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
103842	return nil, false
103843}
103844
103845// AsSQLServerLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
103846func (mls MagentoLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
103847	return nil, false
103848}
103849
103850// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
103851func (mls MagentoLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
103852	return nil, false
103853}
103854
103855// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
103856func (mls MagentoLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) {
103857	return nil, false
103858}
103859
103860// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
103861func (mls MagentoLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) {
103862	return nil, false
103863}
103864
103865// AsAzureStorageLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
103866func (mls MagentoLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
103867	return nil, false
103868}
103869
103870// AsLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
103871func (mls MagentoLinkedService) AsLinkedService() (*LinkedService, bool) {
103872	return nil, false
103873}
103874
103875// AsBasicLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
103876func (mls MagentoLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
103877	return &mls, true
103878}
103879
103880// UnmarshalJSON is the custom unmarshaler for MagentoLinkedService struct.
103881func (mls *MagentoLinkedService) UnmarshalJSON(body []byte) error {
103882	var m map[string]*json.RawMessage
103883	err := json.Unmarshal(body, &m)
103884	if err != nil {
103885		return err
103886	}
103887	for k, v := range m {
103888		switch k {
103889		case "typeProperties":
103890			if v != nil {
103891				var magentoLinkedServiceTypeProperties MagentoLinkedServiceTypeProperties
103892				err = json.Unmarshal(*v, &magentoLinkedServiceTypeProperties)
103893				if err != nil {
103894					return err
103895				}
103896				mls.MagentoLinkedServiceTypeProperties = &magentoLinkedServiceTypeProperties
103897			}
103898		default:
103899			if v != nil {
103900				var additionalProperties interface{}
103901				err = json.Unmarshal(*v, &additionalProperties)
103902				if err != nil {
103903					return err
103904				}
103905				if mls.AdditionalProperties == nil {
103906					mls.AdditionalProperties = make(map[string]interface{})
103907				}
103908				mls.AdditionalProperties[k] = additionalProperties
103909			}
103910		case "connectVia":
103911			if v != nil {
103912				var connectVia IntegrationRuntimeReference
103913				err = json.Unmarshal(*v, &connectVia)
103914				if err != nil {
103915					return err
103916				}
103917				mls.ConnectVia = &connectVia
103918			}
103919		case "description":
103920			if v != nil {
103921				var description string
103922				err = json.Unmarshal(*v, &description)
103923				if err != nil {
103924					return err
103925				}
103926				mls.Description = &description
103927			}
103928		case "parameters":
103929			if v != nil {
103930				var parameters map[string]*ParameterSpecification
103931				err = json.Unmarshal(*v, &parameters)
103932				if err != nil {
103933					return err
103934				}
103935				mls.Parameters = parameters
103936			}
103937		case "annotations":
103938			if v != nil {
103939				var annotations []interface{}
103940				err = json.Unmarshal(*v, &annotations)
103941				if err != nil {
103942					return err
103943				}
103944				mls.Annotations = &annotations
103945			}
103946		case "type":
103947			if v != nil {
103948				var typeVar TypeBasicLinkedService
103949				err = json.Unmarshal(*v, &typeVar)
103950				if err != nil {
103951					return err
103952				}
103953				mls.Type = typeVar
103954			}
103955		}
103956	}
103957
103958	return nil
103959}
103960
103961// MagentoLinkedServiceTypeProperties magento server linked service properties.
103962type MagentoLinkedServiceTypeProperties struct {
103963	// Host - The URL of the Magento instance. (i.e. 192.168.222.110/magento3)
103964	Host interface{} `json:"host,omitempty"`
103965	// AccessToken - The access token from Magento.
103966	AccessToken BasicSecretBase `json:"accessToken,omitempty"`
103967	// UseEncryptedEndpoints - Specifies whether the data source endpoints are encrypted using HTTPS. The default value is true.
103968	UseEncryptedEndpoints interface{} `json:"useEncryptedEndpoints,omitempty"`
103969	// 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.
103970	UseHostVerification interface{} `json:"useHostVerification,omitempty"`
103971	// UsePeerVerification - Specifies whether to verify the identity of the server when connecting over SSL. The default value is true.
103972	UsePeerVerification interface{} `json:"usePeerVerification,omitempty"`
103973	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
103974	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
103975}
103976
103977// UnmarshalJSON is the custom unmarshaler for MagentoLinkedServiceTypeProperties struct.
103978func (mlstp *MagentoLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
103979	var m map[string]*json.RawMessage
103980	err := json.Unmarshal(body, &m)
103981	if err != nil {
103982		return err
103983	}
103984	for k, v := range m {
103985		switch k {
103986		case "host":
103987			if v != nil {
103988				var host interface{}
103989				err = json.Unmarshal(*v, &host)
103990				if err != nil {
103991					return err
103992				}
103993				mlstp.Host = host
103994			}
103995		case "accessToken":
103996			if v != nil {
103997				accessToken, err := unmarshalBasicSecretBase(*v)
103998				if err != nil {
103999					return err
104000				}
104001				mlstp.AccessToken = accessToken
104002			}
104003		case "useEncryptedEndpoints":
104004			if v != nil {
104005				var useEncryptedEndpoints interface{}
104006				err = json.Unmarshal(*v, &useEncryptedEndpoints)
104007				if err != nil {
104008					return err
104009				}
104010				mlstp.UseEncryptedEndpoints = useEncryptedEndpoints
104011			}
104012		case "useHostVerification":
104013			if v != nil {
104014				var useHostVerification interface{}
104015				err = json.Unmarshal(*v, &useHostVerification)
104016				if err != nil {
104017					return err
104018				}
104019				mlstp.UseHostVerification = useHostVerification
104020			}
104021		case "usePeerVerification":
104022			if v != nil {
104023				var usePeerVerification interface{}
104024				err = json.Unmarshal(*v, &usePeerVerification)
104025				if err != nil {
104026					return err
104027				}
104028				mlstp.UsePeerVerification = usePeerVerification
104029			}
104030		case "encryptedCredential":
104031			if v != nil {
104032				var encryptedCredential interface{}
104033				err = json.Unmarshal(*v, &encryptedCredential)
104034				if err != nil {
104035					return err
104036				}
104037				mlstp.EncryptedCredential = encryptedCredential
104038			}
104039		}
104040	}
104041
104042	return nil
104043}
104044
104045// MagentoObjectDataset magento server dataset.
104046type MagentoObjectDataset struct {
104047	// GenericDatasetTypeProperties - Properties specific to this dataset type.
104048	*GenericDatasetTypeProperties `json:"typeProperties,omitempty"`
104049	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
104050	AdditionalProperties map[string]interface{} `json:""`
104051	// Description - Dataset description.
104052	Description *string `json:"description,omitempty"`
104053	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
104054	Structure interface{} `json:"structure,omitempty"`
104055	// Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement.
104056	Schema interface{} `json:"schema,omitempty"`
104057	// LinkedServiceName - Linked service reference.
104058	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
104059	// Parameters - Parameters for dataset.
104060	Parameters map[string]*ParameterSpecification `json:"parameters"`
104061	// Annotations - List of tags that can be used for describing the Dataset.
104062	Annotations *[]interface{} `json:"annotations,omitempty"`
104063	// Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level.
104064	Folder *DatasetFolder `json:"folder,omitempty"`
104065	// Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', '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', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeDelimitedText', 'TypeParquet', 'TypeAmazonS3Object'
104066	Type TypeBasicDataset `json:"type,omitempty"`
104067}
104068
104069// MarshalJSON is the custom marshaler for MagentoObjectDataset.
104070func (mod MagentoObjectDataset) MarshalJSON() ([]byte, error) {
104071	mod.Type = TypeMagentoObject
104072	objectMap := make(map[string]interface{})
104073	if mod.GenericDatasetTypeProperties != nil {
104074		objectMap["typeProperties"] = mod.GenericDatasetTypeProperties
104075	}
104076	if mod.Description != nil {
104077		objectMap["description"] = mod.Description
104078	}
104079	if mod.Structure != nil {
104080		objectMap["structure"] = mod.Structure
104081	}
104082	if mod.Schema != nil {
104083		objectMap["schema"] = mod.Schema
104084	}
104085	if mod.LinkedServiceName != nil {
104086		objectMap["linkedServiceName"] = mod.LinkedServiceName
104087	}
104088	if mod.Parameters != nil {
104089		objectMap["parameters"] = mod.Parameters
104090	}
104091	if mod.Annotations != nil {
104092		objectMap["annotations"] = mod.Annotations
104093	}
104094	if mod.Folder != nil {
104095		objectMap["folder"] = mod.Folder
104096	}
104097	if mod.Type != "" {
104098		objectMap["type"] = mod.Type
104099	}
104100	for k, v := range mod.AdditionalProperties {
104101		objectMap[k] = v
104102	}
104103	return json.Marshal(objectMap)
104104}
104105
104106// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for MagentoObjectDataset.
104107func (mod MagentoObjectDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) {
104108	return nil, false
104109}
104110
104111// AsAzureDataExplorerTableDataset is the BasicDataset implementation for MagentoObjectDataset.
104112func (mod MagentoObjectDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) {
104113	return nil, false
104114}
104115
104116// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for MagentoObjectDataset.
104117func (mod MagentoObjectDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) {
104118	return nil, false
104119}
104120
104121// AsDynamicsAXResourceDataset is the BasicDataset implementation for MagentoObjectDataset.
104122func (mod MagentoObjectDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) {
104123	return nil, false
104124}
104125
104126// AsResponsysObjectDataset is the BasicDataset implementation for MagentoObjectDataset.
104127func (mod MagentoObjectDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
104128	return nil, false
104129}
104130
104131// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for MagentoObjectDataset.
104132func (mod MagentoObjectDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
104133	return nil, false
104134}
104135
104136// AsVerticaTableDataset is the BasicDataset implementation for MagentoObjectDataset.
104137func (mod MagentoObjectDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
104138	return nil, false
104139}
104140
104141// AsNetezzaTableDataset is the BasicDataset implementation for MagentoObjectDataset.
104142func (mod MagentoObjectDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
104143	return nil, false
104144}
104145
104146// AsZohoObjectDataset is the BasicDataset implementation for MagentoObjectDataset.
104147func (mod MagentoObjectDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
104148	return nil, false
104149}
104150
104151// AsXeroObjectDataset is the BasicDataset implementation for MagentoObjectDataset.
104152func (mod MagentoObjectDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
104153	return nil, false
104154}
104155
104156// AsSquareObjectDataset is the BasicDataset implementation for MagentoObjectDataset.
104157func (mod MagentoObjectDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
104158	return nil, false
104159}
104160
104161// AsSparkObjectDataset is the BasicDataset implementation for MagentoObjectDataset.
104162func (mod MagentoObjectDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
104163	return nil, false
104164}
104165
104166// AsShopifyObjectDataset is the BasicDataset implementation for MagentoObjectDataset.
104167func (mod MagentoObjectDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
104168	return nil, false
104169}
104170
104171// AsServiceNowObjectDataset is the BasicDataset implementation for MagentoObjectDataset.
104172func (mod MagentoObjectDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
104173	return nil, false
104174}
104175
104176// AsQuickBooksObjectDataset is the BasicDataset implementation for MagentoObjectDataset.
104177func (mod MagentoObjectDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
104178	return nil, false
104179}
104180
104181// AsPrestoObjectDataset is the BasicDataset implementation for MagentoObjectDataset.
104182func (mod MagentoObjectDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
104183	return nil, false
104184}
104185
104186// AsPhoenixObjectDataset is the BasicDataset implementation for MagentoObjectDataset.
104187func (mod MagentoObjectDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
104188	return nil, false
104189}
104190
104191// AsPaypalObjectDataset is the BasicDataset implementation for MagentoObjectDataset.
104192func (mod MagentoObjectDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
104193	return nil, false
104194}
104195
104196// AsMarketoObjectDataset is the BasicDataset implementation for MagentoObjectDataset.
104197func (mod MagentoObjectDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
104198	return nil, false
104199}
104200
104201// AsMariaDBTableDataset is the BasicDataset implementation for MagentoObjectDataset.
104202func (mod MagentoObjectDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
104203	return nil, false
104204}
104205
104206// AsMagentoObjectDataset is the BasicDataset implementation for MagentoObjectDataset.
104207func (mod MagentoObjectDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
104208	return &mod, true
104209}
104210
104211// AsJiraObjectDataset is the BasicDataset implementation for MagentoObjectDataset.
104212func (mod MagentoObjectDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
104213	return nil, false
104214}
104215
104216// AsImpalaObjectDataset is the BasicDataset implementation for MagentoObjectDataset.
104217func (mod MagentoObjectDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
104218	return nil, false
104219}
104220
104221// AsHubspotObjectDataset is the BasicDataset implementation for MagentoObjectDataset.
104222func (mod MagentoObjectDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
104223	return nil, false
104224}
104225
104226// AsHiveObjectDataset is the BasicDataset implementation for MagentoObjectDataset.
104227func (mod MagentoObjectDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
104228	return nil, false
104229}
104230
104231// AsHBaseObjectDataset is the BasicDataset implementation for MagentoObjectDataset.
104232func (mod MagentoObjectDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
104233	return nil, false
104234}
104235
104236// AsGreenplumTableDataset is the BasicDataset implementation for MagentoObjectDataset.
104237func (mod MagentoObjectDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
104238	return nil, false
104239}
104240
104241// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for MagentoObjectDataset.
104242func (mod MagentoObjectDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
104243	return nil, false
104244}
104245
104246// AsEloquaObjectDataset is the BasicDataset implementation for MagentoObjectDataset.
104247func (mod MagentoObjectDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
104248	return nil, false
104249}
104250
104251// AsDrillTableDataset is the BasicDataset implementation for MagentoObjectDataset.
104252func (mod MagentoObjectDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
104253	return nil, false
104254}
104255
104256// AsCouchbaseTableDataset is the BasicDataset implementation for MagentoObjectDataset.
104257func (mod MagentoObjectDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
104258	return nil, false
104259}
104260
104261// AsConcurObjectDataset is the BasicDataset implementation for MagentoObjectDataset.
104262func (mod MagentoObjectDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
104263	return nil, false
104264}
104265
104266// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for MagentoObjectDataset.
104267func (mod MagentoObjectDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
104268	return nil, false
104269}
104270
104271// AsAmazonMWSObjectDataset is the BasicDataset implementation for MagentoObjectDataset.
104272func (mod MagentoObjectDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
104273	return nil, false
104274}
104275
104276// AsHTTPDataset is the BasicDataset implementation for MagentoObjectDataset.
104277func (mod MagentoObjectDataset) AsHTTPDataset() (*HTTPDataset, bool) {
104278	return nil, false
104279}
104280
104281// AsAzureSearchIndexDataset is the BasicDataset implementation for MagentoObjectDataset.
104282func (mod MagentoObjectDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
104283	return nil, false
104284}
104285
104286// AsWebTableDataset is the BasicDataset implementation for MagentoObjectDataset.
104287func (mod MagentoObjectDataset) AsWebTableDataset() (*WebTableDataset, bool) {
104288	return nil, false
104289}
104290
104291// AsSapTableResourceDataset is the BasicDataset implementation for MagentoObjectDataset.
104292func (mod MagentoObjectDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) {
104293	return nil, false
104294}
104295
104296// AsRestResourceDataset is the BasicDataset implementation for MagentoObjectDataset.
104297func (mod MagentoObjectDataset) AsRestResourceDataset() (*RestResourceDataset, bool) {
104298	return nil, false
104299}
104300
104301// AsSQLServerTableDataset is the BasicDataset implementation for MagentoObjectDataset.
104302func (mod MagentoObjectDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
104303	return nil, false
104304}
104305
104306// AsSapOpenHubTableDataset is the BasicDataset implementation for MagentoObjectDataset.
104307func (mod MagentoObjectDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) {
104308	return nil, false
104309}
104310
104311// AsSapHanaTableDataset is the BasicDataset implementation for MagentoObjectDataset.
104312func (mod MagentoObjectDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) {
104313	return nil, false
104314}
104315
104316// AsSapEccResourceDataset is the BasicDataset implementation for MagentoObjectDataset.
104317func (mod MagentoObjectDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
104318	return nil, false
104319}
104320
104321// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for MagentoObjectDataset.
104322func (mod MagentoObjectDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
104323	return nil, false
104324}
104325
104326// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for MagentoObjectDataset.
104327func (mod MagentoObjectDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) {
104328	return nil, false
104329}
104330
104331// AsSalesforceObjectDataset is the BasicDataset implementation for MagentoObjectDataset.
104332func (mod MagentoObjectDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
104333	return nil, false
104334}
104335
104336// AsMicrosoftAccessTableDataset is the BasicDataset implementation for MagentoObjectDataset.
104337func (mod MagentoObjectDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) {
104338	return nil, false
104339}
104340
104341// AsPostgreSQLTableDataset is the BasicDataset implementation for MagentoObjectDataset.
104342func (mod MagentoObjectDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) {
104343	return nil, false
104344}
104345
104346// AsMySQLTableDataset is the BasicDataset implementation for MagentoObjectDataset.
104347func (mod MagentoObjectDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) {
104348	return nil, false
104349}
104350
104351// AsOdbcTableDataset is the BasicDataset implementation for MagentoObjectDataset.
104352func (mod MagentoObjectDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) {
104353	return nil, false
104354}
104355
104356// AsInformixTableDataset is the BasicDataset implementation for MagentoObjectDataset.
104357func (mod MagentoObjectDataset) AsInformixTableDataset() (*InformixTableDataset, bool) {
104358	return nil, false
104359}
104360
104361// AsRelationalTableDataset is the BasicDataset implementation for MagentoObjectDataset.
104362func (mod MagentoObjectDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
104363	return nil, false
104364}
104365
104366// AsAzureMySQLTableDataset is the BasicDataset implementation for MagentoObjectDataset.
104367func (mod MagentoObjectDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
104368	return nil, false
104369}
104370
104371// AsTeradataTableDataset is the BasicDataset implementation for MagentoObjectDataset.
104372func (mod MagentoObjectDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) {
104373	return nil, false
104374}
104375
104376// AsOracleTableDataset is the BasicDataset implementation for MagentoObjectDataset.
104377func (mod MagentoObjectDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
104378	return nil, false
104379}
104380
104381// AsODataResourceDataset is the BasicDataset implementation for MagentoObjectDataset.
104382func (mod MagentoObjectDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
104383	return nil, false
104384}
104385
104386// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for MagentoObjectDataset.
104387func (mod MagentoObjectDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) {
104388	return nil, false
104389}
104390
104391// AsMongoDbV2CollectionDataset is the BasicDataset implementation for MagentoObjectDataset.
104392func (mod MagentoObjectDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) {
104393	return nil, false
104394}
104395
104396// AsMongoDbCollectionDataset is the BasicDataset implementation for MagentoObjectDataset.
104397func (mod MagentoObjectDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
104398	return nil, false
104399}
104400
104401// AsFileShareDataset is the BasicDataset implementation for MagentoObjectDataset.
104402func (mod MagentoObjectDataset) AsFileShareDataset() (*FileShareDataset, bool) {
104403	return nil, false
104404}
104405
104406// AsOffice365Dataset is the BasicDataset implementation for MagentoObjectDataset.
104407func (mod MagentoObjectDataset) AsOffice365Dataset() (*Office365Dataset, bool) {
104408	return nil, false
104409}
104410
104411// AsAzureBlobFSDataset is the BasicDataset implementation for MagentoObjectDataset.
104412func (mod MagentoObjectDataset) AsAzureBlobFSDataset() (*AzureBlobFSDataset, bool) {
104413	return nil, false
104414}
104415
104416// AsAzureDataLakeStoreDataset is the BasicDataset implementation for MagentoObjectDataset.
104417func (mod MagentoObjectDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) {
104418	return nil, false
104419}
104420
104421// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for MagentoObjectDataset.
104422func (mod MagentoObjectDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) {
104423	return nil, false
104424}
104425
104426// AsDynamicsCrmEntityDataset is the BasicDataset implementation for MagentoObjectDataset.
104427func (mod MagentoObjectDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) {
104428	return nil, false
104429}
104430
104431// AsDynamicsEntityDataset is the BasicDataset implementation for MagentoObjectDataset.
104432func (mod MagentoObjectDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
104433	return nil, false
104434}
104435
104436// AsDocumentDbCollectionDataset is the BasicDataset implementation for MagentoObjectDataset.
104437func (mod MagentoObjectDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
104438	return nil, false
104439}
104440
104441// AsCustomDataset is the BasicDataset implementation for MagentoObjectDataset.
104442func (mod MagentoObjectDataset) AsCustomDataset() (*CustomDataset, bool) {
104443	return nil, false
104444}
104445
104446// AsCassandraTableDataset is the BasicDataset implementation for MagentoObjectDataset.
104447func (mod MagentoObjectDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
104448	return nil, false
104449}
104450
104451// AsAzureSQLDWTableDataset is the BasicDataset implementation for MagentoObjectDataset.
104452func (mod MagentoObjectDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
104453	return nil, false
104454}
104455
104456// AsAzureSQLMITableDataset is the BasicDataset implementation for MagentoObjectDataset.
104457func (mod MagentoObjectDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) {
104458	return nil, false
104459}
104460
104461// AsAzureSQLTableDataset is the BasicDataset implementation for MagentoObjectDataset.
104462func (mod MagentoObjectDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
104463	return nil, false
104464}
104465
104466// AsAzureTableDataset is the BasicDataset implementation for MagentoObjectDataset.
104467func (mod MagentoObjectDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
104468	return nil, false
104469}
104470
104471// AsAzureBlobDataset is the BasicDataset implementation for MagentoObjectDataset.
104472func (mod MagentoObjectDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) {
104473	return nil, false
104474}
104475
104476// AsBinaryDataset is the BasicDataset implementation for MagentoObjectDataset.
104477func (mod MagentoObjectDataset) AsBinaryDataset() (*BinaryDataset, bool) {
104478	return nil, false
104479}
104480
104481// AsDelimitedTextDataset is the BasicDataset implementation for MagentoObjectDataset.
104482func (mod MagentoObjectDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) {
104483	return nil, false
104484}
104485
104486// AsParquetDataset is the BasicDataset implementation for MagentoObjectDataset.
104487func (mod MagentoObjectDataset) AsParquetDataset() (*ParquetDataset, bool) {
104488	return nil, false
104489}
104490
104491// AsAmazonS3Dataset is the BasicDataset implementation for MagentoObjectDataset.
104492func (mod MagentoObjectDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) {
104493	return nil, false
104494}
104495
104496// AsDataset is the BasicDataset implementation for MagentoObjectDataset.
104497func (mod MagentoObjectDataset) AsDataset() (*Dataset, bool) {
104498	return nil, false
104499}
104500
104501// AsBasicDataset is the BasicDataset implementation for MagentoObjectDataset.
104502func (mod MagentoObjectDataset) AsBasicDataset() (BasicDataset, bool) {
104503	return &mod, true
104504}
104505
104506// UnmarshalJSON is the custom unmarshaler for MagentoObjectDataset struct.
104507func (mod *MagentoObjectDataset) UnmarshalJSON(body []byte) error {
104508	var m map[string]*json.RawMessage
104509	err := json.Unmarshal(body, &m)
104510	if err != nil {
104511		return err
104512	}
104513	for k, v := range m {
104514		switch k {
104515		case "typeProperties":
104516			if v != nil {
104517				var genericDatasetTypeProperties GenericDatasetTypeProperties
104518				err = json.Unmarshal(*v, &genericDatasetTypeProperties)
104519				if err != nil {
104520					return err
104521				}
104522				mod.GenericDatasetTypeProperties = &genericDatasetTypeProperties
104523			}
104524		default:
104525			if v != nil {
104526				var additionalProperties interface{}
104527				err = json.Unmarshal(*v, &additionalProperties)
104528				if err != nil {
104529					return err
104530				}
104531				if mod.AdditionalProperties == nil {
104532					mod.AdditionalProperties = make(map[string]interface{})
104533				}
104534				mod.AdditionalProperties[k] = additionalProperties
104535			}
104536		case "description":
104537			if v != nil {
104538				var description string
104539				err = json.Unmarshal(*v, &description)
104540				if err != nil {
104541					return err
104542				}
104543				mod.Description = &description
104544			}
104545		case "structure":
104546			if v != nil {
104547				var structure interface{}
104548				err = json.Unmarshal(*v, &structure)
104549				if err != nil {
104550					return err
104551				}
104552				mod.Structure = structure
104553			}
104554		case "schema":
104555			if v != nil {
104556				var schema interface{}
104557				err = json.Unmarshal(*v, &schema)
104558				if err != nil {
104559					return err
104560				}
104561				mod.Schema = schema
104562			}
104563		case "linkedServiceName":
104564			if v != nil {
104565				var linkedServiceName LinkedServiceReference
104566				err = json.Unmarshal(*v, &linkedServiceName)
104567				if err != nil {
104568					return err
104569				}
104570				mod.LinkedServiceName = &linkedServiceName
104571			}
104572		case "parameters":
104573			if v != nil {
104574				var parameters map[string]*ParameterSpecification
104575				err = json.Unmarshal(*v, &parameters)
104576				if err != nil {
104577					return err
104578				}
104579				mod.Parameters = parameters
104580			}
104581		case "annotations":
104582			if v != nil {
104583				var annotations []interface{}
104584				err = json.Unmarshal(*v, &annotations)
104585				if err != nil {
104586					return err
104587				}
104588				mod.Annotations = &annotations
104589			}
104590		case "folder":
104591			if v != nil {
104592				var folder DatasetFolder
104593				err = json.Unmarshal(*v, &folder)
104594				if err != nil {
104595					return err
104596				}
104597				mod.Folder = &folder
104598			}
104599		case "type":
104600			if v != nil {
104601				var typeVar TypeBasicDataset
104602				err = json.Unmarshal(*v, &typeVar)
104603				if err != nil {
104604					return err
104605				}
104606				mod.Type = typeVar
104607			}
104608		}
104609	}
104610
104611	return nil
104612}
104613
104614// MagentoSource a copy activity Magento server source.
104615type MagentoSource struct {
104616	// Query - A query to retrieve data from source. Type: string (or Expression with resultType string).
104617	Query interface{} `json:"query,omitempty"`
104618	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
104619	AdditionalProperties map[string]interface{} `json:""`
104620	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
104621	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
104622	// 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])).
104623	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
104624	// MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer).
104625	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
104626	// Type - Possible values include: 'TypeCopySource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', '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', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeCassandraSource', 'TypeWebSource', 'TypeTeradataSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeAzureMySQLSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeRestSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceServiceCloudSource', 'TypeSalesforceSource', 'TypeODataSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeMicrosoftAccessSource', 'TypeInformixSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAzureTableSource', 'TypeBinarySource', 'TypeDelimitedTextSource', 'TypeParquetSource'
104627	Type TypeBasicCopySource `json:"type,omitempty"`
104628}
104629
104630// MarshalJSON is the custom marshaler for MagentoSource.
104631func (ms MagentoSource) MarshalJSON() ([]byte, error) {
104632	ms.Type = TypeMagentoSource
104633	objectMap := make(map[string]interface{})
104634	if ms.Query != nil {
104635		objectMap["query"] = ms.Query
104636	}
104637	if ms.SourceRetryCount != nil {
104638		objectMap["sourceRetryCount"] = ms.SourceRetryCount
104639	}
104640	if ms.SourceRetryWait != nil {
104641		objectMap["sourceRetryWait"] = ms.SourceRetryWait
104642	}
104643	if ms.MaxConcurrentConnections != nil {
104644		objectMap["maxConcurrentConnections"] = ms.MaxConcurrentConnections
104645	}
104646	if ms.Type != "" {
104647		objectMap["type"] = ms.Type
104648	}
104649	for k, v := range ms.AdditionalProperties {
104650		objectMap[k] = v
104651	}
104652	return json.Marshal(objectMap)
104653}
104654
104655// AsAmazonRedshiftSource is the BasicCopySource implementation for MagentoSource.
104656func (ms MagentoSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
104657	return nil, false
104658}
104659
104660// AsGoogleAdWordsSource is the BasicCopySource implementation for MagentoSource.
104661func (ms MagentoSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) {
104662	return nil, false
104663}
104664
104665// AsOracleServiceCloudSource is the BasicCopySource implementation for MagentoSource.
104666func (ms MagentoSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) {
104667	return nil, false
104668}
104669
104670// AsDynamicsAXSource is the BasicCopySource implementation for MagentoSource.
104671func (ms MagentoSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) {
104672	return nil, false
104673}
104674
104675// AsResponsysSource is the BasicCopySource implementation for MagentoSource.
104676func (ms MagentoSource) AsResponsysSource() (*ResponsysSource, bool) {
104677	return nil, false
104678}
104679
104680// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for MagentoSource.
104681func (ms MagentoSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
104682	return nil, false
104683}
104684
104685// AsVerticaSource is the BasicCopySource implementation for MagentoSource.
104686func (ms MagentoSource) AsVerticaSource() (*VerticaSource, bool) {
104687	return nil, false
104688}
104689
104690// AsNetezzaSource is the BasicCopySource implementation for MagentoSource.
104691func (ms MagentoSource) AsNetezzaSource() (*NetezzaSource, bool) {
104692	return nil, false
104693}
104694
104695// AsZohoSource is the BasicCopySource implementation for MagentoSource.
104696func (ms MagentoSource) AsZohoSource() (*ZohoSource, bool) {
104697	return nil, false
104698}
104699
104700// AsXeroSource is the BasicCopySource implementation for MagentoSource.
104701func (ms MagentoSource) AsXeroSource() (*XeroSource, bool) {
104702	return nil, false
104703}
104704
104705// AsSquareSource is the BasicCopySource implementation for MagentoSource.
104706func (ms MagentoSource) AsSquareSource() (*SquareSource, bool) {
104707	return nil, false
104708}
104709
104710// AsSparkSource is the BasicCopySource implementation for MagentoSource.
104711func (ms MagentoSource) AsSparkSource() (*SparkSource, bool) {
104712	return nil, false
104713}
104714
104715// AsShopifySource is the BasicCopySource implementation for MagentoSource.
104716func (ms MagentoSource) AsShopifySource() (*ShopifySource, bool) {
104717	return nil, false
104718}
104719
104720// AsServiceNowSource is the BasicCopySource implementation for MagentoSource.
104721func (ms MagentoSource) AsServiceNowSource() (*ServiceNowSource, bool) {
104722	return nil, false
104723}
104724
104725// AsQuickBooksSource is the BasicCopySource implementation for MagentoSource.
104726func (ms MagentoSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
104727	return nil, false
104728}
104729
104730// AsPrestoSource is the BasicCopySource implementation for MagentoSource.
104731func (ms MagentoSource) AsPrestoSource() (*PrestoSource, bool) {
104732	return nil, false
104733}
104734
104735// AsPhoenixSource is the BasicCopySource implementation for MagentoSource.
104736func (ms MagentoSource) AsPhoenixSource() (*PhoenixSource, bool) {
104737	return nil, false
104738}
104739
104740// AsPaypalSource is the BasicCopySource implementation for MagentoSource.
104741func (ms MagentoSource) AsPaypalSource() (*PaypalSource, bool) {
104742	return nil, false
104743}
104744
104745// AsMarketoSource is the BasicCopySource implementation for MagentoSource.
104746func (ms MagentoSource) AsMarketoSource() (*MarketoSource, bool) {
104747	return nil, false
104748}
104749
104750// AsMariaDBSource is the BasicCopySource implementation for MagentoSource.
104751func (ms MagentoSource) AsMariaDBSource() (*MariaDBSource, bool) {
104752	return nil, false
104753}
104754
104755// AsMagentoSource is the BasicCopySource implementation for MagentoSource.
104756func (ms MagentoSource) AsMagentoSource() (*MagentoSource, bool) {
104757	return &ms, true
104758}
104759
104760// AsJiraSource is the BasicCopySource implementation for MagentoSource.
104761func (ms MagentoSource) AsJiraSource() (*JiraSource, bool) {
104762	return nil, false
104763}
104764
104765// AsImpalaSource is the BasicCopySource implementation for MagentoSource.
104766func (ms MagentoSource) AsImpalaSource() (*ImpalaSource, bool) {
104767	return nil, false
104768}
104769
104770// AsHubspotSource is the BasicCopySource implementation for MagentoSource.
104771func (ms MagentoSource) AsHubspotSource() (*HubspotSource, bool) {
104772	return nil, false
104773}
104774
104775// AsHiveSource is the BasicCopySource implementation for MagentoSource.
104776func (ms MagentoSource) AsHiveSource() (*HiveSource, bool) {
104777	return nil, false
104778}
104779
104780// AsHBaseSource is the BasicCopySource implementation for MagentoSource.
104781func (ms MagentoSource) AsHBaseSource() (*HBaseSource, bool) {
104782	return nil, false
104783}
104784
104785// AsGreenplumSource is the BasicCopySource implementation for MagentoSource.
104786func (ms MagentoSource) AsGreenplumSource() (*GreenplumSource, bool) {
104787	return nil, false
104788}
104789
104790// AsGoogleBigQuerySource is the BasicCopySource implementation for MagentoSource.
104791func (ms MagentoSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
104792	return nil, false
104793}
104794
104795// AsEloquaSource is the BasicCopySource implementation for MagentoSource.
104796func (ms MagentoSource) AsEloquaSource() (*EloquaSource, bool) {
104797	return nil, false
104798}
104799
104800// AsDrillSource is the BasicCopySource implementation for MagentoSource.
104801func (ms MagentoSource) AsDrillSource() (*DrillSource, bool) {
104802	return nil, false
104803}
104804
104805// AsCouchbaseSource is the BasicCopySource implementation for MagentoSource.
104806func (ms MagentoSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
104807	return nil, false
104808}
104809
104810// AsConcurSource is the BasicCopySource implementation for MagentoSource.
104811func (ms MagentoSource) AsConcurSource() (*ConcurSource, bool) {
104812	return nil, false
104813}
104814
104815// AsAzurePostgreSQLSource is the BasicCopySource implementation for MagentoSource.
104816func (ms MagentoSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
104817	return nil, false
104818}
104819
104820// AsAmazonMWSSource is the BasicCopySource implementation for MagentoSource.
104821func (ms MagentoSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
104822	return nil, false
104823}
104824
104825// AsHTTPSource is the BasicCopySource implementation for MagentoSource.
104826func (ms MagentoSource) AsHTTPSource() (*HTTPSource, bool) {
104827	return nil, false
104828}
104829
104830// AsAzureBlobFSSource is the BasicCopySource implementation for MagentoSource.
104831func (ms MagentoSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) {
104832	return nil, false
104833}
104834
104835// AsAzureDataLakeStoreSource is the BasicCopySource implementation for MagentoSource.
104836func (ms MagentoSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
104837	return nil, false
104838}
104839
104840// AsOffice365Source is the BasicCopySource implementation for MagentoSource.
104841func (ms MagentoSource) AsOffice365Source() (*Office365Source, bool) {
104842	return nil, false
104843}
104844
104845// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for MagentoSource.
104846func (ms MagentoSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) {
104847	return nil, false
104848}
104849
104850// AsMongoDbV2Source is the BasicCopySource implementation for MagentoSource.
104851func (ms MagentoSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) {
104852	return nil, false
104853}
104854
104855// AsMongoDbSource is the BasicCopySource implementation for MagentoSource.
104856func (ms MagentoSource) AsMongoDbSource() (*MongoDbSource, bool) {
104857	return nil, false
104858}
104859
104860// AsCassandraSource is the BasicCopySource implementation for MagentoSource.
104861func (ms MagentoSource) AsCassandraSource() (*CassandraSource, bool) {
104862	return nil, false
104863}
104864
104865// AsWebSource is the BasicCopySource implementation for MagentoSource.
104866func (ms MagentoSource) AsWebSource() (*WebSource, bool) {
104867	return nil, false
104868}
104869
104870// AsTeradataSource is the BasicCopySource implementation for MagentoSource.
104871func (ms MagentoSource) AsTeradataSource() (*TeradataSource, bool) {
104872	return nil, false
104873}
104874
104875// AsOracleSource is the BasicCopySource implementation for MagentoSource.
104876func (ms MagentoSource) AsOracleSource() (*OracleSource, bool) {
104877	return nil, false
104878}
104879
104880// AsAzureDataExplorerSource is the BasicCopySource implementation for MagentoSource.
104881func (ms MagentoSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) {
104882	return nil, false
104883}
104884
104885// AsAzureMySQLSource is the BasicCopySource implementation for MagentoSource.
104886func (ms MagentoSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
104887	return nil, false
104888}
104889
104890// AsHdfsSource is the BasicCopySource implementation for MagentoSource.
104891func (ms MagentoSource) AsHdfsSource() (*HdfsSource, bool) {
104892	return nil, false
104893}
104894
104895// AsFileSystemSource is the BasicCopySource implementation for MagentoSource.
104896func (ms MagentoSource) AsFileSystemSource() (*FileSystemSource, bool) {
104897	return nil, false
104898}
104899
104900// AsSQLDWSource is the BasicCopySource implementation for MagentoSource.
104901func (ms MagentoSource) AsSQLDWSource() (*SQLDWSource, bool) {
104902	return nil, false
104903}
104904
104905// AsSQLMISource is the BasicCopySource implementation for MagentoSource.
104906func (ms MagentoSource) AsSQLMISource() (*SQLMISource, bool) {
104907	return nil, false
104908}
104909
104910// AsAzureSQLSource is the BasicCopySource implementation for MagentoSource.
104911func (ms MagentoSource) AsAzureSQLSource() (*AzureSQLSource, bool) {
104912	return nil, false
104913}
104914
104915// AsSQLServerSource is the BasicCopySource implementation for MagentoSource.
104916func (ms MagentoSource) AsSQLServerSource() (*SQLServerSource, bool) {
104917	return nil, false
104918}
104919
104920// AsSQLSource is the BasicCopySource implementation for MagentoSource.
104921func (ms MagentoSource) AsSQLSource() (*SQLSource, bool) {
104922	return nil, false
104923}
104924
104925// AsRestSource is the BasicCopySource implementation for MagentoSource.
104926func (ms MagentoSource) AsRestSource() (*RestSource, bool) {
104927	return nil, false
104928}
104929
104930// AsSapTableSource is the BasicCopySource implementation for MagentoSource.
104931func (ms MagentoSource) AsSapTableSource() (*SapTableSource, bool) {
104932	return nil, false
104933}
104934
104935// AsSapOpenHubSource is the BasicCopySource implementation for MagentoSource.
104936func (ms MagentoSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) {
104937	return nil, false
104938}
104939
104940// AsSapHanaSource is the BasicCopySource implementation for MagentoSource.
104941func (ms MagentoSource) AsSapHanaSource() (*SapHanaSource, bool) {
104942	return nil, false
104943}
104944
104945// AsSapEccSource is the BasicCopySource implementation for MagentoSource.
104946func (ms MagentoSource) AsSapEccSource() (*SapEccSource, bool) {
104947	return nil, false
104948}
104949
104950// AsSapCloudForCustomerSource is the BasicCopySource implementation for MagentoSource.
104951func (ms MagentoSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
104952	return nil, false
104953}
104954
104955// AsSalesforceServiceCloudSource is the BasicCopySource implementation for MagentoSource.
104956func (ms MagentoSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) {
104957	return nil, false
104958}
104959
104960// AsSalesforceSource is the BasicCopySource implementation for MagentoSource.
104961func (ms MagentoSource) AsSalesforceSource() (*SalesforceSource, bool) {
104962	return nil, false
104963}
104964
104965// AsODataSource is the BasicCopySource implementation for MagentoSource.
104966func (ms MagentoSource) AsODataSource() (*ODataSource, bool) {
104967	return nil, false
104968}
104969
104970// AsSybaseSource is the BasicCopySource implementation for MagentoSource.
104971func (ms MagentoSource) AsSybaseSource() (*SybaseSource, bool) {
104972	return nil, false
104973}
104974
104975// AsPostgreSQLSource is the BasicCopySource implementation for MagentoSource.
104976func (ms MagentoSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) {
104977	return nil, false
104978}
104979
104980// AsMySQLSource is the BasicCopySource implementation for MagentoSource.
104981func (ms MagentoSource) AsMySQLSource() (*MySQLSource, bool) {
104982	return nil, false
104983}
104984
104985// AsOdbcSource is the BasicCopySource implementation for MagentoSource.
104986func (ms MagentoSource) AsOdbcSource() (*OdbcSource, bool) {
104987	return nil, false
104988}
104989
104990// AsDb2Source is the BasicCopySource implementation for MagentoSource.
104991func (ms MagentoSource) AsDb2Source() (*Db2Source, bool) {
104992	return nil, false
104993}
104994
104995// AsMicrosoftAccessSource is the BasicCopySource implementation for MagentoSource.
104996func (ms MagentoSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) {
104997	return nil, false
104998}
104999
105000// AsInformixSource is the BasicCopySource implementation for MagentoSource.
105001func (ms MagentoSource) AsInformixSource() (*InformixSource, bool) {
105002	return nil, false
105003}
105004
105005// AsRelationalSource is the BasicCopySource implementation for MagentoSource.
105006func (ms MagentoSource) AsRelationalSource() (*RelationalSource, bool) {
105007	return nil, false
105008}
105009
105010// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for MagentoSource.
105011func (ms MagentoSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) {
105012	return nil, false
105013}
105014
105015// AsDynamicsCrmSource is the BasicCopySource implementation for MagentoSource.
105016func (ms MagentoSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) {
105017	return nil, false
105018}
105019
105020// AsDynamicsSource is the BasicCopySource implementation for MagentoSource.
105021func (ms MagentoSource) AsDynamicsSource() (*DynamicsSource, bool) {
105022	return nil, false
105023}
105024
105025// AsDocumentDbCollectionSource is the BasicCopySource implementation for MagentoSource.
105026func (ms MagentoSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
105027	return nil, false
105028}
105029
105030// AsBlobSource is the BasicCopySource implementation for MagentoSource.
105031func (ms MagentoSource) AsBlobSource() (*BlobSource, bool) {
105032	return nil, false
105033}
105034
105035// AsAzureTableSource is the BasicCopySource implementation for MagentoSource.
105036func (ms MagentoSource) AsAzureTableSource() (*AzureTableSource, bool) {
105037	return nil, false
105038}
105039
105040// AsBinarySource is the BasicCopySource implementation for MagentoSource.
105041func (ms MagentoSource) AsBinarySource() (*BinarySource, bool) {
105042	return nil, false
105043}
105044
105045// AsDelimitedTextSource is the BasicCopySource implementation for MagentoSource.
105046func (ms MagentoSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) {
105047	return nil, false
105048}
105049
105050// AsParquetSource is the BasicCopySource implementation for MagentoSource.
105051func (ms MagentoSource) AsParquetSource() (*ParquetSource, bool) {
105052	return nil, false
105053}
105054
105055// AsCopySource is the BasicCopySource implementation for MagentoSource.
105056func (ms MagentoSource) AsCopySource() (*CopySource, bool) {
105057	return nil, false
105058}
105059
105060// AsBasicCopySource is the BasicCopySource implementation for MagentoSource.
105061func (ms MagentoSource) AsBasicCopySource() (BasicCopySource, bool) {
105062	return &ms, true
105063}
105064
105065// UnmarshalJSON is the custom unmarshaler for MagentoSource struct.
105066func (ms *MagentoSource) UnmarshalJSON(body []byte) error {
105067	var m map[string]*json.RawMessage
105068	err := json.Unmarshal(body, &m)
105069	if err != nil {
105070		return err
105071	}
105072	for k, v := range m {
105073		switch k {
105074		case "query":
105075			if v != nil {
105076				var query interface{}
105077				err = json.Unmarshal(*v, &query)
105078				if err != nil {
105079					return err
105080				}
105081				ms.Query = query
105082			}
105083		default:
105084			if v != nil {
105085				var additionalProperties interface{}
105086				err = json.Unmarshal(*v, &additionalProperties)
105087				if err != nil {
105088					return err
105089				}
105090				if ms.AdditionalProperties == nil {
105091					ms.AdditionalProperties = make(map[string]interface{})
105092				}
105093				ms.AdditionalProperties[k] = additionalProperties
105094			}
105095		case "sourceRetryCount":
105096			if v != nil {
105097				var sourceRetryCount interface{}
105098				err = json.Unmarshal(*v, &sourceRetryCount)
105099				if err != nil {
105100					return err
105101				}
105102				ms.SourceRetryCount = sourceRetryCount
105103			}
105104		case "sourceRetryWait":
105105			if v != nil {
105106				var sourceRetryWait interface{}
105107				err = json.Unmarshal(*v, &sourceRetryWait)
105108				if err != nil {
105109					return err
105110				}
105111				ms.SourceRetryWait = sourceRetryWait
105112			}
105113		case "maxConcurrentConnections":
105114			if v != nil {
105115				var maxConcurrentConnections interface{}
105116				err = json.Unmarshal(*v, &maxConcurrentConnections)
105117				if err != nil {
105118					return err
105119				}
105120				ms.MaxConcurrentConnections = maxConcurrentConnections
105121			}
105122		case "type":
105123			if v != nil {
105124				var typeVar TypeBasicCopySource
105125				err = json.Unmarshal(*v, &typeVar)
105126				if err != nil {
105127					return err
105128				}
105129				ms.Type = typeVar
105130			}
105131		}
105132	}
105133
105134	return nil
105135}
105136
105137// ManagedIntegrationRuntime managed integration runtime, including managed elastic and managed dedicated
105138// integration runtimes.
105139type ManagedIntegrationRuntime struct {
105140	// State - READ-ONLY; Integration runtime state, only valid for managed dedicated integration runtime. Possible values include: 'IntegrationRuntimeStateInitial', 'IntegrationRuntimeStateStopped', 'IntegrationRuntimeStateStarted', 'IntegrationRuntimeStateStarting', 'IntegrationRuntimeStateStopping', 'IntegrationRuntimeStateNeedRegistration', 'IntegrationRuntimeStateOnline', 'IntegrationRuntimeStateLimited', 'IntegrationRuntimeStateOffline', 'IntegrationRuntimeStateAccessDenied'
105141	State IntegrationRuntimeState `json:"state,omitempty"`
105142	// ManagedIntegrationRuntimeTypeProperties - Managed integration runtime properties.
105143	*ManagedIntegrationRuntimeTypeProperties `json:"typeProperties,omitempty"`
105144	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
105145	AdditionalProperties map[string]interface{} `json:""`
105146	// Description - Integration runtime description.
105147	Description *string `json:"description,omitempty"`
105148	// Type - Possible values include: 'TypeIntegrationRuntime', 'TypeSelfHosted', 'TypeManaged'
105149	Type TypeBasicIntegrationRuntime `json:"type,omitempty"`
105150}
105151
105152// MarshalJSON is the custom marshaler for ManagedIntegrationRuntime.
105153func (mir ManagedIntegrationRuntime) MarshalJSON() ([]byte, error) {
105154	mir.Type = TypeManaged
105155	objectMap := make(map[string]interface{})
105156	if mir.ManagedIntegrationRuntimeTypeProperties != nil {
105157		objectMap["typeProperties"] = mir.ManagedIntegrationRuntimeTypeProperties
105158	}
105159	if mir.Description != nil {
105160		objectMap["description"] = mir.Description
105161	}
105162	if mir.Type != "" {
105163		objectMap["type"] = mir.Type
105164	}
105165	for k, v := range mir.AdditionalProperties {
105166		objectMap[k] = v
105167	}
105168	return json.Marshal(objectMap)
105169}
105170
105171// AsSelfHostedIntegrationRuntime is the BasicIntegrationRuntime implementation for ManagedIntegrationRuntime.
105172func (mir ManagedIntegrationRuntime) AsSelfHostedIntegrationRuntime() (*SelfHostedIntegrationRuntime, bool) {
105173	return nil, false
105174}
105175
105176// AsManagedIntegrationRuntime is the BasicIntegrationRuntime implementation for ManagedIntegrationRuntime.
105177func (mir ManagedIntegrationRuntime) AsManagedIntegrationRuntime() (*ManagedIntegrationRuntime, bool) {
105178	return &mir, true
105179}
105180
105181// AsIntegrationRuntime is the BasicIntegrationRuntime implementation for ManagedIntegrationRuntime.
105182func (mir ManagedIntegrationRuntime) AsIntegrationRuntime() (*IntegrationRuntime, bool) {
105183	return nil, false
105184}
105185
105186// AsBasicIntegrationRuntime is the BasicIntegrationRuntime implementation for ManagedIntegrationRuntime.
105187func (mir ManagedIntegrationRuntime) AsBasicIntegrationRuntime() (BasicIntegrationRuntime, bool) {
105188	return &mir, true
105189}
105190
105191// UnmarshalJSON is the custom unmarshaler for ManagedIntegrationRuntime struct.
105192func (mir *ManagedIntegrationRuntime) UnmarshalJSON(body []byte) error {
105193	var m map[string]*json.RawMessage
105194	err := json.Unmarshal(body, &m)
105195	if err != nil {
105196		return err
105197	}
105198	for k, v := range m {
105199		switch k {
105200		case "state":
105201			if v != nil {
105202				var state IntegrationRuntimeState
105203				err = json.Unmarshal(*v, &state)
105204				if err != nil {
105205					return err
105206				}
105207				mir.State = state
105208			}
105209		case "typeProperties":
105210			if v != nil {
105211				var managedIntegrationRuntimeTypeProperties ManagedIntegrationRuntimeTypeProperties
105212				err = json.Unmarshal(*v, &managedIntegrationRuntimeTypeProperties)
105213				if err != nil {
105214					return err
105215				}
105216				mir.ManagedIntegrationRuntimeTypeProperties = &managedIntegrationRuntimeTypeProperties
105217			}
105218		default:
105219			if v != nil {
105220				var additionalProperties interface{}
105221				err = json.Unmarshal(*v, &additionalProperties)
105222				if err != nil {
105223					return err
105224				}
105225				if mir.AdditionalProperties == nil {
105226					mir.AdditionalProperties = make(map[string]interface{})
105227				}
105228				mir.AdditionalProperties[k] = additionalProperties
105229			}
105230		case "description":
105231			if v != nil {
105232				var description string
105233				err = json.Unmarshal(*v, &description)
105234				if err != nil {
105235					return err
105236				}
105237				mir.Description = &description
105238			}
105239		case "type":
105240			if v != nil {
105241				var typeVar TypeBasicIntegrationRuntime
105242				err = json.Unmarshal(*v, &typeVar)
105243				if err != nil {
105244					return err
105245				}
105246				mir.Type = typeVar
105247			}
105248		}
105249	}
105250
105251	return nil
105252}
105253
105254// ManagedIntegrationRuntimeError error definition for managed integration runtime.
105255type ManagedIntegrationRuntimeError struct {
105256	// Time - READ-ONLY; The time when the error occurred.
105257	Time *date.Time `json:"time,omitempty"`
105258	// Code - READ-ONLY; Error code.
105259	Code *string `json:"code,omitempty"`
105260	// Parameters - READ-ONLY; Managed integration runtime error parameters.
105261	Parameters *[]string `json:"parameters,omitempty"`
105262	// Message - READ-ONLY; Error message.
105263	Message *string `json:"message,omitempty"`
105264}
105265
105266// ManagedIntegrationRuntimeNode properties of integration runtime node.
105267type ManagedIntegrationRuntimeNode struct {
105268	// NodeID - READ-ONLY; The managed integration runtime node id.
105269	NodeID *string `json:"nodeId,omitempty"`
105270	// Status - READ-ONLY; The managed integration runtime node status. Possible values include: 'Starting', 'Available', 'Recycling', 'Unavailable'
105271	Status ManagedIntegrationRuntimeNodeStatus `json:"status,omitempty"`
105272	// Errors - The errors that occurred on this integration runtime node.
105273	Errors *[]ManagedIntegrationRuntimeError `json:"errors,omitempty"`
105274}
105275
105276// ManagedIntegrationRuntimeOperationResult properties of managed integration runtime operation result.
105277type ManagedIntegrationRuntimeOperationResult struct {
105278	// Type - READ-ONLY; The operation type. Could be start or stop.
105279	Type *string `json:"type,omitempty"`
105280	// StartTime - READ-ONLY; The start time of the operation.
105281	StartTime *date.Time `json:"startTime,omitempty"`
105282	// Result - READ-ONLY; The operation result.
105283	Result *string `json:"result,omitempty"`
105284	// ErrorCode - READ-ONLY; The error code.
105285	ErrorCode *string `json:"errorCode,omitempty"`
105286	// Parameters - READ-ONLY; Managed integration runtime error parameters.
105287	Parameters *[]string `json:"parameters,omitempty"`
105288	// ActivityID - READ-ONLY; The activity id for the operation request.
105289	ActivityID *string `json:"activityId,omitempty"`
105290}
105291
105292// ManagedIntegrationRuntimeStatus managed integration runtime status.
105293type ManagedIntegrationRuntimeStatus struct {
105294	// ManagedIntegrationRuntimeStatusTypeProperties - Managed integration runtime status type properties.
105295	*ManagedIntegrationRuntimeStatusTypeProperties `json:"typeProperties,omitempty"`
105296	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
105297	AdditionalProperties map[string]interface{} `json:""`
105298	// DataFactoryName - READ-ONLY; The data factory name which the integration runtime belong to.
105299	DataFactoryName *string `json:"dataFactoryName,omitempty"`
105300	// State - READ-ONLY; The state of integration runtime. Possible values include: 'IntegrationRuntimeStateInitial', 'IntegrationRuntimeStateStopped', 'IntegrationRuntimeStateStarted', 'IntegrationRuntimeStateStarting', 'IntegrationRuntimeStateStopping', 'IntegrationRuntimeStateNeedRegistration', 'IntegrationRuntimeStateOnline', 'IntegrationRuntimeStateLimited', 'IntegrationRuntimeStateOffline', 'IntegrationRuntimeStateAccessDenied'
105301	State IntegrationRuntimeState `json:"state,omitempty"`
105302	// Type - Possible values include: 'TypeBasicIntegrationRuntimeStatusTypeIntegrationRuntimeStatus', 'TypeBasicIntegrationRuntimeStatusTypeSelfHosted', 'TypeBasicIntegrationRuntimeStatusTypeManaged'
105303	Type TypeBasicIntegrationRuntimeStatus `json:"type,omitempty"`
105304}
105305
105306// MarshalJSON is the custom marshaler for ManagedIntegrationRuntimeStatus.
105307func (mirs ManagedIntegrationRuntimeStatus) MarshalJSON() ([]byte, error) {
105308	mirs.Type = TypeBasicIntegrationRuntimeStatusTypeManaged
105309	objectMap := make(map[string]interface{})
105310	if mirs.ManagedIntegrationRuntimeStatusTypeProperties != nil {
105311		objectMap["typeProperties"] = mirs.ManagedIntegrationRuntimeStatusTypeProperties
105312	}
105313	if mirs.Type != "" {
105314		objectMap["type"] = mirs.Type
105315	}
105316	for k, v := range mirs.AdditionalProperties {
105317		objectMap[k] = v
105318	}
105319	return json.Marshal(objectMap)
105320}
105321
105322// AsSelfHostedIntegrationRuntimeStatus is the BasicIntegrationRuntimeStatus implementation for ManagedIntegrationRuntimeStatus.
105323func (mirs ManagedIntegrationRuntimeStatus) AsSelfHostedIntegrationRuntimeStatus() (*SelfHostedIntegrationRuntimeStatus, bool) {
105324	return nil, false
105325}
105326
105327// AsManagedIntegrationRuntimeStatus is the BasicIntegrationRuntimeStatus implementation for ManagedIntegrationRuntimeStatus.
105328func (mirs ManagedIntegrationRuntimeStatus) AsManagedIntegrationRuntimeStatus() (*ManagedIntegrationRuntimeStatus, bool) {
105329	return &mirs, true
105330}
105331
105332// AsIntegrationRuntimeStatus is the BasicIntegrationRuntimeStatus implementation for ManagedIntegrationRuntimeStatus.
105333func (mirs ManagedIntegrationRuntimeStatus) AsIntegrationRuntimeStatus() (*IntegrationRuntimeStatus, bool) {
105334	return nil, false
105335}
105336
105337// AsBasicIntegrationRuntimeStatus is the BasicIntegrationRuntimeStatus implementation for ManagedIntegrationRuntimeStatus.
105338func (mirs ManagedIntegrationRuntimeStatus) AsBasicIntegrationRuntimeStatus() (BasicIntegrationRuntimeStatus, bool) {
105339	return &mirs, true
105340}
105341
105342// UnmarshalJSON is the custom unmarshaler for ManagedIntegrationRuntimeStatus struct.
105343func (mirs *ManagedIntegrationRuntimeStatus) UnmarshalJSON(body []byte) error {
105344	var m map[string]*json.RawMessage
105345	err := json.Unmarshal(body, &m)
105346	if err != nil {
105347		return err
105348	}
105349	for k, v := range m {
105350		switch k {
105351		case "typeProperties":
105352			if v != nil {
105353				var managedIntegrationRuntimeStatusTypeProperties ManagedIntegrationRuntimeStatusTypeProperties
105354				err = json.Unmarshal(*v, &managedIntegrationRuntimeStatusTypeProperties)
105355				if err != nil {
105356					return err
105357				}
105358				mirs.ManagedIntegrationRuntimeStatusTypeProperties = &managedIntegrationRuntimeStatusTypeProperties
105359			}
105360		default:
105361			if v != nil {
105362				var additionalProperties interface{}
105363				err = json.Unmarshal(*v, &additionalProperties)
105364				if err != nil {
105365					return err
105366				}
105367				if mirs.AdditionalProperties == nil {
105368					mirs.AdditionalProperties = make(map[string]interface{})
105369				}
105370				mirs.AdditionalProperties[k] = additionalProperties
105371			}
105372		case "dataFactoryName":
105373			if v != nil {
105374				var dataFactoryName string
105375				err = json.Unmarshal(*v, &dataFactoryName)
105376				if err != nil {
105377					return err
105378				}
105379				mirs.DataFactoryName = &dataFactoryName
105380			}
105381		case "state":
105382			if v != nil {
105383				var state IntegrationRuntimeState
105384				err = json.Unmarshal(*v, &state)
105385				if err != nil {
105386					return err
105387				}
105388				mirs.State = state
105389			}
105390		case "type":
105391			if v != nil {
105392				var typeVar TypeBasicIntegrationRuntimeStatus
105393				err = json.Unmarshal(*v, &typeVar)
105394				if err != nil {
105395					return err
105396				}
105397				mirs.Type = typeVar
105398			}
105399		}
105400	}
105401
105402	return nil
105403}
105404
105405// ManagedIntegrationRuntimeStatusTypeProperties managed integration runtime status type properties.
105406type ManagedIntegrationRuntimeStatusTypeProperties struct {
105407	// CreateTime - READ-ONLY; The time at which the integration runtime was created, in ISO8601 format.
105408	CreateTime *date.Time `json:"createTime,omitempty"`
105409	// Nodes - READ-ONLY; The list of nodes for managed integration runtime.
105410	Nodes *[]ManagedIntegrationRuntimeNode `json:"nodes,omitempty"`
105411	// OtherErrors - READ-ONLY; The errors that occurred on this integration runtime.
105412	OtherErrors *[]ManagedIntegrationRuntimeError `json:"otherErrors,omitempty"`
105413	// LastOperation - READ-ONLY; The last operation result that occurred on this integration runtime.
105414	LastOperation *ManagedIntegrationRuntimeOperationResult `json:"lastOperation,omitempty"`
105415}
105416
105417// ManagedIntegrationRuntimeTypeProperties managed integration runtime type properties.
105418type ManagedIntegrationRuntimeTypeProperties struct {
105419	// ComputeProperties - The compute resource for managed integration runtime.
105420	ComputeProperties *IntegrationRuntimeComputeProperties `json:"computeProperties,omitempty"`
105421	// SsisProperties - SSIS properties for managed integration runtime.
105422	SsisProperties *IntegrationRuntimeSsisProperties `json:"ssisProperties,omitempty"`
105423}
105424
105425// MariaDBLinkedService mariaDB server linked service.
105426type MariaDBLinkedService struct {
105427	// MariaDBLinkedServiceTypeProperties - MariaDB server linked service properties.
105428	*MariaDBLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
105429	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
105430	AdditionalProperties map[string]interface{} `json:""`
105431	// ConnectVia - The integration runtime reference.
105432	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
105433	// Description - Linked service description.
105434	Description *string `json:"description,omitempty"`
105435	// Parameters - Parameters for linked service.
105436	Parameters map[string]*ParameterSpecification `json:"parameters"`
105437	// Annotations - List of tags that can be used for describing the linked service.
105438	Annotations *[]interface{} `json:"annotations,omitempty"`
105439	// Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', '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', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage'
105440	Type TypeBasicLinkedService `json:"type,omitempty"`
105441}
105442
105443// MarshalJSON is the custom marshaler for MariaDBLinkedService.
105444func (mdls MariaDBLinkedService) MarshalJSON() ([]byte, error) {
105445	mdls.Type = TypeMariaDB
105446	objectMap := make(map[string]interface{})
105447	if mdls.MariaDBLinkedServiceTypeProperties != nil {
105448		objectMap["typeProperties"] = mdls.MariaDBLinkedServiceTypeProperties
105449	}
105450	if mdls.ConnectVia != nil {
105451		objectMap["connectVia"] = mdls.ConnectVia
105452	}
105453	if mdls.Description != nil {
105454		objectMap["description"] = mdls.Description
105455	}
105456	if mdls.Parameters != nil {
105457		objectMap["parameters"] = mdls.Parameters
105458	}
105459	if mdls.Annotations != nil {
105460		objectMap["annotations"] = mdls.Annotations
105461	}
105462	if mdls.Type != "" {
105463		objectMap["type"] = mdls.Type
105464	}
105465	for k, v := range mdls.AdditionalProperties {
105466		objectMap[k] = v
105467	}
105468	return json.Marshal(objectMap)
105469}
105470
105471// AsAzureFunctionLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
105472func (mdls MariaDBLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) {
105473	return nil, false
105474}
105475
105476// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
105477func (mdls MariaDBLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) {
105478	return nil, false
105479}
105480
105481// AsSapTableLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
105482func (mdls MariaDBLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) {
105483	return nil, false
105484}
105485
105486// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
105487func (mdls MariaDBLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) {
105488	return nil, false
105489}
105490
105491// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
105492func (mdls MariaDBLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) {
105493	return nil, false
105494}
105495
105496// AsDynamicsAXLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
105497func (mdls MariaDBLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) {
105498	return nil, false
105499}
105500
105501// AsResponsysLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
105502func (mdls MariaDBLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
105503	return nil, false
105504}
105505
105506// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
105507func (mdls MariaDBLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
105508	return nil, false
105509}
105510
105511// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
105512func (mdls MariaDBLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
105513	return nil, false
105514}
105515
105516// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
105517func (mdls MariaDBLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
105518	return nil, false
105519}
105520
105521// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
105522func (mdls MariaDBLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
105523	return nil, false
105524}
105525
105526// AsNetezzaLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
105527func (mdls MariaDBLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
105528	return nil, false
105529}
105530
105531// AsVerticaLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
105532func (mdls MariaDBLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
105533	return nil, false
105534}
105535
105536// AsZohoLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
105537func (mdls MariaDBLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
105538	return nil, false
105539}
105540
105541// AsXeroLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
105542func (mdls MariaDBLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
105543	return nil, false
105544}
105545
105546// AsSquareLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
105547func (mdls MariaDBLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
105548	return nil, false
105549}
105550
105551// AsSparkLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
105552func (mdls MariaDBLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
105553	return nil, false
105554}
105555
105556// AsShopifyLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
105557func (mdls MariaDBLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
105558	return nil, false
105559}
105560
105561// AsServiceNowLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
105562func (mdls MariaDBLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
105563	return nil, false
105564}
105565
105566// AsQuickBooksLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
105567func (mdls MariaDBLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
105568	return nil, false
105569}
105570
105571// AsPrestoLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
105572func (mdls MariaDBLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
105573	return nil, false
105574}
105575
105576// AsPhoenixLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
105577func (mdls MariaDBLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
105578	return nil, false
105579}
105580
105581// AsPaypalLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
105582func (mdls MariaDBLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
105583	return nil, false
105584}
105585
105586// AsMarketoLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
105587func (mdls MariaDBLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
105588	return nil, false
105589}
105590
105591// AsMariaDBLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
105592func (mdls MariaDBLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
105593	return &mdls, true
105594}
105595
105596// AsMagentoLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
105597func (mdls MariaDBLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
105598	return nil, false
105599}
105600
105601// AsJiraLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
105602func (mdls MariaDBLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
105603	return nil, false
105604}
105605
105606// AsImpalaLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
105607func (mdls MariaDBLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
105608	return nil, false
105609}
105610
105611// AsHubspotLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
105612func (mdls MariaDBLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
105613	return nil, false
105614}
105615
105616// AsHiveLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
105617func (mdls MariaDBLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
105618	return nil, false
105619}
105620
105621// AsHBaseLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
105622func (mdls MariaDBLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
105623	return nil, false
105624}
105625
105626// AsGreenplumLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
105627func (mdls MariaDBLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
105628	return nil, false
105629}
105630
105631// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
105632func (mdls MariaDBLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
105633	return nil, false
105634}
105635
105636// AsEloquaLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
105637func (mdls MariaDBLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
105638	return nil, false
105639}
105640
105641// AsDrillLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
105642func (mdls MariaDBLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
105643	return nil, false
105644}
105645
105646// AsCouchbaseLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
105647func (mdls MariaDBLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
105648	return nil, false
105649}
105650
105651// AsConcurLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
105652func (mdls MariaDBLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
105653	return nil, false
105654}
105655
105656// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
105657func (mdls MariaDBLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
105658	return nil, false
105659}
105660
105661// AsAmazonMWSLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
105662func (mdls MariaDBLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
105663	return nil, false
105664}
105665
105666// AsSapHanaLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
105667func (mdls MariaDBLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
105668	return nil, false
105669}
105670
105671// AsSapBWLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
105672func (mdls MariaDBLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
105673	return nil, false
105674}
105675
105676// AsSftpServerLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
105677func (mdls MariaDBLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
105678	return nil, false
105679}
105680
105681// AsFtpServerLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
105682func (mdls MariaDBLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
105683	return nil, false
105684}
105685
105686// AsHTTPLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
105687func (mdls MariaDBLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
105688	return nil, false
105689}
105690
105691// AsAzureSearchLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
105692func (mdls MariaDBLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
105693	return nil, false
105694}
105695
105696// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
105697func (mdls MariaDBLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
105698	return nil, false
105699}
105700
105701// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
105702func (mdls MariaDBLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
105703	return nil, false
105704}
105705
105706// AsAmazonS3LinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
105707func (mdls MariaDBLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
105708	return nil, false
105709}
105710
105711// AsRestServiceLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
105712func (mdls MariaDBLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) {
105713	return nil, false
105714}
105715
105716// AsSapOpenHubLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
105717func (mdls MariaDBLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) {
105718	return nil, false
105719}
105720
105721// AsSapEccLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
105722func (mdls MariaDBLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
105723	return nil, false
105724}
105725
105726// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
105727func (mdls MariaDBLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
105728	return nil, false
105729}
105730
105731// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
105732func (mdls MariaDBLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) {
105733	return nil, false
105734}
105735
105736// AsSalesforceLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
105737func (mdls MariaDBLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
105738	return nil, false
105739}
105740
105741// AsOffice365LinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
105742func (mdls MariaDBLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) {
105743	return nil, false
105744}
105745
105746// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
105747func (mdls MariaDBLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) {
105748	return nil, false
105749}
105750
105751// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
105752func (mdls MariaDBLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
105753	return nil, false
105754}
105755
105756// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
105757func (mdls MariaDBLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) {
105758	return nil, false
105759}
105760
105761// AsMongoDbV2LinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
105762func (mdls MariaDBLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) {
105763	return nil, false
105764}
105765
105766// AsMongoDbLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
105767func (mdls MariaDBLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
105768	return nil, false
105769}
105770
105771// AsCassandraLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
105772func (mdls MariaDBLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
105773	return nil, false
105774}
105775
105776// AsWebLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
105777func (mdls MariaDBLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
105778	return nil, false
105779}
105780
105781// AsODataLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
105782func (mdls MariaDBLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
105783	return nil, false
105784}
105785
105786// AsHdfsLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
105787func (mdls MariaDBLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
105788	return nil, false
105789}
105790
105791// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
105792func (mdls MariaDBLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) {
105793	return nil, false
105794}
105795
105796// AsInformixLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
105797func (mdls MariaDBLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) {
105798	return nil, false
105799}
105800
105801// AsOdbcLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
105802func (mdls MariaDBLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
105803	return nil, false
105804}
105805
105806// AsAzureMLLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
105807func (mdls MariaDBLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
105808	return nil, false
105809}
105810
105811// AsTeradataLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
105812func (mdls MariaDBLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
105813	return nil, false
105814}
105815
105816// AsDb2LinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
105817func (mdls MariaDBLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
105818	return nil, false
105819}
105820
105821// AsSybaseLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
105822func (mdls MariaDBLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
105823	return nil, false
105824}
105825
105826// AsPostgreSQLLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
105827func (mdls MariaDBLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
105828	return nil, false
105829}
105830
105831// AsMySQLLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
105832func (mdls MariaDBLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
105833	return nil, false
105834}
105835
105836// AsAzureMySQLLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
105837func (mdls MariaDBLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
105838	return nil, false
105839}
105840
105841// AsOracleLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
105842func (mdls MariaDBLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
105843	return nil, false
105844}
105845
105846// AsFileServerLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
105847func (mdls MariaDBLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
105848	return nil, false
105849}
105850
105851// AsHDInsightLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
105852func (mdls MariaDBLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
105853	return nil, false
105854}
105855
105856// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
105857func (mdls MariaDBLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) {
105858	return nil, false
105859}
105860
105861// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
105862func (mdls MariaDBLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) {
105863	return nil, false
105864}
105865
105866// AsDynamicsLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
105867func (mdls MariaDBLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
105868	return nil, false
105869}
105870
105871// AsCosmosDbLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
105872func (mdls MariaDBLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
105873	return nil, false
105874}
105875
105876// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
105877func (mdls MariaDBLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
105878	return nil, false
105879}
105880
105881// AsAzureBatchLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
105882func (mdls MariaDBLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
105883	return nil, false
105884}
105885
105886// AsAzureSQLMILinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
105887func (mdls MariaDBLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) {
105888	return nil, false
105889}
105890
105891// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
105892func (mdls MariaDBLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
105893	return nil, false
105894}
105895
105896// AsSQLServerLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
105897func (mdls MariaDBLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
105898	return nil, false
105899}
105900
105901// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
105902func (mdls MariaDBLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
105903	return nil, false
105904}
105905
105906// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
105907func (mdls MariaDBLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) {
105908	return nil, false
105909}
105910
105911// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
105912func (mdls MariaDBLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) {
105913	return nil, false
105914}
105915
105916// AsAzureStorageLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
105917func (mdls MariaDBLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
105918	return nil, false
105919}
105920
105921// AsLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
105922func (mdls MariaDBLinkedService) AsLinkedService() (*LinkedService, bool) {
105923	return nil, false
105924}
105925
105926// AsBasicLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
105927func (mdls MariaDBLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
105928	return &mdls, true
105929}
105930
105931// UnmarshalJSON is the custom unmarshaler for MariaDBLinkedService struct.
105932func (mdls *MariaDBLinkedService) UnmarshalJSON(body []byte) error {
105933	var m map[string]*json.RawMessage
105934	err := json.Unmarshal(body, &m)
105935	if err != nil {
105936		return err
105937	}
105938	for k, v := range m {
105939		switch k {
105940		case "typeProperties":
105941			if v != nil {
105942				var mariaDBLinkedServiceTypeProperties MariaDBLinkedServiceTypeProperties
105943				err = json.Unmarshal(*v, &mariaDBLinkedServiceTypeProperties)
105944				if err != nil {
105945					return err
105946				}
105947				mdls.MariaDBLinkedServiceTypeProperties = &mariaDBLinkedServiceTypeProperties
105948			}
105949		default:
105950			if v != nil {
105951				var additionalProperties interface{}
105952				err = json.Unmarshal(*v, &additionalProperties)
105953				if err != nil {
105954					return err
105955				}
105956				if mdls.AdditionalProperties == nil {
105957					mdls.AdditionalProperties = make(map[string]interface{})
105958				}
105959				mdls.AdditionalProperties[k] = additionalProperties
105960			}
105961		case "connectVia":
105962			if v != nil {
105963				var connectVia IntegrationRuntimeReference
105964				err = json.Unmarshal(*v, &connectVia)
105965				if err != nil {
105966					return err
105967				}
105968				mdls.ConnectVia = &connectVia
105969			}
105970		case "description":
105971			if v != nil {
105972				var description string
105973				err = json.Unmarshal(*v, &description)
105974				if err != nil {
105975					return err
105976				}
105977				mdls.Description = &description
105978			}
105979		case "parameters":
105980			if v != nil {
105981				var parameters map[string]*ParameterSpecification
105982				err = json.Unmarshal(*v, &parameters)
105983				if err != nil {
105984					return err
105985				}
105986				mdls.Parameters = parameters
105987			}
105988		case "annotations":
105989			if v != nil {
105990				var annotations []interface{}
105991				err = json.Unmarshal(*v, &annotations)
105992				if err != nil {
105993					return err
105994				}
105995				mdls.Annotations = &annotations
105996			}
105997		case "type":
105998			if v != nil {
105999				var typeVar TypeBasicLinkedService
106000				err = json.Unmarshal(*v, &typeVar)
106001				if err != nil {
106002					return err
106003				}
106004				mdls.Type = typeVar
106005			}
106006		}
106007	}
106008
106009	return nil
106010}
106011
106012// MariaDBLinkedServiceTypeProperties mariaDB server linked service properties.
106013type MariaDBLinkedServiceTypeProperties struct {
106014	// ConnectionString - An ODBC connection string. Type: string, SecureString or AzureKeyVaultSecretReference.
106015	ConnectionString interface{} `json:"connectionString,omitempty"`
106016	// Pwd - The Azure key vault secret reference of password in connection string.
106017	Pwd *AzureKeyVaultSecretReference `json:"pwd,omitempty"`
106018	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
106019	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
106020}
106021
106022// MariaDBSource a copy activity MariaDB server source.
106023type MariaDBSource struct {
106024	// Query - A query to retrieve data from source. Type: string (or Expression with resultType string).
106025	Query interface{} `json:"query,omitempty"`
106026	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
106027	AdditionalProperties map[string]interface{} `json:""`
106028	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
106029	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
106030	// 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])).
106031	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
106032	// MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer).
106033	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
106034	// Type - Possible values include: 'TypeCopySource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', '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', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeCassandraSource', 'TypeWebSource', 'TypeTeradataSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeAzureMySQLSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeRestSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceServiceCloudSource', 'TypeSalesforceSource', 'TypeODataSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeMicrosoftAccessSource', 'TypeInformixSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAzureTableSource', 'TypeBinarySource', 'TypeDelimitedTextSource', 'TypeParquetSource'
106035	Type TypeBasicCopySource `json:"type,omitempty"`
106036}
106037
106038// MarshalJSON is the custom marshaler for MariaDBSource.
106039func (mds MariaDBSource) MarshalJSON() ([]byte, error) {
106040	mds.Type = TypeMariaDBSource
106041	objectMap := make(map[string]interface{})
106042	if mds.Query != nil {
106043		objectMap["query"] = mds.Query
106044	}
106045	if mds.SourceRetryCount != nil {
106046		objectMap["sourceRetryCount"] = mds.SourceRetryCount
106047	}
106048	if mds.SourceRetryWait != nil {
106049		objectMap["sourceRetryWait"] = mds.SourceRetryWait
106050	}
106051	if mds.MaxConcurrentConnections != nil {
106052		objectMap["maxConcurrentConnections"] = mds.MaxConcurrentConnections
106053	}
106054	if mds.Type != "" {
106055		objectMap["type"] = mds.Type
106056	}
106057	for k, v := range mds.AdditionalProperties {
106058		objectMap[k] = v
106059	}
106060	return json.Marshal(objectMap)
106061}
106062
106063// AsAmazonRedshiftSource is the BasicCopySource implementation for MariaDBSource.
106064func (mds MariaDBSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
106065	return nil, false
106066}
106067
106068// AsGoogleAdWordsSource is the BasicCopySource implementation for MariaDBSource.
106069func (mds MariaDBSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) {
106070	return nil, false
106071}
106072
106073// AsOracleServiceCloudSource is the BasicCopySource implementation for MariaDBSource.
106074func (mds MariaDBSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) {
106075	return nil, false
106076}
106077
106078// AsDynamicsAXSource is the BasicCopySource implementation for MariaDBSource.
106079func (mds MariaDBSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) {
106080	return nil, false
106081}
106082
106083// AsResponsysSource is the BasicCopySource implementation for MariaDBSource.
106084func (mds MariaDBSource) AsResponsysSource() (*ResponsysSource, bool) {
106085	return nil, false
106086}
106087
106088// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for MariaDBSource.
106089func (mds MariaDBSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
106090	return nil, false
106091}
106092
106093// AsVerticaSource is the BasicCopySource implementation for MariaDBSource.
106094func (mds MariaDBSource) AsVerticaSource() (*VerticaSource, bool) {
106095	return nil, false
106096}
106097
106098// AsNetezzaSource is the BasicCopySource implementation for MariaDBSource.
106099func (mds MariaDBSource) AsNetezzaSource() (*NetezzaSource, bool) {
106100	return nil, false
106101}
106102
106103// AsZohoSource is the BasicCopySource implementation for MariaDBSource.
106104func (mds MariaDBSource) AsZohoSource() (*ZohoSource, bool) {
106105	return nil, false
106106}
106107
106108// AsXeroSource is the BasicCopySource implementation for MariaDBSource.
106109func (mds MariaDBSource) AsXeroSource() (*XeroSource, bool) {
106110	return nil, false
106111}
106112
106113// AsSquareSource is the BasicCopySource implementation for MariaDBSource.
106114func (mds MariaDBSource) AsSquareSource() (*SquareSource, bool) {
106115	return nil, false
106116}
106117
106118// AsSparkSource is the BasicCopySource implementation for MariaDBSource.
106119func (mds MariaDBSource) AsSparkSource() (*SparkSource, bool) {
106120	return nil, false
106121}
106122
106123// AsShopifySource is the BasicCopySource implementation for MariaDBSource.
106124func (mds MariaDBSource) AsShopifySource() (*ShopifySource, bool) {
106125	return nil, false
106126}
106127
106128// AsServiceNowSource is the BasicCopySource implementation for MariaDBSource.
106129func (mds MariaDBSource) AsServiceNowSource() (*ServiceNowSource, bool) {
106130	return nil, false
106131}
106132
106133// AsQuickBooksSource is the BasicCopySource implementation for MariaDBSource.
106134func (mds MariaDBSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
106135	return nil, false
106136}
106137
106138// AsPrestoSource is the BasicCopySource implementation for MariaDBSource.
106139func (mds MariaDBSource) AsPrestoSource() (*PrestoSource, bool) {
106140	return nil, false
106141}
106142
106143// AsPhoenixSource is the BasicCopySource implementation for MariaDBSource.
106144func (mds MariaDBSource) AsPhoenixSource() (*PhoenixSource, bool) {
106145	return nil, false
106146}
106147
106148// AsPaypalSource is the BasicCopySource implementation for MariaDBSource.
106149func (mds MariaDBSource) AsPaypalSource() (*PaypalSource, bool) {
106150	return nil, false
106151}
106152
106153// AsMarketoSource is the BasicCopySource implementation for MariaDBSource.
106154func (mds MariaDBSource) AsMarketoSource() (*MarketoSource, bool) {
106155	return nil, false
106156}
106157
106158// AsMariaDBSource is the BasicCopySource implementation for MariaDBSource.
106159func (mds MariaDBSource) AsMariaDBSource() (*MariaDBSource, bool) {
106160	return &mds, true
106161}
106162
106163// AsMagentoSource is the BasicCopySource implementation for MariaDBSource.
106164func (mds MariaDBSource) AsMagentoSource() (*MagentoSource, bool) {
106165	return nil, false
106166}
106167
106168// AsJiraSource is the BasicCopySource implementation for MariaDBSource.
106169func (mds MariaDBSource) AsJiraSource() (*JiraSource, bool) {
106170	return nil, false
106171}
106172
106173// AsImpalaSource is the BasicCopySource implementation for MariaDBSource.
106174func (mds MariaDBSource) AsImpalaSource() (*ImpalaSource, bool) {
106175	return nil, false
106176}
106177
106178// AsHubspotSource is the BasicCopySource implementation for MariaDBSource.
106179func (mds MariaDBSource) AsHubspotSource() (*HubspotSource, bool) {
106180	return nil, false
106181}
106182
106183// AsHiveSource is the BasicCopySource implementation for MariaDBSource.
106184func (mds MariaDBSource) AsHiveSource() (*HiveSource, bool) {
106185	return nil, false
106186}
106187
106188// AsHBaseSource is the BasicCopySource implementation for MariaDBSource.
106189func (mds MariaDBSource) AsHBaseSource() (*HBaseSource, bool) {
106190	return nil, false
106191}
106192
106193// AsGreenplumSource is the BasicCopySource implementation for MariaDBSource.
106194func (mds MariaDBSource) AsGreenplumSource() (*GreenplumSource, bool) {
106195	return nil, false
106196}
106197
106198// AsGoogleBigQuerySource is the BasicCopySource implementation for MariaDBSource.
106199func (mds MariaDBSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
106200	return nil, false
106201}
106202
106203// AsEloquaSource is the BasicCopySource implementation for MariaDBSource.
106204func (mds MariaDBSource) AsEloquaSource() (*EloquaSource, bool) {
106205	return nil, false
106206}
106207
106208// AsDrillSource is the BasicCopySource implementation for MariaDBSource.
106209func (mds MariaDBSource) AsDrillSource() (*DrillSource, bool) {
106210	return nil, false
106211}
106212
106213// AsCouchbaseSource is the BasicCopySource implementation for MariaDBSource.
106214func (mds MariaDBSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
106215	return nil, false
106216}
106217
106218// AsConcurSource is the BasicCopySource implementation for MariaDBSource.
106219func (mds MariaDBSource) AsConcurSource() (*ConcurSource, bool) {
106220	return nil, false
106221}
106222
106223// AsAzurePostgreSQLSource is the BasicCopySource implementation for MariaDBSource.
106224func (mds MariaDBSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
106225	return nil, false
106226}
106227
106228// AsAmazonMWSSource is the BasicCopySource implementation for MariaDBSource.
106229func (mds MariaDBSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
106230	return nil, false
106231}
106232
106233// AsHTTPSource is the BasicCopySource implementation for MariaDBSource.
106234func (mds MariaDBSource) AsHTTPSource() (*HTTPSource, bool) {
106235	return nil, false
106236}
106237
106238// AsAzureBlobFSSource is the BasicCopySource implementation for MariaDBSource.
106239func (mds MariaDBSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) {
106240	return nil, false
106241}
106242
106243// AsAzureDataLakeStoreSource is the BasicCopySource implementation for MariaDBSource.
106244func (mds MariaDBSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
106245	return nil, false
106246}
106247
106248// AsOffice365Source is the BasicCopySource implementation for MariaDBSource.
106249func (mds MariaDBSource) AsOffice365Source() (*Office365Source, bool) {
106250	return nil, false
106251}
106252
106253// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for MariaDBSource.
106254func (mds MariaDBSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) {
106255	return nil, false
106256}
106257
106258// AsMongoDbV2Source is the BasicCopySource implementation for MariaDBSource.
106259func (mds MariaDBSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) {
106260	return nil, false
106261}
106262
106263// AsMongoDbSource is the BasicCopySource implementation for MariaDBSource.
106264func (mds MariaDBSource) AsMongoDbSource() (*MongoDbSource, bool) {
106265	return nil, false
106266}
106267
106268// AsCassandraSource is the BasicCopySource implementation for MariaDBSource.
106269func (mds MariaDBSource) AsCassandraSource() (*CassandraSource, bool) {
106270	return nil, false
106271}
106272
106273// AsWebSource is the BasicCopySource implementation for MariaDBSource.
106274func (mds MariaDBSource) AsWebSource() (*WebSource, bool) {
106275	return nil, false
106276}
106277
106278// AsTeradataSource is the BasicCopySource implementation for MariaDBSource.
106279func (mds MariaDBSource) AsTeradataSource() (*TeradataSource, bool) {
106280	return nil, false
106281}
106282
106283// AsOracleSource is the BasicCopySource implementation for MariaDBSource.
106284func (mds MariaDBSource) AsOracleSource() (*OracleSource, bool) {
106285	return nil, false
106286}
106287
106288// AsAzureDataExplorerSource is the BasicCopySource implementation for MariaDBSource.
106289func (mds MariaDBSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) {
106290	return nil, false
106291}
106292
106293// AsAzureMySQLSource is the BasicCopySource implementation for MariaDBSource.
106294func (mds MariaDBSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
106295	return nil, false
106296}
106297
106298// AsHdfsSource is the BasicCopySource implementation for MariaDBSource.
106299func (mds MariaDBSource) AsHdfsSource() (*HdfsSource, bool) {
106300	return nil, false
106301}
106302
106303// AsFileSystemSource is the BasicCopySource implementation for MariaDBSource.
106304func (mds MariaDBSource) AsFileSystemSource() (*FileSystemSource, bool) {
106305	return nil, false
106306}
106307
106308// AsSQLDWSource is the BasicCopySource implementation for MariaDBSource.
106309func (mds MariaDBSource) AsSQLDWSource() (*SQLDWSource, bool) {
106310	return nil, false
106311}
106312
106313// AsSQLMISource is the BasicCopySource implementation for MariaDBSource.
106314func (mds MariaDBSource) AsSQLMISource() (*SQLMISource, bool) {
106315	return nil, false
106316}
106317
106318// AsAzureSQLSource is the BasicCopySource implementation for MariaDBSource.
106319func (mds MariaDBSource) AsAzureSQLSource() (*AzureSQLSource, bool) {
106320	return nil, false
106321}
106322
106323// AsSQLServerSource is the BasicCopySource implementation for MariaDBSource.
106324func (mds MariaDBSource) AsSQLServerSource() (*SQLServerSource, bool) {
106325	return nil, false
106326}
106327
106328// AsSQLSource is the BasicCopySource implementation for MariaDBSource.
106329func (mds MariaDBSource) AsSQLSource() (*SQLSource, bool) {
106330	return nil, false
106331}
106332
106333// AsRestSource is the BasicCopySource implementation for MariaDBSource.
106334func (mds MariaDBSource) AsRestSource() (*RestSource, bool) {
106335	return nil, false
106336}
106337
106338// AsSapTableSource is the BasicCopySource implementation for MariaDBSource.
106339func (mds MariaDBSource) AsSapTableSource() (*SapTableSource, bool) {
106340	return nil, false
106341}
106342
106343// AsSapOpenHubSource is the BasicCopySource implementation for MariaDBSource.
106344func (mds MariaDBSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) {
106345	return nil, false
106346}
106347
106348// AsSapHanaSource is the BasicCopySource implementation for MariaDBSource.
106349func (mds MariaDBSource) AsSapHanaSource() (*SapHanaSource, bool) {
106350	return nil, false
106351}
106352
106353// AsSapEccSource is the BasicCopySource implementation for MariaDBSource.
106354func (mds MariaDBSource) AsSapEccSource() (*SapEccSource, bool) {
106355	return nil, false
106356}
106357
106358// AsSapCloudForCustomerSource is the BasicCopySource implementation for MariaDBSource.
106359func (mds MariaDBSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
106360	return nil, false
106361}
106362
106363// AsSalesforceServiceCloudSource is the BasicCopySource implementation for MariaDBSource.
106364func (mds MariaDBSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) {
106365	return nil, false
106366}
106367
106368// AsSalesforceSource is the BasicCopySource implementation for MariaDBSource.
106369func (mds MariaDBSource) AsSalesforceSource() (*SalesforceSource, bool) {
106370	return nil, false
106371}
106372
106373// AsODataSource is the BasicCopySource implementation for MariaDBSource.
106374func (mds MariaDBSource) AsODataSource() (*ODataSource, bool) {
106375	return nil, false
106376}
106377
106378// AsSybaseSource is the BasicCopySource implementation for MariaDBSource.
106379func (mds MariaDBSource) AsSybaseSource() (*SybaseSource, bool) {
106380	return nil, false
106381}
106382
106383// AsPostgreSQLSource is the BasicCopySource implementation for MariaDBSource.
106384func (mds MariaDBSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) {
106385	return nil, false
106386}
106387
106388// AsMySQLSource is the BasicCopySource implementation for MariaDBSource.
106389func (mds MariaDBSource) AsMySQLSource() (*MySQLSource, bool) {
106390	return nil, false
106391}
106392
106393// AsOdbcSource is the BasicCopySource implementation for MariaDBSource.
106394func (mds MariaDBSource) AsOdbcSource() (*OdbcSource, bool) {
106395	return nil, false
106396}
106397
106398// AsDb2Source is the BasicCopySource implementation for MariaDBSource.
106399func (mds MariaDBSource) AsDb2Source() (*Db2Source, bool) {
106400	return nil, false
106401}
106402
106403// AsMicrosoftAccessSource is the BasicCopySource implementation for MariaDBSource.
106404func (mds MariaDBSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) {
106405	return nil, false
106406}
106407
106408// AsInformixSource is the BasicCopySource implementation for MariaDBSource.
106409func (mds MariaDBSource) AsInformixSource() (*InformixSource, bool) {
106410	return nil, false
106411}
106412
106413// AsRelationalSource is the BasicCopySource implementation for MariaDBSource.
106414func (mds MariaDBSource) AsRelationalSource() (*RelationalSource, bool) {
106415	return nil, false
106416}
106417
106418// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for MariaDBSource.
106419func (mds MariaDBSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) {
106420	return nil, false
106421}
106422
106423// AsDynamicsCrmSource is the BasicCopySource implementation for MariaDBSource.
106424func (mds MariaDBSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) {
106425	return nil, false
106426}
106427
106428// AsDynamicsSource is the BasicCopySource implementation for MariaDBSource.
106429func (mds MariaDBSource) AsDynamicsSource() (*DynamicsSource, bool) {
106430	return nil, false
106431}
106432
106433// AsDocumentDbCollectionSource is the BasicCopySource implementation for MariaDBSource.
106434func (mds MariaDBSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
106435	return nil, false
106436}
106437
106438// AsBlobSource is the BasicCopySource implementation for MariaDBSource.
106439func (mds MariaDBSource) AsBlobSource() (*BlobSource, bool) {
106440	return nil, false
106441}
106442
106443// AsAzureTableSource is the BasicCopySource implementation for MariaDBSource.
106444func (mds MariaDBSource) AsAzureTableSource() (*AzureTableSource, bool) {
106445	return nil, false
106446}
106447
106448// AsBinarySource is the BasicCopySource implementation for MariaDBSource.
106449func (mds MariaDBSource) AsBinarySource() (*BinarySource, bool) {
106450	return nil, false
106451}
106452
106453// AsDelimitedTextSource is the BasicCopySource implementation for MariaDBSource.
106454func (mds MariaDBSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) {
106455	return nil, false
106456}
106457
106458// AsParquetSource is the BasicCopySource implementation for MariaDBSource.
106459func (mds MariaDBSource) AsParquetSource() (*ParquetSource, bool) {
106460	return nil, false
106461}
106462
106463// AsCopySource is the BasicCopySource implementation for MariaDBSource.
106464func (mds MariaDBSource) AsCopySource() (*CopySource, bool) {
106465	return nil, false
106466}
106467
106468// AsBasicCopySource is the BasicCopySource implementation for MariaDBSource.
106469func (mds MariaDBSource) AsBasicCopySource() (BasicCopySource, bool) {
106470	return &mds, true
106471}
106472
106473// UnmarshalJSON is the custom unmarshaler for MariaDBSource struct.
106474func (mds *MariaDBSource) UnmarshalJSON(body []byte) error {
106475	var m map[string]*json.RawMessage
106476	err := json.Unmarshal(body, &m)
106477	if err != nil {
106478		return err
106479	}
106480	for k, v := range m {
106481		switch k {
106482		case "query":
106483			if v != nil {
106484				var query interface{}
106485				err = json.Unmarshal(*v, &query)
106486				if err != nil {
106487					return err
106488				}
106489				mds.Query = query
106490			}
106491		default:
106492			if v != nil {
106493				var additionalProperties interface{}
106494				err = json.Unmarshal(*v, &additionalProperties)
106495				if err != nil {
106496					return err
106497				}
106498				if mds.AdditionalProperties == nil {
106499					mds.AdditionalProperties = make(map[string]interface{})
106500				}
106501				mds.AdditionalProperties[k] = additionalProperties
106502			}
106503		case "sourceRetryCount":
106504			if v != nil {
106505				var sourceRetryCount interface{}
106506				err = json.Unmarshal(*v, &sourceRetryCount)
106507				if err != nil {
106508					return err
106509				}
106510				mds.SourceRetryCount = sourceRetryCount
106511			}
106512		case "sourceRetryWait":
106513			if v != nil {
106514				var sourceRetryWait interface{}
106515				err = json.Unmarshal(*v, &sourceRetryWait)
106516				if err != nil {
106517					return err
106518				}
106519				mds.SourceRetryWait = sourceRetryWait
106520			}
106521		case "maxConcurrentConnections":
106522			if v != nil {
106523				var maxConcurrentConnections interface{}
106524				err = json.Unmarshal(*v, &maxConcurrentConnections)
106525				if err != nil {
106526					return err
106527				}
106528				mds.MaxConcurrentConnections = maxConcurrentConnections
106529			}
106530		case "type":
106531			if v != nil {
106532				var typeVar TypeBasicCopySource
106533				err = json.Unmarshal(*v, &typeVar)
106534				if err != nil {
106535					return err
106536				}
106537				mds.Type = typeVar
106538			}
106539		}
106540	}
106541
106542	return nil
106543}
106544
106545// MariaDBTableDataset mariaDB server dataset.
106546type MariaDBTableDataset struct {
106547	// GenericDatasetTypeProperties - Properties specific to this dataset type.
106548	*GenericDatasetTypeProperties `json:"typeProperties,omitempty"`
106549	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
106550	AdditionalProperties map[string]interface{} `json:""`
106551	// Description - Dataset description.
106552	Description *string `json:"description,omitempty"`
106553	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
106554	Structure interface{} `json:"structure,omitempty"`
106555	// Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement.
106556	Schema interface{} `json:"schema,omitempty"`
106557	// LinkedServiceName - Linked service reference.
106558	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
106559	// Parameters - Parameters for dataset.
106560	Parameters map[string]*ParameterSpecification `json:"parameters"`
106561	// Annotations - List of tags that can be used for describing the Dataset.
106562	Annotations *[]interface{} `json:"annotations,omitempty"`
106563	// Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level.
106564	Folder *DatasetFolder `json:"folder,omitempty"`
106565	// Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', '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', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeDelimitedText', 'TypeParquet', 'TypeAmazonS3Object'
106566	Type TypeBasicDataset `json:"type,omitempty"`
106567}
106568
106569// MarshalJSON is the custom marshaler for MariaDBTableDataset.
106570func (mdtd MariaDBTableDataset) MarshalJSON() ([]byte, error) {
106571	mdtd.Type = TypeMariaDBTable
106572	objectMap := make(map[string]interface{})
106573	if mdtd.GenericDatasetTypeProperties != nil {
106574		objectMap["typeProperties"] = mdtd.GenericDatasetTypeProperties
106575	}
106576	if mdtd.Description != nil {
106577		objectMap["description"] = mdtd.Description
106578	}
106579	if mdtd.Structure != nil {
106580		objectMap["structure"] = mdtd.Structure
106581	}
106582	if mdtd.Schema != nil {
106583		objectMap["schema"] = mdtd.Schema
106584	}
106585	if mdtd.LinkedServiceName != nil {
106586		objectMap["linkedServiceName"] = mdtd.LinkedServiceName
106587	}
106588	if mdtd.Parameters != nil {
106589		objectMap["parameters"] = mdtd.Parameters
106590	}
106591	if mdtd.Annotations != nil {
106592		objectMap["annotations"] = mdtd.Annotations
106593	}
106594	if mdtd.Folder != nil {
106595		objectMap["folder"] = mdtd.Folder
106596	}
106597	if mdtd.Type != "" {
106598		objectMap["type"] = mdtd.Type
106599	}
106600	for k, v := range mdtd.AdditionalProperties {
106601		objectMap[k] = v
106602	}
106603	return json.Marshal(objectMap)
106604}
106605
106606// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for MariaDBTableDataset.
106607func (mdtd MariaDBTableDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) {
106608	return nil, false
106609}
106610
106611// AsAzureDataExplorerTableDataset is the BasicDataset implementation for MariaDBTableDataset.
106612func (mdtd MariaDBTableDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) {
106613	return nil, false
106614}
106615
106616// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for MariaDBTableDataset.
106617func (mdtd MariaDBTableDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) {
106618	return nil, false
106619}
106620
106621// AsDynamicsAXResourceDataset is the BasicDataset implementation for MariaDBTableDataset.
106622func (mdtd MariaDBTableDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) {
106623	return nil, false
106624}
106625
106626// AsResponsysObjectDataset is the BasicDataset implementation for MariaDBTableDataset.
106627func (mdtd MariaDBTableDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
106628	return nil, false
106629}
106630
106631// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for MariaDBTableDataset.
106632func (mdtd MariaDBTableDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
106633	return nil, false
106634}
106635
106636// AsVerticaTableDataset is the BasicDataset implementation for MariaDBTableDataset.
106637func (mdtd MariaDBTableDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
106638	return nil, false
106639}
106640
106641// AsNetezzaTableDataset is the BasicDataset implementation for MariaDBTableDataset.
106642func (mdtd MariaDBTableDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
106643	return nil, false
106644}
106645
106646// AsZohoObjectDataset is the BasicDataset implementation for MariaDBTableDataset.
106647func (mdtd MariaDBTableDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
106648	return nil, false
106649}
106650
106651// AsXeroObjectDataset is the BasicDataset implementation for MariaDBTableDataset.
106652func (mdtd MariaDBTableDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
106653	return nil, false
106654}
106655
106656// AsSquareObjectDataset is the BasicDataset implementation for MariaDBTableDataset.
106657func (mdtd MariaDBTableDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
106658	return nil, false
106659}
106660
106661// AsSparkObjectDataset is the BasicDataset implementation for MariaDBTableDataset.
106662func (mdtd MariaDBTableDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
106663	return nil, false
106664}
106665
106666// AsShopifyObjectDataset is the BasicDataset implementation for MariaDBTableDataset.
106667func (mdtd MariaDBTableDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
106668	return nil, false
106669}
106670
106671// AsServiceNowObjectDataset is the BasicDataset implementation for MariaDBTableDataset.
106672func (mdtd MariaDBTableDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
106673	return nil, false
106674}
106675
106676// AsQuickBooksObjectDataset is the BasicDataset implementation for MariaDBTableDataset.
106677func (mdtd MariaDBTableDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
106678	return nil, false
106679}
106680
106681// AsPrestoObjectDataset is the BasicDataset implementation for MariaDBTableDataset.
106682func (mdtd MariaDBTableDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
106683	return nil, false
106684}
106685
106686// AsPhoenixObjectDataset is the BasicDataset implementation for MariaDBTableDataset.
106687func (mdtd MariaDBTableDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
106688	return nil, false
106689}
106690
106691// AsPaypalObjectDataset is the BasicDataset implementation for MariaDBTableDataset.
106692func (mdtd MariaDBTableDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
106693	return nil, false
106694}
106695
106696// AsMarketoObjectDataset is the BasicDataset implementation for MariaDBTableDataset.
106697func (mdtd MariaDBTableDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
106698	return nil, false
106699}
106700
106701// AsMariaDBTableDataset is the BasicDataset implementation for MariaDBTableDataset.
106702func (mdtd MariaDBTableDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
106703	return &mdtd, true
106704}
106705
106706// AsMagentoObjectDataset is the BasicDataset implementation for MariaDBTableDataset.
106707func (mdtd MariaDBTableDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
106708	return nil, false
106709}
106710
106711// AsJiraObjectDataset is the BasicDataset implementation for MariaDBTableDataset.
106712func (mdtd MariaDBTableDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
106713	return nil, false
106714}
106715
106716// AsImpalaObjectDataset is the BasicDataset implementation for MariaDBTableDataset.
106717func (mdtd MariaDBTableDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
106718	return nil, false
106719}
106720
106721// AsHubspotObjectDataset is the BasicDataset implementation for MariaDBTableDataset.
106722func (mdtd MariaDBTableDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
106723	return nil, false
106724}
106725
106726// AsHiveObjectDataset is the BasicDataset implementation for MariaDBTableDataset.
106727func (mdtd MariaDBTableDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
106728	return nil, false
106729}
106730
106731// AsHBaseObjectDataset is the BasicDataset implementation for MariaDBTableDataset.
106732func (mdtd MariaDBTableDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
106733	return nil, false
106734}
106735
106736// AsGreenplumTableDataset is the BasicDataset implementation for MariaDBTableDataset.
106737func (mdtd MariaDBTableDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
106738	return nil, false
106739}
106740
106741// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for MariaDBTableDataset.
106742func (mdtd MariaDBTableDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
106743	return nil, false
106744}
106745
106746// AsEloquaObjectDataset is the BasicDataset implementation for MariaDBTableDataset.
106747func (mdtd MariaDBTableDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
106748	return nil, false
106749}
106750
106751// AsDrillTableDataset is the BasicDataset implementation for MariaDBTableDataset.
106752func (mdtd MariaDBTableDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
106753	return nil, false
106754}
106755
106756// AsCouchbaseTableDataset is the BasicDataset implementation for MariaDBTableDataset.
106757func (mdtd MariaDBTableDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
106758	return nil, false
106759}
106760
106761// AsConcurObjectDataset is the BasicDataset implementation for MariaDBTableDataset.
106762func (mdtd MariaDBTableDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
106763	return nil, false
106764}
106765
106766// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for MariaDBTableDataset.
106767func (mdtd MariaDBTableDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
106768	return nil, false
106769}
106770
106771// AsAmazonMWSObjectDataset is the BasicDataset implementation for MariaDBTableDataset.
106772func (mdtd MariaDBTableDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
106773	return nil, false
106774}
106775
106776// AsHTTPDataset is the BasicDataset implementation for MariaDBTableDataset.
106777func (mdtd MariaDBTableDataset) AsHTTPDataset() (*HTTPDataset, bool) {
106778	return nil, false
106779}
106780
106781// AsAzureSearchIndexDataset is the BasicDataset implementation for MariaDBTableDataset.
106782func (mdtd MariaDBTableDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
106783	return nil, false
106784}
106785
106786// AsWebTableDataset is the BasicDataset implementation for MariaDBTableDataset.
106787func (mdtd MariaDBTableDataset) AsWebTableDataset() (*WebTableDataset, bool) {
106788	return nil, false
106789}
106790
106791// AsSapTableResourceDataset is the BasicDataset implementation for MariaDBTableDataset.
106792func (mdtd MariaDBTableDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) {
106793	return nil, false
106794}
106795
106796// AsRestResourceDataset is the BasicDataset implementation for MariaDBTableDataset.
106797func (mdtd MariaDBTableDataset) AsRestResourceDataset() (*RestResourceDataset, bool) {
106798	return nil, false
106799}
106800
106801// AsSQLServerTableDataset is the BasicDataset implementation for MariaDBTableDataset.
106802func (mdtd MariaDBTableDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
106803	return nil, false
106804}
106805
106806// AsSapOpenHubTableDataset is the BasicDataset implementation for MariaDBTableDataset.
106807func (mdtd MariaDBTableDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) {
106808	return nil, false
106809}
106810
106811// AsSapHanaTableDataset is the BasicDataset implementation for MariaDBTableDataset.
106812func (mdtd MariaDBTableDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) {
106813	return nil, false
106814}
106815
106816// AsSapEccResourceDataset is the BasicDataset implementation for MariaDBTableDataset.
106817func (mdtd MariaDBTableDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
106818	return nil, false
106819}
106820
106821// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for MariaDBTableDataset.
106822func (mdtd MariaDBTableDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
106823	return nil, false
106824}
106825
106826// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for MariaDBTableDataset.
106827func (mdtd MariaDBTableDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) {
106828	return nil, false
106829}
106830
106831// AsSalesforceObjectDataset is the BasicDataset implementation for MariaDBTableDataset.
106832func (mdtd MariaDBTableDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
106833	return nil, false
106834}
106835
106836// AsMicrosoftAccessTableDataset is the BasicDataset implementation for MariaDBTableDataset.
106837func (mdtd MariaDBTableDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) {
106838	return nil, false
106839}
106840
106841// AsPostgreSQLTableDataset is the BasicDataset implementation for MariaDBTableDataset.
106842func (mdtd MariaDBTableDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) {
106843	return nil, false
106844}
106845
106846// AsMySQLTableDataset is the BasicDataset implementation for MariaDBTableDataset.
106847func (mdtd MariaDBTableDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) {
106848	return nil, false
106849}
106850
106851// AsOdbcTableDataset is the BasicDataset implementation for MariaDBTableDataset.
106852func (mdtd MariaDBTableDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) {
106853	return nil, false
106854}
106855
106856// AsInformixTableDataset is the BasicDataset implementation for MariaDBTableDataset.
106857func (mdtd MariaDBTableDataset) AsInformixTableDataset() (*InformixTableDataset, bool) {
106858	return nil, false
106859}
106860
106861// AsRelationalTableDataset is the BasicDataset implementation for MariaDBTableDataset.
106862func (mdtd MariaDBTableDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
106863	return nil, false
106864}
106865
106866// AsAzureMySQLTableDataset is the BasicDataset implementation for MariaDBTableDataset.
106867func (mdtd MariaDBTableDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
106868	return nil, false
106869}
106870
106871// AsTeradataTableDataset is the BasicDataset implementation for MariaDBTableDataset.
106872func (mdtd MariaDBTableDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) {
106873	return nil, false
106874}
106875
106876// AsOracleTableDataset is the BasicDataset implementation for MariaDBTableDataset.
106877func (mdtd MariaDBTableDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
106878	return nil, false
106879}
106880
106881// AsODataResourceDataset is the BasicDataset implementation for MariaDBTableDataset.
106882func (mdtd MariaDBTableDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
106883	return nil, false
106884}
106885
106886// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for MariaDBTableDataset.
106887func (mdtd MariaDBTableDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) {
106888	return nil, false
106889}
106890
106891// AsMongoDbV2CollectionDataset is the BasicDataset implementation for MariaDBTableDataset.
106892func (mdtd MariaDBTableDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) {
106893	return nil, false
106894}
106895
106896// AsMongoDbCollectionDataset is the BasicDataset implementation for MariaDBTableDataset.
106897func (mdtd MariaDBTableDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
106898	return nil, false
106899}
106900
106901// AsFileShareDataset is the BasicDataset implementation for MariaDBTableDataset.
106902func (mdtd MariaDBTableDataset) AsFileShareDataset() (*FileShareDataset, bool) {
106903	return nil, false
106904}
106905
106906// AsOffice365Dataset is the BasicDataset implementation for MariaDBTableDataset.
106907func (mdtd MariaDBTableDataset) AsOffice365Dataset() (*Office365Dataset, bool) {
106908	return nil, false
106909}
106910
106911// AsAzureBlobFSDataset is the BasicDataset implementation for MariaDBTableDataset.
106912func (mdtd MariaDBTableDataset) AsAzureBlobFSDataset() (*AzureBlobFSDataset, bool) {
106913	return nil, false
106914}
106915
106916// AsAzureDataLakeStoreDataset is the BasicDataset implementation for MariaDBTableDataset.
106917func (mdtd MariaDBTableDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) {
106918	return nil, false
106919}
106920
106921// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for MariaDBTableDataset.
106922func (mdtd MariaDBTableDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) {
106923	return nil, false
106924}
106925
106926// AsDynamicsCrmEntityDataset is the BasicDataset implementation for MariaDBTableDataset.
106927func (mdtd MariaDBTableDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) {
106928	return nil, false
106929}
106930
106931// AsDynamicsEntityDataset is the BasicDataset implementation for MariaDBTableDataset.
106932func (mdtd MariaDBTableDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
106933	return nil, false
106934}
106935
106936// AsDocumentDbCollectionDataset is the BasicDataset implementation for MariaDBTableDataset.
106937func (mdtd MariaDBTableDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
106938	return nil, false
106939}
106940
106941// AsCustomDataset is the BasicDataset implementation for MariaDBTableDataset.
106942func (mdtd MariaDBTableDataset) AsCustomDataset() (*CustomDataset, bool) {
106943	return nil, false
106944}
106945
106946// AsCassandraTableDataset is the BasicDataset implementation for MariaDBTableDataset.
106947func (mdtd MariaDBTableDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
106948	return nil, false
106949}
106950
106951// AsAzureSQLDWTableDataset is the BasicDataset implementation for MariaDBTableDataset.
106952func (mdtd MariaDBTableDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
106953	return nil, false
106954}
106955
106956// AsAzureSQLMITableDataset is the BasicDataset implementation for MariaDBTableDataset.
106957func (mdtd MariaDBTableDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) {
106958	return nil, false
106959}
106960
106961// AsAzureSQLTableDataset is the BasicDataset implementation for MariaDBTableDataset.
106962func (mdtd MariaDBTableDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
106963	return nil, false
106964}
106965
106966// AsAzureTableDataset is the BasicDataset implementation for MariaDBTableDataset.
106967func (mdtd MariaDBTableDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
106968	return nil, false
106969}
106970
106971// AsAzureBlobDataset is the BasicDataset implementation for MariaDBTableDataset.
106972func (mdtd MariaDBTableDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) {
106973	return nil, false
106974}
106975
106976// AsBinaryDataset is the BasicDataset implementation for MariaDBTableDataset.
106977func (mdtd MariaDBTableDataset) AsBinaryDataset() (*BinaryDataset, bool) {
106978	return nil, false
106979}
106980
106981// AsDelimitedTextDataset is the BasicDataset implementation for MariaDBTableDataset.
106982func (mdtd MariaDBTableDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) {
106983	return nil, false
106984}
106985
106986// AsParquetDataset is the BasicDataset implementation for MariaDBTableDataset.
106987func (mdtd MariaDBTableDataset) AsParquetDataset() (*ParquetDataset, bool) {
106988	return nil, false
106989}
106990
106991// AsAmazonS3Dataset is the BasicDataset implementation for MariaDBTableDataset.
106992func (mdtd MariaDBTableDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) {
106993	return nil, false
106994}
106995
106996// AsDataset is the BasicDataset implementation for MariaDBTableDataset.
106997func (mdtd MariaDBTableDataset) AsDataset() (*Dataset, bool) {
106998	return nil, false
106999}
107000
107001// AsBasicDataset is the BasicDataset implementation for MariaDBTableDataset.
107002func (mdtd MariaDBTableDataset) AsBasicDataset() (BasicDataset, bool) {
107003	return &mdtd, true
107004}
107005
107006// UnmarshalJSON is the custom unmarshaler for MariaDBTableDataset struct.
107007func (mdtd *MariaDBTableDataset) UnmarshalJSON(body []byte) error {
107008	var m map[string]*json.RawMessage
107009	err := json.Unmarshal(body, &m)
107010	if err != nil {
107011		return err
107012	}
107013	for k, v := range m {
107014		switch k {
107015		case "typeProperties":
107016			if v != nil {
107017				var genericDatasetTypeProperties GenericDatasetTypeProperties
107018				err = json.Unmarshal(*v, &genericDatasetTypeProperties)
107019				if err != nil {
107020					return err
107021				}
107022				mdtd.GenericDatasetTypeProperties = &genericDatasetTypeProperties
107023			}
107024		default:
107025			if v != nil {
107026				var additionalProperties interface{}
107027				err = json.Unmarshal(*v, &additionalProperties)
107028				if err != nil {
107029					return err
107030				}
107031				if mdtd.AdditionalProperties == nil {
107032					mdtd.AdditionalProperties = make(map[string]interface{})
107033				}
107034				mdtd.AdditionalProperties[k] = additionalProperties
107035			}
107036		case "description":
107037			if v != nil {
107038				var description string
107039				err = json.Unmarshal(*v, &description)
107040				if err != nil {
107041					return err
107042				}
107043				mdtd.Description = &description
107044			}
107045		case "structure":
107046			if v != nil {
107047				var structure interface{}
107048				err = json.Unmarshal(*v, &structure)
107049				if err != nil {
107050					return err
107051				}
107052				mdtd.Structure = structure
107053			}
107054		case "schema":
107055			if v != nil {
107056				var schema interface{}
107057				err = json.Unmarshal(*v, &schema)
107058				if err != nil {
107059					return err
107060				}
107061				mdtd.Schema = schema
107062			}
107063		case "linkedServiceName":
107064			if v != nil {
107065				var linkedServiceName LinkedServiceReference
107066				err = json.Unmarshal(*v, &linkedServiceName)
107067				if err != nil {
107068					return err
107069				}
107070				mdtd.LinkedServiceName = &linkedServiceName
107071			}
107072		case "parameters":
107073			if v != nil {
107074				var parameters map[string]*ParameterSpecification
107075				err = json.Unmarshal(*v, &parameters)
107076				if err != nil {
107077					return err
107078				}
107079				mdtd.Parameters = parameters
107080			}
107081		case "annotations":
107082			if v != nil {
107083				var annotations []interface{}
107084				err = json.Unmarshal(*v, &annotations)
107085				if err != nil {
107086					return err
107087				}
107088				mdtd.Annotations = &annotations
107089			}
107090		case "folder":
107091			if v != nil {
107092				var folder DatasetFolder
107093				err = json.Unmarshal(*v, &folder)
107094				if err != nil {
107095					return err
107096				}
107097				mdtd.Folder = &folder
107098			}
107099		case "type":
107100			if v != nil {
107101				var typeVar TypeBasicDataset
107102				err = json.Unmarshal(*v, &typeVar)
107103				if err != nil {
107104					return err
107105				}
107106				mdtd.Type = typeVar
107107			}
107108		}
107109	}
107110
107111	return nil
107112}
107113
107114// MarketoLinkedService marketo server linked service.
107115type MarketoLinkedService struct {
107116	// MarketoLinkedServiceTypeProperties - Marketo server linked service properties.
107117	*MarketoLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
107118	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
107119	AdditionalProperties map[string]interface{} `json:""`
107120	// ConnectVia - The integration runtime reference.
107121	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
107122	// Description - Linked service description.
107123	Description *string `json:"description,omitempty"`
107124	// Parameters - Parameters for linked service.
107125	Parameters map[string]*ParameterSpecification `json:"parameters"`
107126	// Annotations - List of tags that can be used for describing the linked service.
107127	Annotations *[]interface{} `json:"annotations,omitempty"`
107128	// Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', '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', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage'
107129	Type TypeBasicLinkedService `json:"type,omitempty"`
107130}
107131
107132// MarshalJSON is the custom marshaler for MarketoLinkedService.
107133func (mls MarketoLinkedService) MarshalJSON() ([]byte, error) {
107134	mls.Type = TypeMarketo
107135	objectMap := make(map[string]interface{})
107136	if mls.MarketoLinkedServiceTypeProperties != nil {
107137		objectMap["typeProperties"] = mls.MarketoLinkedServiceTypeProperties
107138	}
107139	if mls.ConnectVia != nil {
107140		objectMap["connectVia"] = mls.ConnectVia
107141	}
107142	if mls.Description != nil {
107143		objectMap["description"] = mls.Description
107144	}
107145	if mls.Parameters != nil {
107146		objectMap["parameters"] = mls.Parameters
107147	}
107148	if mls.Annotations != nil {
107149		objectMap["annotations"] = mls.Annotations
107150	}
107151	if mls.Type != "" {
107152		objectMap["type"] = mls.Type
107153	}
107154	for k, v := range mls.AdditionalProperties {
107155		objectMap[k] = v
107156	}
107157	return json.Marshal(objectMap)
107158}
107159
107160// AsAzureFunctionLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
107161func (mls MarketoLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) {
107162	return nil, false
107163}
107164
107165// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
107166func (mls MarketoLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) {
107167	return nil, false
107168}
107169
107170// AsSapTableLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
107171func (mls MarketoLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) {
107172	return nil, false
107173}
107174
107175// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
107176func (mls MarketoLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) {
107177	return nil, false
107178}
107179
107180// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
107181func (mls MarketoLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) {
107182	return nil, false
107183}
107184
107185// AsDynamicsAXLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
107186func (mls MarketoLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) {
107187	return nil, false
107188}
107189
107190// AsResponsysLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
107191func (mls MarketoLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
107192	return nil, false
107193}
107194
107195// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
107196func (mls MarketoLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
107197	return nil, false
107198}
107199
107200// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
107201func (mls MarketoLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
107202	return nil, false
107203}
107204
107205// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
107206func (mls MarketoLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
107207	return nil, false
107208}
107209
107210// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
107211func (mls MarketoLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
107212	return nil, false
107213}
107214
107215// AsNetezzaLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
107216func (mls MarketoLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
107217	return nil, false
107218}
107219
107220// AsVerticaLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
107221func (mls MarketoLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
107222	return nil, false
107223}
107224
107225// AsZohoLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
107226func (mls MarketoLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
107227	return nil, false
107228}
107229
107230// AsXeroLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
107231func (mls MarketoLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
107232	return nil, false
107233}
107234
107235// AsSquareLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
107236func (mls MarketoLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
107237	return nil, false
107238}
107239
107240// AsSparkLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
107241func (mls MarketoLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
107242	return nil, false
107243}
107244
107245// AsShopifyLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
107246func (mls MarketoLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
107247	return nil, false
107248}
107249
107250// AsServiceNowLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
107251func (mls MarketoLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
107252	return nil, false
107253}
107254
107255// AsQuickBooksLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
107256func (mls MarketoLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
107257	return nil, false
107258}
107259
107260// AsPrestoLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
107261func (mls MarketoLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
107262	return nil, false
107263}
107264
107265// AsPhoenixLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
107266func (mls MarketoLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
107267	return nil, false
107268}
107269
107270// AsPaypalLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
107271func (mls MarketoLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
107272	return nil, false
107273}
107274
107275// AsMarketoLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
107276func (mls MarketoLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
107277	return &mls, true
107278}
107279
107280// AsMariaDBLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
107281func (mls MarketoLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
107282	return nil, false
107283}
107284
107285// AsMagentoLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
107286func (mls MarketoLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
107287	return nil, false
107288}
107289
107290// AsJiraLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
107291func (mls MarketoLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
107292	return nil, false
107293}
107294
107295// AsImpalaLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
107296func (mls MarketoLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
107297	return nil, false
107298}
107299
107300// AsHubspotLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
107301func (mls MarketoLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
107302	return nil, false
107303}
107304
107305// AsHiveLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
107306func (mls MarketoLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
107307	return nil, false
107308}
107309
107310// AsHBaseLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
107311func (mls MarketoLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
107312	return nil, false
107313}
107314
107315// AsGreenplumLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
107316func (mls MarketoLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
107317	return nil, false
107318}
107319
107320// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
107321func (mls MarketoLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
107322	return nil, false
107323}
107324
107325// AsEloquaLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
107326func (mls MarketoLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
107327	return nil, false
107328}
107329
107330// AsDrillLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
107331func (mls MarketoLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
107332	return nil, false
107333}
107334
107335// AsCouchbaseLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
107336func (mls MarketoLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
107337	return nil, false
107338}
107339
107340// AsConcurLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
107341func (mls MarketoLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
107342	return nil, false
107343}
107344
107345// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
107346func (mls MarketoLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
107347	return nil, false
107348}
107349
107350// AsAmazonMWSLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
107351func (mls MarketoLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
107352	return nil, false
107353}
107354
107355// AsSapHanaLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
107356func (mls MarketoLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
107357	return nil, false
107358}
107359
107360// AsSapBWLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
107361func (mls MarketoLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
107362	return nil, false
107363}
107364
107365// AsSftpServerLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
107366func (mls MarketoLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
107367	return nil, false
107368}
107369
107370// AsFtpServerLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
107371func (mls MarketoLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
107372	return nil, false
107373}
107374
107375// AsHTTPLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
107376func (mls MarketoLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
107377	return nil, false
107378}
107379
107380// AsAzureSearchLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
107381func (mls MarketoLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
107382	return nil, false
107383}
107384
107385// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
107386func (mls MarketoLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
107387	return nil, false
107388}
107389
107390// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
107391func (mls MarketoLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
107392	return nil, false
107393}
107394
107395// AsAmazonS3LinkedService is the BasicLinkedService implementation for MarketoLinkedService.
107396func (mls MarketoLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
107397	return nil, false
107398}
107399
107400// AsRestServiceLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
107401func (mls MarketoLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) {
107402	return nil, false
107403}
107404
107405// AsSapOpenHubLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
107406func (mls MarketoLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) {
107407	return nil, false
107408}
107409
107410// AsSapEccLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
107411func (mls MarketoLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
107412	return nil, false
107413}
107414
107415// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
107416func (mls MarketoLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
107417	return nil, false
107418}
107419
107420// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
107421func (mls MarketoLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) {
107422	return nil, false
107423}
107424
107425// AsSalesforceLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
107426func (mls MarketoLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
107427	return nil, false
107428}
107429
107430// AsOffice365LinkedService is the BasicLinkedService implementation for MarketoLinkedService.
107431func (mls MarketoLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) {
107432	return nil, false
107433}
107434
107435// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
107436func (mls MarketoLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) {
107437	return nil, false
107438}
107439
107440// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
107441func (mls MarketoLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
107442	return nil, false
107443}
107444
107445// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for MarketoLinkedService.
107446func (mls MarketoLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) {
107447	return nil, false
107448}
107449
107450// AsMongoDbV2LinkedService is the BasicLinkedService implementation for MarketoLinkedService.
107451func (mls MarketoLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) {
107452	return nil, false
107453}
107454
107455// AsMongoDbLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
107456func (mls MarketoLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
107457	return nil, false
107458}
107459
107460// AsCassandraLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
107461func (mls MarketoLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
107462	return nil, false
107463}
107464
107465// AsWebLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
107466func (mls MarketoLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
107467	return nil, false
107468}
107469
107470// AsODataLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
107471func (mls MarketoLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
107472	return nil, false
107473}
107474
107475// AsHdfsLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
107476func (mls MarketoLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
107477	return nil, false
107478}
107479
107480// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
107481func (mls MarketoLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) {
107482	return nil, false
107483}
107484
107485// AsInformixLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
107486func (mls MarketoLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) {
107487	return nil, false
107488}
107489
107490// AsOdbcLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
107491func (mls MarketoLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
107492	return nil, false
107493}
107494
107495// AsAzureMLLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
107496func (mls MarketoLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
107497	return nil, false
107498}
107499
107500// AsTeradataLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
107501func (mls MarketoLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
107502	return nil, false
107503}
107504
107505// AsDb2LinkedService is the BasicLinkedService implementation for MarketoLinkedService.
107506func (mls MarketoLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
107507	return nil, false
107508}
107509
107510// AsSybaseLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
107511func (mls MarketoLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
107512	return nil, false
107513}
107514
107515// AsPostgreSQLLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
107516func (mls MarketoLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
107517	return nil, false
107518}
107519
107520// AsMySQLLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
107521func (mls MarketoLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
107522	return nil, false
107523}
107524
107525// AsAzureMySQLLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
107526func (mls MarketoLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
107527	return nil, false
107528}
107529
107530// AsOracleLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
107531func (mls MarketoLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
107532	return nil, false
107533}
107534
107535// AsFileServerLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
107536func (mls MarketoLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
107537	return nil, false
107538}
107539
107540// AsHDInsightLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
107541func (mls MarketoLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
107542	return nil, false
107543}
107544
107545// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
107546func (mls MarketoLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) {
107547	return nil, false
107548}
107549
107550// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
107551func (mls MarketoLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) {
107552	return nil, false
107553}
107554
107555// AsDynamicsLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
107556func (mls MarketoLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
107557	return nil, false
107558}
107559
107560// AsCosmosDbLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
107561func (mls MarketoLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
107562	return nil, false
107563}
107564
107565// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
107566func (mls MarketoLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
107567	return nil, false
107568}
107569
107570// AsAzureBatchLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
107571func (mls MarketoLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
107572	return nil, false
107573}
107574
107575// AsAzureSQLMILinkedService is the BasicLinkedService implementation for MarketoLinkedService.
107576func (mls MarketoLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) {
107577	return nil, false
107578}
107579
107580// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
107581func (mls MarketoLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
107582	return nil, false
107583}
107584
107585// AsSQLServerLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
107586func (mls MarketoLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
107587	return nil, false
107588}
107589
107590// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
107591func (mls MarketoLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
107592	return nil, false
107593}
107594
107595// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
107596func (mls MarketoLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) {
107597	return nil, false
107598}
107599
107600// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
107601func (mls MarketoLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) {
107602	return nil, false
107603}
107604
107605// AsAzureStorageLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
107606func (mls MarketoLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
107607	return nil, false
107608}
107609
107610// AsLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
107611func (mls MarketoLinkedService) AsLinkedService() (*LinkedService, bool) {
107612	return nil, false
107613}
107614
107615// AsBasicLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
107616func (mls MarketoLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
107617	return &mls, true
107618}
107619
107620// UnmarshalJSON is the custom unmarshaler for MarketoLinkedService struct.
107621func (mls *MarketoLinkedService) UnmarshalJSON(body []byte) error {
107622	var m map[string]*json.RawMessage
107623	err := json.Unmarshal(body, &m)
107624	if err != nil {
107625		return err
107626	}
107627	for k, v := range m {
107628		switch k {
107629		case "typeProperties":
107630			if v != nil {
107631				var marketoLinkedServiceTypeProperties MarketoLinkedServiceTypeProperties
107632				err = json.Unmarshal(*v, &marketoLinkedServiceTypeProperties)
107633				if err != nil {
107634					return err
107635				}
107636				mls.MarketoLinkedServiceTypeProperties = &marketoLinkedServiceTypeProperties
107637			}
107638		default:
107639			if v != nil {
107640				var additionalProperties interface{}
107641				err = json.Unmarshal(*v, &additionalProperties)
107642				if err != nil {
107643					return err
107644				}
107645				if mls.AdditionalProperties == nil {
107646					mls.AdditionalProperties = make(map[string]interface{})
107647				}
107648				mls.AdditionalProperties[k] = additionalProperties
107649			}
107650		case "connectVia":
107651			if v != nil {
107652				var connectVia IntegrationRuntimeReference
107653				err = json.Unmarshal(*v, &connectVia)
107654				if err != nil {
107655					return err
107656				}
107657				mls.ConnectVia = &connectVia
107658			}
107659		case "description":
107660			if v != nil {
107661				var description string
107662				err = json.Unmarshal(*v, &description)
107663				if err != nil {
107664					return err
107665				}
107666				mls.Description = &description
107667			}
107668		case "parameters":
107669			if v != nil {
107670				var parameters map[string]*ParameterSpecification
107671				err = json.Unmarshal(*v, &parameters)
107672				if err != nil {
107673					return err
107674				}
107675				mls.Parameters = parameters
107676			}
107677		case "annotations":
107678			if v != nil {
107679				var annotations []interface{}
107680				err = json.Unmarshal(*v, &annotations)
107681				if err != nil {
107682					return err
107683				}
107684				mls.Annotations = &annotations
107685			}
107686		case "type":
107687			if v != nil {
107688				var typeVar TypeBasicLinkedService
107689				err = json.Unmarshal(*v, &typeVar)
107690				if err != nil {
107691					return err
107692				}
107693				mls.Type = typeVar
107694			}
107695		}
107696	}
107697
107698	return nil
107699}
107700
107701// MarketoLinkedServiceTypeProperties marketo server linked service properties.
107702type MarketoLinkedServiceTypeProperties struct {
107703	// Endpoint - The endpoint of the Marketo server. (i.e. 123-ABC-321.mktorest.com)
107704	Endpoint interface{} `json:"endpoint,omitempty"`
107705	// ClientID - The client Id of your Marketo service.
107706	ClientID interface{} `json:"clientId,omitempty"`
107707	// ClientSecret - The client secret of your Marketo service.
107708	ClientSecret BasicSecretBase `json:"clientSecret,omitempty"`
107709	// UseEncryptedEndpoints - Specifies whether the data source endpoints are encrypted using HTTPS. The default value is true.
107710	UseEncryptedEndpoints interface{} `json:"useEncryptedEndpoints,omitempty"`
107711	// 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.
107712	UseHostVerification interface{} `json:"useHostVerification,omitempty"`
107713	// UsePeerVerification - Specifies whether to verify the identity of the server when connecting over SSL. The default value is true.
107714	UsePeerVerification interface{} `json:"usePeerVerification,omitempty"`
107715	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
107716	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
107717}
107718
107719// UnmarshalJSON is the custom unmarshaler for MarketoLinkedServiceTypeProperties struct.
107720func (mlstp *MarketoLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
107721	var m map[string]*json.RawMessage
107722	err := json.Unmarshal(body, &m)
107723	if err != nil {
107724		return err
107725	}
107726	for k, v := range m {
107727		switch k {
107728		case "endpoint":
107729			if v != nil {
107730				var endpoint interface{}
107731				err = json.Unmarshal(*v, &endpoint)
107732				if err != nil {
107733					return err
107734				}
107735				mlstp.Endpoint = endpoint
107736			}
107737		case "clientId":
107738			if v != nil {
107739				var clientID interface{}
107740				err = json.Unmarshal(*v, &clientID)
107741				if err != nil {
107742					return err
107743				}
107744				mlstp.ClientID = clientID
107745			}
107746		case "clientSecret":
107747			if v != nil {
107748				clientSecret, err := unmarshalBasicSecretBase(*v)
107749				if err != nil {
107750					return err
107751				}
107752				mlstp.ClientSecret = clientSecret
107753			}
107754		case "useEncryptedEndpoints":
107755			if v != nil {
107756				var useEncryptedEndpoints interface{}
107757				err = json.Unmarshal(*v, &useEncryptedEndpoints)
107758				if err != nil {
107759					return err
107760				}
107761				mlstp.UseEncryptedEndpoints = useEncryptedEndpoints
107762			}
107763		case "useHostVerification":
107764			if v != nil {
107765				var useHostVerification interface{}
107766				err = json.Unmarshal(*v, &useHostVerification)
107767				if err != nil {
107768					return err
107769				}
107770				mlstp.UseHostVerification = useHostVerification
107771			}
107772		case "usePeerVerification":
107773			if v != nil {
107774				var usePeerVerification interface{}
107775				err = json.Unmarshal(*v, &usePeerVerification)
107776				if err != nil {
107777					return err
107778				}
107779				mlstp.UsePeerVerification = usePeerVerification
107780			}
107781		case "encryptedCredential":
107782			if v != nil {
107783				var encryptedCredential interface{}
107784				err = json.Unmarshal(*v, &encryptedCredential)
107785				if err != nil {
107786					return err
107787				}
107788				mlstp.EncryptedCredential = encryptedCredential
107789			}
107790		}
107791	}
107792
107793	return nil
107794}
107795
107796// MarketoObjectDataset marketo server dataset.
107797type MarketoObjectDataset struct {
107798	// GenericDatasetTypeProperties - Properties specific to this dataset type.
107799	*GenericDatasetTypeProperties `json:"typeProperties,omitempty"`
107800	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
107801	AdditionalProperties map[string]interface{} `json:""`
107802	// Description - Dataset description.
107803	Description *string `json:"description,omitempty"`
107804	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
107805	Structure interface{} `json:"structure,omitempty"`
107806	// Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement.
107807	Schema interface{} `json:"schema,omitempty"`
107808	// LinkedServiceName - Linked service reference.
107809	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
107810	// Parameters - Parameters for dataset.
107811	Parameters map[string]*ParameterSpecification `json:"parameters"`
107812	// Annotations - List of tags that can be used for describing the Dataset.
107813	Annotations *[]interface{} `json:"annotations,omitempty"`
107814	// Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level.
107815	Folder *DatasetFolder `json:"folder,omitempty"`
107816	// Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', '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', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeDelimitedText', 'TypeParquet', 'TypeAmazonS3Object'
107817	Type TypeBasicDataset `json:"type,omitempty"`
107818}
107819
107820// MarshalJSON is the custom marshaler for MarketoObjectDataset.
107821func (mod MarketoObjectDataset) MarshalJSON() ([]byte, error) {
107822	mod.Type = TypeMarketoObject
107823	objectMap := make(map[string]interface{})
107824	if mod.GenericDatasetTypeProperties != nil {
107825		objectMap["typeProperties"] = mod.GenericDatasetTypeProperties
107826	}
107827	if mod.Description != nil {
107828		objectMap["description"] = mod.Description
107829	}
107830	if mod.Structure != nil {
107831		objectMap["structure"] = mod.Structure
107832	}
107833	if mod.Schema != nil {
107834		objectMap["schema"] = mod.Schema
107835	}
107836	if mod.LinkedServiceName != nil {
107837		objectMap["linkedServiceName"] = mod.LinkedServiceName
107838	}
107839	if mod.Parameters != nil {
107840		objectMap["parameters"] = mod.Parameters
107841	}
107842	if mod.Annotations != nil {
107843		objectMap["annotations"] = mod.Annotations
107844	}
107845	if mod.Folder != nil {
107846		objectMap["folder"] = mod.Folder
107847	}
107848	if mod.Type != "" {
107849		objectMap["type"] = mod.Type
107850	}
107851	for k, v := range mod.AdditionalProperties {
107852		objectMap[k] = v
107853	}
107854	return json.Marshal(objectMap)
107855}
107856
107857// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for MarketoObjectDataset.
107858func (mod MarketoObjectDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) {
107859	return nil, false
107860}
107861
107862// AsAzureDataExplorerTableDataset is the BasicDataset implementation for MarketoObjectDataset.
107863func (mod MarketoObjectDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) {
107864	return nil, false
107865}
107866
107867// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for MarketoObjectDataset.
107868func (mod MarketoObjectDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) {
107869	return nil, false
107870}
107871
107872// AsDynamicsAXResourceDataset is the BasicDataset implementation for MarketoObjectDataset.
107873func (mod MarketoObjectDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) {
107874	return nil, false
107875}
107876
107877// AsResponsysObjectDataset is the BasicDataset implementation for MarketoObjectDataset.
107878func (mod MarketoObjectDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
107879	return nil, false
107880}
107881
107882// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for MarketoObjectDataset.
107883func (mod MarketoObjectDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
107884	return nil, false
107885}
107886
107887// AsVerticaTableDataset is the BasicDataset implementation for MarketoObjectDataset.
107888func (mod MarketoObjectDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
107889	return nil, false
107890}
107891
107892// AsNetezzaTableDataset is the BasicDataset implementation for MarketoObjectDataset.
107893func (mod MarketoObjectDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
107894	return nil, false
107895}
107896
107897// AsZohoObjectDataset is the BasicDataset implementation for MarketoObjectDataset.
107898func (mod MarketoObjectDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
107899	return nil, false
107900}
107901
107902// AsXeroObjectDataset is the BasicDataset implementation for MarketoObjectDataset.
107903func (mod MarketoObjectDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
107904	return nil, false
107905}
107906
107907// AsSquareObjectDataset is the BasicDataset implementation for MarketoObjectDataset.
107908func (mod MarketoObjectDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
107909	return nil, false
107910}
107911
107912// AsSparkObjectDataset is the BasicDataset implementation for MarketoObjectDataset.
107913func (mod MarketoObjectDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
107914	return nil, false
107915}
107916
107917// AsShopifyObjectDataset is the BasicDataset implementation for MarketoObjectDataset.
107918func (mod MarketoObjectDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
107919	return nil, false
107920}
107921
107922// AsServiceNowObjectDataset is the BasicDataset implementation for MarketoObjectDataset.
107923func (mod MarketoObjectDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
107924	return nil, false
107925}
107926
107927// AsQuickBooksObjectDataset is the BasicDataset implementation for MarketoObjectDataset.
107928func (mod MarketoObjectDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
107929	return nil, false
107930}
107931
107932// AsPrestoObjectDataset is the BasicDataset implementation for MarketoObjectDataset.
107933func (mod MarketoObjectDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
107934	return nil, false
107935}
107936
107937// AsPhoenixObjectDataset is the BasicDataset implementation for MarketoObjectDataset.
107938func (mod MarketoObjectDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
107939	return nil, false
107940}
107941
107942// AsPaypalObjectDataset is the BasicDataset implementation for MarketoObjectDataset.
107943func (mod MarketoObjectDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
107944	return nil, false
107945}
107946
107947// AsMarketoObjectDataset is the BasicDataset implementation for MarketoObjectDataset.
107948func (mod MarketoObjectDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
107949	return &mod, true
107950}
107951
107952// AsMariaDBTableDataset is the BasicDataset implementation for MarketoObjectDataset.
107953func (mod MarketoObjectDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
107954	return nil, false
107955}
107956
107957// AsMagentoObjectDataset is the BasicDataset implementation for MarketoObjectDataset.
107958func (mod MarketoObjectDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
107959	return nil, false
107960}
107961
107962// AsJiraObjectDataset is the BasicDataset implementation for MarketoObjectDataset.
107963func (mod MarketoObjectDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
107964	return nil, false
107965}
107966
107967// AsImpalaObjectDataset is the BasicDataset implementation for MarketoObjectDataset.
107968func (mod MarketoObjectDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
107969	return nil, false
107970}
107971
107972// AsHubspotObjectDataset is the BasicDataset implementation for MarketoObjectDataset.
107973func (mod MarketoObjectDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
107974	return nil, false
107975}
107976
107977// AsHiveObjectDataset is the BasicDataset implementation for MarketoObjectDataset.
107978func (mod MarketoObjectDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
107979	return nil, false
107980}
107981
107982// AsHBaseObjectDataset is the BasicDataset implementation for MarketoObjectDataset.
107983func (mod MarketoObjectDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
107984	return nil, false
107985}
107986
107987// AsGreenplumTableDataset is the BasicDataset implementation for MarketoObjectDataset.
107988func (mod MarketoObjectDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
107989	return nil, false
107990}
107991
107992// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for MarketoObjectDataset.
107993func (mod MarketoObjectDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
107994	return nil, false
107995}
107996
107997// AsEloquaObjectDataset is the BasicDataset implementation for MarketoObjectDataset.
107998func (mod MarketoObjectDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
107999	return nil, false
108000}
108001
108002// AsDrillTableDataset is the BasicDataset implementation for MarketoObjectDataset.
108003func (mod MarketoObjectDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
108004	return nil, false
108005}
108006
108007// AsCouchbaseTableDataset is the BasicDataset implementation for MarketoObjectDataset.
108008func (mod MarketoObjectDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
108009	return nil, false
108010}
108011
108012// AsConcurObjectDataset is the BasicDataset implementation for MarketoObjectDataset.
108013func (mod MarketoObjectDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
108014	return nil, false
108015}
108016
108017// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for MarketoObjectDataset.
108018func (mod MarketoObjectDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
108019	return nil, false
108020}
108021
108022// AsAmazonMWSObjectDataset is the BasicDataset implementation for MarketoObjectDataset.
108023func (mod MarketoObjectDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
108024	return nil, false
108025}
108026
108027// AsHTTPDataset is the BasicDataset implementation for MarketoObjectDataset.
108028func (mod MarketoObjectDataset) AsHTTPDataset() (*HTTPDataset, bool) {
108029	return nil, false
108030}
108031
108032// AsAzureSearchIndexDataset is the BasicDataset implementation for MarketoObjectDataset.
108033func (mod MarketoObjectDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
108034	return nil, false
108035}
108036
108037// AsWebTableDataset is the BasicDataset implementation for MarketoObjectDataset.
108038func (mod MarketoObjectDataset) AsWebTableDataset() (*WebTableDataset, bool) {
108039	return nil, false
108040}
108041
108042// AsSapTableResourceDataset is the BasicDataset implementation for MarketoObjectDataset.
108043func (mod MarketoObjectDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) {
108044	return nil, false
108045}
108046
108047// AsRestResourceDataset is the BasicDataset implementation for MarketoObjectDataset.
108048func (mod MarketoObjectDataset) AsRestResourceDataset() (*RestResourceDataset, bool) {
108049	return nil, false
108050}
108051
108052// AsSQLServerTableDataset is the BasicDataset implementation for MarketoObjectDataset.
108053func (mod MarketoObjectDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
108054	return nil, false
108055}
108056
108057// AsSapOpenHubTableDataset is the BasicDataset implementation for MarketoObjectDataset.
108058func (mod MarketoObjectDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) {
108059	return nil, false
108060}
108061
108062// AsSapHanaTableDataset is the BasicDataset implementation for MarketoObjectDataset.
108063func (mod MarketoObjectDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) {
108064	return nil, false
108065}
108066
108067// AsSapEccResourceDataset is the BasicDataset implementation for MarketoObjectDataset.
108068func (mod MarketoObjectDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
108069	return nil, false
108070}
108071
108072// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for MarketoObjectDataset.
108073func (mod MarketoObjectDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
108074	return nil, false
108075}
108076
108077// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for MarketoObjectDataset.
108078func (mod MarketoObjectDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) {
108079	return nil, false
108080}
108081
108082// AsSalesforceObjectDataset is the BasicDataset implementation for MarketoObjectDataset.
108083func (mod MarketoObjectDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
108084	return nil, false
108085}
108086
108087// AsMicrosoftAccessTableDataset is the BasicDataset implementation for MarketoObjectDataset.
108088func (mod MarketoObjectDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) {
108089	return nil, false
108090}
108091
108092// AsPostgreSQLTableDataset is the BasicDataset implementation for MarketoObjectDataset.
108093func (mod MarketoObjectDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) {
108094	return nil, false
108095}
108096
108097// AsMySQLTableDataset is the BasicDataset implementation for MarketoObjectDataset.
108098func (mod MarketoObjectDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) {
108099	return nil, false
108100}
108101
108102// AsOdbcTableDataset is the BasicDataset implementation for MarketoObjectDataset.
108103func (mod MarketoObjectDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) {
108104	return nil, false
108105}
108106
108107// AsInformixTableDataset is the BasicDataset implementation for MarketoObjectDataset.
108108func (mod MarketoObjectDataset) AsInformixTableDataset() (*InformixTableDataset, bool) {
108109	return nil, false
108110}
108111
108112// AsRelationalTableDataset is the BasicDataset implementation for MarketoObjectDataset.
108113func (mod MarketoObjectDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
108114	return nil, false
108115}
108116
108117// AsAzureMySQLTableDataset is the BasicDataset implementation for MarketoObjectDataset.
108118func (mod MarketoObjectDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
108119	return nil, false
108120}
108121
108122// AsTeradataTableDataset is the BasicDataset implementation for MarketoObjectDataset.
108123func (mod MarketoObjectDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) {
108124	return nil, false
108125}
108126
108127// AsOracleTableDataset is the BasicDataset implementation for MarketoObjectDataset.
108128func (mod MarketoObjectDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
108129	return nil, false
108130}
108131
108132// AsODataResourceDataset is the BasicDataset implementation for MarketoObjectDataset.
108133func (mod MarketoObjectDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
108134	return nil, false
108135}
108136
108137// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for MarketoObjectDataset.
108138func (mod MarketoObjectDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) {
108139	return nil, false
108140}
108141
108142// AsMongoDbV2CollectionDataset is the BasicDataset implementation for MarketoObjectDataset.
108143func (mod MarketoObjectDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) {
108144	return nil, false
108145}
108146
108147// AsMongoDbCollectionDataset is the BasicDataset implementation for MarketoObjectDataset.
108148func (mod MarketoObjectDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
108149	return nil, false
108150}
108151
108152// AsFileShareDataset is the BasicDataset implementation for MarketoObjectDataset.
108153func (mod MarketoObjectDataset) AsFileShareDataset() (*FileShareDataset, bool) {
108154	return nil, false
108155}
108156
108157// AsOffice365Dataset is the BasicDataset implementation for MarketoObjectDataset.
108158func (mod MarketoObjectDataset) AsOffice365Dataset() (*Office365Dataset, bool) {
108159	return nil, false
108160}
108161
108162// AsAzureBlobFSDataset is the BasicDataset implementation for MarketoObjectDataset.
108163func (mod MarketoObjectDataset) AsAzureBlobFSDataset() (*AzureBlobFSDataset, bool) {
108164	return nil, false
108165}
108166
108167// AsAzureDataLakeStoreDataset is the BasicDataset implementation for MarketoObjectDataset.
108168func (mod MarketoObjectDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) {
108169	return nil, false
108170}
108171
108172// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for MarketoObjectDataset.
108173func (mod MarketoObjectDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) {
108174	return nil, false
108175}
108176
108177// AsDynamicsCrmEntityDataset is the BasicDataset implementation for MarketoObjectDataset.
108178func (mod MarketoObjectDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) {
108179	return nil, false
108180}
108181
108182// AsDynamicsEntityDataset is the BasicDataset implementation for MarketoObjectDataset.
108183func (mod MarketoObjectDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
108184	return nil, false
108185}
108186
108187// AsDocumentDbCollectionDataset is the BasicDataset implementation for MarketoObjectDataset.
108188func (mod MarketoObjectDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
108189	return nil, false
108190}
108191
108192// AsCustomDataset is the BasicDataset implementation for MarketoObjectDataset.
108193func (mod MarketoObjectDataset) AsCustomDataset() (*CustomDataset, bool) {
108194	return nil, false
108195}
108196
108197// AsCassandraTableDataset is the BasicDataset implementation for MarketoObjectDataset.
108198func (mod MarketoObjectDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
108199	return nil, false
108200}
108201
108202// AsAzureSQLDWTableDataset is the BasicDataset implementation for MarketoObjectDataset.
108203func (mod MarketoObjectDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
108204	return nil, false
108205}
108206
108207// AsAzureSQLMITableDataset is the BasicDataset implementation for MarketoObjectDataset.
108208func (mod MarketoObjectDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) {
108209	return nil, false
108210}
108211
108212// AsAzureSQLTableDataset is the BasicDataset implementation for MarketoObjectDataset.
108213func (mod MarketoObjectDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
108214	return nil, false
108215}
108216
108217// AsAzureTableDataset is the BasicDataset implementation for MarketoObjectDataset.
108218func (mod MarketoObjectDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
108219	return nil, false
108220}
108221
108222// AsAzureBlobDataset is the BasicDataset implementation for MarketoObjectDataset.
108223func (mod MarketoObjectDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) {
108224	return nil, false
108225}
108226
108227// AsBinaryDataset is the BasicDataset implementation for MarketoObjectDataset.
108228func (mod MarketoObjectDataset) AsBinaryDataset() (*BinaryDataset, bool) {
108229	return nil, false
108230}
108231
108232// AsDelimitedTextDataset is the BasicDataset implementation for MarketoObjectDataset.
108233func (mod MarketoObjectDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) {
108234	return nil, false
108235}
108236
108237// AsParquetDataset is the BasicDataset implementation for MarketoObjectDataset.
108238func (mod MarketoObjectDataset) AsParquetDataset() (*ParquetDataset, bool) {
108239	return nil, false
108240}
108241
108242// AsAmazonS3Dataset is the BasicDataset implementation for MarketoObjectDataset.
108243func (mod MarketoObjectDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) {
108244	return nil, false
108245}
108246
108247// AsDataset is the BasicDataset implementation for MarketoObjectDataset.
108248func (mod MarketoObjectDataset) AsDataset() (*Dataset, bool) {
108249	return nil, false
108250}
108251
108252// AsBasicDataset is the BasicDataset implementation for MarketoObjectDataset.
108253func (mod MarketoObjectDataset) AsBasicDataset() (BasicDataset, bool) {
108254	return &mod, true
108255}
108256
108257// UnmarshalJSON is the custom unmarshaler for MarketoObjectDataset struct.
108258func (mod *MarketoObjectDataset) UnmarshalJSON(body []byte) error {
108259	var m map[string]*json.RawMessage
108260	err := json.Unmarshal(body, &m)
108261	if err != nil {
108262		return err
108263	}
108264	for k, v := range m {
108265		switch k {
108266		case "typeProperties":
108267			if v != nil {
108268				var genericDatasetTypeProperties GenericDatasetTypeProperties
108269				err = json.Unmarshal(*v, &genericDatasetTypeProperties)
108270				if err != nil {
108271					return err
108272				}
108273				mod.GenericDatasetTypeProperties = &genericDatasetTypeProperties
108274			}
108275		default:
108276			if v != nil {
108277				var additionalProperties interface{}
108278				err = json.Unmarshal(*v, &additionalProperties)
108279				if err != nil {
108280					return err
108281				}
108282				if mod.AdditionalProperties == nil {
108283					mod.AdditionalProperties = make(map[string]interface{})
108284				}
108285				mod.AdditionalProperties[k] = additionalProperties
108286			}
108287		case "description":
108288			if v != nil {
108289				var description string
108290				err = json.Unmarshal(*v, &description)
108291				if err != nil {
108292					return err
108293				}
108294				mod.Description = &description
108295			}
108296		case "structure":
108297			if v != nil {
108298				var structure interface{}
108299				err = json.Unmarshal(*v, &structure)
108300				if err != nil {
108301					return err
108302				}
108303				mod.Structure = structure
108304			}
108305		case "schema":
108306			if v != nil {
108307				var schema interface{}
108308				err = json.Unmarshal(*v, &schema)
108309				if err != nil {
108310					return err
108311				}
108312				mod.Schema = schema
108313			}
108314		case "linkedServiceName":
108315			if v != nil {
108316				var linkedServiceName LinkedServiceReference
108317				err = json.Unmarshal(*v, &linkedServiceName)
108318				if err != nil {
108319					return err
108320				}
108321				mod.LinkedServiceName = &linkedServiceName
108322			}
108323		case "parameters":
108324			if v != nil {
108325				var parameters map[string]*ParameterSpecification
108326				err = json.Unmarshal(*v, &parameters)
108327				if err != nil {
108328					return err
108329				}
108330				mod.Parameters = parameters
108331			}
108332		case "annotations":
108333			if v != nil {
108334				var annotations []interface{}
108335				err = json.Unmarshal(*v, &annotations)
108336				if err != nil {
108337					return err
108338				}
108339				mod.Annotations = &annotations
108340			}
108341		case "folder":
108342			if v != nil {
108343				var folder DatasetFolder
108344				err = json.Unmarshal(*v, &folder)
108345				if err != nil {
108346					return err
108347				}
108348				mod.Folder = &folder
108349			}
108350		case "type":
108351			if v != nil {
108352				var typeVar TypeBasicDataset
108353				err = json.Unmarshal(*v, &typeVar)
108354				if err != nil {
108355					return err
108356				}
108357				mod.Type = typeVar
108358			}
108359		}
108360	}
108361
108362	return nil
108363}
108364
108365// MarketoSource a copy activity Marketo server source.
108366type MarketoSource struct {
108367	// Query - A query to retrieve data from source. Type: string (or Expression with resultType string).
108368	Query interface{} `json:"query,omitempty"`
108369	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
108370	AdditionalProperties map[string]interface{} `json:""`
108371	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
108372	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
108373	// 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])).
108374	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
108375	// MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer).
108376	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
108377	// Type - Possible values include: 'TypeCopySource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', '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', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeCassandraSource', 'TypeWebSource', 'TypeTeradataSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeAzureMySQLSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeRestSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceServiceCloudSource', 'TypeSalesforceSource', 'TypeODataSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeMicrosoftAccessSource', 'TypeInformixSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAzureTableSource', 'TypeBinarySource', 'TypeDelimitedTextSource', 'TypeParquetSource'
108378	Type TypeBasicCopySource `json:"type,omitempty"`
108379}
108380
108381// MarshalJSON is the custom marshaler for MarketoSource.
108382func (ms MarketoSource) MarshalJSON() ([]byte, error) {
108383	ms.Type = TypeMarketoSource
108384	objectMap := make(map[string]interface{})
108385	if ms.Query != nil {
108386		objectMap["query"] = ms.Query
108387	}
108388	if ms.SourceRetryCount != nil {
108389		objectMap["sourceRetryCount"] = ms.SourceRetryCount
108390	}
108391	if ms.SourceRetryWait != nil {
108392		objectMap["sourceRetryWait"] = ms.SourceRetryWait
108393	}
108394	if ms.MaxConcurrentConnections != nil {
108395		objectMap["maxConcurrentConnections"] = ms.MaxConcurrentConnections
108396	}
108397	if ms.Type != "" {
108398		objectMap["type"] = ms.Type
108399	}
108400	for k, v := range ms.AdditionalProperties {
108401		objectMap[k] = v
108402	}
108403	return json.Marshal(objectMap)
108404}
108405
108406// AsAmazonRedshiftSource is the BasicCopySource implementation for MarketoSource.
108407func (ms MarketoSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
108408	return nil, false
108409}
108410
108411// AsGoogleAdWordsSource is the BasicCopySource implementation for MarketoSource.
108412func (ms MarketoSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) {
108413	return nil, false
108414}
108415
108416// AsOracleServiceCloudSource is the BasicCopySource implementation for MarketoSource.
108417func (ms MarketoSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) {
108418	return nil, false
108419}
108420
108421// AsDynamicsAXSource is the BasicCopySource implementation for MarketoSource.
108422func (ms MarketoSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) {
108423	return nil, false
108424}
108425
108426// AsResponsysSource is the BasicCopySource implementation for MarketoSource.
108427func (ms MarketoSource) AsResponsysSource() (*ResponsysSource, bool) {
108428	return nil, false
108429}
108430
108431// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for MarketoSource.
108432func (ms MarketoSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
108433	return nil, false
108434}
108435
108436// AsVerticaSource is the BasicCopySource implementation for MarketoSource.
108437func (ms MarketoSource) AsVerticaSource() (*VerticaSource, bool) {
108438	return nil, false
108439}
108440
108441// AsNetezzaSource is the BasicCopySource implementation for MarketoSource.
108442func (ms MarketoSource) AsNetezzaSource() (*NetezzaSource, bool) {
108443	return nil, false
108444}
108445
108446// AsZohoSource is the BasicCopySource implementation for MarketoSource.
108447func (ms MarketoSource) AsZohoSource() (*ZohoSource, bool) {
108448	return nil, false
108449}
108450
108451// AsXeroSource is the BasicCopySource implementation for MarketoSource.
108452func (ms MarketoSource) AsXeroSource() (*XeroSource, bool) {
108453	return nil, false
108454}
108455
108456// AsSquareSource is the BasicCopySource implementation for MarketoSource.
108457func (ms MarketoSource) AsSquareSource() (*SquareSource, bool) {
108458	return nil, false
108459}
108460
108461// AsSparkSource is the BasicCopySource implementation for MarketoSource.
108462func (ms MarketoSource) AsSparkSource() (*SparkSource, bool) {
108463	return nil, false
108464}
108465
108466// AsShopifySource is the BasicCopySource implementation for MarketoSource.
108467func (ms MarketoSource) AsShopifySource() (*ShopifySource, bool) {
108468	return nil, false
108469}
108470
108471// AsServiceNowSource is the BasicCopySource implementation for MarketoSource.
108472func (ms MarketoSource) AsServiceNowSource() (*ServiceNowSource, bool) {
108473	return nil, false
108474}
108475
108476// AsQuickBooksSource is the BasicCopySource implementation for MarketoSource.
108477func (ms MarketoSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
108478	return nil, false
108479}
108480
108481// AsPrestoSource is the BasicCopySource implementation for MarketoSource.
108482func (ms MarketoSource) AsPrestoSource() (*PrestoSource, bool) {
108483	return nil, false
108484}
108485
108486// AsPhoenixSource is the BasicCopySource implementation for MarketoSource.
108487func (ms MarketoSource) AsPhoenixSource() (*PhoenixSource, bool) {
108488	return nil, false
108489}
108490
108491// AsPaypalSource is the BasicCopySource implementation for MarketoSource.
108492func (ms MarketoSource) AsPaypalSource() (*PaypalSource, bool) {
108493	return nil, false
108494}
108495
108496// AsMarketoSource is the BasicCopySource implementation for MarketoSource.
108497func (ms MarketoSource) AsMarketoSource() (*MarketoSource, bool) {
108498	return &ms, true
108499}
108500
108501// AsMariaDBSource is the BasicCopySource implementation for MarketoSource.
108502func (ms MarketoSource) AsMariaDBSource() (*MariaDBSource, bool) {
108503	return nil, false
108504}
108505
108506// AsMagentoSource is the BasicCopySource implementation for MarketoSource.
108507func (ms MarketoSource) AsMagentoSource() (*MagentoSource, bool) {
108508	return nil, false
108509}
108510
108511// AsJiraSource is the BasicCopySource implementation for MarketoSource.
108512func (ms MarketoSource) AsJiraSource() (*JiraSource, bool) {
108513	return nil, false
108514}
108515
108516// AsImpalaSource is the BasicCopySource implementation for MarketoSource.
108517func (ms MarketoSource) AsImpalaSource() (*ImpalaSource, bool) {
108518	return nil, false
108519}
108520
108521// AsHubspotSource is the BasicCopySource implementation for MarketoSource.
108522func (ms MarketoSource) AsHubspotSource() (*HubspotSource, bool) {
108523	return nil, false
108524}
108525
108526// AsHiveSource is the BasicCopySource implementation for MarketoSource.
108527func (ms MarketoSource) AsHiveSource() (*HiveSource, bool) {
108528	return nil, false
108529}
108530
108531// AsHBaseSource is the BasicCopySource implementation for MarketoSource.
108532func (ms MarketoSource) AsHBaseSource() (*HBaseSource, bool) {
108533	return nil, false
108534}
108535
108536// AsGreenplumSource is the BasicCopySource implementation for MarketoSource.
108537func (ms MarketoSource) AsGreenplumSource() (*GreenplumSource, bool) {
108538	return nil, false
108539}
108540
108541// AsGoogleBigQuerySource is the BasicCopySource implementation for MarketoSource.
108542func (ms MarketoSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
108543	return nil, false
108544}
108545
108546// AsEloquaSource is the BasicCopySource implementation for MarketoSource.
108547func (ms MarketoSource) AsEloquaSource() (*EloquaSource, bool) {
108548	return nil, false
108549}
108550
108551// AsDrillSource is the BasicCopySource implementation for MarketoSource.
108552func (ms MarketoSource) AsDrillSource() (*DrillSource, bool) {
108553	return nil, false
108554}
108555
108556// AsCouchbaseSource is the BasicCopySource implementation for MarketoSource.
108557func (ms MarketoSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
108558	return nil, false
108559}
108560
108561// AsConcurSource is the BasicCopySource implementation for MarketoSource.
108562func (ms MarketoSource) AsConcurSource() (*ConcurSource, bool) {
108563	return nil, false
108564}
108565
108566// AsAzurePostgreSQLSource is the BasicCopySource implementation for MarketoSource.
108567func (ms MarketoSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
108568	return nil, false
108569}
108570
108571// AsAmazonMWSSource is the BasicCopySource implementation for MarketoSource.
108572func (ms MarketoSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
108573	return nil, false
108574}
108575
108576// AsHTTPSource is the BasicCopySource implementation for MarketoSource.
108577func (ms MarketoSource) AsHTTPSource() (*HTTPSource, bool) {
108578	return nil, false
108579}
108580
108581// AsAzureBlobFSSource is the BasicCopySource implementation for MarketoSource.
108582func (ms MarketoSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) {
108583	return nil, false
108584}
108585
108586// AsAzureDataLakeStoreSource is the BasicCopySource implementation for MarketoSource.
108587func (ms MarketoSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
108588	return nil, false
108589}
108590
108591// AsOffice365Source is the BasicCopySource implementation for MarketoSource.
108592func (ms MarketoSource) AsOffice365Source() (*Office365Source, bool) {
108593	return nil, false
108594}
108595
108596// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for MarketoSource.
108597func (ms MarketoSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) {
108598	return nil, false
108599}
108600
108601// AsMongoDbV2Source is the BasicCopySource implementation for MarketoSource.
108602func (ms MarketoSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) {
108603	return nil, false
108604}
108605
108606// AsMongoDbSource is the BasicCopySource implementation for MarketoSource.
108607func (ms MarketoSource) AsMongoDbSource() (*MongoDbSource, bool) {
108608	return nil, false
108609}
108610
108611// AsCassandraSource is the BasicCopySource implementation for MarketoSource.
108612func (ms MarketoSource) AsCassandraSource() (*CassandraSource, bool) {
108613	return nil, false
108614}
108615
108616// AsWebSource is the BasicCopySource implementation for MarketoSource.
108617func (ms MarketoSource) AsWebSource() (*WebSource, bool) {
108618	return nil, false
108619}
108620
108621// AsTeradataSource is the BasicCopySource implementation for MarketoSource.
108622func (ms MarketoSource) AsTeradataSource() (*TeradataSource, bool) {
108623	return nil, false
108624}
108625
108626// AsOracleSource is the BasicCopySource implementation for MarketoSource.
108627func (ms MarketoSource) AsOracleSource() (*OracleSource, bool) {
108628	return nil, false
108629}
108630
108631// AsAzureDataExplorerSource is the BasicCopySource implementation for MarketoSource.
108632func (ms MarketoSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) {
108633	return nil, false
108634}
108635
108636// AsAzureMySQLSource is the BasicCopySource implementation for MarketoSource.
108637func (ms MarketoSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
108638	return nil, false
108639}
108640
108641// AsHdfsSource is the BasicCopySource implementation for MarketoSource.
108642func (ms MarketoSource) AsHdfsSource() (*HdfsSource, bool) {
108643	return nil, false
108644}
108645
108646// AsFileSystemSource is the BasicCopySource implementation for MarketoSource.
108647func (ms MarketoSource) AsFileSystemSource() (*FileSystemSource, bool) {
108648	return nil, false
108649}
108650
108651// AsSQLDWSource is the BasicCopySource implementation for MarketoSource.
108652func (ms MarketoSource) AsSQLDWSource() (*SQLDWSource, bool) {
108653	return nil, false
108654}
108655
108656// AsSQLMISource is the BasicCopySource implementation for MarketoSource.
108657func (ms MarketoSource) AsSQLMISource() (*SQLMISource, bool) {
108658	return nil, false
108659}
108660
108661// AsAzureSQLSource is the BasicCopySource implementation for MarketoSource.
108662func (ms MarketoSource) AsAzureSQLSource() (*AzureSQLSource, bool) {
108663	return nil, false
108664}
108665
108666// AsSQLServerSource is the BasicCopySource implementation for MarketoSource.
108667func (ms MarketoSource) AsSQLServerSource() (*SQLServerSource, bool) {
108668	return nil, false
108669}
108670
108671// AsSQLSource is the BasicCopySource implementation for MarketoSource.
108672func (ms MarketoSource) AsSQLSource() (*SQLSource, bool) {
108673	return nil, false
108674}
108675
108676// AsRestSource is the BasicCopySource implementation for MarketoSource.
108677func (ms MarketoSource) AsRestSource() (*RestSource, bool) {
108678	return nil, false
108679}
108680
108681// AsSapTableSource is the BasicCopySource implementation for MarketoSource.
108682func (ms MarketoSource) AsSapTableSource() (*SapTableSource, bool) {
108683	return nil, false
108684}
108685
108686// AsSapOpenHubSource is the BasicCopySource implementation for MarketoSource.
108687func (ms MarketoSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) {
108688	return nil, false
108689}
108690
108691// AsSapHanaSource is the BasicCopySource implementation for MarketoSource.
108692func (ms MarketoSource) AsSapHanaSource() (*SapHanaSource, bool) {
108693	return nil, false
108694}
108695
108696// AsSapEccSource is the BasicCopySource implementation for MarketoSource.
108697func (ms MarketoSource) AsSapEccSource() (*SapEccSource, bool) {
108698	return nil, false
108699}
108700
108701// AsSapCloudForCustomerSource is the BasicCopySource implementation for MarketoSource.
108702func (ms MarketoSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
108703	return nil, false
108704}
108705
108706// AsSalesforceServiceCloudSource is the BasicCopySource implementation for MarketoSource.
108707func (ms MarketoSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) {
108708	return nil, false
108709}
108710
108711// AsSalesforceSource is the BasicCopySource implementation for MarketoSource.
108712func (ms MarketoSource) AsSalesforceSource() (*SalesforceSource, bool) {
108713	return nil, false
108714}
108715
108716// AsODataSource is the BasicCopySource implementation for MarketoSource.
108717func (ms MarketoSource) AsODataSource() (*ODataSource, bool) {
108718	return nil, false
108719}
108720
108721// AsSybaseSource is the BasicCopySource implementation for MarketoSource.
108722func (ms MarketoSource) AsSybaseSource() (*SybaseSource, bool) {
108723	return nil, false
108724}
108725
108726// AsPostgreSQLSource is the BasicCopySource implementation for MarketoSource.
108727func (ms MarketoSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) {
108728	return nil, false
108729}
108730
108731// AsMySQLSource is the BasicCopySource implementation for MarketoSource.
108732func (ms MarketoSource) AsMySQLSource() (*MySQLSource, bool) {
108733	return nil, false
108734}
108735
108736// AsOdbcSource is the BasicCopySource implementation for MarketoSource.
108737func (ms MarketoSource) AsOdbcSource() (*OdbcSource, bool) {
108738	return nil, false
108739}
108740
108741// AsDb2Source is the BasicCopySource implementation for MarketoSource.
108742func (ms MarketoSource) AsDb2Source() (*Db2Source, bool) {
108743	return nil, false
108744}
108745
108746// AsMicrosoftAccessSource is the BasicCopySource implementation for MarketoSource.
108747func (ms MarketoSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) {
108748	return nil, false
108749}
108750
108751// AsInformixSource is the BasicCopySource implementation for MarketoSource.
108752func (ms MarketoSource) AsInformixSource() (*InformixSource, bool) {
108753	return nil, false
108754}
108755
108756// AsRelationalSource is the BasicCopySource implementation for MarketoSource.
108757func (ms MarketoSource) AsRelationalSource() (*RelationalSource, bool) {
108758	return nil, false
108759}
108760
108761// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for MarketoSource.
108762func (ms MarketoSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) {
108763	return nil, false
108764}
108765
108766// AsDynamicsCrmSource is the BasicCopySource implementation for MarketoSource.
108767func (ms MarketoSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) {
108768	return nil, false
108769}
108770
108771// AsDynamicsSource is the BasicCopySource implementation for MarketoSource.
108772func (ms MarketoSource) AsDynamicsSource() (*DynamicsSource, bool) {
108773	return nil, false
108774}
108775
108776// AsDocumentDbCollectionSource is the BasicCopySource implementation for MarketoSource.
108777func (ms MarketoSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
108778	return nil, false
108779}
108780
108781// AsBlobSource is the BasicCopySource implementation for MarketoSource.
108782func (ms MarketoSource) AsBlobSource() (*BlobSource, bool) {
108783	return nil, false
108784}
108785
108786// AsAzureTableSource is the BasicCopySource implementation for MarketoSource.
108787func (ms MarketoSource) AsAzureTableSource() (*AzureTableSource, bool) {
108788	return nil, false
108789}
108790
108791// AsBinarySource is the BasicCopySource implementation for MarketoSource.
108792func (ms MarketoSource) AsBinarySource() (*BinarySource, bool) {
108793	return nil, false
108794}
108795
108796// AsDelimitedTextSource is the BasicCopySource implementation for MarketoSource.
108797func (ms MarketoSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) {
108798	return nil, false
108799}
108800
108801// AsParquetSource is the BasicCopySource implementation for MarketoSource.
108802func (ms MarketoSource) AsParquetSource() (*ParquetSource, bool) {
108803	return nil, false
108804}
108805
108806// AsCopySource is the BasicCopySource implementation for MarketoSource.
108807func (ms MarketoSource) AsCopySource() (*CopySource, bool) {
108808	return nil, false
108809}
108810
108811// AsBasicCopySource is the BasicCopySource implementation for MarketoSource.
108812func (ms MarketoSource) AsBasicCopySource() (BasicCopySource, bool) {
108813	return &ms, true
108814}
108815
108816// UnmarshalJSON is the custom unmarshaler for MarketoSource struct.
108817func (ms *MarketoSource) UnmarshalJSON(body []byte) error {
108818	var m map[string]*json.RawMessage
108819	err := json.Unmarshal(body, &m)
108820	if err != nil {
108821		return err
108822	}
108823	for k, v := range m {
108824		switch k {
108825		case "query":
108826			if v != nil {
108827				var query interface{}
108828				err = json.Unmarshal(*v, &query)
108829				if err != nil {
108830					return err
108831				}
108832				ms.Query = query
108833			}
108834		default:
108835			if v != nil {
108836				var additionalProperties interface{}
108837				err = json.Unmarshal(*v, &additionalProperties)
108838				if err != nil {
108839					return err
108840				}
108841				if ms.AdditionalProperties == nil {
108842					ms.AdditionalProperties = make(map[string]interface{})
108843				}
108844				ms.AdditionalProperties[k] = additionalProperties
108845			}
108846		case "sourceRetryCount":
108847			if v != nil {
108848				var sourceRetryCount interface{}
108849				err = json.Unmarshal(*v, &sourceRetryCount)
108850				if err != nil {
108851					return err
108852				}
108853				ms.SourceRetryCount = sourceRetryCount
108854			}
108855		case "sourceRetryWait":
108856			if v != nil {
108857				var sourceRetryWait interface{}
108858				err = json.Unmarshal(*v, &sourceRetryWait)
108859				if err != nil {
108860					return err
108861				}
108862				ms.SourceRetryWait = sourceRetryWait
108863			}
108864		case "maxConcurrentConnections":
108865			if v != nil {
108866				var maxConcurrentConnections interface{}
108867				err = json.Unmarshal(*v, &maxConcurrentConnections)
108868				if err != nil {
108869					return err
108870				}
108871				ms.MaxConcurrentConnections = maxConcurrentConnections
108872			}
108873		case "type":
108874			if v != nil {
108875				var typeVar TypeBasicCopySource
108876				err = json.Unmarshal(*v, &typeVar)
108877				if err != nil {
108878					return err
108879				}
108880				ms.Type = typeVar
108881			}
108882		}
108883	}
108884
108885	return nil
108886}
108887
108888// MicrosoftAccessLinkedService microsoft Access linked service.
108889type MicrosoftAccessLinkedService struct {
108890	// MicrosoftAccessLinkedServiceTypeProperties - Microsoft Access linked service properties.
108891	*MicrosoftAccessLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
108892	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
108893	AdditionalProperties map[string]interface{} `json:""`
108894	// ConnectVia - The integration runtime reference.
108895	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
108896	// Description - Linked service description.
108897	Description *string `json:"description,omitempty"`
108898	// Parameters - Parameters for linked service.
108899	Parameters map[string]*ParameterSpecification `json:"parameters"`
108900	// Annotations - List of tags that can be used for describing the linked service.
108901	Annotations *[]interface{} `json:"annotations,omitempty"`
108902	// Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', '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', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage'
108903	Type TypeBasicLinkedService `json:"type,omitempty"`
108904}
108905
108906// MarshalJSON is the custom marshaler for MicrosoftAccessLinkedService.
108907func (mals MicrosoftAccessLinkedService) MarshalJSON() ([]byte, error) {
108908	mals.Type = TypeMicrosoftAccess
108909	objectMap := make(map[string]interface{})
108910	if mals.MicrosoftAccessLinkedServiceTypeProperties != nil {
108911		objectMap["typeProperties"] = mals.MicrosoftAccessLinkedServiceTypeProperties
108912	}
108913	if mals.ConnectVia != nil {
108914		objectMap["connectVia"] = mals.ConnectVia
108915	}
108916	if mals.Description != nil {
108917		objectMap["description"] = mals.Description
108918	}
108919	if mals.Parameters != nil {
108920		objectMap["parameters"] = mals.Parameters
108921	}
108922	if mals.Annotations != nil {
108923		objectMap["annotations"] = mals.Annotations
108924	}
108925	if mals.Type != "" {
108926		objectMap["type"] = mals.Type
108927	}
108928	for k, v := range mals.AdditionalProperties {
108929		objectMap[k] = v
108930	}
108931	return json.Marshal(objectMap)
108932}
108933
108934// AsAzureFunctionLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService.
108935func (mals MicrosoftAccessLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) {
108936	return nil, false
108937}
108938
108939// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService.
108940func (mals MicrosoftAccessLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) {
108941	return nil, false
108942}
108943
108944// AsSapTableLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService.
108945func (mals MicrosoftAccessLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) {
108946	return nil, false
108947}
108948
108949// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService.
108950func (mals MicrosoftAccessLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) {
108951	return nil, false
108952}
108953
108954// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService.
108955func (mals MicrosoftAccessLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) {
108956	return nil, false
108957}
108958
108959// AsDynamicsAXLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService.
108960func (mals MicrosoftAccessLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) {
108961	return nil, false
108962}
108963
108964// AsResponsysLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService.
108965func (mals MicrosoftAccessLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
108966	return nil, false
108967}
108968
108969// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService.
108970func (mals MicrosoftAccessLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
108971	return nil, false
108972}
108973
108974// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService.
108975func (mals MicrosoftAccessLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
108976	return nil, false
108977}
108978
108979// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService.
108980func (mals MicrosoftAccessLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
108981	return nil, false
108982}
108983
108984// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService.
108985func (mals MicrosoftAccessLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
108986	return nil, false
108987}
108988
108989// AsNetezzaLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService.
108990func (mals MicrosoftAccessLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
108991	return nil, false
108992}
108993
108994// AsVerticaLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService.
108995func (mals MicrosoftAccessLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
108996	return nil, false
108997}
108998
108999// AsZohoLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService.
109000func (mals MicrosoftAccessLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
109001	return nil, false
109002}
109003
109004// AsXeroLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService.
109005func (mals MicrosoftAccessLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
109006	return nil, false
109007}
109008
109009// AsSquareLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService.
109010func (mals MicrosoftAccessLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
109011	return nil, false
109012}
109013
109014// AsSparkLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService.
109015func (mals MicrosoftAccessLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
109016	return nil, false
109017}
109018
109019// AsShopifyLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService.
109020func (mals MicrosoftAccessLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
109021	return nil, false
109022}
109023
109024// AsServiceNowLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService.
109025func (mals MicrosoftAccessLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
109026	return nil, false
109027}
109028
109029// AsQuickBooksLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService.
109030func (mals MicrosoftAccessLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
109031	return nil, false
109032}
109033
109034// AsPrestoLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService.
109035func (mals MicrosoftAccessLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
109036	return nil, false
109037}
109038
109039// AsPhoenixLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService.
109040func (mals MicrosoftAccessLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
109041	return nil, false
109042}
109043
109044// AsPaypalLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService.
109045func (mals MicrosoftAccessLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
109046	return nil, false
109047}
109048
109049// AsMarketoLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService.
109050func (mals MicrosoftAccessLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
109051	return nil, false
109052}
109053
109054// AsMariaDBLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService.
109055func (mals MicrosoftAccessLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
109056	return nil, false
109057}
109058
109059// AsMagentoLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService.
109060func (mals MicrosoftAccessLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
109061	return nil, false
109062}
109063
109064// AsJiraLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService.
109065func (mals MicrosoftAccessLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
109066	return nil, false
109067}
109068
109069// AsImpalaLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService.
109070func (mals MicrosoftAccessLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
109071	return nil, false
109072}
109073
109074// AsHubspotLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService.
109075func (mals MicrosoftAccessLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
109076	return nil, false
109077}
109078
109079// AsHiveLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService.
109080func (mals MicrosoftAccessLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
109081	return nil, false
109082}
109083
109084// AsHBaseLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService.
109085func (mals MicrosoftAccessLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
109086	return nil, false
109087}
109088
109089// AsGreenplumLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService.
109090func (mals MicrosoftAccessLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
109091	return nil, false
109092}
109093
109094// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService.
109095func (mals MicrosoftAccessLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
109096	return nil, false
109097}
109098
109099// AsEloquaLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService.
109100func (mals MicrosoftAccessLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
109101	return nil, false
109102}
109103
109104// AsDrillLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService.
109105func (mals MicrosoftAccessLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
109106	return nil, false
109107}
109108
109109// AsCouchbaseLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService.
109110func (mals MicrosoftAccessLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
109111	return nil, false
109112}
109113
109114// AsConcurLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService.
109115func (mals MicrosoftAccessLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
109116	return nil, false
109117}
109118
109119// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService.
109120func (mals MicrosoftAccessLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
109121	return nil, false
109122}
109123
109124// AsAmazonMWSLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService.
109125func (mals MicrosoftAccessLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
109126	return nil, false
109127}
109128
109129// AsSapHanaLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService.
109130func (mals MicrosoftAccessLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
109131	return nil, false
109132}
109133
109134// AsSapBWLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService.
109135func (mals MicrosoftAccessLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
109136	return nil, false
109137}
109138
109139// AsSftpServerLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService.
109140func (mals MicrosoftAccessLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
109141	return nil, false
109142}
109143
109144// AsFtpServerLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService.
109145func (mals MicrosoftAccessLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
109146	return nil, false
109147}
109148
109149// AsHTTPLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService.
109150func (mals MicrosoftAccessLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
109151	return nil, false
109152}
109153
109154// AsAzureSearchLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService.
109155func (mals MicrosoftAccessLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
109156	return nil, false
109157}
109158
109159// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService.
109160func (mals MicrosoftAccessLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
109161	return nil, false
109162}
109163
109164// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService.
109165func (mals MicrosoftAccessLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
109166	return nil, false
109167}
109168
109169// AsAmazonS3LinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService.
109170func (mals MicrosoftAccessLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
109171	return nil, false
109172}
109173
109174// AsRestServiceLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService.
109175func (mals MicrosoftAccessLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) {
109176	return nil, false
109177}
109178
109179// AsSapOpenHubLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService.
109180func (mals MicrosoftAccessLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) {
109181	return nil, false
109182}
109183
109184// AsSapEccLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService.
109185func (mals MicrosoftAccessLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
109186	return nil, false
109187}
109188
109189// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService.
109190func (mals MicrosoftAccessLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
109191	return nil, false
109192}
109193
109194// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService.
109195func (mals MicrosoftAccessLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) {
109196	return nil, false
109197}
109198
109199// AsSalesforceLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService.
109200func (mals MicrosoftAccessLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
109201	return nil, false
109202}
109203
109204// AsOffice365LinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService.
109205func (mals MicrosoftAccessLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) {
109206	return nil, false
109207}
109208
109209// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService.
109210func (mals MicrosoftAccessLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) {
109211	return nil, false
109212}
109213
109214// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService.
109215func (mals MicrosoftAccessLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
109216	return nil, false
109217}
109218
109219// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService.
109220func (mals MicrosoftAccessLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) {
109221	return nil, false
109222}
109223
109224// AsMongoDbV2LinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService.
109225func (mals MicrosoftAccessLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) {
109226	return nil, false
109227}
109228
109229// AsMongoDbLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService.
109230func (mals MicrosoftAccessLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
109231	return nil, false
109232}
109233
109234// AsCassandraLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService.
109235func (mals MicrosoftAccessLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
109236	return nil, false
109237}
109238
109239// AsWebLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService.
109240func (mals MicrosoftAccessLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
109241	return nil, false
109242}
109243
109244// AsODataLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService.
109245func (mals MicrosoftAccessLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
109246	return nil, false
109247}
109248
109249// AsHdfsLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService.
109250func (mals MicrosoftAccessLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
109251	return nil, false
109252}
109253
109254// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService.
109255func (mals MicrosoftAccessLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) {
109256	return &mals, true
109257}
109258
109259// AsInformixLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService.
109260func (mals MicrosoftAccessLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) {
109261	return nil, false
109262}
109263
109264// AsOdbcLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService.
109265func (mals MicrosoftAccessLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
109266	return nil, false
109267}
109268
109269// AsAzureMLLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService.
109270func (mals MicrosoftAccessLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
109271	return nil, false
109272}
109273
109274// AsTeradataLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService.
109275func (mals MicrosoftAccessLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
109276	return nil, false
109277}
109278
109279// AsDb2LinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService.
109280func (mals MicrosoftAccessLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
109281	return nil, false
109282}
109283
109284// AsSybaseLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService.
109285func (mals MicrosoftAccessLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
109286	return nil, false
109287}
109288
109289// AsPostgreSQLLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService.
109290func (mals MicrosoftAccessLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
109291	return nil, false
109292}
109293
109294// AsMySQLLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService.
109295func (mals MicrosoftAccessLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
109296	return nil, false
109297}
109298
109299// AsAzureMySQLLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService.
109300func (mals MicrosoftAccessLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
109301	return nil, false
109302}
109303
109304// AsOracleLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService.
109305func (mals MicrosoftAccessLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
109306	return nil, false
109307}
109308
109309// AsFileServerLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService.
109310func (mals MicrosoftAccessLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
109311	return nil, false
109312}
109313
109314// AsHDInsightLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService.
109315func (mals MicrosoftAccessLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
109316	return nil, false
109317}
109318
109319// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService.
109320func (mals MicrosoftAccessLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) {
109321	return nil, false
109322}
109323
109324// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService.
109325func (mals MicrosoftAccessLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) {
109326	return nil, false
109327}
109328
109329// AsDynamicsLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService.
109330func (mals MicrosoftAccessLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
109331	return nil, false
109332}
109333
109334// AsCosmosDbLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService.
109335func (mals MicrosoftAccessLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
109336	return nil, false
109337}
109338
109339// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService.
109340func (mals MicrosoftAccessLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
109341	return nil, false
109342}
109343
109344// AsAzureBatchLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService.
109345func (mals MicrosoftAccessLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
109346	return nil, false
109347}
109348
109349// AsAzureSQLMILinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService.
109350func (mals MicrosoftAccessLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) {
109351	return nil, false
109352}
109353
109354// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService.
109355func (mals MicrosoftAccessLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
109356	return nil, false
109357}
109358
109359// AsSQLServerLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService.
109360func (mals MicrosoftAccessLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
109361	return nil, false
109362}
109363
109364// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService.
109365func (mals MicrosoftAccessLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
109366	return nil, false
109367}
109368
109369// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService.
109370func (mals MicrosoftAccessLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) {
109371	return nil, false
109372}
109373
109374// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService.
109375func (mals MicrosoftAccessLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) {
109376	return nil, false
109377}
109378
109379// AsAzureStorageLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService.
109380func (mals MicrosoftAccessLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
109381	return nil, false
109382}
109383
109384// AsLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService.
109385func (mals MicrosoftAccessLinkedService) AsLinkedService() (*LinkedService, bool) {
109386	return nil, false
109387}
109388
109389// AsBasicLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService.
109390func (mals MicrosoftAccessLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
109391	return &mals, true
109392}
109393
109394// UnmarshalJSON is the custom unmarshaler for MicrosoftAccessLinkedService struct.
109395func (mals *MicrosoftAccessLinkedService) UnmarshalJSON(body []byte) error {
109396	var m map[string]*json.RawMessage
109397	err := json.Unmarshal(body, &m)
109398	if err != nil {
109399		return err
109400	}
109401	for k, v := range m {
109402		switch k {
109403		case "typeProperties":
109404			if v != nil {
109405				var microsoftAccessLinkedServiceTypeProperties MicrosoftAccessLinkedServiceTypeProperties
109406				err = json.Unmarshal(*v, &microsoftAccessLinkedServiceTypeProperties)
109407				if err != nil {
109408					return err
109409				}
109410				mals.MicrosoftAccessLinkedServiceTypeProperties = &microsoftAccessLinkedServiceTypeProperties
109411			}
109412		default:
109413			if v != nil {
109414				var additionalProperties interface{}
109415				err = json.Unmarshal(*v, &additionalProperties)
109416				if err != nil {
109417					return err
109418				}
109419				if mals.AdditionalProperties == nil {
109420					mals.AdditionalProperties = make(map[string]interface{})
109421				}
109422				mals.AdditionalProperties[k] = additionalProperties
109423			}
109424		case "connectVia":
109425			if v != nil {
109426				var connectVia IntegrationRuntimeReference
109427				err = json.Unmarshal(*v, &connectVia)
109428				if err != nil {
109429					return err
109430				}
109431				mals.ConnectVia = &connectVia
109432			}
109433		case "description":
109434			if v != nil {
109435				var description string
109436				err = json.Unmarshal(*v, &description)
109437				if err != nil {
109438					return err
109439				}
109440				mals.Description = &description
109441			}
109442		case "parameters":
109443			if v != nil {
109444				var parameters map[string]*ParameterSpecification
109445				err = json.Unmarshal(*v, &parameters)
109446				if err != nil {
109447					return err
109448				}
109449				mals.Parameters = parameters
109450			}
109451		case "annotations":
109452			if v != nil {
109453				var annotations []interface{}
109454				err = json.Unmarshal(*v, &annotations)
109455				if err != nil {
109456					return err
109457				}
109458				mals.Annotations = &annotations
109459			}
109460		case "type":
109461			if v != nil {
109462				var typeVar TypeBasicLinkedService
109463				err = json.Unmarshal(*v, &typeVar)
109464				if err != nil {
109465					return err
109466				}
109467				mals.Type = typeVar
109468			}
109469		}
109470	}
109471
109472	return nil
109473}
109474
109475// MicrosoftAccessLinkedServiceTypeProperties microsoft Access linked service properties.
109476type MicrosoftAccessLinkedServiceTypeProperties struct {
109477	// ConnectionString - The non-access credential portion of the connection string as well as an optional encrypted credential. Type: string, SecureString or AzureKeyVaultSecretReference.
109478	ConnectionString interface{} `json:"connectionString,omitempty"`
109479	// AuthenticationType - Type of authentication used to connect to the Microsoft Access as ODBC data store. Possible values are: Anonymous and Basic. Type: string (or Expression with resultType string).
109480	AuthenticationType interface{} `json:"authenticationType,omitempty"`
109481	// Credential - The access credential portion of the connection string specified in driver-specific property-value format.
109482	Credential BasicSecretBase `json:"credential,omitempty"`
109483	// UserName - User name for Basic authentication. Type: string (or Expression with resultType string).
109484	UserName interface{} `json:"userName,omitempty"`
109485	// Password - Password for Basic authentication.
109486	Password BasicSecretBase `json:"password,omitempty"`
109487	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
109488	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
109489}
109490
109491// UnmarshalJSON is the custom unmarshaler for MicrosoftAccessLinkedServiceTypeProperties struct.
109492func (malstp *MicrosoftAccessLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
109493	var m map[string]*json.RawMessage
109494	err := json.Unmarshal(body, &m)
109495	if err != nil {
109496		return err
109497	}
109498	for k, v := range m {
109499		switch k {
109500		case "connectionString":
109501			if v != nil {
109502				var connectionString interface{}
109503				err = json.Unmarshal(*v, &connectionString)
109504				if err != nil {
109505					return err
109506				}
109507				malstp.ConnectionString = connectionString
109508			}
109509		case "authenticationType":
109510			if v != nil {
109511				var authenticationType interface{}
109512				err = json.Unmarshal(*v, &authenticationType)
109513				if err != nil {
109514					return err
109515				}
109516				malstp.AuthenticationType = authenticationType
109517			}
109518		case "credential":
109519			if v != nil {
109520				credential, err := unmarshalBasicSecretBase(*v)
109521				if err != nil {
109522					return err
109523				}
109524				malstp.Credential = credential
109525			}
109526		case "userName":
109527			if v != nil {
109528				var userName interface{}
109529				err = json.Unmarshal(*v, &userName)
109530				if err != nil {
109531					return err
109532				}
109533				malstp.UserName = userName
109534			}
109535		case "password":
109536			if v != nil {
109537				password, err := unmarshalBasicSecretBase(*v)
109538				if err != nil {
109539					return err
109540				}
109541				malstp.Password = password
109542			}
109543		case "encryptedCredential":
109544			if v != nil {
109545				var encryptedCredential interface{}
109546				err = json.Unmarshal(*v, &encryptedCredential)
109547				if err != nil {
109548					return err
109549				}
109550				malstp.EncryptedCredential = encryptedCredential
109551			}
109552		}
109553	}
109554
109555	return nil
109556}
109557
109558// MicrosoftAccessSink a copy activity Microsoft Access sink.
109559type MicrosoftAccessSink struct {
109560	// PreCopyScript - A query to execute before starting the copy. Type: string (or Expression with resultType string).
109561	PreCopyScript interface{} `json:"preCopyScript,omitempty"`
109562	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
109563	AdditionalProperties map[string]interface{} `json:""`
109564	// WriteBatchSize - Write batch size. Type: integer (or Expression with resultType integer), minimum: 0.
109565	WriteBatchSize interface{} `json:"writeBatchSize,omitempty"`
109566	// 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])).
109567	WriteBatchTimeout interface{} `json:"writeBatchTimeout,omitempty"`
109568	// SinkRetryCount - Sink retry count. Type: integer (or Expression with resultType integer).
109569	SinkRetryCount interface{} `json:"sinkRetryCount,omitempty"`
109570	// 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])).
109571	SinkRetryWait interface{} `json:"sinkRetryWait,omitempty"`
109572	// MaxConcurrentConnections - The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer).
109573	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
109574	// Type - Possible values include: 'TypeCopySink', 'TypeCosmosDbMongoDbAPISink', 'TypeSalesforceServiceCloudSink', 'TypeSalesforceSink', 'TypeAzureDataExplorerSink', 'TypeCommonDataServiceForAppsSink', 'TypeDynamicsCrmSink', 'TypeDynamicsSink', 'TypeMicrosoftAccessSink', 'TypeInformixSink', 'TypeOdbcSink', 'TypeAzureSearchIndexSink', 'TypeAzureBlobFSSink', 'TypeAzureDataLakeStoreSink', 'TypeOracleSink', 'TypeSQLDWSink', 'TypeSQLMISink', 'TypeAzureSQLSink', 'TypeSQLServerSink', 'TypeSQLSink', 'TypeDocumentDbCollectionSink', 'TypeFileSystemSink', 'TypeBlobSink', 'TypeBinarySink', 'TypeParquetSink', 'TypeAzureTableSink', 'TypeAzureQueueSink', 'TypeSapCloudForCustomerSink', 'TypeAzurePostgreSQLSink', 'TypeDelimitedTextSink'
109575	Type TypeBasicCopySink `json:"type,omitempty"`
109576}
109577
109578// MarshalJSON is the custom marshaler for MicrosoftAccessSink.
109579func (mas MicrosoftAccessSink) MarshalJSON() ([]byte, error) {
109580	mas.Type = TypeMicrosoftAccessSink
109581	objectMap := make(map[string]interface{})
109582	if mas.PreCopyScript != nil {
109583		objectMap["preCopyScript"] = mas.PreCopyScript
109584	}
109585	if mas.WriteBatchSize != nil {
109586		objectMap["writeBatchSize"] = mas.WriteBatchSize
109587	}
109588	if mas.WriteBatchTimeout != nil {
109589		objectMap["writeBatchTimeout"] = mas.WriteBatchTimeout
109590	}
109591	if mas.SinkRetryCount != nil {
109592		objectMap["sinkRetryCount"] = mas.SinkRetryCount
109593	}
109594	if mas.SinkRetryWait != nil {
109595		objectMap["sinkRetryWait"] = mas.SinkRetryWait
109596	}
109597	if mas.MaxConcurrentConnections != nil {
109598		objectMap["maxConcurrentConnections"] = mas.MaxConcurrentConnections
109599	}
109600	if mas.Type != "" {
109601		objectMap["type"] = mas.Type
109602	}
109603	for k, v := range mas.AdditionalProperties {
109604		objectMap[k] = v
109605	}
109606	return json.Marshal(objectMap)
109607}
109608
109609// AsCosmosDbMongoDbAPISink is the BasicCopySink implementation for MicrosoftAccessSink.
109610func (mas MicrosoftAccessSink) AsCosmosDbMongoDbAPISink() (*CosmosDbMongoDbAPISink, bool) {
109611	return nil, false
109612}
109613
109614// AsSalesforceServiceCloudSink is the BasicCopySink implementation for MicrosoftAccessSink.
109615func (mas MicrosoftAccessSink) AsSalesforceServiceCloudSink() (*SalesforceServiceCloudSink, bool) {
109616	return nil, false
109617}
109618
109619// AsSalesforceSink is the BasicCopySink implementation for MicrosoftAccessSink.
109620func (mas MicrosoftAccessSink) AsSalesforceSink() (*SalesforceSink, bool) {
109621	return nil, false
109622}
109623
109624// AsAzureDataExplorerSink is the BasicCopySink implementation for MicrosoftAccessSink.
109625func (mas MicrosoftAccessSink) AsAzureDataExplorerSink() (*AzureDataExplorerSink, bool) {
109626	return nil, false
109627}
109628
109629// AsCommonDataServiceForAppsSink is the BasicCopySink implementation for MicrosoftAccessSink.
109630func (mas MicrosoftAccessSink) AsCommonDataServiceForAppsSink() (*CommonDataServiceForAppsSink, bool) {
109631	return nil, false
109632}
109633
109634// AsDynamicsCrmSink is the BasicCopySink implementation for MicrosoftAccessSink.
109635func (mas MicrosoftAccessSink) AsDynamicsCrmSink() (*DynamicsCrmSink, bool) {
109636	return nil, false
109637}
109638
109639// AsDynamicsSink is the BasicCopySink implementation for MicrosoftAccessSink.
109640func (mas MicrosoftAccessSink) AsDynamicsSink() (*DynamicsSink, bool) {
109641	return nil, false
109642}
109643
109644// AsMicrosoftAccessSink is the BasicCopySink implementation for MicrosoftAccessSink.
109645func (mas MicrosoftAccessSink) AsMicrosoftAccessSink() (*MicrosoftAccessSink, bool) {
109646	return &mas, true
109647}
109648
109649// AsInformixSink is the BasicCopySink implementation for MicrosoftAccessSink.
109650func (mas MicrosoftAccessSink) AsInformixSink() (*InformixSink, bool) {
109651	return nil, false
109652}
109653
109654// AsOdbcSink is the BasicCopySink implementation for MicrosoftAccessSink.
109655func (mas MicrosoftAccessSink) AsOdbcSink() (*OdbcSink, bool) {
109656	return nil, false
109657}
109658
109659// AsAzureSearchIndexSink is the BasicCopySink implementation for MicrosoftAccessSink.
109660func (mas MicrosoftAccessSink) AsAzureSearchIndexSink() (*AzureSearchIndexSink, bool) {
109661	return nil, false
109662}
109663
109664// AsAzureBlobFSSink is the BasicCopySink implementation for MicrosoftAccessSink.
109665func (mas MicrosoftAccessSink) AsAzureBlobFSSink() (*AzureBlobFSSink, bool) {
109666	return nil, false
109667}
109668
109669// AsAzureDataLakeStoreSink is the BasicCopySink implementation for MicrosoftAccessSink.
109670func (mas MicrosoftAccessSink) AsAzureDataLakeStoreSink() (*AzureDataLakeStoreSink, bool) {
109671	return nil, false
109672}
109673
109674// AsOracleSink is the BasicCopySink implementation for MicrosoftAccessSink.
109675func (mas MicrosoftAccessSink) AsOracleSink() (*OracleSink, bool) {
109676	return nil, false
109677}
109678
109679// AsSQLDWSink is the BasicCopySink implementation for MicrosoftAccessSink.
109680func (mas MicrosoftAccessSink) AsSQLDWSink() (*SQLDWSink, bool) {
109681	return nil, false
109682}
109683
109684// AsSQLMISink is the BasicCopySink implementation for MicrosoftAccessSink.
109685func (mas MicrosoftAccessSink) AsSQLMISink() (*SQLMISink, bool) {
109686	return nil, false
109687}
109688
109689// AsAzureSQLSink is the BasicCopySink implementation for MicrosoftAccessSink.
109690func (mas MicrosoftAccessSink) AsAzureSQLSink() (*AzureSQLSink, bool) {
109691	return nil, false
109692}
109693
109694// AsSQLServerSink is the BasicCopySink implementation for MicrosoftAccessSink.
109695func (mas MicrosoftAccessSink) AsSQLServerSink() (*SQLServerSink, bool) {
109696	return nil, false
109697}
109698
109699// AsSQLSink is the BasicCopySink implementation for MicrosoftAccessSink.
109700func (mas MicrosoftAccessSink) AsSQLSink() (*SQLSink, bool) {
109701	return nil, false
109702}
109703
109704// AsDocumentDbCollectionSink is the BasicCopySink implementation for MicrosoftAccessSink.
109705func (mas MicrosoftAccessSink) AsDocumentDbCollectionSink() (*DocumentDbCollectionSink, bool) {
109706	return nil, false
109707}
109708
109709// AsFileSystemSink is the BasicCopySink implementation for MicrosoftAccessSink.
109710func (mas MicrosoftAccessSink) AsFileSystemSink() (*FileSystemSink, bool) {
109711	return nil, false
109712}
109713
109714// AsBlobSink is the BasicCopySink implementation for MicrosoftAccessSink.
109715func (mas MicrosoftAccessSink) AsBlobSink() (*BlobSink, bool) {
109716	return nil, false
109717}
109718
109719// AsBinarySink is the BasicCopySink implementation for MicrosoftAccessSink.
109720func (mas MicrosoftAccessSink) AsBinarySink() (*BinarySink, bool) {
109721	return nil, false
109722}
109723
109724// AsParquetSink is the BasicCopySink implementation for MicrosoftAccessSink.
109725func (mas MicrosoftAccessSink) AsParquetSink() (*ParquetSink, bool) {
109726	return nil, false
109727}
109728
109729// AsAzureTableSink is the BasicCopySink implementation for MicrosoftAccessSink.
109730func (mas MicrosoftAccessSink) AsAzureTableSink() (*AzureTableSink, bool) {
109731	return nil, false
109732}
109733
109734// AsAzureQueueSink is the BasicCopySink implementation for MicrosoftAccessSink.
109735func (mas MicrosoftAccessSink) AsAzureQueueSink() (*AzureQueueSink, bool) {
109736	return nil, false
109737}
109738
109739// AsSapCloudForCustomerSink is the BasicCopySink implementation for MicrosoftAccessSink.
109740func (mas MicrosoftAccessSink) AsSapCloudForCustomerSink() (*SapCloudForCustomerSink, bool) {
109741	return nil, false
109742}
109743
109744// AsAzurePostgreSQLSink is the BasicCopySink implementation for MicrosoftAccessSink.
109745func (mas MicrosoftAccessSink) AsAzurePostgreSQLSink() (*AzurePostgreSQLSink, bool) {
109746	return nil, false
109747}
109748
109749// AsDelimitedTextSink is the BasicCopySink implementation for MicrosoftAccessSink.
109750func (mas MicrosoftAccessSink) AsDelimitedTextSink() (*DelimitedTextSink, bool) {
109751	return nil, false
109752}
109753
109754// AsCopySink is the BasicCopySink implementation for MicrosoftAccessSink.
109755func (mas MicrosoftAccessSink) AsCopySink() (*CopySink, bool) {
109756	return nil, false
109757}
109758
109759// AsBasicCopySink is the BasicCopySink implementation for MicrosoftAccessSink.
109760func (mas MicrosoftAccessSink) AsBasicCopySink() (BasicCopySink, bool) {
109761	return &mas, true
109762}
109763
109764// UnmarshalJSON is the custom unmarshaler for MicrosoftAccessSink struct.
109765func (mas *MicrosoftAccessSink) UnmarshalJSON(body []byte) error {
109766	var m map[string]*json.RawMessage
109767	err := json.Unmarshal(body, &m)
109768	if err != nil {
109769		return err
109770	}
109771	for k, v := range m {
109772		switch k {
109773		case "preCopyScript":
109774			if v != nil {
109775				var preCopyScript interface{}
109776				err = json.Unmarshal(*v, &preCopyScript)
109777				if err != nil {
109778					return err
109779				}
109780				mas.PreCopyScript = preCopyScript
109781			}
109782		default:
109783			if v != nil {
109784				var additionalProperties interface{}
109785				err = json.Unmarshal(*v, &additionalProperties)
109786				if err != nil {
109787					return err
109788				}
109789				if mas.AdditionalProperties == nil {
109790					mas.AdditionalProperties = make(map[string]interface{})
109791				}
109792				mas.AdditionalProperties[k] = additionalProperties
109793			}
109794		case "writeBatchSize":
109795			if v != nil {
109796				var writeBatchSize interface{}
109797				err = json.Unmarshal(*v, &writeBatchSize)
109798				if err != nil {
109799					return err
109800				}
109801				mas.WriteBatchSize = writeBatchSize
109802			}
109803		case "writeBatchTimeout":
109804			if v != nil {
109805				var writeBatchTimeout interface{}
109806				err = json.Unmarshal(*v, &writeBatchTimeout)
109807				if err != nil {
109808					return err
109809				}
109810				mas.WriteBatchTimeout = writeBatchTimeout
109811			}
109812		case "sinkRetryCount":
109813			if v != nil {
109814				var sinkRetryCount interface{}
109815				err = json.Unmarshal(*v, &sinkRetryCount)
109816				if err != nil {
109817					return err
109818				}
109819				mas.SinkRetryCount = sinkRetryCount
109820			}
109821		case "sinkRetryWait":
109822			if v != nil {
109823				var sinkRetryWait interface{}
109824				err = json.Unmarshal(*v, &sinkRetryWait)
109825				if err != nil {
109826					return err
109827				}
109828				mas.SinkRetryWait = sinkRetryWait
109829			}
109830		case "maxConcurrentConnections":
109831			if v != nil {
109832				var maxConcurrentConnections interface{}
109833				err = json.Unmarshal(*v, &maxConcurrentConnections)
109834				if err != nil {
109835					return err
109836				}
109837				mas.MaxConcurrentConnections = maxConcurrentConnections
109838			}
109839		case "type":
109840			if v != nil {
109841				var typeVar TypeBasicCopySink
109842				err = json.Unmarshal(*v, &typeVar)
109843				if err != nil {
109844					return err
109845				}
109846				mas.Type = typeVar
109847			}
109848		}
109849	}
109850
109851	return nil
109852}
109853
109854// MicrosoftAccessSource a copy activity source for Microsoft Access.
109855type MicrosoftAccessSource struct {
109856	// Query - Database query. Type: string (or Expression with resultType string).
109857	Query interface{} `json:"query,omitempty"`
109858	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
109859	AdditionalProperties map[string]interface{} `json:""`
109860	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
109861	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
109862	// 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])).
109863	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
109864	// MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer).
109865	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
109866	// Type - Possible values include: 'TypeCopySource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', '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', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeCassandraSource', 'TypeWebSource', 'TypeTeradataSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeAzureMySQLSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeRestSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceServiceCloudSource', 'TypeSalesforceSource', 'TypeODataSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeMicrosoftAccessSource', 'TypeInformixSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAzureTableSource', 'TypeBinarySource', 'TypeDelimitedTextSource', 'TypeParquetSource'
109867	Type TypeBasicCopySource `json:"type,omitempty"`
109868}
109869
109870// MarshalJSON is the custom marshaler for MicrosoftAccessSource.
109871func (mas MicrosoftAccessSource) MarshalJSON() ([]byte, error) {
109872	mas.Type = TypeMicrosoftAccessSource
109873	objectMap := make(map[string]interface{})
109874	if mas.Query != nil {
109875		objectMap["query"] = mas.Query
109876	}
109877	if mas.SourceRetryCount != nil {
109878		objectMap["sourceRetryCount"] = mas.SourceRetryCount
109879	}
109880	if mas.SourceRetryWait != nil {
109881		objectMap["sourceRetryWait"] = mas.SourceRetryWait
109882	}
109883	if mas.MaxConcurrentConnections != nil {
109884		objectMap["maxConcurrentConnections"] = mas.MaxConcurrentConnections
109885	}
109886	if mas.Type != "" {
109887		objectMap["type"] = mas.Type
109888	}
109889	for k, v := range mas.AdditionalProperties {
109890		objectMap[k] = v
109891	}
109892	return json.Marshal(objectMap)
109893}
109894
109895// AsAmazonRedshiftSource is the BasicCopySource implementation for MicrosoftAccessSource.
109896func (mas MicrosoftAccessSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
109897	return nil, false
109898}
109899
109900// AsGoogleAdWordsSource is the BasicCopySource implementation for MicrosoftAccessSource.
109901func (mas MicrosoftAccessSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) {
109902	return nil, false
109903}
109904
109905// AsOracleServiceCloudSource is the BasicCopySource implementation for MicrosoftAccessSource.
109906func (mas MicrosoftAccessSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) {
109907	return nil, false
109908}
109909
109910// AsDynamicsAXSource is the BasicCopySource implementation for MicrosoftAccessSource.
109911func (mas MicrosoftAccessSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) {
109912	return nil, false
109913}
109914
109915// AsResponsysSource is the BasicCopySource implementation for MicrosoftAccessSource.
109916func (mas MicrosoftAccessSource) AsResponsysSource() (*ResponsysSource, bool) {
109917	return nil, false
109918}
109919
109920// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for MicrosoftAccessSource.
109921func (mas MicrosoftAccessSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
109922	return nil, false
109923}
109924
109925// AsVerticaSource is the BasicCopySource implementation for MicrosoftAccessSource.
109926func (mas MicrosoftAccessSource) AsVerticaSource() (*VerticaSource, bool) {
109927	return nil, false
109928}
109929
109930// AsNetezzaSource is the BasicCopySource implementation for MicrosoftAccessSource.
109931func (mas MicrosoftAccessSource) AsNetezzaSource() (*NetezzaSource, bool) {
109932	return nil, false
109933}
109934
109935// AsZohoSource is the BasicCopySource implementation for MicrosoftAccessSource.
109936func (mas MicrosoftAccessSource) AsZohoSource() (*ZohoSource, bool) {
109937	return nil, false
109938}
109939
109940// AsXeroSource is the BasicCopySource implementation for MicrosoftAccessSource.
109941func (mas MicrosoftAccessSource) AsXeroSource() (*XeroSource, bool) {
109942	return nil, false
109943}
109944
109945// AsSquareSource is the BasicCopySource implementation for MicrosoftAccessSource.
109946func (mas MicrosoftAccessSource) AsSquareSource() (*SquareSource, bool) {
109947	return nil, false
109948}
109949
109950// AsSparkSource is the BasicCopySource implementation for MicrosoftAccessSource.
109951func (mas MicrosoftAccessSource) AsSparkSource() (*SparkSource, bool) {
109952	return nil, false
109953}
109954
109955// AsShopifySource is the BasicCopySource implementation for MicrosoftAccessSource.
109956func (mas MicrosoftAccessSource) AsShopifySource() (*ShopifySource, bool) {
109957	return nil, false
109958}
109959
109960// AsServiceNowSource is the BasicCopySource implementation for MicrosoftAccessSource.
109961func (mas MicrosoftAccessSource) AsServiceNowSource() (*ServiceNowSource, bool) {
109962	return nil, false
109963}
109964
109965// AsQuickBooksSource is the BasicCopySource implementation for MicrosoftAccessSource.
109966func (mas MicrosoftAccessSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
109967	return nil, false
109968}
109969
109970// AsPrestoSource is the BasicCopySource implementation for MicrosoftAccessSource.
109971func (mas MicrosoftAccessSource) AsPrestoSource() (*PrestoSource, bool) {
109972	return nil, false
109973}
109974
109975// AsPhoenixSource is the BasicCopySource implementation for MicrosoftAccessSource.
109976func (mas MicrosoftAccessSource) AsPhoenixSource() (*PhoenixSource, bool) {
109977	return nil, false
109978}
109979
109980// AsPaypalSource is the BasicCopySource implementation for MicrosoftAccessSource.
109981func (mas MicrosoftAccessSource) AsPaypalSource() (*PaypalSource, bool) {
109982	return nil, false
109983}
109984
109985// AsMarketoSource is the BasicCopySource implementation for MicrosoftAccessSource.
109986func (mas MicrosoftAccessSource) AsMarketoSource() (*MarketoSource, bool) {
109987	return nil, false
109988}
109989
109990// AsMariaDBSource is the BasicCopySource implementation for MicrosoftAccessSource.
109991func (mas MicrosoftAccessSource) AsMariaDBSource() (*MariaDBSource, bool) {
109992	return nil, false
109993}
109994
109995// AsMagentoSource is the BasicCopySource implementation for MicrosoftAccessSource.
109996func (mas MicrosoftAccessSource) AsMagentoSource() (*MagentoSource, bool) {
109997	return nil, false
109998}
109999
110000// AsJiraSource is the BasicCopySource implementation for MicrosoftAccessSource.
110001func (mas MicrosoftAccessSource) AsJiraSource() (*JiraSource, bool) {
110002	return nil, false
110003}
110004
110005// AsImpalaSource is the BasicCopySource implementation for MicrosoftAccessSource.
110006func (mas MicrosoftAccessSource) AsImpalaSource() (*ImpalaSource, bool) {
110007	return nil, false
110008}
110009
110010// AsHubspotSource is the BasicCopySource implementation for MicrosoftAccessSource.
110011func (mas MicrosoftAccessSource) AsHubspotSource() (*HubspotSource, bool) {
110012	return nil, false
110013}
110014
110015// AsHiveSource is the BasicCopySource implementation for MicrosoftAccessSource.
110016func (mas MicrosoftAccessSource) AsHiveSource() (*HiveSource, bool) {
110017	return nil, false
110018}
110019
110020// AsHBaseSource is the BasicCopySource implementation for MicrosoftAccessSource.
110021func (mas MicrosoftAccessSource) AsHBaseSource() (*HBaseSource, bool) {
110022	return nil, false
110023}
110024
110025// AsGreenplumSource is the BasicCopySource implementation for MicrosoftAccessSource.
110026func (mas MicrosoftAccessSource) AsGreenplumSource() (*GreenplumSource, bool) {
110027	return nil, false
110028}
110029
110030// AsGoogleBigQuerySource is the BasicCopySource implementation for MicrosoftAccessSource.
110031func (mas MicrosoftAccessSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
110032	return nil, false
110033}
110034
110035// AsEloquaSource is the BasicCopySource implementation for MicrosoftAccessSource.
110036func (mas MicrosoftAccessSource) AsEloquaSource() (*EloquaSource, bool) {
110037	return nil, false
110038}
110039
110040// AsDrillSource is the BasicCopySource implementation for MicrosoftAccessSource.
110041func (mas MicrosoftAccessSource) AsDrillSource() (*DrillSource, bool) {
110042	return nil, false
110043}
110044
110045// AsCouchbaseSource is the BasicCopySource implementation for MicrosoftAccessSource.
110046func (mas MicrosoftAccessSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
110047	return nil, false
110048}
110049
110050// AsConcurSource is the BasicCopySource implementation for MicrosoftAccessSource.
110051func (mas MicrosoftAccessSource) AsConcurSource() (*ConcurSource, bool) {
110052	return nil, false
110053}
110054
110055// AsAzurePostgreSQLSource is the BasicCopySource implementation for MicrosoftAccessSource.
110056func (mas MicrosoftAccessSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
110057	return nil, false
110058}
110059
110060// AsAmazonMWSSource is the BasicCopySource implementation for MicrosoftAccessSource.
110061func (mas MicrosoftAccessSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
110062	return nil, false
110063}
110064
110065// AsHTTPSource is the BasicCopySource implementation for MicrosoftAccessSource.
110066func (mas MicrosoftAccessSource) AsHTTPSource() (*HTTPSource, bool) {
110067	return nil, false
110068}
110069
110070// AsAzureBlobFSSource is the BasicCopySource implementation for MicrosoftAccessSource.
110071func (mas MicrosoftAccessSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) {
110072	return nil, false
110073}
110074
110075// AsAzureDataLakeStoreSource is the BasicCopySource implementation for MicrosoftAccessSource.
110076func (mas MicrosoftAccessSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
110077	return nil, false
110078}
110079
110080// AsOffice365Source is the BasicCopySource implementation for MicrosoftAccessSource.
110081func (mas MicrosoftAccessSource) AsOffice365Source() (*Office365Source, bool) {
110082	return nil, false
110083}
110084
110085// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for MicrosoftAccessSource.
110086func (mas MicrosoftAccessSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) {
110087	return nil, false
110088}
110089
110090// AsMongoDbV2Source is the BasicCopySource implementation for MicrosoftAccessSource.
110091func (mas MicrosoftAccessSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) {
110092	return nil, false
110093}
110094
110095// AsMongoDbSource is the BasicCopySource implementation for MicrosoftAccessSource.
110096func (mas MicrosoftAccessSource) AsMongoDbSource() (*MongoDbSource, bool) {
110097	return nil, false
110098}
110099
110100// AsCassandraSource is the BasicCopySource implementation for MicrosoftAccessSource.
110101func (mas MicrosoftAccessSource) AsCassandraSource() (*CassandraSource, bool) {
110102	return nil, false
110103}
110104
110105// AsWebSource is the BasicCopySource implementation for MicrosoftAccessSource.
110106func (mas MicrosoftAccessSource) AsWebSource() (*WebSource, bool) {
110107	return nil, false
110108}
110109
110110// AsTeradataSource is the BasicCopySource implementation for MicrosoftAccessSource.
110111func (mas MicrosoftAccessSource) AsTeradataSource() (*TeradataSource, bool) {
110112	return nil, false
110113}
110114
110115// AsOracleSource is the BasicCopySource implementation for MicrosoftAccessSource.
110116func (mas MicrosoftAccessSource) AsOracleSource() (*OracleSource, bool) {
110117	return nil, false
110118}
110119
110120// AsAzureDataExplorerSource is the BasicCopySource implementation for MicrosoftAccessSource.
110121func (mas MicrosoftAccessSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) {
110122	return nil, false
110123}
110124
110125// AsAzureMySQLSource is the BasicCopySource implementation for MicrosoftAccessSource.
110126func (mas MicrosoftAccessSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
110127	return nil, false
110128}
110129
110130// AsHdfsSource is the BasicCopySource implementation for MicrosoftAccessSource.
110131func (mas MicrosoftAccessSource) AsHdfsSource() (*HdfsSource, bool) {
110132	return nil, false
110133}
110134
110135// AsFileSystemSource is the BasicCopySource implementation for MicrosoftAccessSource.
110136func (mas MicrosoftAccessSource) AsFileSystemSource() (*FileSystemSource, bool) {
110137	return nil, false
110138}
110139
110140// AsSQLDWSource is the BasicCopySource implementation for MicrosoftAccessSource.
110141func (mas MicrosoftAccessSource) AsSQLDWSource() (*SQLDWSource, bool) {
110142	return nil, false
110143}
110144
110145// AsSQLMISource is the BasicCopySource implementation for MicrosoftAccessSource.
110146func (mas MicrosoftAccessSource) AsSQLMISource() (*SQLMISource, bool) {
110147	return nil, false
110148}
110149
110150// AsAzureSQLSource is the BasicCopySource implementation for MicrosoftAccessSource.
110151func (mas MicrosoftAccessSource) AsAzureSQLSource() (*AzureSQLSource, bool) {
110152	return nil, false
110153}
110154
110155// AsSQLServerSource is the BasicCopySource implementation for MicrosoftAccessSource.
110156func (mas MicrosoftAccessSource) AsSQLServerSource() (*SQLServerSource, bool) {
110157	return nil, false
110158}
110159
110160// AsSQLSource is the BasicCopySource implementation for MicrosoftAccessSource.
110161func (mas MicrosoftAccessSource) AsSQLSource() (*SQLSource, bool) {
110162	return nil, false
110163}
110164
110165// AsRestSource is the BasicCopySource implementation for MicrosoftAccessSource.
110166func (mas MicrosoftAccessSource) AsRestSource() (*RestSource, bool) {
110167	return nil, false
110168}
110169
110170// AsSapTableSource is the BasicCopySource implementation for MicrosoftAccessSource.
110171func (mas MicrosoftAccessSource) AsSapTableSource() (*SapTableSource, bool) {
110172	return nil, false
110173}
110174
110175// AsSapOpenHubSource is the BasicCopySource implementation for MicrosoftAccessSource.
110176func (mas MicrosoftAccessSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) {
110177	return nil, false
110178}
110179
110180// AsSapHanaSource is the BasicCopySource implementation for MicrosoftAccessSource.
110181func (mas MicrosoftAccessSource) AsSapHanaSource() (*SapHanaSource, bool) {
110182	return nil, false
110183}
110184
110185// AsSapEccSource is the BasicCopySource implementation for MicrosoftAccessSource.
110186func (mas MicrosoftAccessSource) AsSapEccSource() (*SapEccSource, bool) {
110187	return nil, false
110188}
110189
110190// AsSapCloudForCustomerSource is the BasicCopySource implementation for MicrosoftAccessSource.
110191func (mas MicrosoftAccessSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
110192	return nil, false
110193}
110194
110195// AsSalesforceServiceCloudSource is the BasicCopySource implementation for MicrosoftAccessSource.
110196func (mas MicrosoftAccessSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) {
110197	return nil, false
110198}
110199
110200// AsSalesforceSource is the BasicCopySource implementation for MicrosoftAccessSource.
110201func (mas MicrosoftAccessSource) AsSalesforceSource() (*SalesforceSource, bool) {
110202	return nil, false
110203}
110204
110205// AsODataSource is the BasicCopySource implementation for MicrosoftAccessSource.
110206func (mas MicrosoftAccessSource) AsODataSource() (*ODataSource, bool) {
110207	return nil, false
110208}
110209
110210// AsSybaseSource is the BasicCopySource implementation for MicrosoftAccessSource.
110211func (mas MicrosoftAccessSource) AsSybaseSource() (*SybaseSource, bool) {
110212	return nil, false
110213}
110214
110215// AsPostgreSQLSource is the BasicCopySource implementation for MicrosoftAccessSource.
110216func (mas MicrosoftAccessSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) {
110217	return nil, false
110218}
110219
110220// AsMySQLSource is the BasicCopySource implementation for MicrosoftAccessSource.
110221func (mas MicrosoftAccessSource) AsMySQLSource() (*MySQLSource, bool) {
110222	return nil, false
110223}
110224
110225// AsOdbcSource is the BasicCopySource implementation for MicrosoftAccessSource.
110226func (mas MicrosoftAccessSource) AsOdbcSource() (*OdbcSource, bool) {
110227	return nil, false
110228}
110229
110230// AsDb2Source is the BasicCopySource implementation for MicrosoftAccessSource.
110231func (mas MicrosoftAccessSource) AsDb2Source() (*Db2Source, bool) {
110232	return nil, false
110233}
110234
110235// AsMicrosoftAccessSource is the BasicCopySource implementation for MicrosoftAccessSource.
110236func (mas MicrosoftAccessSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) {
110237	return &mas, true
110238}
110239
110240// AsInformixSource is the BasicCopySource implementation for MicrosoftAccessSource.
110241func (mas MicrosoftAccessSource) AsInformixSource() (*InformixSource, bool) {
110242	return nil, false
110243}
110244
110245// AsRelationalSource is the BasicCopySource implementation for MicrosoftAccessSource.
110246func (mas MicrosoftAccessSource) AsRelationalSource() (*RelationalSource, bool) {
110247	return nil, false
110248}
110249
110250// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for MicrosoftAccessSource.
110251func (mas MicrosoftAccessSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) {
110252	return nil, false
110253}
110254
110255// AsDynamicsCrmSource is the BasicCopySource implementation for MicrosoftAccessSource.
110256func (mas MicrosoftAccessSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) {
110257	return nil, false
110258}
110259
110260// AsDynamicsSource is the BasicCopySource implementation for MicrosoftAccessSource.
110261func (mas MicrosoftAccessSource) AsDynamicsSource() (*DynamicsSource, bool) {
110262	return nil, false
110263}
110264
110265// AsDocumentDbCollectionSource is the BasicCopySource implementation for MicrosoftAccessSource.
110266func (mas MicrosoftAccessSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
110267	return nil, false
110268}
110269
110270// AsBlobSource is the BasicCopySource implementation for MicrosoftAccessSource.
110271func (mas MicrosoftAccessSource) AsBlobSource() (*BlobSource, bool) {
110272	return nil, false
110273}
110274
110275// AsAzureTableSource is the BasicCopySource implementation for MicrosoftAccessSource.
110276func (mas MicrosoftAccessSource) AsAzureTableSource() (*AzureTableSource, bool) {
110277	return nil, false
110278}
110279
110280// AsBinarySource is the BasicCopySource implementation for MicrosoftAccessSource.
110281func (mas MicrosoftAccessSource) AsBinarySource() (*BinarySource, bool) {
110282	return nil, false
110283}
110284
110285// AsDelimitedTextSource is the BasicCopySource implementation for MicrosoftAccessSource.
110286func (mas MicrosoftAccessSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) {
110287	return nil, false
110288}
110289
110290// AsParquetSource is the BasicCopySource implementation for MicrosoftAccessSource.
110291func (mas MicrosoftAccessSource) AsParquetSource() (*ParquetSource, bool) {
110292	return nil, false
110293}
110294
110295// AsCopySource is the BasicCopySource implementation for MicrosoftAccessSource.
110296func (mas MicrosoftAccessSource) AsCopySource() (*CopySource, bool) {
110297	return nil, false
110298}
110299
110300// AsBasicCopySource is the BasicCopySource implementation for MicrosoftAccessSource.
110301func (mas MicrosoftAccessSource) AsBasicCopySource() (BasicCopySource, bool) {
110302	return &mas, true
110303}
110304
110305// UnmarshalJSON is the custom unmarshaler for MicrosoftAccessSource struct.
110306func (mas *MicrosoftAccessSource) UnmarshalJSON(body []byte) error {
110307	var m map[string]*json.RawMessage
110308	err := json.Unmarshal(body, &m)
110309	if err != nil {
110310		return err
110311	}
110312	for k, v := range m {
110313		switch k {
110314		case "query":
110315			if v != nil {
110316				var query interface{}
110317				err = json.Unmarshal(*v, &query)
110318				if err != nil {
110319					return err
110320				}
110321				mas.Query = query
110322			}
110323		default:
110324			if v != nil {
110325				var additionalProperties interface{}
110326				err = json.Unmarshal(*v, &additionalProperties)
110327				if err != nil {
110328					return err
110329				}
110330				if mas.AdditionalProperties == nil {
110331					mas.AdditionalProperties = make(map[string]interface{})
110332				}
110333				mas.AdditionalProperties[k] = additionalProperties
110334			}
110335		case "sourceRetryCount":
110336			if v != nil {
110337				var sourceRetryCount interface{}
110338				err = json.Unmarshal(*v, &sourceRetryCount)
110339				if err != nil {
110340					return err
110341				}
110342				mas.SourceRetryCount = sourceRetryCount
110343			}
110344		case "sourceRetryWait":
110345			if v != nil {
110346				var sourceRetryWait interface{}
110347				err = json.Unmarshal(*v, &sourceRetryWait)
110348				if err != nil {
110349					return err
110350				}
110351				mas.SourceRetryWait = sourceRetryWait
110352			}
110353		case "maxConcurrentConnections":
110354			if v != nil {
110355				var maxConcurrentConnections interface{}
110356				err = json.Unmarshal(*v, &maxConcurrentConnections)
110357				if err != nil {
110358					return err
110359				}
110360				mas.MaxConcurrentConnections = maxConcurrentConnections
110361			}
110362		case "type":
110363			if v != nil {
110364				var typeVar TypeBasicCopySource
110365				err = json.Unmarshal(*v, &typeVar)
110366				if err != nil {
110367					return err
110368				}
110369				mas.Type = typeVar
110370			}
110371		}
110372	}
110373
110374	return nil
110375}
110376
110377// MicrosoftAccessTableDataset the Microsoft Access table dataset.
110378type MicrosoftAccessTableDataset struct {
110379	// MicrosoftAccessTableDatasetTypeProperties - Microsoft Access table dataset properties.
110380	*MicrosoftAccessTableDatasetTypeProperties `json:"typeProperties,omitempty"`
110381	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
110382	AdditionalProperties map[string]interface{} `json:""`
110383	// Description - Dataset description.
110384	Description *string `json:"description,omitempty"`
110385	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
110386	Structure interface{} `json:"structure,omitempty"`
110387	// Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement.
110388	Schema interface{} `json:"schema,omitempty"`
110389	// LinkedServiceName - Linked service reference.
110390	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
110391	// Parameters - Parameters for dataset.
110392	Parameters map[string]*ParameterSpecification `json:"parameters"`
110393	// Annotations - List of tags that can be used for describing the Dataset.
110394	Annotations *[]interface{} `json:"annotations,omitempty"`
110395	// Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level.
110396	Folder *DatasetFolder `json:"folder,omitempty"`
110397	// Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', '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', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeDelimitedText', 'TypeParquet', 'TypeAmazonS3Object'
110398	Type TypeBasicDataset `json:"type,omitempty"`
110399}
110400
110401// MarshalJSON is the custom marshaler for MicrosoftAccessTableDataset.
110402func (matd MicrosoftAccessTableDataset) MarshalJSON() ([]byte, error) {
110403	matd.Type = TypeMicrosoftAccessTable
110404	objectMap := make(map[string]interface{})
110405	if matd.MicrosoftAccessTableDatasetTypeProperties != nil {
110406		objectMap["typeProperties"] = matd.MicrosoftAccessTableDatasetTypeProperties
110407	}
110408	if matd.Description != nil {
110409		objectMap["description"] = matd.Description
110410	}
110411	if matd.Structure != nil {
110412		objectMap["structure"] = matd.Structure
110413	}
110414	if matd.Schema != nil {
110415		objectMap["schema"] = matd.Schema
110416	}
110417	if matd.LinkedServiceName != nil {
110418		objectMap["linkedServiceName"] = matd.LinkedServiceName
110419	}
110420	if matd.Parameters != nil {
110421		objectMap["parameters"] = matd.Parameters
110422	}
110423	if matd.Annotations != nil {
110424		objectMap["annotations"] = matd.Annotations
110425	}
110426	if matd.Folder != nil {
110427		objectMap["folder"] = matd.Folder
110428	}
110429	if matd.Type != "" {
110430		objectMap["type"] = matd.Type
110431	}
110432	for k, v := range matd.AdditionalProperties {
110433		objectMap[k] = v
110434	}
110435	return json.Marshal(objectMap)
110436}
110437
110438// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for MicrosoftAccessTableDataset.
110439func (matd MicrosoftAccessTableDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) {
110440	return nil, false
110441}
110442
110443// AsAzureDataExplorerTableDataset is the BasicDataset implementation for MicrosoftAccessTableDataset.
110444func (matd MicrosoftAccessTableDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) {
110445	return nil, false
110446}
110447
110448// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for MicrosoftAccessTableDataset.
110449func (matd MicrosoftAccessTableDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) {
110450	return nil, false
110451}
110452
110453// AsDynamicsAXResourceDataset is the BasicDataset implementation for MicrosoftAccessTableDataset.
110454func (matd MicrosoftAccessTableDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) {
110455	return nil, false
110456}
110457
110458// AsResponsysObjectDataset is the BasicDataset implementation for MicrosoftAccessTableDataset.
110459func (matd MicrosoftAccessTableDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
110460	return nil, false
110461}
110462
110463// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for MicrosoftAccessTableDataset.
110464func (matd MicrosoftAccessTableDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
110465	return nil, false
110466}
110467
110468// AsVerticaTableDataset is the BasicDataset implementation for MicrosoftAccessTableDataset.
110469func (matd MicrosoftAccessTableDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
110470	return nil, false
110471}
110472
110473// AsNetezzaTableDataset is the BasicDataset implementation for MicrosoftAccessTableDataset.
110474func (matd MicrosoftAccessTableDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
110475	return nil, false
110476}
110477
110478// AsZohoObjectDataset is the BasicDataset implementation for MicrosoftAccessTableDataset.
110479func (matd MicrosoftAccessTableDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
110480	return nil, false
110481}
110482
110483// AsXeroObjectDataset is the BasicDataset implementation for MicrosoftAccessTableDataset.
110484func (matd MicrosoftAccessTableDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
110485	return nil, false
110486}
110487
110488// AsSquareObjectDataset is the BasicDataset implementation for MicrosoftAccessTableDataset.
110489func (matd MicrosoftAccessTableDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
110490	return nil, false
110491}
110492
110493// AsSparkObjectDataset is the BasicDataset implementation for MicrosoftAccessTableDataset.
110494func (matd MicrosoftAccessTableDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
110495	return nil, false
110496}
110497
110498// AsShopifyObjectDataset is the BasicDataset implementation for MicrosoftAccessTableDataset.
110499func (matd MicrosoftAccessTableDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
110500	return nil, false
110501}
110502
110503// AsServiceNowObjectDataset is the BasicDataset implementation for MicrosoftAccessTableDataset.
110504func (matd MicrosoftAccessTableDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
110505	return nil, false
110506}
110507
110508// AsQuickBooksObjectDataset is the BasicDataset implementation for MicrosoftAccessTableDataset.
110509func (matd MicrosoftAccessTableDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
110510	return nil, false
110511}
110512
110513// AsPrestoObjectDataset is the BasicDataset implementation for MicrosoftAccessTableDataset.
110514func (matd MicrosoftAccessTableDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
110515	return nil, false
110516}
110517
110518// AsPhoenixObjectDataset is the BasicDataset implementation for MicrosoftAccessTableDataset.
110519func (matd MicrosoftAccessTableDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
110520	return nil, false
110521}
110522
110523// AsPaypalObjectDataset is the BasicDataset implementation for MicrosoftAccessTableDataset.
110524func (matd MicrosoftAccessTableDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
110525	return nil, false
110526}
110527
110528// AsMarketoObjectDataset is the BasicDataset implementation for MicrosoftAccessTableDataset.
110529func (matd MicrosoftAccessTableDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
110530	return nil, false
110531}
110532
110533// AsMariaDBTableDataset is the BasicDataset implementation for MicrosoftAccessTableDataset.
110534func (matd MicrosoftAccessTableDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
110535	return nil, false
110536}
110537
110538// AsMagentoObjectDataset is the BasicDataset implementation for MicrosoftAccessTableDataset.
110539func (matd MicrosoftAccessTableDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
110540	return nil, false
110541}
110542
110543// AsJiraObjectDataset is the BasicDataset implementation for MicrosoftAccessTableDataset.
110544func (matd MicrosoftAccessTableDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
110545	return nil, false
110546}
110547
110548// AsImpalaObjectDataset is the BasicDataset implementation for MicrosoftAccessTableDataset.
110549func (matd MicrosoftAccessTableDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
110550	return nil, false
110551}
110552
110553// AsHubspotObjectDataset is the BasicDataset implementation for MicrosoftAccessTableDataset.
110554func (matd MicrosoftAccessTableDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
110555	return nil, false
110556}
110557
110558// AsHiveObjectDataset is the BasicDataset implementation for MicrosoftAccessTableDataset.
110559func (matd MicrosoftAccessTableDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
110560	return nil, false
110561}
110562
110563// AsHBaseObjectDataset is the BasicDataset implementation for MicrosoftAccessTableDataset.
110564func (matd MicrosoftAccessTableDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
110565	return nil, false
110566}
110567
110568// AsGreenplumTableDataset is the BasicDataset implementation for MicrosoftAccessTableDataset.
110569func (matd MicrosoftAccessTableDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
110570	return nil, false
110571}
110572
110573// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for MicrosoftAccessTableDataset.
110574func (matd MicrosoftAccessTableDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
110575	return nil, false
110576}
110577
110578// AsEloquaObjectDataset is the BasicDataset implementation for MicrosoftAccessTableDataset.
110579func (matd MicrosoftAccessTableDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
110580	return nil, false
110581}
110582
110583// AsDrillTableDataset is the BasicDataset implementation for MicrosoftAccessTableDataset.
110584func (matd MicrosoftAccessTableDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
110585	return nil, false
110586}
110587
110588// AsCouchbaseTableDataset is the BasicDataset implementation for MicrosoftAccessTableDataset.
110589func (matd MicrosoftAccessTableDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
110590	return nil, false
110591}
110592
110593// AsConcurObjectDataset is the BasicDataset implementation for MicrosoftAccessTableDataset.
110594func (matd MicrosoftAccessTableDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
110595	return nil, false
110596}
110597
110598// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for MicrosoftAccessTableDataset.
110599func (matd MicrosoftAccessTableDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
110600	return nil, false
110601}
110602
110603// AsAmazonMWSObjectDataset is the BasicDataset implementation for MicrosoftAccessTableDataset.
110604func (matd MicrosoftAccessTableDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
110605	return nil, false
110606}
110607
110608// AsHTTPDataset is the BasicDataset implementation for MicrosoftAccessTableDataset.
110609func (matd MicrosoftAccessTableDataset) AsHTTPDataset() (*HTTPDataset, bool) {
110610	return nil, false
110611}
110612
110613// AsAzureSearchIndexDataset is the BasicDataset implementation for MicrosoftAccessTableDataset.
110614func (matd MicrosoftAccessTableDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
110615	return nil, false
110616}
110617
110618// AsWebTableDataset is the BasicDataset implementation for MicrosoftAccessTableDataset.
110619func (matd MicrosoftAccessTableDataset) AsWebTableDataset() (*WebTableDataset, bool) {
110620	return nil, false
110621}
110622
110623// AsSapTableResourceDataset is the BasicDataset implementation for MicrosoftAccessTableDataset.
110624func (matd MicrosoftAccessTableDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) {
110625	return nil, false
110626}
110627
110628// AsRestResourceDataset is the BasicDataset implementation for MicrosoftAccessTableDataset.
110629func (matd MicrosoftAccessTableDataset) AsRestResourceDataset() (*RestResourceDataset, bool) {
110630	return nil, false
110631}
110632
110633// AsSQLServerTableDataset is the BasicDataset implementation for MicrosoftAccessTableDataset.
110634func (matd MicrosoftAccessTableDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
110635	return nil, false
110636}
110637
110638// AsSapOpenHubTableDataset is the BasicDataset implementation for MicrosoftAccessTableDataset.
110639func (matd MicrosoftAccessTableDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) {
110640	return nil, false
110641}
110642
110643// AsSapHanaTableDataset is the BasicDataset implementation for MicrosoftAccessTableDataset.
110644func (matd MicrosoftAccessTableDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) {
110645	return nil, false
110646}
110647
110648// AsSapEccResourceDataset is the BasicDataset implementation for MicrosoftAccessTableDataset.
110649func (matd MicrosoftAccessTableDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
110650	return nil, false
110651}
110652
110653// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for MicrosoftAccessTableDataset.
110654func (matd MicrosoftAccessTableDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
110655	return nil, false
110656}
110657
110658// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for MicrosoftAccessTableDataset.
110659func (matd MicrosoftAccessTableDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) {
110660	return nil, false
110661}
110662
110663// AsSalesforceObjectDataset is the BasicDataset implementation for MicrosoftAccessTableDataset.
110664func (matd MicrosoftAccessTableDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
110665	return nil, false
110666}
110667
110668// AsMicrosoftAccessTableDataset is the BasicDataset implementation for MicrosoftAccessTableDataset.
110669func (matd MicrosoftAccessTableDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) {
110670	return &matd, true
110671}
110672
110673// AsPostgreSQLTableDataset is the BasicDataset implementation for MicrosoftAccessTableDataset.
110674func (matd MicrosoftAccessTableDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) {
110675	return nil, false
110676}
110677
110678// AsMySQLTableDataset is the BasicDataset implementation for MicrosoftAccessTableDataset.
110679func (matd MicrosoftAccessTableDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) {
110680	return nil, false
110681}
110682
110683// AsOdbcTableDataset is the BasicDataset implementation for MicrosoftAccessTableDataset.
110684func (matd MicrosoftAccessTableDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) {
110685	return nil, false
110686}
110687
110688// AsInformixTableDataset is the BasicDataset implementation for MicrosoftAccessTableDataset.
110689func (matd MicrosoftAccessTableDataset) AsInformixTableDataset() (*InformixTableDataset, bool) {
110690	return nil, false
110691}
110692
110693// AsRelationalTableDataset is the BasicDataset implementation for MicrosoftAccessTableDataset.
110694func (matd MicrosoftAccessTableDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
110695	return nil, false
110696}
110697
110698// AsAzureMySQLTableDataset is the BasicDataset implementation for MicrosoftAccessTableDataset.
110699func (matd MicrosoftAccessTableDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
110700	return nil, false
110701}
110702
110703// AsTeradataTableDataset is the BasicDataset implementation for MicrosoftAccessTableDataset.
110704func (matd MicrosoftAccessTableDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) {
110705	return nil, false
110706}
110707
110708// AsOracleTableDataset is the BasicDataset implementation for MicrosoftAccessTableDataset.
110709func (matd MicrosoftAccessTableDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
110710	return nil, false
110711}
110712
110713// AsODataResourceDataset is the BasicDataset implementation for MicrosoftAccessTableDataset.
110714func (matd MicrosoftAccessTableDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
110715	return nil, false
110716}
110717
110718// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for MicrosoftAccessTableDataset.
110719func (matd MicrosoftAccessTableDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) {
110720	return nil, false
110721}
110722
110723// AsMongoDbV2CollectionDataset is the BasicDataset implementation for MicrosoftAccessTableDataset.
110724func (matd MicrosoftAccessTableDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) {
110725	return nil, false
110726}
110727
110728// AsMongoDbCollectionDataset is the BasicDataset implementation for MicrosoftAccessTableDataset.
110729func (matd MicrosoftAccessTableDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
110730	return nil, false
110731}
110732
110733// AsFileShareDataset is the BasicDataset implementation for MicrosoftAccessTableDataset.
110734func (matd MicrosoftAccessTableDataset) AsFileShareDataset() (*FileShareDataset, bool) {
110735	return nil, false
110736}
110737
110738// AsOffice365Dataset is the BasicDataset implementation for MicrosoftAccessTableDataset.
110739func (matd MicrosoftAccessTableDataset) AsOffice365Dataset() (*Office365Dataset, bool) {
110740	return nil, false
110741}
110742
110743// AsAzureBlobFSDataset is the BasicDataset implementation for MicrosoftAccessTableDataset.
110744func (matd MicrosoftAccessTableDataset) AsAzureBlobFSDataset() (*AzureBlobFSDataset, bool) {
110745	return nil, false
110746}
110747
110748// AsAzureDataLakeStoreDataset is the BasicDataset implementation for MicrosoftAccessTableDataset.
110749func (matd MicrosoftAccessTableDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) {
110750	return nil, false
110751}
110752
110753// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for MicrosoftAccessTableDataset.
110754func (matd MicrosoftAccessTableDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) {
110755	return nil, false
110756}
110757
110758// AsDynamicsCrmEntityDataset is the BasicDataset implementation for MicrosoftAccessTableDataset.
110759func (matd MicrosoftAccessTableDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) {
110760	return nil, false
110761}
110762
110763// AsDynamicsEntityDataset is the BasicDataset implementation for MicrosoftAccessTableDataset.
110764func (matd MicrosoftAccessTableDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
110765	return nil, false
110766}
110767
110768// AsDocumentDbCollectionDataset is the BasicDataset implementation for MicrosoftAccessTableDataset.
110769func (matd MicrosoftAccessTableDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
110770	return nil, false
110771}
110772
110773// AsCustomDataset is the BasicDataset implementation for MicrosoftAccessTableDataset.
110774func (matd MicrosoftAccessTableDataset) AsCustomDataset() (*CustomDataset, bool) {
110775	return nil, false
110776}
110777
110778// AsCassandraTableDataset is the BasicDataset implementation for MicrosoftAccessTableDataset.
110779func (matd MicrosoftAccessTableDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
110780	return nil, false
110781}
110782
110783// AsAzureSQLDWTableDataset is the BasicDataset implementation for MicrosoftAccessTableDataset.
110784func (matd MicrosoftAccessTableDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
110785	return nil, false
110786}
110787
110788// AsAzureSQLMITableDataset is the BasicDataset implementation for MicrosoftAccessTableDataset.
110789func (matd MicrosoftAccessTableDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) {
110790	return nil, false
110791}
110792
110793// AsAzureSQLTableDataset is the BasicDataset implementation for MicrosoftAccessTableDataset.
110794func (matd MicrosoftAccessTableDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
110795	return nil, false
110796}
110797
110798// AsAzureTableDataset is the BasicDataset implementation for MicrosoftAccessTableDataset.
110799func (matd MicrosoftAccessTableDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
110800	return nil, false
110801}
110802
110803// AsAzureBlobDataset is the BasicDataset implementation for MicrosoftAccessTableDataset.
110804func (matd MicrosoftAccessTableDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) {
110805	return nil, false
110806}
110807
110808// AsBinaryDataset is the BasicDataset implementation for MicrosoftAccessTableDataset.
110809func (matd MicrosoftAccessTableDataset) AsBinaryDataset() (*BinaryDataset, bool) {
110810	return nil, false
110811}
110812
110813// AsDelimitedTextDataset is the BasicDataset implementation for MicrosoftAccessTableDataset.
110814func (matd MicrosoftAccessTableDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) {
110815	return nil, false
110816}
110817
110818// AsParquetDataset is the BasicDataset implementation for MicrosoftAccessTableDataset.
110819func (matd MicrosoftAccessTableDataset) AsParquetDataset() (*ParquetDataset, bool) {
110820	return nil, false
110821}
110822
110823// AsAmazonS3Dataset is the BasicDataset implementation for MicrosoftAccessTableDataset.
110824func (matd MicrosoftAccessTableDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) {
110825	return nil, false
110826}
110827
110828// AsDataset is the BasicDataset implementation for MicrosoftAccessTableDataset.
110829func (matd MicrosoftAccessTableDataset) AsDataset() (*Dataset, bool) {
110830	return nil, false
110831}
110832
110833// AsBasicDataset is the BasicDataset implementation for MicrosoftAccessTableDataset.
110834func (matd MicrosoftAccessTableDataset) AsBasicDataset() (BasicDataset, bool) {
110835	return &matd, true
110836}
110837
110838// UnmarshalJSON is the custom unmarshaler for MicrosoftAccessTableDataset struct.
110839func (matd *MicrosoftAccessTableDataset) UnmarshalJSON(body []byte) error {
110840	var m map[string]*json.RawMessage
110841	err := json.Unmarshal(body, &m)
110842	if err != nil {
110843		return err
110844	}
110845	for k, v := range m {
110846		switch k {
110847		case "typeProperties":
110848			if v != nil {
110849				var microsoftAccessTableDatasetTypeProperties MicrosoftAccessTableDatasetTypeProperties
110850				err = json.Unmarshal(*v, &microsoftAccessTableDatasetTypeProperties)
110851				if err != nil {
110852					return err
110853				}
110854				matd.MicrosoftAccessTableDatasetTypeProperties = &microsoftAccessTableDatasetTypeProperties
110855			}
110856		default:
110857			if v != nil {
110858				var additionalProperties interface{}
110859				err = json.Unmarshal(*v, &additionalProperties)
110860				if err != nil {
110861					return err
110862				}
110863				if matd.AdditionalProperties == nil {
110864					matd.AdditionalProperties = make(map[string]interface{})
110865				}
110866				matd.AdditionalProperties[k] = additionalProperties
110867			}
110868		case "description":
110869			if v != nil {
110870				var description string
110871				err = json.Unmarshal(*v, &description)
110872				if err != nil {
110873					return err
110874				}
110875				matd.Description = &description
110876			}
110877		case "structure":
110878			if v != nil {
110879				var structure interface{}
110880				err = json.Unmarshal(*v, &structure)
110881				if err != nil {
110882					return err
110883				}
110884				matd.Structure = structure
110885			}
110886		case "schema":
110887			if v != nil {
110888				var schema interface{}
110889				err = json.Unmarshal(*v, &schema)
110890				if err != nil {
110891					return err
110892				}
110893				matd.Schema = schema
110894			}
110895		case "linkedServiceName":
110896			if v != nil {
110897				var linkedServiceName LinkedServiceReference
110898				err = json.Unmarshal(*v, &linkedServiceName)
110899				if err != nil {
110900					return err
110901				}
110902				matd.LinkedServiceName = &linkedServiceName
110903			}
110904		case "parameters":
110905			if v != nil {
110906				var parameters map[string]*ParameterSpecification
110907				err = json.Unmarshal(*v, &parameters)
110908				if err != nil {
110909					return err
110910				}
110911				matd.Parameters = parameters
110912			}
110913		case "annotations":
110914			if v != nil {
110915				var annotations []interface{}
110916				err = json.Unmarshal(*v, &annotations)
110917				if err != nil {
110918					return err
110919				}
110920				matd.Annotations = &annotations
110921			}
110922		case "folder":
110923			if v != nil {
110924				var folder DatasetFolder
110925				err = json.Unmarshal(*v, &folder)
110926				if err != nil {
110927					return err
110928				}
110929				matd.Folder = &folder
110930			}
110931		case "type":
110932			if v != nil {
110933				var typeVar TypeBasicDataset
110934				err = json.Unmarshal(*v, &typeVar)
110935				if err != nil {
110936					return err
110937				}
110938				matd.Type = typeVar
110939			}
110940		}
110941	}
110942
110943	return nil
110944}
110945
110946// MicrosoftAccessTableDatasetTypeProperties microsoft Access table dataset properties.
110947type MicrosoftAccessTableDatasetTypeProperties struct {
110948	// TableName - The Microsoft Access table name. Type: string (or Expression with resultType string).
110949	TableName interface{} `json:"tableName,omitempty"`
110950}
110951
110952// MongoDbCollectionDataset the MongoDB database dataset.
110953type MongoDbCollectionDataset struct {
110954	// MongoDbCollectionDatasetTypeProperties - MongoDB database dataset properties.
110955	*MongoDbCollectionDatasetTypeProperties `json:"typeProperties,omitempty"`
110956	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
110957	AdditionalProperties map[string]interface{} `json:""`
110958	// Description - Dataset description.
110959	Description *string `json:"description,omitempty"`
110960	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
110961	Structure interface{} `json:"structure,omitempty"`
110962	// Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement.
110963	Schema interface{} `json:"schema,omitempty"`
110964	// LinkedServiceName - Linked service reference.
110965	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
110966	// Parameters - Parameters for dataset.
110967	Parameters map[string]*ParameterSpecification `json:"parameters"`
110968	// Annotations - List of tags that can be used for describing the Dataset.
110969	Annotations *[]interface{} `json:"annotations,omitempty"`
110970	// Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level.
110971	Folder *DatasetFolder `json:"folder,omitempty"`
110972	// Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', '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', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeDelimitedText', 'TypeParquet', 'TypeAmazonS3Object'
110973	Type TypeBasicDataset `json:"type,omitempty"`
110974}
110975
110976// MarshalJSON is the custom marshaler for MongoDbCollectionDataset.
110977func (mdcd MongoDbCollectionDataset) MarshalJSON() ([]byte, error) {
110978	mdcd.Type = TypeMongoDbCollection
110979	objectMap := make(map[string]interface{})
110980	if mdcd.MongoDbCollectionDatasetTypeProperties != nil {
110981		objectMap["typeProperties"] = mdcd.MongoDbCollectionDatasetTypeProperties
110982	}
110983	if mdcd.Description != nil {
110984		objectMap["description"] = mdcd.Description
110985	}
110986	if mdcd.Structure != nil {
110987		objectMap["structure"] = mdcd.Structure
110988	}
110989	if mdcd.Schema != nil {
110990		objectMap["schema"] = mdcd.Schema
110991	}
110992	if mdcd.LinkedServiceName != nil {
110993		objectMap["linkedServiceName"] = mdcd.LinkedServiceName
110994	}
110995	if mdcd.Parameters != nil {
110996		objectMap["parameters"] = mdcd.Parameters
110997	}
110998	if mdcd.Annotations != nil {
110999		objectMap["annotations"] = mdcd.Annotations
111000	}
111001	if mdcd.Folder != nil {
111002		objectMap["folder"] = mdcd.Folder
111003	}
111004	if mdcd.Type != "" {
111005		objectMap["type"] = mdcd.Type
111006	}
111007	for k, v := range mdcd.AdditionalProperties {
111008		objectMap[k] = v
111009	}
111010	return json.Marshal(objectMap)
111011}
111012
111013// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for MongoDbCollectionDataset.
111014func (mdcd MongoDbCollectionDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) {
111015	return nil, false
111016}
111017
111018// AsAzureDataExplorerTableDataset is the BasicDataset implementation for MongoDbCollectionDataset.
111019func (mdcd MongoDbCollectionDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) {
111020	return nil, false
111021}
111022
111023// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for MongoDbCollectionDataset.
111024func (mdcd MongoDbCollectionDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) {
111025	return nil, false
111026}
111027
111028// AsDynamicsAXResourceDataset is the BasicDataset implementation for MongoDbCollectionDataset.
111029func (mdcd MongoDbCollectionDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) {
111030	return nil, false
111031}
111032
111033// AsResponsysObjectDataset is the BasicDataset implementation for MongoDbCollectionDataset.
111034func (mdcd MongoDbCollectionDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
111035	return nil, false
111036}
111037
111038// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for MongoDbCollectionDataset.
111039func (mdcd MongoDbCollectionDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
111040	return nil, false
111041}
111042
111043// AsVerticaTableDataset is the BasicDataset implementation for MongoDbCollectionDataset.
111044func (mdcd MongoDbCollectionDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
111045	return nil, false
111046}
111047
111048// AsNetezzaTableDataset is the BasicDataset implementation for MongoDbCollectionDataset.
111049func (mdcd MongoDbCollectionDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
111050	return nil, false
111051}
111052
111053// AsZohoObjectDataset is the BasicDataset implementation for MongoDbCollectionDataset.
111054func (mdcd MongoDbCollectionDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
111055	return nil, false
111056}
111057
111058// AsXeroObjectDataset is the BasicDataset implementation for MongoDbCollectionDataset.
111059func (mdcd MongoDbCollectionDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
111060	return nil, false
111061}
111062
111063// AsSquareObjectDataset is the BasicDataset implementation for MongoDbCollectionDataset.
111064func (mdcd MongoDbCollectionDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
111065	return nil, false
111066}
111067
111068// AsSparkObjectDataset is the BasicDataset implementation for MongoDbCollectionDataset.
111069func (mdcd MongoDbCollectionDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
111070	return nil, false
111071}
111072
111073// AsShopifyObjectDataset is the BasicDataset implementation for MongoDbCollectionDataset.
111074func (mdcd MongoDbCollectionDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
111075	return nil, false
111076}
111077
111078// AsServiceNowObjectDataset is the BasicDataset implementation for MongoDbCollectionDataset.
111079func (mdcd MongoDbCollectionDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
111080	return nil, false
111081}
111082
111083// AsQuickBooksObjectDataset is the BasicDataset implementation for MongoDbCollectionDataset.
111084func (mdcd MongoDbCollectionDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
111085	return nil, false
111086}
111087
111088// AsPrestoObjectDataset is the BasicDataset implementation for MongoDbCollectionDataset.
111089func (mdcd MongoDbCollectionDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
111090	return nil, false
111091}
111092
111093// AsPhoenixObjectDataset is the BasicDataset implementation for MongoDbCollectionDataset.
111094func (mdcd MongoDbCollectionDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
111095	return nil, false
111096}
111097
111098// AsPaypalObjectDataset is the BasicDataset implementation for MongoDbCollectionDataset.
111099func (mdcd MongoDbCollectionDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
111100	return nil, false
111101}
111102
111103// AsMarketoObjectDataset is the BasicDataset implementation for MongoDbCollectionDataset.
111104func (mdcd MongoDbCollectionDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
111105	return nil, false
111106}
111107
111108// AsMariaDBTableDataset is the BasicDataset implementation for MongoDbCollectionDataset.
111109func (mdcd MongoDbCollectionDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
111110	return nil, false
111111}
111112
111113// AsMagentoObjectDataset is the BasicDataset implementation for MongoDbCollectionDataset.
111114func (mdcd MongoDbCollectionDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
111115	return nil, false
111116}
111117
111118// AsJiraObjectDataset is the BasicDataset implementation for MongoDbCollectionDataset.
111119func (mdcd MongoDbCollectionDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
111120	return nil, false
111121}
111122
111123// AsImpalaObjectDataset is the BasicDataset implementation for MongoDbCollectionDataset.
111124func (mdcd MongoDbCollectionDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
111125	return nil, false
111126}
111127
111128// AsHubspotObjectDataset is the BasicDataset implementation for MongoDbCollectionDataset.
111129func (mdcd MongoDbCollectionDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
111130	return nil, false
111131}
111132
111133// AsHiveObjectDataset is the BasicDataset implementation for MongoDbCollectionDataset.
111134func (mdcd MongoDbCollectionDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
111135	return nil, false
111136}
111137
111138// AsHBaseObjectDataset is the BasicDataset implementation for MongoDbCollectionDataset.
111139func (mdcd MongoDbCollectionDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
111140	return nil, false
111141}
111142
111143// AsGreenplumTableDataset is the BasicDataset implementation for MongoDbCollectionDataset.
111144func (mdcd MongoDbCollectionDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
111145	return nil, false
111146}
111147
111148// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for MongoDbCollectionDataset.
111149func (mdcd MongoDbCollectionDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
111150	return nil, false
111151}
111152
111153// AsEloquaObjectDataset is the BasicDataset implementation for MongoDbCollectionDataset.
111154func (mdcd MongoDbCollectionDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
111155	return nil, false
111156}
111157
111158// AsDrillTableDataset is the BasicDataset implementation for MongoDbCollectionDataset.
111159func (mdcd MongoDbCollectionDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
111160	return nil, false
111161}
111162
111163// AsCouchbaseTableDataset is the BasicDataset implementation for MongoDbCollectionDataset.
111164func (mdcd MongoDbCollectionDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
111165	return nil, false
111166}
111167
111168// AsConcurObjectDataset is the BasicDataset implementation for MongoDbCollectionDataset.
111169func (mdcd MongoDbCollectionDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
111170	return nil, false
111171}
111172
111173// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for MongoDbCollectionDataset.
111174func (mdcd MongoDbCollectionDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
111175	return nil, false
111176}
111177
111178// AsAmazonMWSObjectDataset is the BasicDataset implementation for MongoDbCollectionDataset.
111179func (mdcd MongoDbCollectionDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
111180	return nil, false
111181}
111182
111183// AsHTTPDataset is the BasicDataset implementation for MongoDbCollectionDataset.
111184func (mdcd MongoDbCollectionDataset) AsHTTPDataset() (*HTTPDataset, bool) {
111185	return nil, false
111186}
111187
111188// AsAzureSearchIndexDataset is the BasicDataset implementation for MongoDbCollectionDataset.
111189func (mdcd MongoDbCollectionDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
111190	return nil, false
111191}
111192
111193// AsWebTableDataset is the BasicDataset implementation for MongoDbCollectionDataset.
111194func (mdcd MongoDbCollectionDataset) AsWebTableDataset() (*WebTableDataset, bool) {
111195	return nil, false
111196}
111197
111198// AsSapTableResourceDataset is the BasicDataset implementation for MongoDbCollectionDataset.
111199func (mdcd MongoDbCollectionDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) {
111200	return nil, false
111201}
111202
111203// AsRestResourceDataset is the BasicDataset implementation for MongoDbCollectionDataset.
111204func (mdcd MongoDbCollectionDataset) AsRestResourceDataset() (*RestResourceDataset, bool) {
111205	return nil, false
111206}
111207
111208// AsSQLServerTableDataset is the BasicDataset implementation for MongoDbCollectionDataset.
111209func (mdcd MongoDbCollectionDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
111210	return nil, false
111211}
111212
111213// AsSapOpenHubTableDataset is the BasicDataset implementation for MongoDbCollectionDataset.
111214func (mdcd MongoDbCollectionDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) {
111215	return nil, false
111216}
111217
111218// AsSapHanaTableDataset is the BasicDataset implementation for MongoDbCollectionDataset.
111219func (mdcd MongoDbCollectionDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) {
111220	return nil, false
111221}
111222
111223// AsSapEccResourceDataset is the BasicDataset implementation for MongoDbCollectionDataset.
111224func (mdcd MongoDbCollectionDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
111225	return nil, false
111226}
111227
111228// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for MongoDbCollectionDataset.
111229func (mdcd MongoDbCollectionDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
111230	return nil, false
111231}
111232
111233// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for MongoDbCollectionDataset.
111234func (mdcd MongoDbCollectionDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) {
111235	return nil, false
111236}
111237
111238// AsSalesforceObjectDataset is the BasicDataset implementation for MongoDbCollectionDataset.
111239func (mdcd MongoDbCollectionDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
111240	return nil, false
111241}
111242
111243// AsMicrosoftAccessTableDataset is the BasicDataset implementation for MongoDbCollectionDataset.
111244func (mdcd MongoDbCollectionDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) {
111245	return nil, false
111246}
111247
111248// AsPostgreSQLTableDataset is the BasicDataset implementation for MongoDbCollectionDataset.
111249func (mdcd MongoDbCollectionDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) {
111250	return nil, false
111251}
111252
111253// AsMySQLTableDataset is the BasicDataset implementation for MongoDbCollectionDataset.
111254func (mdcd MongoDbCollectionDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) {
111255	return nil, false
111256}
111257
111258// AsOdbcTableDataset is the BasicDataset implementation for MongoDbCollectionDataset.
111259func (mdcd MongoDbCollectionDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) {
111260	return nil, false
111261}
111262
111263// AsInformixTableDataset is the BasicDataset implementation for MongoDbCollectionDataset.
111264func (mdcd MongoDbCollectionDataset) AsInformixTableDataset() (*InformixTableDataset, bool) {
111265	return nil, false
111266}
111267
111268// AsRelationalTableDataset is the BasicDataset implementation for MongoDbCollectionDataset.
111269func (mdcd MongoDbCollectionDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
111270	return nil, false
111271}
111272
111273// AsAzureMySQLTableDataset is the BasicDataset implementation for MongoDbCollectionDataset.
111274func (mdcd MongoDbCollectionDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
111275	return nil, false
111276}
111277
111278// AsTeradataTableDataset is the BasicDataset implementation for MongoDbCollectionDataset.
111279func (mdcd MongoDbCollectionDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) {
111280	return nil, false
111281}
111282
111283// AsOracleTableDataset is the BasicDataset implementation for MongoDbCollectionDataset.
111284func (mdcd MongoDbCollectionDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
111285	return nil, false
111286}
111287
111288// AsODataResourceDataset is the BasicDataset implementation for MongoDbCollectionDataset.
111289func (mdcd MongoDbCollectionDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
111290	return nil, false
111291}
111292
111293// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for MongoDbCollectionDataset.
111294func (mdcd MongoDbCollectionDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) {
111295	return nil, false
111296}
111297
111298// AsMongoDbV2CollectionDataset is the BasicDataset implementation for MongoDbCollectionDataset.
111299func (mdcd MongoDbCollectionDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) {
111300	return nil, false
111301}
111302
111303// AsMongoDbCollectionDataset is the BasicDataset implementation for MongoDbCollectionDataset.
111304func (mdcd MongoDbCollectionDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
111305	return &mdcd, true
111306}
111307
111308// AsFileShareDataset is the BasicDataset implementation for MongoDbCollectionDataset.
111309func (mdcd MongoDbCollectionDataset) AsFileShareDataset() (*FileShareDataset, bool) {
111310	return nil, false
111311}
111312
111313// AsOffice365Dataset is the BasicDataset implementation for MongoDbCollectionDataset.
111314func (mdcd MongoDbCollectionDataset) AsOffice365Dataset() (*Office365Dataset, bool) {
111315	return nil, false
111316}
111317
111318// AsAzureBlobFSDataset is the BasicDataset implementation for MongoDbCollectionDataset.
111319func (mdcd MongoDbCollectionDataset) AsAzureBlobFSDataset() (*AzureBlobFSDataset, bool) {
111320	return nil, false
111321}
111322
111323// AsAzureDataLakeStoreDataset is the BasicDataset implementation for MongoDbCollectionDataset.
111324func (mdcd MongoDbCollectionDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) {
111325	return nil, false
111326}
111327
111328// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for MongoDbCollectionDataset.
111329func (mdcd MongoDbCollectionDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) {
111330	return nil, false
111331}
111332
111333// AsDynamicsCrmEntityDataset is the BasicDataset implementation for MongoDbCollectionDataset.
111334func (mdcd MongoDbCollectionDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) {
111335	return nil, false
111336}
111337
111338// AsDynamicsEntityDataset is the BasicDataset implementation for MongoDbCollectionDataset.
111339func (mdcd MongoDbCollectionDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
111340	return nil, false
111341}
111342
111343// AsDocumentDbCollectionDataset is the BasicDataset implementation for MongoDbCollectionDataset.
111344func (mdcd MongoDbCollectionDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
111345	return nil, false
111346}
111347
111348// AsCustomDataset is the BasicDataset implementation for MongoDbCollectionDataset.
111349func (mdcd MongoDbCollectionDataset) AsCustomDataset() (*CustomDataset, bool) {
111350	return nil, false
111351}
111352
111353// AsCassandraTableDataset is the BasicDataset implementation for MongoDbCollectionDataset.
111354func (mdcd MongoDbCollectionDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
111355	return nil, false
111356}
111357
111358// AsAzureSQLDWTableDataset is the BasicDataset implementation for MongoDbCollectionDataset.
111359func (mdcd MongoDbCollectionDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
111360	return nil, false
111361}
111362
111363// AsAzureSQLMITableDataset is the BasicDataset implementation for MongoDbCollectionDataset.
111364func (mdcd MongoDbCollectionDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) {
111365	return nil, false
111366}
111367
111368// AsAzureSQLTableDataset is the BasicDataset implementation for MongoDbCollectionDataset.
111369func (mdcd MongoDbCollectionDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
111370	return nil, false
111371}
111372
111373// AsAzureTableDataset is the BasicDataset implementation for MongoDbCollectionDataset.
111374func (mdcd MongoDbCollectionDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
111375	return nil, false
111376}
111377
111378// AsAzureBlobDataset is the BasicDataset implementation for MongoDbCollectionDataset.
111379func (mdcd MongoDbCollectionDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) {
111380	return nil, false
111381}
111382
111383// AsBinaryDataset is the BasicDataset implementation for MongoDbCollectionDataset.
111384func (mdcd MongoDbCollectionDataset) AsBinaryDataset() (*BinaryDataset, bool) {
111385	return nil, false
111386}
111387
111388// AsDelimitedTextDataset is the BasicDataset implementation for MongoDbCollectionDataset.
111389func (mdcd MongoDbCollectionDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) {
111390	return nil, false
111391}
111392
111393// AsParquetDataset is the BasicDataset implementation for MongoDbCollectionDataset.
111394func (mdcd MongoDbCollectionDataset) AsParquetDataset() (*ParquetDataset, bool) {
111395	return nil, false
111396}
111397
111398// AsAmazonS3Dataset is the BasicDataset implementation for MongoDbCollectionDataset.
111399func (mdcd MongoDbCollectionDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) {
111400	return nil, false
111401}
111402
111403// AsDataset is the BasicDataset implementation for MongoDbCollectionDataset.
111404func (mdcd MongoDbCollectionDataset) AsDataset() (*Dataset, bool) {
111405	return nil, false
111406}
111407
111408// AsBasicDataset is the BasicDataset implementation for MongoDbCollectionDataset.
111409func (mdcd MongoDbCollectionDataset) AsBasicDataset() (BasicDataset, bool) {
111410	return &mdcd, true
111411}
111412
111413// UnmarshalJSON is the custom unmarshaler for MongoDbCollectionDataset struct.
111414func (mdcd *MongoDbCollectionDataset) UnmarshalJSON(body []byte) error {
111415	var m map[string]*json.RawMessage
111416	err := json.Unmarshal(body, &m)
111417	if err != nil {
111418		return err
111419	}
111420	for k, v := range m {
111421		switch k {
111422		case "typeProperties":
111423			if v != nil {
111424				var mongoDbCollectionDatasetTypeProperties MongoDbCollectionDatasetTypeProperties
111425				err = json.Unmarshal(*v, &mongoDbCollectionDatasetTypeProperties)
111426				if err != nil {
111427					return err
111428				}
111429				mdcd.MongoDbCollectionDatasetTypeProperties = &mongoDbCollectionDatasetTypeProperties
111430			}
111431		default:
111432			if v != nil {
111433				var additionalProperties interface{}
111434				err = json.Unmarshal(*v, &additionalProperties)
111435				if err != nil {
111436					return err
111437				}
111438				if mdcd.AdditionalProperties == nil {
111439					mdcd.AdditionalProperties = make(map[string]interface{})
111440				}
111441				mdcd.AdditionalProperties[k] = additionalProperties
111442			}
111443		case "description":
111444			if v != nil {
111445				var description string
111446				err = json.Unmarshal(*v, &description)
111447				if err != nil {
111448					return err
111449				}
111450				mdcd.Description = &description
111451			}
111452		case "structure":
111453			if v != nil {
111454				var structure interface{}
111455				err = json.Unmarshal(*v, &structure)
111456				if err != nil {
111457					return err
111458				}
111459				mdcd.Structure = structure
111460			}
111461		case "schema":
111462			if v != nil {
111463				var schema interface{}
111464				err = json.Unmarshal(*v, &schema)
111465				if err != nil {
111466					return err
111467				}
111468				mdcd.Schema = schema
111469			}
111470		case "linkedServiceName":
111471			if v != nil {
111472				var linkedServiceName LinkedServiceReference
111473				err = json.Unmarshal(*v, &linkedServiceName)
111474				if err != nil {
111475					return err
111476				}
111477				mdcd.LinkedServiceName = &linkedServiceName
111478			}
111479		case "parameters":
111480			if v != nil {
111481				var parameters map[string]*ParameterSpecification
111482				err = json.Unmarshal(*v, &parameters)
111483				if err != nil {
111484					return err
111485				}
111486				mdcd.Parameters = parameters
111487			}
111488		case "annotations":
111489			if v != nil {
111490				var annotations []interface{}
111491				err = json.Unmarshal(*v, &annotations)
111492				if err != nil {
111493					return err
111494				}
111495				mdcd.Annotations = &annotations
111496			}
111497		case "folder":
111498			if v != nil {
111499				var folder DatasetFolder
111500				err = json.Unmarshal(*v, &folder)
111501				if err != nil {
111502					return err
111503				}
111504				mdcd.Folder = &folder
111505			}
111506		case "type":
111507			if v != nil {
111508				var typeVar TypeBasicDataset
111509				err = json.Unmarshal(*v, &typeVar)
111510				if err != nil {
111511					return err
111512				}
111513				mdcd.Type = typeVar
111514			}
111515		}
111516	}
111517
111518	return nil
111519}
111520
111521// MongoDbCollectionDatasetTypeProperties mongoDB database dataset properties.
111522type MongoDbCollectionDatasetTypeProperties struct {
111523	// CollectionName - The table name of the MongoDB database. Type: string (or Expression with resultType string).
111524	CollectionName interface{} `json:"collectionName,omitempty"`
111525}
111526
111527// MongoDbCursorMethodsProperties cursor methods for Mongodb query
111528type MongoDbCursorMethodsProperties struct {
111529	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
111530	AdditionalProperties map[string]interface{} `json:""`
111531	// Project - Specifies the fields to return in the documents that match the query filter. To return all fields in the matching documents, omit this parameter. Type: string (or Expression with resultType string).
111532	Project interface{} `json:"project,omitempty"`
111533	// Sort - Specifies the order in which the query returns matching documents. Type: string (or Expression with resultType string). Type: string (or Expression with resultType string).
111534	Sort interface{} `json:"sort,omitempty"`
111535	// Skip - Specifies the how many documents skipped and where MongoDB begins returning results. This approach may be useful in implementing paginated results. Type: integer (or Expression with resultType integer).
111536	Skip interface{} `json:"skip,omitempty"`
111537	// Limit - Specifies the maximum number of documents the server returns. limit() is analogous to the LIMIT statement in a SQL database. Type: integer (or Expression with resultType integer).
111538	Limit interface{} `json:"limit,omitempty"`
111539}
111540
111541// MarshalJSON is the custom marshaler for MongoDbCursorMethodsProperties.
111542func (mdcmp MongoDbCursorMethodsProperties) MarshalJSON() ([]byte, error) {
111543	objectMap := make(map[string]interface{})
111544	if mdcmp.Project != nil {
111545		objectMap["project"] = mdcmp.Project
111546	}
111547	if mdcmp.Sort != nil {
111548		objectMap["sort"] = mdcmp.Sort
111549	}
111550	if mdcmp.Skip != nil {
111551		objectMap["skip"] = mdcmp.Skip
111552	}
111553	if mdcmp.Limit != nil {
111554		objectMap["limit"] = mdcmp.Limit
111555	}
111556	for k, v := range mdcmp.AdditionalProperties {
111557		objectMap[k] = v
111558	}
111559	return json.Marshal(objectMap)
111560}
111561
111562// UnmarshalJSON is the custom unmarshaler for MongoDbCursorMethodsProperties struct.
111563func (mdcmp *MongoDbCursorMethodsProperties) UnmarshalJSON(body []byte) error {
111564	var m map[string]*json.RawMessage
111565	err := json.Unmarshal(body, &m)
111566	if err != nil {
111567		return err
111568	}
111569	for k, v := range m {
111570		switch k {
111571		default:
111572			if v != nil {
111573				var additionalProperties interface{}
111574				err = json.Unmarshal(*v, &additionalProperties)
111575				if err != nil {
111576					return err
111577				}
111578				if mdcmp.AdditionalProperties == nil {
111579					mdcmp.AdditionalProperties = make(map[string]interface{})
111580				}
111581				mdcmp.AdditionalProperties[k] = additionalProperties
111582			}
111583		case "project":
111584			if v != nil {
111585				var project interface{}
111586				err = json.Unmarshal(*v, &project)
111587				if err != nil {
111588					return err
111589				}
111590				mdcmp.Project = project
111591			}
111592		case "sort":
111593			if v != nil {
111594				var sortVar interface{}
111595				err = json.Unmarshal(*v, &sortVar)
111596				if err != nil {
111597					return err
111598				}
111599				mdcmp.Sort = sortVar
111600			}
111601		case "skip":
111602			if v != nil {
111603				var skip interface{}
111604				err = json.Unmarshal(*v, &skip)
111605				if err != nil {
111606					return err
111607				}
111608				mdcmp.Skip = skip
111609			}
111610		case "limit":
111611			if v != nil {
111612				var limit interface{}
111613				err = json.Unmarshal(*v, &limit)
111614				if err != nil {
111615					return err
111616				}
111617				mdcmp.Limit = limit
111618			}
111619		}
111620	}
111621
111622	return nil
111623}
111624
111625// MongoDbLinkedService linked service for MongoDb data source.
111626type MongoDbLinkedService struct {
111627	// MongoDbLinkedServiceTypeProperties - MongoDB linked service properties.
111628	*MongoDbLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
111629	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
111630	AdditionalProperties map[string]interface{} `json:""`
111631	// ConnectVia - The integration runtime reference.
111632	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
111633	// Description - Linked service description.
111634	Description *string `json:"description,omitempty"`
111635	// Parameters - Parameters for linked service.
111636	Parameters map[string]*ParameterSpecification `json:"parameters"`
111637	// Annotations - List of tags that can be used for describing the linked service.
111638	Annotations *[]interface{} `json:"annotations,omitempty"`
111639	// Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', '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', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage'
111640	Type TypeBasicLinkedService `json:"type,omitempty"`
111641}
111642
111643// MarshalJSON is the custom marshaler for MongoDbLinkedService.
111644func (mdls MongoDbLinkedService) MarshalJSON() ([]byte, error) {
111645	mdls.Type = TypeMongoDb
111646	objectMap := make(map[string]interface{})
111647	if mdls.MongoDbLinkedServiceTypeProperties != nil {
111648		objectMap["typeProperties"] = mdls.MongoDbLinkedServiceTypeProperties
111649	}
111650	if mdls.ConnectVia != nil {
111651		objectMap["connectVia"] = mdls.ConnectVia
111652	}
111653	if mdls.Description != nil {
111654		objectMap["description"] = mdls.Description
111655	}
111656	if mdls.Parameters != nil {
111657		objectMap["parameters"] = mdls.Parameters
111658	}
111659	if mdls.Annotations != nil {
111660		objectMap["annotations"] = mdls.Annotations
111661	}
111662	if mdls.Type != "" {
111663		objectMap["type"] = mdls.Type
111664	}
111665	for k, v := range mdls.AdditionalProperties {
111666		objectMap[k] = v
111667	}
111668	return json.Marshal(objectMap)
111669}
111670
111671// AsAzureFunctionLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
111672func (mdls MongoDbLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) {
111673	return nil, false
111674}
111675
111676// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
111677func (mdls MongoDbLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) {
111678	return nil, false
111679}
111680
111681// AsSapTableLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
111682func (mdls MongoDbLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) {
111683	return nil, false
111684}
111685
111686// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
111687func (mdls MongoDbLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) {
111688	return nil, false
111689}
111690
111691// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
111692func (mdls MongoDbLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) {
111693	return nil, false
111694}
111695
111696// AsDynamicsAXLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
111697func (mdls MongoDbLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) {
111698	return nil, false
111699}
111700
111701// AsResponsysLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
111702func (mdls MongoDbLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
111703	return nil, false
111704}
111705
111706// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
111707func (mdls MongoDbLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
111708	return nil, false
111709}
111710
111711// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
111712func (mdls MongoDbLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
111713	return nil, false
111714}
111715
111716// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
111717func (mdls MongoDbLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
111718	return nil, false
111719}
111720
111721// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
111722func (mdls MongoDbLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
111723	return nil, false
111724}
111725
111726// AsNetezzaLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
111727func (mdls MongoDbLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
111728	return nil, false
111729}
111730
111731// AsVerticaLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
111732func (mdls MongoDbLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
111733	return nil, false
111734}
111735
111736// AsZohoLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
111737func (mdls MongoDbLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
111738	return nil, false
111739}
111740
111741// AsXeroLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
111742func (mdls MongoDbLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
111743	return nil, false
111744}
111745
111746// AsSquareLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
111747func (mdls MongoDbLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
111748	return nil, false
111749}
111750
111751// AsSparkLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
111752func (mdls MongoDbLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
111753	return nil, false
111754}
111755
111756// AsShopifyLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
111757func (mdls MongoDbLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
111758	return nil, false
111759}
111760
111761// AsServiceNowLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
111762func (mdls MongoDbLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
111763	return nil, false
111764}
111765
111766// AsQuickBooksLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
111767func (mdls MongoDbLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
111768	return nil, false
111769}
111770
111771// AsPrestoLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
111772func (mdls MongoDbLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
111773	return nil, false
111774}
111775
111776// AsPhoenixLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
111777func (mdls MongoDbLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
111778	return nil, false
111779}
111780
111781// AsPaypalLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
111782func (mdls MongoDbLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
111783	return nil, false
111784}
111785
111786// AsMarketoLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
111787func (mdls MongoDbLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
111788	return nil, false
111789}
111790
111791// AsMariaDBLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
111792func (mdls MongoDbLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
111793	return nil, false
111794}
111795
111796// AsMagentoLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
111797func (mdls MongoDbLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
111798	return nil, false
111799}
111800
111801// AsJiraLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
111802func (mdls MongoDbLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
111803	return nil, false
111804}
111805
111806// AsImpalaLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
111807func (mdls MongoDbLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
111808	return nil, false
111809}
111810
111811// AsHubspotLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
111812func (mdls MongoDbLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
111813	return nil, false
111814}
111815
111816// AsHiveLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
111817func (mdls MongoDbLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
111818	return nil, false
111819}
111820
111821// AsHBaseLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
111822func (mdls MongoDbLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
111823	return nil, false
111824}
111825
111826// AsGreenplumLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
111827func (mdls MongoDbLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
111828	return nil, false
111829}
111830
111831// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
111832func (mdls MongoDbLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
111833	return nil, false
111834}
111835
111836// AsEloquaLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
111837func (mdls MongoDbLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
111838	return nil, false
111839}
111840
111841// AsDrillLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
111842func (mdls MongoDbLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
111843	return nil, false
111844}
111845
111846// AsCouchbaseLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
111847func (mdls MongoDbLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
111848	return nil, false
111849}
111850
111851// AsConcurLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
111852func (mdls MongoDbLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
111853	return nil, false
111854}
111855
111856// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
111857func (mdls MongoDbLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
111858	return nil, false
111859}
111860
111861// AsAmazonMWSLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
111862func (mdls MongoDbLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
111863	return nil, false
111864}
111865
111866// AsSapHanaLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
111867func (mdls MongoDbLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
111868	return nil, false
111869}
111870
111871// AsSapBWLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
111872func (mdls MongoDbLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
111873	return nil, false
111874}
111875
111876// AsSftpServerLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
111877func (mdls MongoDbLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
111878	return nil, false
111879}
111880
111881// AsFtpServerLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
111882func (mdls MongoDbLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
111883	return nil, false
111884}
111885
111886// AsHTTPLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
111887func (mdls MongoDbLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
111888	return nil, false
111889}
111890
111891// AsAzureSearchLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
111892func (mdls MongoDbLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
111893	return nil, false
111894}
111895
111896// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
111897func (mdls MongoDbLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
111898	return nil, false
111899}
111900
111901// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
111902func (mdls MongoDbLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
111903	return nil, false
111904}
111905
111906// AsAmazonS3LinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
111907func (mdls MongoDbLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
111908	return nil, false
111909}
111910
111911// AsRestServiceLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
111912func (mdls MongoDbLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) {
111913	return nil, false
111914}
111915
111916// AsSapOpenHubLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
111917func (mdls MongoDbLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) {
111918	return nil, false
111919}
111920
111921// AsSapEccLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
111922func (mdls MongoDbLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
111923	return nil, false
111924}
111925
111926// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
111927func (mdls MongoDbLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
111928	return nil, false
111929}
111930
111931// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
111932func (mdls MongoDbLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) {
111933	return nil, false
111934}
111935
111936// AsSalesforceLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
111937func (mdls MongoDbLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
111938	return nil, false
111939}
111940
111941// AsOffice365LinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
111942func (mdls MongoDbLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) {
111943	return nil, false
111944}
111945
111946// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
111947func (mdls MongoDbLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) {
111948	return nil, false
111949}
111950
111951// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
111952func (mdls MongoDbLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
111953	return nil, false
111954}
111955
111956// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
111957func (mdls MongoDbLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) {
111958	return nil, false
111959}
111960
111961// AsMongoDbV2LinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
111962func (mdls MongoDbLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) {
111963	return nil, false
111964}
111965
111966// AsMongoDbLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
111967func (mdls MongoDbLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
111968	return &mdls, true
111969}
111970
111971// AsCassandraLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
111972func (mdls MongoDbLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
111973	return nil, false
111974}
111975
111976// AsWebLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
111977func (mdls MongoDbLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
111978	return nil, false
111979}
111980
111981// AsODataLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
111982func (mdls MongoDbLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
111983	return nil, false
111984}
111985
111986// AsHdfsLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
111987func (mdls MongoDbLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
111988	return nil, false
111989}
111990
111991// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
111992func (mdls MongoDbLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) {
111993	return nil, false
111994}
111995
111996// AsInformixLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
111997func (mdls MongoDbLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) {
111998	return nil, false
111999}
112000
112001// AsOdbcLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
112002func (mdls MongoDbLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
112003	return nil, false
112004}
112005
112006// AsAzureMLLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
112007func (mdls MongoDbLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
112008	return nil, false
112009}
112010
112011// AsTeradataLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
112012func (mdls MongoDbLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
112013	return nil, false
112014}
112015
112016// AsDb2LinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
112017func (mdls MongoDbLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
112018	return nil, false
112019}
112020
112021// AsSybaseLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
112022func (mdls MongoDbLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
112023	return nil, false
112024}
112025
112026// AsPostgreSQLLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
112027func (mdls MongoDbLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
112028	return nil, false
112029}
112030
112031// AsMySQLLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
112032func (mdls MongoDbLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
112033	return nil, false
112034}
112035
112036// AsAzureMySQLLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
112037func (mdls MongoDbLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
112038	return nil, false
112039}
112040
112041// AsOracleLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
112042func (mdls MongoDbLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
112043	return nil, false
112044}
112045
112046// AsFileServerLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
112047func (mdls MongoDbLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
112048	return nil, false
112049}
112050
112051// AsHDInsightLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
112052func (mdls MongoDbLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
112053	return nil, false
112054}
112055
112056// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
112057func (mdls MongoDbLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) {
112058	return nil, false
112059}
112060
112061// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
112062func (mdls MongoDbLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) {
112063	return nil, false
112064}
112065
112066// AsDynamicsLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
112067func (mdls MongoDbLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
112068	return nil, false
112069}
112070
112071// AsCosmosDbLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
112072func (mdls MongoDbLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
112073	return nil, false
112074}
112075
112076// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
112077func (mdls MongoDbLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
112078	return nil, false
112079}
112080
112081// AsAzureBatchLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
112082func (mdls MongoDbLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
112083	return nil, false
112084}
112085
112086// AsAzureSQLMILinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
112087func (mdls MongoDbLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) {
112088	return nil, false
112089}
112090
112091// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
112092func (mdls MongoDbLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
112093	return nil, false
112094}
112095
112096// AsSQLServerLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
112097func (mdls MongoDbLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
112098	return nil, false
112099}
112100
112101// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
112102func (mdls MongoDbLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
112103	return nil, false
112104}
112105
112106// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
112107func (mdls MongoDbLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) {
112108	return nil, false
112109}
112110
112111// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
112112func (mdls MongoDbLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) {
112113	return nil, false
112114}
112115
112116// AsAzureStorageLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
112117func (mdls MongoDbLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
112118	return nil, false
112119}
112120
112121// AsLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
112122func (mdls MongoDbLinkedService) AsLinkedService() (*LinkedService, bool) {
112123	return nil, false
112124}
112125
112126// AsBasicLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
112127func (mdls MongoDbLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
112128	return &mdls, true
112129}
112130
112131// UnmarshalJSON is the custom unmarshaler for MongoDbLinkedService struct.
112132func (mdls *MongoDbLinkedService) UnmarshalJSON(body []byte) error {
112133	var m map[string]*json.RawMessage
112134	err := json.Unmarshal(body, &m)
112135	if err != nil {
112136		return err
112137	}
112138	for k, v := range m {
112139		switch k {
112140		case "typeProperties":
112141			if v != nil {
112142				var mongoDbLinkedServiceTypeProperties MongoDbLinkedServiceTypeProperties
112143				err = json.Unmarshal(*v, &mongoDbLinkedServiceTypeProperties)
112144				if err != nil {
112145					return err
112146				}
112147				mdls.MongoDbLinkedServiceTypeProperties = &mongoDbLinkedServiceTypeProperties
112148			}
112149		default:
112150			if v != nil {
112151				var additionalProperties interface{}
112152				err = json.Unmarshal(*v, &additionalProperties)
112153				if err != nil {
112154					return err
112155				}
112156				if mdls.AdditionalProperties == nil {
112157					mdls.AdditionalProperties = make(map[string]interface{})
112158				}
112159				mdls.AdditionalProperties[k] = additionalProperties
112160			}
112161		case "connectVia":
112162			if v != nil {
112163				var connectVia IntegrationRuntimeReference
112164				err = json.Unmarshal(*v, &connectVia)
112165				if err != nil {
112166					return err
112167				}
112168				mdls.ConnectVia = &connectVia
112169			}
112170		case "description":
112171			if v != nil {
112172				var description string
112173				err = json.Unmarshal(*v, &description)
112174				if err != nil {
112175					return err
112176				}
112177				mdls.Description = &description
112178			}
112179		case "parameters":
112180			if v != nil {
112181				var parameters map[string]*ParameterSpecification
112182				err = json.Unmarshal(*v, &parameters)
112183				if err != nil {
112184					return err
112185				}
112186				mdls.Parameters = parameters
112187			}
112188		case "annotations":
112189			if v != nil {
112190				var annotations []interface{}
112191				err = json.Unmarshal(*v, &annotations)
112192				if err != nil {
112193					return err
112194				}
112195				mdls.Annotations = &annotations
112196			}
112197		case "type":
112198			if v != nil {
112199				var typeVar TypeBasicLinkedService
112200				err = json.Unmarshal(*v, &typeVar)
112201				if err != nil {
112202					return err
112203				}
112204				mdls.Type = typeVar
112205			}
112206		}
112207	}
112208
112209	return nil
112210}
112211
112212// MongoDbLinkedServiceTypeProperties mongoDB linked service properties.
112213type MongoDbLinkedServiceTypeProperties struct {
112214	// Server - The IP address or server name of the MongoDB server. Type: string (or Expression with resultType string).
112215	Server interface{} `json:"server,omitempty"`
112216	// AuthenticationType - The authentication type to be used to connect to the MongoDB database. Possible values include: 'MongoDbAuthenticationTypeBasic', 'MongoDbAuthenticationTypeAnonymous'
112217	AuthenticationType MongoDbAuthenticationType `json:"authenticationType,omitempty"`
112218	// DatabaseName - The name of the MongoDB database that you want to access. Type: string (or Expression with resultType string).
112219	DatabaseName interface{} `json:"databaseName,omitempty"`
112220	// Username - Username for authentication. Type: string (or Expression with resultType string).
112221	Username interface{} `json:"username,omitempty"`
112222	// Password - Password for authentication.
112223	Password BasicSecretBase `json:"password,omitempty"`
112224	// AuthSource - Database to verify the username and password. Type: string (or Expression with resultType string).
112225	AuthSource interface{} `json:"authSource,omitempty"`
112226	// 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.
112227	Port interface{} `json:"port,omitempty"`
112228	// EnableSsl - Specifies whether the connections to the server are encrypted using SSL. The default value is false. Type: boolean (or Expression with resultType boolean).
112229	EnableSsl interface{} `json:"enableSsl,omitempty"`
112230	// AllowSelfSignedServerCert - Specifies whether to allow self-signed certificates from the server. The default value is false. Type: boolean (or Expression with resultType boolean).
112231	AllowSelfSignedServerCert interface{} `json:"allowSelfSignedServerCert,omitempty"`
112232	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
112233	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
112234}
112235
112236// UnmarshalJSON is the custom unmarshaler for MongoDbLinkedServiceTypeProperties struct.
112237func (mdlstp *MongoDbLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
112238	var m map[string]*json.RawMessage
112239	err := json.Unmarshal(body, &m)
112240	if err != nil {
112241		return err
112242	}
112243	for k, v := range m {
112244		switch k {
112245		case "server":
112246			if v != nil {
112247				var server interface{}
112248				err = json.Unmarshal(*v, &server)
112249				if err != nil {
112250					return err
112251				}
112252				mdlstp.Server = server
112253			}
112254		case "authenticationType":
112255			if v != nil {
112256				var authenticationType MongoDbAuthenticationType
112257				err = json.Unmarshal(*v, &authenticationType)
112258				if err != nil {
112259					return err
112260				}
112261				mdlstp.AuthenticationType = authenticationType
112262			}
112263		case "databaseName":
112264			if v != nil {
112265				var databaseName interface{}
112266				err = json.Unmarshal(*v, &databaseName)
112267				if err != nil {
112268					return err
112269				}
112270				mdlstp.DatabaseName = databaseName
112271			}
112272		case "username":
112273			if v != nil {
112274				var username interface{}
112275				err = json.Unmarshal(*v, &username)
112276				if err != nil {
112277					return err
112278				}
112279				mdlstp.Username = username
112280			}
112281		case "password":
112282			if v != nil {
112283				password, err := unmarshalBasicSecretBase(*v)
112284				if err != nil {
112285					return err
112286				}
112287				mdlstp.Password = password
112288			}
112289		case "authSource":
112290			if v != nil {
112291				var authSource interface{}
112292				err = json.Unmarshal(*v, &authSource)
112293				if err != nil {
112294					return err
112295				}
112296				mdlstp.AuthSource = authSource
112297			}
112298		case "port":
112299			if v != nil {
112300				var port interface{}
112301				err = json.Unmarshal(*v, &port)
112302				if err != nil {
112303					return err
112304				}
112305				mdlstp.Port = port
112306			}
112307		case "enableSsl":
112308			if v != nil {
112309				var enableSsl interface{}
112310				err = json.Unmarshal(*v, &enableSsl)
112311				if err != nil {
112312					return err
112313				}
112314				mdlstp.EnableSsl = enableSsl
112315			}
112316		case "allowSelfSignedServerCert":
112317			if v != nil {
112318				var allowSelfSignedServerCert interface{}
112319				err = json.Unmarshal(*v, &allowSelfSignedServerCert)
112320				if err != nil {
112321					return err
112322				}
112323				mdlstp.AllowSelfSignedServerCert = allowSelfSignedServerCert
112324			}
112325		case "encryptedCredential":
112326			if v != nil {
112327				var encryptedCredential interface{}
112328				err = json.Unmarshal(*v, &encryptedCredential)
112329				if err != nil {
112330					return err
112331				}
112332				mdlstp.EncryptedCredential = encryptedCredential
112333			}
112334		}
112335	}
112336
112337	return nil
112338}
112339
112340// MongoDbSource a copy activity source for a MongoDB database.
112341type MongoDbSource struct {
112342	// Query - Database query. Should be a SQL-92 query expression. Type: string (or Expression with resultType string).
112343	Query interface{} `json:"query,omitempty"`
112344	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
112345	AdditionalProperties map[string]interface{} `json:""`
112346	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
112347	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
112348	// 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])).
112349	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
112350	// MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer).
112351	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
112352	// Type - Possible values include: 'TypeCopySource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', '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', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeCassandraSource', 'TypeWebSource', 'TypeTeradataSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeAzureMySQLSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeRestSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceServiceCloudSource', 'TypeSalesforceSource', 'TypeODataSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeMicrosoftAccessSource', 'TypeInformixSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAzureTableSource', 'TypeBinarySource', 'TypeDelimitedTextSource', 'TypeParquetSource'
112353	Type TypeBasicCopySource `json:"type,omitempty"`
112354}
112355
112356// MarshalJSON is the custom marshaler for MongoDbSource.
112357func (mds MongoDbSource) MarshalJSON() ([]byte, error) {
112358	mds.Type = TypeMongoDbSource
112359	objectMap := make(map[string]interface{})
112360	if mds.Query != nil {
112361		objectMap["query"] = mds.Query
112362	}
112363	if mds.SourceRetryCount != nil {
112364		objectMap["sourceRetryCount"] = mds.SourceRetryCount
112365	}
112366	if mds.SourceRetryWait != nil {
112367		objectMap["sourceRetryWait"] = mds.SourceRetryWait
112368	}
112369	if mds.MaxConcurrentConnections != nil {
112370		objectMap["maxConcurrentConnections"] = mds.MaxConcurrentConnections
112371	}
112372	if mds.Type != "" {
112373		objectMap["type"] = mds.Type
112374	}
112375	for k, v := range mds.AdditionalProperties {
112376		objectMap[k] = v
112377	}
112378	return json.Marshal(objectMap)
112379}
112380
112381// AsAmazonRedshiftSource is the BasicCopySource implementation for MongoDbSource.
112382func (mds MongoDbSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
112383	return nil, false
112384}
112385
112386// AsGoogleAdWordsSource is the BasicCopySource implementation for MongoDbSource.
112387func (mds MongoDbSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) {
112388	return nil, false
112389}
112390
112391// AsOracleServiceCloudSource is the BasicCopySource implementation for MongoDbSource.
112392func (mds MongoDbSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) {
112393	return nil, false
112394}
112395
112396// AsDynamicsAXSource is the BasicCopySource implementation for MongoDbSource.
112397func (mds MongoDbSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) {
112398	return nil, false
112399}
112400
112401// AsResponsysSource is the BasicCopySource implementation for MongoDbSource.
112402func (mds MongoDbSource) AsResponsysSource() (*ResponsysSource, bool) {
112403	return nil, false
112404}
112405
112406// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for MongoDbSource.
112407func (mds MongoDbSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
112408	return nil, false
112409}
112410
112411// AsVerticaSource is the BasicCopySource implementation for MongoDbSource.
112412func (mds MongoDbSource) AsVerticaSource() (*VerticaSource, bool) {
112413	return nil, false
112414}
112415
112416// AsNetezzaSource is the BasicCopySource implementation for MongoDbSource.
112417func (mds MongoDbSource) AsNetezzaSource() (*NetezzaSource, bool) {
112418	return nil, false
112419}
112420
112421// AsZohoSource is the BasicCopySource implementation for MongoDbSource.
112422func (mds MongoDbSource) AsZohoSource() (*ZohoSource, bool) {
112423	return nil, false
112424}
112425
112426// AsXeroSource is the BasicCopySource implementation for MongoDbSource.
112427func (mds MongoDbSource) AsXeroSource() (*XeroSource, bool) {
112428	return nil, false
112429}
112430
112431// AsSquareSource is the BasicCopySource implementation for MongoDbSource.
112432func (mds MongoDbSource) AsSquareSource() (*SquareSource, bool) {
112433	return nil, false
112434}
112435
112436// AsSparkSource is the BasicCopySource implementation for MongoDbSource.
112437func (mds MongoDbSource) AsSparkSource() (*SparkSource, bool) {
112438	return nil, false
112439}
112440
112441// AsShopifySource is the BasicCopySource implementation for MongoDbSource.
112442func (mds MongoDbSource) AsShopifySource() (*ShopifySource, bool) {
112443	return nil, false
112444}
112445
112446// AsServiceNowSource is the BasicCopySource implementation for MongoDbSource.
112447func (mds MongoDbSource) AsServiceNowSource() (*ServiceNowSource, bool) {
112448	return nil, false
112449}
112450
112451// AsQuickBooksSource is the BasicCopySource implementation for MongoDbSource.
112452func (mds MongoDbSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
112453	return nil, false
112454}
112455
112456// AsPrestoSource is the BasicCopySource implementation for MongoDbSource.
112457func (mds MongoDbSource) AsPrestoSource() (*PrestoSource, bool) {
112458	return nil, false
112459}
112460
112461// AsPhoenixSource is the BasicCopySource implementation for MongoDbSource.
112462func (mds MongoDbSource) AsPhoenixSource() (*PhoenixSource, bool) {
112463	return nil, false
112464}
112465
112466// AsPaypalSource is the BasicCopySource implementation for MongoDbSource.
112467func (mds MongoDbSource) AsPaypalSource() (*PaypalSource, bool) {
112468	return nil, false
112469}
112470
112471// AsMarketoSource is the BasicCopySource implementation for MongoDbSource.
112472func (mds MongoDbSource) AsMarketoSource() (*MarketoSource, bool) {
112473	return nil, false
112474}
112475
112476// AsMariaDBSource is the BasicCopySource implementation for MongoDbSource.
112477func (mds MongoDbSource) AsMariaDBSource() (*MariaDBSource, bool) {
112478	return nil, false
112479}
112480
112481// AsMagentoSource is the BasicCopySource implementation for MongoDbSource.
112482func (mds MongoDbSource) AsMagentoSource() (*MagentoSource, bool) {
112483	return nil, false
112484}
112485
112486// AsJiraSource is the BasicCopySource implementation for MongoDbSource.
112487func (mds MongoDbSource) AsJiraSource() (*JiraSource, bool) {
112488	return nil, false
112489}
112490
112491// AsImpalaSource is the BasicCopySource implementation for MongoDbSource.
112492func (mds MongoDbSource) AsImpalaSource() (*ImpalaSource, bool) {
112493	return nil, false
112494}
112495
112496// AsHubspotSource is the BasicCopySource implementation for MongoDbSource.
112497func (mds MongoDbSource) AsHubspotSource() (*HubspotSource, bool) {
112498	return nil, false
112499}
112500
112501// AsHiveSource is the BasicCopySource implementation for MongoDbSource.
112502func (mds MongoDbSource) AsHiveSource() (*HiveSource, bool) {
112503	return nil, false
112504}
112505
112506// AsHBaseSource is the BasicCopySource implementation for MongoDbSource.
112507func (mds MongoDbSource) AsHBaseSource() (*HBaseSource, bool) {
112508	return nil, false
112509}
112510
112511// AsGreenplumSource is the BasicCopySource implementation for MongoDbSource.
112512func (mds MongoDbSource) AsGreenplumSource() (*GreenplumSource, bool) {
112513	return nil, false
112514}
112515
112516// AsGoogleBigQuerySource is the BasicCopySource implementation for MongoDbSource.
112517func (mds MongoDbSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
112518	return nil, false
112519}
112520
112521// AsEloquaSource is the BasicCopySource implementation for MongoDbSource.
112522func (mds MongoDbSource) AsEloquaSource() (*EloquaSource, bool) {
112523	return nil, false
112524}
112525
112526// AsDrillSource is the BasicCopySource implementation for MongoDbSource.
112527func (mds MongoDbSource) AsDrillSource() (*DrillSource, bool) {
112528	return nil, false
112529}
112530
112531// AsCouchbaseSource is the BasicCopySource implementation for MongoDbSource.
112532func (mds MongoDbSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
112533	return nil, false
112534}
112535
112536// AsConcurSource is the BasicCopySource implementation for MongoDbSource.
112537func (mds MongoDbSource) AsConcurSource() (*ConcurSource, bool) {
112538	return nil, false
112539}
112540
112541// AsAzurePostgreSQLSource is the BasicCopySource implementation for MongoDbSource.
112542func (mds MongoDbSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
112543	return nil, false
112544}
112545
112546// AsAmazonMWSSource is the BasicCopySource implementation for MongoDbSource.
112547func (mds MongoDbSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
112548	return nil, false
112549}
112550
112551// AsHTTPSource is the BasicCopySource implementation for MongoDbSource.
112552func (mds MongoDbSource) AsHTTPSource() (*HTTPSource, bool) {
112553	return nil, false
112554}
112555
112556// AsAzureBlobFSSource is the BasicCopySource implementation for MongoDbSource.
112557func (mds MongoDbSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) {
112558	return nil, false
112559}
112560
112561// AsAzureDataLakeStoreSource is the BasicCopySource implementation for MongoDbSource.
112562func (mds MongoDbSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
112563	return nil, false
112564}
112565
112566// AsOffice365Source is the BasicCopySource implementation for MongoDbSource.
112567func (mds MongoDbSource) AsOffice365Source() (*Office365Source, bool) {
112568	return nil, false
112569}
112570
112571// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for MongoDbSource.
112572func (mds MongoDbSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) {
112573	return nil, false
112574}
112575
112576// AsMongoDbV2Source is the BasicCopySource implementation for MongoDbSource.
112577func (mds MongoDbSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) {
112578	return nil, false
112579}
112580
112581// AsMongoDbSource is the BasicCopySource implementation for MongoDbSource.
112582func (mds MongoDbSource) AsMongoDbSource() (*MongoDbSource, bool) {
112583	return &mds, true
112584}
112585
112586// AsCassandraSource is the BasicCopySource implementation for MongoDbSource.
112587func (mds MongoDbSource) AsCassandraSource() (*CassandraSource, bool) {
112588	return nil, false
112589}
112590
112591// AsWebSource is the BasicCopySource implementation for MongoDbSource.
112592func (mds MongoDbSource) AsWebSource() (*WebSource, bool) {
112593	return nil, false
112594}
112595
112596// AsTeradataSource is the BasicCopySource implementation for MongoDbSource.
112597func (mds MongoDbSource) AsTeradataSource() (*TeradataSource, bool) {
112598	return nil, false
112599}
112600
112601// AsOracleSource is the BasicCopySource implementation for MongoDbSource.
112602func (mds MongoDbSource) AsOracleSource() (*OracleSource, bool) {
112603	return nil, false
112604}
112605
112606// AsAzureDataExplorerSource is the BasicCopySource implementation for MongoDbSource.
112607func (mds MongoDbSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) {
112608	return nil, false
112609}
112610
112611// AsAzureMySQLSource is the BasicCopySource implementation for MongoDbSource.
112612func (mds MongoDbSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
112613	return nil, false
112614}
112615
112616// AsHdfsSource is the BasicCopySource implementation for MongoDbSource.
112617func (mds MongoDbSource) AsHdfsSource() (*HdfsSource, bool) {
112618	return nil, false
112619}
112620
112621// AsFileSystemSource is the BasicCopySource implementation for MongoDbSource.
112622func (mds MongoDbSource) AsFileSystemSource() (*FileSystemSource, bool) {
112623	return nil, false
112624}
112625
112626// AsSQLDWSource is the BasicCopySource implementation for MongoDbSource.
112627func (mds MongoDbSource) AsSQLDWSource() (*SQLDWSource, bool) {
112628	return nil, false
112629}
112630
112631// AsSQLMISource is the BasicCopySource implementation for MongoDbSource.
112632func (mds MongoDbSource) AsSQLMISource() (*SQLMISource, bool) {
112633	return nil, false
112634}
112635
112636// AsAzureSQLSource is the BasicCopySource implementation for MongoDbSource.
112637func (mds MongoDbSource) AsAzureSQLSource() (*AzureSQLSource, bool) {
112638	return nil, false
112639}
112640
112641// AsSQLServerSource is the BasicCopySource implementation for MongoDbSource.
112642func (mds MongoDbSource) AsSQLServerSource() (*SQLServerSource, bool) {
112643	return nil, false
112644}
112645
112646// AsSQLSource is the BasicCopySource implementation for MongoDbSource.
112647func (mds MongoDbSource) AsSQLSource() (*SQLSource, bool) {
112648	return nil, false
112649}
112650
112651// AsRestSource is the BasicCopySource implementation for MongoDbSource.
112652func (mds MongoDbSource) AsRestSource() (*RestSource, bool) {
112653	return nil, false
112654}
112655
112656// AsSapTableSource is the BasicCopySource implementation for MongoDbSource.
112657func (mds MongoDbSource) AsSapTableSource() (*SapTableSource, bool) {
112658	return nil, false
112659}
112660
112661// AsSapOpenHubSource is the BasicCopySource implementation for MongoDbSource.
112662func (mds MongoDbSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) {
112663	return nil, false
112664}
112665
112666// AsSapHanaSource is the BasicCopySource implementation for MongoDbSource.
112667func (mds MongoDbSource) AsSapHanaSource() (*SapHanaSource, bool) {
112668	return nil, false
112669}
112670
112671// AsSapEccSource is the BasicCopySource implementation for MongoDbSource.
112672func (mds MongoDbSource) AsSapEccSource() (*SapEccSource, bool) {
112673	return nil, false
112674}
112675
112676// AsSapCloudForCustomerSource is the BasicCopySource implementation for MongoDbSource.
112677func (mds MongoDbSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
112678	return nil, false
112679}
112680
112681// AsSalesforceServiceCloudSource is the BasicCopySource implementation for MongoDbSource.
112682func (mds MongoDbSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) {
112683	return nil, false
112684}
112685
112686// AsSalesforceSource is the BasicCopySource implementation for MongoDbSource.
112687func (mds MongoDbSource) AsSalesforceSource() (*SalesforceSource, bool) {
112688	return nil, false
112689}
112690
112691// AsODataSource is the BasicCopySource implementation for MongoDbSource.
112692func (mds MongoDbSource) AsODataSource() (*ODataSource, bool) {
112693	return nil, false
112694}
112695
112696// AsSybaseSource is the BasicCopySource implementation for MongoDbSource.
112697func (mds MongoDbSource) AsSybaseSource() (*SybaseSource, bool) {
112698	return nil, false
112699}
112700
112701// AsPostgreSQLSource is the BasicCopySource implementation for MongoDbSource.
112702func (mds MongoDbSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) {
112703	return nil, false
112704}
112705
112706// AsMySQLSource is the BasicCopySource implementation for MongoDbSource.
112707func (mds MongoDbSource) AsMySQLSource() (*MySQLSource, bool) {
112708	return nil, false
112709}
112710
112711// AsOdbcSource is the BasicCopySource implementation for MongoDbSource.
112712func (mds MongoDbSource) AsOdbcSource() (*OdbcSource, bool) {
112713	return nil, false
112714}
112715
112716// AsDb2Source is the BasicCopySource implementation for MongoDbSource.
112717func (mds MongoDbSource) AsDb2Source() (*Db2Source, bool) {
112718	return nil, false
112719}
112720
112721// AsMicrosoftAccessSource is the BasicCopySource implementation for MongoDbSource.
112722func (mds MongoDbSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) {
112723	return nil, false
112724}
112725
112726// AsInformixSource is the BasicCopySource implementation for MongoDbSource.
112727func (mds MongoDbSource) AsInformixSource() (*InformixSource, bool) {
112728	return nil, false
112729}
112730
112731// AsRelationalSource is the BasicCopySource implementation for MongoDbSource.
112732func (mds MongoDbSource) AsRelationalSource() (*RelationalSource, bool) {
112733	return nil, false
112734}
112735
112736// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for MongoDbSource.
112737func (mds MongoDbSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) {
112738	return nil, false
112739}
112740
112741// AsDynamicsCrmSource is the BasicCopySource implementation for MongoDbSource.
112742func (mds MongoDbSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) {
112743	return nil, false
112744}
112745
112746// AsDynamicsSource is the BasicCopySource implementation for MongoDbSource.
112747func (mds MongoDbSource) AsDynamicsSource() (*DynamicsSource, bool) {
112748	return nil, false
112749}
112750
112751// AsDocumentDbCollectionSource is the BasicCopySource implementation for MongoDbSource.
112752func (mds MongoDbSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
112753	return nil, false
112754}
112755
112756// AsBlobSource is the BasicCopySource implementation for MongoDbSource.
112757func (mds MongoDbSource) AsBlobSource() (*BlobSource, bool) {
112758	return nil, false
112759}
112760
112761// AsAzureTableSource is the BasicCopySource implementation for MongoDbSource.
112762func (mds MongoDbSource) AsAzureTableSource() (*AzureTableSource, bool) {
112763	return nil, false
112764}
112765
112766// AsBinarySource is the BasicCopySource implementation for MongoDbSource.
112767func (mds MongoDbSource) AsBinarySource() (*BinarySource, bool) {
112768	return nil, false
112769}
112770
112771// AsDelimitedTextSource is the BasicCopySource implementation for MongoDbSource.
112772func (mds MongoDbSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) {
112773	return nil, false
112774}
112775
112776// AsParquetSource is the BasicCopySource implementation for MongoDbSource.
112777func (mds MongoDbSource) AsParquetSource() (*ParquetSource, bool) {
112778	return nil, false
112779}
112780
112781// AsCopySource is the BasicCopySource implementation for MongoDbSource.
112782func (mds MongoDbSource) AsCopySource() (*CopySource, bool) {
112783	return nil, false
112784}
112785
112786// AsBasicCopySource is the BasicCopySource implementation for MongoDbSource.
112787func (mds MongoDbSource) AsBasicCopySource() (BasicCopySource, bool) {
112788	return &mds, true
112789}
112790
112791// UnmarshalJSON is the custom unmarshaler for MongoDbSource struct.
112792func (mds *MongoDbSource) UnmarshalJSON(body []byte) error {
112793	var m map[string]*json.RawMessage
112794	err := json.Unmarshal(body, &m)
112795	if err != nil {
112796		return err
112797	}
112798	for k, v := range m {
112799		switch k {
112800		case "query":
112801			if v != nil {
112802				var query interface{}
112803				err = json.Unmarshal(*v, &query)
112804				if err != nil {
112805					return err
112806				}
112807				mds.Query = query
112808			}
112809		default:
112810			if v != nil {
112811				var additionalProperties interface{}
112812				err = json.Unmarshal(*v, &additionalProperties)
112813				if err != nil {
112814					return err
112815				}
112816				if mds.AdditionalProperties == nil {
112817					mds.AdditionalProperties = make(map[string]interface{})
112818				}
112819				mds.AdditionalProperties[k] = additionalProperties
112820			}
112821		case "sourceRetryCount":
112822			if v != nil {
112823				var sourceRetryCount interface{}
112824				err = json.Unmarshal(*v, &sourceRetryCount)
112825				if err != nil {
112826					return err
112827				}
112828				mds.SourceRetryCount = sourceRetryCount
112829			}
112830		case "sourceRetryWait":
112831			if v != nil {
112832				var sourceRetryWait interface{}
112833				err = json.Unmarshal(*v, &sourceRetryWait)
112834				if err != nil {
112835					return err
112836				}
112837				mds.SourceRetryWait = sourceRetryWait
112838			}
112839		case "maxConcurrentConnections":
112840			if v != nil {
112841				var maxConcurrentConnections interface{}
112842				err = json.Unmarshal(*v, &maxConcurrentConnections)
112843				if err != nil {
112844					return err
112845				}
112846				mds.MaxConcurrentConnections = maxConcurrentConnections
112847			}
112848		case "type":
112849			if v != nil {
112850				var typeVar TypeBasicCopySource
112851				err = json.Unmarshal(*v, &typeVar)
112852				if err != nil {
112853					return err
112854				}
112855				mds.Type = typeVar
112856			}
112857		}
112858	}
112859
112860	return nil
112861}
112862
112863// MongoDbV2CollectionDataset the MongoDB database dataset.
112864type MongoDbV2CollectionDataset struct {
112865	// MongoDbV2CollectionDatasetTypeProperties - MongoDB database dataset properties.
112866	*MongoDbV2CollectionDatasetTypeProperties `json:"typeProperties,omitempty"`
112867	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
112868	AdditionalProperties map[string]interface{} `json:""`
112869	// Description - Dataset description.
112870	Description *string `json:"description,omitempty"`
112871	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
112872	Structure interface{} `json:"structure,omitempty"`
112873	// Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement.
112874	Schema interface{} `json:"schema,omitempty"`
112875	// LinkedServiceName - Linked service reference.
112876	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
112877	// Parameters - Parameters for dataset.
112878	Parameters map[string]*ParameterSpecification `json:"parameters"`
112879	// Annotations - List of tags that can be used for describing the Dataset.
112880	Annotations *[]interface{} `json:"annotations,omitempty"`
112881	// Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level.
112882	Folder *DatasetFolder `json:"folder,omitempty"`
112883	// Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', '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', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeDelimitedText', 'TypeParquet', 'TypeAmazonS3Object'
112884	Type TypeBasicDataset `json:"type,omitempty"`
112885}
112886
112887// MarshalJSON is the custom marshaler for MongoDbV2CollectionDataset.
112888func (mdvcd MongoDbV2CollectionDataset) MarshalJSON() ([]byte, error) {
112889	mdvcd.Type = TypeMongoDbV2Collection
112890	objectMap := make(map[string]interface{})
112891	if mdvcd.MongoDbV2CollectionDatasetTypeProperties != nil {
112892		objectMap["typeProperties"] = mdvcd.MongoDbV2CollectionDatasetTypeProperties
112893	}
112894	if mdvcd.Description != nil {
112895		objectMap["description"] = mdvcd.Description
112896	}
112897	if mdvcd.Structure != nil {
112898		objectMap["structure"] = mdvcd.Structure
112899	}
112900	if mdvcd.Schema != nil {
112901		objectMap["schema"] = mdvcd.Schema
112902	}
112903	if mdvcd.LinkedServiceName != nil {
112904		objectMap["linkedServiceName"] = mdvcd.LinkedServiceName
112905	}
112906	if mdvcd.Parameters != nil {
112907		objectMap["parameters"] = mdvcd.Parameters
112908	}
112909	if mdvcd.Annotations != nil {
112910		objectMap["annotations"] = mdvcd.Annotations
112911	}
112912	if mdvcd.Folder != nil {
112913		objectMap["folder"] = mdvcd.Folder
112914	}
112915	if mdvcd.Type != "" {
112916		objectMap["type"] = mdvcd.Type
112917	}
112918	for k, v := range mdvcd.AdditionalProperties {
112919		objectMap[k] = v
112920	}
112921	return json.Marshal(objectMap)
112922}
112923
112924// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for MongoDbV2CollectionDataset.
112925func (mdvcd MongoDbV2CollectionDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) {
112926	return nil, false
112927}
112928
112929// AsAzureDataExplorerTableDataset is the BasicDataset implementation for MongoDbV2CollectionDataset.
112930func (mdvcd MongoDbV2CollectionDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) {
112931	return nil, false
112932}
112933
112934// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for MongoDbV2CollectionDataset.
112935func (mdvcd MongoDbV2CollectionDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) {
112936	return nil, false
112937}
112938
112939// AsDynamicsAXResourceDataset is the BasicDataset implementation for MongoDbV2CollectionDataset.
112940func (mdvcd MongoDbV2CollectionDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) {
112941	return nil, false
112942}
112943
112944// AsResponsysObjectDataset is the BasicDataset implementation for MongoDbV2CollectionDataset.
112945func (mdvcd MongoDbV2CollectionDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
112946	return nil, false
112947}
112948
112949// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for MongoDbV2CollectionDataset.
112950func (mdvcd MongoDbV2CollectionDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
112951	return nil, false
112952}
112953
112954// AsVerticaTableDataset is the BasicDataset implementation for MongoDbV2CollectionDataset.
112955func (mdvcd MongoDbV2CollectionDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
112956	return nil, false
112957}
112958
112959// AsNetezzaTableDataset is the BasicDataset implementation for MongoDbV2CollectionDataset.
112960func (mdvcd MongoDbV2CollectionDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
112961	return nil, false
112962}
112963
112964// AsZohoObjectDataset is the BasicDataset implementation for MongoDbV2CollectionDataset.
112965func (mdvcd MongoDbV2CollectionDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
112966	return nil, false
112967}
112968
112969// AsXeroObjectDataset is the BasicDataset implementation for MongoDbV2CollectionDataset.
112970func (mdvcd MongoDbV2CollectionDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
112971	return nil, false
112972}
112973
112974// AsSquareObjectDataset is the BasicDataset implementation for MongoDbV2CollectionDataset.
112975func (mdvcd MongoDbV2CollectionDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
112976	return nil, false
112977}
112978
112979// AsSparkObjectDataset is the BasicDataset implementation for MongoDbV2CollectionDataset.
112980func (mdvcd MongoDbV2CollectionDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
112981	return nil, false
112982}
112983
112984// AsShopifyObjectDataset is the BasicDataset implementation for MongoDbV2CollectionDataset.
112985func (mdvcd MongoDbV2CollectionDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
112986	return nil, false
112987}
112988
112989// AsServiceNowObjectDataset is the BasicDataset implementation for MongoDbV2CollectionDataset.
112990func (mdvcd MongoDbV2CollectionDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
112991	return nil, false
112992}
112993
112994// AsQuickBooksObjectDataset is the BasicDataset implementation for MongoDbV2CollectionDataset.
112995func (mdvcd MongoDbV2CollectionDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
112996	return nil, false
112997}
112998
112999// AsPrestoObjectDataset is the BasicDataset implementation for MongoDbV2CollectionDataset.
113000func (mdvcd MongoDbV2CollectionDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
113001	return nil, false
113002}
113003
113004// AsPhoenixObjectDataset is the BasicDataset implementation for MongoDbV2CollectionDataset.
113005func (mdvcd MongoDbV2CollectionDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
113006	return nil, false
113007}
113008
113009// AsPaypalObjectDataset is the BasicDataset implementation for MongoDbV2CollectionDataset.
113010func (mdvcd MongoDbV2CollectionDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
113011	return nil, false
113012}
113013
113014// AsMarketoObjectDataset is the BasicDataset implementation for MongoDbV2CollectionDataset.
113015func (mdvcd MongoDbV2CollectionDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
113016	return nil, false
113017}
113018
113019// AsMariaDBTableDataset is the BasicDataset implementation for MongoDbV2CollectionDataset.
113020func (mdvcd MongoDbV2CollectionDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
113021	return nil, false
113022}
113023
113024// AsMagentoObjectDataset is the BasicDataset implementation for MongoDbV2CollectionDataset.
113025func (mdvcd MongoDbV2CollectionDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
113026	return nil, false
113027}
113028
113029// AsJiraObjectDataset is the BasicDataset implementation for MongoDbV2CollectionDataset.
113030func (mdvcd MongoDbV2CollectionDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
113031	return nil, false
113032}
113033
113034// AsImpalaObjectDataset is the BasicDataset implementation for MongoDbV2CollectionDataset.
113035func (mdvcd MongoDbV2CollectionDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
113036	return nil, false
113037}
113038
113039// AsHubspotObjectDataset is the BasicDataset implementation for MongoDbV2CollectionDataset.
113040func (mdvcd MongoDbV2CollectionDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
113041	return nil, false
113042}
113043
113044// AsHiveObjectDataset is the BasicDataset implementation for MongoDbV2CollectionDataset.
113045func (mdvcd MongoDbV2CollectionDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
113046	return nil, false
113047}
113048
113049// AsHBaseObjectDataset is the BasicDataset implementation for MongoDbV2CollectionDataset.
113050func (mdvcd MongoDbV2CollectionDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
113051	return nil, false
113052}
113053
113054// AsGreenplumTableDataset is the BasicDataset implementation for MongoDbV2CollectionDataset.
113055func (mdvcd MongoDbV2CollectionDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
113056	return nil, false
113057}
113058
113059// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for MongoDbV2CollectionDataset.
113060func (mdvcd MongoDbV2CollectionDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
113061	return nil, false
113062}
113063
113064// AsEloquaObjectDataset is the BasicDataset implementation for MongoDbV2CollectionDataset.
113065func (mdvcd MongoDbV2CollectionDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
113066	return nil, false
113067}
113068
113069// AsDrillTableDataset is the BasicDataset implementation for MongoDbV2CollectionDataset.
113070func (mdvcd MongoDbV2CollectionDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
113071	return nil, false
113072}
113073
113074// AsCouchbaseTableDataset is the BasicDataset implementation for MongoDbV2CollectionDataset.
113075func (mdvcd MongoDbV2CollectionDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
113076	return nil, false
113077}
113078
113079// AsConcurObjectDataset is the BasicDataset implementation for MongoDbV2CollectionDataset.
113080func (mdvcd MongoDbV2CollectionDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
113081	return nil, false
113082}
113083
113084// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for MongoDbV2CollectionDataset.
113085func (mdvcd MongoDbV2CollectionDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
113086	return nil, false
113087}
113088
113089// AsAmazonMWSObjectDataset is the BasicDataset implementation for MongoDbV2CollectionDataset.
113090func (mdvcd MongoDbV2CollectionDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
113091	return nil, false
113092}
113093
113094// AsHTTPDataset is the BasicDataset implementation for MongoDbV2CollectionDataset.
113095func (mdvcd MongoDbV2CollectionDataset) AsHTTPDataset() (*HTTPDataset, bool) {
113096	return nil, false
113097}
113098
113099// AsAzureSearchIndexDataset is the BasicDataset implementation for MongoDbV2CollectionDataset.
113100func (mdvcd MongoDbV2CollectionDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
113101	return nil, false
113102}
113103
113104// AsWebTableDataset is the BasicDataset implementation for MongoDbV2CollectionDataset.
113105func (mdvcd MongoDbV2CollectionDataset) AsWebTableDataset() (*WebTableDataset, bool) {
113106	return nil, false
113107}
113108
113109// AsSapTableResourceDataset is the BasicDataset implementation for MongoDbV2CollectionDataset.
113110func (mdvcd MongoDbV2CollectionDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) {
113111	return nil, false
113112}
113113
113114// AsRestResourceDataset is the BasicDataset implementation for MongoDbV2CollectionDataset.
113115func (mdvcd MongoDbV2CollectionDataset) AsRestResourceDataset() (*RestResourceDataset, bool) {
113116	return nil, false
113117}
113118
113119// AsSQLServerTableDataset is the BasicDataset implementation for MongoDbV2CollectionDataset.
113120func (mdvcd MongoDbV2CollectionDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
113121	return nil, false
113122}
113123
113124// AsSapOpenHubTableDataset is the BasicDataset implementation for MongoDbV2CollectionDataset.
113125func (mdvcd MongoDbV2CollectionDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) {
113126	return nil, false
113127}
113128
113129// AsSapHanaTableDataset is the BasicDataset implementation for MongoDbV2CollectionDataset.
113130func (mdvcd MongoDbV2CollectionDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) {
113131	return nil, false
113132}
113133
113134// AsSapEccResourceDataset is the BasicDataset implementation for MongoDbV2CollectionDataset.
113135func (mdvcd MongoDbV2CollectionDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
113136	return nil, false
113137}
113138
113139// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for MongoDbV2CollectionDataset.
113140func (mdvcd MongoDbV2CollectionDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
113141	return nil, false
113142}
113143
113144// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for MongoDbV2CollectionDataset.
113145func (mdvcd MongoDbV2CollectionDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) {
113146	return nil, false
113147}
113148
113149// AsSalesforceObjectDataset is the BasicDataset implementation for MongoDbV2CollectionDataset.
113150func (mdvcd MongoDbV2CollectionDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
113151	return nil, false
113152}
113153
113154// AsMicrosoftAccessTableDataset is the BasicDataset implementation for MongoDbV2CollectionDataset.
113155func (mdvcd MongoDbV2CollectionDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) {
113156	return nil, false
113157}
113158
113159// AsPostgreSQLTableDataset is the BasicDataset implementation for MongoDbV2CollectionDataset.
113160func (mdvcd MongoDbV2CollectionDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) {
113161	return nil, false
113162}
113163
113164// AsMySQLTableDataset is the BasicDataset implementation for MongoDbV2CollectionDataset.
113165func (mdvcd MongoDbV2CollectionDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) {
113166	return nil, false
113167}
113168
113169// AsOdbcTableDataset is the BasicDataset implementation for MongoDbV2CollectionDataset.
113170func (mdvcd MongoDbV2CollectionDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) {
113171	return nil, false
113172}
113173
113174// AsInformixTableDataset is the BasicDataset implementation for MongoDbV2CollectionDataset.
113175func (mdvcd MongoDbV2CollectionDataset) AsInformixTableDataset() (*InformixTableDataset, bool) {
113176	return nil, false
113177}
113178
113179// AsRelationalTableDataset is the BasicDataset implementation for MongoDbV2CollectionDataset.
113180func (mdvcd MongoDbV2CollectionDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
113181	return nil, false
113182}
113183
113184// AsAzureMySQLTableDataset is the BasicDataset implementation for MongoDbV2CollectionDataset.
113185func (mdvcd MongoDbV2CollectionDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
113186	return nil, false
113187}
113188
113189// AsTeradataTableDataset is the BasicDataset implementation for MongoDbV2CollectionDataset.
113190func (mdvcd MongoDbV2CollectionDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) {
113191	return nil, false
113192}
113193
113194// AsOracleTableDataset is the BasicDataset implementation for MongoDbV2CollectionDataset.
113195func (mdvcd MongoDbV2CollectionDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
113196	return nil, false
113197}
113198
113199// AsODataResourceDataset is the BasicDataset implementation for MongoDbV2CollectionDataset.
113200func (mdvcd MongoDbV2CollectionDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
113201	return nil, false
113202}
113203
113204// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for MongoDbV2CollectionDataset.
113205func (mdvcd MongoDbV2CollectionDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) {
113206	return nil, false
113207}
113208
113209// AsMongoDbV2CollectionDataset is the BasicDataset implementation for MongoDbV2CollectionDataset.
113210func (mdvcd MongoDbV2CollectionDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) {
113211	return &mdvcd, true
113212}
113213
113214// AsMongoDbCollectionDataset is the BasicDataset implementation for MongoDbV2CollectionDataset.
113215func (mdvcd MongoDbV2CollectionDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
113216	return nil, false
113217}
113218
113219// AsFileShareDataset is the BasicDataset implementation for MongoDbV2CollectionDataset.
113220func (mdvcd MongoDbV2CollectionDataset) AsFileShareDataset() (*FileShareDataset, bool) {
113221	return nil, false
113222}
113223
113224// AsOffice365Dataset is the BasicDataset implementation for MongoDbV2CollectionDataset.
113225func (mdvcd MongoDbV2CollectionDataset) AsOffice365Dataset() (*Office365Dataset, bool) {
113226	return nil, false
113227}
113228
113229// AsAzureBlobFSDataset is the BasicDataset implementation for MongoDbV2CollectionDataset.
113230func (mdvcd MongoDbV2CollectionDataset) AsAzureBlobFSDataset() (*AzureBlobFSDataset, bool) {
113231	return nil, false
113232}
113233
113234// AsAzureDataLakeStoreDataset is the BasicDataset implementation for MongoDbV2CollectionDataset.
113235func (mdvcd MongoDbV2CollectionDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) {
113236	return nil, false
113237}
113238
113239// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for MongoDbV2CollectionDataset.
113240func (mdvcd MongoDbV2CollectionDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) {
113241	return nil, false
113242}
113243
113244// AsDynamicsCrmEntityDataset is the BasicDataset implementation for MongoDbV2CollectionDataset.
113245func (mdvcd MongoDbV2CollectionDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) {
113246	return nil, false
113247}
113248
113249// AsDynamicsEntityDataset is the BasicDataset implementation for MongoDbV2CollectionDataset.
113250func (mdvcd MongoDbV2CollectionDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
113251	return nil, false
113252}
113253
113254// AsDocumentDbCollectionDataset is the BasicDataset implementation for MongoDbV2CollectionDataset.
113255func (mdvcd MongoDbV2CollectionDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
113256	return nil, false
113257}
113258
113259// AsCustomDataset is the BasicDataset implementation for MongoDbV2CollectionDataset.
113260func (mdvcd MongoDbV2CollectionDataset) AsCustomDataset() (*CustomDataset, bool) {
113261	return nil, false
113262}
113263
113264// AsCassandraTableDataset is the BasicDataset implementation for MongoDbV2CollectionDataset.
113265func (mdvcd MongoDbV2CollectionDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
113266	return nil, false
113267}
113268
113269// AsAzureSQLDWTableDataset is the BasicDataset implementation for MongoDbV2CollectionDataset.
113270func (mdvcd MongoDbV2CollectionDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
113271	return nil, false
113272}
113273
113274// AsAzureSQLMITableDataset is the BasicDataset implementation for MongoDbV2CollectionDataset.
113275func (mdvcd MongoDbV2CollectionDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) {
113276	return nil, false
113277}
113278
113279// AsAzureSQLTableDataset is the BasicDataset implementation for MongoDbV2CollectionDataset.
113280func (mdvcd MongoDbV2CollectionDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
113281	return nil, false
113282}
113283
113284// AsAzureTableDataset is the BasicDataset implementation for MongoDbV2CollectionDataset.
113285func (mdvcd MongoDbV2CollectionDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
113286	return nil, false
113287}
113288
113289// AsAzureBlobDataset is the BasicDataset implementation for MongoDbV2CollectionDataset.
113290func (mdvcd MongoDbV2CollectionDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) {
113291	return nil, false
113292}
113293
113294// AsBinaryDataset is the BasicDataset implementation for MongoDbV2CollectionDataset.
113295func (mdvcd MongoDbV2CollectionDataset) AsBinaryDataset() (*BinaryDataset, bool) {
113296	return nil, false
113297}
113298
113299// AsDelimitedTextDataset is the BasicDataset implementation for MongoDbV2CollectionDataset.
113300func (mdvcd MongoDbV2CollectionDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) {
113301	return nil, false
113302}
113303
113304// AsParquetDataset is the BasicDataset implementation for MongoDbV2CollectionDataset.
113305func (mdvcd MongoDbV2CollectionDataset) AsParquetDataset() (*ParquetDataset, bool) {
113306	return nil, false
113307}
113308
113309// AsAmazonS3Dataset is the BasicDataset implementation for MongoDbV2CollectionDataset.
113310func (mdvcd MongoDbV2CollectionDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) {
113311	return nil, false
113312}
113313
113314// AsDataset is the BasicDataset implementation for MongoDbV2CollectionDataset.
113315func (mdvcd MongoDbV2CollectionDataset) AsDataset() (*Dataset, bool) {
113316	return nil, false
113317}
113318
113319// AsBasicDataset is the BasicDataset implementation for MongoDbV2CollectionDataset.
113320func (mdvcd MongoDbV2CollectionDataset) AsBasicDataset() (BasicDataset, bool) {
113321	return &mdvcd, true
113322}
113323
113324// UnmarshalJSON is the custom unmarshaler for MongoDbV2CollectionDataset struct.
113325func (mdvcd *MongoDbV2CollectionDataset) UnmarshalJSON(body []byte) error {
113326	var m map[string]*json.RawMessage
113327	err := json.Unmarshal(body, &m)
113328	if err != nil {
113329		return err
113330	}
113331	for k, v := range m {
113332		switch k {
113333		case "typeProperties":
113334			if v != nil {
113335				var mongoDbV2CollectionDatasetTypeProperties MongoDbV2CollectionDatasetTypeProperties
113336				err = json.Unmarshal(*v, &mongoDbV2CollectionDatasetTypeProperties)
113337				if err != nil {
113338					return err
113339				}
113340				mdvcd.MongoDbV2CollectionDatasetTypeProperties = &mongoDbV2CollectionDatasetTypeProperties
113341			}
113342		default:
113343			if v != nil {
113344				var additionalProperties interface{}
113345				err = json.Unmarshal(*v, &additionalProperties)
113346				if err != nil {
113347					return err
113348				}
113349				if mdvcd.AdditionalProperties == nil {
113350					mdvcd.AdditionalProperties = make(map[string]interface{})
113351				}
113352				mdvcd.AdditionalProperties[k] = additionalProperties
113353			}
113354		case "description":
113355			if v != nil {
113356				var description string
113357				err = json.Unmarshal(*v, &description)
113358				if err != nil {
113359					return err
113360				}
113361				mdvcd.Description = &description
113362			}
113363		case "structure":
113364			if v != nil {
113365				var structure interface{}
113366				err = json.Unmarshal(*v, &structure)
113367				if err != nil {
113368					return err
113369				}
113370				mdvcd.Structure = structure
113371			}
113372		case "schema":
113373			if v != nil {
113374				var schema interface{}
113375				err = json.Unmarshal(*v, &schema)
113376				if err != nil {
113377					return err
113378				}
113379				mdvcd.Schema = schema
113380			}
113381		case "linkedServiceName":
113382			if v != nil {
113383				var linkedServiceName LinkedServiceReference
113384				err = json.Unmarshal(*v, &linkedServiceName)
113385				if err != nil {
113386					return err
113387				}
113388				mdvcd.LinkedServiceName = &linkedServiceName
113389			}
113390		case "parameters":
113391			if v != nil {
113392				var parameters map[string]*ParameterSpecification
113393				err = json.Unmarshal(*v, &parameters)
113394				if err != nil {
113395					return err
113396				}
113397				mdvcd.Parameters = parameters
113398			}
113399		case "annotations":
113400			if v != nil {
113401				var annotations []interface{}
113402				err = json.Unmarshal(*v, &annotations)
113403				if err != nil {
113404					return err
113405				}
113406				mdvcd.Annotations = &annotations
113407			}
113408		case "folder":
113409			if v != nil {
113410				var folder DatasetFolder
113411				err = json.Unmarshal(*v, &folder)
113412				if err != nil {
113413					return err
113414				}
113415				mdvcd.Folder = &folder
113416			}
113417		case "type":
113418			if v != nil {
113419				var typeVar TypeBasicDataset
113420				err = json.Unmarshal(*v, &typeVar)
113421				if err != nil {
113422					return err
113423				}
113424				mdvcd.Type = typeVar
113425			}
113426		}
113427	}
113428
113429	return nil
113430}
113431
113432// MongoDbV2CollectionDatasetTypeProperties mongoDB database dataset properties.
113433type MongoDbV2CollectionDatasetTypeProperties struct {
113434	// Collection - The collection name of the MongoDB database. Type: string (or Expression with resultType string).
113435	Collection interface{} `json:"collection,omitempty"`
113436}
113437
113438// MongoDbV2LinkedService linked service for MongoDB data source.
113439type MongoDbV2LinkedService struct {
113440	// MongoDbV2LinkedServiceTypeProperties - MongoDB linked service properties.
113441	*MongoDbV2LinkedServiceTypeProperties `json:"typeProperties,omitempty"`
113442	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
113443	AdditionalProperties map[string]interface{} `json:""`
113444	// ConnectVia - The integration runtime reference.
113445	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
113446	// Description - Linked service description.
113447	Description *string `json:"description,omitempty"`
113448	// Parameters - Parameters for linked service.
113449	Parameters map[string]*ParameterSpecification `json:"parameters"`
113450	// Annotations - List of tags that can be used for describing the linked service.
113451	Annotations *[]interface{} `json:"annotations,omitempty"`
113452	// Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', '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', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage'
113453	Type TypeBasicLinkedService `json:"type,omitempty"`
113454}
113455
113456// MarshalJSON is the custom marshaler for MongoDbV2LinkedService.
113457func (mdvls MongoDbV2LinkedService) MarshalJSON() ([]byte, error) {
113458	mdvls.Type = TypeMongoDbV2
113459	objectMap := make(map[string]interface{})
113460	if mdvls.MongoDbV2LinkedServiceTypeProperties != nil {
113461		objectMap["typeProperties"] = mdvls.MongoDbV2LinkedServiceTypeProperties
113462	}
113463	if mdvls.ConnectVia != nil {
113464		objectMap["connectVia"] = mdvls.ConnectVia
113465	}
113466	if mdvls.Description != nil {
113467		objectMap["description"] = mdvls.Description
113468	}
113469	if mdvls.Parameters != nil {
113470		objectMap["parameters"] = mdvls.Parameters
113471	}
113472	if mdvls.Annotations != nil {
113473		objectMap["annotations"] = mdvls.Annotations
113474	}
113475	if mdvls.Type != "" {
113476		objectMap["type"] = mdvls.Type
113477	}
113478	for k, v := range mdvls.AdditionalProperties {
113479		objectMap[k] = v
113480	}
113481	return json.Marshal(objectMap)
113482}
113483
113484// AsAzureFunctionLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService.
113485func (mdvls MongoDbV2LinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) {
113486	return nil, false
113487}
113488
113489// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService.
113490func (mdvls MongoDbV2LinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) {
113491	return nil, false
113492}
113493
113494// AsSapTableLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService.
113495func (mdvls MongoDbV2LinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) {
113496	return nil, false
113497}
113498
113499// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService.
113500func (mdvls MongoDbV2LinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) {
113501	return nil, false
113502}
113503
113504// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService.
113505func (mdvls MongoDbV2LinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) {
113506	return nil, false
113507}
113508
113509// AsDynamicsAXLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService.
113510func (mdvls MongoDbV2LinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) {
113511	return nil, false
113512}
113513
113514// AsResponsysLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService.
113515func (mdvls MongoDbV2LinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
113516	return nil, false
113517}
113518
113519// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService.
113520func (mdvls MongoDbV2LinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
113521	return nil, false
113522}
113523
113524// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService.
113525func (mdvls MongoDbV2LinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
113526	return nil, false
113527}
113528
113529// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService.
113530func (mdvls MongoDbV2LinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
113531	return nil, false
113532}
113533
113534// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService.
113535func (mdvls MongoDbV2LinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
113536	return nil, false
113537}
113538
113539// AsNetezzaLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService.
113540func (mdvls MongoDbV2LinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
113541	return nil, false
113542}
113543
113544// AsVerticaLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService.
113545func (mdvls MongoDbV2LinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
113546	return nil, false
113547}
113548
113549// AsZohoLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService.
113550func (mdvls MongoDbV2LinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
113551	return nil, false
113552}
113553
113554// AsXeroLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService.
113555func (mdvls MongoDbV2LinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
113556	return nil, false
113557}
113558
113559// AsSquareLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService.
113560func (mdvls MongoDbV2LinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
113561	return nil, false
113562}
113563
113564// AsSparkLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService.
113565func (mdvls MongoDbV2LinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
113566	return nil, false
113567}
113568
113569// AsShopifyLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService.
113570func (mdvls MongoDbV2LinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
113571	return nil, false
113572}
113573
113574// AsServiceNowLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService.
113575func (mdvls MongoDbV2LinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
113576	return nil, false
113577}
113578
113579// AsQuickBooksLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService.
113580func (mdvls MongoDbV2LinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
113581	return nil, false
113582}
113583
113584// AsPrestoLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService.
113585func (mdvls MongoDbV2LinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
113586	return nil, false
113587}
113588
113589// AsPhoenixLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService.
113590func (mdvls MongoDbV2LinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
113591	return nil, false
113592}
113593
113594// AsPaypalLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService.
113595func (mdvls MongoDbV2LinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
113596	return nil, false
113597}
113598
113599// AsMarketoLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService.
113600func (mdvls MongoDbV2LinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
113601	return nil, false
113602}
113603
113604// AsMariaDBLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService.
113605func (mdvls MongoDbV2LinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
113606	return nil, false
113607}
113608
113609// AsMagentoLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService.
113610func (mdvls MongoDbV2LinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
113611	return nil, false
113612}
113613
113614// AsJiraLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService.
113615func (mdvls MongoDbV2LinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
113616	return nil, false
113617}
113618
113619// AsImpalaLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService.
113620func (mdvls MongoDbV2LinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
113621	return nil, false
113622}
113623
113624// AsHubspotLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService.
113625func (mdvls MongoDbV2LinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
113626	return nil, false
113627}
113628
113629// AsHiveLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService.
113630func (mdvls MongoDbV2LinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
113631	return nil, false
113632}
113633
113634// AsHBaseLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService.
113635func (mdvls MongoDbV2LinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
113636	return nil, false
113637}
113638
113639// AsGreenplumLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService.
113640func (mdvls MongoDbV2LinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
113641	return nil, false
113642}
113643
113644// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService.
113645func (mdvls MongoDbV2LinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
113646	return nil, false
113647}
113648
113649// AsEloquaLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService.
113650func (mdvls MongoDbV2LinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
113651	return nil, false
113652}
113653
113654// AsDrillLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService.
113655func (mdvls MongoDbV2LinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
113656	return nil, false
113657}
113658
113659// AsCouchbaseLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService.
113660func (mdvls MongoDbV2LinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
113661	return nil, false
113662}
113663
113664// AsConcurLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService.
113665func (mdvls MongoDbV2LinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
113666	return nil, false
113667}
113668
113669// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService.
113670func (mdvls MongoDbV2LinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
113671	return nil, false
113672}
113673
113674// AsAmazonMWSLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService.
113675func (mdvls MongoDbV2LinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
113676	return nil, false
113677}
113678
113679// AsSapHanaLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService.
113680func (mdvls MongoDbV2LinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
113681	return nil, false
113682}
113683
113684// AsSapBWLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService.
113685func (mdvls MongoDbV2LinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
113686	return nil, false
113687}
113688
113689// AsSftpServerLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService.
113690func (mdvls MongoDbV2LinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
113691	return nil, false
113692}
113693
113694// AsFtpServerLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService.
113695func (mdvls MongoDbV2LinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
113696	return nil, false
113697}
113698
113699// AsHTTPLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService.
113700func (mdvls MongoDbV2LinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
113701	return nil, false
113702}
113703
113704// AsAzureSearchLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService.
113705func (mdvls MongoDbV2LinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
113706	return nil, false
113707}
113708
113709// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService.
113710func (mdvls MongoDbV2LinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
113711	return nil, false
113712}
113713
113714// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService.
113715func (mdvls MongoDbV2LinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
113716	return nil, false
113717}
113718
113719// AsAmazonS3LinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService.
113720func (mdvls MongoDbV2LinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
113721	return nil, false
113722}
113723
113724// AsRestServiceLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService.
113725func (mdvls MongoDbV2LinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) {
113726	return nil, false
113727}
113728
113729// AsSapOpenHubLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService.
113730func (mdvls MongoDbV2LinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) {
113731	return nil, false
113732}
113733
113734// AsSapEccLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService.
113735func (mdvls MongoDbV2LinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
113736	return nil, false
113737}
113738
113739// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService.
113740func (mdvls MongoDbV2LinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
113741	return nil, false
113742}
113743
113744// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService.
113745func (mdvls MongoDbV2LinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) {
113746	return nil, false
113747}
113748
113749// AsSalesforceLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService.
113750func (mdvls MongoDbV2LinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
113751	return nil, false
113752}
113753
113754// AsOffice365LinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService.
113755func (mdvls MongoDbV2LinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) {
113756	return nil, false
113757}
113758
113759// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService.
113760func (mdvls MongoDbV2LinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) {
113761	return nil, false
113762}
113763
113764// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService.
113765func (mdvls MongoDbV2LinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
113766	return nil, false
113767}
113768
113769// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService.
113770func (mdvls MongoDbV2LinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) {
113771	return nil, false
113772}
113773
113774// AsMongoDbV2LinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService.
113775func (mdvls MongoDbV2LinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) {
113776	return &mdvls, true
113777}
113778
113779// AsMongoDbLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService.
113780func (mdvls MongoDbV2LinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
113781	return nil, false
113782}
113783
113784// AsCassandraLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService.
113785func (mdvls MongoDbV2LinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
113786	return nil, false
113787}
113788
113789// AsWebLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService.
113790func (mdvls MongoDbV2LinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
113791	return nil, false
113792}
113793
113794// AsODataLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService.
113795func (mdvls MongoDbV2LinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
113796	return nil, false
113797}
113798
113799// AsHdfsLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService.
113800func (mdvls MongoDbV2LinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
113801	return nil, false
113802}
113803
113804// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService.
113805func (mdvls MongoDbV2LinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) {
113806	return nil, false
113807}
113808
113809// AsInformixLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService.
113810func (mdvls MongoDbV2LinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) {
113811	return nil, false
113812}
113813
113814// AsOdbcLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService.
113815func (mdvls MongoDbV2LinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
113816	return nil, false
113817}
113818
113819// AsAzureMLLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService.
113820func (mdvls MongoDbV2LinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
113821	return nil, false
113822}
113823
113824// AsTeradataLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService.
113825func (mdvls MongoDbV2LinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
113826	return nil, false
113827}
113828
113829// AsDb2LinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService.
113830func (mdvls MongoDbV2LinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
113831	return nil, false
113832}
113833
113834// AsSybaseLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService.
113835func (mdvls MongoDbV2LinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
113836	return nil, false
113837}
113838
113839// AsPostgreSQLLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService.
113840func (mdvls MongoDbV2LinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
113841	return nil, false
113842}
113843
113844// AsMySQLLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService.
113845func (mdvls MongoDbV2LinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
113846	return nil, false
113847}
113848
113849// AsAzureMySQLLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService.
113850func (mdvls MongoDbV2LinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
113851	return nil, false
113852}
113853
113854// AsOracleLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService.
113855func (mdvls MongoDbV2LinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
113856	return nil, false
113857}
113858
113859// AsFileServerLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService.
113860func (mdvls MongoDbV2LinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
113861	return nil, false
113862}
113863
113864// AsHDInsightLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService.
113865func (mdvls MongoDbV2LinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
113866	return nil, false
113867}
113868
113869// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService.
113870func (mdvls MongoDbV2LinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) {
113871	return nil, false
113872}
113873
113874// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService.
113875func (mdvls MongoDbV2LinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) {
113876	return nil, false
113877}
113878
113879// AsDynamicsLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService.
113880func (mdvls MongoDbV2LinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
113881	return nil, false
113882}
113883
113884// AsCosmosDbLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService.
113885func (mdvls MongoDbV2LinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
113886	return nil, false
113887}
113888
113889// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService.
113890func (mdvls MongoDbV2LinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
113891	return nil, false
113892}
113893
113894// AsAzureBatchLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService.
113895func (mdvls MongoDbV2LinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
113896	return nil, false
113897}
113898
113899// AsAzureSQLMILinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService.
113900func (mdvls MongoDbV2LinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) {
113901	return nil, false
113902}
113903
113904// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService.
113905func (mdvls MongoDbV2LinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
113906	return nil, false
113907}
113908
113909// AsSQLServerLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService.
113910func (mdvls MongoDbV2LinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
113911	return nil, false
113912}
113913
113914// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService.
113915func (mdvls MongoDbV2LinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
113916	return nil, false
113917}
113918
113919// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService.
113920func (mdvls MongoDbV2LinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) {
113921	return nil, false
113922}
113923
113924// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService.
113925func (mdvls MongoDbV2LinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) {
113926	return nil, false
113927}
113928
113929// AsAzureStorageLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService.
113930func (mdvls MongoDbV2LinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
113931	return nil, false
113932}
113933
113934// AsLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService.
113935func (mdvls MongoDbV2LinkedService) AsLinkedService() (*LinkedService, bool) {
113936	return nil, false
113937}
113938
113939// AsBasicLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService.
113940func (mdvls MongoDbV2LinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
113941	return &mdvls, true
113942}
113943
113944// UnmarshalJSON is the custom unmarshaler for MongoDbV2LinkedService struct.
113945func (mdvls *MongoDbV2LinkedService) UnmarshalJSON(body []byte) error {
113946	var m map[string]*json.RawMessage
113947	err := json.Unmarshal(body, &m)
113948	if err != nil {
113949		return err
113950	}
113951	for k, v := range m {
113952		switch k {
113953		case "typeProperties":
113954			if v != nil {
113955				var mongoDbV2LinkedServiceTypeProperties MongoDbV2LinkedServiceTypeProperties
113956				err = json.Unmarshal(*v, &mongoDbV2LinkedServiceTypeProperties)
113957				if err != nil {
113958					return err
113959				}
113960				mdvls.MongoDbV2LinkedServiceTypeProperties = &mongoDbV2LinkedServiceTypeProperties
113961			}
113962		default:
113963			if v != nil {
113964				var additionalProperties interface{}
113965				err = json.Unmarshal(*v, &additionalProperties)
113966				if err != nil {
113967					return err
113968				}
113969				if mdvls.AdditionalProperties == nil {
113970					mdvls.AdditionalProperties = make(map[string]interface{})
113971				}
113972				mdvls.AdditionalProperties[k] = additionalProperties
113973			}
113974		case "connectVia":
113975			if v != nil {
113976				var connectVia IntegrationRuntimeReference
113977				err = json.Unmarshal(*v, &connectVia)
113978				if err != nil {
113979					return err
113980				}
113981				mdvls.ConnectVia = &connectVia
113982			}
113983		case "description":
113984			if v != nil {
113985				var description string
113986				err = json.Unmarshal(*v, &description)
113987				if err != nil {
113988					return err
113989				}
113990				mdvls.Description = &description
113991			}
113992		case "parameters":
113993			if v != nil {
113994				var parameters map[string]*ParameterSpecification
113995				err = json.Unmarshal(*v, &parameters)
113996				if err != nil {
113997					return err
113998				}
113999				mdvls.Parameters = parameters
114000			}
114001		case "annotations":
114002			if v != nil {
114003				var annotations []interface{}
114004				err = json.Unmarshal(*v, &annotations)
114005				if err != nil {
114006					return err
114007				}
114008				mdvls.Annotations = &annotations
114009			}
114010		case "type":
114011			if v != nil {
114012				var typeVar TypeBasicLinkedService
114013				err = json.Unmarshal(*v, &typeVar)
114014				if err != nil {
114015					return err
114016				}
114017				mdvls.Type = typeVar
114018			}
114019		}
114020	}
114021
114022	return nil
114023}
114024
114025// MongoDbV2LinkedServiceTypeProperties mongoDB linked service properties.
114026type MongoDbV2LinkedServiceTypeProperties struct {
114027	// ConnectionString - The MongoDB connection string. Type: string, SecureString or AzureKeyVaultSecretReference. Type: string, SecureString or AzureKeyVaultSecretReference.
114028	ConnectionString interface{} `json:"connectionString,omitempty"`
114029	// Database - The name of the MongoDB database that you want to access. Type: string (or Expression with resultType string).
114030	Database interface{} `json:"database,omitempty"`
114031}
114032
114033// MongoDbV2Source a copy activity source for a MongoDB database.
114034type MongoDbV2Source struct {
114035	// Filter - Specifies selection filter using query operators. To return all documents in a collection, omit this parameter or pass an empty document ({}). Type: string (or Expression with resultType string).
114036	Filter interface{} `json:"filter,omitempty"`
114037	// CursorMethods - Cursor methods for Mongodb query
114038	CursorMethods *MongoDbCursorMethodsProperties `json:"cursorMethods,omitempty"`
114039	// BatchSize - Specifies the number of documents to return in each batch of the response from MongoDB instance. In most cases, modifying the batch size will not affect the user or the application. This property's main purpose is to avoid hit the limitation of response size. Type: integer (or Expression with resultType integer).
114040	BatchSize interface{} `json:"batchSize,omitempty"`
114041	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
114042	AdditionalProperties map[string]interface{} `json:""`
114043	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
114044	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
114045	// 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])).
114046	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
114047	// MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer).
114048	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
114049	// Type - Possible values include: 'TypeCopySource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', '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', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeCassandraSource', 'TypeWebSource', 'TypeTeradataSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeAzureMySQLSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeRestSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceServiceCloudSource', 'TypeSalesforceSource', 'TypeODataSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeMicrosoftAccessSource', 'TypeInformixSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAzureTableSource', 'TypeBinarySource', 'TypeDelimitedTextSource', 'TypeParquetSource'
114050	Type TypeBasicCopySource `json:"type,omitempty"`
114051}
114052
114053// MarshalJSON is the custom marshaler for MongoDbV2Source.
114054func (mdvs MongoDbV2Source) MarshalJSON() ([]byte, error) {
114055	mdvs.Type = TypeMongoDbV2Source
114056	objectMap := make(map[string]interface{})
114057	if mdvs.Filter != nil {
114058		objectMap["filter"] = mdvs.Filter
114059	}
114060	if mdvs.CursorMethods != nil {
114061		objectMap["cursorMethods"] = mdvs.CursorMethods
114062	}
114063	if mdvs.BatchSize != nil {
114064		objectMap["batchSize"] = mdvs.BatchSize
114065	}
114066	if mdvs.SourceRetryCount != nil {
114067		objectMap["sourceRetryCount"] = mdvs.SourceRetryCount
114068	}
114069	if mdvs.SourceRetryWait != nil {
114070		objectMap["sourceRetryWait"] = mdvs.SourceRetryWait
114071	}
114072	if mdvs.MaxConcurrentConnections != nil {
114073		objectMap["maxConcurrentConnections"] = mdvs.MaxConcurrentConnections
114074	}
114075	if mdvs.Type != "" {
114076		objectMap["type"] = mdvs.Type
114077	}
114078	for k, v := range mdvs.AdditionalProperties {
114079		objectMap[k] = v
114080	}
114081	return json.Marshal(objectMap)
114082}
114083
114084// AsAmazonRedshiftSource is the BasicCopySource implementation for MongoDbV2Source.
114085func (mdvs MongoDbV2Source) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
114086	return nil, false
114087}
114088
114089// AsGoogleAdWordsSource is the BasicCopySource implementation for MongoDbV2Source.
114090func (mdvs MongoDbV2Source) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) {
114091	return nil, false
114092}
114093
114094// AsOracleServiceCloudSource is the BasicCopySource implementation for MongoDbV2Source.
114095func (mdvs MongoDbV2Source) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) {
114096	return nil, false
114097}
114098
114099// AsDynamicsAXSource is the BasicCopySource implementation for MongoDbV2Source.
114100func (mdvs MongoDbV2Source) AsDynamicsAXSource() (*DynamicsAXSource, bool) {
114101	return nil, false
114102}
114103
114104// AsResponsysSource is the BasicCopySource implementation for MongoDbV2Source.
114105func (mdvs MongoDbV2Source) AsResponsysSource() (*ResponsysSource, bool) {
114106	return nil, false
114107}
114108
114109// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for MongoDbV2Source.
114110func (mdvs MongoDbV2Source) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
114111	return nil, false
114112}
114113
114114// AsVerticaSource is the BasicCopySource implementation for MongoDbV2Source.
114115func (mdvs MongoDbV2Source) AsVerticaSource() (*VerticaSource, bool) {
114116	return nil, false
114117}
114118
114119// AsNetezzaSource is the BasicCopySource implementation for MongoDbV2Source.
114120func (mdvs MongoDbV2Source) AsNetezzaSource() (*NetezzaSource, bool) {
114121	return nil, false
114122}
114123
114124// AsZohoSource is the BasicCopySource implementation for MongoDbV2Source.
114125func (mdvs MongoDbV2Source) AsZohoSource() (*ZohoSource, bool) {
114126	return nil, false
114127}
114128
114129// AsXeroSource is the BasicCopySource implementation for MongoDbV2Source.
114130func (mdvs MongoDbV2Source) AsXeroSource() (*XeroSource, bool) {
114131	return nil, false
114132}
114133
114134// AsSquareSource is the BasicCopySource implementation for MongoDbV2Source.
114135func (mdvs MongoDbV2Source) AsSquareSource() (*SquareSource, bool) {
114136	return nil, false
114137}
114138
114139// AsSparkSource is the BasicCopySource implementation for MongoDbV2Source.
114140func (mdvs MongoDbV2Source) AsSparkSource() (*SparkSource, bool) {
114141	return nil, false
114142}
114143
114144// AsShopifySource is the BasicCopySource implementation for MongoDbV2Source.
114145func (mdvs MongoDbV2Source) AsShopifySource() (*ShopifySource, bool) {
114146	return nil, false
114147}
114148
114149// AsServiceNowSource is the BasicCopySource implementation for MongoDbV2Source.
114150func (mdvs MongoDbV2Source) AsServiceNowSource() (*ServiceNowSource, bool) {
114151	return nil, false
114152}
114153
114154// AsQuickBooksSource is the BasicCopySource implementation for MongoDbV2Source.
114155func (mdvs MongoDbV2Source) AsQuickBooksSource() (*QuickBooksSource, bool) {
114156	return nil, false
114157}
114158
114159// AsPrestoSource is the BasicCopySource implementation for MongoDbV2Source.
114160func (mdvs MongoDbV2Source) AsPrestoSource() (*PrestoSource, bool) {
114161	return nil, false
114162}
114163
114164// AsPhoenixSource is the BasicCopySource implementation for MongoDbV2Source.
114165func (mdvs MongoDbV2Source) AsPhoenixSource() (*PhoenixSource, bool) {
114166	return nil, false
114167}
114168
114169// AsPaypalSource is the BasicCopySource implementation for MongoDbV2Source.
114170func (mdvs MongoDbV2Source) AsPaypalSource() (*PaypalSource, bool) {
114171	return nil, false
114172}
114173
114174// AsMarketoSource is the BasicCopySource implementation for MongoDbV2Source.
114175func (mdvs MongoDbV2Source) AsMarketoSource() (*MarketoSource, bool) {
114176	return nil, false
114177}
114178
114179// AsMariaDBSource is the BasicCopySource implementation for MongoDbV2Source.
114180func (mdvs MongoDbV2Source) AsMariaDBSource() (*MariaDBSource, bool) {
114181	return nil, false
114182}
114183
114184// AsMagentoSource is the BasicCopySource implementation for MongoDbV2Source.
114185func (mdvs MongoDbV2Source) AsMagentoSource() (*MagentoSource, bool) {
114186	return nil, false
114187}
114188
114189// AsJiraSource is the BasicCopySource implementation for MongoDbV2Source.
114190func (mdvs MongoDbV2Source) AsJiraSource() (*JiraSource, bool) {
114191	return nil, false
114192}
114193
114194// AsImpalaSource is the BasicCopySource implementation for MongoDbV2Source.
114195func (mdvs MongoDbV2Source) AsImpalaSource() (*ImpalaSource, bool) {
114196	return nil, false
114197}
114198
114199// AsHubspotSource is the BasicCopySource implementation for MongoDbV2Source.
114200func (mdvs MongoDbV2Source) AsHubspotSource() (*HubspotSource, bool) {
114201	return nil, false
114202}
114203
114204// AsHiveSource is the BasicCopySource implementation for MongoDbV2Source.
114205func (mdvs MongoDbV2Source) AsHiveSource() (*HiveSource, bool) {
114206	return nil, false
114207}
114208
114209// AsHBaseSource is the BasicCopySource implementation for MongoDbV2Source.
114210func (mdvs MongoDbV2Source) AsHBaseSource() (*HBaseSource, bool) {
114211	return nil, false
114212}
114213
114214// AsGreenplumSource is the BasicCopySource implementation for MongoDbV2Source.
114215func (mdvs MongoDbV2Source) AsGreenplumSource() (*GreenplumSource, bool) {
114216	return nil, false
114217}
114218
114219// AsGoogleBigQuerySource is the BasicCopySource implementation for MongoDbV2Source.
114220func (mdvs MongoDbV2Source) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
114221	return nil, false
114222}
114223
114224// AsEloquaSource is the BasicCopySource implementation for MongoDbV2Source.
114225func (mdvs MongoDbV2Source) AsEloquaSource() (*EloquaSource, bool) {
114226	return nil, false
114227}
114228
114229// AsDrillSource is the BasicCopySource implementation for MongoDbV2Source.
114230func (mdvs MongoDbV2Source) AsDrillSource() (*DrillSource, bool) {
114231	return nil, false
114232}
114233
114234// AsCouchbaseSource is the BasicCopySource implementation for MongoDbV2Source.
114235func (mdvs MongoDbV2Source) AsCouchbaseSource() (*CouchbaseSource, bool) {
114236	return nil, false
114237}
114238
114239// AsConcurSource is the BasicCopySource implementation for MongoDbV2Source.
114240func (mdvs MongoDbV2Source) AsConcurSource() (*ConcurSource, bool) {
114241	return nil, false
114242}
114243
114244// AsAzurePostgreSQLSource is the BasicCopySource implementation for MongoDbV2Source.
114245func (mdvs MongoDbV2Source) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
114246	return nil, false
114247}
114248
114249// AsAmazonMWSSource is the BasicCopySource implementation for MongoDbV2Source.
114250func (mdvs MongoDbV2Source) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
114251	return nil, false
114252}
114253
114254// AsHTTPSource is the BasicCopySource implementation for MongoDbV2Source.
114255func (mdvs MongoDbV2Source) AsHTTPSource() (*HTTPSource, bool) {
114256	return nil, false
114257}
114258
114259// AsAzureBlobFSSource is the BasicCopySource implementation for MongoDbV2Source.
114260func (mdvs MongoDbV2Source) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) {
114261	return nil, false
114262}
114263
114264// AsAzureDataLakeStoreSource is the BasicCopySource implementation for MongoDbV2Source.
114265func (mdvs MongoDbV2Source) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
114266	return nil, false
114267}
114268
114269// AsOffice365Source is the BasicCopySource implementation for MongoDbV2Source.
114270func (mdvs MongoDbV2Source) AsOffice365Source() (*Office365Source, bool) {
114271	return nil, false
114272}
114273
114274// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for MongoDbV2Source.
114275func (mdvs MongoDbV2Source) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) {
114276	return nil, false
114277}
114278
114279// AsMongoDbV2Source is the BasicCopySource implementation for MongoDbV2Source.
114280func (mdvs MongoDbV2Source) AsMongoDbV2Source() (*MongoDbV2Source, bool) {
114281	return &mdvs, true
114282}
114283
114284// AsMongoDbSource is the BasicCopySource implementation for MongoDbV2Source.
114285func (mdvs MongoDbV2Source) AsMongoDbSource() (*MongoDbSource, bool) {
114286	return nil, false
114287}
114288
114289// AsCassandraSource is the BasicCopySource implementation for MongoDbV2Source.
114290func (mdvs MongoDbV2Source) AsCassandraSource() (*CassandraSource, bool) {
114291	return nil, false
114292}
114293
114294// AsWebSource is the BasicCopySource implementation for MongoDbV2Source.
114295func (mdvs MongoDbV2Source) AsWebSource() (*WebSource, bool) {
114296	return nil, false
114297}
114298
114299// AsTeradataSource is the BasicCopySource implementation for MongoDbV2Source.
114300func (mdvs MongoDbV2Source) AsTeradataSource() (*TeradataSource, bool) {
114301	return nil, false
114302}
114303
114304// AsOracleSource is the BasicCopySource implementation for MongoDbV2Source.
114305func (mdvs MongoDbV2Source) AsOracleSource() (*OracleSource, bool) {
114306	return nil, false
114307}
114308
114309// AsAzureDataExplorerSource is the BasicCopySource implementation for MongoDbV2Source.
114310func (mdvs MongoDbV2Source) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) {
114311	return nil, false
114312}
114313
114314// AsAzureMySQLSource is the BasicCopySource implementation for MongoDbV2Source.
114315func (mdvs MongoDbV2Source) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
114316	return nil, false
114317}
114318
114319// AsHdfsSource is the BasicCopySource implementation for MongoDbV2Source.
114320func (mdvs MongoDbV2Source) AsHdfsSource() (*HdfsSource, bool) {
114321	return nil, false
114322}
114323
114324// AsFileSystemSource is the BasicCopySource implementation for MongoDbV2Source.
114325func (mdvs MongoDbV2Source) AsFileSystemSource() (*FileSystemSource, bool) {
114326	return nil, false
114327}
114328
114329// AsSQLDWSource is the BasicCopySource implementation for MongoDbV2Source.
114330func (mdvs MongoDbV2Source) AsSQLDWSource() (*SQLDWSource, bool) {
114331	return nil, false
114332}
114333
114334// AsSQLMISource is the BasicCopySource implementation for MongoDbV2Source.
114335func (mdvs MongoDbV2Source) AsSQLMISource() (*SQLMISource, bool) {
114336	return nil, false
114337}
114338
114339// AsAzureSQLSource is the BasicCopySource implementation for MongoDbV2Source.
114340func (mdvs MongoDbV2Source) AsAzureSQLSource() (*AzureSQLSource, bool) {
114341	return nil, false
114342}
114343
114344// AsSQLServerSource is the BasicCopySource implementation for MongoDbV2Source.
114345func (mdvs MongoDbV2Source) AsSQLServerSource() (*SQLServerSource, bool) {
114346	return nil, false
114347}
114348
114349// AsSQLSource is the BasicCopySource implementation for MongoDbV2Source.
114350func (mdvs MongoDbV2Source) AsSQLSource() (*SQLSource, bool) {
114351	return nil, false
114352}
114353
114354// AsRestSource is the BasicCopySource implementation for MongoDbV2Source.
114355func (mdvs MongoDbV2Source) AsRestSource() (*RestSource, bool) {
114356	return nil, false
114357}
114358
114359// AsSapTableSource is the BasicCopySource implementation for MongoDbV2Source.
114360func (mdvs MongoDbV2Source) AsSapTableSource() (*SapTableSource, bool) {
114361	return nil, false
114362}
114363
114364// AsSapOpenHubSource is the BasicCopySource implementation for MongoDbV2Source.
114365func (mdvs MongoDbV2Source) AsSapOpenHubSource() (*SapOpenHubSource, bool) {
114366	return nil, false
114367}
114368
114369// AsSapHanaSource is the BasicCopySource implementation for MongoDbV2Source.
114370func (mdvs MongoDbV2Source) AsSapHanaSource() (*SapHanaSource, bool) {
114371	return nil, false
114372}
114373
114374// AsSapEccSource is the BasicCopySource implementation for MongoDbV2Source.
114375func (mdvs MongoDbV2Source) AsSapEccSource() (*SapEccSource, bool) {
114376	return nil, false
114377}
114378
114379// AsSapCloudForCustomerSource is the BasicCopySource implementation for MongoDbV2Source.
114380func (mdvs MongoDbV2Source) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
114381	return nil, false
114382}
114383
114384// AsSalesforceServiceCloudSource is the BasicCopySource implementation for MongoDbV2Source.
114385func (mdvs MongoDbV2Source) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) {
114386	return nil, false
114387}
114388
114389// AsSalesforceSource is the BasicCopySource implementation for MongoDbV2Source.
114390func (mdvs MongoDbV2Source) AsSalesforceSource() (*SalesforceSource, bool) {
114391	return nil, false
114392}
114393
114394// AsODataSource is the BasicCopySource implementation for MongoDbV2Source.
114395func (mdvs MongoDbV2Source) AsODataSource() (*ODataSource, bool) {
114396	return nil, false
114397}
114398
114399// AsSybaseSource is the BasicCopySource implementation for MongoDbV2Source.
114400func (mdvs MongoDbV2Source) AsSybaseSource() (*SybaseSource, bool) {
114401	return nil, false
114402}
114403
114404// AsPostgreSQLSource is the BasicCopySource implementation for MongoDbV2Source.
114405func (mdvs MongoDbV2Source) AsPostgreSQLSource() (*PostgreSQLSource, bool) {
114406	return nil, false
114407}
114408
114409// AsMySQLSource is the BasicCopySource implementation for MongoDbV2Source.
114410func (mdvs MongoDbV2Source) AsMySQLSource() (*MySQLSource, bool) {
114411	return nil, false
114412}
114413
114414// AsOdbcSource is the BasicCopySource implementation for MongoDbV2Source.
114415func (mdvs MongoDbV2Source) AsOdbcSource() (*OdbcSource, bool) {
114416	return nil, false
114417}
114418
114419// AsDb2Source is the BasicCopySource implementation for MongoDbV2Source.
114420func (mdvs MongoDbV2Source) AsDb2Source() (*Db2Source, bool) {
114421	return nil, false
114422}
114423
114424// AsMicrosoftAccessSource is the BasicCopySource implementation for MongoDbV2Source.
114425func (mdvs MongoDbV2Source) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) {
114426	return nil, false
114427}
114428
114429// AsInformixSource is the BasicCopySource implementation for MongoDbV2Source.
114430func (mdvs MongoDbV2Source) AsInformixSource() (*InformixSource, bool) {
114431	return nil, false
114432}
114433
114434// AsRelationalSource is the BasicCopySource implementation for MongoDbV2Source.
114435func (mdvs MongoDbV2Source) AsRelationalSource() (*RelationalSource, bool) {
114436	return nil, false
114437}
114438
114439// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for MongoDbV2Source.
114440func (mdvs MongoDbV2Source) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) {
114441	return nil, false
114442}
114443
114444// AsDynamicsCrmSource is the BasicCopySource implementation for MongoDbV2Source.
114445func (mdvs MongoDbV2Source) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) {
114446	return nil, false
114447}
114448
114449// AsDynamicsSource is the BasicCopySource implementation for MongoDbV2Source.
114450func (mdvs MongoDbV2Source) AsDynamicsSource() (*DynamicsSource, bool) {
114451	return nil, false
114452}
114453
114454// AsDocumentDbCollectionSource is the BasicCopySource implementation for MongoDbV2Source.
114455func (mdvs MongoDbV2Source) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
114456	return nil, false
114457}
114458
114459// AsBlobSource is the BasicCopySource implementation for MongoDbV2Source.
114460func (mdvs MongoDbV2Source) AsBlobSource() (*BlobSource, bool) {
114461	return nil, false
114462}
114463
114464// AsAzureTableSource is the BasicCopySource implementation for MongoDbV2Source.
114465func (mdvs MongoDbV2Source) AsAzureTableSource() (*AzureTableSource, bool) {
114466	return nil, false
114467}
114468
114469// AsBinarySource is the BasicCopySource implementation for MongoDbV2Source.
114470func (mdvs MongoDbV2Source) AsBinarySource() (*BinarySource, bool) {
114471	return nil, false
114472}
114473
114474// AsDelimitedTextSource is the BasicCopySource implementation for MongoDbV2Source.
114475func (mdvs MongoDbV2Source) AsDelimitedTextSource() (*DelimitedTextSource, bool) {
114476	return nil, false
114477}
114478
114479// AsParquetSource is the BasicCopySource implementation for MongoDbV2Source.
114480func (mdvs MongoDbV2Source) AsParquetSource() (*ParquetSource, bool) {
114481	return nil, false
114482}
114483
114484// AsCopySource is the BasicCopySource implementation for MongoDbV2Source.
114485func (mdvs MongoDbV2Source) AsCopySource() (*CopySource, bool) {
114486	return nil, false
114487}
114488
114489// AsBasicCopySource is the BasicCopySource implementation for MongoDbV2Source.
114490func (mdvs MongoDbV2Source) AsBasicCopySource() (BasicCopySource, bool) {
114491	return &mdvs, true
114492}
114493
114494// UnmarshalJSON is the custom unmarshaler for MongoDbV2Source struct.
114495func (mdvs *MongoDbV2Source) UnmarshalJSON(body []byte) error {
114496	var m map[string]*json.RawMessage
114497	err := json.Unmarshal(body, &m)
114498	if err != nil {
114499		return err
114500	}
114501	for k, v := range m {
114502		switch k {
114503		case "filter":
114504			if v != nil {
114505				var filter interface{}
114506				err = json.Unmarshal(*v, &filter)
114507				if err != nil {
114508					return err
114509				}
114510				mdvs.Filter = filter
114511			}
114512		case "cursorMethods":
114513			if v != nil {
114514				var cursorMethods MongoDbCursorMethodsProperties
114515				err = json.Unmarshal(*v, &cursorMethods)
114516				if err != nil {
114517					return err
114518				}
114519				mdvs.CursorMethods = &cursorMethods
114520			}
114521		case "batchSize":
114522			if v != nil {
114523				var batchSize interface{}
114524				err = json.Unmarshal(*v, &batchSize)
114525				if err != nil {
114526					return err
114527				}
114528				mdvs.BatchSize = batchSize
114529			}
114530		default:
114531			if v != nil {
114532				var additionalProperties interface{}
114533				err = json.Unmarshal(*v, &additionalProperties)
114534				if err != nil {
114535					return err
114536				}
114537				if mdvs.AdditionalProperties == nil {
114538					mdvs.AdditionalProperties = make(map[string]interface{})
114539				}
114540				mdvs.AdditionalProperties[k] = additionalProperties
114541			}
114542		case "sourceRetryCount":
114543			if v != nil {
114544				var sourceRetryCount interface{}
114545				err = json.Unmarshal(*v, &sourceRetryCount)
114546				if err != nil {
114547					return err
114548				}
114549				mdvs.SourceRetryCount = sourceRetryCount
114550			}
114551		case "sourceRetryWait":
114552			if v != nil {
114553				var sourceRetryWait interface{}
114554				err = json.Unmarshal(*v, &sourceRetryWait)
114555				if err != nil {
114556					return err
114557				}
114558				mdvs.SourceRetryWait = sourceRetryWait
114559			}
114560		case "maxConcurrentConnections":
114561			if v != nil {
114562				var maxConcurrentConnections interface{}
114563				err = json.Unmarshal(*v, &maxConcurrentConnections)
114564				if err != nil {
114565					return err
114566				}
114567				mdvs.MaxConcurrentConnections = maxConcurrentConnections
114568			}
114569		case "type":
114570			if v != nil {
114571				var typeVar TypeBasicCopySource
114572				err = json.Unmarshal(*v, &typeVar)
114573				if err != nil {
114574					return err
114575				}
114576				mdvs.Type = typeVar
114577			}
114578		}
114579	}
114580
114581	return nil
114582}
114583
114584// BasicMultiplePipelineTrigger base class for all triggers that support one to many model for trigger to pipeline.
114585type BasicMultiplePipelineTrigger interface {
114586	AsBlobEventsTrigger() (*BlobEventsTrigger, bool)
114587	AsBlobTrigger() (*BlobTrigger, bool)
114588	AsScheduleTrigger() (*ScheduleTrigger, bool)
114589	AsMultiplePipelineTrigger() (*MultiplePipelineTrigger, bool)
114590}
114591
114592// MultiplePipelineTrigger base class for all triggers that support one to many model for trigger to pipeline.
114593type MultiplePipelineTrigger struct {
114594	// Pipelines - Pipelines that need to be started.
114595	Pipelines *[]TriggerPipelineReference `json:"pipelines,omitempty"`
114596	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
114597	AdditionalProperties map[string]interface{} `json:""`
114598	// Description - Trigger description.
114599	Description *string `json:"description,omitempty"`
114600	// RuntimeState - READ-ONLY; Indicates if trigger is running or not. Updated when Start/Stop APIs are called on the Trigger. Possible values include: 'Started', 'Stopped', 'Disabled'
114601	RuntimeState TriggerRuntimeState `json:"runtimeState,omitempty"`
114602	// Annotations - List of tags that can be used for describing the trigger.
114603	Annotations *[]interface{} `json:"annotations,omitempty"`
114604	// Type - Possible values include: 'TypeTrigger', 'TypeRerunTumblingWindowTrigger', 'TypeTumblingWindowTrigger', 'TypeBlobEventsTrigger', 'TypeBlobTrigger', 'TypeScheduleTrigger', 'TypeMultiplePipelineTrigger'
114605	Type TypeBasicTrigger `json:"type,omitempty"`
114606}
114607
114608func unmarshalBasicMultiplePipelineTrigger(body []byte) (BasicMultiplePipelineTrigger, error) {
114609	var m map[string]interface{}
114610	err := json.Unmarshal(body, &m)
114611	if err != nil {
114612		return nil, err
114613	}
114614
114615	switch m["type"] {
114616	case string(TypeBlobEventsTrigger):
114617		var bet BlobEventsTrigger
114618		err := json.Unmarshal(body, &bet)
114619		return bet, err
114620	case string(TypeBlobTrigger):
114621		var bt BlobTrigger
114622		err := json.Unmarshal(body, &bt)
114623		return bt, err
114624	case string(TypeScheduleTrigger):
114625		var st ScheduleTrigger
114626		err := json.Unmarshal(body, &st)
114627		return st, err
114628	default:
114629		var mpt MultiplePipelineTrigger
114630		err := json.Unmarshal(body, &mpt)
114631		return mpt, err
114632	}
114633}
114634func unmarshalBasicMultiplePipelineTriggerArray(body []byte) ([]BasicMultiplePipelineTrigger, error) {
114635	var rawMessages []*json.RawMessage
114636	err := json.Unmarshal(body, &rawMessages)
114637	if err != nil {
114638		return nil, err
114639	}
114640
114641	mptArray := make([]BasicMultiplePipelineTrigger, len(rawMessages))
114642
114643	for index, rawMessage := range rawMessages {
114644		mpt, err := unmarshalBasicMultiplePipelineTrigger(*rawMessage)
114645		if err != nil {
114646			return nil, err
114647		}
114648		mptArray[index] = mpt
114649	}
114650	return mptArray, nil
114651}
114652
114653// MarshalJSON is the custom marshaler for MultiplePipelineTrigger.
114654func (mpt MultiplePipelineTrigger) MarshalJSON() ([]byte, error) {
114655	mpt.Type = TypeMultiplePipelineTrigger
114656	objectMap := make(map[string]interface{})
114657	if mpt.Pipelines != nil {
114658		objectMap["pipelines"] = mpt.Pipelines
114659	}
114660	if mpt.Description != nil {
114661		objectMap["description"] = mpt.Description
114662	}
114663	if mpt.Annotations != nil {
114664		objectMap["annotations"] = mpt.Annotations
114665	}
114666	if mpt.Type != "" {
114667		objectMap["type"] = mpt.Type
114668	}
114669	for k, v := range mpt.AdditionalProperties {
114670		objectMap[k] = v
114671	}
114672	return json.Marshal(objectMap)
114673}
114674
114675// AsRerunTumblingWindowTrigger is the BasicTrigger implementation for MultiplePipelineTrigger.
114676func (mpt MultiplePipelineTrigger) AsRerunTumblingWindowTrigger() (*RerunTumblingWindowTrigger, bool) {
114677	return nil, false
114678}
114679
114680// AsTumblingWindowTrigger is the BasicTrigger implementation for MultiplePipelineTrigger.
114681func (mpt MultiplePipelineTrigger) AsTumblingWindowTrigger() (*TumblingWindowTrigger, bool) {
114682	return nil, false
114683}
114684
114685// AsBlobEventsTrigger is the BasicTrigger implementation for MultiplePipelineTrigger.
114686func (mpt MultiplePipelineTrigger) AsBlobEventsTrigger() (*BlobEventsTrigger, bool) {
114687	return nil, false
114688}
114689
114690// AsBlobTrigger is the BasicTrigger implementation for MultiplePipelineTrigger.
114691func (mpt MultiplePipelineTrigger) AsBlobTrigger() (*BlobTrigger, bool) {
114692	return nil, false
114693}
114694
114695// AsScheduleTrigger is the BasicTrigger implementation for MultiplePipelineTrigger.
114696func (mpt MultiplePipelineTrigger) AsScheduleTrigger() (*ScheduleTrigger, bool) {
114697	return nil, false
114698}
114699
114700// AsMultiplePipelineTrigger is the BasicTrigger implementation for MultiplePipelineTrigger.
114701func (mpt MultiplePipelineTrigger) AsMultiplePipelineTrigger() (*MultiplePipelineTrigger, bool) {
114702	return &mpt, true
114703}
114704
114705// AsBasicMultiplePipelineTrigger is the BasicTrigger implementation for MultiplePipelineTrigger.
114706func (mpt MultiplePipelineTrigger) AsBasicMultiplePipelineTrigger() (BasicMultiplePipelineTrigger, bool) {
114707	return &mpt, true
114708}
114709
114710// AsTrigger is the BasicTrigger implementation for MultiplePipelineTrigger.
114711func (mpt MultiplePipelineTrigger) AsTrigger() (*Trigger, bool) {
114712	return nil, false
114713}
114714
114715// AsBasicTrigger is the BasicTrigger implementation for MultiplePipelineTrigger.
114716func (mpt MultiplePipelineTrigger) AsBasicTrigger() (BasicTrigger, bool) {
114717	return &mpt, true
114718}
114719
114720// UnmarshalJSON is the custom unmarshaler for MultiplePipelineTrigger struct.
114721func (mpt *MultiplePipelineTrigger) UnmarshalJSON(body []byte) error {
114722	var m map[string]*json.RawMessage
114723	err := json.Unmarshal(body, &m)
114724	if err != nil {
114725		return err
114726	}
114727	for k, v := range m {
114728		switch k {
114729		case "pipelines":
114730			if v != nil {
114731				var pipelines []TriggerPipelineReference
114732				err = json.Unmarshal(*v, &pipelines)
114733				if err != nil {
114734					return err
114735				}
114736				mpt.Pipelines = &pipelines
114737			}
114738		default:
114739			if v != nil {
114740				var additionalProperties interface{}
114741				err = json.Unmarshal(*v, &additionalProperties)
114742				if err != nil {
114743					return err
114744				}
114745				if mpt.AdditionalProperties == nil {
114746					mpt.AdditionalProperties = make(map[string]interface{})
114747				}
114748				mpt.AdditionalProperties[k] = additionalProperties
114749			}
114750		case "description":
114751			if v != nil {
114752				var description string
114753				err = json.Unmarshal(*v, &description)
114754				if err != nil {
114755					return err
114756				}
114757				mpt.Description = &description
114758			}
114759		case "runtimeState":
114760			if v != nil {
114761				var runtimeState TriggerRuntimeState
114762				err = json.Unmarshal(*v, &runtimeState)
114763				if err != nil {
114764					return err
114765				}
114766				mpt.RuntimeState = runtimeState
114767			}
114768		case "annotations":
114769			if v != nil {
114770				var annotations []interface{}
114771				err = json.Unmarshal(*v, &annotations)
114772				if err != nil {
114773					return err
114774				}
114775				mpt.Annotations = &annotations
114776			}
114777		case "type":
114778			if v != nil {
114779				var typeVar TypeBasicTrigger
114780				err = json.Unmarshal(*v, &typeVar)
114781				if err != nil {
114782					return err
114783				}
114784				mpt.Type = typeVar
114785			}
114786		}
114787	}
114788
114789	return nil
114790}
114791
114792// MySQLLinkedService linked service for MySQL data source.
114793type MySQLLinkedService struct {
114794	// MySQLLinkedServiceTypeProperties - MySQL linked service properties.
114795	*MySQLLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
114796	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
114797	AdditionalProperties map[string]interface{} `json:""`
114798	// ConnectVia - The integration runtime reference.
114799	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
114800	// Description - Linked service description.
114801	Description *string `json:"description,omitempty"`
114802	// Parameters - Parameters for linked service.
114803	Parameters map[string]*ParameterSpecification `json:"parameters"`
114804	// Annotations - List of tags that can be used for describing the linked service.
114805	Annotations *[]interface{} `json:"annotations,omitempty"`
114806	// Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', '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', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage'
114807	Type TypeBasicLinkedService `json:"type,omitempty"`
114808}
114809
114810// MarshalJSON is the custom marshaler for MySQLLinkedService.
114811func (msls MySQLLinkedService) MarshalJSON() ([]byte, error) {
114812	msls.Type = TypeMySQL
114813	objectMap := make(map[string]interface{})
114814	if msls.MySQLLinkedServiceTypeProperties != nil {
114815		objectMap["typeProperties"] = msls.MySQLLinkedServiceTypeProperties
114816	}
114817	if msls.ConnectVia != nil {
114818		objectMap["connectVia"] = msls.ConnectVia
114819	}
114820	if msls.Description != nil {
114821		objectMap["description"] = msls.Description
114822	}
114823	if msls.Parameters != nil {
114824		objectMap["parameters"] = msls.Parameters
114825	}
114826	if msls.Annotations != nil {
114827		objectMap["annotations"] = msls.Annotations
114828	}
114829	if msls.Type != "" {
114830		objectMap["type"] = msls.Type
114831	}
114832	for k, v := range msls.AdditionalProperties {
114833		objectMap[k] = v
114834	}
114835	return json.Marshal(objectMap)
114836}
114837
114838// AsAzureFunctionLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
114839func (msls MySQLLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) {
114840	return nil, false
114841}
114842
114843// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
114844func (msls MySQLLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) {
114845	return nil, false
114846}
114847
114848// AsSapTableLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
114849func (msls MySQLLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) {
114850	return nil, false
114851}
114852
114853// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
114854func (msls MySQLLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) {
114855	return nil, false
114856}
114857
114858// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
114859func (msls MySQLLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) {
114860	return nil, false
114861}
114862
114863// AsDynamicsAXLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
114864func (msls MySQLLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) {
114865	return nil, false
114866}
114867
114868// AsResponsysLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
114869func (msls MySQLLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
114870	return nil, false
114871}
114872
114873// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
114874func (msls MySQLLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
114875	return nil, false
114876}
114877
114878// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
114879func (msls MySQLLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
114880	return nil, false
114881}
114882
114883// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
114884func (msls MySQLLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
114885	return nil, false
114886}
114887
114888// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
114889func (msls MySQLLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
114890	return nil, false
114891}
114892
114893// AsNetezzaLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
114894func (msls MySQLLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
114895	return nil, false
114896}
114897
114898// AsVerticaLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
114899func (msls MySQLLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
114900	return nil, false
114901}
114902
114903// AsZohoLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
114904func (msls MySQLLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
114905	return nil, false
114906}
114907
114908// AsXeroLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
114909func (msls MySQLLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
114910	return nil, false
114911}
114912
114913// AsSquareLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
114914func (msls MySQLLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
114915	return nil, false
114916}
114917
114918// AsSparkLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
114919func (msls MySQLLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
114920	return nil, false
114921}
114922
114923// AsShopifyLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
114924func (msls MySQLLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
114925	return nil, false
114926}
114927
114928// AsServiceNowLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
114929func (msls MySQLLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
114930	return nil, false
114931}
114932
114933// AsQuickBooksLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
114934func (msls MySQLLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
114935	return nil, false
114936}
114937
114938// AsPrestoLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
114939func (msls MySQLLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
114940	return nil, false
114941}
114942
114943// AsPhoenixLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
114944func (msls MySQLLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
114945	return nil, false
114946}
114947
114948// AsPaypalLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
114949func (msls MySQLLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
114950	return nil, false
114951}
114952
114953// AsMarketoLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
114954func (msls MySQLLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
114955	return nil, false
114956}
114957
114958// AsMariaDBLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
114959func (msls MySQLLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
114960	return nil, false
114961}
114962
114963// AsMagentoLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
114964func (msls MySQLLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
114965	return nil, false
114966}
114967
114968// AsJiraLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
114969func (msls MySQLLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
114970	return nil, false
114971}
114972
114973// AsImpalaLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
114974func (msls MySQLLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
114975	return nil, false
114976}
114977
114978// AsHubspotLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
114979func (msls MySQLLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
114980	return nil, false
114981}
114982
114983// AsHiveLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
114984func (msls MySQLLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
114985	return nil, false
114986}
114987
114988// AsHBaseLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
114989func (msls MySQLLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
114990	return nil, false
114991}
114992
114993// AsGreenplumLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
114994func (msls MySQLLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
114995	return nil, false
114996}
114997
114998// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
114999func (msls MySQLLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
115000	return nil, false
115001}
115002
115003// AsEloquaLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
115004func (msls MySQLLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
115005	return nil, false
115006}
115007
115008// AsDrillLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
115009func (msls MySQLLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
115010	return nil, false
115011}
115012
115013// AsCouchbaseLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
115014func (msls MySQLLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
115015	return nil, false
115016}
115017
115018// AsConcurLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
115019func (msls MySQLLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
115020	return nil, false
115021}
115022
115023// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
115024func (msls MySQLLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
115025	return nil, false
115026}
115027
115028// AsAmazonMWSLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
115029func (msls MySQLLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
115030	return nil, false
115031}
115032
115033// AsSapHanaLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
115034func (msls MySQLLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
115035	return nil, false
115036}
115037
115038// AsSapBWLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
115039func (msls MySQLLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
115040	return nil, false
115041}
115042
115043// AsSftpServerLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
115044func (msls MySQLLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
115045	return nil, false
115046}
115047
115048// AsFtpServerLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
115049func (msls MySQLLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
115050	return nil, false
115051}
115052
115053// AsHTTPLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
115054func (msls MySQLLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
115055	return nil, false
115056}
115057
115058// AsAzureSearchLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
115059func (msls MySQLLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
115060	return nil, false
115061}
115062
115063// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
115064func (msls MySQLLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
115065	return nil, false
115066}
115067
115068// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
115069func (msls MySQLLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
115070	return nil, false
115071}
115072
115073// AsAmazonS3LinkedService is the BasicLinkedService implementation for MySQLLinkedService.
115074func (msls MySQLLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
115075	return nil, false
115076}
115077
115078// AsRestServiceLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
115079func (msls MySQLLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) {
115080	return nil, false
115081}
115082
115083// AsSapOpenHubLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
115084func (msls MySQLLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) {
115085	return nil, false
115086}
115087
115088// AsSapEccLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
115089func (msls MySQLLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
115090	return nil, false
115091}
115092
115093// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
115094func (msls MySQLLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
115095	return nil, false
115096}
115097
115098// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
115099func (msls MySQLLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) {
115100	return nil, false
115101}
115102
115103// AsSalesforceLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
115104func (msls MySQLLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
115105	return nil, false
115106}
115107
115108// AsOffice365LinkedService is the BasicLinkedService implementation for MySQLLinkedService.
115109func (msls MySQLLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) {
115110	return nil, false
115111}
115112
115113// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
115114func (msls MySQLLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) {
115115	return nil, false
115116}
115117
115118// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
115119func (msls MySQLLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
115120	return nil, false
115121}
115122
115123// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for MySQLLinkedService.
115124func (msls MySQLLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) {
115125	return nil, false
115126}
115127
115128// AsMongoDbV2LinkedService is the BasicLinkedService implementation for MySQLLinkedService.
115129func (msls MySQLLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) {
115130	return nil, false
115131}
115132
115133// AsMongoDbLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
115134func (msls MySQLLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
115135	return nil, false
115136}
115137
115138// AsCassandraLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
115139func (msls MySQLLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
115140	return nil, false
115141}
115142
115143// AsWebLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
115144func (msls MySQLLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
115145	return nil, false
115146}
115147
115148// AsODataLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
115149func (msls MySQLLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
115150	return nil, false
115151}
115152
115153// AsHdfsLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
115154func (msls MySQLLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
115155	return nil, false
115156}
115157
115158// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
115159func (msls MySQLLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) {
115160	return nil, false
115161}
115162
115163// AsInformixLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
115164func (msls MySQLLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) {
115165	return nil, false
115166}
115167
115168// AsOdbcLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
115169func (msls MySQLLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
115170	return nil, false
115171}
115172
115173// AsAzureMLLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
115174func (msls MySQLLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
115175	return nil, false
115176}
115177
115178// AsTeradataLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
115179func (msls MySQLLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
115180	return nil, false
115181}
115182
115183// AsDb2LinkedService is the BasicLinkedService implementation for MySQLLinkedService.
115184func (msls MySQLLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
115185	return nil, false
115186}
115187
115188// AsSybaseLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
115189func (msls MySQLLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
115190	return nil, false
115191}
115192
115193// AsPostgreSQLLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
115194func (msls MySQLLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
115195	return nil, false
115196}
115197
115198// AsMySQLLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
115199func (msls MySQLLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
115200	return &msls, true
115201}
115202
115203// AsAzureMySQLLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
115204func (msls MySQLLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
115205	return nil, false
115206}
115207
115208// AsOracleLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
115209func (msls MySQLLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
115210	return nil, false
115211}
115212
115213// AsFileServerLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
115214func (msls MySQLLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
115215	return nil, false
115216}
115217
115218// AsHDInsightLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
115219func (msls MySQLLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
115220	return nil, false
115221}
115222
115223// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
115224func (msls MySQLLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) {
115225	return nil, false
115226}
115227
115228// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
115229func (msls MySQLLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) {
115230	return nil, false
115231}
115232
115233// AsDynamicsLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
115234func (msls MySQLLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
115235	return nil, false
115236}
115237
115238// AsCosmosDbLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
115239func (msls MySQLLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
115240	return nil, false
115241}
115242
115243// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
115244func (msls MySQLLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
115245	return nil, false
115246}
115247
115248// AsAzureBatchLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
115249func (msls MySQLLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
115250	return nil, false
115251}
115252
115253// AsAzureSQLMILinkedService is the BasicLinkedService implementation for MySQLLinkedService.
115254func (msls MySQLLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) {
115255	return nil, false
115256}
115257
115258// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
115259func (msls MySQLLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
115260	return nil, false
115261}
115262
115263// AsSQLServerLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
115264func (msls MySQLLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
115265	return nil, false
115266}
115267
115268// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
115269func (msls MySQLLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
115270	return nil, false
115271}
115272
115273// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
115274func (msls MySQLLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) {
115275	return nil, false
115276}
115277
115278// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
115279func (msls MySQLLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) {
115280	return nil, false
115281}
115282
115283// AsAzureStorageLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
115284func (msls MySQLLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
115285	return nil, false
115286}
115287
115288// AsLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
115289func (msls MySQLLinkedService) AsLinkedService() (*LinkedService, bool) {
115290	return nil, false
115291}
115292
115293// AsBasicLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
115294func (msls MySQLLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
115295	return &msls, true
115296}
115297
115298// UnmarshalJSON is the custom unmarshaler for MySQLLinkedService struct.
115299func (msls *MySQLLinkedService) UnmarshalJSON(body []byte) error {
115300	var m map[string]*json.RawMessage
115301	err := json.Unmarshal(body, &m)
115302	if err != nil {
115303		return err
115304	}
115305	for k, v := range m {
115306		switch k {
115307		case "typeProperties":
115308			if v != nil {
115309				var mySQLLinkedServiceTypeProperties MySQLLinkedServiceTypeProperties
115310				err = json.Unmarshal(*v, &mySQLLinkedServiceTypeProperties)
115311				if err != nil {
115312					return err
115313				}
115314				msls.MySQLLinkedServiceTypeProperties = &mySQLLinkedServiceTypeProperties
115315			}
115316		default:
115317			if v != nil {
115318				var additionalProperties interface{}
115319				err = json.Unmarshal(*v, &additionalProperties)
115320				if err != nil {
115321					return err
115322				}
115323				if msls.AdditionalProperties == nil {
115324					msls.AdditionalProperties = make(map[string]interface{})
115325				}
115326				msls.AdditionalProperties[k] = additionalProperties
115327			}
115328		case "connectVia":
115329			if v != nil {
115330				var connectVia IntegrationRuntimeReference
115331				err = json.Unmarshal(*v, &connectVia)
115332				if err != nil {
115333					return err
115334				}
115335				msls.ConnectVia = &connectVia
115336			}
115337		case "description":
115338			if v != nil {
115339				var description string
115340				err = json.Unmarshal(*v, &description)
115341				if err != nil {
115342					return err
115343				}
115344				msls.Description = &description
115345			}
115346		case "parameters":
115347			if v != nil {
115348				var parameters map[string]*ParameterSpecification
115349				err = json.Unmarshal(*v, &parameters)
115350				if err != nil {
115351					return err
115352				}
115353				msls.Parameters = parameters
115354			}
115355		case "annotations":
115356			if v != nil {
115357				var annotations []interface{}
115358				err = json.Unmarshal(*v, &annotations)
115359				if err != nil {
115360					return err
115361				}
115362				msls.Annotations = &annotations
115363			}
115364		case "type":
115365			if v != nil {
115366				var typeVar TypeBasicLinkedService
115367				err = json.Unmarshal(*v, &typeVar)
115368				if err != nil {
115369					return err
115370				}
115371				msls.Type = typeVar
115372			}
115373		}
115374	}
115375
115376	return nil
115377}
115378
115379// MySQLLinkedServiceTypeProperties mySQL linked service properties.
115380type MySQLLinkedServiceTypeProperties struct {
115381	// ConnectionString - The connection string.
115382	ConnectionString BasicSecretBase `json:"connectionString,omitempty"`
115383	// Password - The Azure key vault secret reference of password in connection string.
115384	Password *AzureKeyVaultSecretReference `json:"password,omitempty"`
115385	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
115386	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
115387}
115388
115389// UnmarshalJSON is the custom unmarshaler for MySQLLinkedServiceTypeProperties struct.
115390func (mslstp *MySQLLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
115391	var m map[string]*json.RawMessage
115392	err := json.Unmarshal(body, &m)
115393	if err != nil {
115394		return err
115395	}
115396	for k, v := range m {
115397		switch k {
115398		case "connectionString":
115399			if v != nil {
115400				connectionString, err := unmarshalBasicSecretBase(*v)
115401				if err != nil {
115402					return err
115403				}
115404				mslstp.ConnectionString = connectionString
115405			}
115406		case "password":
115407			if v != nil {
115408				var password AzureKeyVaultSecretReference
115409				err = json.Unmarshal(*v, &password)
115410				if err != nil {
115411					return err
115412				}
115413				mslstp.Password = &password
115414			}
115415		case "encryptedCredential":
115416			if v != nil {
115417				var encryptedCredential interface{}
115418				err = json.Unmarshal(*v, &encryptedCredential)
115419				if err != nil {
115420					return err
115421				}
115422				mslstp.EncryptedCredential = encryptedCredential
115423			}
115424		}
115425	}
115426
115427	return nil
115428}
115429
115430// MySQLSource a copy activity source for MySQL databases.
115431type MySQLSource struct {
115432	// Query - Database query. Type: string (or Expression with resultType string).
115433	Query interface{} `json:"query,omitempty"`
115434	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
115435	AdditionalProperties map[string]interface{} `json:""`
115436	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
115437	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
115438	// 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])).
115439	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
115440	// MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer).
115441	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
115442	// Type - Possible values include: 'TypeCopySource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', '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', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeCassandraSource', 'TypeWebSource', 'TypeTeradataSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeAzureMySQLSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeRestSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceServiceCloudSource', 'TypeSalesforceSource', 'TypeODataSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeMicrosoftAccessSource', 'TypeInformixSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAzureTableSource', 'TypeBinarySource', 'TypeDelimitedTextSource', 'TypeParquetSource'
115443	Type TypeBasicCopySource `json:"type,omitempty"`
115444}
115445
115446// MarshalJSON is the custom marshaler for MySQLSource.
115447func (mss MySQLSource) MarshalJSON() ([]byte, error) {
115448	mss.Type = TypeMySQLSource
115449	objectMap := make(map[string]interface{})
115450	if mss.Query != nil {
115451		objectMap["query"] = mss.Query
115452	}
115453	if mss.SourceRetryCount != nil {
115454		objectMap["sourceRetryCount"] = mss.SourceRetryCount
115455	}
115456	if mss.SourceRetryWait != nil {
115457		objectMap["sourceRetryWait"] = mss.SourceRetryWait
115458	}
115459	if mss.MaxConcurrentConnections != nil {
115460		objectMap["maxConcurrentConnections"] = mss.MaxConcurrentConnections
115461	}
115462	if mss.Type != "" {
115463		objectMap["type"] = mss.Type
115464	}
115465	for k, v := range mss.AdditionalProperties {
115466		objectMap[k] = v
115467	}
115468	return json.Marshal(objectMap)
115469}
115470
115471// AsAmazonRedshiftSource is the BasicCopySource implementation for MySQLSource.
115472func (mss MySQLSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
115473	return nil, false
115474}
115475
115476// AsGoogleAdWordsSource is the BasicCopySource implementation for MySQLSource.
115477func (mss MySQLSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) {
115478	return nil, false
115479}
115480
115481// AsOracleServiceCloudSource is the BasicCopySource implementation for MySQLSource.
115482func (mss MySQLSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) {
115483	return nil, false
115484}
115485
115486// AsDynamicsAXSource is the BasicCopySource implementation for MySQLSource.
115487func (mss MySQLSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) {
115488	return nil, false
115489}
115490
115491// AsResponsysSource is the BasicCopySource implementation for MySQLSource.
115492func (mss MySQLSource) AsResponsysSource() (*ResponsysSource, bool) {
115493	return nil, false
115494}
115495
115496// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for MySQLSource.
115497func (mss MySQLSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
115498	return nil, false
115499}
115500
115501// AsVerticaSource is the BasicCopySource implementation for MySQLSource.
115502func (mss MySQLSource) AsVerticaSource() (*VerticaSource, bool) {
115503	return nil, false
115504}
115505
115506// AsNetezzaSource is the BasicCopySource implementation for MySQLSource.
115507func (mss MySQLSource) AsNetezzaSource() (*NetezzaSource, bool) {
115508	return nil, false
115509}
115510
115511// AsZohoSource is the BasicCopySource implementation for MySQLSource.
115512func (mss MySQLSource) AsZohoSource() (*ZohoSource, bool) {
115513	return nil, false
115514}
115515
115516// AsXeroSource is the BasicCopySource implementation for MySQLSource.
115517func (mss MySQLSource) AsXeroSource() (*XeroSource, bool) {
115518	return nil, false
115519}
115520
115521// AsSquareSource is the BasicCopySource implementation for MySQLSource.
115522func (mss MySQLSource) AsSquareSource() (*SquareSource, bool) {
115523	return nil, false
115524}
115525
115526// AsSparkSource is the BasicCopySource implementation for MySQLSource.
115527func (mss MySQLSource) AsSparkSource() (*SparkSource, bool) {
115528	return nil, false
115529}
115530
115531// AsShopifySource is the BasicCopySource implementation for MySQLSource.
115532func (mss MySQLSource) AsShopifySource() (*ShopifySource, bool) {
115533	return nil, false
115534}
115535
115536// AsServiceNowSource is the BasicCopySource implementation for MySQLSource.
115537func (mss MySQLSource) AsServiceNowSource() (*ServiceNowSource, bool) {
115538	return nil, false
115539}
115540
115541// AsQuickBooksSource is the BasicCopySource implementation for MySQLSource.
115542func (mss MySQLSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
115543	return nil, false
115544}
115545
115546// AsPrestoSource is the BasicCopySource implementation for MySQLSource.
115547func (mss MySQLSource) AsPrestoSource() (*PrestoSource, bool) {
115548	return nil, false
115549}
115550
115551// AsPhoenixSource is the BasicCopySource implementation for MySQLSource.
115552func (mss MySQLSource) AsPhoenixSource() (*PhoenixSource, bool) {
115553	return nil, false
115554}
115555
115556// AsPaypalSource is the BasicCopySource implementation for MySQLSource.
115557func (mss MySQLSource) AsPaypalSource() (*PaypalSource, bool) {
115558	return nil, false
115559}
115560
115561// AsMarketoSource is the BasicCopySource implementation for MySQLSource.
115562func (mss MySQLSource) AsMarketoSource() (*MarketoSource, bool) {
115563	return nil, false
115564}
115565
115566// AsMariaDBSource is the BasicCopySource implementation for MySQLSource.
115567func (mss MySQLSource) AsMariaDBSource() (*MariaDBSource, bool) {
115568	return nil, false
115569}
115570
115571// AsMagentoSource is the BasicCopySource implementation for MySQLSource.
115572func (mss MySQLSource) AsMagentoSource() (*MagentoSource, bool) {
115573	return nil, false
115574}
115575
115576// AsJiraSource is the BasicCopySource implementation for MySQLSource.
115577func (mss MySQLSource) AsJiraSource() (*JiraSource, bool) {
115578	return nil, false
115579}
115580
115581// AsImpalaSource is the BasicCopySource implementation for MySQLSource.
115582func (mss MySQLSource) AsImpalaSource() (*ImpalaSource, bool) {
115583	return nil, false
115584}
115585
115586// AsHubspotSource is the BasicCopySource implementation for MySQLSource.
115587func (mss MySQLSource) AsHubspotSource() (*HubspotSource, bool) {
115588	return nil, false
115589}
115590
115591// AsHiveSource is the BasicCopySource implementation for MySQLSource.
115592func (mss MySQLSource) AsHiveSource() (*HiveSource, bool) {
115593	return nil, false
115594}
115595
115596// AsHBaseSource is the BasicCopySource implementation for MySQLSource.
115597func (mss MySQLSource) AsHBaseSource() (*HBaseSource, bool) {
115598	return nil, false
115599}
115600
115601// AsGreenplumSource is the BasicCopySource implementation for MySQLSource.
115602func (mss MySQLSource) AsGreenplumSource() (*GreenplumSource, bool) {
115603	return nil, false
115604}
115605
115606// AsGoogleBigQuerySource is the BasicCopySource implementation for MySQLSource.
115607func (mss MySQLSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
115608	return nil, false
115609}
115610
115611// AsEloquaSource is the BasicCopySource implementation for MySQLSource.
115612func (mss MySQLSource) AsEloquaSource() (*EloquaSource, bool) {
115613	return nil, false
115614}
115615
115616// AsDrillSource is the BasicCopySource implementation for MySQLSource.
115617func (mss MySQLSource) AsDrillSource() (*DrillSource, bool) {
115618	return nil, false
115619}
115620
115621// AsCouchbaseSource is the BasicCopySource implementation for MySQLSource.
115622func (mss MySQLSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
115623	return nil, false
115624}
115625
115626// AsConcurSource is the BasicCopySource implementation for MySQLSource.
115627func (mss MySQLSource) AsConcurSource() (*ConcurSource, bool) {
115628	return nil, false
115629}
115630
115631// AsAzurePostgreSQLSource is the BasicCopySource implementation for MySQLSource.
115632func (mss MySQLSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
115633	return nil, false
115634}
115635
115636// AsAmazonMWSSource is the BasicCopySource implementation for MySQLSource.
115637func (mss MySQLSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
115638	return nil, false
115639}
115640
115641// AsHTTPSource is the BasicCopySource implementation for MySQLSource.
115642func (mss MySQLSource) AsHTTPSource() (*HTTPSource, bool) {
115643	return nil, false
115644}
115645
115646// AsAzureBlobFSSource is the BasicCopySource implementation for MySQLSource.
115647func (mss MySQLSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) {
115648	return nil, false
115649}
115650
115651// AsAzureDataLakeStoreSource is the BasicCopySource implementation for MySQLSource.
115652func (mss MySQLSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
115653	return nil, false
115654}
115655
115656// AsOffice365Source is the BasicCopySource implementation for MySQLSource.
115657func (mss MySQLSource) AsOffice365Source() (*Office365Source, bool) {
115658	return nil, false
115659}
115660
115661// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for MySQLSource.
115662func (mss MySQLSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) {
115663	return nil, false
115664}
115665
115666// AsMongoDbV2Source is the BasicCopySource implementation for MySQLSource.
115667func (mss MySQLSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) {
115668	return nil, false
115669}
115670
115671// AsMongoDbSource is the BasicCopySource implementation for MySQLSource.
115672func (mss MySQLSource) AsMongoDbSource() (*MongoDbSource, bool) {
115673	return nil, false
115674}
115675
115676// AsCassandraSource is the BasicCopySource implementation for MySQLSource.
115677func (mss MySQLSource) AsCassandraSource() (*CassandraSource, bool) {
115678	return nil, false
115679}
115680
115681// AsWebSource is the BasicCopySource implementation for MySQLSource.
115682func (mss MySQLSource) AsWebSource() (*WebSource, bool) {
115683	return nil, false
115684}
115685
115686// AsTeradataSource is the BasicCopySource implementation for MySQLSource.
115687func (mss MySQLSource) AsTeradataSource() (*TeradataSource, bool) {
115688	return nil, false
115689}
115690
115691// AsOracleSource is the BasicCopySource implementation for MySQLSource.
115692func (mss MySQLSource) AsOracleSource() (*OracleSource, bool) {
115693	return nil, false
115694}
115695
115696// AsAzureDataExplorerSource is the BasicCopySource implementation for MySQLSource.
115697func (mss MySQLSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) {
115698	return nil, false
115699}
115700
115701// AsAzureMySQLSource is the BasicCopySource implementation for MySQLSource.
115702func (mss MySQLSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
115703	return nil, false
115704}
115705
115706// AsHdfsSource is the BasicCopySource implementation for MySQLSource.
115707func (mss MySQLSource) AsHdfsSource() (*HdfsSource, bool) {
115708	return nil, false
115709}
115710
115711// AsFileSystemSource is the BasicCopySource implementation for MySQLSource.
115712func (mss MySQLSource) AsFileSystemSource() (*FileSystemSource, bool) {
115713	return nil, false
115714}
115715
115716// AsSQLDWSource is the BasicCopySource implementation for MySQLSource.
115717func (mss MySQLSource) AsSQLDWSource() (*SQLDWSource, bool) {
115718	return nil, false
115719}
115720
115721// AsSQLMISource is the BasicCopySource implementation for MySQLSource.
115722func (mss MySQLSource) AsSQLMISource() (*SQLMISource, bool) {
115723	return nil, false
115724}
115725
115726// AsAzureSQLSource is the BasicCopySource implementation for MySQLSource.
115727func (mss MySQLSource) AsAzureSQLSource() (*AzureSQLSource, bool) {
115728	return nil, false
115729}
115730
115731// AsSQLServerSource is the BasicCopySource implementation for MySQLSource.
115732func (mss MySQLSource) AsSQLServerSource() (*SQLServerSource, bool) {
115733	return nil, false
115734}
115735
115736// AsSQLSource is the BasicCopySource implementation for MySQLSource.
115737func (mss MySQLSource) AsSQLSource() (*SQLSource, bool) {
115738	return nil, false
115739}
115740
115741// AsRestSource is the BasicCopySource implementation for MySQLSource.
115742func (mss MySQLSource) AsRestSource() (*RestSource, bool) {
115743	return nil, false
115744}
115745
115746// AsSapTableSource is the BasicCopySource implementation for MySQLSource.
115747func (mss MySQLSource) AsSapTableSource() (*SapTableSource, bool) {
115748	return nil, false
115749}
115750
115751// AsSapOpenHubSource is the BasicCopySource implementation for MySQLSource.
115752func (mss MySQLSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) {
115753	return nil, false
115754}
115755
115756// AsSapHanaSource is the BasicCopySource implementation for MySQLSource.
115757func (mss MySQLSource) AsSapHanaSource() (*SapHanaSource, bool) {
115758	return nil, false
115759}
115760
115761// AsSapEccSource is the BasicCopySource implementation for MySQLSource.
115762func (mss MySQLSource) AsSapEccSource() (*SapEccSource, bool) {
115763	return nil, false
115764}
115765
115766// AsSapCloudForCustomerSource is the BasicCopySource implementation for MySQLSource.
115767func (mss MySQLSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
115768	return nil, false
115769}
115770
115771// AsSalesforceServiceCloudSource is the BasicCopySource implementation for MySQLSource.
115772func (mss MySQLSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) {
115773	return nil, false
115774}
115775
115776// AsSalesforceSource is the BasicCopySource implementation for MySQLSource.
115777func (mss MySQLSource) AsSalesforceSource() (*SalesforceSource, bool) {
115778	return nil, false
115779}
115780
115781// AsODataSource is the BasicCopySource implementation for MySQLSource.
115782func (mss MySQLSource) AsODataSource() (*ODataSource, bool) {
115783	return nil, false
115784}
115785
115786// AsSybaseSource is the BasicCopySource implementation for MySQLSource.
115787func (mss MySQLSource) AsSybaseSource() (*SybaseSource, bool) {
115788	return nil, false
115789}
115790
115791// AsPostgreSQLSource is the BasicCopySource implementation for MySQLSource.
115792func (mss MySQLSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) {
115793	return nil, false
115794}
115795
115796// AsMySQLSource is the BasicCopySource implementation for MySQLSource.
115797func (mss MySQLSource) AsMySQLSource() (*MySQLSource, bool) {
115798	return &mss, true
115799}
115800
115801// AsOdbcSource is the BasicCopySource implementation for MySQLSource.
115802func (mss MySQLSource) AsOdbcSource() (*OdbcSource, bool) {
115803	return nil, false
115804}
115805
115806// AsDb2Source is the BasicCopySource implementation for MySQLSource.
115807func (mss MySQLSource) AsDb2Source() (*Db2Source, bool) {
115808	return nil, false
115809}
115810
115811// AsMicrosoftAccessSource is the BasicCopySource implementation for MySQLSource.
115812func (mss MySQLSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) {
115813	return nil, false
115814}
115815
115816// AsInformixSource is the BasicCopySource implementation for MySQLSource.
115817func (mss MySQLSource) AsInformixSource() (*InformixSource, bool) {
115818	return nil, false
115819}
115820
115821// AsRelationalSource is the BasicCopySource implementation for MySQLSource.
115822func (mss MySQLSource) AsRelationalSource() (*RelationalSource, bool) {
115823	return nil, false
115824}
115825
115826// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for MySQLSource.
115827func (mss MySQLSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) {
115828	return nil, false
115829}
115830
115831// AsDynamicsCrmSource is the BasicCopySource implementation for MySQLSource.
115832func (mss MySQLSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) {
115833	return nil, false
115834}
115835
115836// AsDynamicsSource is the BasicCopySource implementation for MySQLSource.
115837func (mss MySQLSource) AsDynamicsSource() (*DynamicsSource, bool) {
115838	return nil, false
115839}
115840
115841// AsDocumentDbCollectionSource is the BasicCopySource implementation for MySQLSource.
115842func (mss MySQLSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
115843	return nil, false
115844}
115845
115846// AsBlobSource is the BasicCopySource implementation for MySQLSource.
115847func (mss MySQLSource) AsBlobSource() (*BlobSource, bool) {
115848	return nil, false
115849}
115850
115851// AsAzureTableSource is the BasicCopySource implementation for MySQLSource.
115852func (mss MySQLSource) AsAzureTableSource() (*AzureTableSource, bool) {
115853	return nil, false
115854}
115855
115856// AsBinarySource is the BasicCopySource implementation for MySQLSource.
115857func (mss MySQLSource) AsBinarySource() (*BinarySource, bool) {
115858	return nil, false
115859}
115860
115861// AsDelimitedTextSource is the BasicCopySource implementation for MySQLSource.
115862func (mss MySQLSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) {
115863	return nil, false
115864}
115865
115866// AsParquetSource is the BasicCopySource implementation for MySQLSource.
115867func (mss MySQLSource) AsParquetSource() (*ParquetSource, bool) {
115868	return nil, false
115869}
115870
115871// AsCopySource is the BasicCopySource implementation for MySQLSource.
115872func (mss MySQLSource) AsCopySource() (*CopySource, bool) {
115873	return nil, false
115874}
115875
115876// AsBasicCopySource is the BasicCopySource implementation for MySQLSource.
115877func (mss MySQLSource) AsBasicCopySource() (BasicCopySource, bool) {
115878	return &mss, true
115879}
115880
115881// UnmarshalJSON is the custom unmarshaler for MySQLSource struct.
115882func (mss *MySQLSource) UnmarshalJSON(body []byte) error {
115883	var m map[string]*json.RawMessage
115884	err := json.Unmarshal(body, &m)
115885	if err != nil {
115886		return err
115887	}
115888	for k, v := range m {
115889		switch k {
115890		case "query":
115891			if v != nil {
115892				var query interface{}
115893				err = json.Unmarshal(*v, &query)
115894				if err != nil {
115895					return err
115896				}
115897				mss.Query = query
115898			}
115899		default:
115900			if v != nil {
115901				var additionalProperties interface{}
115902				err = json.Unmarshal(*v, &additionalProperties)
115903				if err != nil {
115904					return err
115905				}
115906				if mss.AdditionalProperties == nil {
115907					mss.AdditionalProperties = make(map[string]interface{})
115908				}
115909				mss.AdditionalProperties[k] = additionalProperties
115910			}
115911		case "sourceRetryCount":
115912			if v != nil {
115913				var sourceRetryCount interface{}
115914				err = json.Unmarshal(*v, &sourceRetryCount)
115915				if err != nil {
115916					return err
115917				}
115918				mss.SourceRetryCount = sourceRetryCount
115919			}
115920		case "sourceRetryWait":
115921			if v != nil {
115922				var sourceRetryWait interface{}
115923				err = json.Unmarshal(*v, &sourceRetryWait)
115924				if err != nil {
115925					return err
115926				}
115927				mss.SourceRetryWait = sourceRetryWait
115928			}
115929		case "maxConcurrentConnections":
115930			if v != nil {
115931				var maxConcurrentConnections interface{}
115932				err = json.Unmarshal(*v, &maxConcurrentConnections)
115933				if err != nil {
115934					return err
115935				}
115936				mss.MaxConcurrentConnections = maxConcurrentConnections
115937			}
115938		case "type":
115939			if v != nil {
115940				var typeVar TypeBasicCopySource
115941				err = json.Unmarshal(*v, &typeVar)
115942				if err != nil {
115943					return err
115944				}
115945				mss.Type = typeVar
115946			}
115947		}
115948	}
115949
115950	return nil
115951}
115952
115953// MySQLTableDataset the MySQL table dataset.
115954type MySQLTableDataset struct {
115955	// MySQLTableDatasetTypeProperties - MySQL table dataset properties.
115956	*MySQLTableDatasetTypeProperties `json:"typeProperties,omitempty"`
115957	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
115958	AdditionalProperties map[string]interface{} `json:""`
115959	// Description - Dataset description.
115960	Description *string `json:"description,omitempty"`
115961	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
115962	Structure interface{} `json:"structure,omitempty"`
115963	// Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement.
115964	Schema interface{} `json:"schema,omitempty"`
115965	// LinkedServiceName - Linked service reference.
115966	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
115967	// Parameters - Parameters for dataset.
115968	Parameters map[string]*ParameterSpecification `json:"parameters"`
115969	// Annotations - List of tags that can be used for describing the Dataset.
115970	Annotations *[]interface{} `json:"annotations,omitempty"`
115971	// Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level.
115972	Folder *DatasetFolder `json:"folder,omitempty"`
115973	// Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', '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', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeDelimitedText', 'TypeParquet', 'TypeAmazonS3Object'
115974	Type TypeBasicDataset `json:"type,omitempty"`
115975}
115976
115977// MarshalJSON is the custom marshaler for MySQLTableDataset.
115978func (mstd MySQLTableDataset) MarshalJSON() ([]byte, error) {
115979	mstd.Type = TypeMySQLTable
115980	objectMap := make(map[string]interface{})
115981	if mstd.MySQLTableDatasetTypeProperties != nil {
115982		objectMap["typeProperties"] = mstd.MySQLTableDatasetTypeProperties
115983	}
115984	if mstd.Description != nil {
115985		objectMap["description"] = mstd.Description
115986	}
115987	if mstd.Structure != nil {
115988		objectMap["structure"] = mstd.Structure
115989	}
115990	if mstd.Schema != nil {
115991		objectMap["schema"] = mstd.Schema
115992	}
115993	if mstd.LinkedServiceName != nil {
115994		objectMap["linkedServiceName"] = mstd.LinkedServiceName
115995	}
115996	if mstd.Parameters != nil {
115997		objectMap["parameters"] = mstd.Parameters
115998	}
115999	if mstd.Annotations != nil {
116000		objectMap["annotations"] = mstd.Annotations
116001	}
116002	if mstd.Folder != nil {
116003		objectMap["folder"] = mstd.Folder
116004	}
116005	if mstd.Type != "" {
116006		objectMap["type"] = mstd.Type
116007	}
116008	for k, v := range mstd.AdditionalProperties {
116009		objectMap[k] = v
116010	}
116011	return json.Marshal(objectMap)
116012}
116013
116014// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for MySQLTableDataset.
116015func (mstd MySQLTableDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) {
116016	return nil, false
116017}
116018
116019// AsAzureDataExplorerTableDataset is the BasicDataset implementation for MySQLTableDataset.
116020func (mstd MySQLTableDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) {
116021	return nil, false
116022}
116023
116024// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for MySQLTableDataset.
116025func (mstd MySQLTableDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) {
116026	return nil, false
116027}
116028
116029// AsDynamicsAXResourceDataset is the BasicDataset implementation for MySQLTableDataset.
116030func (mstd MySQLTableDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) {
116031	return nil, false
116032}
116033
116034// AsResponsysObjectDataset is the BasicDataset implementation for MySQLTableDataset.
116035func (mstd MySQLTableDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
116036	return nil, false
116037}
116038
116039// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for MySQLTableDataset.
116040func (mstd MySQLTableDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
116041	return nil, false
116042}
116043
116044// AsVerticaTableDataset is the BasicDataset implementation for MySQLTableDataset.
116045func (mstd MySQLTableDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
116046	return nil, false
116047}
116048
116049// AsNetezzaTableDataset is the BasicDataset implementation for MySQLTableDataset.
116050func (mstd MySQLTableDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
116051	return nil, false
116052}
116053
116054// AsZohoObjectDataset is the BasicDataset implementation for MySQLTableDataset.
116055func (mstd MySQLTableDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
116056	return nil, false
116057}
116058
116059// AsXeroObjectDataset is the BasicDataset implementation for MySQLTableDataset.
116060func (mstd MySQLTableDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
116061	return nil, false
116062}
116063
116064// AsSquareObjectDataset is the BasicDataset implementation for MySQLTableDataset.
116065func (mstd MySQLTableDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
116066	return nil, false
116067}
116068
116069// AsSparkObjectDataset is the BasicDataset implementation for MySQLTableDataset.
116070func (mstd MySQLTableDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
116071	return nil, false
116072}
116073
116074// AsShopifyObjectDataset is the BasicDataset implementation for MySQLTableDataset.
116075func (mstd MySQLTableDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
116076	return nil, false
116077}
116078
116079// AsServiceNowObjectDataset is the BasicDataset implementation for MySQLTableDataset.
116080func (mstd MySQLTableDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
116081	return nil, false
116082}
116083
116084// AsQuickBooksObjectDataset is the BasicDataset implementation for MySQLTableDataset.
116085func (mstd MySQLTableDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
116086	return nil, false
116087}
116088
116089// AsPrestoObjectDataset is the BasicDataset implementation for MySQLTableDataset.
116090func (mstd MySQLTableDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
116091	return nil, false
116092}
116093
116094// AsPhoenixObjectDataset is the BasicDataset implementation for MySQLTableDataset.
116095func (mstd MySQLTableDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
116096	return nil, false
116097}
116098
116099// AsPaypalObjectDataset is the BasicDataset implementation for MySQLTableDataset.
116100func (mstd MySQLTableDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
116101	return nil, false
116102}
116103
116104// AsMarketoObjectDataset is the BasicDataset implementation for MySQLTableDataset.
116105func (mstd MySQLTableDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
116106	return nil, false
116107}
116108
116109// AsMariaDBTableDataset is the BasicDataset implementation for MySQLTableDataset.
116110func (mstd MySQLTableDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
116111	return nil, false
116112}
116113
116114// AsMagentoObjectDataset is the BasicDataset implementation for MySQLTableDataset.
116115func (mstd MySQLTableDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
116116	return nil, false
116117}
116118
116119// AsJiraObjectDataset is the BasicDataset implementation for MySQLTableDataset.
116120func (mstd MySQLTableDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
116121	return nil, false
116122}
116123
116124// AsImpalaObjectDataset is the BasicDataset implementation for MySQLTableDataset.
116125func (mstd MySQLTableDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
116126	return nil, false
116127}
116128
116129// AsHubspotObjectDataset is the BasicDataset implementation for MySQLTableDataset.
116130func (mstd MySQLTableDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
116131	return nil, false
116132}
116133
116134// AsHiveObjectDataset is the BasicDataset implementation for MySQLTableDataset.
116135func (mstd MySQLTableDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
116136	return nil, false
116137}
116138
116139// AsHBaseObjectDataset is the BasicDataset implementation for MySQLTableDataset.
116140func (mstd MySQLTableDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
116141	return nil, false
116142}
116143
116144// AsGreenplumTableDataset is the BasicDataset implementation for MySQLTableDataset.
116145func (mstd MySQLTableDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
116146	return nil, false
116147}
116148
116149// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for MySQLTableDataset.
116150func (mstd MySQLTableDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
116151	return nil, false
116152}
116153
116154// AsEloquaObjectDataset is the BasicDataset implementation for MySQLTableDataset.
116155func (mstd MySQLTableDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
116156	return nil, false
116157}
116158
116159// AsDrillTableDataset is the BasicDataset implementation for MySQLTableDataset.
116160func (mstd MySQLTableDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
116161	return nil, false
116162}
116163
116164// AsCouchbaseTableDataset is the BasicDataset implementation for MySQLTableDataset.
116165func (mstd MySQLTableDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
116166	return nil, false
116167}
116168
116169// AsConcurObjectDataset is the BasicDataset implementation for MySQLTableDataset.
116170func (mstd MySQLTableDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
116171	return nil, false
116172}
116173
116174// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for MySQLTableDataset.
116175func (mstd MySQLTableDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
116176	return nil, false
116177}
116178
116179// AsAmazonMWSObjectDataset is the BasicDataset implementation for MySQLTableDataset.
116180func (mstd MySQLTableDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
116181	return nil, false
116182}
116183
116184// AsHTTPDataset is the BasicDataset implementation for MySQLTableDataset.
116185func (mstd MySQLTableDataset) AsHTTPDataset() (*HTTPDataset, bool) {
116186	return nil, false
116187}
116188
116189// AsAzureSearchIndexDataset is the BasicDataset implementation for MySQLTableDataset.
116190func (mstd MySQLTableDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
116191	return nil, false
116192}
116193
116194// AsWebTableDataset is the BasicDataset implementation for MySQLTableDataset.
116195func (mstd MySQLTableDataset) AsWebTableDataset() (*WebTableDataset, bool) {
116196	return nil, false
116197}
116198
116199// AsSapTableResourceDataset is the BasicDataset implementation for MySQLTableDataset.
116200func (mstd MySQLTableDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) {
116201	return nil, false
116202}
116203
116204// AsRestResourceDataset is the BasicDataset implementation for MySQLTableDataset.
116205func (mstd MySQLTableDataset) AsRestResourceDataset() (*RestResourceDataset, bool) {
116206	return nil, false
116207}
116208
116209// AsSQLServerTableDataset is the BasicDataset implementation for MySQLTableDataset.
116210func (mstd MySQLTableDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
116211	return nil, false
116212}
116213
116214// AsSapOpenHubTableDataset is the BasicDataset implementation for MySQLTableDataset.
116215func (mstd MySQLTableDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) {
116216	return nil, false
116217}
116218
116219// AsSapHanaTableDataset is the BasicDataset implementation for MySQLTableDataset.
116220func (mstd MySQLTableDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) {
116221	return nil, false
116222}
116223
116224// AsSapEccResourceDataset is the BasicDataset implementation for MySQLTableDataset.
116225func (mstd MySQLTableDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
116226	return nil, false
116227}
116228
116229// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for MySQLTableDataset.
116230func (mstd MySQLTableDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
116231	return nil, false
116232}
116233
116234// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for MySQLTableDataset.
116235func (mstd MySQLTableDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) {
116236	return nil, false
116237}
116238
116239// AsSalesforceObjectDataset is the BasicDataset implementation for MySQLTableDataset.
116240func (mstd MySQLTableDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
116241	return nil, false
116242}
116243
116244// AsMicrosoftAccessTableDataset is the BasicDataset implementation for MySQLTableDataset.
116245func (mstd MySQLTableDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) {
116246	return nil, false
116247}
116248
116249// AsPostgreSQLTableDataset is the BasicDataset implementation for MySQLTableDataset.
116250func (mstd MySQLTableDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) {
116251	return nil, false
116252}
116253
116254// AsMySQLTableDataset is the BasicDataset implementation for MySQLTableDataset.
116255func (mstd MySQLTableDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) {
116256	return &mstd, true
116257}
116258
116259// AsOdbcTableDataset is the BasicDataset implementation for MySQLTableDataset.
116260func (mstd MySQLTableDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) {
116261	return nil, false
116262}
116263
116264// AsInformixTableDataset is the BasicDataset implementation for MySQLTableDataset.
116265func (mstd MySQLTableDataset) AsInformixTableDataset() (*InformixTableDataset, bool) {
116266	return nil, false
116267}
116268
116269// AsRelationalTableDataset is the BasicDataset implementation for MySQLTableDataset.
116270func (mstd MySQLTableDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
116271	return nil, false
116272}
116273
116274// AsAzureMySQLTableDataset is the BasicDataset implementation for MySQLTableDataset.
116275func (mstd MySQLTableDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
116276	return nil, false
116277}
116278
116279// AsTeradataTableDataset is the BasicDataset implementation for MySQLTableDataset.
116280func (mstd MySQLTableDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) {
116281	return nil, false
116282}
116283
116284// AsOracleTableDataset is the BasicDataset implementation for MySQLTableDataset.
116285func (mstd MySQLTableDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
116286	return nil, false
116287}
116288
116289// AsODataResourceDataset is the BasicDataset implementation for MySQLTableDataset.
116290func (mstd MySQLTableDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
116291	return nil, false
116292}
116293
116294// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for MySQLTableDataset.
116295func (mstd MySQLTableDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) {
116296	return nil, false
116297}
116298
116299// AsMongoDbV2CollectionDataset is the BasicDataset implementation for MySQLTableDataset.
116300func (mstd MySQLTableDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) {
116301	return nil, false
116302}
116303
116304// AsMongoDbCollectionDataset is the BasicDataset implementation for MySQLTableDataset.
116305func (mstd MySQLTableDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
116306	return nil, false
116307}
116308
116309// AsFileShareDataset is the BasicDataset implementation for MySQLTableDataset.
116310func (mstd MySQLTableDataset) AsFileShareDataset() (*FileShareDataset, bool) {
116311	return nil, false
116312}
116313
116314// AsOffice365Dataset is the BasicDataset implementation for MySQLTableDataset.
116315func (mstd MySQLTableDataset) AsOffice365Dataset() (*Office365Dataset, bool) {
116316	return nil, false
116317}
116318
116319// AsAzureBlobFSDataset is the BasicDataset implementation for MySQLTableDataset.
116320func (mstd MySQLTableDataset) AsAzureBlobFSDataset() (*AzureBlobFSDataset, bool) {
116321	return nil, false
116322}
116323
116324// AsAzureDataLakeStoreDataset is the BasicDataset implementation for MySQLTableDataset.
116325func (mstd MySQLTableDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) {
116326	return nil, false
116327}
116328
116329// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for MySQLTableDataset.
116330func (mstd MySQLTableDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) {
116331	return nil, false
116332}
116333
116334// AsDynamicsCrmEntityDataset is the BasicDataset implementation for MySQLTableDataset.
116335func (mstd MySQLTableDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) {
116336	return nil, false
116337}
116338
116339// AsDynamicsEntityDataset is the BasicDataset implementation for MySQLTableDataset.
116340func (mstd MySQLTableDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
116341	return nil, false
116342}
116343
116344// AsDocumentDbCollectionDataset is the BasicDataset implementation for MySQLTableDataset.
116345func (mstd MySQLTableDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
116346	return nil, false
116347}
116348
116349// AsCustomDataset is the BasicDataset implementation for MySQLTableDataset.
116350func (mstd MySQLTableDataset) AsCustomDataset() (*CustomDataset, bool) {
116351	return nil, false
116352}
116353
116354// AsCassandraTableDataset is the BasicDataset implementation for MySQLTableDataset.
116355func (mstd MySQLTableDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
116356	return nil, false
116357}
116358
116359// AsAzureSQLDWTableDataset is the BasicDataset implementation for MySQLTableDataset.
116360func (mstd MySQLTableDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
116361	return nil, false
116362}
116363
116364// AsAzureSQLMITableDataset is the BasicDataset implementation for MySQLTableDataset.
116365func (mstd MySQLTableDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) {
116366	return nil, false
116367}
116368
116369// AsAzureSQLTableDataset is the BasicDataset implementation for MySQLTableDataset.
116370func (mstd MySQLTableDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
116371	return nil, false
116372}
116373
116374// AsAzureTableDataset is the BasicDataset implementation for MySQLTableDataset.
116375func (mstd MySQLTableDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
116376	return nil, false
116377}
116378
116379// AsAzureBlobDataset is the BasicDataset implementation for MySQLTableDataset.
116380func (mstd MySQLTableDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) {
116381	return nil, false
116382}
116383
116384// AsBinaryDataset is the BasicDataset implementation for MySQLTableDataset.
116385func (mstd MySQLTableDataset) AsBinaryDataset() (*BinaryDataset, bool) {
116386	return nil, false
116387}
116388
116389// AsDelimitedTextDataset is the BasicDataset implementation for MySQLTableDataset.
116390func (mstd MySQLTableDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) {
116391	return nil, false
116392}
116393
116394// AsParquetDataset is the BasicDataset implementation for MySQLTableDataset.
116395func (mstd MySQLTableDataset) AsParquetDataset() (*ParquetDataset, bool) {
116396	return nil, false
116397}
116398
116399// AsAmazonS3Dataset is the BasicDataset implementation for MySQLTableDataset.
116400func (mstd MySQLTableDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) {
116401	return nil, false
116402}
116403
116404// AsDataset is the BasicDataset implementation for MySQLTableDataset.
116405func (mstd MySQLTableDataset) AsDataset() (*Dataset, bool) {
116406	return nil, false
116407}
116408
116409// AsBasicDataset is the BasicDataset implementation for MySQLTableDataset.
116410func (mstd MySQLTableDataset) AsBasicDataset() (BasicDataset, bool) {
116411	return &mstd, true
116412}
116413
116414// UnmarshalJSON is the custom unmarshaler for MySQLTableDataset struct.
116415func (mstd *MySQLTableDataset) UnmarshalJSON(body []byte) error {
116416	var m map[string]*json.RawMessage
116417	err := json.Unmarshal(body, &m)
116418	if err != nil {
116419		return err
116420	}
116421	for k, v := range m {
116422		switch k {
116423		case "typeProperties":
116424			if v != nil {
116425				var mySQLTableDatasetTypeProperties MySQLTableDatasetTypeProperties
116426				err = json.Unmarshal(*v, &mySQLTableDatasetTypeProperties)
116427				if err != nil {
116428					return err
116429				}
116430				mstd.MySQLTableDatasetTypeProperties = &mySQLTableDatasetTypeProperties
116431			}
116432		default:
116433			if v != nil {
116434				var additionalProperties interface{}
116435				err = json.Unmarshal(*v, &additionalProperties)
116436				if err != nil {
116437					return err
116438				}
116439				if mstd.AdditionalProperties == nil {
116440					mstd.AdditionalProperties = make(map[string]interface{})
116441				}
116442				mstd.AdditionalProperties[k] = additionalProperties
116443			}
116444		case "description":
116445			if v != nil {
116446				var description string
116447				err = json.Unmarshal(*v, &description)
116448				if err != nil {
116449					return err
116450				}
116451				mstd.Description = &description
116452			}
116453		case "structure":
116454			if v != nil {
116455				var structure interface{}
116456				err = json.Unmarshal(*v, &structure)
116457				if err != nil {
116458					return err
116459				}
116460				mstd.Structure = structure
116461			}
116462		case "schema":
116463			if v != nil {
116464				var schema interface{}
116465				err = json.Unmarshal(*v, &schema)
116466				if err != nil {
116467					return err
116468				}
116469				mstd.Schema = schema
116470			}
116471		case "linkedServiceName":
116472			if v != nil {
116473				var linkedServiceName LinkedServiceReference
116474				err = json.Unmarshal(*v, &linkedServiceName)
116475				if err != nil {
116476					return err
116477				}
116478				mstd.LinkedServiceName = &linkedServiceName
116479			}
116480		case "parameters":
116481			if v != nil {
116482				var parameters map[string]*ParameterSpecification
116483				err = json.Unmarshal(*v, &parameters)
116484				if err != nil {
116485					return err
116486				}
116487				mstd.Parameters = parameters
116488			}
116489		case "annotations":
116490			if v != nil {
116491				var annotations []interface{}
116492				err = json.Unmarshal(*v, &annotations)
116493				if err != nil {
116494					return err
116495				}
116496				mstd.Annotations = &annotations
116497			}
116498		case "folder":
116499			if v != nil {
116500				var folder DatasetFolder
116501				err = json.Unmarshal(*v, &folder)
116502				if err != nil {
116503					return err
116504				}
116505				mstd.Folder = &folder
116506			}
116507		case "type":
116508			if v != nil {
116509				var typeVar TypeBasicDataset
116510				err = json.Unmarshal(*v, &typeVar)
116511				if err != nil {
116512					return err
116513				}
116514				mstd.Type = typeVar
116515			}
116516		}
116517	}
116518
116519	return nil
116520}
116521
116522// MySQLTableDatasetTypeProperties mySql table dataset properties.
116523type MySQLTableDatasetTypeProperties struct {
116524	// TableName - The MySQL table name. Type: string (or Expression with resultType string).
116525	TableName interface{} `json:"tableName,omitempty"`
116526}
116527
116528// NetezzaLinkedService netezza linked service.
116529type NetezzaLinkedService struct {
116530	// NetezzaLinkedServiceTypeProperties - Netezza linked service properties.
116531	*NetezzaLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
116532	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
116533	AdditionalProperties map[string]interface{} `json:""`
116534	// ConnectVia - The integration runtime reference.
116535	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
116536	// Description - Linked service description.
116537	Description *string `json:"description,omitempty"`
116538	// Parameters - Parameters for linked service.
116539	Parameters map[string]*ParameterSpecification `json:"parameters"`
116540	// Annotations - List of tags that can be used for describing the linked service.
116541	Annotations *[]interface{} `json:"annotations,omitempty"`
116542	// Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', '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', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage'
116543	Type TypeBasicLinkedService `json:"type,omitempty"`
116544}
116545
116546// MarshalJSON is the custom marshaler for NetezzaLinkedService.
116547func (nls NetezzaLinkedService) MarshalJSON() ([]byte, error) {
116548	nls.Type = TypeNetezza
116549	objectMap := make(map[string]interface{})
116550	if nls.NetezzaLinkedServiceTypeProperties != nil {
116551		objectMap["typeProperties"] = nls.NetezzaLinkedServiceTypeProperties
116552	}
116553	if nls.ConnectVia != nil {
116554		objectMap["connectVia"] = nls.ConnectVia
116555	}
116556	if nls.Description != nil {
116557		objectMap["description"] = nls.Description
116558	}
116559	if nls.Parameters != nil {
116560		objectMap["parameters"] = nls.Parameters
116561	}
116562	if nls.Annotations != nil {
116563		objectMap["annotations"] = nls.Annotations
116564	}
116565	if nls.Type != "" {
116566		objectMap["type"] = nls.Type
116567	}
116568	for k, v := range nls.AdditionalProperties {
116569		objectMap[k] = v
116570	}
116571	return json.Marshal(objectMap)
116572}
116573
116574// AsAzureFunctionLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
116575func (nls NetezzaLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) {
116576	return nil, false
116577}
116578
116579// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
116580func (nls NetezzaLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) {
116581	return nil, false
116582}
116583
116584// AsSapTableLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
116585func (nls NetezzaLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) {
116586	return nil, false
116587}
116588
116589// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
116590func (nls NetezzaLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) {
116591	return nil, false
116592}
116593
116594// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
116595func (nls NetezzaLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) {
116596	return nil, false
116597}
116598
116599// AsDynamicsAXLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
116600func (nls NetezzaLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) {
116601	return nil, false
116602}
116603
116604// AsResponsysLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
116605func (nls NetezzaLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
116606	return nil, false
116607}
116608
116609// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
116610func (nls NetezzaLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
116611	return nil, false
116612}
116613
116614// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
116615func (nls NetezzaLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
116616	return nil, false
116617}
116618
116619// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
116620func (nls NetezzaLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
116621	return nil, false
116622}
116623
116624// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
116625func (nls NetezzaLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
116626	return nil, false
116627}
116628
116629// AsNetezzaLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
116630func (nls NetezzaLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
116631	return &nls, true
116632}
116633
116634// AsVerticaLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
116635func (nls NetezzaLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
116636	return nil, false
116637}
116638
116639// AsZohoLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
116640func (nls NetezzaLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
116641	return nil, false
116642}
116643
116644// AsXeroLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
116645func (nls NetezzaLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
116646	return nil, false
116647}
116648
116649// AsSquareLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
116650func (nls NetezzaLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
116651	return nil, false
116652}
116653
116654// AsSparkLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
116655func (nls NetezzaLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
116656	return nil, false
116657}
116658
116659// AsShopifyLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
116660func (nls NetezzaLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
116661	return nil, false
116662}
116663
116664// AsServiceNowLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
116665func (nls NetezzaLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
116666	return nil, false
116667}
116668
116669// AsQuickBooksLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
116670func (nls NetezzaLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
116671	return nil, false
116672}
116673
116674// AsPrestoLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
116675func (nls NetezzaLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
116676	return nil, false
116677}
116678
116679// AsPhoenixLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
116680func (nls NetezzaLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
116681	return nil, false
116682}
116683
116684// AsPaypalLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
116685func (nls NetezzaLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
116686	return nil, false
116687}
116688
116689// AsMarketoLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
116690func (nls NetezzaLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
116691	return nil, false
116692}
116693
116694// AsMariaDBLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
116695func (nls NetezzaLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
116696	return nil, false
116697}
116698
116699// AsMagentoLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
116700func (nls NetezzaLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
116701	return nil, false
116702}
116703
116704// AsJiraLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
116705func (nls NetezzaLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
116706	return nil, false
116707}
116708
116709// AsImpalaLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
116710func (nls NetezzaLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
116711	return nil, false
116712}
116713
116714// AsHubspotLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
116715func (nls NetezzaLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
116716	return nil, false
116717}
116718
116719// AsHiveLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
116720func (nls NetezzaLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
116721	return nil, false
116722}
116723
116724// AsHBaseLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
116725func (nls NetezzaLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
116726	return nil, false
116727}
116728
116729// AsGreenplumLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
116730func (nls NetezzaLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
116731	return nil, false
116732}
116733
116734// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
116735func (nls NetezzaLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
116736	return nil, false
116737}
116738
116739// AsEloquaLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
116740func (nls NetezzaLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
116741	return nil, false
116742}
116743
116744// AsDrillLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
116745func (nls NetezzaLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
116746	return nil, false
116747}
116748
116749// AsCouchbaseLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
116750func (nls NetezzaLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
116751	return nil, false
116752}
116753
116754// AsConcurLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
116755func (nls NetezzaLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
116756	return nil, false
116757}
116758
116759// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
116760func (nls NetezzaLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
116761	return nil, false
116762}
116763
116764// AsAmazonMWSLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
116765func (nls NetezzaLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
116766	return nil, false
116767}
116768
116769// AsSapHanaLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
116770func (nls NetezzaLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
116771	return nil, false
116772}
116773
116774// AsSapBWLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
116775func (nls NetezzaLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
116776	return nil, false
116777}
116778
116779// AsSftpServerLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
116780func (nls NetezzaLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
116781	return nil, false
116782}
116783
116784// AsFtpServerLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
116785func (nls NetezzaLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
116786	return nil, false
116787}
116788
116789// AsHTTPLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
116790func (nls NetezzaLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
116791	return nil, false
116792}
116793
116794// AsAzureSearchLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
116795func (nls NetezzaLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
116796	return nil, false
116797}
116798
116799// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
116800func (nls NetezzaLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
116801	return nil, false
116802}
116803
116804// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
116805func (nls NetezzaLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
116806	return nil, false
116807}
116808
116809// AsAmazonS3LinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
116810func (nls NetezzaLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
116811	return nil, false
116812}
116813
116814// AsRestServiceLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
116815func (nls NetezzaLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) {
116816	return nil, false
116817}
116818
116819// AsSapOpenHubLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
116820func (nls NetezzaLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) {
116821	return nil, false
116822}
116823
116824// AsSapEccLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
116825func (nls NetezzaLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
116826	return nil, false
116827}
116828
116829// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
116830func (nls NetezzaLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
116831	return nil, false
116832}
116833
116834// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
116835func (nls NetezzaLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) {
116836	return nil, false
116837}
116838
116839// AsSalesforceLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
116840func (nls NetezzaLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
116841	return nil, false
116842}
116843
116844// AsOffice365LinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
116845func (nls NetezzaLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) {
116846	return nil, false
116847}
116848
116849// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
116850func (nls NetezzaLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) {
116851	return nil, false
116852}
116853
116854// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
116855func (nls NetezzaLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
116856	return nil, false
116857}
116858
116859// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
116860func (nls NetezzaLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) {
116861	return nil, false
116862}
116863
116864// AsMongoDbV2LinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
116865func (nls NetezzaLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) {
116866	return nil, false
116867}
116868
116869// AsMongoDbLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
116870func (nls NetezzaLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
116871	return nil, false
116872}
116873
116874// AsCassandraLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
116875func (nls NetezzaLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
116876	return nil, false
116877}
116878
116879// AsWebLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
116880func (nls NetezzaLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
116881	return nil, false
116882}
116883
116884// AsODataLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
116885func (nls NetezzaLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
116886	return nil, false
116887}
116888
116889// AsHdfsLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
116890func (nls NetezzaLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
116891	return nil, false
116892}
116893
116894// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
116895func (nls NetezzaLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) {
116896	return nil, false
116897}
116898
116899// AsInformixLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
116900func (nls NetezzaLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) {
116901	return nil, false
116902}
116903
116904// AsOdbcLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
116905func (nls NetezzaLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
116906	return nil, false
116907}
116908
116909// AsAzureMLLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
116910func (nls NetezzaLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
116911	return nil, false
116912}
116913
116914// AsTeradataLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
116915func (nls NetezzaLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
116916	return nil, false
116917}
116918
116919// AsDb2LinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
116920func (nls NetezzaLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
116921	return nil, false
116922}
116923
116924// AsSybaseLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
116925func (nls NetezzaLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
116926	return nil, false
116927}
116928
116929// AsPostgreSQLLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
116930func (nls NetezzaLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
116931	return nil, false
116932}
116933
116934// AsMySQLLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
116935func (nls NetezzaLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
116936	return nil, false
116937}
116938
116939// AsAzureMySQLLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
116940func (nls NetezzaLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
116941	return nil, false
116942}
116943
116944// AsOracleLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
116945func (nls NetezzaLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
116946	return nil, false
116947}
116948
116949// AsFileServerLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
116950func (nls NetezzaLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
116951	return nil, false
116952}
116953
116954// AsHDInsightLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
116955func (nls NetezzaLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
116956	return nil, false
116957}
116958
116959// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
116960func (nls NetezzaLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) {
116961	return nil, false
116962}
116963
116964// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
116965func (nls NetezzaLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) {
116966	return nil, false
116967}
116968
116969// AsDynamicsLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
116970func (nls NetezzaLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
116971	return nil, false
116972}
116973
116974// AsCosmosDbLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
116975func (nls NetezzaLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
116976	return nil, false
116977}
116978
116979// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
116980func (nls NetezzaLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
116981	return nil, false
116982}
116983
116984// AsAzureBatchLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
116985func (nls NetezzaLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
116986	return nil, false
116987}
116988
116989// AsAzureSQLMILinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
116990func (nls NetezzaLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) {
116991	return nil, false
116992}
116993
116994// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
116995func (nls NetezzaLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
116996	return nil, false
116997}
116998
116999// AsSQLServerLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
117000func (nls NetezzaLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
117001	return nil, false
117002}
117003
117004// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
117005func (nls NetezzaLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
117006	return nil, false
117007}
117008
117009// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
117010func (nls NetezzaLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) {
117011	return nil, false
117012}
117013
117014// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
117015func (nls NetezzaLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) {
117016	return nil, false
117017}
117018
117019// AsAzureStorageLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
117020func (nls NetezzaLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
117021	return nil, false
117022}
117023
117024// AsLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
117025func (nls NetezzaLinkedService) AsLinkedService() (*LinkedService, bool) {
117026	return nil, false
117027}
117028
117029// AsBasicLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
117030func (nls NetezzaLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
117031	return &nls, true
117032}
117033
117034// UnmarshalJSON is the custom unmarshaler for NetezzaLinkedService struct.
117035func (nls *NetezzaLinkedService) UnmarshalJSON(body []byte) error {
117036	var m map[string]*json.RawMessage
117037	err := json.Unmarshal(body, &m)
117038	if err != nil {
117039		return err
117040	}
117041	for k, v := range m {
117042		switch k {
117043		case "typeProperties":
117044			if v != nil {
117045				var netezzaLinkedServiceTypeProperties NetezzaLinkedServiceTypeProperties
117046				err = json.Unmarshal(*v, &netezzaLinkedServiceTypeProperties)
117047				if err != nil {
117048					return err
117049				}
117050				nls.NetezzaLinkedServiceTypeProperties = &netezzaLinkedServiceTypeProperties
117051			}
117052		default:
117053			if v != nil {
117054				var additionalProperties interface{}
117055				err = json.Unmarshal(*v, &additionalProperties)
117056				if err != nil {
117057					return err
117058				}
117059				if nls.AdditionalProperties == nil {
117060					nls.AdditionalProperties = make(map[string]interface{})
117061				}
117062				nls.AdditionalProperties[k] = additionalProperties
117063			}
117064		case "connectVia":
117065			if v != nil {
117066				var connectVia IntegrationRuntimeReference
117067				err = json.Unmarshal(*v, &connectVia)
117068				if err != nil {
117069					return err
117070				}
117071				nls.ConnectVia = &connectVia
117072			}
117073		case "description":
117074			if v != nil {
117075				var description string
117076				err = json.Unmarshal(*v, &description)
117077				if err != nil {
117078					return err
117079				}
117080				nls.Description = &description
117081			}
117082		case "parameters":
117083			if v != nil {
117084				var parameters map[string]*ParameterSpecification
117085				err = json.Unmarshal(*v, &parameters)
117086				if err != nil {
117087					return err
117088				}
117089				nls.Parameters = parameters
117090			}
117091		case "annotations":
117092			if v != nil {
117093				var annotations []interface{}
117094				err = json.Unmarshal(*v, &annotations)
117095				if err != nil {
117096					return err
117097				}
117098				nls.Annotations = &annotations
117099			}
117100		case "type":
117101			if v != nil {
117102				var typeVar TypeBasicLinkedService
117103				err = json.Unmarshal(*v, &typeVar)
117104				if err != nil {
117105					return err
117106				}
117107				nls.Type = typeVar
117108			}
117109		}
117110	}
117111
117112	return nil
117113}
117114
117115// NetezzaLinkedServiceTypeProperties netezza linked service properties.
117116type NetezzaLinkedServiceTypeProperties struct {
117117	// ConnectionString - An ODBC connection string. Type: string, SecureString or AzureKeyVaultSecretReference.
117118	ConnectionString interface{} `json:"connectionString,omitempty"`
117119	// Pwd - The Azure key vault secret reference of password in connection string.
117120	Pwd *AzureKeyVaultSecretReference `json:"pwd,omitempty"`
117121	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
117122	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
117123}
117124
117125// NetezzaPartitionSettings the settings that will be leveraged for Netezza source partitioning.
117126type NetezzaPartitionSettings struct {
117127	// PartitionColumnName - The name of the column in integer type that will be used for proceeding range partitioning. Type: string (or Expression with resultType string).
117128	PartitionColumnName interface{} `json:"partitionColumnName,omitempty"`
117129	// PartitionUpperBound - The maximum value of column specified in partitionColumnName that will be used for proceeding range partitioning. Type: string (or Expression with resultType string).
117130	PartitionUpperBound interface{} `json:"partitionUpperBound,omitempty"`
117131	// PartitionLowerBound - The minimum value of column specified in partitionColumnName that will be used for proceeding range partitioning. Type: string (or Expression with resultType string).
117132	PartitionLowerBound interface{} `json:"partitionLowerBound,omitempty"`
117133}
117134
117135// NetezzaSource a copy activity Netezza source.
117136type NetezzaSource struct {
117137	// Query - A query to retrieve data from source. Type: string (or Expression with resultType string).
117138	Query interface{} `json:"query,omitempty"`
117139	// PartitionOption - The partition mechanism that will be used for Netezza read in parallel. Possible values include: 'NetezzaPartitionOptionNone', 'NetezzaPartitionOptionDataSlice', 'NetezzaPartitionOptionDynamicRange'
117140	PartitionOption NetezzaPartitionOption `json:"partitionOption,omitempty"`
117141	// PartitionSettings - The settings that will be leveraged for Netezza source partitioning.
117142	PartitionSettings *NetezzaPartitionSettings `json:"partitionSettings,omitempty"`
117143	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
117144	AdditionalProperties map[string]interface{} `json:""`
117145	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
117146	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
117147	// 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])).
117148	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
117149	// MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer).
117150	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
117151	// Type - Possible values include: 'TypeCopySource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', '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', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeCassandraSource', 'TypeWebSource', 'TypeTeradataSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeAzureMySQLSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeRestSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceServiceCloudSource', 'TypeSalesforceSource', 'TypeODataSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeMicrosoftAccessSource', 'TypeInformixSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAzureTableSource', 'TypeBinarySource', 'TypeDelimitedTextSource', 'TypeParquetSource'
117152	Type TypeBasicCopySource `json:"type,omitempty"`
117153}
117154
117155// MarshalJSON is the custom marshaler for NetezzaSource.
117156func (ns NetezzaSource) MarshalJSON() ([]byte, error) {
117157	ns.Type = TypeNetezzaSource
117158	objectMap := make(map[string]interface{})
117159	if ns.Query != nil {
117160		objectMap["query"] = ns.Query
117161	}
117162	if ns.PartitionOption != "" {
117163		objectMap["partitionOption"] = ns.PartitionOption
117164	}
117165	if ns.PartitionSettings != nil {
117166		objectMap["partitionSettings"] = ns.PartitionSettings
117167	}
117168	if ns.SourceRetryCount != nil {
117169		objectMap["sourceRetryCount"] = ns.SourceRetryCount
117170	}
117171	if ns.SourceRetryWait != nil {
117172		objectMap["sourceRetryWait"] = ns.SourceRetryWait
117173	}
117174	if ns.MaxConcurrentConnections != nil {
117175		objectMap["maxConcurrentConnections"] = ns.MaxConcurrentConnections
117176	}
117177	if ns.Type != "" {
117178		objectMap["type"] = ns.Type
117179	}
117180	for k, v := range ns.AdditionalProperties {
117181		objectMap[k] = v
117182	}
117183	return json.Marshal(objectMap)
117184}
117185
117186// AsAmazonRedshiftSource is the BasicCopySource implementation for NetezzaSource.
117187func (ns NetezzaSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
117188	return nil, false
117189}
117190
117191// AsGoogleAdWordsSource is the BasicCopySource implementation for NetezzaSource.
117192func (ns NetezzaSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) {
117193	return nil, false
117194}
117195
117196// AsOracleServiceCloudSource is the BasicCopySource implementation for NetezzaSource.
117197func (ns NetezzaSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) {
117198	return nil, false
117199}
117200
117201// AsDynamicsAXSource is the BasicCopySource implementation for NetezzaSource.
117202func (ns NetezzaSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) {
117203	return nil, false
117204}
117205
117206// AsResponsysSource is the BasicCopySource implementation for NetezzaSource.
117207func (ns NetezzaSource) AsResponsysSource() (*ResponsysSource, bool) {
117208	return nil, false
117209}
117210
117211// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for NetezzaSource.
117212func (ns NetezzaSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
117213	return nil, false
117214}
117215
117216// AsVerticaSource is the BasicCopySource implementation for NetezzaSource.
117217func (ns NetezzaSource) AsVerticaSource() (*VerticaSource, bool) {
117218	return nil, false
117219}
117220
117221// AsNetezzaSource is the BasicCopySource implementation for NetezzaSource.
117222func (ns NetezzaSource) AsNetezzaSource() (*NetezzaSource, bool) {
117223	return &ns, true
117224}
117225
117226// AsZohoSource is the BasicCopySource implementation for NetezzaSource.
117227func (ns NetezzaSource) AsZohoSource() (*ZohoSource, bool) {
117228	return nil, false
117229}
117230
117231// AsXeroSource is the BasicCopySource implementation for NetezzaSource.
117232func (ns NetezzaSource) AsXeroSource() (*XeroSource, bool) {
117233	return nil, false
117234}
117235
117236// AsSquareSource is the BasicCopySource implementation for NetezzaSource.
117237func (ns NetezzaSource) AsSquareSource() (*SquareSource, bool) {
117238	return nil, false
117239}
117240
117241// AsSparkSource is the BasicCopySource implementation for NetezzaSource.
117242func (ns NetezzaSource) AsSparkSource() (*SparkSource, bool) {
117243	return nil, false
117244}
117245
117246// AsShopifySource is the BasicCopySource implementation for NetezzaSource.
117247func (ns NetezzaSource) AsShopifySource() (*ShopifySource, bool) {
117248	return nil, false
117249}
117250
117251// AsServiceNowSource is the BasicCopySource implementation for NetezzaSource.
117252func (ns NetezzaSource) AsServiceNowSource() (*ServiceNowSource, bool) {
117253	return nil, false
117254}
117255
117256// AsQuickBooksSource is the BasicCopySource implementation for NetezzaSource.
117257func (ns NetezzaSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
117258	return nil, false
117259}
117260
117261// AsPrestoSource is the BasicCopySource implementation for NetezzaSource.
117262func (ns NetezzaSource) AsPrestoSource() (*PrestoSource, bool) {
117263	return nil, false
117264}
117265
117266// AsPhoenixSource is the BasicCopySource implementation for NetezzaSource.
117267func (ns NetezzaSource) AsPhoenixSource() (*PhoenixSource, bool) {
117268	return nil, false
117269}
117270
117271// AsPaypalSource is the BasicCopySource implementation for NetezzaSource.
117272func (ns NetezzaSource) AsPaypalSource() (*PaypalSource, bool) {
117273	return nil, false
117274}
117275
117276// AsMarketoSource is the BasicCopySource implementation for NetezzaSource.
117277func (ns NetezzaSource) AsMarketoSource() (*MarketoSource, bool) {
117278	return nil, false
117279}
117280
117281// AsMariaDBSource is the BasicCopySource implementation for NetezzaSource.
117282func (ns NetezzaSource) AsMariaDBSource() (*MariaDBSource, bool) {
117283	return nil, false
117284}
117285
117286// AsMagentoSource is the BasicCopySource implementation for NetezzaSource.
117287func (ns NetezzaSource) AsMagentoSource() (*MagentoSource, bool) {
117288	return nil, false
117289}
117290
117291// AsJiraSource is the BasicCopySource implementation for NetezzaSource.
117292func (ns NetezzaSource) AsJiraSource() (*JiraSource, bool) {
117293	return nil, false
117294}
117295
117296// AsImpalaSource is the BasicCopySource implementation for NetezzaSource.
117297func (ns NetezzaSource) AsImpalaSource() (*ImpalaSource, bool) {
117298	return nil, false
117299}
117300
117301// AsHubspotSource is the BasicCopySource implementation for NetezzaSource.
117302func (ns NetezzaSource) AsHubspotSource() (*HubspotSource, bool) {
117303	return nil, false
117304}
117305
117306// AsHiveSource is the BasicCopySource implementation for NetezzaSource.
117307func (ns NetezzaSource) AsHiveSource() (*HiveSource, bool) {
117308	return nil, false
117309}
117310
117311// AsHBaseSource is the BasicCopySource implementation for NetezzaSource.
117312func (ns NetezzaSource) AsHBaseSource() (*HBaseSource, bool) {
117313	return nil, false
117314}
117315
117316// AsGreenplumSource is the BasicCopySource implementation for NetezzaSource.
117317func (ns NetezzaSource) AsGreenplumSource() (*GreenplumSource, bool) {
117318	return nil, false
117319}
117320
117321// AsGoogleBigQuerySource is the BasicCopySource implementation for NetezzaSource.
117322func (ns NetezzaSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
117323	return nil, false
117324}
117325
117326// AsEloquaSource is the BasicCopySource implementation for NetezzaSource.
117327func (ns NetezzaSource) AsEloquaSource() (*EloquaSource, bool) {
117328	return nil, false
117329}
117330
117331// AsDrillSource is the BasicCopySource implementation for NetezzaSource.
117332func (ns NetezzaSource) AsDrillSource() (*DrillSource, bool) {
117333	return nil, false
117334}
117335
117336// AsCouchbaseSource is the BasicCopySource implementation for NetezzaSource.
117337func (ns NetezzaSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
117338	return nil, false
117339}
117340
117341// AsConcurSource is the BasicCopySource implementation for NetezzaSource.
117342func (ns NetezzaSource) AsConcurSource() (*ConcurSource, bool) {
117343	return nil, false
117344}
117345
117346// AsAzurePostgreSQLSource is the BasicCopySource implementation for NetezzaSource.
117347func (ns NetezzaSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
117348	return nil, false
117349}
117350
117351// AsAmazonMWSSource is the BasicCopySource implementation for NetezzaSource.
117352func (ns NetezzaSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
117353	return nil, false
117354}
117355
117356// AsHTTPSource is the BasicCopySource implementation for NetezzaSource.
117357func (ns NetezzaSource) AsHTTPSource() (*HTTPSource, bool) {
117358	return nil, false
117359}
117360
117361// AsAzureBlobFSSource is the BasicCopySource implementation for NetezzaSource.
117362func (ns NetezzaSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) {
117363	return nil, false
117364}
117365
117366// AsAzureDataLakeStoreSource is the BasicCopySource implementation for NetezzaSource.
117367func (ns NetezzaSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
117368	return nil, false
117369}
117370
117371// AsOffice365Source is the BasicCopySource implementation for NetezzaSource.
117372func (ns NetezzaSource) AsOffice365Source() (*Office365Source, bool) {
117373	return nil, false
117374}
117375
117376// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for NetezzaSource.
117377func (ns NetezzaSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) {
117378	return nil, false
117379}
117380
117381// AsMongoDbV2Source is the BasicCopySource implementation for NetezzaSource.
117382func (ns NetezzaSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) {
117383	return nil, false
117384}
117385
117386// AsMongoDbSource is the BasicCopySource implementation for NetezzaSource.
117387func (ns NetezzaSource) AsMongoDbSource() (*MongoDbSource, bool) {
117388	return nil, false
117389}
117390
117391// AsCassandraSource is the BasicCopySource implementation for NetezzaSource.
117392func (ns NetezzaSource) AsCassandraSource() (*CassandraSource, bool) {
117393	return nil, false
117394}
117395
117396// AsWebSource is the BasicCopySource implementation for NetezzaSource.
117397func (ns NetezzaSource) AsWebSource() (*WebSource, bool) {
117398	return nil, false
117399}
117400
117401// AsTeradataSource is the BasicCopySource implementation for NetezzaSource.
117402func (ns NetezzaSource) AsTeradataSource() (*TeradataSource, bool) {
117403	return nil, false
117404}
117405
117406// AsOracleSource is the BasicCopySource implementation for NetezzaSource.
117407func (ns NetezzaSource) AsOracleSource() (*OracleSource, bool) {
117408	return nil, false
117409}
117410
117411// AsAzureDataExplorerSource is the BasicCopySource implementation for NetezzaSource.
117412func (ns NetezzaSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) {
117413	return nil, false
117414}
117415
117416// AsAzureMySQLSource is the BasicCopySource implementation for NetezzaSource.
117417func (ns NetezzaSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
117418	return nil, false
117419}
117420
117421// AsHdfsSource is the BasicCopySource implementation for NetezzaSource.
117422func (ns NetezzaSource) AsHdfsSource() (*HdfsSource, bool) {
117423	return nil, false
117424}
117425
117426// AsFileSystemSource is the BasicCopySource implementation for NetezzaSource.
117427func (ns NetezzaSource) AsFileSystemSource() (*FileSystemSource, bool) {
117428	return nil, false
117429}
117430
117431// AsSQLDWSource is the BasicCopySource implementation for NetezzaSource.
117432func (ns NetezzaSource) AsSQLDWSource() (*SQLDWSource, bool) {
117433	return nil, false
117434}
117435
117436// AsSQLMISource is the BasicCopySource implementation for NetezzaSource.
117437func (ns NetezzaSource) AsSQLMISource() (*SQLMISource, bool) {
117438	return nil, false
117439}
117440
117441// AsAzureSQLSource is the BasicCopySource implementation for NetezzaSource.
117442func (ns NetezzaSource) AsAzureSQLSource() (*AzureSQLSource, bool) {
117443	return nil, false
117444}
117445
117446// AsSQLServerSource is the BasicCopySource implementation for NetezzaSource.
117447func (ns NetezzaSource) AsSQLServerSource() (*SQLServerSource, bool) {
117448	return nil, false
117449}
117450
117451// AsSQLSource is the BasicCopySource implementation for NetezzaSource.
117452func (ns NetezzaSource) AsSQLSource() (*SQLSource, bool) {
117453	return nil, false
117454}
117455
117456// AsRestSource is the BasicCopySource implementation for NetezzaSource.
117457func (ns NetezzaSource) AsRestSource() (*RestSource, bool) {
117458	return nil, false
117459}
117460
117461// AsSapTableSource is the BasicCopySource implementation for NetezzaSource.
117462func (ns NetezzaSource) AsSapTableSource() (*SapTableSource, bool) {
117463	return nil, false
117464}
117465
117466// AsSapOpenHubSource is the BasicCopySource implementation for NetezzaSource.
117467func (ns NetezzaSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) {
117468	return nil, false
117469}
117470
117471// AsSapHanaSource is the BasicCopySource implementation for NetezzaSource.
117472func (ns NetezzaSource) AsSapHanaSource() (*SapHanaSource, bool) {
117473	return nil, false
117474}
117475
117476// AsSapEccSource is the BasicCopySource implementation for NetezzaSource.
117477func (ns NetezzaSource) AsSapEccSource() (*SapEccSource, bool) {
117478	return nil, false
117479}
117480
117481// AsSapCloudForCustomerSource is the BasicCopySource implementation for NetezzaSource.
117482func (ns NetezzaSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
117483	return nil, false
117484}
117485
117486// AsSalesforceServiceCloudSource is the BasicCopySource implementation for NetezzaSource.
117487func (ns NetezzaSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) {
117488	return nil, false
117489}
117490
117491// AsSalesforceSource is the BasicCopySource implementation for NetezzaSource.
117492func (ns NetezzaSource) AsSalesforceSource() (*SalesforceSource, bool) {
117493	return nil, false
117494}
117495
117496// AsODataSource is the BasicCopySource implementation for NetezzaSource.
117497func (ns NetezzaSource) AsODataSource() (*ODataSource, bool) {
117498	return nil, false
117499}
117500
117501// AsSybaseSource is the BasicCopySource implementation for NetezzaSource.
117502func (ns NetezzaSource) AsSybaseSource() (*SybaseSource, bool) {
117503	return nil, false
117504}
117505
117506// AsPostgreSQLSource is the BasicCopySource implementation for NetezzaSource.
117507func (ns NetezzaSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) {
117508	return nil, false
117509}
117510
117511// AsMySQLSource is the BasicCopySource implementation for NetezzaSource.
117512func (ns NetezzaSource) AsMySQLSource() (*MySQLSource, bool) {
117513	return nil, false
117514}
117515
117516// AsOdbcSource is the BasicCopySource implementation for NetezzaSource.
117517func (ns NetezzaSource) AsOdbcSource() (*OdbcSource, bool) {
117518	return nil, false
117519}
117520
117521// AsDb2Source is the BasicCopySource implementation for NetezzaSource.
117522func (ns NetezzaSource) AsDb2Source() (*Db2Source, bool) {
117523	return nil, false
117524}
117525
117526// AsMicrosoftAccessSource is the BasicCopySource implementation for NetezzaSource.
117527func (ns NetezzaSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) {
117528	return nil, false
117529}
117530
117531// AsInformixSource is the BasicCopySource implementation for NetezzaSource.
117532func (ns NetezzaSource) AsInformixSource() (*InformixSource, bool) {
117533	return nil, false
117534}
117535
117536// AsRelationalSource is the BasicCopySource implementation for NetezzaSource.
117537func (ns NetezzaSource) AsRelationalSource() (*RelationalSource, bool) {
117538	return nil, false
117539}
117540
117541// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for NetezzaSource.
117542func (ns NetezzaSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) {
117543	return nil, false
117544}
117545
117546// AsDynamicsCrmSource is the BasicCopySource implementation for NetezzaSource.
117547func (ns NetezzaSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) {
117548	return nil, false
117549}
117550
117551// AsDynamicsSource is the BasicCopySource implementation for NetezzaSource.
117552func (ns NetezzaSource) AsDynamicsSource() (*DynamicsSource, bool) {
117553	return nil, false
117554}
117555
117556// AsDocumentDbCollectionSource is the BasicCopySource implementation for NetezzaSource.
117557func (ns NetezzaSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
117558	return nil, false
117559}
117560
117561// AsBlobSource is the BasicCopySource implementation for NetezzaSource.
117562func (ns NetezzaSource) AsBlobSource() (*BlobSource, bool) {
117563	return nil, false
117564}
117565
117566// AsAzureTableSource is the BasicCopySource implementation for NetezzaSource.
117567func (ns NetezzaSource) AsAzureTableSource() (*AzureTableSource, bool) {
117568	return nil, false
117569}
117570
117571// AsBinarySource is the BasicCopySource implementation for NetezzaSource.
117572func (ns NetezzaSource) AsBinarySource() (*BinarySource, bool) {
117573	return nil, false
117574}
117575
117576// AsDelimitedTextSource is the BasicCopySource implementation for NetezzaSource.
117577func (ns NetezzaSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) {
117578	return nil, false
117579}
117580
117581// AsParquetSource is the BasicCopySource implementation for NetezzaSource.
117582func (ns NetezzaSource) AsParquetSource() (*ParquetSource, bool) {
117583	return nil, false
117584}
117585
117586// AsCopySource is the BasicCopySource implementation for NetezzaSource.
117587func (ns NetezzaSource) AsCopySource() (*CopySource, bool) {
117588	return nil, false
117589}
117590
117591// AsBasicCopySource is the BasicCopySource implementation for NetezzaSource.
117592func (ns NetezzaSource) AsBasicCopySource() (BasicCopySource, bool) {
117593	return &ns, true
117594}
117595
117596// UnmarshalJSON is the custom unmarshaler for NetezzaSource struct.
117597func (ns *NetezzaSource) UnmarshalJSON(body []byte) error {
117598	var m map[string]*json.RawMessage
117599	err := json.Unmarshal(body, &m)
117600	if err != nil {
117601		return err
117602	}
117603	for k, v := range m {
117604		switch k {
117605		case "query":
117606			if v != nil {
117607				var query interface{}
117608				err = json.Unmarshal(*v, &query)
117609				if err != nil {
117610					return err
117611				}
117612				ns.Query = query
117613			}
117614		case "partitionOption":
117615			if v != nil {
117616				var partitionOption NetezzaPartitionOption
117617				err = json.Unmarshal(*v, &partitionOption)
117618				if err != nil {
117619					return err
117620				}
117621				ns.PartitionOption = partitionOption
117622			}
117623		case "partitionSettings":
117624			if v != nil {
117625				var partitionSettings NetezzaPartitionSettings
117626				err = json.Unmarshal(*v, &partitionSettings)
117627				if err != nil {
117628					return err
117629				}
117630				ns.PartitionSettings = &partitionSettings
117631			}
117632		default:
117633			if v != nil {
117634				var additionalProperties interface{}
117635				err = json.Unmarshal(*v, &additionalProperties)
117636				if err != nil {
117637					return err
117638				}
117639				if ns.AdditionalProperties == nil {
117640					ns.AdditionalProperties = make(map[string]interface{})
117641				}
117642				ns.AdditionalProperties[k] = additionalProperties
117643			}
117644		case "sourceRetryCount":
117645			if v != nil {
117646				var sourceRetryCount interface{}
117647				err = json.Unmarshal(*v, &sourceRetryCount)
117648				if err != nil {
117649					return err
117650				}
117651				ns.SourceRetryCount = sourceRetryCount
117652			}
117653		case "sourceRetryWait":
117654			if v != nil {
117655				var sourceRetryWait interface{}
117656				err = json.Unmarshal(*v, &sourceRetryWait)
117657				if err != nil {
117658					return err
117659				}
117660				ns.SourceRetryWait = sourceRetryWait
117661			}
117662		case "maxConcurrentConnections":
117663			if v != nil {
117664				var maxConcurrentConnections interface{}
117665				err = json.Unmarshal(*v, &maxConcurrentConnections)
117666				if err != nil {
117667					return err
117668				}
117669				ns.MaxConcurrentConnections = maxConcurrentConnections
117670			}
117671		case "type":
117672			if v != nil {
117673				var typeVar TypeBasicCopySource
117674				err = json.Unmarshal(*v, &typeVar)
117675				if err != nil {
117676					return err
117677				}
117678				ns.Type = typeVar
117679			}
117680		}
117681	}
117682
117683	return nil
117684}
117685
117686// NetezzaTableDataset netezza dataset.
117687type NetezzaTableDataset struct {
117688	// GenericDatasetTypeProperties - Properties specific to this dataset type.
117689	*GenericDatasetTypeProperties `json:"typeProperties,omitempty"`
117690	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
117691	AdditionalProperties map[string]interface{} `json:""`
117692	// Description - Dataset description.
117693	Description *string `json:"description,omitempty"`
117694	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
117695	Structure interface{} `json:"structure,omitempty"`
117696	// Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement.
117697	Schema interface{} `json:"schema,omitempty"`
117698	// LinkedServiceName - Linked service reference.
117699	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
117700	// Parameters - Parameters for dataset.
117701	Parameters map[string]*ParameterSpecification `json:"parameters"`
117702	// Annotations - List of tags that can be used for describing the Dataset.
117703	Annotations *[]interface{} `json:"annotations,omitempty"`
117704	// Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level.
117705	Folder *DatasetFolder `json:"folder,omitempty"`
117706	// Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', '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', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeDelimitedText', 'TypeParquet', 'TypeAmazonS3Object'
117707	Type TypeBasicDataset `json:"type,omitempty"`
117708}
117709
117710// MarshalJSON is the custom marshaler for NetezzaTableDataset.
117711func (ntd NetezzaTableDataset) MarshalJSON() ([]byte, error) {
117712	ntd.Type = TypeNetezzaTable
117713	objectMap := make(map[string]interface{})
117714	if ntd.GenericDatasetTypeProperties != nil {
117715		objectMap["typeProperties"] = ntd.GenericDatasetTypeProperties
117716	}
117717	if ntd.Description != nil {
117718		objectMap["description"] = ntd.Description
117719	}
117720	if ntd.Structure != nil {
117721		objectMap["structure"] = ntd.Structure
117722	}
117723	if ntd.Schema != nil {
117724		objectMap["schema"] = ntd.Schema
117725	}
117726	if ntd.LinkedServiceName != nil {
117727		objectMap["linkedServiceName"] = ntd.LinkedServiceName
117728	}
117729	if ntd.Parameters != nil {
117730		objectMap["parameters"] = ntd.Parameters
117731	}
117732	if ntd.Annotations != nil {
117733		objectMap["annotations"] = ntd.Annotations
117734	}
117735	if ntd.Folder != nil {
117736		objectMap["folder"] = ntd.Folder
117737	}
117738	if ntd.Type != "" {
117739		objectMap["type"] = ntd.Type
117740	}
117741	for k, v := range ntd.AdditionalProperties {
117742		objectMap[k] = v
117743	}
117744	return json.Marshal(objectMap)
117745}
117746
117747// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for NetezzaTableDataset.
117748func (ntd NetezzaTableDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) {
117749	return nil, false
117750}
117751
117752// AsAzureDataExplorerTableDataset is the BasicDataset implementation for NetezzaTableDataset.
117753func (ntd NetezzaTableDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) {
117754	return nil, false
117755}
117756
117757// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for NetezzaTableDataset.
117758func (ntd NetezzaTableDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) {
117759	return nil, false
117760}
117761
117762// AsDynamicsAXResourceDataset is the BasicDataset implementation for NetezzaTableDataset.
117763func (ntd NetezzaTableDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) {
117764	return nil, false
117765}
117766
117767// AsResponsysObjectDataset is the BasicDataset implementation for NetezzaTableDataset.
117768func (ntd NetezzaTableDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
117769	return nil, false
117770}
117771
117772// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for NetezzaTableDataset.
117773func (ntd NetezzaTableDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
117774	return nil, false
117775}
117776
117777// AsVerticaTableDataset is the BasicDataset implementation for NetezzaTableDataset.
117778func (ntd NetezzaTableDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
117779	return nil, false
117780}
117781
117782// AsNetezzaTableDataset is the BasicDataset implementation for NetezzaTableDataset.
117783func (ntd NetezzaTableDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
117784	return &ntd, true
117785}
117786
117787// AsZohoObjectDataset is the BasicDataset implementation for NetezzaTableDataset.
117788func (ntd NetezzaTableDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
117789	return nil, false
117790}
117791
117792// AsXeroObjectDataset is the BasicDataset implementation for NetezzaTableDataset.
117793func (ntd NetezzaTableDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
117794	return nil, false
117795}
117796
117797// AsSquareObjectDataset is the BasicDataset implementation for NetezzaTableDataset.
117798func (ntd NetezzaTableDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
117799	return nil, false
117800}
117801
117802// AsSparkObjectDataset is the BasicDataset implementation for NetezzaTableDataset.
117803func (ntd NetezzaTableDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
117804	return nil, false
117805}
117806
117807// AsShopifyObjectDataset is the BasicDataset implementation for NetezzaTableDataset.
117808func (ntd NetezzaTableDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
117809	return nil, false
117810}
117811
117812// AsServiceNowObjectDataset is the BasicDataset implementation for NetezzaTableDataset.
117813func (ntd NetezzaTableDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
117814	return nil, false
117815}
117816
117817// AsQuickBooksObjectDataset is the BasicDataset implementation for NetezzaTableDataset.
117818func (ntd NetezzaTableDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
117819	return nil, false
117820}
117821
117822// AsPrestoObjectDataset is the BasicDataset implementation for NetezzaTableDataset.
117823func (ntd NetezzaTableDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
117824	return nil, false
117825}
117826
117827// AsPhoenixObjectDataset is the BasicDataset implementation for NetezzaTableDataset.
117828func (ntd NetezzaTableDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
117829	return nil, false
117830}
117831
117832// AsPaypalObjectDataset is the BasicDataset implementation for NetezzaTableDataset.
117833func (ntd NetezzaTableDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
117834	return nil, false
117835}
117836
117837// AsMarketoObjectDataset is the BasicDataset implementation for NetezzaTableDataset.
117838func (ntd NetezzaTableDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
117839	return nil, false
117840}
117841
117842// AsMariaDBTableDataset is the BasicDataset implementation for NetezzaTableDataset.
117843func (ntd NetezzaTableDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
117844	return nil, false
117845}
117846
117847// AsMagentoObjectDataset is the BasicDataset implementation for NetezzaTableDataset.
117848func (ntd NetezzaTableDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
117849	return nil, false
117850}
117851
117852// AsJiraObjectDataset is the BasicDataset implementation for NetezzaTableDataset.
117853func (ntd NetezzaTableDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
117854	return nil, false
117855}
117856
117857// AsImpalaObjectDataset is the BasicDataset implementation for NetezzaTableDataset.
117858func (ntd NetezzaTableDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
117859	return nil, false
117860}
117861
117862// AsHubspotObjectDataset is the BasicDataset implementation for NetezzaTableDataset.
117863func (ntd NetezzaTableDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
117864	return nil, false
117865}
117866
117867// AsHiveObjectDataset is the BasicDataset implementation for NetezzaTableDataset.
117868func (ntd NetezzaTableDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
117869	return nil, false
117870}
117871
117872// AsHBaseObjectDataset is the BasicDataset implementation for NetezzaTableDataset.
117873func (ntd NetezzaTableDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
117874	return nil, false
117875}
117876
117877// AsGreenplumTableDataset is the BasicDataset implementation for NetezzaTableDataset.
117878func (ntd NetezzaTableDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
117879	return nil, false
117880}
117881
117882// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for NetezzaTableDataset.
117883func (ntd NetezzaTableDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
117884	return nil, false
117885}
117886
117887// AsEloquaObjectDataset is the BasicDataset implementation for NetezzaTableDataset.
117888func (ntd NetezzaTableDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
117889	return nil, false
117890}
117891
117892// AsDrillTableDataset is the BasicDataset implementation for NetezzaTableDataset.
117893func (ntd NetezzaTableDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
117894	return nil, false
117895}
117896
117897// AsCouchbaseTableDataset is the BasicDataset implementation for NetezzaTableDataset.
117898func (ntd NetezzaTableDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
117899	return nil, false
117900}
117901
117902// AsConcurObjectDataset is the BasicDataset implementation for NetezzaTableDataset.
117903func (ntd NetezzaTableDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
117904	return nil, false
117905}
117906
117907// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for NetezzaTableDataset.
117908func (ntd NetezzaTableDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
117909	return nil, false
117910}
117911
117912// AsAmazonMWSObjectDataset is the BasicDataset implementation for NetezzaTableDataset.
117913func (ntd NetezzaTableDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
117914	return nil, false
117915}
117916
117917// AsHTTPDataset is the BasicDataset implementation for NetezzaTableDataset.
117918func (ntd NetezzaTableDataset) AsHTTPDataset() (*HTTPDataset, bool) {
117919	return nil, false
117920}
117921
117922// AsAzureSearchIndexDataset is the BasicDataset implementation for NetezzaTableDataset.
117923func (ntd NetezzaTableDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
117924	return nil, false
117925}
117926
117927// AsWebTableDataset is the BasicDataset implementation for NetezzaTableDataset.
117928func (ntd NetezzaTableDataset) AsWebTableDataset() (*WebTableDataset, bool) {
117929	return nil, false
117930}
117931
117932// AsSapTableResourceDataset is the BasicDataset implementation for NetezzaTableDataset.
117933func (ntd NetezzaTableDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) {
117934	return nil, false
117935}
117936
117937// AsRestResourceDataset is the BasicDataset implementation for NetezzaTableDataset.
117938func (ntd NetezzaTableDataset) AsRestResourceDataset() (*RestResourceDataset, bool) {
117939	return nil, false
117940}
117941
117942// AsSQLServerTableDataset is the BasicDataset implementation for NetezzaTableDataset.
117943func (ntd NetezzaTableDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
117944	return nil, false
117945}
117946
117947// AsSapOpenHubTableDataset is the BasicDataset implementation for NetezzaTableDataset.
117948func (ntd NetezzaTableDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) {
117949	return nil, false
117950}
117951
117952// AsSapHanaTableDataset is the BasicDataset implementation for NetezzaTableDataset.
117953func (ntd NetezzaTableDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) {
117954	return nil, false
117955}
117956
117957// AsSapEccResourceDataset is the BasicDataset implementation for NetezzaTableDataset.
117958func (ntd NetezzaTableDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
117959	return nil, false
117960}
117961
117962// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for NetezzaTableDataset.
117963func (ntd NetezzaTableDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
117964	return nil, false
117965}
117966
117967// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for NetezzaTableDataset.
117968func (ntd NetezzaTableDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) {
117969	return nil, false
117970}
117971
117972// AsSalesforceObjectDataset is the BasicDataset implementation for NetezzaTableDataset.
117973func (ntd NetezzaTableDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
117974	return nil, false
117975}
117976
117977// AsMicrosoftAccessTableDataset is the BasicDataset implementation for NetezzaTableDataset.
117978func (ntd NetezzaTableDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) {
117979	return nil, false
117980}
117981
117982// AsPostgreSQLTableDataset is the BasicDataset implementation for NetezzaTableDataset.
117983func (ntd NetezzaTableDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) {
117984	return nil, false
117985}
117986
117987// AsMySQLTableDataset is the BasicDataset implementation for NetezzaTableDataset.
117988func (ntd NetezzaTableDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) {
117989	return nil, false
117990}
117991
117992// AsOdbcTableDataset is the BasicDataset implementation for NetezzaTableDataset.
117993func (ntd NetezzaTableDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) {
117994	return nil, false
117995}
117996
117997// AsInformixTableDataset is the BasicDataset implementation for NetezzaTableDataset.
117998func (ntd NetezzaTableDataset) AsInformixTableDataset() (*InformixTableDataset, bool) {
117999	return nil, false
118000}
118001
118002// AsRelationalTableDataset is the BasicDataset implementation for NetezzaTableDataset.
118003func (ntd NetezzaTableDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
118004	return nil, false
118005}
118006
118007// AsAzureMySQLTableDataset is the BasicDataset implementation for NetezzaTableDataset.
118008func (ntd NetezzaTableDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
118009	return nil, false
118010}
118011
118012// AsTeradataTableDataset is the BasicDataset implementation for NetezzaTableDataset.
118013func (ntd NetezzaTableDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) {
118014	return nil, false
118015}
118016
118017// AsOracleTableDataset is the BasicDataset implementation for NetezzaTableDataset.
118018func (ntd NetezzaTableDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
118019	return nil, false
118020}
118021
118022// AsODataResourceDataset is the BasicDataset implementation for NetezzaTableDataset.
118023func (ntd NetezzaTableDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
118024	return nil, false
118025}
118026
118027// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for NetezzaTableDataset.
118028func (ntd NetezzaTableDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) {
118029	return nil, false
118030}
118031
118032// AsMongoDbV2CollectionDataset is the BasicDataset implementation for NetezzaTableDataset.
118033func (ntd NetezzaTableDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) {
118034	return nil, false
118035}
118036
118037// AsMongoDbCollectionDataset is the BasicDataset implementation for NetezzaTableDataset.
118038func (ntd NetezzaTableDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
118039	return nil, false
118040}
118041
118042// AsFileShareDataset is the BasicDataset implementation for NetezzaTableDataset.
118043func (ntd NetezzaTableDataset) AsFileShareDataset() (*FileShareDataset, bool) {
118044	return nil, false
118045}
118046
118047// AsOffice365Dataset is the BasicDataset implementation for NetezzaTableDataset.
118048func (ntd NetezzaTableDataset) AsOffice365Dataset() (*Office365Dataset, bool) {
118049	return nil, false
118050}
118051
118052// AsAzureBlobFSDataset is the BasicDataset implementation for NetezzaTableDataset.
118053func (ntd NetezzaTableDataset) AsAzureBlobFSDataset() (*AzureBlobFSDataset, bool) {
118054	return nil, false
118055}
118056
118057// AsAzureDataLakeStoreDataset is the BasicDataset implementation for NetezzaTableDataset.
118058func (ntd NetezzaTableDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) {
118059	return nil, false
118060}
118061
118062// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for NetezzaTableDataset.
118063func (ntd NetezzaTableDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) {
118064	return nil, false
118065}
118066
118067// AsDynamicsCrmEntityDataset is the BasicDataset implementation for NetezzaTableDataset.
118068func (ntd NetezzaTableDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) {
118069	return nil, false
118070}
118071
118072// AsDynamicsEntityDataset is the BasicDataset implementation for NetezzaTableDataset.
118073func (ntd NetezzaTableDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
118074	return nil, false
118075}
118076
118077// AsDocumentDbCollectionDataset is the BasicDataset implementation for NetezzaTableDataset.
118078func (ntd NetezzaTableDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
118079	return nil, false
118080}
118081
118082// AsCustomDataset is the BasicDataset implementation for NetezzaTableDataset.
118083func (ntd NetezzaTableDataset) AsCustomDataset() (*CustomDataset, bool) {
118084	return nil, false
118085}
118086
118087// AsCassandraTableDataset is the BasicDataset implementation for NetezzaTableDataset.
118088func (ntd NetezzaTableDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
118089	return nil, false
118090}
118091
118092// AsAzureSQLDWTableDataset is the BasicDataset implementation for NetezzaTableDataset.
118093func (ntd NetezzaTableDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
118094	return nil, false
118095}
118096
118097// AsAzureSQLMITableDataset is the BasicDataset implementation for NetezzaTableDataset.
118098func (ntd NetezzaTableDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) {
118099	return nil, false
118100}
118101
118102// AsAzureSQLTableDataset is the BasicDataset implementation for NetezzaTableDataset.
118103func (ntd NetezzaTableDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
118104	return nil, false
118105}
118106
118107// AsAzureTableDataset is the BasicDataset implementation for NetezzaTableDataset.
118108func (ntd NetezzaTableDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
118109	return nil, false
118110}
118111
118112// AsAzureBlobDataset is the BasicDataset implementation for NetezzaTableDataset.
118113func (ntd NetezzaTableDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) {
118114	return nil, false
118115}
118116
118117// AsBinaryDataset is the BasicDataset implementation for NetezzaTableDataset.
118118func (ntd NetezzaTableDataset) AsBinaryDataset() (*BinaryDataset, bool) {
118119	return nil, false
118120}
118121
118122// AsDelimitedTextDataset is the BasicDataset implementation for NetezzaTableDataset.
118123func (ntd NetezzaTableDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) {
118124	return nil, false
118125}
118126
118127// AsParquetDataset is the BasicDataset implementation for NetezzaTableDataset.
118128func (ntd NetezzaTableDataset) AsParquetDataset() (*ParquetDataset, bool) {
118129	return nil, false
118130}
118131
118132// AsAmazonS3Dataset is the BasicDataset implementation for NetezzaTableDataset.
118133func (ntd NetezzaTableDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) {
118134	return nil, false
118135}
118136
118137// AsDataset is the BasicDataset implementation for NetezzaTableDataset.
118138func (ntd NetezzaTableDataset) AsDataset() (*Dataset, bool) {
118139	return nil, false
118140}
118141
118142// AsBasicDataset is the BasicDataset implementation for NetezzaTableDataset.
118143func (ntd NetezzaTableDataset) AsBasicDataset() (BasicDataset, bool) {
118144	return &ntd, true
118145}
118146
118147// UnmarshalJSON is the custom unmarshaler for NetezzaTableDataset struct.
118148func (ntd *NetezzaTableDataset) UnmarshalJSON(body []byte) error {
118149	var m map[string]*json.RawMessage
118150	err := json.Unmarshal(body, &m)
118151	if err != nil {
118152		return err
118153	}
118154	for k, v := range m {
118155		switch k {
118156		case "typeProperties":
118157			if v != nil {
118158				var genericDatasetTypeProperties GenericDatasetTypeProperties
118159				err = json.Unmarshal(*v, &genericDatasetTypeProperties)
118160				if err != nil {
118161					return err
118162				}
118163				ntd.GenericDatasetTypeProperties = &genericDatasetTypeProperties
118164			}
118165		default:
118166			if v != nil {
118167				var additionalProperties interface{}
118168				err = json.Unmarshal(*v, &additionalProperties)
118169				if err != nil {
118170					return err
118171				}
118172				if ntd.AdditionalProperties == nil {
118173					ntd.AdditionalProperties = make(map[string]interface{})
118174				}
118175				ntd.AdditionalProperties[k] = additionalProperties
118176			}
118177		case "description":
118178			if v != nil {
118179				var description string
118180				err = json.Unmarshal(*v, &description)
118181				if err != nil {
118182					return err
118183				}
118184				ntd.Description = &description
118185			}
118186		case "structure":
118187			if v != nil {
118188				var structure interface{}
118189				err = json.Unmarshal(*v, &structure)
118190				if err != nil {
118191					return err
118192				}
118193				ntd.Structure = structure
118194			}
118195		case "schema":
118196			if v != nil {
118197				var schema interface{}
118198				err = json.Unmarshal(*v, &schema)
118199				if err != nil {
118200					return err
118201				}
118202				ntd.Schema = schema
118203			}
118204		case "linkedServiceName":
118205			if v != nil {
118206				var linkedServiceName LinkedServiceReference
118207				err = json.Unmarshal(*v, &linkedServiceName)
118208				if err != nil {
118209					return err
118210				}
118211				ntd.LinkedServiceName = &linkedServiceName
118212			}
118213		case "parameters":
118214			if v != nil {
118215				var parameters map[string]*ParameterSpecification
118216				err = json.Unmarshal(*v, &parameters)
118217				if err != nil {
118218					return err
118219				}
118220				ntd.Parameters = parameters
118221			}
118222		case "annotations":
118223			if v != nil {
118224				var annotations []interface{}
118225				err = json.Unmarshal(*v, &annotations)
118226				if err != nil {
118227					return err
118228				}
118229				ntd.Annotations = &annotations
118230			}
118231		case "folder":
118232			if v != nil {
118233				var folder DatasetFolder
118234				err = json.Unmarshal(*v, &folder)
118235				if err != nil {
118236					return err
118237				}
118238				ntd.Folder = &folder
118239			}
118240		case "type":
118241			if v != nil {
118242				var typeVar TypeBasicDataset
118243				err = json.Unmarshal(*v, &typeVar)
118244				if err != nil {
118245					return err
118246				}
118247				ntd.Type = typeVar
118248			}
118249		}
118250	}
118251
118252	return nil
118253}
118254
118255// ODataLinkedService open Data Protocol (OData) linked service.
118256type ODataLinkedService struct {
118257	// ODataLinkedServiceTypeProperties - OData linked service properties.
118258	*ODataLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
118259	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
118260	AdditionalProperties map[string]interface{} `json:""`
118261	// ConnectVia - The integration runtime reference.
118262	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
118263	// Description - Linked service description.
118264	Description *string `json:"description,omitempty"`
118265	// Parameters - Parameters for linked service.
118266	Parameters map[string]*ParameterSpecification `json:"parameters"`
118267	// Annotations - List of tags that can be used for describing the linked service.
118268	Annotations *[]interface{} `json:"annotations,omitempty"`
118269	// Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', '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', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage'
118270	Type TypeBasicLinkedService `json:"type,omitempty"`
118271}
118272
118273// MarshalJSON is the custom marshaler for ODataLinkedService.
118274func (odls ODataLinkedService) MarshalJSON() ([]byte, error) {
118275	odls.Type = TypeOData
118276	objectMap := make(map[string]interface{})
118277	if odls.ODataLinkedServiceTypeProperties != nil {
118278		objectMap["typeProperties"] = odls.ODataLinkedServiceTypeProperties
118279	}
118280	if odls.ConnectVia != nil {
118281		objectMap["connectVia"] = odls.ConnectVia
118282	}
118283	if odls.Description != nil {
118284		objectMap["description"] = odls.Description
118285	}
118286	if odls.Parameters != nil {
118287		objectMap["parameters"] = odls.Parameters
118288	}
118289	if odls.Annotations != nil {
118290		objectMap["annotations"] = odls.Annotations
118291	}
118292	if odls.Type != "" {
118293		objectMap["type"] = odls.Type
118294	}
118295	for k, v := range odls.AdditionalProperties {
118296		objectMap[k] = v
118297	}
118298	return json.Marshal(objectMap)
118299}
118300
118301// AsAzureFunctionLinkedService is the BasicLinkedService implementation for ODataLinkedService.
118302func (odls ODataLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) {
118303	return nil, false
118304}
118305
118306// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for ODataLinkedService.
118307func (odls ODataLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) {
118308	return nil, false
118309}
118310
118311// AsSapTableLinkedService is the BasicLinkedService implementation for ODataLinkedService.
118312func (odls ODataLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) {
118313	return nil, false
118314}
118315
118316// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for ODataLinkedService.
118317func (odls ODataLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) {
118318	return nil, false
118319}
118320
118321// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for ODataLinkedService.
118322func (odls ODataLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) {
118323	return nil, false
118324}
118325
118326// AsDynamicsAXLinkedService is the BasicLinkedService implementation for ODataLinkedService.
118327func (odls ODataLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) {
118328	return nil, false
118329}
118330
118331// AsResponsysLinkedService is the BasicLinkedService implementation for ODataLinkedService.
118332func (odls ODataLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
118333	return nil, false
118334}
118335
118336// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for ODataLinkedService.
118337func (odls ODataLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
118338	return nil, false
118339}
118340
118341// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for ODataLinkedService.
118342func (odls ODataLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
118343	return nil, false
118344}
118345
118346// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for ODataLinkedService.
118347func (odls ODataLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
118348	return nil, false
118349}
118350
118351// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for ODataLinkedService.
118352func (odls ODataLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
118353	return nil, false
118354}
118355
118356// AsNetezzaLinkedService is the BasicLinkedService implementation for ODataLinkedService.
118357func (odls ODataLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
118358	return nil, false
118359}
118360
118361// AsVerticaLinkedService is the BasicLinkedService implementation for ODataLinkedService.
118362func (odls ODataLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
118363	return nil, false
118364}
118365
118366// AsZohoLinkedService is the BasicLinkedService implementation for ODataLinkedService.
118367func (odls ODataLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
118368	return nil, false
118369}
118370
118371// AsXeroLinkedService is the BasicLinkedService implementation for ODataLinkedService.
118372func (odls ODataLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
118373	return nil, false
118374}
118375
118376// AsSquareLinkedService is the BasicLinkedService implementation for ODataLinkedService.
118377func (odls ODataLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
118378	return nil, false
118379}
118380
118381// AsSparkLinkedService is the BasicLinkedService implementation for ODataLinkedService.
118382func (odls ODataLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
118383	return nil, false
118384}
118385
118386// AsShopifyLinkedService is the BasicLinkedService implementation for ODataLinkedService.
118387func (odls ODataLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
118388	return nil, false
118389}
118390
118391// AsServiceNowLinkedService is the BasicLinkedService implementation for ODataLinkedService.
118392func (odls ODataLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
118393	return nil, false
118394}
118395
118396// AsQuickBooksLinkedService is the BasicLinkedService implementation for ODataLinkedService.
118397func (odls ODataLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
118398	return nil, false
118399}
118400
118401// AsPrestoLinkedService is the BasicLinkedService implementation for ODataLinkedService.
118402func (odls ODataLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
118403	return nil, false
118404}
118405
118406// AsPhoenixLinkedService is the BasicLinkedService implementation for ODataLinkedService.
118407func (odls ODataLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
118408	return nil, false
118409}
118410
118411// AsPaypalLinkedService is the BasicLinkedService implementation for ODataLinkedService.
118412func (odls ODataLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
118413	return nil, false
118414}
118415
118416// AsMarketoLinkedService is the BasicLinkedService implementation for ODataLinkedService.
118417func (odls ODataLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
118418	return nil, false
118419}
118420
118421// AsMariaDBLinkedService is the BasicLinkedService implementation for ODataLinkedService.
118422func (odls ODataLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
118423	return nil, false
118424}
118425
118426// AsMagentoLinkedService is the BasicLinkedService implementation for ODataLinkedService.
118427func (odls ODataLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
118428	return nil, false
118429}
118430
118431// AsJiraLinkedService is the BasicLinkedService implementation for ODataLinkedService.
118432func (odls ODataLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
118433	return nil, false
118434}
118435
118436// AsImpalaLinkedService is the BasicLinkedService implementation for ODataLinkedService.
118437func (odls ODataLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
118438	return nil, false
118439}
118440
118441// AsHubspotLinkedService is the BasicLinkedService implementation for ODataLinkedService.
118442func (odls ODataLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
118443	return nil, false
118444}
118445
118446// AsHiveLinkedService is the BasicLinkedService implementation for ODataLinkedService.
118447func (odls ODataLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
118448	return nil, false
118449}
118450
118451// AsHBaseLinkedService is the BasicLinkedService implementation for ODataLinkedService.
118452func (odls ODataLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
118453	return nil, false
118454}
118455
118456// AsGreenplumLinkedService is the BasicLinkedService implementation for ODataLinkedService.
118457func (odls ODataLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
118458	return nil, false
118459}
118460
118461// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for ODataLinkedService.
118462func (odls ODataLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
118463	return nil, false
118464}
118465
118466// AsEloquaLinkedService is the BasicLinkedService implementation for ODataLinkedService.
118467func (odls ODataLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
118468	return nil, false
118469}
118470
118471// AsDrillLinkedService is the BasicLinkedService implementation for ODataLinkedService.
118472func (odls ODataLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
118473	return nil, false
118474}
118475
118476// AsCouchbaseLinkedService is the BasicLinkedService implementation for ODataLinkedService.
118477func (odls ODataLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
118478	return nil, false
118479}
118480
118481// AsConcurLinkedService is the BasicLinkedService implementation for ODataLinkedService.
118482func (odls ODataLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
118483	return nil, false
118484}
118485
118486// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for ODataLinkedService.
118487func (odls ODataLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
118488	return nil, false
118489}
118490
118491// AsAmazonMWSLinkedService is the BasicLinkedService implementation for ODataLinkedService.
118492func (odls ODataLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
118493	return nil, false
118494}
118495
118496// AsSapHanaLinkedService is the BasicLinkedService implementation for ODataLinkedService.
118497func (odls ODataLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
118498	return nil, false
118499}
118500
118501// AsSapBWLinkedService is the BasicLinkedService implementation for ODataLinkedService.
118502func (odls ODataLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
118503	return nil, false
118504}
118505
118506// AsSftpServerLinkedService is the BasicLinkedService implementation for ODataLinkedService.
118507func (odls ODataLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
118508	return nil, false
118509}
118510
118511// AsFtpServerLinkedService is the BasicLinkedService implementation for ODataLinkedService.
118512func (odls ODataLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
118513	return nil, false
118514}
118515
118516// AsHTTPLinkedService is the BasicLinkedService implementation for ODataLinkedService.
118517func (odls ODataLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
118518	return nil, false
118519}
118520
118521// AsAzureSearchLinkedService is the BasicLinkedService implementation for ODataLinkedService.
118522func (odls ODataLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
118523	return nil, false
118524}
118525
118526// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for ODataLinkedService.
118527func (odls ODataLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
118528	return nil, false
118529}
118530
118531// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for ODataLinkedService.
118532func (odls ODataLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
118533	return nil, false
118534}
118535
118536// AsAmazonS3LinkedService is the BasicLinkedService implementation for ODataLinkedService.
118537func (odls ODataLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
118538	return nil, false
118539}
118540
118541// AsRestServiceLinkedService is the BasicLinkedService implementation for ODataLinkedService.
118542func (odls ODataLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) {
118543	return nil, false
118544}
118545
118546// AsSapOpenHubLinkedService is the BasicLinkedService implementation for ODataLinkedService.
118547func (odls ODataLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) {
118548	return nil, false
118549}
118550
118551// AsSapEccLinkedService is the BasicLinkedService implementation for ODataLinkedService.
118552func (odls ODataLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
118553	return nil, false
118554}
118555
118556// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for ODataLinkedService.
118557func (odls ODataLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
118558	return nil, false
118559}
118560
118561// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for ODataLinkedService.
118562func (odls ODataLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) {
118563	return nil, false
118564}
118565
118566// AsSalesforceLinkedService is the BasicLinkedService implementation for ODataLinkedService.
118567func (odls ODataLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
118568	return nil, false
118569}
118570
118571// AsOffice365LinkedService is the BasicLinkedService implementation for ODataLinkedService.
118572func (odls ODataLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) {
118573	return nil, false
118574}
118575
118576// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for ODataLinkedService.
118577func (odls ODataLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) {
118578	return nil, false
118579}
118580
118581// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for ODataLinkedService.
118582func (odls ODataLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
118583	return nil, false
118584}
118585
118586// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for ODataLinkedService.
118587func (odls ODataLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) {
118588	return nil, false
118589}
118590
118591// AsMongoDbV2LinkedService is the BasicLinkedService implementation for ODataLinkedService.
118592func (odls ODataLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) {
118593	return nil, false
118594}
118595
118596// AsMongoDbLinkedService is the BasicLinkedService implementation for ODataLinkedService.
118597func (odls ODataLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
118598	return nil, false
118599}
118600
118601// AsCassandraLinkedService is the BasicLinkedService implementation for ODataLinkedService.
118602func (odls ODataLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
118603	return nil, false
118604}
118605
118606// AsWebLinkedService is the BasicLinkedService implementation for ODataLinkedService.
118607func (odls ODataLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
118608	return nil, false
118609}
118610
118611// AsODataLinkedService is the BasicLinkedService implementation for ODataLinkedService.
118612func (odls ODataLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
118613	return &odls, true
118614}
118615
118616// AsHdfsLinkedService is the BasicLinkedService implementation for ODataLinkedService.
118617func (odls ODataLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
118618	return nil, false
118619}
118620
118621// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for ODataLinkedService.
118622func (odls ODataLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) {
118623	return nil, false
118624}
118625
118626// AsInformixLinkedService is the BasicLinkedService implementation for ODataLinkedService.
118627func (odls ODataLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) {
118628	return nil, false
118629}
118630
118631// AsOdbcLinkedService is the BasicLinkedService implementation for ODataLinkedService.
118632func (odls ODataLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
118633	return nil, false
118634}
118635
118636// AsAzureMLLinkedService is the BasicLinkedService implementation for ODataLinkedService.
118637func (odls ODataLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
118638	return nil, false
118639}
118640
118641// AsTeradataLinkedService is the BasicLinkedService implementation for ODataLinkedService.
118642func (odls ODataLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
118643	return nil, false
118644}
118645
118646// AsDb2LinkedService is the BasicLinkedService implementation for ODataLinkedService.
118647func (odls ODataLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
118648	return nil, false
118649}
118650
118651// AsSybaseLinkedService is the BasicLinkedService implementation for ODataLinkedService.
118652func (odls ODataLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
118653	return nil, false
118654}
118655
118656// AsPostgreSQLLinkedService is the BasicLinkedService implementation for ODataLinkedService.
118657func (odls ODataLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
118658	return nil, false
118659}
118660
118661// AsMySQLLinkedService is the BasicLinkedService implementation for ODataLinkedService.
118662func (odls ODataLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
118663	return nil, false
118664}
118665
118666// AsAzureMySQLLinkedService is the BasicLinkedService implementation for ODataLinkedService.
118667func (odls ODataLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
118668	return nil, false
118669}
118670
118671// AsOracleLinkedService is the BasicLinkedService implementation for ODataLinkedService.
118672func (odls ODataLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
118673	return nil, false
118674}
118675
118676// AsFileServerLinkedService is the BasicLinkedService implementation for ODataLinkedService.
118677func (odls ODataLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
118678	return nil, false
118679}
118680
118681// AsHDInsightLinkedService is the BasicLinkedService implementation for ODataLinkedService.
118682func (odls ODataLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
118683	return nil, false
118684}
118685
118686// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for ODataLinkedService.
118687func (odls ODataLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) {
118688	return nil, false
118689}
118690
118691// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for ODataLinkedService.
118692func (odls ODataLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) {
118693	return nil, false
118694}
118695
118696// AsDynamicsLinkedService is the BasicLinkedService implementation for ODataLinkedService.
118697func (odls ODataLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
118698	return nil, false
118699}
118700
118701// AsCosmosDbLinkedService is the BasicLinkedService implementation for ODataLinkedService.
118702func (odls ODataLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
118703	return nil, false
118704}
118705
118706// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for ODataLinkedService.
118707func (odls ODataLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
118708	return nil, false
118709}
118710
118711// AsAzureBatchLinkedService is the BasicLinkedService implementation for ODataLinkedService.
118712func (odls ODataLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
118713	return nil, false
118714}
118715
118716// AsAzureSQLMILinkedService is the BasicLinkedService implementation for ODataLinkedService.
118717func (odls ODataLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) {
118718	return nil, false
118719}
118720
118721// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for ODataLinkedService.
118722func (odls ODataLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
118723	return nil, false
118724}
118725
118726// AsSQLServerLinkedService is the BasicLinkedService implementation for ODataLinkedService.
118727func (odls ODataLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
118728	return nil, false
118729}
118730
118731// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for ODataLinkedService.
118732func (odls ODataLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
118733	return nil, false
118734}
118735
118736// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for ODataLinkedService.
118737func (odls ODataLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) {
118738	return nil, false
118739}
118740
118741// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for ODataLinkedService.
118742func (odls ODataLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) {
118743	return nil, false
118744}
118745
118746// AsAzureStorageLinkedService is the BasicLinkedService implementation for ODataLinkedService.
118747func (odls ODataLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
118748	return nil, false
118749}
118750
118751// AsLinkedService is the BasicLinkedService implementation for ODataLinkedService.
118752func (odls ODataLinkedService) AsLinkedService() (*LinkedService, bool) {
118753	return nil, false
118754}
118755
118756// AsBasicLinkedService is the BasicLinkedService implementation for ODataLinkedService.
118757func (odls ODataLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
118758	return &odls, true
118759}
118760
118761// UnmarshalJSON is the custom unmarshaler for ODataLinkedService struct.
118762func (odls *ODataLinkedService) UnmarshalJSON(body []byte) error {
118763	var m map[string]*json.RawMessage
118764	err := json.Unmarshal(body, &m)
118765	if err != nil {
118766		return err
118767	}
118768	for k, v := range m {
118769		switch k {
118770		case "typeProperties":
118771			if v != nil {
118772				var oDataLinkedServiceTypeProperties ODataLinkedServiceTypeProperties
118773				err = json.Unmarshal(*v, &oDataLinkedServiceTypeProperties)
118774				if err != nil {
118775					return err
118776				}
118777				odls.ODataLinkedServiceTypeProperties = &oDataLinkedServiceTypeProperties
118778			}
118779		default:
118780			if v != nil {
118781				var additionalProperties interface{}
118782				err = json.Unmarshal(*v, &additionalProperties)
118783				if err != nil {
118784					return err
118785				}
118786				if odls.AdditionalProperties == nil {
118787					odls.AdditionalProperties = make(map[string]interface{})
118788				}
118789				odls.AdditionalProperties[k] = additionalProperties
118790			}
118791		case "connectVia":
118792			if v != nil {
118793				var connectVia IntegrationRuntimeReference
118794				err = json.Unmarshal(*v, &connectVia)
118795				if err != nil {
118796					return err
118797				}
118798				odls.ConnectVia = &connectVia
118799			}
118800		case "description":
118801			if v != nil {
118802				var description string
118803				err = json.Unmarshal(*v, &description)
118804				if err != nil {
118805					return err
118806				}
118807				odls.Description = &description
118808			}
118809		case "parameters":
118810			if v != nil {
118811				var parameters map[string]*ParameterSpecification
118812				err = json.Unmarshal(*v, &parameters)
118813				if err != nil {
118814					return err
118815				}
118816				odls.Parameters = parameters
118817			}
118818		case "annotations":
118819			if v != nil {
118820				var annotations []interface{}
118821				err = json.Unmarshal(*v, &annotations)
118822				if err != nil {
118823					return err
118824				}
118825				odls.Annotations = &annotations
118826			}
118827		case "type":
118828			if v != nil {
118829				var typeVar TypeBasicLinkedService
118830				err = json.Unmarshal(*v, &typeVar)
118831				if err != nil {
118832					return err
118833				}
118834				odls.Type = typeVar
118835			}
118836		}
118837	}
118838
118839	return nil
118840}
118841
118842// ODataLinkedServiceTypeProperties oData linked service properties.
118843type ODataLinkedServiceTypeProperties struct {
118844	// URL - The URL of the OData service endpoint. Type: string (or Expression with resultType string).
118845	URL interface{} `json:"url,omitempty"`
118846	// AuthenticationType - Type of authentication used to connect to the OData service. Possible values include: 'ODataAuthenticationTypeBasic', 'ODataAuthenticationTypeAnonymous', 'ODataAuthenticationTypeWindows', 'ODataAuthenticationTypeAadServicePrincipal', 'ODataAuthenticationTypeManagedServiceIdentity'
118847	AuthenticationType ODataAuthenticationType `json:"authenticationType,omitempty"`
118848	// UserName - User name of the OData service. Type: string (or Expression with resultType string).
118849	UserName interface{} `json:"userName,omitempty"`
118850	// Password - Password of the OData service.
118851	Password BasicSecretBase `json:"password,omitempty"`
118852	// Tenant - Specify the tenant information (domain name or tenant ID) under which your application resides. Type: string (or Expression with resultType string).
118853	Tenant interface{} `json:"tenant,omitempty"`
118854	// ServicePrincipalID - Specify the application id of your application registered in Azure Active Directory. Type: string (or Expression with resultType string).
118855	ServicePrincipalID interface{} `json:"servicePrincipalId,omitempty"`
118856	// AadResourceID - Specify the resource you are requesting authorization to use Directory. Type: string (or Expression with resultType string).
118857	AadResourceID interface{} `json:"aadResourceId,omitempty"`
118858	// AadServicePrincipalCredentialType - Specify the credential type (key or cert) is used for service principal. Possible values include: 'ServicePrincipalKey', 'ServicePrincipalCert'
118859	AadServicePrincipalCredentialType ODataAadServicePrincipalCredentialType `json:"aadServicePrincipalCredentialType,omitempty"`
118860	// ServicePrincipalKey - Specify the secret of your application registered in Azure Active Directory. Type: string (or Expression with resultType string).
118861	ServicePrincipalKey BasicSecretBase `json:"servicePrincipalKey,omitempty"`
118862	// ServicePrincipalEmbeddedCert - Specify the base64 encoded certificate of your application registered in Azure Active Directory. Type: string (or Expression with resultType string).
118863	ServicePrincipalEmbeddedCert BasicSecretBase `json:"servicePrincipalEmbeddedCert,omitempty"`
118864	// ServicePrincipalEmbeddedCertPassword - Specify the password of your certificate if your certificate has a password and you are using AadServicePrincipal authentication. Type: string (or Expression with resultType string).
118865	ServicePrincipalEmbeddedCertPassword BasicSecretBase `json:"servicePrincipalEmbeddedCertPassword,omitempty"`
118866	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
118867	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
118868}
118869
118870// UnmarshalJSON is the custom unmarshaler for ODataLinkedServiceTypeProperties struct.
118871func (odlstp *ODataLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
118872	var m map[string]*json.RawMessage
118873	err := json.Unmarshal(body, &m)
118874	if err != nil {
118875		return err
118876	}
118877	for k, v := range m {
118878		switch k {
118879		case "url":
118880			if v != nil {
118881				var URL interface{}
118882				err = json.Unmarshal(*v, &URL)
118883				if err != nil {
118884					return err
118885				}
118886				odlstp.URL = URL
118887			}
118888		case "authenticationType":
118889			if v != nil {
118890				var authenticationType ODataAuthenticationType
118891				err = json.Unmarshal(*v, &authenticationType)
118892				if err != nil {
118893					return err
118894				}
118895				odlstp.AuthenticationType = authenticationType
118896			}
118897		case "userName":
118898			if v != nil {
118899				var userName interface{}
118900				err = json.Unmarshal(*v, &userName)
118901				if err != nil {
118902					return err
118903				}
118904				odlstp.UserName = userName
118905			}
118906		case "password":
118907			if v != nil {
118908				password, err := unmarshalBasicSecretBase(*v)
118909				if err != nil {
118910					return err
118911				}
118912				odlstp.Password = password
118913			}
118914		case "tenant":
118915			if v != nil {
118916				var tenant interface{}
118917				err = json.Unmarshal(*v, &tenant)
118918				if err != nil {
118919					return err
118920				}
118921				odlstp.Tenant = tenant
118922			}
118923		case "servicePrincipalId":
118924			if v != nil {
118925				var servicePrincipalID interface{}
118926				err = json.Unmarshal(*v, &servicePrincipalID)
118927				if err != nil {
118928					return err
118929				}
118930				odlstp.ServicePrincipalID = servicePrincipalID
118931			}
118932		case "aadResourceId":
118933			if v != nil {
118934				var aadResourceID interface{}
118935				err = json.Unmarshal(*v, &aadResourceID)
118936				if err != nil {
118937					return err
118938				}
118939				odlstp.AadResourceID = aadResourceID
118940			}
118941		case "aadServicePrincipalCredentialType":
118942			if v != nil {
118943				var aadServicePrincipalCredentialType ODataAadServicePrincipalCredentialType
118944				err = json.Unmarshal(*v, &aadServicePrincipalCredentialType)
118945				if err != nil {
118946					return err
118947				}
118948				odlstp.AadServicePrincipalCredentialType = aadServicePrincipalCredentialType
118949			}
118950		case "servicePrincipalKey":
118951			if v != nil {
118952				servicePrincipalKey, err := unmarshalBasicSecretBase(*v)
118953				if err != nil {
118954					return err
118955				}
118956				odlstp.ServicePrincipalKey = servicePrincipalKey
118957			}
118958		case "servicePrincipalEmbeddedCert":
118959			if v != nil {
118960				servicePrincipalEmbeddedCert, err := unmarshalBasicSecretBase(*v)
118961				if err != nil {
118962					return err
118963				}
118964				odlstp.ServicePrincipalEmbeddedCert = servicePrincipalEmbeddedCert
118965			}
118966		case "servicePrincipalEmbeddedCertPassword":
118967			if v != nil {
118968				servicePrincipalEmbeddedCertPassword, err := unmarshalBasicSecretBase(*v)
118969				if err != nil {
118970					return err
118971				}
118972				odlstp.ServicePrincipalEmbeddedCertPassword = servicePrincipalEmbeddedCertPassword
118973			}
118974		case "encryptedCredential":
118975			if v != nil {
118976				var encryptedCredential interface{}
118977				err = json.Unmarshal(*v, &encryptedCredential)
118978				if err != nil {
118979					return err
118980				}
118981				odlstp.EncryptedCredential = encryptedCredential
118982			}
118983		}
118984	}
118985
118986	return nil
118987}
118988
118989// ODataResourceDataset the Open Data Protocol (OData) resource dataset.
118990type ODataResourceDataset struct {
118991	// ODataResourceDatasetTypeProperties - OData dataset properties.
118992	*ODataResourceDatasetTypeProperties `json:"typeProperties,omitempty"`
118993	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
118994	AdditionalProperties map[string]interface{} `json:""`
118995	// Description - Dataset description.
118996	Description *string `json:"description,omitempty"`
118997	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
118998	Structure interface{} `json:"structure,omitempty"`
118999	// Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement.
119000	Schema interface{} `json:"schema,omitempty"`
119001	// LinkedServiceName - Linked service reference.
119002	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
119003	// Parameters - Parameters for dataset.
119004	Parameters map[string]*ParameterSpecification `json:"parameters"`
119005	// Annotations - List of tags that can be used for describing the Dataset.
119006	Annotations *[]interface{} `json:"annotations,omitempty"`
119007	// Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level.
119008	Folder *DatasetFolder `json:"folder,omitempty"`
119009	// Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', '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', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeDelimitedText', 'TypeParquet', 'TypeAmazonS3Object'
119010	Type TypeBasicDataset `json:"type,omitempty"`
119011}
119012
119013// MarshalJSON is the custom marshaler for ODataResourceDataset.
119014func (odrd ODataResourceDataset) MarshalJSON() ([]byte, error) {
119015	odrd.Type = TypeODataResource
119016	objectMap := make(map[string]interface{})
119017	if odrd.ODataResourceDatasetTypeProperties != nil {
119018		objectMap["typeProperties"] = odrd.ODataResourceDatasetTypeProperties
119019	}
119020	if odrd.Description != nil {
119021		objectMap["description"] = odrd.Description
119022	}
119023	if odrd.Structure != nil {
119024		objectMap["structure"] = odrd.Structure
119025	}
119026	if odrd.Schema != nil {
119027		objectMap["schema"] = odrd.Schema
119028	}
119029	if odrd.LinkedServiceName != nil {
119030		objectMap["linkedServiceName"] = odrd.LinkedServiceName
119031	}
119032	if odrd.Parameters != nil {
119033		objectMap["parameters"] = odrd.Parameters
119034	}
119035	if odrd.Annotations != nil {
119036		objectMap["annotations"] = odrd.Annotations
119037	}
119038	if odrd.Folder != nil {
119039		objectMap["folder"] = odrd.Folder
119040	}
119041	if odrd.Type != "" {
119042		objectMap["type"] = odrd.Type
119043	}
119044	for k, v := range odrd.AdditionalProperties {
119045		objectMap[k] = v
119046	}
119047	return json.Marshal(objectMap)
119048}
119049
119050// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for ODataResourceDataset.
119051func (odrd ODataResourceDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) {
119052	return nil, false
119053}
119054
119055// AsAzureDataExplorerTableDataset is the BasicDataset implementation for ODataResourceDataset.
119056func (odrd ODataResourceDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) {
119057	return nil, false
119058}
119059
119060// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for ODataResourceDataset.
119061func (odrd ODataResourceDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) {
119062	return nil, false
119063}
119064
119065// AsDynamicsAXResourceDataset is the BasicDataset implementation for ODataResourceDataset.
119066func (odrd ODataResourceDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) {
119067	return nil, false
119068}
119069
119070// AsResponsysObjectDataset is the BasicDataset implementation for ODataResourceDataset.
119071func (odrd ODataResourceDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
119072	return nil, false
119073}
119074
119075// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for ODataResourceDataset.
119076func (odrd ODataResourceDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
119077	return nil, false
119078}
119079
119080// AsVerticaTableDataset is the BasicDataset implementation for ODataResourceDataset.
119081func (odrd ODataResourceDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
119082	return nil, false
119083}
119084
119085// AsNetezzaTableDataset is the BasicDataset implementation for ODataResourceDataset.
119086func (odrd ODataResourceDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
119087	return nil, false
119088}
119089
119090// AsZohoObjectDataset is the BasicDataset implementation for ODataResourceDataset.
119091func (odrd ODataResourceDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
119092	return nil, false
119093}
119094
119095// AsXeroObjectDataset is the BasicDataset implementation for ODataResourceDataset.
119096func (odrd ODataResourceDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
119097	return nil, false
119098}
119099
119100// AsSquareObjectDataset is the BasicDataset implementation for ODataResourceDataset.
119101func (odrd ODataResourceDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
119102	return nil, false
119103}
119104
119105// AsSparkObjectDataset is the BasicDataset implementation for ODataResourceDataset.
119106func (odrd ODataResourceDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
119107	return nil, false
119108}
119109
119110// AsShopifyObjectDataset is the BasicDataset implementation for ODataResourceDataset.
119111func (odrd ODataResourceDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
119112	return nil, false
119113}
119114
119115// AsServiceNowObjectDataset is the BasicDataset implementation for ODataResourceDataset.
119116func (odrd ODataResourceDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
119117	return nil, false
119118}
119119
119120// AsQuickBooksObjectDataset is the BasicDataset implementation for ODataResourceDataset.
119121func (odrd ODataResourceDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
119122	return nil, false
119123}
119124
119125// AsPrestoObjectDataset is the BasicDataset implementation for ODataResourceDataset.
119126func (odrd ODataResourceDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
119127	return nil, false
119128}
119129
119130// AsPhoenixObjectDataset is the BasicDataset implementation for ODataResourceDataset.
119131func (odrd ODataResourceDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
119132	return nil, false
119133}
119134
119135// AsPaypalObjectDataset is the BasicDataset implementation for ODataResourceDataset.
119136func (odrd ODataResourceDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
119137	return nil, false
119138}
119139
119140// AsMarketoObjectDataset is the BasicDataset implementation for ODataResourceDataset.
119141func (odrd ODataResourceDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
119142	return nil, false
119143}
119144
119145// AsMariaDBTableDataset is the BasicDataset implementation for ODataResourceDataset.
119146func (odrd ODataResourceDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
119147	return nil, false
119148}
119149
119150// AsMagentoObjectDataset is the BasicDataset implementation for ODataResourceDataset.
119151func (odrd ODataResourceDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
119152	return nil, false
119153}
119154
119155// AsJiraObjectDataset is the BasicDataset implementation for ODataResourceDataset.
119156func (odrd ODataResourceDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
119157	return nil, false
119158}
119159
119160// AsImpalaObjectDataset is the BasicDataset implementation for ODataResourceDataset.
119161func (odrd ODataResourceDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
119162	return nil, false
119163}
119164
119165// AsHubspotObjectDataset is the BasicDataset implementation for ODataResourceDataset.
119166func (odrd ODataResourceDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
119167	return nil, false
119168}
119169
119170// AsHiveObjectDataset is the BasicDataset implementation for ODataResourceDataset.
119171func (odrd ODataResourceDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
119172	return nil, false
119173}
119174
119175// AsHBaseObjectDataset is the BasicDataset implementation for ODataResourceDataset.
119176func (odrd ODataResourceDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
119177	return nil, false
119178}
119179
119180// AsGreenplumTableDataset is the BasicDataset implementation for ODataResourceDataset.
119181func (odrd ODataResourceDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
119182	return nil, false
119183}
119184
119185// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for ODataResourceDataset.
119186func (odrd ODataResourceDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
119187	return nil, false
119188}
119189
119190// AsEloquaObjectDataset is the BasicDataset implementation for ODataResourceDataset.
119191func (odrd ODataResourceDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
119192	return nil, false
119193}
119194
119195// AsDrillTableDataset is the BasicDataset implementation for ODataResourceDataset.
119196func (odrd ODataResourceDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
119197	return nil, false
119198}
119199
119200// AsCouchbaseTableDataset is the BasicDataset implementation for ODataResourceDataset.
119201func (odrd ODataResourceDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
119202	return nil, false
119203}
119204
119205// AsConcurObjectDataset is the BasicDataset implementation for ODataResourceDataset.
119206func (odrd ODataResourceDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
119207	return nil, false
119208}
119209
119210// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for ODataResourceDataset.
119211func (odrd ODataResourceDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
119212	return nil, false
119213}
119214
119215// AsAmazonMWSObjectDataset is the BasicDataset implementation for ODataResourceDataset.
119216func (odrd ODataResourceDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
119217	return nil, false
119218}
119219
119220// AsHTTPDataset is the BasicDataset implementation for ODataResourceDataset.
119221func (odrd ODataResourceDataset) AsHTTPDataset() (*HTTPDataset, bool) {
119222	return nil, false
119223}
119224
119225// AsAzureSearchIndexDataset is the BasicDataset implementation for ODataResourceDataset.
119226func (odrd ODataResourceDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
119227	return nil, false
119228}
119229
119230// AsWebTableDataset is the BasicDataset implementation for ODataResourceDataset.
119231func (odrd ODataResourceDataset) AsWebTableDataset() (*WebTableDataset, bool) {
119232	return nil, false
119233}
119234
119235// AsSapTableResourceDataset is the BasicDataset implementation for ODataResourceDataset.
119236func (odrd ODataResourceDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) {
119237	return nil, false
119238}
119239
119240// AsRestResourceDataset is the BasicDataset implementation for ODataResourceDataset.
119241func (odrd ODataResourceDataset) AsRestResourceDataset() (*RestResourceDataset, bool) {
119242	return nil, false
119243}
119244
119245// AsSQLServerTableDataset is the BasicDataset implementation for ODataResourceDataset.
119246func (odrd ODataResourceDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
119247	return nil, false
119248}
119249
119250// AsSapOpenHubTableDataset is the BasicDataset implementation for ODataResourceDataset.
119251func (odrd ODataResourceDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) {
119252	return nil, false
119253}
119254
119255// AsSapHanaTableDataset is the BasicDataset implementation for ODataResourceDataset.
119256func (odrd ODataResourceDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) {
119257	return nil, false
119258}
119259
119260// AsSapEccResourceDataset is the BasicDataset implementation for ODataResourceDataset.
119261func (odrd ODataResourceDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
119262	return nil, false
119263}
119264
119265// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for ODataResourceDataset.
119266func (odrd ODataResourceDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
119267	return nil, false
119268}
119269
119270// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for ODataResourceDataset.
119271func (odrd ODataResourceDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) {
119272	return nil, false
119273}
119274
119275// AsSalesforceObjectDataset is the BasicDataset implementation for ODataResourceDataset.
119276func (odrd ODataResourceDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
119277	return nil, false
119278}
119279
119280// AsMicrosoftAccessTableDataset is the BasicDataset implementation for ODataResourceDataset.
119281func (odrd ODataResourceDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) {
119282	return nil, false
119283}
119284
119285// AsPostgreSQLTableDataset is the BasicDataset implementation for ODataResourceDataset.
119286func (odrd ODataResourceDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) {
119287	return nil, false
119288}
119289
119290// AsMySQLTableDataset is the BasicDataset implementation for ODataResourceDataset.
119291func (odrd ODataResourceDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) {
119292	return nil, false
119293}
119294
119295// AsOdbcTableDataset is the BasicDataset implementation for ODataResourceDataset.
119296func (odrd ODataResourceDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) {
119297	return nil, false
119298}
119299
119300// AsInformixTableDataset is the BasicDataset implementation for ODataResourceDataset.
119301func (odrd ODataResourceDataset) AsInformixTableDataset() (*InformixTableDataset, bool) {
119302	return nil, false
119303}
119304
119305// AsRelationalTableDataset is the BasicDataset implementation for ODataResourceDataset.
119306func (odrd ODataResourceDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
119307	return nil, false
119308}
119309
119310// AsAzureMySQLTableDataset is the BasicDataset implementation for ODataResourceDataset.
119311func (odrd ODataResourceDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
119312	return nil, false
119313}
119314
119315// AsTeradataTableDataset is the BasicDataset implementation for ODataResourceDataset.
119316func (odrd ODataResourceDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) {
119317	return nil, false
119318}
119319
119320// AsOracleTableDataset is the BasicDataset implementation for ODataResourceDataset.
119321func (odrd ODataResourceDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
119322	return nil, false
119323}
119324
119325// AsODataResourceDataset is the BasicDataset implementation for ODataResourceDataset.
119326func (odrd ODataResourceDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
119327	return &odrd, true
119328}
119329
119330// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for ODataResourceDataset.
119331func (odrd ODataResourceDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) {
119332	return nil, false
119333}
119334
119335// AsMongoDbV2CollectionDataset is the BasicDataset implementation for ODataResourceDataset.
119336func (odrd ODataResourceDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) {
119337	return nil, false
119338}
119339
119340// AsMongoDbCollectionDataset is the BasicDataset implementation for ODataResourceDataset.
119341func (odrd ODataResourceDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
119342	return nil, false
119343}
119344
119345// AsFileShareDataset is the BasicDataset implementation for ODataResourceDataset.
119346func (odrd ODataResourceDataset) AsFileShareDataset() (*FileShareDataset, bool) {
119347	return nil, false
119348}
119349
119350// AsOffice365Dataset is the BasicDataset implementation for ODataResourceDataset.
119351func (odrd ODataResourceDataset) AsOffice365Dataset() (*Office365Dataset, bool) {
119352	return nil, false
119353}
119354
119355// AsAzureBlobFSDataset is the BasicDataset implementation for ODataResourceDataset.
119356func (odrd ODataResourceDataset) AsAzureBlobFSDataset() (*AzureBlobFSDataset, bool) {
119357	return nil, false
119358}
119359
119360// AsAzureDataLakeStoreDataset is the BasicDataset implementation for ODataResourceDataset.
119361func (odrd ODataResourceDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) {
119362	return nil, false
119363}
119364
119365// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for ODataResourceDataset.
119366func (odrd ODataResourceDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) {
119367	return nil, false
119368}
119369
119370// AsDynamicsCrmEntityDataset is the BasicDataset implementation for ODataResourceDataset.
119371func (odrd ODataResourceDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) {
119372	return nil, false
119373}
119374
119375// AsDynamicsEntityDataset is the BasicDataset implementation for ODataResourceDataset.
119376func (odrd ODataResourceDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
119377	return nil, false
119378}
119379
119380// AsDocumentDbCollectionDataset is the BasicDataset implementation for ODataResourceDataset.
119381func (odrd ODataResourceDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
119382	return nil, false
119383}
119384
119385// AsCustomDataset is the BasicDataset implementation for ODataResourceDataset.
119386func (odrd ODataResourceDataset) AsCustomDataset() (*CustomDataset, bool) {
119387	return nil, false
119388}
119389
119390// AsCassandraTableDataset is the BasicDataset implementation for ODataResourceDataset.
119391func (odrd ODataResourceDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
119392	return nil, false
119393}
119394
119395// AsAzureSQLDWTableDataset is the BasicDataset implementation for ODataResourceDataset.
119396func (odrd ODataResourceDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
119397	return nil, false
119398}
119399
119400// AsAzureSQLMITableDataset is the BasicDataset implementation for ODataResourceDataset.
119401func (odrd ODataResourceDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) {
119402	return nil, false
119403}
119404
119405// AsAzureSQLTableDataset is the BasicDataset implementation for ODataResourceDataset.
119406func (odrd ODataResourceDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
119407	return nil, false
119408}
119409
119410// AsAzureTableDataset is the BasicDataset implementation for ODataResourceDataset.
119411func (odrd ODataResourceDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
119412	return nil, false
119413}
119414
119415// AsAzureBlobDataset is the BasicDataset implementation for ODataResourceDataset.
119416func (odrd ODataResourceDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) {
119417	return nil, false
119418}
119419
119420// AsBinaryDataset is the BasicDataset implementation for ODataResourceDataset.
119421func (odrd ODataResourceDataset) AsBinaryDataset() (*BinaryDataset, bool) {
119422	return nil, false
119423}
119424
119425// AsDelimitedTextDataset is the BasicDataset implementation for ODataResourceDataset.
119426func (odrd ODataResourceDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) {
119427	return nil, false
119428}
119429
119430// AsParquetDataset is the BasicDataset implementation for ODataResourceDataset.
119431func (odrd ODataResourceDataset) AsParquetDataset() (*ParquetDataset, bool) {
119432	return nil, false
119433}
119434
119435// AsAmazonS3Dataset is the BasicDataset implementation for ODataResourceDataset.
119436func (odrd ODataResourceDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) {
119437	return nil, false
119438}
119439
119440// AsDataset is the BasicDataset implementation for ODataResourceDataset.
119441func (odrd ODataResourceDataset) AsDataset() (*Dataset, bool) {
119442	return nil, false
119443}
119444
119445// AsBasicDataset is the BasicDataset implementation for ODataResourceDataset.
119446func (odrd ODataResourceDataset) AsBasicDataset() (BasicDataset, bool) {
119447	return &odrd, true
119448}
119449
119450// UnmarshalJSON is the custom unmarshaler for ODataResourceDataset struct.
119451func (odrd *ODataResourceDataset) UnmarshalJSON(body []byte) error {
119452	var m map[string]*json.RawMessage
119453	err := json.Unmarshal(body, &m)
119454	if err != nil {
119455		return err
119456	}
119457	for k, v := range m {
119458		switch k {
119459		case "typeProperties":
119460			if v != nil {
119461				var oDataResourceDatasetTypeProperties ODataResourceDatasetTypeProperties
119462				err = json.Unmarshal(*v, &oDataResourceDatasetTypeProperties)
119463				if err != nil {
119464					return err
119465				}
119466				odrd.ODataResourceDatasetTypeProperties = &oDataResourceDatasetTypeProperties
119467			}
119468		default:
119469			if v != nil {
119470				var additionalProperties interface{}
119471				err = json.Unmarshal(*v, &additionalProperties)
119472				if err != nil {
119473					return err
119474				}
119475				if odrd.AdditionalProperties == nil {
119476					odrd.AdditionalProperties = make(map[string]interface{})
119477				}
119478				odrd.AdditionalProperties[k] = additionalProperties
119479			}
119480		case "description":
119481			if v != nil {
119482				var description string
119483				err = json.Unmarshal(*v, &description)
119484				if err != nil {
119485					return err
119486				}
119487				odrd.Description = &description
119488			}
119489		case "structure":
119490			if v != nil {
119491				var structure interface{}
119492				err = json.Unmarshal(*v, &structure)
119493				if err != nil {
119494					return err
119495				}
119496				odrd.Structure = structure
119497			}
119498		case "schema":
119499			if v != nil {
119500				var schema interface{}
119501				err = json.Unmarshal(*v, &schema)
119502				if err != nil {
119503					return err
119504				}
119505				odrd.Schema = schema
119506			}
119507		case "linkedServiceName":
119508			if v != nil {
119509				var linkedServiceName LinkedServiceReference
119510				err = json.Unmarshal(*v, &linkedServiceName)
119511				if err != nil {
119512					return err
119513				}
119514				odrd.LinkedServiceName = &linkedServiceName
119515			}
119516		case "parameters":
119517			if v != nil {
119518				var parameters map[string]*ParameterSpecification
119519				err = json.Unmarshal(*v, &parameters)
119520				if err != nil {
119521					return err
119522				}
119523				odrd.Parameters = parameters
119524			}
119525		case "annotations":
119526			if v != nil {
119527				var annotations []interface{}
119528				err = json.Unmarshal(*v, &annotations)
119529				if err != nil {
119530					return err
119531				}
119532				odrd.Annotations = &annotations
119533			}
119534		case "folder":
119535			if v != nil {
119536				var folder DatasetFolder
119537				err = json.Unmarshal(*v, &folder)
119538				if err != nil {
119539					return err
119540				}
119541				odrd.Folder = &folder
119542			}
119543		case "type":
119544			if v != nil {
119545				var typeVar TypeBasicDataset
119546				err = json.Unmarshal(*v, &typeVar)
119547				if err != nil {
119548					return err
119549				}
119550				odrd.Type = typeVar
119551			}
119552		}
119553	}
119554
119555	return nil
119556}
119557
119558// ODataResourceDatasetTypeProperties oData dataset properties.
119559type ODataResourceDatasetTypeProperties struct {
119560	// Path - The OData resource path. Type: string (or Expression with resultType string).
119561	Path interface{} `json:"path,omitempty"`
119562}
119563
119564// ODataSource a copy activity source for OData source.
119565type ODataSource struct {
119566	// Query - OData query. For example, "$top=1". Type: string (or Expression with resultType string).
119567	Query interface{} `json:"query,omitempty"`
119568	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
119569	AdditionalProperties map[string]interface{} `json:""`
119570	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
119571	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
119572	// 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])).
119573	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
119574	// MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer).
119575	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
119576	// Type - Possible values include: 'TypeCopySource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', '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', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeCassandraSource', 'TypeWebSource', 'TypeTeradataSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeAzureMySQLSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeRestSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceServiceCloudSource', 'TypeSalesforceSource', 'TypeODataSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeMicrosoftAccessSource', 'TypeInformixSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAzureTableSource', 'TypeBinarySource', 'TypeDelimitedTextSource', 'TypeParquetSource'
119577	Type TypeBasicCopySource `json:"type,omitempty"`
119578}
119579
119580// MarshalJSON is the custom marshaler for ODataSource.
119581func (ods ODataSource) MarshalJSON() ([]byte, error) {
119582	ods.Type = TypeODataSource
119583	objectMap := make(map[string]interface{})
119584	if ods.Query != nil {
119585		objectMap["query"] = ods.Query
119586	}
119587	if ods.SourceRetryCount != nil {
119588		objectMap["sourceRetryCount"] = ods.SourceRetryCount
119589	}
119590	if ods.SourceRetryWait != nil {
119591		objectMap["sourceRetryWait"] = ods.SourceRetryWait
119592	}
119593	if ods.MaxConcurrentConnections != nil {
119594		objectMap["maxConcurrentConnections"] = ods.MaxConcurrentConnections
119595	}
119596	if ods.Type != "" {
119597		objectMap["type"] = ods.Type
119598	}
119599	for k, v := range ods.AdditionalProperties {
119600		objectMap[k] = v
119601	}
119602	return json.Marshal(objectMap)
119603}
119604
119605// AsAmazonRedshiftSource is the BasicCopySource implementation for ODataSource.
119606func (ods ODataSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
119607	return nil, false
119608}
119609
119610// AsGoogleAdWordsSource is the BasicCopySource implementation for ODataSource.
119611func (ods ODataSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) {
119612	return nil, false
119613}
119614
119615// AsOracleServiceCloudSource is the BasicCopySource implementation for ODataSource.
119616func (ods ODataSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) {
119617	return nil, false
119618}
119619
119620// AsDynamicsAXSource is the BasicCopySource implementation for ODataSource.
119621func (ods ODataSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) {
119622	return nil, false
119623}
119624
119625// AsResponsysSource is the BasicCopySource implementation for ODataSource.
119626func (ods ODataSource) AsResponsysSource() (*ResponsysSource, bool) {
119627	return nil, false
119628}
119629
119630// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for ODataSource.
119631func (ods ODataSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
119632	return nil, false
119633}
119634
119635// AsVerticaSource is the BasicCopySource implementation for ODataSource.
119636func (ods ODataSource) AsVerticaSource() (*VerticaSource, bool) {
119637	return nil, false
119638}
119639
119640// AsNetezzaSource is the BasicCopySource implementation for ODataSource.
119641func (ods ODataSource) AsNetezzaSource() (*NetezzaSource, bool) {
119642	return nil, false
119643}
119644
119645// AsZohoSource is the BasicCopySource implementation for ODataSource.
119646func (ods ODataSource) AsZohoSource() (*ZohoSource, bool) {
119647	return nil, false
119648}
119649
119650// AsXeroSource is the BasicCopySource implementation for ODataSource.
119651func (ods ODataSource) AsXeroSource() (*XeroSource, bool) {
119652	return nil, false
119653}
119654
119655// AsSquareSource is the BasicCopySource implementation for ODataSource.
119656func (ods ODataSource) AsSquareSource() (*SquareSource, bool) {
119657	return nil, false
119658}
119659
119660// AsSparkSource is the BasicCopySource implementation for ODataSource.
119661func (ods ODataSource) AsSparkSource() (*SparkSource, bool) {
119662	return nil, false
119663}
119664
119665// AsShopifySource is the BasicCopySource implementation for ODataSource.
119666func (ods ODataSource) AsShopifySource() (*ShopifySource, bool) {
119667	return nil, false
119668}
119669
119670// AsServiceNowSource is the BasicCopySource implementation for ODataSource.
119671func (ods ODataSource) AsServiceNowSource() (*ServiceNowSource, bool) {
119672	return nil, false
119673}
119674
119675// AsQuickBooksSource is the BasicCopySource implementation for ODataSource.
119676func (ods ODataSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
119677	return nil, false
119678}
119679
119680// AsPrestoSource is the BasicCopySource implementation for ODataSource.
119681func (ods ODataSource) AsPrestoSource() (*PrestoSource, bool) {
119682	return nil, false
119683}
119684
119685// AsPhoenixSource is the BasicCopySource implementation for ODataSource.
119686func (ods ODataSource) AsPhoenixSource() (*PhoenixSource, bool) {
119687	return nil, false
119688}
119689
119690// AsPaypalSource is the BasicCopySource implementation for ODataSource.
119691func (ods ODataSource) AsPaypalSource() (*PaypalSource, bool) {
119692	return nil, false
119693}
119694
119695// AsMarketoSource is the BasicCopySource implementation for ODataSource.
119696func (ods ODataSource) AsMarketoSource() (*MarketoSource, bool) {
119697	return nil, false
119698}
119699
119700// AsMariaDBSource is the BasicCopySource implementation for ODataSource.
119701func (ods ODataSource) AsMariaDBSource() (*MariaDBSource, bool) {
119702	return nil, false
119703}
119704
119705// AsMagentoSource is the BasicCopySource implementation for ODataSource.
119706func (ods ODataSource) AsMagentoSource() (*MagentoSource, bool) {
119707	return nil, false
119708}
119709
119710// AsJiraSource is the BasicCopySource implementation for ODataSource.
119711func (ods ODataSource) AsJiraSource() (*JiraSource, bool) {
119712	return nil, false
119713}
119714
119715// AsImpalaSource is the BasicCopySource implementation for ODataSource.
119716func (ods ODataSource) AsImpalaSource() (*ImpalaSource, bool) {
119717	return nil, false
119718}
119719
119720// AsHubspotSource is the BasicCopySource implementation for ODataSource.
119721func (ods ODataSource) AsHubspotSource() (*HubspotSource, bool) {
119722	return nil, false
119723}
119724
119725// AsHiveSource is the BasicCopySource implementation for ODataSource.
119726func (ods ODataSource) AsHiveSource() (*HiveSource, bool) {
119727	return nil, false
119728}
119729
119730// AsHBaseSource is the BasicCopySource implementation for ODataSource.
119731func (ods ODataSource) AsHBaseSource() (*HBaseSource, bool) {
119732	return nil, false
119733}
119734
119735// AsGreenplumSource is the BasicCopySource implementation for ODataSource.
119736func (ods ODataSource) AsGreenplumSource() (*GreenplumSource, bool) {
119737	return nil, false
119738}
119739
119740// AsGoogleBigQuerySource is the BasicCopySource implementation for ODataSource.
119741func (ods ODataSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
119742	return nil, false
119743}
119744
119745// AsEloquaSource is the BasicCopySource implementation for ODataSource.
119746func (ods ODataSource) AsEloquaSource() (*EloquaSource, bool) {
119747	return nil, false
119748}
119749
119750// AsDrillSource is the BasicCopySource implementation for ODataSource.
119751func (ods ODataSource) AsDrillSource() (*DrillSource, bool) {
119752	return nil, false
119753}
119754
119755// AsCouchbaseSource is the BasicCopySource implementation for ODataSource.
119756func (ods ODataSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
119757	return nil, false
119758}
119759
119760// AsConcurSource is the BasicCopySource implementation for ODataSource.
119761func (ods ODataSource) AsConcurSource() (*ConcurSource, bool) {
119762	return nil, false
119763}
119764
119765// AsAzurePostgreSQLSource is the BasicCopySource implementation for ODataSource.
119766func (ods ODataSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
119767	return nil, false
119768}
119769
119770// AsAmazonMWSSource is the BasicCopySource implementation for ODataSource.
119771func (ods ODataSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
119772	return nil, false
119773}
119774
119775// AsHTTPSource is the BasicCopySource implementation for ODataSource.
119776func (ods ODataSource) AsHTTPSource() (*HTTPSource, bool) {
119777	return nil, false
119778}
119779
119780// AsAzureBlobFSSource is the BasicCopySource implementation for ODataSource.
119781func (ods ODataSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) {
119782	return nil, false
119783}
119784
119785// AsAzureDataLakeStoreSource is the BasicCopySource implementation for ODataSource.
119786func (ods ODataSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
119787	return nil, false
119788}
119789
119790// AsOffice365Source is the BasicCopySource implementation for ODataSource.
119791func (ods ODataSource) AsOffice365Source() (*Office365Source, bool) {
119792	return nil, false
119793}
119794
119795// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for ODataSource.
119796func (ods ODataSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) {
119797	return nil, false
119798}
119799
119800// AsMongoDbV2Source is the BasicCopySource implementation for ODataSource.
119801func (ods ODataSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) {
119802	return nil, false
119803}
119804
119805// AsMongoDbSource is the BasicCopySource implementation for ODataSource.
119806func (ods ODataSource) AsMongoDbSource() (*MongoDbSource, bool) {
119807	return nil, false
119808}
119809
119810// AsCassandraSource is the BasicCopySource implementation for ODataSource.
119811func (ods ODataSource) AsCassandraSource() (*CassandraSource, bool) {
119812	return nil, false
119813}
119814
119815// AsWebSource is the BasicCopySource implementation for ODataSource.
119816func (ods ODataSource) AsWebSource() (*WebSource, bool) {
119817	return nil, false
119818}
119819
119820// AsTeradataSource is the BasicCopySource implementation for ODataSource.
119821func (ods ODataSource) AsTeradataSource() (*TeradataSource, bool) {
119822	return nil, false
119823}
119824
119825// AsOracleSource is the BasicCopySource implementation for ODataSource.
119826func (ods ODataSource) AsOracleSource() (*OracleSource, bool) {
119827	return nil, false
119828}
119829
119830// AsAzureDataExplorerSource is the BasicCopySource implementation for ODataSource.
119831func (ods ODataSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) {
119832	return nil, false
119833}
119834
119835// AsAzureMySQLSource is the BasicCopySource implementation for ODataSource.
119836func (ods ODataSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
119837	return nil, false
119838}
119839
119840// AsHdfsSource is the BasicCopySource implementation for ODataSource.
119841func (ods ODataSource) AsHdfsSource() (*HdfsSource, bool) {
119842	return nil, false
119843}
119844
119845// AsFileSystemSource is the BasicCopySource implementation for ODataSource.
119846func (ods ODataSource) AsFileSystemSource() (*FileSystemSource, bool) {
119847	return nil, false
119848}
119849
119850// AsSQLDWSource is the BasicCopySource implementation for ODataSource.
119851func (ods ODataSource) AsSQLDWSource() (*SQLDWSource, bool) {
119852	return nil, false
119853}
119854
119855// AsSQLMISource is the BasicCopySource implementation for ODataSource.
119856func (ods ODataSource) AsSQLMISource() (*SQLMISource, bool) {
119857	return nil, false
119858}
119859
119860// AsAzureSQLSource is the BasicCopySource implementation for ODataSource.
119861func (ods ODataSource) AsAzureSQLSource() (*AzureSQLSource, bool) {
119862	return nil, false
119863}
119864
119865// AsSQLServerSource is the BasicCopySource implementation for ODataSource.
119866func (ods ODataSource) AsSQLServerSource() (*SQLServerSource, bool) {
119867	return nil, false
119868}
119869
119870// AsSQLSource is the BasicCopySource implementation for ODataSource.
119871func (ods ODataSource) AsSQLSource() (*SQLSource, bool) {
119872	return nil, false
119873}
119874
119875// AsRestSource is the BasicCopySource implementation for ODataSource.
119876func (ods ODataSource) AsRestSource() (*RestSource, bool) {
119877	return nil, false
119878}
119879
119880// AsSapTableSource is the BasicCopySource implementation for ODataSource.
119881func (ods ODataSource) AsSapTableSource() (*SapTableSource, bool) {
119882	return nil, false
119883}
119884
119885// AsSapOpenHubSource is the BasicCopySource implementation for ODataSource.
119886func (ods ODataSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) {
119887	return nil, false
119888}
119889
119890// AsSapHanaSource is the BasicCopySource implementation for ODataSource.
119891func (ods ODataSource) AsSapHanaSource() (*SapHanaSource, bool) {
119892	return nil, false
119893}
119894
119895// AsSapEccSource is the BasicCopySource implementation for ODataSource.
119896func (ods ODataSource) AsSapEccSource() (*SapEccSource, bool) {
119897	return nil, false
119898}
119899
119900// AsSapCloudForCustomerSource is the BasicCopySource implementation for ODataSource.
119901func (ods ODataSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
119902	return nil, false
119903}
119904
119905// AsSalesforceServiceCloudSource is the BasicCopySource implementation for ODataSource.
119906func (ods ODataSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) {
119907	return nil, false
119908}
119909
119910// AsSalesforceSource is the BasicCopySource implementation for ODataSource.
119911func (ods ODataSource) AsSalesforceSource() (*SalesforceSource, bool) {
119912	return nil, false
119913}
119914
119915// AsODataSource is the BasicCopySource implementation for ODataSource.
119916func (ods ODataSource) AsODataSource() (*ODataSource, bool) {
119917	return &ods, true
119918}
119919
119920// AsSybaseSource is the BasicCopySource implementation for ODataSource.
119921func (ods ODataSource) AsSybaseSource() (*SybaseSource, bool) {
119922	return nil, false
119923}
119924
119925// AsPostgreSQLSource is the BasicCopySource implementation for ODataSource.
119926func (ods ODataSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) {
119927	return nil, false
119928}
119929
119930// AsMySQLSource is the BasicCopySource implementation for ODataSource.
119931func (ods ODataSource) AsMySQLSource() (*MySQLSource, bool) {
119932	return nil, false
119933}
119934
119935// AsOdbcSource is the BasicCopySource implementation for ODataSource.
119936func (ods ODataSource) AsOdbcSource() (*OdbcSource, bool) {
119937	return nil, false
119938}
119939
119940// AsDb2Source is the BasicCopySource implementation for ODataSource.
119941func (ods ODataSource) AsDb2Source() (*Db2Source, bool) {
119942	return nil, false
119943}
119944
119945// AsMicrosoftAccessSource is the BasicCopySource implementation for ODataSource.
119946func (ods ODataSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) {
119947	return nil, false
119948}
119949
119950// AsInformixSource is the BasicCopySource implementation for ODataSource.
119951func (ods ODataSource) AsInformixSource() (*InformixSource, bool) {
119952	return nil, false
119953}
119954
119955// AsRelationalSource is the BasicCopySource implementation for ODataSource.
119956func (ods ODataSource) AsRelationalSource() (*RelationalSource, bool) {
119957	return nil, false
119958}
119959
119960// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for ODataSource.
119961func (ods ODataSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) {
119962	return nil, false
119963}
119964
119965// AsDynamicsCrmSource is the BasicCopySource implementation for ODataSource.
119966func (ods ODataSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) {
119967	return nil, false
119968}
119969
119970// AsDynamicsSource is the BasicCopySource implementation for ODataSource.
119971func (ods ODataSource) AsDynamicsSource() (*DynamicsSource, bool) {
119972	return nil, false
119973}
119974
119975// AsDocumentDbCollectionSource is the BasicCopySource implementation for ODataSource.
119976func (ods ODataSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
119977	return nil, false
119978}
119979
119980// AsBlobSource is the BasicCopySource implementation for ODataSource.
119981func (ods ODataSource) AsBlobSource() (*BlobSource, bool) {
119982	return nil, false
119983}
119984
119985// AsAzureTableSource is the BasicCopySource implementation for ODataSource.
119986func (ods ODataSource) AsAzureTableSource() (*AzureTableSource, bool) {
119987	return nil, false
119988}
119989
119990// AsBinarySource is the BasicCopySource implementation for ODataSource.
119991func (ods ODataSource) AsBinarySource() (*BinarySource, bool) {
119992	return nil, false
119993}
119994
119995// AsDelimitedTextSource is the BasicCopySource implementation for ODataSource.
119996func (ods ODataSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) {
119997	return nil, false
119998}
119999
120000// AsParquetSource is the BasicCopySource implementation for ODataSource.
120001func (ods ODataSource) AsParquetSource() (*ParquetSource, bool) {
120002	return nil, false
120003}
120004
120005// AsCopySource is the BasicCopySource implementation for ODataSource.
120006func (ods ODataSource) AsCopySource() (*CopySource, bool) {
120007	return nil, false
120008}
120009
120010// AsBasicCopySource is the BasicCopySource implementation for ODataSource.
120011func (ods ODataSource) AsBasicCopySource() (BasicCopySource, bool) {
120012	return &ods, true
120013}
120014
120015// UnmarshalJSON is the custom unmarshaler for ODataSource struct.
120016func (ods *ODataSource) UnmarshalJSON(body []byte) error {
120017	var m map[string]*json.RawMessage
120018	err := json.Unmarshal(body, &m)
120019	if err != nil {
120020		return err
120021	}
120022	for k, v := range m {
120023		switch k {
120024		case "query":
120025			if v != nil {
120026				var query interface{}
120027				err = json.Unmarshal(*v, &query)
120028				if err != nil {
120029					return err
120030				}
120031				ods.Query = query
120032			}
120033		default:
120034			if v != nil {
120035				var additionalProperties interface{}
120036				err = json.Unmarshal(*v, &additionalProperties)
120037				if err != nil {
120038					return err
120039				}
120040				if ods.AdditionalProperties == nil {
120041					ods.AdditionalProperties = make(map[string]interface{})
120042				}
120043				ods.AdditionalProperties[k] = additionalProperties
120044			}
120045		case "sourceRetryCount":
120046			if v != nil {
120047				var sourceRetryCount interface{}
120048				err = json.Unmarshal(*v, &sourceRetryCount)
120049				if err != nil {
120050					return err
120051				}
120052				ods.SourceRetryCount = sourceRetryCount
120053			}
120054		case "sourceRetryWait":
120055			if v != nil {
120056				var sourceRetryWait interface{}
120057				err = json.Unmarshal(*v, &sourceRetryWait)
120058				if err != nil {
120059					return err
120060				}
120061				ods.SourceRetryWait = sourceRetryWait
120062			}
120063		case "maxConcurrentConnections":
120064			if v != nil {
120065				var maxConcurrentConnections interface{}
120066				err = json.Unmarshal(*v, &maxConcurrentConnections)
120067				if err != nil {
120068					return err
120069				}
120070				ods.MaxConcurrentConnections = maxConcurrentConnections
120071			}
120072		case "type":
120073			if v != nil {
120074				var typeVar TypeBasicCopySource
120075				err = json.Unmarshal(*v, &typeVar)
120076				if err != nil {
120077					return err
120078				}
120079				ods.Type = typeVar
120080			}
120081		}
120082	}
120083
120084	return nil
120085}
120086
120087// OdbcLinkedService open Database Connectivity (ODBC) linked service.
120088type OdbcLinkedService struct {
120089	// OdbcLinkedServiceTypeProperties - ODBC linked service properties.
120090	*OdbcLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
120091	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
120092	AdditionalProperties map[string]interface{} `json:""`
120093	// ConnectVia - The integration runtime reference.
120094	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
120095	// Description - Linked service description.
120096	Description *string `json:"description,omitempty"`
120097	// Parameters - Parameters for linked service.
120098	Parameters map[string]*ParameterSpecification `json:"parameters"`
120099	// Annotations - List of tags that can be used for describing the linked service.
120100	Annotations *[]interface{} `json:"annotations,omitempty"`
120101	// Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', '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', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage'
120102	Type TypeBasicLinkedService `json:"type,omitempty"`
120103}
120104
120105// MarshalJSON is the custom marshaler for OdbcLinkedService.
120106func (ols OdbcLinkedService) MarshalJSON() ([]byte, error) {
120107	ols.Type = TypeOdbc
120108	objectMap := make(map[string]interface{})
120109	if ols.OdbcLinkedServiceTypeProperties != nil {
120110		objectMap["typeProperties"] = ols.OdbcLinkedServiceTypeProperties
120111	}
120112	if ols.ConnectVia != nil {
120113		objectMap["connectVia"] = ols.ConnectVia
120114	}
120115	if ols.Description != nil {
120116		objectMap["description"] = ols.Description
120117	}
120118	if ols.Parameters != nil {
120119		objectMap["parameters"] = ols.Parameters
120120	}
120121	if ols.Annotations != nil {
120122		objectMap["annotations"] = ols.Annotations
120123	}
120124	if ols.Type != "" {
120125		objectMap["type"] = ols.Type
120126	}
120127	for k, v := range ols.AdditionalProperties {
120128		objectMap[k] = v
120129	}
120130	return json.Marshal(objectMap)
120131}
120132
120133// AsAzureFunctionLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
120134func (ols OdbcLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) {
120135	return nil, false
120136}
120137
120138// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
120139func (ols OdbcLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) {
120140	return nil, false
120141}
120142
120143// AsSapTableLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
120144func (ols OdbcLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) {
120145	return nil, false
120146}
120147
120148// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
120149func (ols OdbcLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) {
120150	return nil, false
120151}
120152
120153// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
120154func (ols OdbcLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) {
120155	return nil, false
120156}
120157
120158// AsDynamicsAXLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
120159func (ols OdbcLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) {
120160	return nil, false
120161}
120162
120163// AsResponsysLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
120164func (ols OdbcLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
120165	return nil, false
120166}
120167
120168// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
120169func (ols OdbcLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
120170	return nil, false
120171}
120172
120173// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
120174func (ols OdbcLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
120175	return nil, false
120176}
120177
120178// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
120179func (ols OdbcLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
120180	return nil, false
120181}
120182
120183// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
120184func (ols OdbcLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
120185	return nil, false
120186}
120187
120188// AsNetezzaLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
120189func (ols OdbcLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
120190	return nil, false
120191}
120192
120193// AsVerticaLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
120194func (ols OdbcLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
120195	return nil, false
120196}
120197
120198// AsZohoLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
120199func (ols OdbcLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
120200	return nil, false
120201}
120202
120203// AsXeroLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
120204func (ols OdbcLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
120205	return nil, false
120206}
120207
120208// AsSquareLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
120209func (ols OdbcLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
120210	return nil, false
120211}
120212
120213// AsSparkLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
120214func (ols OdbcLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
120215	return nil, false
120216}
120217
120218// AsShopifyLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
120219func (ols OdbcLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
120220	return nil, false
120221}
120222
120223// AsServiceNowLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
120224func (ols OdbcLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
120225	return nil, false
120226}
120227
120228// AsQuickBooksLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
120229func (ols OdbcLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
120230	return nil, false
120231}
120232
120233// AsPrestoLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
120234func (ols OdbcLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
120235	return nil, false
120236}
120237
120238// AsPhoenixLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
120239func (ols OdbcLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
120240	return nil, false
120241}
120242
120243// AsPaypalLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
120244func (ols OdbcLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
120245	return nil, false
120246}
120247
120248// AsMarketoLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
120249func (ols OdbcLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
120250	return nil, false
120251}
120252
120253// AsMariaDBLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
120254func (ols OdbcLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
120255	return nil, false
120256}
120257
120258// AsMagentoLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
120259func (ols OdbcLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
120260	return nil, false
120261}
120262
120263// AsJiraLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
120264func (ols OdbcLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
120265	return nil, false
120266}
120267
120268// AsImpalaLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
120269func (ols OdbcLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
120270	return nil, false
120271}
120272
120273// AsHubspotLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
120274func (ols OdbcLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
120275	return nil, false
120276}
120277
120278// AsHiveLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
120279func (ols OdbcLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
120280	return nil, false
120281}
120282
120283// AsHBaseLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
120284func (ols OdbcLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
120285	return nil, false
120286}
120287
120288// AsGreenplumLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
120289func (ols OdbcLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
120290	return nil, false
120291}
120292
120293// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
120294func (ols OdbcLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
120295	return nil, false
120296}
120297
120298// AsEloquaLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
120299func (ols OdbcLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
120300	return nil, false
120301}
120302
120303// AsDrillLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
120304func (ols OdbcLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
120305	return nil, false
120306}
120307
120308// AsCouchbaseLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
120309func (ols OdbcLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
120310	return nil, false
120311}
120312
120313// AsConcurLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
120314func (ols OdbcLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
120315	return nil, false
120316}
120317
120318// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
120319func (ols OdbcLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
120320	return nil, false
120321}
120322
120323// AsAmazonMWSLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
120324func (ols OdbcLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
120325	return nil, false
120326}
120327
120328// AsSapHanaLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
120329func (ols OdbcLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
120330	return nil, false
120331}
120332
120333// AsSapBWLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
120334func (ols OdbcLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
120335	return nil, false
120336}
120337
120338// AsSftpServerLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
120339func (ols OdbcLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
120340	return nil, false
120341}
120342
120343// AsFtpServerLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
120344func (ols OdbcLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
120345	return nil, false
120346}
120347
120348// AsHTTPLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
120349func (ols OdbcLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
120350	return nil, false
120351}
120352
120353// AsAzureSearchLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
120354func (ols OdbcLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
120355	return nil, false
120356}
120357
120358// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
120359func (ols OdbcLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
120360	return nil, false
120361}
120362
120363// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
120364func (ols OdbcLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
120365	return nil, false
120366}
120367
120368// AsAmazonS3LinkedService is the BasicLinkedService implementation for OdbcLinkedService.
120369func (ols OdbcLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
120370	return nil, false
120371}
120372
120373// AsRestServiceLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
120374func (ols OdbcLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) {
120375	return nil, false
120376}
120377
120378// AsSapOpenHubLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
120379func (ols OdbcLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) {
120380	return nil, false
120381}
120382
120383// AsSapEccLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
120384func (ols OdbcLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
120385	return nil, false
120386}
120387
120388// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
120389func (ols OdbcLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
120390	return nil, false
120391}
120392
120393// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
120394func (ols OdbcLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) {
120395	return nil, false
120396}
120397
120398// AsSalesforceLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
120399func (ols OdbcLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
120400	return nil, false
120401}
120402
120403// AsOffice365LinkedService is the BasicLinkedService implementation for OdbcLinkedService.
120404func (ols OdbcLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) {
120405	return nil, false
120406}
120407
120408// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
120409func (ols OdbcLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) {
120410	return nil, false
120411}
120412
120413// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
120414func (ols OdbcLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
120415	return nil, false
120416}
120417
120418// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for OdbcLinkedService.
120419func (ols OdbcLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) {
120420	return nil, false
120421}
120422
120423// AsMongoDbV2LinkedService is the BasicLinkedService implementation for OdbcLinkedService.
120424func (ols OdbcLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) {
120425	return nil, false
120426}
120427
120428// AsMongoDbLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
120429func (ols OdbcLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
120430	return nil, false
120431}
120432
120433// AsCassandraLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
120434func (ols OdbcLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
120435	return nil, false
120436}
120437
120438// AsWebLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
120439func (ols OdbcLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
120440	return nil, false
120441}
120442
120443// AsODataLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
120444func (ols OdbcLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
120445	return nil, false
120446}
120447
120448// AsHdfsLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
120449func (ols OdbcLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
120450	return nil, false
120451}
120452
120453// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
120454func (ols OdbcLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) {
120455	return nil, false
120456}
120457
120458// AsInformixLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
120459func (ols OdbcLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) {
120460	return nil, false
120461}
120462
120463// AsOdbcLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
120464func (ols OdbcLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
120465	return &ols, true
120466}
120467
120468// AsAzureMLLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
120469func (ols OdbcLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
120470	return nil, false
120471}
120472
120473// AsTeradataLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
120474func (ols OdbcLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
120475	return nil, false
120476}
120477
120478// AsDb2LinkedService is the BasicLinkedService implementation for OdbcLinkedService.
120479func (ols OdbcLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
120480	return nil, false
120481}
120482
120483// AsSybaseLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
120484func (ols OdbcLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
120485	return nil, false
120486}
120487
120488// AsPostgreSQLLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
120489func (ols OdbcLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
120490	return nil, false
120491}
120492
120493// AsMySQLLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
120494func (ols OdbcLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
120495	return nil, false
120496}
120497
120498// AsAzureMySQLLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
120499func (ols OdbcLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
120500	return nil, false
120501}
120502
120503// AsOracleLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
120504func (ols OdbcLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
120505	return nil, false
120506}
120507
120508// AsFileServerLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
120509func (ols OdbcLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
120510	return nil, false
120511}
120512
120513// AsHDInsightLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
120514func (ols OdbcLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
120515	return nil, false
120516}
120517
120518// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
120519func (ols OdbcLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) {
120520	return nil, false
120521}
120522
120523// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
120524func (ols OdbcLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) {
120525	return nil, false
120526}
120527
120528// AsDynamicsLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
120529func (ols OdbcLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
120530	return nil, false
120531}
120532
120533// AsCosmosDbLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
120534func (ols OdbcLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
120535	return nil, false
120536}
120537
120538// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
120539func (ols OdbcLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
120540	return nil, false
120541}
120542
120543// AsAzureBatchLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
120544func (ols OdbcLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
120545	return nil, false
120546}
120547
120548// AsAzureSQLMILinkedService is the BasicLinkedService implementation for OdbcLinkedService.
120549func (ols OdbcLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) {
120550	return nil, false
120551}
120552
120553// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
120554func (ols OdbcLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
120555	return nil, false
120556}
120557
120558// AsSQLServerLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
120559func (ols OdbcLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
120560	return nil, false
120561}
120562
120563// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
120564func (ols OdbcLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
120565	return nil, false
120566}
120567
120568// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
120569func (ols OdbcLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) {
120570	return nil, false
120571}
120572
120573// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
120574func (ols OdbcLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) {
120575	return nil, false
120576}
120577
120578// AsAzureStorageLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
120579func (ols OdbcLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
120580	return nil, false
120581}
120582
120583// AsLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
120584func (ols OdbcLinkedService) AsLinkedService() (*LinkedService, bool) {
120585	return nil, false
120586}
120587
120588// AsBasicLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
120589func (ols OdbcLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
120590	return &ols, true
120591}
120592
120593// UnmarshalJSON is the custom unmarshaler for OdbcLinkedService struct.
120594func (ols *OdbcLinkedService) UnmarshalJSON(body []byte) error {
120595	var m map[string]*json.RawMessage
120596	err := json.Unmarshal(body, &m)
120597	if err != nil {
120598		return err
120599	}
120600	for k, v := range m {
120601		switch k {
120602		case "typeProperties":
120603			if v != nil {
120604				var odbcLinkedServiceTypeProperties OdbcLinkedServiceTypeProperties
120605				err = json.Unmarshal(*v, &odbcLinkedServiceTypeProperties)
120606				if err != nil {
120607					return err
120608				}
120609				ols.OdbcLinkedServiceTypeProperties = &odbcLinkedServiceTypeProperties
120610			}
120611		default:
120612			if v != nil {
120613				var additionalProperties interface{}
120614				err = json.Unmarshal(*v, &additionalProperties)
120615				if err != nil {
120616					return err
120617				}
120618				if ols.AdditionalProperties == nil {
120619					ols.AdditionalProperties = make(map[string]interface{})
120620				}
120621				ols.AdditionalProperties[k] = additionalProperties
120622			}
120623		case "connectVia":
120624			if v != nil {
120625				var connectVia IntegrationRuntimeReference
120626				err = json.Unmarshal(*v, &connectVia)
120627				if err != nil {
120628					return err
120629				}
120630				ols.ConnectVia = &connectVia
120631			}
120632		case "description":
120633			if v != nil {
120634				var description string
120635				err = json.Unmarshal(*v, &description)
120636				if err != nil {
120637					return err
120638				}
120639				ols.Description = &description
120640			}
120641		case "parameters":
120642			if v != nil {
120643				var parameters map[string]*ParameterSpecification
120644				err = json.Unmarshal(*v, &parameters)
120645				if err != nil {
120646					return err
120647				}
120648				ols.Parameters = parameters
120649			}
120650		case "annotations":
120651			if v != nil {
120652				var annotations []interface{}
120653				err = json.Unmarshal(*v, &annotations)
120654				if err != nil {
120655					return err
120656				}
120657				ols.Annotations = &annotations
120658			}
120659		case "type":
120660			if v != nil {
120661				var typeVar TypeBasicLinkedService
120662				err = json.Unmarshal(*v, &typeVar)
120663				if err != nil {
120664					return err
120665				}
120666				ols.Type = typeVar
120667			}
120668		}
120669	}
120670
120671	return nil
120672}
120673
120674// OdbcLinkedServiceTypeProperties ODBC linked service properties.
120675type OdbcLinkedServiceTypeProperties struct {
120676	// ConnectionString - The non-access credential portion of the connection string as well as an optional encrypted credential. Type: string, SecureString or AzureKeyVaultSecretReference.
120677	ConnectionString interface{} `json:"connectionString,omitempty"`
120678	// 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).
120679	AuthenticationType interface{} `json:"authenticationType,omitempty"`
120680	// Credential - The access credential portion of the connection string specified in driver-specific property-value format.
120681	Credential BasicSecretBase `json:"credential,omitempty"`
120682	// UserName - User name for Basic authentication. Type: string (or Expression with resultType string).
120683	UserName interface{} `json:"userName,omitempty"`
120684	// Password - Password for Basic authentication.
120685	Password BasicSecretBase `json:"password,omitempty"`
120686	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
120687	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
120688}
120689
120690// UnmarshalJSON is the custom unmarshaler for OdbcLinkedServiceTypeProperties struct.
120691func (olstp *OdbcLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
120692	var m map[string]*json.RawMessage
120693	err := json.Unmarshal(body, &m)
120694	if err != nil {
120695		return err
120696	}
120697	for k, v := range m {
120698		switch k {
120699		case "connectionString":
120700			if v != nil {
120701				var connectionString interface{}
120702				err = json.Unmarshal(*v, &connectionString)
120703				if err != nil {
120704					return err
120705				}
120706				olstp.ConnectionString = connectionString
120707			}
120708		case "authenticationType":
120709			if v != nil {
120710				var authenticationType interface{}
120711				err = json.Unmarshal(*v, &authenticationType)
120712				if err != nil {
120713					return err
120714				}
120715				olstp.AuthenticationType = authenticationType
120716			}
120717		case "credential":
120718			if v != nil {
120719				credential, err := unmarshalBasicSecretBase(*v)
120720				if err != nil {
120721					return err
120722				}
120723				olstp.Credential = credential
120724			}
120725		case "userName":
120726			if v != nil {
120727				var userName interface{}
120728				err = json.Unmarshal(*v, &userName)
120729				if err != nil {
120730					return err
120731				}
120732				olstp.UserName = userName
120733			}
120734		case "password":
120735			if v != nil {
120736				password, err := unmarshalBasicSecretBase(*v)
120737				if err != nil {
120738					return err
120739				}
120740				olstp.Password = password
120741			}
120742		case "encryptedCredential":
120743			if v != nil {
120744				var encryptedCredential interface{}
120745				err = json.Unmarshal(*v, &encryptedCredential)
120746				if err != nil {
120747					return err
120748				}
120749				olstp.EncryptedCredential = encryptedCredential
120750			}
120751		}
120752	}
120753
120754	return nil
120755}
120756
120757// OdbcSink a copy activity ODBC sink.
120758type OdbcSink struct {
120759	// PreCopyScript - A query to execute before starting the copy. Type: string (or Expression with resultType string).
120760	PreCopyScript interface{} `json:"preCopyScript,omitempty"`
120761	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
120762	AdditionalProperties map[string]interface{} `json:""`
120763	// WriteBatchSize - Write batch size. Type: integer (or Expression with resultType integer), minimum: 0.
120764	WriteBatchSize interface{} `json:"writeBatchSize,omitempty"`
120765	// 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])).
120766	WriteBatchTimeout interface{} `json:"writeBatchTimeout,omitempty"`
120767	// SinkRetryCount - Sink retry count. Type: integer (or Expression with resultType integer).
120768	SinkRetryCount interface{} `json:"sinkRetryCount,omitempty"`
120769	// 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])).
120770	SinkRetryWait interface{} `json:"sinkRetryWait,omitempty"`
120771	// MaxConcurrentConnections - The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer).
120772	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
120773	// Type - Possible values include: 'TypeCopySink', 'TypeCosmosDbMongoDbAPISink', 'TypeSalesforceServiceCloudSink', 'TypeSalesforceSink', 'TypeAzureDataExplorerSink', 'TypeCommonDataServiceForAppsSink', 'TypeDynamicsCrmSink', 'TypeDynamicsSink', 'TypeMicrosoftAccessSink', 'TypeInformixSink', 'TypeOdbcSink', 'TypeAzureSearchIndexSink', 'TypeAzureBlobFSSink', 'TypeAzureDataLakeStoreSink', 'TypeOracleSink', 'TypeSQLDWSink', 'TypeSQLMISink', 'TypeAzureSQLSink', 'TypeSQLServerSink', 'TypeSQLSink', 'TypeDocumentDbCollectionSink', 'TypeFileSystemSink', 'TypeBlobSink', 'TypeBinarySink', 'TypeParquetSink', 'TypeAzureTableSink', 'TypeAzureQueueSink', 'TypeSapCloudForCustomerSink', 'TypeAzurePostgreSQLSink', 'TypeDelimitedTextSink'
120774	Type TypeBasicCopySink `json:"type,omitempty"`
120775}
120776
120777// MarshalJSON is the custom marshaler for OdbcSink.
120778func (osVar OdbcSink) MarshalJSON() ([]byte, error) {
120779	osVar.Type = TypeOdbcSink
120780	objectMap := make(map[string]interface{})
120781	if osVar.PreCopyScript != nil {
120782		objectMap["preCopyScript"] = osVar.PreCopyScript
120783	}
120784	if osVar.WriteBatchSize != nil {
120785		objectMap["writeBatchSize"] = osVar.WriteBatchSize
120786	}
120787	if osVar.WriteBatchTimeout != nil {
120788		objectMap["writeBatchTimeout"] = osVar.WriteBatchTimeout
120789	}
120790	if osVar.SinkRetryCount != nil {
120791		objectMap["sinkRetryCount"] = osVar.SinkRetryCount
120792	}
120793	if osVar.SinkRetryWait != nil {
120794		objectMap["sinkRetryWait"] = osVar.SinkRetryWait
120795	}
120796	if osVar.MaxConcurrentConnections != nil {
120797		objectMap["maxConcurrentConnections"] = osVar.MaxConcurrentConnections
120798	}
120799	if osVar.Type != "" {
120800		objectMap["type"] = osVar.Type
120801	}
120802	for k, v := range osVar.AdditionalProperties {
120803		objectMap[k] = v
120804	}
120805	return json.Marshal(objectMap)
120806}
120807
120808// AsCosmosDbMongoDbAPISink is the BasicCopySink implementation for OdbcSink.
120809func (osVar OdbcSink) AsCosmosDbMongoDbAPISink() (*CosmosDbMongoDbAPISink, bool) {
120810	return nil, false
120811}
120812
120813// AsSalesforceServiceCloudSink is the BasicCopySink implementation for OdbcSink.
120814func (osVar OdbcSink) AsSalesforceServiceCloudSink() (*SalesforceServiceCloudSink, bool) {
120815	return nil, false
120816}
120817
120818// AsSalesforceSink is the BasicCopySink implementation for OdbcSink.
120819func (osVar OdbcSink) AsSalesforceSink() (*SalesforceSink, bool) {
120820	return nil, false
120821}
120822
120823// AsAzureDataExplorerSink is the BasicCopySink implementation for OdbcSink.
120824func (osVar OdbcSink) AsAzureDataExplorerSink() (*AzureDataExplorerSink, bool) {
120825	return nil, false
120826}
120827
120828// AsCommonDataServiceForAppsSink is the BasicCopySink implementation for OdbcSink.
120829func (osVar OdbcSink) AsCommonDataServiceForAppsSink() (*CommonDataServiceForAppsSink, bool) {
120830	return nil, false
120831}
120832
120833// AsDynamicsCrmSink is the BasicCopySink implementation for OdbcSink.
120834func (osVar OdbcSink) AsDynamicsCrmSink() (*DynamicsCrmSink, bool) {
120835	return nil, false
120836}
120837
120838// AsDynamicsSink is the BasicCopySink implementation for OdbcSink.
120839func (osVar OdbcSink) AsDynamicsSink() (*DynamicsSink, bool) {
120840	return nil, false
120841}
120842
120843// AsMicrosoftAccessSink is the BasicCopySink implementation for OdbcSink.
120844func (osVar OdbcSink) AsMicrosoftAccessSink() (*MicrosoftAccessSink, bool) {
120845	return nil, false
120846}
120847
120848// AsInformixSink is the BasicCopySink implementation for OdbcSink.
120849func (osVar OdbcSink) AsInformixSink() (*InformixSink, bool) {
120850	return nil, false
120851}
120852
120853// AsOdbcSink is the BasicCopySink implementation for OdbcSink.
120854func (osVar OdbcSink) AsOdbcSink() (*OdbcSink, bool) {
120855	return &osVar, true
120856}
120857
120858// AsAzureSearchIndexSink is the BasicCopySink implementation for OdbcSink.
120859func (osVar OdbcSink) AsAzureSearchIndexSink() (*AzureSearchIndexSink, bool) {
120860	return nil, false
120861}
120862
120863// AsAzureBlobFSSink is the BasicCopySink implementation for OdbcSink.
120864func (osVar OdbcSink) AsAzureBlobFSSink() (*AzureBlobFSSink, bool) {
120865	return nil, false
120866}
120867
120868// AsAzureDataLakeStoreSink is the BasicCopySink implementation for OdbcSink.
120869func (osVar OdbcSink) AsAzureDataLakeStoreSink() (*AzureDataLakeStoreSink, bool) {
120870	return nil, false
120871}
120872
120873// AsOracleSink is the BasicCopySink implementation for OdbcSink.
120874func (osVar OdbcSink) AsOracleSink() (*OracleSink, bool) {
120875	return nil, false
120876}
120877
120878// AsSQLDWSink is the BasicCopySink implementation for OdbcSink.
120879func (osVar OdbcSink) AsSQLDWSink() (*SQLDWSink, bool) {
120880	return nil, false
120881}
120882
120883// AsSQLMISink is the BasicCopySink implementation for OdbcSink.
120884func (osVar OdbcSink) AsSQLMISink() (*SQLMISink, bool) {
120885	return nil, false
120886}
120887
120888// AsAzureSQLSink is the BasicCopySink implementation for OdbcSink.
120889func (osVar OdbcSink) AsAzureSQLSink() (*AzureSQLSink, bool) {
120890	return nil, false
120891}
120892
120893// AsSQLServerSink is the BasicCopySink implementation for OdbcSink.
120894func (osVar OdbcSink) AsSQLServerSink() (*SQLServerSink, bool) {
120895	return nil, false
120896}
120897
120898// AsSQLSink is the BasicCopySink implementation for OdbcSink.
120899func (osVar OdbcSink) AsSQLSink() (*SQLSink, bool) {
120900	return nil, false
120901}
120902
120903// AsDocumentDbCollectionSink is the BasicCopySink implementation for OdbcSink.
120904func (osVar OdbcSink) AsDocumentDbCollectionSink() (*DocumentDbCollectionSink, bool) {
120905	return nil, false
120906}
120907
120908// AsFileSystemSink is the BasicCopySink implementation for OdbcSink.
120909func (osVar OdbcSink) AsFileSystemSink() (*FileSystemSink, bool) {
120910	return nil, false
120911}
120912
120913// AsBlobSink is the BasicCopySink implementation for OdbcSink.
120914func (osVar OdbcSink) AsBlobSink() (*BlobSink, bool) {
120915	return nil, false
120916}
120917
120918// AsBinarySink is the BasicCopySink implementation for OdbcSink.
120919func (osVar OdbcSink) AsBinarySink() (*BinarySink, bool) {
120920	return nil, false
120921}
120922
120923// AsParquetSink is the BasicCopySink implementation for OdbcSink.
120924func (osVar OdbcSink) AsParquetSink() (*ParquetSink, bool) {
120925	return nil, false
120926}
120927
120928// AsAzureTableSink is the BasicCopySink implementation for OdbcSink.
120929func (osVar OdbcSink) AsAzureTableSink() (*AzureTableSink, bool) {
120930	return nil, false
120931}
120932
120933// AsAzureQueueSink is the BasicCopySink implementation for OdbcSink.
120934func (osVar OdbcSink) AsAzureQueueSink() (*AzureQueueSink, bool) {
120935	return nil, false
120936}
120937
120938// AsSapCloudForCustomerSink is the BasicCopySink implementation for OdbcSink.
120939func (osVar OdbcSink) AsSapCloudForCustomerSink() (*SapCloudForCustomerSink, bool) {
120940	return nil, false
120941}
120942
120943// AsAzurePostgreSQLSink is the BasicCopySink implementation for OdbcSink.
120944func (osVar OdbcSink) AsAzurePostgreSQLSink() (*AzurePostgreSQLSink, bool) {
120945	return nil, false
120946}
120947
120948// AsDelimitedTextSink is the BasicCopySink implementation for OdbcSink.
120949func (osVar OdbcSink) AsDelimitedTextSink() (*DelimitedTextSink, bool) {
120950	return nil, false
120951}
120952
120953// AsCopySink is the BasicCopySink implementation for OdbcSink.
120954func (osVar OdbcSink) AsCopySink() (*CopySink, bool) {
120955	return nil, false
120956}
120957
120958// AsBasicCopySink is the BasicCopySink implementation for OdbcSink.
120959func (osVar OdbcSink) AsBasicCopySink() (BasicCopySink, bool) {
120960	return &osVar, true
120961}
120962
120963// UnmarshalJSON is the custom unmarshaler for OdbcSink struct.
120964func (osVar *OdbcSink) UnmarshalJSON(body []byte) error {
120965	var m map[string]*json.RawMessage
120966	err := json.Unmarshal(body, &m)
120967	if err != nil {
120968		return err
120969	}
120970	for k, v := range m {
120971		switch k {
120972		case "preCopyScript":
120973			if v != nil {
120974				var preCopyScript interface{}
120975				err = json.Unmarshal(*v, &preCopyScript)
120976				if err != nil {
120977					return err
120978				}
120979				osVar.PreCopyScript = preCopyScript
120980			}
120981		default:
120982			if v != nil {
120983				var additionalProperties interface{}
120984				err = json.Unmarshal(*v, &additionalProperties)
120985				if err != nil {
120986					return err
120987				}
120988				if osVar.AdditionalProperties == nil {
120989					osVar.AdditionalProperties = make(map[string]interface{})
120990				}
120991				osVar.AdditionalProperties[k] = additionalProperties
120992			}
120993		case "writeBatchSize":
120994			if v != nil {
120995				var writeBatchSize interface{}
120996				err = json.Unmarshal(*v, &writeBatchSize)
120997				if err != nil {
120998					return err
120999				}
121000				osVar.WriteBatchSize = writeBatchSize
121001			}
121002		case "writeBatchTimeout":
121003			if v != nil {
121004				var writeBatchTimeout interface{}
121005				err = json.Unmarshal(*v, &writeBatchTimeout)
121006				if err != nil {
121007					return err
121008				}
121009				osVar.WriteBatchTimeout = writeBatchTimeout
121010			}
121011		case "sinkRetryCount":
121012			if v != nil {
121013				var sinkRetryCount interface{}
121014				err = json.Unmarshal(*v, &sinkRetryCount)
121015				if err != nil {
121016					return err
121017				}
121018				osVar.SinkRetryCount = sinkRetryCount
121019			}
121020		case "sinkRetryWait":
121021			if v != nil {
121022				var sinkRetryWait interface{}
121023				err = json.Unmarshal(*v, &sinkRetryWait)
121024				if err != nil {
121025					return err
121026				}
121027				osVar.SinkRetryWait = sinkRetryWait
121028			}
121029		case "maxConcurrentConnections":
121030			if v != nil {
121031				var maxConcurrentConnections interface{}
121032				err = json.Unmarshal(*v, &maxConcurrentConnections)
121033				if err != nil {
121034					return err
121035				}
121036				osVar.MaxConcurrentConnections = maxConcurrentConnections
121037			}
121038		case "type":
121039			if v != nil {
121040				var typeVar TypeBasicCopySink
121041				err = json.Unmarshal(*v, &typeVar)
121042				if err != nil {
121043					return err
121044				}
121045				osVar.Type = typeVar
121046			}
121047		}
121048	}
121049
121050	return nil
121051}
121052
121053// OdbcSource a copy activity source for ODBC databases.
121054type OdbcSource struct {
121055	// Query - Database query. Type: string (or Expression with resultType string).
121056	Query interface{} `json:"query,omitempty"`
121057	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
121058	AdditionalProperties map[string]interface{} `json:""`
121059	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
121060	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
121061	// 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])).
121062	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
121063	// MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer).
121064	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
121065	// Type - Possible values include: 'TypeCopySource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', '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', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeCassandraSource', 'TypeWebSource', 'TypeTeradataSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeAzureMySQLSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeRestSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceServiceCloudSource', 'TypeSalesforceSource', 'TypeODataSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeMicrosoftAccessSource', 'TypeInformixSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAzureTableSource', 'TypeBinarySource', 'TypeDelimitedTextSource', 'TypeParquetSource'
121066	Type TypeBasicCopySource `json:"type,omitempty"`
121067}
121068
121069// MarshalJSON is the custom marshaler for OdbcSource.
121070func (osVar OdbcSource) MarshalJSON() ([]byte, error) {
121071	osVar.Type = TypeOdbcSource
121072	objectMap := make(map[string]interface{})
121073	if osVar.Query != nil {
121074		objectMap["query"] = osVar.Query
121075	}
121076	if osVar.SourceRetryCount != nil {
121077		objectMap["sourceRetryCount"] = osVar.SourceRetryCount
121078	}
121079	if osVar.SourceRetryWait != nil {
121080		objectMap["sourceRetryWait"] = osVar.SourceRetryWait
121081	}
121082	if osVar.MaxConcurrentConnections != nil {
121083		objectMap["maxConcurrentConnections"] = osVar.MaxConcurrentConnections
121084	}
121085	if osVar.Type != "" {
121086		objectMap["type"] = osVar.Type
121087	}
121088	for k, v := range osVar.AdditionalProperties {
121089		objectMap[k] = v
121090	}
121091	return json.Marshal(objectMap)
121092}
121093
121094// AsAmazonRedshiftSource is the BasicCopySource implementation for OdbcSource.
121095func (osVar OdbcSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
121096	return nil, false
121097}
121098
121099// AsGoogleAdWordsSource is the BasicCopySource implementation for OdbcSource.
121100func (osVar OdbcSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) {
121101	return nil, false
121102}
121103
121104// AsOracleServiceCloudSource is the BasicCopySource implementation for OdbcSource.
121105func (osVar OdbcSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) {
121106	return nil, false
121107}
121108
121109// AsDynamicsAXSource is the BasicCopySource implementation for OdbcSource.
121110func (osVar OdbcSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) {
121111	return nil, false
121112}
121113
121114// AsResponsysSource is the BasicCopySource implementation for OdbcSource.
121115func (osVar OdbcSource) AsResponsysSource() (*ResponsysSource, bool) {
121116	return nil, false
121117}
121118
121119// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for OdbcSource.
121120func (osVar OdbcSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
121121	return nil, false
121122}
121123
121124// AsVerticaSource is the BasicCopySource implementation for OdbcSource.
121125func (osVar OdbcSource) AsVerticaSource() (*VerticaSource, bool) {
121126	return nil, false
121127}
121128
121129// AsNetezzaSource is the BasicCopySource implementation for OdbcSource.
121130func (osVar OdbcSource) AsNetezzaSource() (*NetezzaSource, bool) {
121131	return nil, false
121132}
121133
121134// AsZohoSource is the BasicCopySource implementation for OdbcSource.
121135func (osVar OdbcSource) AsZohoSource() (*ZohoSource, bool) {
121136	return nil, false
121137}
121138
121139// AsXeroSource is the BasicCopySource implementation for OdbcSource.
121140func (osVar OdbcSource) AsXeroSource() (*XeroSource, bool) {
121141	return nil, false
121142}
121143
121144// AsSquareSource is the BasicCopySource implementation for OdbcSource.
121145func (osVar OdbcSource) AsSquareSource() (*SquareSource, bool) {
121146	return nil, false
121147}
121148
121149// AsSparkSource is the BasicCopySource implementation for OdbcSource.
121150func (osVar OdbcSource) AsSparkSource() (*SparkSource, bool) {
121151	return nil, false
121152}
121153
121154// AsShopifySource is the BasicCopySource implementation for OdbcSource.
121155func (osVar OdbcSource) AsShopifySource() (*ShopifySource, bool) {
121156	return nil, false
121157}
121158
121159// AsServiceNowSource is the BasicCopySource implementation for OdbcSource.
121160func (osVar OdbcSource) AsServiceNowSource() (*ServiceNowSource, bool) {
121161	return nil, false
121162}
121163
121164// AsQuickBooksSource is the BasicCopySource implementation for OdbcSource.
121165func (osVar OdbcSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
121166	return nil, false
121167}
121168
121169// AsPrestoSource is the BasicCopySource implementation for OdbcSource.
121170func (osVar OdbcSource) AsPrestoSource() (*PrestoSource, bool) {
121171	return nil, false
121172}
121173
121174// AsPhoenixSource is the BasicCopySource implementation for OdbcSource.
121175func (osVar OdbcSource) AsPhoenixSource() (*PhoenixSource, bool) {
121176	return nil, false
121177}
121178
121179// AsPaypalSource is the BasicCopySource implementation for OdbcSource.
121180func (osVar OdbcSource) AsPaypalSource() (*PaypalSource, bool) {
121181	return nil, false
121182}
121183
121184// AsMarketoSource is the BasicCopySource implementation for OdbcSource.
121185func (osVar OdbcSource) AsMarketoSource() (*MarketoSource, bool) {
121186	return nil, false
121187}
121188
121189// AsMariaDBSource is the BasicCopySource implementation for OdbcSource.
121190func (osVar OdbcSource) AsMariaDBSource() (*MariaDBSource, bool) {
121191	return nil, false
121192}
121193
121194// AsMagentoSource is the BasicCopySource implementation for OdbcSource.
121195func (osVar OdbcSource) AsMagentoSource() (*MagentoSource, bool) {
121196	return nil, false
121197}
121198
121199// AsJiraSource is the BasicCopySource implementation for OdbcSource.
121200func (osVar OdbcSource) AsJiraSource() (*JiraSource, bool) {
121201	return nil, false
121202}
121203
121204// AsImpalaSource is the BasicCopySource implementation for OdbcSource.
121205func (osVar OdbcSource) AsImpalaSource() (*ImpalaSource, bool) {
121206	return nil, false
121207}
121208
121209// AsHubspotSource is the BasicCopySource implementation for OdbcSource.
121210func (osVar OdbcSource) AsHubspotSource() (*HubspotSource, bool) {
121211	return nil, false
121212}
121213
121214// AsHiveSource is the BasicCopySource implementation for OdbcSource.
121215func (osVar OdbcSource) AsHiveSource() (*HiveSource, bool) {
121216	return nil, false
121217}
121218
121219// AsHBaseSource is the BasicCopySource implementation for OdbcSource.
121220func (osVar OdbcSource) AsHBaseSource() (*HBaseSource, bool) {
121221	return nil, false
121222}
121223
121224// AsGreenplumSource is the BasicCopySource implementation for OdbcSource.
121225func (osVar OdbcSource) AsGreenplumSource() (*GreenplumSource, bool) {
121226	return nil, false
121227}
121228
121229// AsGoogleBigQuerySource is the BasicCopySource implementation for OdbcSource.
121230func (osVar OdbcSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
121231	return nil, false
121232}
121233
121234// AsEloquaSource is the BasicCopySource implementation for OdbcSource.
121235func (osVar OdbcSource) AsEloquaSource() (*EloquaSource, bool) {
121236	return nil, false
121237}
121238
121239// AsDrillSource is the BasicCopySource implementation for OdbcSource.
121240func (osVar OdbcSource) AsDrillSource() (*DrillSource, bool) {
121241	return nil, false
121242}
121243
121244// AsCouchbaseSource is the BasicCopySource implementation for OdbcSource.
121245func (osVar OdbcSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
121246	return nil, false
121247}
121248
121249// AsConcurSource is the BasicCopySource implementation for OdbcSource.
121250func (osVar OdbcSource) AsConcurSource() (*ConcurSource, bool) {
121251	return nil, false
121252}
121253
121254// AsAzurePostgreSQLSource is the BasicCopySource implementation for OdbcSource.
121255func (osVar OdbcSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
121256	return nil, false
121257}
121258
121259// AsAmazonMWSSource is the BasicCopySource implementation for OdbcSource.
121260func (osVar OdbcSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
121261	return nil, false
121262}
121263
121264// AsHTTPSource is the BasicCopySource implementation for OdbcSource.
121265func (osVar OdbcSource) AsHTTPSource() (*HTTPSource, bool) {
121266	return nil, false
121267}
121268
121269// AsAzureBlobFSSource is the BasicCopySource implementation for OdbcSource.
121270func (osVar OdbcSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) {
121271	return nil, false
121272}
121273
121274// AsAzureDataLakeStoreSource is the BasicCopySource implementation for OdbcSource.
121275func (osVar OdbcSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
121276	return nil, false
121277}
121278
121279// AsOffice365Source is the BasicCopySource implementation for OdbcSource.
121280func (osVar OdbcSource) AsOffice365Source() (*Office365Source, bool) {
121281	return nil, false
121282}
121283
121284// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for OdbcSource.
121285func (osVar OdbcSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) {
121286	return nil, false
121287}
121288
121289// AsMongoDbV2Source is the BasicCopySource implementation for OdbcSource.
121290func (osVar OdbcSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) {
121291	return nil, false
121292}
121293
121294// AsMongoDbSource is the BasicCopySource implementation for OdbcSource.
121295func (osVar OdbcSource) AsMongoDbSource() (*MongoDbSource, bool) {
121296	return nil, false
121297}
121298
121299// AsCassandraSource is the BasicCopySource implementation for OdbcSource.
121300func (osVar OdbcSource) AsCassandraSource() (*CassandraSource, bool) {
121301	return nil, false
121302}
121303
121304// AsWebSource is the BasicCopySource implementation for OdbcSource.
121305func (osVar OdbcSource) AsWebSource() (*WebSource, bool) {
121306	return nil, false
121307}
121308
121309// AsTeradataSource is the BasicCopySource implementation for OdbcSource.
121310func (osVar OdbcSource) AsTeradataSource() (*TeradataSource, bool) {
121311	return nil, false
121312}
121313
121314// AsOracleSource is the BasicCopySource implementation for OdbcSource.
121315func (osVar OdbcSource) AsOracleSource() (*OracleSource, bool) {
121316	return nil, false
121317}
121318
121319// AsAzureDataExplorerSource is the BasicCopySource implementation for OdbcSource.
121320func (osVar OdbcSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) {
121321	return nil, false
121322}
121323
121324// AsAzureMySQLSource is the BasicCopySource implementation for OdbcSource.
121325func (osVar OdbcSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
121326	return nil, false
121327}
121328
121329// AsHdfsSource is the BasicCopySource implementation for OdbcSource.
121330func (osVar OdbcSource) AsHdfsSource() (*HdfsSource, bool) {
121331	return nil, false
121332}
121333
121334// AsFileSystemSource is the BasicCopySource implementation for OdbcSource.
121335func (osVar OdbcSource) AsFileSystemSource() (*FileSystemSource, bool) {
121336	return nil, false
121337}
121338
121339// AsSQLDWSource is the BasicCopySource implementation for OdbcSource.
121340func (osVar OdbcSource) AsSQLDWSource() (*SQLDWSource, bool) {
121341	return nil, false
121342}
121343
121344// AsSQLMISource is the BasicCopySource implementation for OdbcSource.
121345func (osVar OdbcSource) AsSQLMISource() (*SQLMISource, bool) {
121346	return nil, false
121347}
121348
121349// AsAzureSQLSource is the BasicCopySource implementation for OdbcSource.
121350func (osVar OdbcSource) AsAzureSQLSource() (*AzureSQLSource, bool) {
121351	return nil, false
121352}
121353
121354// AsSQLServerSource is the BasicCopySource implementation for OdbcSource.
121355func (osVar OdbcSource) AsSQLServerSource() (*SQLServerSource, bool) {
121356	return nil, false
121357}
121358
121359// AsSQLSource is the BasicCopySource implementation for OdbcSource.
121360func (osVar OdbcSource) AsSQLSource() (*SQLSource, bool) {
121361	return nil, false
121362}
121363
121364// AsRestSource is the BasicCopySource implementation for OdbcSource.
121365func (osVar OdbcSource) AsRestSource() (*RestSource, bool) {
121366	return nil, false
121367}
121368
121369// AsSapTableSource is the BasicCopySource implementation for OdbcSource.
121370func (osVar OdbcSource) AsSapTableSource() (*SapTableSource, bool) {
121371	return nil, false
121372}
121373
121374// AsSapOpenHubSource is the BasicCopySource implementation for OdbcSource.
121375func (osVar OdbcSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) {
121376	return nil, false
121377}
121378
121379// AsSapHanaSource is the BasicCopySource implementation for OdbcSource.
121380func (osVar OdbcSource) AsSapHanaSource() (*SapHanaSource, bool) {
121381	return nil, false
121382}
121383
121384// AsSapEccSource is the BasicCopySource implementation for OdbcSource.
121385func (osVar OdbcSource) AsSapEccSource() (*SapEccSource, bool) {
121386	return nil, false
121387}
121388
121389// AsSapCloudForCustomerSource is the BasicCopySource implementation for OdbcSource.
121390func (osVar OdbcSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
121391	return nil, false
121392}
121393
121394// AsSalesforceServiceCloudSource is the BasicCopySource implementation for OdbcSource.
121395func (osVar OdbcSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) {
121396	return nil, false
121397}
121398
121399// AsSalesforceSource is the BasicCopySource implementation for OdbcSource.
121400func (osVar OdbcSource) AsSalesforceSource() (*SalesforceSource, bool) {
121401	return nil, false
121402}
121403
121404// AsODataSource is the BasicCopySource implementation for OdbcSource.
121405func (osVar OdbcSource) AsODataSource() (*ODataSource, bool) {
121406	return nil, false
121407}
121408
121409// AsSybaseSource is the BasicCopySource implementation for OdbcSource.
121410func (osVar OdbcSource) AsSybaseSource() (*SybaseSource, bool) {
121411	return nil, false
121412}
121413
121414// AsPostgreSQLSource is the BasicCopySource implementation for OdbcSource.
121415func (osVar OdbcSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) {
121416	return nil, false
121417}
121418
121419// AsMySQLSource is the BasicCopySource implementation for OdbcSource.
121420func (osVar OdbcSource) AsMySQLSource() (*MySQLSource, bool) {
121421	return nil, false
121422}
121423
121424// AsOdbcSource is the BasicCopySource implementation for OdbcSource.
121425func (osVar OdbcSource) AsOdbcSource() (*OdbcSource, bool) {
121426	return &osVar, true
121427}
121428
121429// AsDb2Source is the BasicCopySource implementation for OdbcSource.
121430func (osVar OdbcSource) AsDb2Source() (*Db2Source, bool) {
121431	return nil, false
121432}
121433
121434// AsMicrosoftAccessSource is the BasicCopySource implementation for OdbcSource.
121435func (osVar OdbcSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) {
121436	return nil, false
121437}
121438
121439// AsInformixSource is the BasicCopySource implementation for OdbcSource.
121440func (osVar OdbcSource) AsInformixSource() (*InformixSource, bool) {
121441	return nil, false
121442}
121443
121444// AsRelationalSource is the BasicCopySource implementation for OdbcSource.
121445func (osVar OdbcSource) AsRelationalSource() (*RelationalSource, bool) {
121446	return nil, false
121447}
121448
121449// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for OdbcSource.
121450func (osVar OdbcSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) {
121451	return nil, false
121452}
121453
121454// AsDynamicsCrmSource is the BasicCopySource implementation for OdbcSource.
121455func (osVar OdbcSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) {
121456	return nil, false
121457}
121458
121459// AsDynamicsSource is the BasicCopySource implementation for OdbcSource.
121460func (osVar OdbcSource) AsDynamicsSource() (*DynamicsSource, bool) {
121461	return nil, false
121462}
121463
121464// AsDocumentDbCollectionSource is the BasicCopySource implementation for OdbcSource.
121465func (osVar OdbcSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
121466	return nil, false
121467}
121468
121469// AsBlobSource is the BasicCopySource implementation for OdbcSource.
121470func (osVar OdbcSource) AsBlobSource() (*BlobSource, bool) {
121471	return nil, false
121472}
121473
121474// AsAzureTableSource is the BasicCopySource implementation for OdbcSource.
121475func (osVar OdbcSource) AsAzureTableSource() (*AzureTableSource, bool) {
121476	return nil, false
121477}
121478
121479// AsBinarySource is the BasicCopySource implementation for OdbcSource.
121480func (osVar OdbcSource) AsBinarySource() (*BinarySource, bool) {
121481	return nil, false
121482}
121483
121484// AsDelimitedTextSource is the BasicCopySource implementation for OdbcSource.
121485func (osVar OdbcSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) {
121486	return nil, false
121487}
121488
121489// AsParquetSource is the BasicCopySource implementation for OdbcSource.
121490func (osVar OdbcSource) AsParquetSource() (*ParquetSource, bool) {
121491	return nil, false
121492}
121493
121494// AsCopySource is the BasicCopySource implementation for OdbcSource.
121495func (osVar OdbcSource) AsCopySource() (*CopySource, bool) {
121496	return nil, false
121497}
121498
121499// AsBasicCopySource is the BasicCopySource implementation for OdbcSource.
121500func (osVar OdbcSource) AsBasicCopySource() (BasicCopySource, bool) {
121501	return &osVar, true
121502}
121503
121504// UnmarshalJSON is the custom unmarshaler for OdbcSource struct.
121505func (osVar *OdbcSource) UnmarshalJSON(body []byte) error {
121506	var m map[string]*json.RawMessage
121507	err := json.Unmarshal(body, &m)
121508	if err != nil {
121509		return err
121510	}
121511	for k, v := range m {
121512		switch k {
121513		case "query":
121514			if v != nil {
121515				var query interface{}
121516				err = json.Unmarshal(*v, &query)
121517				if err != nil {
121518					return err
121519				}
121520				osVar.Query = query
121521			}
121522		default:
121523			if v != nil {
121524				var additionalProperties interface{}
121525				err = json.Unmarshal(*v, &additionalProperties)
121526				if err != nil {
121527					return err
121528				}
121529				if osVar.AdditionalProperties == nil {
121530					osVar.AdditionalProperties = make(map[string]interface{})
121531				}
121532				osVar.AdditionalProperties[k] = additionalProperties
121533			}
121534		case "sourceRetryCount":
121535			if v != nil {
121536				var sourceRetryCount interface{}
121537				err = json.Unmarshal(*v, &sourceRetryCount)
121538				if err != nil {
121539					return err
121540				}
121541				osVar.SourceRetryCount = sourceRetryCount
121542			}
121543		case "sourceRetryWait":
121544			if v != nil {
121545				var sourceRetryWait interface{}
121546				err = json.Unmarshal(*v, &sourceRetryWait)
121547				if err != nil {
121548					return err
121549				}
121550				osVar.SourceRetryWait = sourceRetryWait
121551			}
121552		case "maxConcurrentConnections":
121553			if v != nil {
121554				var maxConcurrentConnections interface{}
121555				err = json.Unmarshal(*v, &maxConcurrentConnections)
121556				if err != nil {
121557					return err
121558				}
121559				osVar.MaxConcurrentConnections = maxConcurrentConnections
121560			}
121561		case "type":
121562			if v != nil {
121563				var typeVar TypeBasicCopySource
121564				err = json.Unmarshal(*v, &typeVar)
121565				if err != nil {
121566					return err
121567				}
121568				osVar.Type = typeVar
121569			}
121570		}
121571	}
121572
121573	return nil
121574}
121575
121576// OdbcTableDataset the ODBC table dataset.
121577type OdbcTableDataset struct {
121578	// OdbcTableDatasetTypeProperties - ODBC table dataset properties.
121579	*OdbcTableDatasetTypeProperties `json:"typeProperties,omitempty"`
121580	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
121581	AdditionalProperties map[string]interface{} `json:""`
121582	// Description - Dataset description.
121583	Description *string `json:"description,omitempty"`
121584	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
121585	Structure interface{} `json:"structure,omitempty"`
121586	// Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement.
121587	Schema interface{} `json:"schema,omitempty"`
121588	// LinkedServiceName - Linked service reference.
121589	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
121590	// Parameters - Parameters for dataset.
121591	Parameters map[string]*ParameterSpecification `json:"parameters"`
121592	// Annotations - List of tags that can be used for describing the Dataset.
121593	Annotations *[]interface{} `json:"annotations,omitempty"`
121594	// Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level.
121595	Folder *DatasetFolder `json:"folder,omitempty"`
121596	// Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', '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', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeDelimitedText', 'TypeParquet', 'TypeAmazonS3Object'
121597	Type TypeBasicDataset `json:"type,omitempty"`
121598}
121599
121600// MarshalJSON is the custom marshaler for OdbcTableDataset.
121601func (otd OdbcTableDataset) MarshalJSON() ([]byte, error) {
121602	otd.Type = TypeOdbcTable
121603	objectMap := make(map[string]interface{})
121604	if otd.OdbcTableDatasetTypeProperties != nil {
121605		objectMap["typeProperties"] = otd.OdbcTableDatasetTypeProperties
121606	}
121607	if otd.Description != nil {
121608		objectMap["description"] = otd.Description
121609	}
121610	if otd.Structure != nil {
121611		objectMap["structure"] = otd.Structure
121612	}
121613	if otd.Schema != nil {
121614		objectMap["schema"] = otd.Schema
121615	}
121616	if otd.LinkedServiceName != nil {
121617		objectMap["linkedServiceName"] = otd.LinkedServiceName
121618	}
121619	if otd.Parameters != nil {
121620		objectMap["parameters"] = otd.Parameters
121621	}
121622	if otd.Annotations != nil {
121623		objectMap["annotations"] = otd.Annotations
121624	}
121625	if otd.Folder != nil {
121626		objectMap["folder"] = otd.Folder
121627	}
121628	if otd.Type != "" {
121629		objectMap["type"] = otd.Type
121630	}
121631	for k, v := range otd.AdditionalProperties {
121632		objectMap[k] = v
121633	}
121634	return json.Marshal(objectMap)
121635}
121636
121637// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for OdbcTableDataset.
121638func (otd OdbcTableDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) {
121639	return nil, false
121640}
121641
121642// AsAzureDataExplorerTableDataset is the BasicDataset implementation for OdbcTableDataset.
121643func (otd OdbcTableDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) {
121644	return nil, false
121645}
121646
121647// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for OdbcTableDataset.
121648func (otd OdbcTableDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) {
121649	return nil, false
121650}
121651
121652// AsDynamicsAXResourceDataset is the BasicDataset implementation for OdbcTableDataset.
121653func (otd OdbcTableDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) {
121654	return nil, false
121655}
121656
121657// AsResponsysObjectDataset is the BasicDataset implementation for OdbcTableDataset.
121658func (otd OdbcTableDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
121659	return nil, false
121660}
121661
121662// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for OdbcTableDataset.
121663func (otd OdbcTableDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
121664	return nil, false
121665}
121666
121667// AsVerticaTableDataset is the BasicDataset implementation for OdbcTableDataset.
121668func (otd OdbcTableDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
121669	return nil, false
121670}
121671
121672// AsNetezzaTableDataset is the BasicDataset implementation for OdbcTableDataset.
121673func (otd OdbcTableDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
121674	return nil, false
121675}
121676
121677// AsZohoObjectDataset is the BasicDataset implementation for OdbcTableDataset.
121678func (otd OdbcTableDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
121679	return nil, false
121680}
121681
121682// AsXeroObjectDataset is the BasicDataset implementation for OdbcTableDataset.
121683func (otd OdbcTableDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
121684	return nil, false
121685}
121686
121687// AsSquareObjectDataset is the BasicDataset implementation for OdbcTableDataset.
121688func (otd OdbcTableDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
121689	return nil, false
121690}
121691
121692// AsSparkObjectDataset is the BasicDataset implementation for OdbcTableDataset.
121693func (otd OdbcTableDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
121694	return nil, false
121695}
121696
121697// AsShopifyObjectDataset is the BasicDataset implementation for OdbcTableDataset.
121698func (otd OdbcTableDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
121699	return nil, false
121700}
121701
121702// AsServiceNowObjectDataset is the BasicDataset implementation for OdbcTableDataset.
121703func (otd OdbcTableDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
121704	return nil, false
121705}
121706
121707// AsQuickBooksObjectDataset is the BasicDataset implementation for OdbcTableDataset.
121708func (otd OdbcTableDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
121709	return nil, false
121710}
121711
121712// AsPrestoObjectDataset is the BasicDataset implementation for OdbcTableDataset.
121713func (otd OdbcTableDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
121714	return nil, false
121715}
121716
121717// AsPhoenixObjectDataset is the BasicDataset implementation for OdbcTableDataset.
121718func (otd OdbcTableDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
121719	return nil, false
121720}
121721
121722// AsPaypalObjectDataset is the BasicDataset implementation for OdbcTableDataset.
121723func (otd OdbcTableDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
121724	return nil, false
121725}
121726
121727// AsMarketoObjectDataset is the BasicDataset implementation for OdbcTableDataset.
121728func (otd OdbcTableDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
121729	return nil, false
121730}
121731
121732// AsMariaDBTableDataset is the BasicDataset implementation for OdbcTableDataset.
121733func (otd OdbcTableDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
121734	return nil, false
121735}
121736
121737// AsMagentoObjectDataset is the BasicDataset implementation for OdbcTableDataset.
121738func (otd OdbcTableDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
121739	return nil, false
121740}
121741
121742// AsJiraObjectDataset is the BasicDataset implementation for OdbcTableDataset.
121743func (otd OdbcTableDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
121744	return nil, false
121745}
121746
121747// AsImpalaObjectDataset is the BasicDataset implementation for OdbcTableDataset.
121748func (otd OdbcTableDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
121749	return nil, false
121750}
121751
121752// AsHubspotObjectDataset is the BasicDataset implementation for OdbcTableDataset.
121753func (otd OdbcTableDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
121754	return nil, false
121755}
121756
121757// AsHiveObjectDataset is the BasicDataset implementation for OdbcTableDataset.
121758func (otd OdbcTableDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
121759	return nil, false
121760}
121761
121762// AsHBaseObjectDataset is the BasicDataset implementation for OdbcTableDataset.
121763func (otd OdbcTableDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
121764	return nil, false
121765}
121766
121767// AsGreenplumTableDataset is the BasicDataset implementation for OdbcTableDataset.
121768func (otd OdbcTableDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
121769	return nil, false
121770}
121771
121772// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for OdbcTableDataset.
121773func (otd OdbcTableDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
121774	return nil, false
121775}
121776
121777// AsEloquaObjectDataset is the BasicDataset implementation for OdbcTableDataset.
121778func (otd OdbcTableDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
121779	return nil, false
121780}
121781
121782// AsDrillTableDataset is the BasicDataset implementation for OdbcTableDataset.
121783func (otd OdbcTableDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
121784	return nil, false
121785}
121786
121787// AsCouchbaseTableDataset is the BasicDataset implementation for OdbcTableDataset.
121788func (otd OdbcTableDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
121789	return nil, false
121790}
121791
121792// AsConcurObjectDataset is the BasicDataset implementation for OdbcTableDataset.
121793func (otd OdbcTableDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
121794	return nil, false
121795}
121796
121797// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for OdbcTableDataset.
121798func (otd OdbcTableDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
121799	return nil, false
121800}
121801
121802// AsAmazonMWSObjectDataset is the BasicDataset implementation for OdbcTableDataset.
121803func (otd OdbcTableDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
121804	return nil, false
121805}
121806
121807// AsHTTPDataset is the BasicDataset implementation for OdbcTableDataset.
121808func (otd OdbcTableDataset) AsHTTPDataset() (*HTTPDataset, bool) {
121809	return nil, false
121810}
121811
121812// AsAzureSearchIndexDataset is the BasicDataset implementation for OdbcTableDataset.
121813func (otd OdbcTableDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
121814	return nil, false
121815}
121816
121817// AsWebTableDataset is the BasicDataset implementation for OdbcTableDataset.
121818func (otd OdbcTableDataset) AsWebTableDataset() (*WebTableDataset, bool) {
121819	return nil, false
121820}
121821
121822// AsSapTableResourceDataset is the BasicDataset implementation for OdbcTableDataset.
121823func (otd OdbcTableDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) {
121824	return nil, false
121825}
121826
121827// AsRestResourceDataset is the BasicDataset implementation for OdbcTableDataset.
121828func (otd OdbcTableDataset) AsRestResourceDataset() (*RestResourceDataset, bool) {
121829	return nil, false
121830}
121831
121832// AsSQLServerTableDataset is the BasicDataset implementation for OdbcTableDataset.
121833func (otd OdbcTableDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
121834	return nil, false
121835}
121836
121837// AsSapOpenHubTableDataset is the BasicDataset implementation for OdbcTableDataset.
121838func (otd OdbcTableDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) {
121839	return nil, false
121840}
121841
121842// AsSapHanaTableDataset is the BasicDataset implementation for OdbcTableDataset.
121843func (otd OdbcTableDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) {
121844	return nil, false
121845}
121846
121847// AsSapEccResourceDataset is the BasicDataset implementation for OdbcTableDataset.
121848func (otd OdbcTableDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
121849	return nil, false
121850}
121851
121852// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for OdbcTableDataset.
121853func (otd OdbcTableDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
121854	return nil, false
121855}
121856
121857// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for OdbcTableDataset.
121858func (otd OdbcTableDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) {
121859	return nil, false
121860}
121861
121862// AsSalesforceObjectDataset is the BasicDataset implementation for OdbcTableDataset.
121863func (otd OdbcTableDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
121864	return nil, false
121865}
121866
121867// AsMicrosoftAccessTableDataset is the BasicDataset implementation for OdbcTableDataset.
121868func (otd OdbcTableDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) {
121869	return nil, false
121870}
121871
121872// AsPostgreSQLTableDataset is the BasicDataset implementation for OdbcTableDataset.
121873func (otd OdbcTableDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) {
121874	return nil, false
121875}
121876
121877// AsMySQLTableDataset is the BasicDataset implementation for OdbcTableDataset.
121878func (otd OdbcTableDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) {
121879	return nil, false
121880}
121881
121882// AsOdbcTableDataset is the BasicDataset implementation for OdbcTableDataset.
121883func (otd OdbcTableDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) {
121884	return &otd, true
121885}
121886
121887// AsInformixTableDataset is the BasicDataset implementation for OdbcTableDataset.
121888func (otd OdbcTableDataset) AsInformixTableDataset() (*InformixTableDataset, bool) {
121889	return nil, false
121890}
121891
121892// AsRelationalTableDataset is the BasicDataset implementation for OdbcTableDataset.
121893func (otd OdbcTableDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
121894	return nil, false
121895}
121896
121897// AsAzureMySQLTableDataset is the BasicDataset implementation for OdbcTableDataset.
121898func (otd OdbcTableDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
121899	return nil, false
121900}
121901
121902// AsTeradataTableDataset is the BasicDataset implementation for OdbcTableDataset.
121903func (otd OdbcTableDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) {
121904	return nil, false
121905}
121906
121907// AsOracleTableDataset is the BasicDataset implementation for OdbcTableDataset.
121908func (otd OdbcTableDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
121909	return nil, false
121910}
121911
121912// AsODataResourceDataset is the BasicDataset implementation for OdbcTableDataset.
121913func (otd OdbcTableDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
121914	return nil, false
121915}
121916
121917// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for OdbcTableDataset.
121918func (otd OdbcTableDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) {
121919	return nil, false
121920}
121921
121922// AsMongoDbV2CollectionDataset is the BasicDataset implementation for OdbcTableDataset.
121923func (otd OdbcTableDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) {
121924	return nil, false
121925}
121926
121927// AsMongoDbCollectionDataset is the BasicDataset implementation for OdbcTableDataset.
121928func (otd OdbcTableDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
121929	return nil, false
121930}
121931
121932// AsFileShareDataset is the BasicDataset implementation for OdbcTableDataset.
121933func (otd OdbcTableDataset) AsFileShareDataset() (*FileShareDataset, bool) {
121934	return nil, false
121935}
121936
121937// AsOffice365Dataset is the BasicDataset implementation for OdbcTableDataset.
121938func (otd OdbcTableDataset) AsOffice365Dataset() (*Office365Dataset, bool) {
121939	return nil, false
121940}
121941
121942// AsAzureBlobFSDataset is the BasicDataset implementation for OdbcTableDataset.
121943func (otd OdbcTableDataset) AsAzureBlobFSDataset() (*AzureBlobFSDataset, bool) {
121944	return nil, false
121945}
121946
121947// AsAzureDataLakeStoreDataset is the BasicDataset implementation for OdbcTableDataset.
121948func (otd OdbcTableDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) {
121949	return nil, false
121950}
121951
121952// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for OdbcTableDataset.
121953func (otd OdbcTableDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) {
121954	return nil, false
121955}
121956
121957// AsDynamicsCrmEntityDataset is the BasicDataset implementation for OdbcTableDataset.
121958func (otd OdbcTableDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) {
121959	return nil, false
121960}
121961
121962// AsDynamicsEntityDataset is the BasicDataset implementation for OdbcTableDataset.
121963func (otd OdbcTableDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
121964	return nil, false
121965}
121966
121967// AsDocumentDbCollectionDataset is the BasicDataset implementation for OdbcTableDataset.
121968func (otd OdbcTableDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
121969	return nil, false
121970}
121971
121972// AsCustomDataset is the BasicDataset implementation for OdbcTableDataset.
121973func (otd OdbcTableDataset) AsCustomDataset() (*CustomDataset, bool) {
121974	return nil, false
121975}
121976
121977// AsCassandraTableDataset is the BasicDataset implementation for OdbcTableDataset.
121978func (otd OdbcTableDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
121979	return nil, false
121980}
121981
121982// AsAzureSQLDWTableDataset is the BasicDataset implementation for OdbcTableDataset.
121983func (otd OdbcTableDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
121984	return nil, false
121985}
121986
121987// AsAzureSQLMITableDataset is the BasicDataset implementation for OdbcTableDataset.
121988func (otd OdbcTableDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) {
121989	return nil, false
121990}
121991
121992// AsAzureSQLTableDataset is the BasicDataset implementation for OdbcTableDataset.
121993func (otd OdbcTableDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
121994	return nil, false
121995}
121996
121997// AsAzureTableDataset is the BasicDataset implementation for OdbcTableDataset.
121998func (otd OdbcTableDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
121999	return nil, false
122000}
122001
122002// AsAzureBlobDataset is the BasicDataset implementation for OdbcTableDataset.
122003func (otd OdbcTableDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) {
122004	return nil, false
122005}
122006
122007// AsBinaryDataset is the BasicDataset implementation for OdbcTableDataset.
122008func (otd OdbcTableDataset) AsBinaryDataset() (*BinaryDataset, bool) {
122009	return nil, false
122010}
122011
122012// AsDelimitedTextDataset is the BasicDataset implementation for OdbcTableDataset.
122013func (otd OdbcTableDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) {
122014	return nil, false
122015}
122016
122017// AsParquetDataset is the BasicDataset implementation for OdbcTableDataset.
122018func (otd OdbcTableDataset) AsParquetDataset() (*ParquetDataset, bool) {
122019	return nil, false
122020}
122021
122022// AsAmazonS3Dataset is the BasicDataset implementation for OdbcTableDataset.
122023func (otd OdbcTableDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) {
122024	return nil, false
122025}
122026
122027// AsDataset is the BasicDataset implementation for OdbcTableDataset.
122028func (otd OdbcTableDataset) AsDataset() (*Dataset, bool) {
122029	return nil, false
122030}
122031
122032// AsBasicDataset is the BasicDataset implementation for OdbcTableDataset.
122033func (otd OdbcTableDataset) AsBasicDataset() (BasicDataset, bool) {
122034	return &otd, true
122035}
122036
122037// UnmarshalJSON is the custom unmarshaler for OdbcTableDataset struct.
122038func (otd *OdbcTableDataset) UnmarshalJSON(body []byte) error {
122039	var m map[string]*json.RawMessage
122040	err := json.Unmarshal(body, &m)
122041	if err != nil {
122042		return err
122043	}
122044	for k, v := range m {
122045		switch k {
122046		case "typeProperties":
122047			if v != nil {
122048				var odbcTableDatasetTypeProperties OdbcTableDatasetTypeProperties
122049				err = json.Unmarshal(*v, &odbcTableDatasetTypeProperties)
122050				if err != nil {
122051					return err
122052				}
122053				otd.OdbcTableDatasetTypeProperties = &odbcTableDatasetTypeProperties
122054			}
122055		default:
122056			if v != nil {
122057				var additionalProperties interface{}
122058				err = json.Unmarshal(*v, &additionalProperties)
122059				if err != nil {
122060					return err
122061				}
122062				if otd.AdditionalProperties == nil {
122063					otd.AdditionalProperties = make(map[string]interface{})
122064				}
122065				otd.AdditionalProperties[k] = additionalProperties
122066			}
122067		case "description":
122068			if v != nil {
122069				var description string
122070				err = json.Unmarshal(*v, &description)
122071				if err != nil {
122072					return err
122073				}
122074				otd.Description = &description
122075			}
122076		case "structure":
122077			if v != nil {
122078				var structure interface{}
122079				err = json.Unmarshal(*v, &structure)
122080				if err != nil {
122081					return err
122082				}
122083				otd.Structure = structure
122084			}
122085		case "schema":
122086			if v != nil {
122087				var schema interface{}
122088				err = json.Unmarshal(*v, &schema)
122089				if err != nil {
122090					return err
122091				}
122092				otd.Schema = schema
122093			}
122094		case "linkedServiceName":
122095			if v != nil {
122096				var linkedServiceName LinkedServiceReference
122097				err = json.Unmarshal(*v, &linkedServiceName)
122098				if err != nil {
122099					return err
122100				}
122101				otd.LinkedServiceName = &linkedServiceName
122102			}
122103		case "parameters":
122104			if v != nil {
122105				var parameters map[string]*ParameterSpecification
122106				err = json.Unmarshal(*v, &parameters)
122107				if err != nil {
122108					return err
122109				}
122110				otd.Parameters = parameters
122111			}
122112		case "annotations":
122113			if v != nil {
122114				var annotations []interface{}
122115				err = json.Unmarshal(*v, &annotations)
122116				if err != nil {
122117					return err
122118				}
122119				otd.Annotations = &annotations
122120			}
122121		case "folder":
122122			if v != nil {
122123				var folder DatasetFolder
122124				err = json.Unmarshal(*v, &folder)
122125				if err != nil {
122126					return err
122127				}
122128				otd.Folder = &folder
122129			}
122130		case "type":
122131			if v != nil {
122132				var typeVar TypeBasicDataset
122133				err = json.Unmarshal(*v, &typeVar)
122134				if err != nil {
122135					return err
122136				}
122137				otd.Type = typeVar
122138			}
122139		}
122140	}
122141
122142	return nil
122143}
122144
122145// OdbcTableDatasetTypeProperties ODBC table dataset properties.
122146type OdbcTableDatasetTypeProperties struct {
122147	// TableName - The ODBC table name. Type: string (or Expression with resultType string).
122148	TableName interface{} `json:"tableName,omitempty"`
122149}
122150
122151// Office365Dataset the Office365 account.
122152type Office365Dataset struct {
122153	// Office365DatasetTypeProperties - Office365 dataset properties.
122154	*Office365DatasetTypeProperties `json:"typeProperties,omitempty"`
122155	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
122156	AdditionalProperties map[string]interface{} `json:""`
122157	// Description - Dataset description.
122158	Description *string `json:"description,omitempty"`
122159	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
122160	Structure interface{} `json:"structure,omitempty"`
122161	// Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement.
122162	Schema interface{} `json:"schema,omitempty"`
122163	// LinkedServiceName - Linked service reference.
122164	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
122165	// Parameters - Parameters for dataset.
122166	Parameters map[string]*ParameterSpecification `json:"parameters"`
122167	// Annotations - List of tags that can be used for describing the Dataset.
122168	Annotations *[]interface{} `json:"annotations,omitempty"`
122169	// Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level.
122170	Folder *DatasetFolder `json:"folder,omitempty"`
122171	// Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', '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', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeDelimitedText', 'TypeParquet', 'TypeAmazonS3Object'
122172	Type TypeBasicDataset `json:"type,omitempty"`
122173}
122174
122175// MarshalJSON is the custom marshaler for Office365Dataset.
122176func (o3d Office365Dataset) MarshalJSON() ([]byte, error) {
122177	o3d.Type = TypeOffice365Table
122178	objectMap := make(map[string]interface{})
122179	if o3d.Office365DatasetTypeProperties != nil {
122180		objectMap["typeProperties"] = o3d.Office365DatasetTypeProperties
122181	}
122182	if o3d.Description != nil {
122183		objectMap["description"] = o3d.Description
122184	}
122185	if o3d.Structure != nil {
122186		objectMap["structure"] = o3d.Structure
122187	}
122188	if o3d.Schema != nil {
122189		objectMap["schema"] = o3d.Schema
122190	}
122191	if o3d.LinkedServiceName != nil {
122192		objectMap["linkedServiceName"] = o3d.LinkedServiceName
122193	}
122194	if o3d.Parameters != nil {
122195		objectMap["parameters"] = o3d.Parameters
122196	}
122197	if o3d.Annotations != nil {
122198		objectMap["annotations"] = o3d.Annotations
122199	}
122200	if o3d.Folder != nil {
122201		objectMap["folder"] = o3d.Folder
122202	}
122203	if o3d.Type != "" {
122204		objectMap["type"] = o3d.Type
122205	}
122206	for k, v := range o3d.AdditionalProperties {
122207		objectMap[k] = v
122208	}
122209	return json.Marshal(objectMap)
122210}
122211
122212// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for Office365Dataset.
122213func (o3d Office365Dataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) {
122214	return nil, false
122215}
122216
122217// AsAzureDataExplorerTableDataset is the BasicDataset implementation for Office365Dataset.
122218func (o3d Office365Dataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) {
122219	return nil, false
122220}
122221
122222// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for Office365Dataset.
122223func (o3d Office365Dataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) {
122224	return nil, false
122225}
122226
122227// AsDynamicsAXResourceDataset is the BasicDataset implementation for Office365Dataset.
122228func (o3d Office365Dataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) {
122229	return nil, false
122230}
122231
122232// AsResponsysObjectDataset is the BasicDataset implementation for Office365Dataset.
122233func (o3d Office365Dataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
122234	return nil, false
122235}
122236
122237// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for Office365Dataset.
122238func (o3d Office365Dataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
122239	return nil, false
122240}
122241
122242// AsVerticaTableDataset is the BasicDataset implementation for Office365Dataset.
122243func (o3d Office365Dataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
122244	return nil, false
122245}
122246
122247// AsNetezzaTableDataset is the BasicDataset implementation for Office365Dataset.
122248func (o3d Office365Dataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
122249	return nil, false
122250}
122251
122252// AsZohoObjectDataset is the BasicDataset implementation for Office365Dataset.
122253func (o3d Office365Dataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
122254	return nil, false
122255}
122256
122257// AsXeroObjectDataset is the BasicDataset implementation for Office365Dataset.
122258func (o3d Office365Dataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
122259	return nil, false
122260}
122261
122262// AsSquareObjectDataset is the BasicDataset implementation for Office365Dataset.
122263func (o3d Office365Dataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
122264	return nil, false
122265}
122266
122267// AsSparkObjectDataset is the BasicDataset implementation for Office365Dataset.
122268func (o3d Office365Dataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
122269	return nil, false
122270}
122271
122272// AsShopifyObjectDataset is the BasicDataset implementation for Office365Dataset.
122273func (o3d Office365Dataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
122274	return nil, false
122275}
122276
122277// AsServiceNowObjectDataset is the BasicDataset implementation for Office365Dataset.
122278func (o3d Office365Dataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
122279	return nil, false
122280}
122281
122282// AsQuickBooksObjectDataset is the BasicDataset implementation for Office365Dataset.
122283func (o3d Office365Dataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
122284	return nil, false
122285}
122286
122287// AsPrestoObjectDataset is the BasicDataset implementation for Office365Dataset.
122288func (o3d Office365Dataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
122289	return nil, false
122290}
122291
122292// AsPhoenixObjectDataset is the BasicDataset implementation for Office365Dataset.
122293func (o3d Office365Dataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
122294	return nil, false
122295}
122296
122297// AsPaypalObjectDataset is the BasicDataset implementation for Office365Dataset.
122298func (o3d Office365Dataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
122299	return nil, false
122300}
122301
122302// AsMarketoObjectDataset is the BasicDataset implementation for Office365Dataset.
122303func (o3d Office365Dataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
122304	return nil, false
122305}
122306
122307// AsMariaDBTableDataset is the BasicDataset implementation for Office365Dataset.
122308func (o3d Office365Dataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
122309	return nil, false
122310}
122311
122312// AsMagentoObjectDataset is the BasicDataset implementation for Office365Dataset.
122313func (o3d Office365Dataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
122314	return nil, false
122315}
122316
122317// AsJiraObjectDataset is the BasicDataset implementation for Office365Dataset.
122318func (o3d Office365Dataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
122319	return nil, false
122320}
122321
122322// AsImpalaObjectDataset is the BasicDataset implementation for Office365Dataset.
122323func (o3d Office365Dataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
122324	return nil, false
122325}
122326
122327// AsHubspotObjectDataset is the BasicDataset implementation for Office365Dataset.
122328func (o3d Office365Dataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
122329	return nil, false
122330}
122331
122332// AsHiveObjectDataset is the BasicDataset implementation for Office365Dataset.
122333func (o3d Office365Dataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
122334	return nil, false
122335}
122336
122337// AsHBaseObjectDataset is the BasicDataset implementation for Office365Dataset.
122338func (o3d Office365Dataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
122339	return nil, false
122340}
122341
122342// AsGreenplumTableDataset is the BasicDataset implementation for Office365Dataset.
122343func (o3d Office365Dataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
122344	return nil, false
122345}
122346
122347// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for Office365Dataset.
122348func (o3d Office365Dataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
122349	return nil, false
122350}
122351
122352// AsEloquaObjectDataset is the BasicDataset implementation for Office365Dataset.
122353func (o3d Office365Dataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
122354	return nil, false
122355}
122356
122357// AsDrillTableDataset is the BasicDataset implementation for Office365Dataset.
122358func (o3d Office365Dataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
122359	return nil, false
122360}
122361
122362// AsCouchbaseTableDataset is the BasicDataset implementation for Office365Dataset.
122363func (o3d Office365Dataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
122364	return nil, false
122365}
122366
122367// AsConcurObjectDataset is the BasicDataset implementation for Office365Dataset.
122368func (o3d Office365Dataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
122369	return nil, false
122370}
122371
122372// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for Office365Dataset.
122373func (o3d Office365Dataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
122374	return nil, false
122375}
122376
122377// AsAmazonMWSObjectDataset is the BasicDataset implementation for Office365Dataset.
122378func (o3d Office365Dataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
122379	return nil, false
122380}
122381
122382// AsHTTPDataset is the BasicDataset implementation for Office365Dataset.
122383func (o3d Office365Dataset) AsHTTPDataset() (*HTTPDataset, bool) {
122384	return nil, false
122385}
122386
122387// AsAzureSearchIndexDataset is the BasicDataset implementation for Office365Dataset.
122388func (o3d Office365Dataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
122389	return nil, false
122390}
122391
122392// AsWebTableDataset is the BasicDataset implementation for Office365Dataset.
122393func (o3d Office365Dataset) AsWebTableDataset() (*WebTableDataset, bool) {
122394	return nil, false
122395}
122396
122397// AsSapTableResourceDataset is the BasicDataset implementation for Office365Dataset.
122398func (o3d Office365Dataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) {
122399	return nil, false
122400}
122401
122402// AsRestResourceDataset is the BasicDataset implementation for Office365Dataset.
122403func (o3d Office365Dataset) AsRestResourceDataset() (*RestResourceDataset, bool) {
122404	return nil, false
122405}
122406
122407// AsSQLServerTableDataset is the BasicDataset implementation for Office365Dataset.
122408func (o3d Office365Dataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
122409	return nil, false
122410}
122411
122412// AsSapOpenHubTableDataset is the BasicDataset implementation for Office365Dataset.
122413func (o3d Office365Dataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) {
122414	return nil, false
122415}
122416
122417// AsSapHanaTableDataset is the BasicDataset implementation for Office365Dataset.
122418func (o3d Office365Dataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) {
122419	return nil, false
122420}
122421
122422// AsSapEccResourceDataset is the BasicDataset implementation for Office365Dataset.
122423func (o3d Office365Dataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
122424	return nil, false
122425}
122426
122427// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for Office365Dataset.
122428func (o3d Office365Dataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
122429	return nil, false
122430}
122431
122432// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for Office365Dataset.
122433func (o3d Office365Dataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) {
122434	return nil, false
122435}
122436
122437// AsSalesforceObjectDataset is the BasicDataset implementation for Office365Dataset.
122438func (o3d Office365Dataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
122439	return nil, false
122440}
122441
122442// AsMicrosoftAccessTableDataset is the BasicDataset implementation for Office365Dataset.
122443func (o3d Office365Dataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) {
122444	return nil, false
122445}
122446
122447// AsPostgreSQLTableDataset is the BasicDataset implementation for Office365Dataset.
122448func (o3d Office365Dataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) {
122449	return nil, false
122450}
122451
122452// AsMySQLTableDataset is the BasicDataset implementation for Office365Dataset.
122453func (o3d Office365Dataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) {
122454	return nil, false
122455}
122456
122457// AsOdbcTableDataset is the BasicDataset implementation for Office365Dataset.
122458func (o3d Office365Dataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) {
122459	return nil, false
122460}
122461
122462// AsInformixTableDataset is the BasicDataset implementation for Office365Dataset.
122463func (o3d Office365Dataset) AsInformixTableDataset() (*InformixTableDataset, bool) {
122464	return nil, false
122465}
122466
122467// AsRelationalTableDataset is the BasicDataset implementation for Office365Dataset.
122468func (o3d Office365Dataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
122469	return nil, false
122470}
122471
122472// AsAzureMySQLTableDataset is the BasicDataset implementation for Office365Dataset.
122473func (o3d Office365Dataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
122474	return nil, false
122475}
122476
122477// AsTeradataTableDataset is the BasicDataset implementation for Office365Dataset.
122478func (o3d Office365Dataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) {
122479	return nil, false
122480}
122481
122482// AsOracleTableDataset is the BasicDataset implementation for Office365Dataset.
122483func (o3d Office365Dataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
122484	return nil, false
122485}
122486
122487// AsODataResourceDataset is the BasicDataset implementation for Office365Dataset.
122488func (o3d Office365Dataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
122489	return nil, false
122490}
122491
122492// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for Office365Dataset.
122493func (o3d Office365Dataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) {
122494	return nil, false
122495}
122496
122497// AsMongoDbV2CollectionDataset is the BasicDataset implementation for Office365Dataset.
122498func (o3d Office365Dataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) {
122499	return nil, false
122500}
122501
122502// AsMongoDbCollectionDataset is the BasicDataset implementation for Office365Dataset.
122503func (o3d Office365Dataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
122504	return nil, false
122505}
122506
122507// AsFileShareDataset is the BasicDataset implementation for Office365Dataset.
122508func (o3d Office365Dataset) AsFileShareDataset() (*FileShareDataset, bool) {
122509	return nil, false
122510}
122511
122512// AsOffice365Dataset is the BasicDataset implementation for Office365Dataset.
122513func (o3d Office365Dataset) AsOffice365Dataset() (*Office365Dataset, bool) {
122514	return &o3d, true
122515}
122516
122517// AsAzureBlobFSDataset is the BasicDataset implementation for Office365Dataset.
122518func (o3d Office365Dataset) AsAzureBlobFSDataset() (*AzureBlobFSDataset, bool) {
122519	return nil, false
122520}
122521
122522// AsAzureDataLakeStoreDataset is the BasicDataset implementation for Office365Dataset.
122523func (o3d Office365Dataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) {
122524	return nil, false
122525}
122526
122527// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for Office365Dataset.
122528func (o3d Office365Dataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) {
122529	return nil, false
122530}
122531
122532// AsDynamicsCrmEntityDataset is the BasicDataset implementation for Office365Dataset.
122533func (o3d Office365Dataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) {
122534	return nil, false
122535}
122536
122537// AsDynamicsEntityDataset is the BasicDataset implementation for Office365Dataset.
122538func (o3d Office365Dataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
122539	return nil, false
122540}
122541
122542// AsDocumentDbCollectionDataset is the BasicDataset implementation for Office365Dataset.
122543func (o3d Office365Dataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
122544	return nil, false
122545}
122546
122547// AsCustomDataset is the BasicDataset implementation for Office365Dataset.
122548func (o3d Office365Dataset) AsCustomDataset() (*CustomDataset, bool) {
122549	return nil, false
122550}
122551
122552// AsCassandraTableDataset is the BasicDataset implementation for Office365Dataset.
122553func (o3d Office365Dataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
122554	return nil, false
122555}
122556
122557// AsAzureSQLDWTableDataset is the BasicDataset implementation for Office365Dataset.
122558func (o3d Office365Dataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
122559	return nil, false
122560}
122561
122562// AsAzureSQLMITableDataset is the BasicDataset implementation for Office365Dataset.
122563func (o3d Office365Dataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) {
122564	return nil, false
122565}
122566
122567// AsAzureSQLTableDataset is the BasicDataset implementation for Office365Dataset.
122568func (o3d Office365Dataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
122569	return nil, false
122570}
122571
122572// AsAzureTableDataset is the BasicDataset implementation for Office365Dataset.
122573func (o3d Office365Dataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
122574	return nil, false
122575}
122576
122577// AsAzureBlobDataset is the BasicDataset implementation for Office365Dataset.
122578func (o3d Office365Dataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) {
122579	return nil, false
122580}
122581
122582// AsBinaryDataset is the BasicDataset implementation for Office365Dataset.
122583func (o3d Office365Dataset) AsBinaryDataset() (*BinaryDataset, bool) {
122584	return nil, false
122585}
122586
122587// AsDelimitedTextDataset is the BasicDataset implementation for Office365Dataset.
122588func (o3d Office365Dataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) {
122589	return nil, false
122590}
122591
122592// AsParquetDataset is the BasicDataset implementation for Office365Dataset.
122593func (o3d Office365Dataset) AsParquetDataset() (*ParquetDataset, bool) {
122594	return nil, false
122595}
122596
122597// AsAmazonS3Dataset is the BasicDataset implementation for Office365Dataset.
122598func (o3d Office365Dataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) {
122599	return nil, false
122600}
122601
122602// AsDataset is the BasicDataset implementation for Office365Dataset.
122603func (o3d Office365Dataset) AsDataset() (*Dataset, bool) {
122604	return nil, false
122605}
122606
122607// AsBasicDataset is the BasicDataset implementation for Office365Dataset.
122608func (o3d Office365Dataset) AsBasicDataset() (BasicDataset, bool) {
122609	return &o3d, true
122610}
122611
122612// UnmarshalJSON is the custom unmarshaler for Office365Dataset struct.
122613func (o3d *Office365Dataset) UnmarshalJSON(body []byte) error {
122614	var m map[string]*json.RawMessage
122615	err := json.Unmarshal(body, &m)
122616	if err != nil {
122617		return err
122618	}
122619	for k, v := range m {
122620		switch k {
122621		case "typeProperties":
122622			if v != nil {
122623				var office365DatasetTypeProperties Office365DatasetTypeProperties
122624				err = json.Unmarshal(*v, &office365DatasetTypeProperties)
122625				if err != nil {
122626					return err
122627				}
122628				o3d.Office365DatasetTypeProperties = &office365DatasetTypeProperties
122629			}
122630		default:
122631			if v != nil {
122632				var additionalProperties interface{}
122633				err = json.Unmarshal(*v, &additionalProperties)
122634				if err != nil {
122635					return err
122636				}
122637				if o3d.AdditionalProperties == nil {
122638					o3d.AdditionalProperties = make(map[string]interface{})
122639				}
122640				o3d.AdditionalProperties[k] = additionalProperties
122641			}
122642		case "description":
122643			if v != nil {
122644				var description string
122645				err = json.Unmarshal(*v, &description)
122646				if err != nil {
122647					return err
122648				}
122649				o3d.Description = &description
122650			}
122651		case "structure":
122652			if v != nil {
122653				var structure interface{}
122654				err = json.Unmarshal(*v, &structure)
122655				if err != nil {
122656					return err
122657				}
122658				o3d.Structure = structure
122659			}
122660		case "schema":
122661			if v != nil {
122662				var schema interface{}
122663				err = json.Unmarshal(*v, &schema)
122664				if err != nil {
122665					return err
122666				}
122667				o3d.Schema = schema
122668			}
122669		case "linkedServiceName":
122670			if v != nil {
122671				var linkedServiceName LinkedServiceReference
122672				err = json.Unmarshal(*v, &linkedServiceName)
122673				if err != nil {
122674					return err
122675				}
122676				o3d.LinkedServiceName = &linkedServiceName
122677			}
122678		case "parameters":
122679			if v != nil {
122680				var parameters map[string]*ParameterSpecification
122681				err = json.Unmarshal(*v, &parameters)
122682				if err != nil {
122683					return err
122684				}
122685				o3d.Parameters = parameters
122686			}
122687		case "annotations":
122688			if v != nil {
122689				var annotations []interface{}
122690				err = json.Unmarshal(*v, &annotations)
122691				if err != nil {
122692					return err
122693				}
122694				o3d.Annotations = &annotations
122695			}
122696		case "folder":
122697			if v != nil {
122698				var folder DatasetFolder
122699				err = json.Unmarshal(*v, &folder)
122700				if err != nil {
122701					return err
122702				}
122703				o3d.Folder = &folder
122704			}
122705		case "type":
122706			if v != nil {
122707				var typeVar TypeBasicDataset
122708				err = json.Unmarshal(*v, &typeVar)
122709				if err != nil {
122710					return err
122711				}
122712				o3d.Type = typeVar
122713			}
122714		}
122715	}
122716
122717	return nil
122718}
122719
122720// Office365DatasetTypeProperties office365 dataset properties.
122721type Office365DatasetTypeProperties struct {
122722	// TableName - Name of the dataset to extract from Office 365. Type: string (or Expression with resultType string).
122723	TableName interface{} `json:"tableName,omitempty"`
122724	// Predicate - A predicate expression that can be used to filter the specific rows to extract from Office 365. Type: string (or Expression with resultType string).
122725	Predicate interface{} `json:"predicate,omitempty"`
122726}
122727
122728// Office365LinkedService office365 linked service.
122729type Office365LinkedService struct {
122730	// Office365LinkedServiceTypeProperties - Office365 linked service properties.
122731	*Office365LinkedServiceTypeProperties `json:"typeProperties,omitempty"`
122732	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
122733	AdditionalProperties map[string]interface{} `json:""`
122734	// ConnectVia - The integration runtime reference.
122735	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
122736	// Description - Linked service description.
122737	Description *string `json:"description,omitempty"`
122738	// Parameters - Parameters for linked service.
122739	Parameters map[string]*ParameterSpecification `json:"parameters"`
122740	// Annotations - List of tags that can be used for describing the linked service.
122741	Annotations *[]interface{} `json:"annotations,omitempty"`
122742	// Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', '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', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage'
122743	Type TypeBasicLinkedService `json:"type,omitempty"`
122744}
122745
122746// MarshalJSON is the custom marshaler for Office365LinkedService.
122747func (o3ls Office365LinkedService) MarshalJSON() ([]byte, error) {
122748	o3ls.Type = TypeOffice365
122749	objectMap := make(map[string]interface{})
122750	if o3ls.Office365LinkedServiceTypeProperties != nil {
122751		objectMap["typeProperties"] = o3ls.Office365LinkedServiceTypeProperties
122752	}
122753	if o3ls.ConnectVia != nil {
122754		objectMap["connectVia"] = o3ls.ConnectVia
122755	}
122756	if o3ls.Description != nil {
122757		objectMap["description"] = o3ls.Description
122758	}
122759	if o3ls.Parameters != nil {
122760		objectMap["parameters"] = o3ls.Parameters
122761	}
122762	if o3ls.Annotations != nil {
122763		objectMap["annotations"] = o3ls.Annotations
122764	}
122765	if o3ls.Type != "" {
122766		objectMap["type"] = o3ls.Type
122767	}
122768	for k, v := range o3ls.AdditionalProperties {
122769		objectMap[k] = v
122770	}
122771	return json.Marshal(objectMap)
122772}
122773
122774// AsAzureFunctionLinkedService is the BasicLinkedService implementation for Office365LinkedService.
122775func (o3ls Office365LinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) {
122776	return nil, false
122777}
122778
122779// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for Office365LinkedService.
122780func (o3ls Office365LinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) {
122781	return nil, false
122782}
122783
122784// AsSapTableLinkedService is the BasicLinkedService implementation for Office365LinkedService.
122785func (o3ls Office365LinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) {
122786	return nil, false
122787}
122788
122789// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for Office365LinkedService.
122790func (o3ls Office365LinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) {
122791	return nil, false
122792}
122793
122794// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for Office365LinkedService.
122795func (o3ls Office365LinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) {
122796	return nil, false
122797}
122798
122799// AsDynamicsAXLinkedService is the BasicLinkedService implementation for Office365LinkedService.
122800func (o3ls Office365LinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) {
122801	return nil, false
122802}
122803
122804// AsResponsysLinkedService is the BasicLinkedService implementation for Office365LinkedService.
122805func (o3ls Office365LinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
122806	return nil, false
122807}
122808
122809// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for Office365LinkedService.
122810func (o3ls Office365LinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
122811	return nil, false
122812}
122813
122814// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for Office365LinkedService.
122815func (o3ls Office365LinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
122816	return nil, false
122817}
122818
122819// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for Office365LinkedService.
122820func (o3ls Office365LinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
122821	return nil, false
122822}
122823
122824// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for Office365LinkedService.
122825func (o3ls Office365LinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
122826	return nil, false
122827}
122828
122829// AsNetezzaLinkedService is the BasicLinkedService implementation for Office365LinkedService.
122830func (o3ls Office365LinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
122831	return nil, false
122832}
122833
122834// AsVerticaLinkedService is the BasicLinkedService implementation for Office365LinkedService.
122835func (o3ls Office365LinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
122836	return nil, false
122837}
122838
122839// AsZohoLinkedService is the BasicLinkedService implementation for Office365LinkedService.
122840func (o3ls Office365LinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
122841	return nil, false
122842}
122843
122844// AsXeroLinkedService is the BasicLinkedService implementation for Office365LinkedService.
122845func (o3ls Office365LinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
122846	return nil, false
122847}
122848
122849// AsSquareLinkedService is the BasicLinkedService implementation for Office365LinkedService.
122850func (o3ls Office365LinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
122851	return nil, false
122852}
122853
122854// AsSparkLinkedService is the BasicLinkedService implementation for Office365LinkedService.
122855func (o3ls Office365LinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
122856	return nil, false
122857}
122858
122859// AsShopifyLinkedService is the BasicLinkedService implementation for Office365LinkedService.
122860func (o3ls Office365LinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
122861	return nil, false
122862}
122863
122864// AsServiceNowLinkedService is the BasicLinkedService implementation for Office365LinkedService.
122865func (o3ls Office365LinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
122866	return nil, false
122867}
122868
122869// AsQuickBooksLinkedService is the BasicLinkedService implementation for Office365LinkedService.
122870func (o3ls Office365LinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
122871	return nil, false
122872}
122873
122874// AsPrestoLinkedService is the BasicLinkedService implementation for Office365LinkedService.
122875func (o3ls Office365LinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
122876	return nil, false
122877}
122878
122879// AsPhoenixLinkedService is the BasicLinkedService implementation for Office365LinkedService.
122880func (o3ls Office365LinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
122881	return nil, false
122882}
122883
122884// AsPaypalLinkedService is the BasicLinkedService implementation for Office365LinkedService.
122885func (o3ls Office365LinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
122886	return nil, false
122887}
122888
122889// AsMarketoLinkedService is the BasicLinkedService implementation for Office365LinkedService.
122890func (o3ls Office365LinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
122891	return nil, false
122892}
122893
122894// AsMariaDBLinkedService is the BasicLinkedService implementation for Office365LinkedService.
122895func (o3ls Office365LinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
122896	return nil, false
122897}
122898
122899// AsMagentoLinkedService is the BasicLinkedService implementation for Office365LinkedService.
122900func (o3ls Office365LinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
122901	return nil, false
122902}
122903
122904// AsJiraLinkedService is the BasicLinkedService implementation for Office365LinkedService.
122905func (o3ls Office365LinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
122906	return nil, false
122907}
122908
122909// AsImpalaLinkedService is the BasicLinkedService implementation for Office365LinkedService.
122910func (o3ls Office365LinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
122911	return nil, false
122912}
122913
122914// AsHubspotLinkedService is the BasicLinkedService implementation for Office365LinkedService.
122915func (o3ls Office365LinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
122916	return nil, false
122917}
122918
122919// AsHiveLinkedService is the BasicLinkedService implementation for Office365LinkedService.
122920func (o3ls Office365LinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
122921	return nil, false
122922}
122923
122924// AsHBaseLinkedService is the BasicLinkedService implementation for Office365LinkedService.
122925func (o3ls Office365LinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
122926	return nil, false
122927}
122928
122929// AsGreenplumLinkedService is the BasicLinkedService implementation for Office365LinkedService.
122930func (o3ls Office365LinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
122931	return nil, false
122932}
122933
122934// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for Office365LinkedService.
122935func (o3ls Office365LinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
122936	return nil, false
122937}
122938
122939// AsEloquaLinkedService is the BasicLinkedService implementation for Office365LinkedService.
122940func (o3ls Office365LinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
122941	return nil, false
122942}
122943
122944// AsDrillLinkedService is the BasicLinkedService implementation for Office365LinkedService.
122945func (o3ls Office365LinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
122946	return nil, false
122947}
122948
122949// AsCouchbaseLinkedService is the BasicLinkedService implementation for Office365LinkedService.
122950func (o3ls Office365LinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
122951	return nil, false
122952}
122953
122954// AsConcurLinkedService is the BasicLinkedService implementation for Office365LinkedService.
122955func (o3ls Office365LinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
122956	return nil, false
122957}
122958
122959// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for Office365LinkedService.
122960func (o3ls Office365LinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
122961	return nil, false
122962}
122963
122964// AsAmazonMWSLinkedService is the BasicLinkedService implementation for Office365LinkedService.
122965func (o3ls Office365LinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
122966	return nil, false
122967}
122968
122969// AsSapHanaLinkedService is the BasicLinkedService implementation for Office365LinkedService.
122970func (o3ls Office365LinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
122971	return nil, false
122972}
122973
122974// AsSapBWLinkedService is the BasicLinkedService implementation for Office365LinkedService.
122975func (o3ls Office365LinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
122976	return nil, false
122977}
122978
122979// AsSftpServerLinkedService is the BasicLinkedService implementation for Office365LinkedService.
122980func (o3ls Office365LinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
122981	return nil, false
122982}
122983
122984// AsFtpServerLinkedService is the BasicLinkedService implementation for Office365LinkedService.
122985func (o3ls Office365LinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
122986	return nil, false
122987}
122988
122989// AsHTTPLinkedService is the BasicLinkedService implementation for Office365LinkedService.
122990func (o3ls Office365LinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
122991	return nil, false
122992}
122993
122994// AsAzureSearchLinkedService is the BasicLinkedService implementation for Office365LinkedService.
122995func (o3ls Office365LinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
122996	return nil, false
122997}
122998
122999// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for Office365LinkedService.
123000func (o3ls Office365LinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
123001	return nil, false
123002}
123003
123004// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for Office365LinkedService.
123005func (o3ls Office365LinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
123006	return nil, false
123007}
123008
123009// AsAmazonS3LinkedService is the BasicLinkedService implementation for Office365LinkedService.
123010func (o3ls Office365LinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
123011	return nil, false
123012}
123013
123014// AsRestServiceLinkedService is the BasicLinkedService implementation for Office365LinkedService.
123015func (o3ls Office365LinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) {
123016	return nil, false
123017}
123018
123019// AsSapOpenHubLinkedService is the BasicLinkedService implementation for Office365LinkedService.
123020func (o3ls Office365LinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) {
123021	return nil, false
123022}
123023
123024// AsSapEccLinkedService is the BasicLinkedService implementation for Office365LinkedService.
123025func (o3ls Office365LinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
123026	return nil, false
123027}
123028
123029// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for Office365LinkedService.
123030func (o3ls Office365LinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
123031	return nil, false
123032}
123033
123034// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for Office365LinkedService.
123035func (o3ls Office365LinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) {
123036	return nil, false
123037}
123038
123039// AsSalesforceLinkedService is the BasicLinkedService implementation for Office365LinkedService.
123040func (o3ls Office365LinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
123041	return nil, false
123042}
123043
123044// AsOffice365LinkedService is the BasicLinkedService implementation for Office365LinkedService.
123045func (o3ls Office365LinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) {
123046	return &o3ls, true
123047}
123048
123049// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for Office365LinkedService.
123050func (o3ls Office365LinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) {
123051	return nil, false
123052}
123053
123054// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for Office365LinkedService.
123055func (o3ls Office365LinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
123056	return nil, false
123057}
123058
123059// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for Office365LinkedService.
123060func (o3ls Office365LinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) {
123061	return nil, false
123062}
123063
123064// AsMongoDbV2LinkedService is the BasicLinkedService implementation for Office365LinkedService.
123065func (o3ls Office365LinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) {
123066	return nil, false
123067}
123068
123069// AsMongoDbLinkedService is the BasicLinkedService implementation for Office365LinkedService.
123070func (o3ls Office365LinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
123071	return nil, false
123072}
123073
123074// AsCassandraLinkedService is the BasicLinkedService implementation for Office365LinkedService.
123075func (o3ls Office365LinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
123076	return nil, false
123077}
123078
123079// AsWebLinkedService is the BasicLinkedService implementation for Office365LinkedService.
123080func (o3ls Office365LinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
123081	return nil, false
123082}
123083
123084// AsODataLinkedService is the BasicLinkedService implementation for Office365LinkedService.
123085func (o3ls Office365LinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
123086	return nil, false
123087}
123088
123089// AsHdfsLinkedService is the BasicLinkedService implementation for Office365LinkedService.
123090func (o3ls Office365LinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
123091	return nil, false
123092}
123093
123094// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for Office365LinkedService.
123095func (o3ls Office365LinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) {
123096	return nil, false
123097}
123098
123099// AsInformixLinkedService is the BasicLinkedService implementation for Office365LinkedService.
123100func (o3ls Office365LinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) {
123101	return nil, false
123102}
123103
123104// AsOdbcLinkedService is the BasicLinkedService implementation for Office365LinkedService.
123105func (o3ls Office365LinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
123106	return nil, false
123107}
123108
123109// AsAzureMLLinkedService is the BasicLinkedService implementation for Office365LinkedService.
123110func (o3ls Office365LinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
123111	return nil, false
123112}
123113
123114// AsTeradataLinkedService is the BasicLinkedService implementation for Office365LinkedService.
123115func (o3ls Office365LinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
123116	return nil, false
123117}
123118
123119// AsDb2LinkedService is the BasicLinkedService implementation for Office365LinkedService.
123120func (o3ls Office365LinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
123121	return nil, false
123122}
123123
123124// AsSybaseLinkedService is the BasicLinkedService implementation for Office365LinkedService.
123125func (o3ls Office365LinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
123126	return nil, false
123127}
123128
123129// AsPostgreSQLLinkedService is the BasicLinkedService implementation for Office365LinkedService.
123130func (o3ls Office365LinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
123131	return nil, false
123132}
123133
123134// AsMySQLLinkedService is the BasicLinkedService implementation for Office365LinkedService.
123135func (o3ls Office365LinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
123136	return nil, false
123137}
123138
123139// AsAzureMySQLLinkedService is the BasicLinkedService implementation for Office365LinkedService.
123140func (o3ls Office365LinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
123141	return nil, false
123142}
123143
123144// AsOracleLinkedService is the BasicLinkedService implementation for Office365LinkedService.
123145func (o3ls Office365LinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
123146	return nil, false
123147}
123148
123149// AsFileServerLinkedService is the BasicLinkedService implementation for Office365LinkedService.
123150func (o3ls Office365LinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
123151	return nil, false
123152}
123153
123154// AsHDInsightLinkedService is the BasicLinkedService implementation for Office365LinkedService.
123155func (o3ls Office365LinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
123156	return nil, false
123157}
123158
123159// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for Office365LinkedService.
123160func (o3ls Office365LinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) {
123161	return nil, false
123162}
123163
123164// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for Office365LinkedService.
123165func (o3ls Office365LinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) {
123166	return nil, false
123167}
123168
123169// AsDynamicsLinkedService is the BasicLinkedService implementation for Office365LinkedService.
123170func (o3ls Office365LinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
123171	return nil, false
123172}
123173
123174// AsCosmosDbLinkedService is the BasicLinkedService implementation for Office365LinkedService.
123175func (o3ls Office365LinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
123176	return nil, false
123177}
123178
123179// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for Office365LinkedService.
123180func (o3ls Office365LinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
123181	return nil, false
123182}
123183
123184// AsAzureBatchLinkedService is the BasicLinkedService implementation for Office365LinkedService.
123185func (o3ls Office365LinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
123186	return nil, false
123187}
123188
123189// AsAzureSQLMILinkedService is the BasicLinkedService implementation for Office365LinkedService.
123190func (o3ls Office365LinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) {
123191	return nil, false
123192}
123193
123194// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for Office365LinkedService.
123195func (o3ls Office365LinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
123196	return nil, false
123197}
123198
123199// AsSQLServerLinkedService is the BasicLinkedService implementation for Office365LinkedService.
123200func (o3ls Office365LinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
123201	return nil, false
123202}
123203
123204// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for Office365LinkedService.
123205func (o3ls Office365LinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
123206	return nil, false
123207}
123208
123209// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for Office365LinkedService.
123210func (o3ls Office365LinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) {
123211	return nil, false
123212}
123213
123214// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for Office365LinkedService.
123215func (o3ls Office365LinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) {
123216	return nil, false
123217}
123218
123219// AsAzureStorageLinkedService is the BasicLinkedService implementation for Office365LinkedService.
123220func (o3ls Office365LinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
123221	return nil, false
123222}
123223
123224// AsLinkedService is the BasicLinkedService implementation for Office365LinkedService.
123225func (o3ls Office365LinkedService) AsLinkedService() (*LinkedService, bool) {
123226	return nil, false
123227}
123228
123229// AsBasicLinkedService is the BasicLinkedService implementation for Office365LinkedService.
123230func (o3ls Office365LinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
123231	return &o3ls, true
123232}
123233
123234// UnmarshalJSON is the custom unmarshaler for Office365LinkedService struct.
123235func (o3ls *Office365LinkedService) UnmarshalJSON(body []byte) error {
123236	var m map[string]*json.RawMessage
123237	err := json.Unmarshal(body, &m)
123238	if err != nil {
123239		return err
123240	}
123241	for k, v := range m {
123242		switch k {
123243		case "typeProperties":
123244			if v != nil {
123245				var office365LinkedServiceTypeProperties Office365LinkedServiceTypeProperties
123246				err = json.Unmarshal(*v, &office365LinkedServiceTypeProperties)
123247				if err != nil {
123248					return err
123249				}
123250				o3ls.Office365LinkedServiceTypeProperties = &office365LinkedServiceTypeProperties
123251			}
123252		default:
123253			if v != nil {
123254				var additionalProperties interface{}
123255				err = json.Unmarshal(*v, &additionalProperties)
123256				if err != nil {
123257					return err
123258				}
123259				if o3ls.AdditionalProperties == nil {
123260					o3ls.AdditionalProperties = make(map[string]interface{})
123261				}
123262				o3ls.AdditionalProperties[k] = additionalProperties
123263			}
123264		case "connectVia":
123265			if v != nil {
123266				var connectVia IntegrationRuntimeReference
123267				err = json.Unmarshal(*v, &connectVia)
123268				if err != nil {
123269					return err
123270				}
123271				o3ls.ConnectVia = &connectVia
123272			}
123273		case "description":
123274			if v != nil {
123275				var description string
123276				err = json.Unmarshal(*v, &description)
123277				if err != nil {
123278					return err
123279				}
123280				o3ls.Description = &description
123281			}
123282		case "parameters":
123283			if v != nil {
123284				var parameters map[string]*ParameterSpecification
123285				err = json.Unmarshal(*v, &parameters)
123286				if err != nil {
123287					return err
123288				}
123289				o3ls.Parameters = parameters
123290			}
123291		case "annotations":
123292			if v != nil {
123293				var annotations []interface{}
123294				err = json.Unmarshal(*v, &annotations)
123295				if err != nil {
123296					return err
123297				}
123298				o3ls.Annotations = &annotations
123299			}
123300		case "type":
123301			if v != nil {
123302				var typeVar TypeBasicLinkedService
123303				err = json.Unmarshal(*v, &typeVar)
123304				if err != nil {
123305					return err
123306				}
123307				o3ls.Type = typeVar
123308			}
123309		}
123310	}
123311
123312	return nil
123313}
123314
123315// Office365LinkedServiceTypeProperties office365 linked service properties.
123316type Office365LinkedServiceTypeProperties struct {
123317	// Office365TenantID - Azure tenant ID to which the Office 365 account belongs. Type: string (or Expression with resultType string).
123318	Office365TenantID interface{} `json:"office365TenantId,omitempty"`
123319	// ServicePrincipalTenantID - Specify the tenant information under which your Azure AD web application resides. Type: string (or Expression with resultType string).
123320	ServicePrincipalTenantID interface{} `json:"servicePrincipalTenantId,omitempty"`
123321	// ServicePrincipalID - Specify the application's client ID. Type: string (or Expression with resultType string).
123322	ServicePrincipalID interface{} `json:"servicePrincipalId,omitempty"`
123323	// ServicePrincipalKey - Specify the application's key.
123324	ServicePrincipalKey BasicSecretBase `json:"servicePrincipalKey,omitempty"`
123325	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
123326	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
123327}
123328
123329// UnmarshalJSON is the custom unmarshaler for Office365LinkedServiceTypeProperties struct.
123330func (o3lstp *Office365LinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
123331	var m map[string]*json.RawMessage
123332	err := json.Unmarshal(body, &m)
123333	if err != nil {
123334		return err
123335	}
123336	for k, v := range m {
123337		switch k {
123338		case "office365TenantId":
123339			if v != nil {
123340				var office365TenantID interface{}
123341				err = json.Unmarshal(*v, &office365TenantID)
123342				if err != nil {
123343					return err
123344				}
123345				o3lstp.Office365TenantID = office365TenantID
123346			}
123347		case "servicePrincipalTenantId":
123348			if v != nil {
123349				var servicePrincipalTenantID interface{}
123350				err = json.Unmarshal(*v, &servicePrincipalTenantID)
123351				if err != nil {
123352					return err
123353				}
123354				o3lstp.ServicePrincipalTenantID = servicePrincipalTenantID
123355			}
123356		case "servicePrincipalId":
123357			if v != nil {
123358				var servicePrincipalID interface{}
123359				err = json.Unmarshal(*v, &servicePrincipalID)
123360				if err != nil {
123361					return err
123362				}
123363				o3lstp.ServicePrincipalID = servicePrincipalID
123364			}
123365		case "servicePrincipalKey":
123366			if v != nil {
123367				servicePrincipalKey, err := unmarshalBasicSecretBase(*v)
123368				if err != nil {
123369					return err
123370				}
123371				o3lstp.ServicePrincipalKey = servicePrincipalKey
123372			}
123373		case "encryptedCredential":
123374			if v != nil {
123375				var encryptedCredential interface{}
123376				err = json.Unmarshal(*v, &encryptedCredential)
123377				if err != nil {
123378					return err
123379				}
123380				o3lstp.EncryptedCredential = encryptedCredential
123381			}
123382		}
123383	}
123384
123385	return nil
123386}
123387
123388// Office365Source a copy activity source for an Office365 service.
123389type Office365Source struct {
123390	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
123391	AdditionalProperties map[string]interface{} `json:""`
123392	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
123393	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
123394	// 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])).
123395	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
123396	// MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer).
123397	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
123398	// Type - Possible values include: 'TypeCopySource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', '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', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeCassandraSource', 'TypeWebSource', 'TypeTeradataSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeAzureMySQLSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeRestSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceServiceCloudSource', 'TypeSalesforceSource', 'TypeODataSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeMicrosoftAccessSource', 'TypeInformixSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAzureTableSource', 'TypeBinarySource', 'TypeDelimitedTextSource', 'TypeParquetSource'
123399	Type TypeBasicCopySource `json:"type,omitempty"`
123400}
123401
123402// MarshalJSON is the custom marshaler for Office365Source.
123403func (o3s Office365Source) MarshalJSON() ([]byte, error) {
123404	o3s.Type = TypeOffice365Source
123405	objectMap := make(map[string]interface{})
123406	if o3s.SourceRetryCount != nil {
123407		objectMap["sourceRetryCount"] = o3s.SourceRetryCount
123408	}
123409	if o3s.SourceRetryWait != nil {
123410		objectMap["sourceRetryWait"] = o3s.SourceRetryWait
123411	}
123412	if o3s.MaxConcurrentConnections != nil {
123413		objectMap["maxConcurrentConnections"] = o3s.MaxConcurrentConnections
123414	}
123415	if o3s.Type != "" {
123416		objectMap["type"] = o3s.Type
123417	}
123418	for k, v := range o3s.AdditionalProperties {
123419		objectMap[k] = v
123420	}
123421	return json.Marshal(objectMap)
123422}
123423
123424// AsAmazonRedshiftSource is the BasicCopySource implementation for Office365Source.
123425func (o3s Office365Source) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
123426	return nil, false
123427}
123428
123429// AsGoogleAdWordsSource is the BasicCopySource implementation for Office365Source.
123430func (o3s Office365Source) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) {
123431	return nil, false
123432}
123433
123434// AsOracleServiceCloudSource is the BasicCopySource implementation for Office365Source.
123435func (o3s Office365Source) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) {
123436	return nil, false
123437}
123438
123439// AsDynamicsAXSource is the BasicCopySource implementation for Office365Source.
123440func (o3s Office365Source) AsDynamicsAXSource() (*DynamicsAXSource, bool) {
123441	return nil, false
123442}
123443
123444// AsResponsysSource is the BasicCopySource implementation for Office365Source.
123445func (o3s Office365Source) AsResponsysSource() (*ResponsysSource, bool) {
123446	return nil, false
123447}
123448
123449// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for Office365Source.
123450func (o3s Office365Source) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
123451	return nil, false
123452}
123453
123454// AsVerticaSource is the BasicCopySource implementation for Office365Source.
123455func (o3s Office365Source) AsVerticaSource() (*VerticaSource, bool) {
123456	return nil, false
123457}
123458
123459// AsNetezzaSource is the BasicCopySource implementation for Office365Source.
123460func (o3s Office365Source) AsNetezzaSource() (*NetezzaSource, bool) {
123461	return nil, false
123462}
123463
123464// AsZohoSource is the BasicCopySource implementation for Office365Source.
123465func (o3s Office365Source) AsZohoSource() (*ZohoSource, bool) {
123466	return nil, false
123467}
123468
123469// AsXeroSource is the BasicCopySource implementation for Office365Source.
123470func (o3s Office365Source) AsXeroSource() (*XeroSource, bool) {
123471	return nil, false
123472}
123473
123474// AsSquareSource is the BasicCopySource implementation for Office365Source.
123475func (o3s Office365Source) AsSquareSource() (*SquareSource, bool) {
123476	return nil, false
123477}
123478
123479// AsSparkSource is the BasicCopySource implementation for Office365Source.
123480func (o3s Office365Source) AsSparkSource() (*SparkSource, bool) {
123481	return nil, false
123482}
123483
123484// AsShopifySource is the BasicCopySource implementation for Office365Source.
123485func (o3s Office365Source) AsShopifySource() (*ShopifySource, bool) {
123486	return nil, false
123487}
123488
123489// AsServiceNowSource is the BasicCopySource implementation for Office365Source.
123490func (o3s Office365Source) AsServiceNowSource() (*ServiceNowSource, bool) {
123491	return nil, false
123492}
123493
123494// AsQuickBooksSource is the BasicCopySource implementation for Office365Source.
123495func (o3s Office365Source) AsQuickBooksSource() (*QuickBooksSource, bool) {
123496	return nil, false
123497}
123498
123499// AsPrestoSource is the BasicCopySource implementation for Office365Source.
123500func (o3s Office365Source) AsPrestoSource() (*PrestoSource, bool) {
123501	return nil, false
123502}
123503
123504// AsPhoenixSource is the BasicCopySource implementation for Office365Source.
123505func (o3s Office365Source) AsPhoenixSource() (*PhoenixSource, bool) {
123506	return nil, false
123507}
123508
123509// AsPaypalSource is the BasicCopySource implementation for Office365Source.
123510func (o3s Office365Source) AsPaypalSource() (*PaypalSource, bool) {
123511	return nil, false
123512}
123513
123514// AsMarketoSource is the BasicCopySource implementation for Office365Source.
123515func (o3s Office365Source) AsMarketoSource() (*MarketoSource, bool) {
123516	return nil, false
123517}
123518
123519// AsMariaDBSource is the BasicCopySource implementation for Office365Source.
123520func (o3s Office365Source) AsMariaDBSource() (*MariaDBSource, bool) {
123521	return nil, false
123522}
123523
123524// AsMagentoSource is the BasicCopySource implementation for Office365Source.
123525func (o3s Office365Source) AsMagentoSource() (*MagentoSource, bool) {
123526	return nil, false
123527}
123528
123529// AsJiraSource is the BasicCopySource implementation for Office365Source.
123530func (o3s Office365Source) AsJiraSource() (*JiraSource, bool) {
123531	return nil, false
123532}
123533
123534// AsImpalaSource is the BasicCopySource implementation for Office365Source.
123535func (o3s Office365Source) AsImpalaSource() (*ImpalaSource, bool) {
123536	return nil, false
123537}
123538
123539// AsHubspotSource is the BasicCopySource implementation for Office365Source.
123540func (o3s Office365Source) AsHubspotSource() (*HubspotSource, bool) {
123541	return nil, false
123542}
123543
123544// AsHiveSource is the BasicCopySource implementation for Office365Source.
123545func (o3s Office365Source) AsHiveSource() (*HiveSource, bool) {
123546	return nil, false
123547}
123548
123549// AsHBaseSource is the BasicCopySource implementation for Office365Source.
123550func (o3s Office365Source) AsHBaseSource() (*HBaseSource, bool) {
123551	return nil, false
123552}
123553
123554// AsGreenplumSource is the BasicCopySource implementation for Office365Source.
123555func (o3s Office365Source) AsGreenplumSource() (*GreenplumSource, bool) {
123556	return nil, false
123557}
123558
123559// AsGoogleBigQuerySource is the BasicCopySource implementation for Office365Source.
123560func (o3s Office365Source) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
123561	return nil, false
123562}
123563
123564// AsEloquaSource is the BasicCopySource implementation for Office365Source.
123565func (o3s Office365Source) AsEloquaSource() (*EloquaSource, bool) {
123566	return nil, false
123567}
123568
123569// AsDrillSource is the BasicCopySource implementation for Office365Source.
123570func (o3s Office365Source) AsDrillSource() (*DrillSource, bool) {
123571	return nil, false
123572}
123573
123574// AsCouchbaseSource is the BasicCopySource implementation for Office365Source.
123575func (o3s Office365Source) AsCouchbaseSource() (*CouchbaseSource, bool) {
123576	return nil, false
123577}
123578
123579// AsConcurSource is the BasicCopySource implementation for Office365Source.
123580func (o3s Office365Source) AsConcurSource() (*ConcurSource, bool) {
123581	return nil, false
123582}
123583
123584// AsAzurePostgreSQLSource is the BasicCopySource implementation for Office365Source.
123585func (o3s Office365Source) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
123586	return nil, false
123587}
123588
123589// AsAmazonMWSSource is the BasicCopySource implementation for Office365Source.
123590func (o3s Office365Source) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
123591	return nil, false
123592}
123593
123594// AsHTTPSource is the BasicCopySource implementation for Office365Source.
123595func (o3s Office365Source) AsHTTPSource() (*HTTPSource, bool) {
123596	return nil, false
123597}
123598
123599// AsAzureBlobFSSource is the BasicCopySource implementation for Office365Source.
123600func (o3s Office365Source) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) {
123601	return nil, false
123602}
123603
123604// AsAzureDataLakeStoreSource is the BasicCopySource implementation for Office365Source.
123605func (o3s Office365Source) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
123606	return nil, false
123607}
123608
123609// AsOffice365Source is the BasicCopySource implementation for Office365Source.
123610func (o3s Office365Source) AsOffice365Source() (*Office365Source, bool) {
123611	return &o3s, true
123612}
123613
123614// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for Office365Source.
123615func (o3s Office365Source) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) {
123616	return nil, false
123617}
123618
123619// AsMongoDbV2Source is the BasicCopySource implementation for Office365Source.
123620func (o3s Office365Source) AsMongoDbV2Source() (*MongoDbV2Source, bool) {
123621	return nil, false
123622}
123623
123624// AsMongoDbSource is the BasicCopySource implementation for Office365Source.
123625func (o3s Office365Source) AsMongoDbSource() (*MongoDbSource, bool) {
123626	return nil, false
123627}
123628
123629// AsCassandraSource is the BasicCopySource implementation for Office365Source.
123630func (o3s Office365Source) AsCassandraSource() (*CassandraSource, bool) {
123631	return nil, false
123632}
123633
123634// AsWebSource is the BasicCopySource implementation for Office365Source.
123635func (o3s Office365Source) AsWebSource() (*WebSource, bool) {
123636	return nil, false
123637}
123638
123639// AsTeradataSource is the BasicCopySource implementation for Office365Source.
123640func (o3s Office365Source) AsTeradataSource() (*TeradataSource, bool) {
123641	return nil, false
123642}
123643
123644// AsOracleSource is the BasicCopySource implementation for Office365Source.
123645func (o3s Office365Source) AsOracleSource() (*OracleSource, bool) {
123646	return nil, false
123647}
123648
123649// AsAzureDataExplorerSource is the BasicCopySource implementation for Office365Source.
123650func (o3s Office365Source) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) {
123651	return nil, false
123652}
123653
123654// AsAzureMySQLSource is the BasicCopySource implementation for Office365Source.
123655func (o3s Office365Source) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
123656	return nil, false
123657}
123658
123659// AsHdfsSource is the BasicCopySource implementation for Office365Source.
123660func (o3s Office365Source) AsHdfsSource() (*HdfsSource, bool) {
123661	return nil, false
123662}
123663
123664// AsFileSystemSource is the BasicCopySource implementation for Office365Source.
123665func (o3s Office365Source) AsFileSystemSource() (*FileSystemSource, bool) {
123666	return nil, false
123667}
123668
123669// AsSQLDWSource is the BasicCopySource implementation for Office365Source.
123670func (o3s Office365Source) AsSQLDWSource() (*SQLDWSource, bool) {
123671	return nil, false
123672}
123673
123674// AsSQLMISource is the BasicCopySource implementation for Office365Source.
123675func (o3s Office365Source) AsSQLMISource() (*SQLMISource, bool) {
123676	return nil, false
123677}
123678
123679// AsAzureSQLSource is the BasicCopySource implementation for Office365Source.
123680func (o3s Office365Source) AsAzureSQLSource() (*AzureSQLSource, bool) {
123681	return nil, false
123682}
123683
123684// AsSQLServerSource is the BasicCopySource implementation for Office365Source.
123685func (o3s Office365Source) AsSQLServerSource() (*SQLServerSource, bool) {
123686	return nil, false
123687}
123688
123689// AsSQLSource is the BasicCopySource implementation for Office365Source.
123690func (o3s Office365Source) AsSQLSource() (*SQLSource, bool) {
123691	return nil, false
123692}
123693
123694// AsRestSource is the BasicCopySource implementation for Office365Source.
123695func (o3s Office365Source) AsRestSource() (*RestSource, bool) {
123696	return nil, false
123697}
123698
123699// AsSapTableSource is the BasicCopySource implementation for Office365Source.
123700func (o3s Office365Source) AsSapTableSource() (*SapTableSource, bool) {
123701	return nil, false
123702}
123703
123704// AsSapOpenHubSource is the BasicCopySource implementation for Office365Source.
123705func (o3s Office365Source) AsSapOpenHubSource() (*SapOpenHubSource, bool) {
123706	return nil, false
123707}
123708
123709// AsSapHanaSource is the BasicCopySource implementation for Office365Source.
123710func (o3s Office365Source) AsSapHanaSource() (*SapHanaSource, bool) {
123711	return nil, false
123712}
123713
123714// AsSapEccSource is the BasicCopySource implementation for Office365Source.
123715func (o3s Office365Source) AsSapEccSource() (*SapEccSource, bool) {
123716	return nil, false
123717}
123718
123719// AsSapCloudForCustomerSource is the BasicCopySource implementation for Office365Source.
123720func (o3s Office365Source) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
123721	return nil, false
123722}
123723
123724// AsSalesforceServiceCloudSource is the BasicCopySource implementation for Office365Source.
123725func (o3s Office365Source) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) {
123726	return nil, false
123727}
123728
123729// AsSalesforceSource is the BasicCopySource implementation for Office365Source.
123730func (o3s Office365Source) AsSalesforceSource() (*SalesforceSource, bool) {
123731	return nil, false
123732}
123733
123734// AsODataSource is the BasicCopySource implementation for Office365Source.
123735func (o3s Office365Source) AsODataSource() (*ODataSource, bool) {
123736	return nil, false
123737}
123738
123739// AsSybaseSource is the BasicCopySource implementation for Office365Source.
123740func (o3s Office365Source) AsSybaseSource() (*SybaseSource, bool) {
123741	return nil, false
123742}
123743
123744// AsPostgreSQLSource is the BasicCopySource implementation for Office365Source.
123745func (o3s Office365Source) AsPostgreSQLSource() (*PostgreSQLSource, bool) {
123746	return nil, false
123747}
123748
123749// AsMySQLSource is the BasicCopySource implementation for Office365Source.
123750func (o3s Office365Source) AsMySQLSource() (*MySQLSource, bool) {
123751	return nil, false
123752}
123753
123754// AsOdbcSource is the BasicCopySource implementation for Office365Source.
123755func (o3s Office365Source) AsOdbcSource() (*OdbcSource, bool) {
123756	return nil, false
123757}
123758
123759// AsDb2Source is the BasicCopySource implementation for Office365Source.
123760func (o3s Office365Source) AsDb2Source() (*Db2Source, bool) {
123761	return nil, false
123762}
123763
123764// AsMicrosoftAccessSource is the BasicCopySource implementation for Office365Source.
123765func (o3s Office365Source) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) {
123766	return nil, false
123767}
123768
123769// AsInformixSource is the BasicCopySource implementation for Office365Source.
123770func (o3s Office365Source) AsInformixSource() (*InformixSource, bool) {
123771	return nil, false
123772}
123773
123774// AsRelationalSource is the BasicCopySource implementation for Office365Source.
123775func (o3s Office365Source) AsRelationalSource() (*RelationalSource, bool) {
123776	return nil, false
123777}
123778
123779// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for Office365Source.
123780func (o3s Office365Source) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) {
123781	return nil, false
123782}
123783
123784// AsDynamicsCrmSource is the BasicCopySource implementation for Office365Source.
123785func (o3s Office365Source) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) {
123786	return nil, false
123787}
123788
123789// AsDynamicsSource is the BasicCopySource implementation for Office365Source.
123790func (o3s Office365Source) AsDynamicsSource() (*DynamicsSource, bool) {
123791	return nil, false
123792}
123793
123794// AsDocumentDbCollectionSource is the BasicCopySource implementation for Office365Source.
123795func (o3s Office365Source) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
123796	return nil, false
123797}
123798
123799// AsBlobSource is the BasicCopySource implementation for Office365Source.
123800func (o3s Office365Source) AsBlobSource() (*BlobSource, bool) {
123801	return nil, false
123802}
123803
123804// AsAzureTableSource is the BasicCopySource implementation for Office365Source.
123805func (o3s Office365Source) AsAzureTableSource() (*AzureTableSource, bool) {
123806	return nil, false
123807}
123808
123809// AsBinarySource is the BasicCopySource implementation for Office365Source.
123810func (o3s Office365Source) AsBinarySource() (*BinarySource, bool) {
123811	return nil, false
123812}
123813
123814// AsDelimitedTextSource is the BasicCopySource implementation for Office365Source.
123815func (o3s Office365Source) AsDelimitedTextSource() (*DelimitedTextSource, bool) {
123816	return nil, false
123817}
123818
123819// AsParquetSource is the BasicCopySource implementation for Office365Source.
123820func (o3s Office365Source) AsParquetSource() (*ParquetSource, bool) {
123821	return nil, false
123822}
123823
123824// AsCopySource is the BasicCopySource implementation for Office365Source.
123825func (o3s Office365Source) AsCopySource() (*CopySource, bool) {
123826	return nil, false
123827}
123828
123829// AsBasicCopySource is the BasicCopySource implementation for Office365Source.
123830func (o3s Office365Source) AsBasicCopySource() (BasicCopySource, bool) {
123831	return &o3s, true
123832}
123833
123834// UnmarshalJSON is the custom unmarshaler for Office365Source struct.
123835func (o3s *Office365Source) UnmarshalJSON(body []byte) error {
123836	var m map[string]*json.RawMessage
123837	err := json.Unmarshal(body, &m)
123838	if err != nil {
123839		return err
123840	}
123841	for k, v := range m {
123842		switch k {
123843		default:
123844			if v != nil {
123845				var additionalProperties interface{}
123846				err = json.Unmarshal(*v, &additionalProperties)
123847				if err != nil {
123848					return err
123849				}
123850				if o3s.AdditionalProperties == nil {
123851					o3s.AdditionalProperties = make(map[string]interface{})
123852				}
123853				o3s.AdditionalProperties[k] = additionalProperties
123854			}
123855		case "sourceRetryCount":
123856			if v != nil {
123857				var sourceRetryCount interface{}
123858				err = json.Unmarshal(*v, &sourceRetryCount)
123859				if err != nil {
123860					return err
123861				}
123862				o3s.SourceRetryCount = sourceRetryCount
123863			}
123864		case "sourceRetryWait":
123865			if v != nil {
123866				var sourceRetryWait interface{}
123867				err = json.Unmarshal(*v, &sourceRetryWait)
123868				if err != nil {
123869					return err
123870				}
123871				o3s.SourceRetryWait = sourceRetryWait
123872			}
123873		case "maxConcurrentConnections":
123874			if v != nil {
123875				var maxConcurrentConnections interface{}
123876				err = json.Unmarshal(*v, &maxConcurrentConnections)
123877				if err != nil {
123878					return err
123879				}
123880				o3s.MaxConcurrentConnections = maxConcurrentConnections
123881			}
123882		case "type":
123883			if v != nil {
123884				var typeVar TypeBasicCopySource
123885				err = json.Unmarshal(*v, &typeVar)
123886				if err != nil {
123887					return err
123888				}
123889				o3s.Type = typeVar
123890			}
123891		}
123892	}
123893
123894	return nil
123895}
123896
123897// Operation azure Data Factory API operation definition.
123898type Operation struct {
123899	// Name - Operation name: {provider}/{resource}/{operation}
123900	Name *string `json:"name,omitempty"`
123901	// Origin - The intended executor of the operation.
123902	Origin *string `json:"origin,omitempty"`
123903	// Display - Metadata associated with the operation.
123904	Display *OperationDisplay `json:"display,omitempty"`
123905	// OperationProperties - Additional details about the operation.
123906	*OperationProperties `json:"properties,omitempty"`
123907}
123908
123909// MarshalJSON is the custom marshaler for Operation.
123910func (o Operation) MarshalJSON() ([]byte, error) {
123911	objectMap := make(map[string]interface{})
123912	if o.Name != nil {
123913		objectMap["name"] = o.Name
123914	}
123915	if o.Origin != nil {
123916		objectMap["origin"] = o.Origin
123917	}
123918	if o.Display != nil {
123919		objectMap["display"] = o.Display
123920	}
123921	if o.OperationProperties != nil {
123922		objectMap["properties"] = o.OperationProperties
123923	}
123924	return json.Marshal(objectMap)
123925}
123926
123927// UnmarshalJSON is the custom unmarshaler for Operation struct.
123928func (o *Operation) UnmarshalJSON(body []byte) error {
123929	var m map[string]*json.RawMessage
123930	err := json.Unmarshal(body, &m)
123931	if err != nil {
123932		return err
123933	}
123934	for k, v := range m {
123935		switch k {
123936		case "name":
123937			if v != nil {
123938				var name string
123939				err = json.Unmarshal(*v, &name)
123940				if err != nil {
123941					return err
123942				}
123943				o.Name = &name
123944			}
123945		case "origin":
123946			if v != nil {
123947				var origin string
123948				err = json.Unmarshal(*v, &origin)
123949				if err != nil {
123950					return err
123951				}
123952				o.Origin = &origin
123953			}
123954		case "display":
123955			if v != nil {
123956				var display OperationDisplay
123957				err = json.Unmarshal(*v, &display)
123958				if err != nil {
123959					return err
123960				}
123961				o.Display = &display
123962			}
123963		case "properties":
123964			if v != nil {
123965				var operationProperties OperationProperties
123966				err = json.Unmarshal(*v, &operationProperties)
123967				if err != nil {
123968					return err
123969				}
123970				o.OperationProperties = &operationProperties
123971			}
123972		}
123973	}
123974
123975	return nil
123976}
123977
123978// OperationDisplay metadata associated with the operation.
123979type OperationDisplay struct {
123980	// Description - The description of the operation.
123981	Description *string `json:"description,omitempty"`
123982	// Provider - The name of the provider.
123983	Provider *string `json:"provider,omitempty"`
123984	// Resource - The name of the resource type on which the operation is performed.
123985	Resource *string `json:"resource,omitempty"`
123986	// Operation - The type of operation: get, read, delete, etc.
123987	Operation *string `json:"operation,omitempty"`
123988}
123989
123990// OperationListResponse a list of operations that can be performed by the Data Factory service.
123991type OperationListResponse struct {
123992	autorest.Response `json:"-"`
123993	// Value - List of Data Factory operations supported by the Data Factory resource provider.
123994	Value *[]Operation `json:"value,omitempty"`
123995	// NextLink - The link to the next page of results, if any remaining results exist.
123996	NextLink *string `json:"nextLink,omitempty"`
123997}
123998
123999// OperationListResponseIterator provides access to a complete listing of Operation values.
124000type OperationListResponseIterator struct {
124001	i    int
124002	page OperationListResponsePage
124003}
124004
124005// NextWithContext advances to the next value.  If there was an error making
124006// the request the iterator does not advance and the error is returned.
124007func (iter *OperationListResponseIterator) NextWithContext(ctx context.Context) (err error) {
124008	if tracing.IsEnabled() {
124009		ctx = tracing.StartSpan(ctx, fqdn+"/OperationListResponseIterator.NextWithContext")
124010		defer func() {
124011			sc := -1
124012			if iter.Response().Response.Response != nil {
124013				sc = iter.Response().Response.Response.StatusCode
124014			}
124015			tracing.EndSpan(ctx, sc, err)
124016		}()
124017	}
124018	iter.i++
124019	if iter.i < len(iter.page.Values()) {
124020		return nil
124021	}
124022	err = iter.page.NextWithContext(ctx)
124023	if err != nil {
124024		iter.i--
124025		return err
124026	}
124027	iter.i = 0
124028	return nil
124029}
124030
124031// Next advances to the next value.  If there was an error making
124032// the request the iterator does not advance and the error is returned.
124033// Deprecated: Use NextWithContext() instead.
124034func (iter *OperationListResponseIterator) Next() error {
124035	return iter.NextWithContext(context.Background())
124036}
124037
124038// NotDone returns true if the enumeration should be started or is not yet complete.
124039func (iter OperationListResponseIterator) NotDone() bool {
124040	return iter.page.NotDone() && iter.i < len(iter.page.Values())
124041}
124042
124043// Response returns the raw server response from the last page request.
124044func (iter OperationListResponseIterator) Response() OperationListResponse {
124045	return iter.page.Response()
124046}
124047
124048// Value returns the current value or a zero-initialized value if the
124049// iterator has advanced beyond the end of the collection.
124050func (iter OperationListResponseIterator) Value() Operation {
124051	if !iter.page.NotDone() {
124052		return Operation{}
124053	}
124054	return iter.page.Values()[iter.i]
124055}
124056
124057// Creates a new instance of the OperationListResponseIterator type.
124058func NewOperationListResponseIterator(page OperationListResponsePage) OperationListResponseIterator {
124059	return OperationListResponseIterator{page: page}
124060}
124061
124062// IsEmpty returns true if the ListResult contains no values.
124063func (olr OperationListResponse) IsEmpty() bool {
124064	return olr.Value == nil || len(*olr.Value) == 0
124065}
124066
124067// operationListResponsePreparer prepares a request to retrieve the next set of results.
124068// It returns nil if no more results exist.
124069func (olr OperationListResponse) operationListResponsePreparer(ctx context.Context) (*http.Request, error) {
124070	if olr.NextLink == nil || len(to.String(olr.NextLink)) < 1 {
124071		return nil, nil
124072	}
124073	return autorest.Prepare((&http.Request{}).WithContext(ctx),
124074		autorest.AsJSON(),
124075		autorest.AsGet(),
124076		autorest.WithBaseURL(to.String(olr.NextLink)))
124077}
124078
124079// OperationListResponsePage contains a page of Operation values.
124080type OperationListResponsePage struct {
124081	fn  func(context.Context, OperationListResponse) (OperationListResponse, error)
124082	olr OperationListResponse
124083}
124084
124085// NextWithContext advances to the next page of values.  If there was an error making
124086// the request the page does not advance and the error is returned.
124087func (page *OperationListResponsePage) NextWithContext(ctx context.Context) (err error) {
124088	if tracing.IsEnabled() {
124089		ctx = tracing.StartSpan(ctx, fqdn+"/OperationListResponsePage.NextWithContext")
124090		defer func() {
124091			sc := -1
124092			if page.Response().Response.Response != nil {
124093				sc = page.Response().Response.Response.StatusCode
124094			}
124095			tracing.EndSpan(ctx, sc, err)
124096		}()
124097	}
124098	next, err := page.fn(ctx, page.olr)
124099	if err != nil {
124100		return err
124101	}
124102	page.olr = next
124103	return nil
124104}
124105
124106// Next advances to the next page of values.  If there was an error making
124107// the request the page does not advance and the error is returned.
124108// Deprecated: Use NextWithContext() instead.
124109func (page *OperationListResponsePage) Next() error {
124110	return page.NextWithContext(context.Background())
124111}
124112
124113// NotDone returns true if the page enumeration should be started or is not yet complete.
124114func (page OperationListResponsePage) NotDone() bool {
124115	return !page.olr.IsEmpty()
124116}
124117
124118// Response returns the raw server response from the last page request.
124119func (page OperationListResponsePage) Response() OperationListResponse {
124120	return page.olr
124121}
124122
124123// Values returns the slice of values for the current page or nil if there are no values.
124124func (page OperationListResponsePage) Values() []Operation {
124125	if page.olr.IsEmpty() {
124126		return nil
124127	}
124128	return *page.olr.Value
124129}
124130
124131// Creates a new instance of the OperationListResponsePage type.
124132func NewOperationListResponsePage(getNextPage func(context.Context, OperationListResponse) (OperationListResponse, error)) OperationListResponsePage {
124133	return OperationListResponsePage{fn: getNextPage}
124134}
124135
124136// OperationLogSpecification details about an operation related to logs.
124137type OperationLogSpecification struct {
124138	// Name - The name of the log category.
124139	Name *string `json:"name,omitempty"`
124140	// DisplayName - Localized display name.
124141	DisplayName *string `json:"displayName,omitempty"`
124142	// BlobDuration - Blobs created in the customer storage account, per hour.
124143	BlobDuration *string `json:"blobDuration,omitempty"`
124144}
124145
124146// OperationMetricAvailability defines how often data for a metric becomes available.
124147type OperationMetricAvailability struct {
124148	// TimeGrain - The granularity for the metric.
124149	TimeGrain *string `json:"timeGrain,omitempty"`
124150	// BlobDuration - Blob created in the customer storage account, per hour.
124151	BlobDuration *string `json:"blobDuration,omitempty"`
124152}
124153
124154// OperationMetricDimension defines the metric dimension.
124155type OperationMetricDimension struct {
124156	// Name - The name of the dimension for the metric.
124157	Name *string `json:"name,omitempty"`
124158	// DisplayName - The display name of the metric dimension.
124159	DisplayName *string `json:"displayName,omitempty"`
124160	// ToBeExportedForShoebox - Whether the dimension should be exported to Azure Monitor.
124161	ToBeExportedForShoebox *bool `json:"toBeExportedForShoebox,omitempty"`
124162}
124163
124164// OperationMetricSpecification details about an operation related to metrics.
124165type OperationMetricSpecification struct {
124166	// Name - The name of the metric.
124167	Name *string `json:"name,omitempty"`
124168	// DisplayName - Localized display name of the metric.
124169	DisplayName *string `json:"displayName,omitempty"`
124170	// DisplayDescription - The description of the metric.
124171	DisplayDescription *string `json:"displayDescription,omitempty"`
124172	// Unit - The unit that the metric is measured in.
124173	Unit *string `json:"unit,omitempty"`
124174	// AggregationType - The type of metric aggregation.
124175	AggregationType *string `json:"aggregationType,omitempty"`
124176	// EnableRegionalMdmAccount - Whether or not the service is using regional MDM accounts.
124177	EnableRegionalMdmAccount *string `json:"enableRegionalMdmAccount,omitempty"`
124178	// SourceMdmAccount - The name of the MDM account.
124179	SourceMdmAccount *string `json:"sourceMdmAccount,omitempty"`
124180	// SourceMdmNamespace - The name of the MDM namespace.
124181	SourceMdmNamespace *string `json:"sourceMdmNamespace,omitempty"`
124182	// Availabilities - Defines how often data for metrics becomes available.
124183	Availabilities *[]OperationMetricAvailability `json:"availabilities,omitempty"`
124184	// Dimensions - Defines the metric dimension.
124185	Dimensions *[]OperationMetricDimension `json:"dimensions,omitempty"`
124186}
124187
124188// OperationProperties additional details about an operation.
124189type OperationProperties struct {
124190	// ServiceSpecification - Details about a service operation.
124191	ServiceSpecification *OperationServiceSpecification `json:"serviceSpecification,omitempty"`
124192}
124193
124194// OperationServiceSpecification details about a service operation.
124195type OperationServiceSpecification struct {
124196	// LogSpecifications - Details about operations related to logs.
124197	LogSpecifications *[]OperationLogSpecification `json:"logSpecifications,omitempty"`
124198	// MetricSpecifications - Details about operations related to metrics.
124199	MetricSpecifications *[]OperationMetricSpecification `json:"metricSpecifications,omitempty"`
124200}
124201
124202// OracleLinkedService oracle database.
124203type OracleLinkedService struct {
124204	// OracleLinkedServiceTypeProperties - Oracle database linked service properties.
124205	*OracleLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
124206	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
124207	AdditionalProperties map[string]interface{} `json:""`
124208	// ConnectVia - The integration runtime reference.
124209	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
124210	// Description - Linked service description.
124211	Description *string `json:"description,omitempty"`
124212	// Parameters - Parameters for linked service.
124213	Parameters map[string]*ParameterSpecification `json:"parameters"`
124214	// Annotations - List of tags that can be used for describing the linked service.
124215	Annotations *[]interface{} `json:"annotations,omitempty"`
124216	// Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', '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', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage'
124217	Type TypeBasicLinkedService `json:"type,omitempty"`
124218}
124219
124220// MarshalJSON is the custom marshaler for OracleLinkedService.
124221func (ols OracleLinkedService) MarshalJSON() ([]byte, error) {
124222	ols.Type = TypeOracle
124223	objectMap := make(map[string]interface{})
124224	if ols.OracleLinkedServiceTypeProperties != nil {
124225		objectMap["typeProperties"] = ols.OracleLinkedServiceTypeProperties
124226	}
124227	if ols.ConnectVia != nil {
124228		objectMap["connectVia"] = ols.ConnectVia
124229	}
124230	if ols.Description != nil {
124231		objectMap["description"] = ols.Description
124232	}
124233	if ols.Parameters != nil {
124234		objectMap["parameters"] = ols.Parameters
124235	}
124236	if ols.Annotations != nil {
124237		objectMap["annotations"] = ols.Annotations
124238	}
124239	if ols.Type != "" {
124240		objectMap["type"] = ols.Type
124241	}
124242	for k, v := range ols.AdditionalProperties {
124243		objectMap[k] = v
124244	}
124245	return json.Marshal(objectMap)
124246}
124247
124248// AsAzureFunctionLinkedService is the BasicLinkedService implementation for OracleLinkedService.
124249func (ols OracleLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) {
124250	return nil, false
124251}
124252
124253// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for OracleLinkedService.
124254func (ols OracleLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) {
124255	return nil, false
124256}
124257
124258// AsSapTableLinkedService is the BasicLinkedService implementation for OracleLinkedService.
124259func (ols OracleLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) {
124260	return nil, false
124261}
124262
124263// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for OracleLinkedService.
124264func (ols OracleLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) {
124265	return nil, false
124266}
124267
124268// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for OracleLinkedService.
124269func (ols OracleLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) {
124270	return nil, false
124271}
124272
124273// AsDynamicsAXLinkedService is the BasicLinkedService implementation for OracleLinkedService.
124274func (ols OracleLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) {
124275	return nil, false
124276}
124277
124278// AsResponsysLinkedService is the BasicLinkedService implementation for OracleLinkedService.
124279func (ols OracleLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
124280	return nil, false
124281}
124282
124283// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for OracleLinkedService.
124284func (ols OracleLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
124285	return nil, false
124286}
124287
124288// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for OracleLinkedService.
124289func (ols OracleLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
124290	return nil, false
124291}
124292
124293// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for OracleLinkedService.
124294func (ols OracleLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
124295	return nil, false
124296}
124297
124298// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for OracleLinkedService.
124299func (ols OracleLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
124300	return nil, false
124301}
124302
124303// AsNetezzaLinkedService is the BasicLinkedService implementation for OracleLinkedService.
124304func (ols OracleLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
124305	return nil, false
124306}
124307
124308// AsVerticaLinkedService is the BasicLinkedService implementation for OracleLinkedService.
124309func (ols OracleLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
124310	return nil, false
124311}
124312
124313// AsZohoLinkedService is the BasicLinkedService implementation for OracleLinkedService.
124314func (ols OracleLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
124315	return nil, false
124316}
124317
124318// AsXeroLinkedService is the BasicLinkedService implementation for OracleLinkedService.
124319func (ols OracleLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
124320	return nil, false
124321}
124322
124323// AsSquareLinkedService is the BasicLinkedService implementation for OracleLinkedService.
124324func (ols OracleLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
124325	return nil, false
124326}
124327
124328// AsSparkLinkedService is the BasicLinkedService implementation for OracleLinkedService.
124329func (ols OracleLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
124330	return nil, false
124331}
124332
124333// AsShopifyLinkedService is the BasicLinkedService implementation for OracleLinkedService.
124334func (ols OracleLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
124335	return nil, false
124336}
124337
124338// AsServiceNowLinkedService is the BasicLinkedService implementation for OracleLinkedService.
124339func (ols OracleLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
124340	return nil, false
124341}
124342
124343// AsQuickBooksLinkedService is the BasicLinkedService implementation for OracleLinkedService.
124344func (ols OracleLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
124345	return nil, false
124346}
124347
124348// AsPrestoLinkedService is the BasicLinkedService implementation for OracleLinkedService.
124349func (ols OracleLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
124350	return nil, false
124351}
124352
124353// AsPhoenixLinkedService is the BasicLinkedService implementation for OracleLinkedService.
124354func (ols OracleLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
124355	return nil, false
124356}
124357
124358// AsPaypalLinkedService is the BasicLinkedService implementation for OracleLinkedService.
124359func (ols OracleLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
124360	return nil, false
124361}
124362
124363// AsMarketoLinkedService is the BasicLinkedService implementation for OracleLinkedService.
124364func (ols OracleLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
124365	return nil, false
124366}
124367
124368// AsMariaDBLinkedService is the BasicLinkedService implementation for OracleLinkedService.
124369func (ols OracleLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
124370	return nil, false
124371}
124372
124373// AsMagentoLinkedService is the BasicLinkedService implementation for OracleLinkedService.
124374func (ols OracleLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
124375	return nil, false
124376}
124377
124378// AsJiraLinkedService is the BasicLinkedService implementation for OracleLinkedService.
124379func (ols OracleLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
124380	return nil, false
124381}
124382
124383// AsImpalaLinkedService is the BasicLinkedService implementation for OracleLinkedService.
124384func (ols OracleLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
124385	return nil, false
124386}
124387
124388// AsHubspotLinkedService is the BasicLinkedService implementation for OracleLinkedService.
124389func (ols OracleLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
124390	return nil, false
124391}
124392
124393// AsHiveLinkedService is the BasicLinkedService implementation for OracleLinkedService.
124394func (ols OracleLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
124395	return nil, false
124396}
124397
124398// AsHBaseLinkedService is the BasicLinkedService implementation for OracleLinkedService.
124399func (ols OracleLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
124400	return nil, false
124401}
124402
124403// AsGreenplumLinkedService is the BasicLinkedService implementation for OracleLinkedService.
124404func (ols OracleLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
124405	return nil, false
124406}
124407
124408// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for OracleLinkedService.
124409func (ols OracleLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
124410	return nil, false
124411}
124412
124413// AsEloquaLinkedService is the BasicLinkedService implementation for OracleLinkedService.
124414func (ols OracleLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
124415	return nil, false
124416}
124417
124418// AsDrillLinkedService is the BasicLinkedService implementation for OracleLinkedService.
124419func (ols OracleLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
124420	return nil, false
124421}
124422
124423// AsCouchbaseLinkedService is the BasicLinkedService implementation for OracleLinkedService.
124424func (ols OracleLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
124425	return nil, false
124426}
124427
124428// AsConcurLinkedService is the BasicLinkedService implementation for OracleLinkedService.
124429func (ols OracleLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
124430	return nil, false
124431}
124432
124433// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for OracleLinkedService.
124434func (ols OracleLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
124435	return nil, false
124436}
124437
124438// AsAmazonMWSLinkedService is the BasicLinkedService implementation for OracleLinkedService.
124439func (ols OracleLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
124440	return nil, false
124441}
124442
124443// AsSapHanaLinkedService is the BasicLinkedService implementation for OracleLinkedService.
124444func (ols OracleLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
124445	return nil, false
124446}
124447
124448// AsSapBWLinkedService is the BasicLinkedService implementation for OracleLinkedService.
124449func (ols OracleLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
124450	return nil, false
124451}
124452
124453// AsSftpServerLinkedService is the BasicLinkedService implementation for OracleLinkedService.
124454func (ols OracleLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
124455	return nil, false
124456}
124457
124458// AsFtpServerLinkedService is the BasicLinkedService implementation for OracleLinkedService.
124459func (ols OracleLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
124460	return nil, false
124461}
124462
124463// AsHTTPLinkedService is the BasicLinkedService implementation for OracleLinkedService.
124464func (ols OracleLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
124465	return nil, false
124466}
124467
124468// AsAzureSearchLinkedService is the BasicLinkedService implementation for OracleLinkedService.
124469func (ols OracleLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
124470	return nil, false
124471}
124472
124473// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for OracleLinkedService.
124474func (ols OracleLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
124475	return nil, false
124476}
124477
124478// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for OracleLinkedService.
124479func (ols OracleLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
124480	return nil, false
124481}
124482
124483// AsAmazonS3LinkedService is the BasicLinkedService implementation for OracleLinkedService.
124484func (ols OracleLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
124485	return nil, false
124486}
124487
124488// AsRestServiceLinkedService is the BasicLinkedService implementation for OracleLinkedService.
124489func (ols OracleLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) {
124490	return nil, false
124491}
124492
124493// AsSapOpenHubLinkedService is the BasicLinkedService implementation for OracleLinkedService.
124494func (ols OracleLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) {
124495	return nil, false
124496}
124497
124498// AsSapEccLinkedService is the BasicLinkedService implementation for OracleLinkedService.
124499func (ols OracleLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
124500	return nil, false
124501}
124502
124503// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for OracleLinkedService.
124504func (ols OracleLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
124505	return nil, false
124506}
124507
124508// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for OracleLinkedService.
124509func (ols OracleLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) {
124510	return nil, false
124511}
124512
124513// AsSalesforceLinkedService is the BasicLinkedService implementation for OracleLinkedService.
124514func (ols OracleLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
124515	return nil, false
124516}
124517
124518// AsOffice365LinkedService is the BasicLinkedService implementation for OracleLinkedService.
124519func (ols OracleLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) {
124520	return nil, false
124521}
124522
124523// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for OracleLinkedService.
124524func (ols OracleLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) {
124525	return nil, false
124526}
124527
124528// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for OracleLinkedService.
124529func (ols OracleLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
124530	return nil, false
124531}
124532
124533// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for OracleLinkedService.
124534func (ols OracleLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) {
124535	return nil, false
124536}
124537
124538// AsMongoDbV2LinkedService is the BasicLinkedService implementation for OracleLinkedService.
124539func (ols OracleLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) {
124540	return nil, false
124541}
124542
124543// AsMongoDbLinkedService is the BasicLinkedService implementation for OracleLinkedService.
124544func (ols OracleLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
124545	return nil, false
124546}
124547
124548// AsCassandraLinkedService is the BasicLinkedService implementation for OracleLinkedService.
124549func (ols OracleLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
124550	return nil, false
124551}
124552
124553// AsWebLinkedService is the BasicLinkedService implementation for OracleLinkedService.
124554func (ols OracleLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
124555	return nil, false
124556}
124557
124558// AsODataLinkedService is the BasicLinkedService implementation for OracleLinkedService.
124559func (ols OracleLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
124560	return nil, false
124561}
124562
124563// AsHdfsLinkedService is the BasicLinkedService implementation for OracleLinkedService.
124564func (ols OracleLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
124565	return nil, false
124566}
124567
124568// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for OracleLinkedService.
124569func (ols OracleLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) {
124570	return nil, false
124571}
124572
124573// AsInformixLinkedService is the BasicLinkedService implementation for OracleLinkedService.
124574func (ols OracleLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) {
124575	return nil, false
124576}
124577
124578// AsOdbcLinkedService is the BasicLinkedService implementation for OracleLinkedService.
124579func (ols OracleLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
124580	return nil, false
124581}
124582
124583// AsAzureMLLinkedService is the BasicLinkedService implementation for OracleLinkedService.
124584func (ols OracleLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
124585	return nil, false
124586}
124587
124588// AsTeradataLinkedService is the BasicLinkedService implementation for OracleLinkedService.
124589func (ols OracleLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
124590	return nil, false
124591}
124592
124593// AsDb2LinkedService is the BasicLinkedService implementation for OracleLinkedService.
124594func (ols OracleLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
124595	return nil, false
124596}
124597
124598// AsSybaseLinkedService is the BasicLinkedService implementation for OracleLinkedService.
124599func (ols OracleLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
124600	return nil, false
124601}
124602
124603// AsPostgreSQLLinkedService is the BasicLinkedService implementation for OracleLinkedService.
124604func (ols OracleLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
124605	return nil, false
124606}
124607
124608// AsMySQLLinkedService is the BasicLinkedService implementation for OracleLinkedService.
124609func (ols OracleLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
124610	return nil, false
124611}
124612
124613// AsAzureMySQLLinkedService is the BasicLinkedService implementation for OracleLinkedService.
124614func (ols OracleLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
124615	return nil, false
124616}
124617
124618// AsOracleLinkedService is the BasicLinkedService implementation for OracleLinkedService.
124619func (ols OracleLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
124620	return &ols, true
124621}
124622
124623// AsFileServerLinkedService is the BasicLinkedService implementation for OracleLinkedService.
124624func (ols OracleLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
124625	return nil, false
124626}
124627
124628// AsHDInsightLinkedService is the BasicLinkedService implementation for OracleLinkedService.
124629func (ols OracleLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
124630	return nil, false
124631}
124632
124633// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for OracleLinkedService.
124634func (ols OracleLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) {
124635	return nil, false
124636}
124637
124638// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for OracleLinkedService.
124639func (ols OracleLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) {
124640	return nil, false
124641}
124642
124643// AsDynamicsLinkedService is the BasicLinkedService implementation for OracleLinkedService.
124644func (ols OracleLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
124645	return nil, false
124646}
124647
124648// AsCosmosDbLinkedService is the BasicLinkedService implementation for OracleLinkedService.
124649func (ols OracleLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
124650	return nil, false
124651}
124652
124653// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for OracleLinkedService.
124654func (ols OracleLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
124655	return nil, false
124656}
124657
124658// AsAzureBatchLinkedService is the BasicLinkedService implementation for OracleLinkedService.
124659func (ols OracleLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
124660	return nil, false
124661}
124662
124663// AsAzureSQLMILinkedService is the BasicLinkedService implementation for OracleLinkedService.
124664func (ols OracleLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) {
124665	return nil, false
124666}
124667
124668// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for OracleLinkedService.
124669func (ols OracleLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
124670	return nil, false
124671}
124672
124673// AsSQLServerLinkedService is the BasicLinkedService implementation for OracleLinkedService.
124674func (ols OracleLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
124675	return nil, false
124676}
124677
124678// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for OracleLinkedService.
124679func (ols OracleLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
124680	return nil, false
124681}
124682
124683// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for OracleLinkedService.
124684func (ols OracleLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) {
124685	return nil, false
124686}
124687
124688// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for OracleLinkedService.
124689func (ols OracleLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) {
124690	return nil, false
124691}
124692
124693// AsAzureStorageLinkedService is the BasicLinkedService implementation for OracleLinkedService.
124694func (ols OracleLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
124695	return nil, false
124696}
124697
124698// AsLinkedService is the BasicLinkedService implementation for OracleLinkedService.
124699func (ols OracleLinkedService) AsLinkedService() (*LinkedService, bool) {
124700	return nil, false
124701}
124702
124703// AsBasicLinkedService is the BasicLinkedService implementation for OracleLinkedService.
124704func (ols OracleLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
124705	return &ols, true
124706}
124707
124708// UnmarshalJSON is the custom unmarshaler for OracleLinkedService struct.
124709func (ols *OracleLinkedService) UnmarshalJSON(body []byte) error {
124710	var m map[string]*json.RawMessage
124711	err := json.Unmarshal(body, &m)
124712	if err != nil {
124713		return err
124714	}
124715	for k, v := range m {
124716		switch k {
124717		case "typeProperties":
124718			if v != nil {
124719				var oracleLinkedServiceTypeProperties OracleLinkedServiceTypeProperties
124720				err = json.Unmarshal(*v, &oracleLinkedServiceTypeProperties)
124721				if err != nil {
124722					return err
124723				}
124724				ols.OracleLinkedServiceTypeProperties = &oracleLinkedServiceTypeProperties
124725			}
124726		default:
124727			if v != nil {
124728				var additionalProperties interface{}
124729				err = json.Unmarshal(*v, &additionalProperties)
124730				if err != nil {
124731					return err
124732				}
124733				if ols.AdditionalProperties == nil {
124734					ols.AdditionalProperties = make(map[string]interface{})
124735				}
124736				ols.AdditionalProperties[k] = additionalProperties
124737			}
124738		case "connectVia":
124739			if v != nil {
124740				var connectVia IntegrationRuntimeReference
124741				err = json.Unmarshal(*v, &connectVia)
124742				if err != nil {
124743					return err
124744				}
124745				ols.ConnectVia = &connectVia
124746			}
124747		case "description":
124748			if v != nil {
124749				var description string
124750				err = json.Unmarshal(*v, &description)
124751				if err != nil {
124752					return err
124753				}
124754				ols.Description = &description
124755			}
124756		case "parameters":
124757			if v != nil {
124758				var parameters map[string]*ParameterSpecification
124759				err = json.Unmarshal(*v, &parameters)
124760				if err != nil {
124761					return err
124762				}
124763				ols.Parameters = parameters
124764			}
124765		case "annotations":
124766			if v != nil {
124767				var annotations []interface{}
124768				err = json.Unmarshal(*v, &annotations)
124769				if err != nil {
124770					return err
124771				}
124772				ols.Annotations = &annotations
124773			}
124774		case "type":
124775			if v != nil {
124776				var typeVar TypeBasicLinkedService
124777				err = json.Unmarshal(*v, &typeVar)
124778				if err != nil {
124779					return err
124780				}
124781				ols.Type = typeVar
124782			}
124783		}
124784	}
124785
124786	return nil
124787}
124788
124789// OracleLinkedServiceTypeProperties oracle database linked service properties.
124790type OracleLinkedServiceTypeProperties struct {
124791	// ConnectionString - The connection string. Type: string, SecureString or AzureKeyVaultSecretReference.
124792	ConnectionString interface{} `json:"connectionString,omitempty"`
124793	// Password - The Azure key vault secret reference of password in connection string.
124794	Password *AzureKeyVaultSecretReference `json:"password,omitempty"`
124795	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
124796	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
124797}
124798
124799// OraclePartitionSettings the settings that will be leveraged for Oracle source partitioning.
124800type OraclePartitionSettings struct {
124801	// PartitionNames - Names of the physical partitions of Oracle table.
124802	PartitionNames interface{} `json:"partitionNames,omitempty"`
124803	// PartitionColumnName - The name of the column in integer type that will be used for proceeding range partitioning. Type: string (or Expression with resultType string).
124804	PartitionColumnName interface{} `json:"partitionColumnName,omitempty"`
124805	// PartitionUpperBound - The maximum value of column specified in partitionColumnName that will be used for proceeding range partitioning. Type: string (or Expression with resultType string).
124806	PartitionUpperBound interface{} `json:"partitionUpperBound,omitempty"`
124807	// PartitionLowerBound - The minimum value of column specified in partitionColumnName that will be used for proceeding range partitioning. Type: string (or Expression with resultType string).
124808	PartitionLowerBound interface{} `json:"partitionLowerBound,omitempty"`
124809}
124810
124811// OracleServiceCloudLinkedService oracle Service Cloud linked service.
124812type OracleServiceCloudLinkedService struct {
124813	// OracleServiceCloudLinkedServiceTypeProperties - Oracle Service Cloud linked service properties.
124814	*OracleServiceCloudLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
124815	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
124816	AdditionalProperties map[string]interface{} `json:""`
124817	// ConnectVia - The integration runtime reference.
124818	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
124819	// Description - Linked service description.
124820	Description *string `json:"description,omitempty"`
124821	// Parameters - Parameters for linked service.
124822	Parameters map[string]*ParameterSpecification `json:"parameters"`
124823	// Annotations - List of tags that can be used for describing the linked service.
124824	Annotations *[]interface{} `json:"annotations,omitempty"`
124825	// Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', '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', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage'
124826	Type TypeBasicLinkedService `json:"type,omitempty"`
124827}
124828
124829// MarshalJSON is the custom marshaler for OracleServiceCloudLinkedService.
124830func (oscls OracleServiceCloudLinkedService) MarshalJSON() ([]byte, error) {
124831	oscls.Type = TypeOracleServiceCloud
124832	objectMap := make(map[string]interface{})
124833	if oscls.OracleServiceCloudLinkedServiceTypeProperties != nil {
124834		objectMap["typeProperties"] = oscls.OracleServiceCloudLinkedServiceTypeProperties
124835	}
124836	if oscls.ConnectVia != nil {
124837		objectMap["connectVia"] = oscls.ConnectVia
124838	}
124839	if oscls.Description != nil {
124840		objectMap["description"] = oscls.Description
124841	}
124842	if oscls.Parameters != nil {
124843		objectMap["parameters"] = oscls.Parameters
124844	}
124845	if oscls.Annotations != nil {
124846		objectMap["annotations"] = oscls.Annotations
124847	}
124848	if oscls.Type != "" {
124849		objectMap["type"] = oscls.Type
124850	}
124851	for k, v := range oscls.AdditionalProperties {
124852		objectMap[k] = v
124853	}
124854	return json.Marshal(objectMap)
124855}
124856
124857// AsAzureFunctionLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService.
124858func (oscls OracleServiceCloudLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) {
124859	return nil, false
124860}
124861
124862// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService.
124863func (oscls OracleServiceCloudLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) {
124864	return nil, false
124865}
124866
124867// AsSapTableLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService.
124868func (oscls OracleServiceCloudLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) {
124869	return nil, false
124870}
124871
124872// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService.
124873func (oscls OracleServiceCloudLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) {
124874	return nil, false
124875}
124876
124877// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService.
124878func (oscls OracleServiceCloudLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) {
124879	return &oscls, true
124880}
124881
124882// AsDynamicsAXLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService.
124883func (oscls OracleServiceCloudLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) {
124884	return nil, false
124885}
124886
124887// AsResponsysLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService.
124888func (oscls OracleServiceCloudLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
124889	return nil, false
124890}
124891
124892// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService.
124893func (oscls OracleServiceCloudLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
124894	return nil, false
124895}
124896
124897// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService.
124898func (oscls OracleServiceCloudLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
124899	return nil, false
124900}
124901
124902// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService.
124903func (oscls OracleServiceCloudLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
124904	return nil, false
124905}
124906
124907// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService.
124908func (oscls OracleServiceCloudLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
124909	return nil, false
124910}
124911
124912// AsNetezzaLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService.
124913func (oscls OracleServiceCloudLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
124914	return nil, false
124915}
124916
124917// AsVerticaLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService.
124918func (oscls OracleServiceCloudLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
124919	return nil, false
124920}
124921
124922// AsZohoLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService.
124923func (oscls OracleServiceCloudLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
124924	return nil, false
124925}
124926
124927// AsXeroLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService.
124928func (oscls OracleServiceCloudLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
124929	return nil, false
124930}
124931
124932// AsSquareLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService.
124933func (oscls OracleServiceCloudLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
124934	return nil, false
124935}
124936
124937// AsSparkLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService.
124938func (oscls OracleServiceCloudLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
124939	return nil, false
124940}
124941
124942// AsShopifyLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService.
124943func (oscls OracleServiceCloudLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
124944	return nil, false
124945}
124946
124947// AsServiceNowLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService.
124948func (oscls OracleServiceCloudLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
124949	return nil, false
124950}
124951
124952// AsQuickBooksLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService.
124953func (oscls OracleServiceCloudLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
124954	return nil, false
124955}
124956
124957// AsPrestoLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService.
124958func (oscls OracleServiceCloudLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
124959	return nil, false
124960}
124961
124962// AsPhoenixLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService.
124963func (oscls OracleServiceCloudLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
124964	return nil, false
124965}
124966
124967// AsPaypalLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService.
124968func (oscls OracleServiceCloudLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
124969	return nil, false
124970}
124971
124972// AsMarketoLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService.
124973func (oscls OracleServiceCloudLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
124974	return nil, false
124975}
124976
124977// AsMariaDBLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService.
124978func (oscls OracleServiceCloudLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
124979	return nil, false
124980}
124981
124982// AsMagentoLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService.
124983func (oscls OracleServiceCloudLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
124984	return nil, false
124985}
124986
124987// AsJiraLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService.
124988func (oscls OracleServiceCloudLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
124989	return nil, false
124990}
124991
124992// AsImpalaLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService.
124993func (oscls OracleServiceCloudLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
124994	return nil, false
124995}
124996
124997// AsHubspotLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService.
124998func (oscls OracleServiceCloudLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
124999	return nil, false
125000}
125001
125002// AsHiveLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService.
125003func (oscls OracleServiceCloudLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
125004	return nil, false
125005}
125006
125007// AsHBaseLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService.
125008func (oscls OracleServiceCloudLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
125009	return nil, false
125010}
125011
125012// AsGreenplumLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService.
125013func (oscls OracleServiceCloudLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
125014	return nil, false
125015}
125016
125017// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService.
125018func (oscls OracleServiceCloudLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
125019	return nil, false
125020}
125021
125022// AsEloquaLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService.
125023func (oscls OracleServiceCloudLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
125024	return nil, false
125025}
125026
125027// AsDrillLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService.
125028func (oscls OracleServiceCloudLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
125029	return nil, false
125030}
125031
125032// AsCouchbaseLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService.
125033func (oscls OracleServiceCloudLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
125034	return nil, false
125035}
125036
125037// AsConcurLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService.
125038func (oscls OracleServiceCloudLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
125039	return nil, false
125040}
125041
125042// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService.
125043func (oscls OracleServiceCloudLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
125044	return nil, false
125045}
125046
125047// AsAmazonMWSLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService.
125048func (oscls OracleServiceCloudLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
125049	return nil, false
125050}
125051
125052// AsSapHanaLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService.
125053func (oscls OracleServiceCloudLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
125054	return nil, false
125055}
125056
125057// AsSapBWLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService.
125058func (oscls OracleServiceCloudLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
125059	return nil, false
125060}
125061
125062// AsSftpServerLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService.
125063func (oscls OracleServiceCloudLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
125064	return nil, false
125065}
125066
125067// AsFtpServerLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService.
125068func (oscls OracleServiceCloudLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
125069	return nil, false
125070}
125071
125072// AsHTTPLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService.
125073func (oscls OracleServiceCloudLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
125074	return nil, false
125075}
125076
125077// AsAzureSearchLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService.
125078func (oscls OracleServiceCloudLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
125079	return nil, false
125080}
125081
125082// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService.
125083func (oscls OracleServiceCloudLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
125084	return nil, false
125085}
125086
125087// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService.
125088func (oscls OracleServiceCloudLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
125089	return nil, false
125090}
125091
125092// AsAmazonS3LinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService.
125093func (oscls OracleServiceCloudLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
125094	return nil, false
125095}
125096
125097// AsRestServiceLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService.
125098func (oscls OracleServiceCloudLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) {
125099	return nil, false
125100}
125101
125102// AsSapOpenHubLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService.
125103func (oscls OracleServiceCloudLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) {
125104	return nil, false
125105}
125106
125107// AsSapEccLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService.
125108func (oscls OracleServiceCloudLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
125109	return nil, false
125110}
125111
125112// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService.
125113func (oscls OracleServiceCloudLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
125114	return nil, false
125115}
125116
125117// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService.
125118func (oscls OracleServiceCloudLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) {
125119	return nil, false
125120}
125121
125122// AsSalesforceLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService.
125123func (oscls OracleServiceCloudLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
125124	return nil, false
125125}
125126
125127// AsOffice365LinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService.
125128func (oscls OracleServiceCloudLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) {
125129	return nil, false
125130}
125131
125132// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService.
125133func (oscls OracleServiceCloudLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) {
125134	return nil, false
125135}
125136
125137// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService.
125138func (oscls OracleServiceCloudLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
125139	return nil, false
125140}
125141
125142// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService.
125143func (oscls OracleServiceCloudLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) {
125144	return nil, false
125145}
125146
125147// AsMongoDbV2LinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService.
125148func (oscls OracleServiceCloudLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) {
125149	return nil, false
125150}
125151
125152// AsMongoDbLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService.
125153func (oscls OracleServiceCloudLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
125154	return nil, false
125155}
125156
125157// AsCassandraLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService.
125158func (oscls OracleServiceCloudLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
125159	return nil, false
125160}
125161
125162// AsWebLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService.
125163func (oscls OracleServiceCloudLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
125164	return nil, false
125165}
125166
125167// AsODataLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService.
125168func (oscls OracleServiceCloudLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
125169	return nil, false
125170}
125171
125172// AsHdfsLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService.
125173func (oscls OracleServiceCloudLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
125174	return nil, false
125175}
125176
125177// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService.
125178func (oscls OracleServiceCloudLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) {
125179	return nil, false
125180}
125181
125182// AsInformixLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService.
125183func (oscls OracleServiceCloudLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) {
125184	return nil, false
125185}
125186
125187// AsOdbcLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService.
125188func (oscls OracleServiceCloudLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
125189	return nil, false
125190}
125191
125192// AsAzureMLLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService.
125193func (oscls OracleServiceCloudLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
125194	return nil, false
125195}
125196
125197// AsTeradataLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService.
125198func (oscls OracleServiceCloudLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
125199	return nil, false
125200}
125201
125202// AsDb2LinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService.
125203func (oscls OracleServiceCloudLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
125204	return nil, false
125205}
125206
125207// AsSybaseLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService.
125208func (oscls OracleServiceCloudLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
125209	return nil, false
125210}
125211
125212// AsPostgreSQLLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService.
125213func (oscls OracleServiceCloudLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
125214	return nil, false
125215}
125216
125217// AsMySQLLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService.
125218func (oscls OracleServiceCloudLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
125219	return nil, false
125220}
125221
125222// AsAzureMySQLLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService.
125223func (oscls OracleServiceCloudLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
125224	return nil, false
125225}
125226
125227// AsOracleLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService.
125228func (oscls OracleServiceCloudLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
125229	return nil, false
125230}
125231
125232// AsFileServerLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService.
125233func (oscls OracleServiceCloudLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
125234	return nil, false
125235}
125236
125237// AsHDInsightLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService.
125238func (oscls OracleServiceCloudLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
125239	return nil, false
125240}
125241
125242// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService.
125243func (oscls OracleServiceCloudLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) {
125244	return nil, false
125245}
125246
125247// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService.
125248func (oscls OracleServiceCloudLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) {
125249	return nil, false
125250}
125251
125252// AsDynamicsLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService.
125253func (oscls OracleServiceCloudLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
125254	return nil, false
125255}
125256
125257// AsCosmosDbLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService.
125258func (oscls OracleServiceCloudLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
125259	return nil, false
125260}
125261
125262// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService.
125263func (oscls OracleServiceCloudLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
125264	return nil, false
125265}
125266
125267// AsAzureBatchLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService.
125268func (oscls OracleServiceCloudLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
125269	return nil, false
125270}
125271
125272// AsAzureSQLMILinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService.
125273func (oscls OracleServiceCloudLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) {
125274	return nil, false
125275}
125276
125277// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService.
125278func (oscls OracleServiceCloudLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
125279	return nil, false
125280}
125281
125282// AsSQLServerLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService.
125283func (oscls OracleServiceCloudLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
125284	return nil, false
125285}
125286
125287// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService.
125288func (oscls OracleServiceCloudLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
125289	return nil, false
125290}
125291
125292// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService.
125293func (oscls OracleServiceCloudLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) {
125294	return nil, false
125295}
125296
125297// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService.
125298func (oscls OracleServiceCloudLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) {
125299	return nil, false
125300}
125301
125302// AsAzureStorageLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService.
125303func (oscls OracleServiceCloudLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
125304	return nil, false
125305}
125306
125307// AsLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService.
125308func (oscls OracleServiceCloudLinkedService) AsLinkedService() (*LinkedService, bool) {
125309	return nil, false
125310}
125311
125312// AsBasicLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService.
125313func (oscls OracleServiceCloudLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
125314	return &oscls, true
125315}
125316
125317// UnmarshalJSON is the custom unmarshaler for OracleServiceCloudLinkedService struct.
125318func (oscls *OracleServiceCloudLinkedService) UnmarshalJSON(body []byte) error {
125319	var m map[string]*json.RawMessage
125320	err := json.Unmarshal(body, &m)
125321	if err != nil {
125322		return err
125323	}
125324	for k, v := range m {
125325		switch k {
125326		case "typeProperties":
125327			if v != nil {
125328				var oracleServiceCloudLinkedServiceTypeProperties OracleServiceCloudLinkedServiceTypeProperties
125329				err = json.Unmarshal(*v, &oracleServiceCloudLinkedServiceTypeProperties)
125330				if err != nil {
125331					return err
125332				}
125333				oscls.OracleServiceCloudLinkedServiceTypeProperties = &oracleServiceCloudLinkedServiceTypeProperties
125334			}
125335		default:
125336			if v != nil {
125337				var additionalProperties interface{}
125338				err = json.Unmarshal(*v, &additionalProperties)
125339				if err != nil {
125340					return err
125341				}
125342				if oscls.AdditionalProperties == nil {
125343					oscls.AdditionalProperties = make(map[string]interface{})
125344				}
125345				oscls.AdditionalProperties[k] = additionalProperties
125346			}
125347		case "connectVia":
125348			if v != nil {
125349				var connectVia IntegrationRuntimeReference
125350				err = json.Unmarshal(*v, &connectVia)
125351				if err != nil {
125352					return err
125353				}
125354				oscls.ConnectVia = &connectVia
125355			}
125356		case "description":
125357			if v != nil {
125358				var description string
125359				err = json.Unmarshal(*v, &description)
125360				if err != nil {
125361					return err
125362				}
125363				oscls.Description = &description
125364			}
125365		case "parameters":
125366			if v != nil {
125367				var parameters map[string]*ParameterSpecification
125368				err = json.Unmarshal(*v, &parameters)
125369				if err != nil {
125370					return err
125371				}
125372				oscls.Parameters = parameters
125373			}
125374		case "annotations":
125375			if v != nil {
125376				var annotations []interface{}
125377				err = json.Unmarshal(*v, &annotations)
125378				if err != nil {
125379					return err
125380				}
125381				oscls.Annotations = &annotations
125382			}
125383		case "type":
125384			if v != nil {
125385				var typeVar TypeBasicLinkedService
125386				err = json.Unmarshal(*v, &typeVar)
125387				if err != nil {
125388					return err
125389				}
125390				oscls.Type = typeVar
125391			}
125392		}
125393	}
125394
125395	return nil
125396}
125397
125398// OracleServiceCloudLinkedServiceTypeProperties oracle Service Cloud linked service properties.
125399type OracleServiceCloudLinkedServiceTypeProperties struct {
125400	// Host - The URL of the Oracle Service Cloud instance.
125401	Host interface{} `json:"host,omitempty"`
125402	// Username - The user name that you use to access Oracle Service Cloud server.
125403	Username interface{} `json:"username,omitempty"`
125404	// Password - The password corresponding to the user name that you provided in the username key.
125405	Password BasicSecretBase `json:"password,omitempty"`
125406	// UseEncryptedEndpoints - Specifies whether the data source endpoints are encrypted using HTTPS. The default value is true. Type: boolean (or Expression with resultType boolean).
125407	UseEncryptedEndpoints interface{} `json:"useEncryptedEndpoints,omitempty"`
125408	// 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).
125409	UseHostVerification interface{} `json:"useHostVerification,omitempty"`
125410	// 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).
125411	UsePeerVerification interface{} `json:"usePeerVerification,omitempty"`
125412	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
125413	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
125414}
125415
125416// UnmarshalJSON is the custom unmarshaler for OracleServiceCloudLinkedServiceTypeProperties struct.
125417func (osclstp *OracleServiceCloudLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
125418	var m map[string]*json.RawMessage
125419	err := json.Unmarshal(body, &m)
125420	if err != nil {
125421		return err
125422	}
125423	for k, v := range m {
125424		switch k {
125425		case "host":
125426			if v != nil {
125427				var host interface{}
125428				err = json.Unmarshal(*v, &host)
125429				if err != nil {
125430					return err
125431				}
125432				osclstp.Host = host
125433			}
125434		case "username":
125435			if v != nil {
125436				var username interface{}
125437				err = json.Unmarshal(*v, &username)
125438				if err != nil {
125439					return err
125440				}
125441				osclstp.Username = username
125442			}
125443		case "password":
125444			if v != nil {
125445				password, err := unmarshalBasicSecretBase(*v)
125446				if err != nil {
125447					return err
125448				}
125449				osclstp.Password = password
125450			}
125451		case "useEncryptedEndpoints":
125452			if v != nil {
125453				var useEncryptedEndpoints interface{}
125454				err = json.Unmarshal(*v, &useEncryptedEndpoints)
125455				if err != nil {
125456					return err
125457				}
125458				osclstp.UseEncryptedEndpoints = useEncryptedEndpoints
125459			}
125460		case "useHostVerification":
125461			if v != nil {
125462				var useHostVerification interface{}
125463				err = json.Unmarshal(*v, &useHostVerification)
125464				if err != nil {
125465					return err
125466				}
125467				osclstp.UseHostVerification = useHostVerification
125468			}
125469		case "usePeerVerification":
125470			if v != nil {
125471				var usePeerVerification interface{}
125472				err = json.Unmarshal(*v, &usePeerVerification)
125473				if err != nil {
125474					return err
125475				}
125476				osclstp.UsePeerVerification = usePeerVerification
125477			}
125478		case "encryptedCredential":
125479			if v != nil {
125480				var encryptedCredential interface{}
125481				err = json.Unmarshal(*v, &encryptedCredential)
125482				if err != nil {
125483					return err
125484				}
125485				osclstp.EncryptedCredential = encryptedCredential
125486			}
125487		}
125488	}
125489
125490	return nil
125491}
125492
125493// OracleServiceCloudObjectDataset oracle Service Cloud dataset.
125494type OracleServiceCloudObjectDataset struct {
125495	// GenericDatasetTypeProperties - Properties specific to this dataset type.
125496	*GenericDatasetTypeProperties `json:"typeProperties,omitempty"`
125497	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
125498	AdditionalProperties map[string]interface{} `json:""`
125499	// Description - Dataset description.
125500	Description *string `json:"description,omitempty"`
125501	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
125502	Structure interface{} `json:"structure,omitempty"`
125503	// Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement.
125504	Schema interface{} `json:"schema,omitempty"`
125505	// LinkedServiceName - Linked service reference.
125506	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
125507	// Parameters - Parameters for dataset.
125508	Parameters map[string]*ParameterSpecification `json:"parameters"`
125509	// Annotations - List of tags that can be used for describing the Dataset.
125510	Annotations *[]interface{} `json:"annotations,omitempty"`
125511	// Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level.
125512	Folder *DatasetFolder `json:"folder,omitempty"`
125513	// Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', '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', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeDelimitedText', 'TypeParquet', 'TypeAmazonS3Object'
125514	Type TypeBasicDataset `json:"type,omitempty"`
125515}
125516
125517// MarshalJSON is the custom marshaler for OracleServiceCloudObjectDataset.
125518func (oscod OracleServiceCloudObjectDataset) MarshalJSON() ([]byte, error) {
125519	oscod.Type = TypeOracleServiceCloudObject
125520	objectMap := make(map[string]interface{})
125521	if oscod.GenericDatasetTypeProperties != nil {
125522		objectMap["typeProperties"] = oscod.GenericDatasetTypeProperties
125523	}
125524	if oscod.Description != nil {
125525		objectMap["description"] = oscod.Description
125526	}
125527	if oscod.Structure != nil {
125528		objectMap["structure"] = oscod.Structure
125529	}
125530	if oscod.Schema != nil {
125531		objectMap["schema"] = oscod.Schema
125532	}
125533	if oscod.LinkedServiceName != nil {
125534		objectMap["linkedServiceName"] = oscod.LinkedServiceName
125535	}
125536	if oscod.Parameters != nil {
125537		objectMap["parameters"] = oscod.Parameters
125538	}
125539	if oscod.Annotations != nil {
125540		objectMap["annotations"] = oscod.Annotations
125541	}
125542	if oscod.Folder != nil {
125543		objectMap["folder"] = oscod.Folder
125544	}
125545	if oscod.Type != "" {
125546		objectMap["type"] = oscod.Type
125547	}
125548	for k, v := range oscod.AdditionalProperties {
125549		objectMap[k] = v
125550	}
125551	return json.Marshal(objectMap)
125552}
125553
125554// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset.
125555func (oscod OracleServiceCloudObjectDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) {
125556	return nil, false
125557}
125558
125559// AsAzureDataExplorerTableDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset.
125560func (oscod OracleServiceCloudObjectDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) {
125561	return nil, false
125562}
125563
125564// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset.
125565func (oscod OracleServiceCloudObjectDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) {
125566	return &oscod, true
125567}
125568
125569// AsDynamicsAXResourceDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset.
125570func (oscod OracleServiceCloudObjectDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) {
125571	return nil, false
125572}
125573
125574// AsResponsysObjectDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset.
125575func (oscod OracleServiceCloudObjectDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
125576	return nil, false
125577}
125578
125579// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset.
125580func (oscod OracleServiceCloudObjectDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
125581	return nil, false
125582}
125583
125584// AsVerticaTableDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset.
125585func (oscod OracleServiceCloudObjectDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
125586	return nil, false
125587}
125588
125589// AsNetezzaTableDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset.
125590func (oscod OracleServiceCloudObjectDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
125591	return nil, false
125592}
125593
125594// AsZohoObjectDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset.
125595func (oscod OracleServiceCloudObjectDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
125596	return nil, false
125597}
125598
125599// AsXeroObjectDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset.
125600func (oscod OracleServiceCloudObjectDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
125601	return nil, false
125602}
125603
125604// AsSquareObjectDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset.
125605func (oscod OracleServiceCloudObjectDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
125606	return nil, false
125607}
125608
125609// AsSparkObjectDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset.
125610func (oscod OracleServiceCloudObjectDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
125611	return nil, false
125612}
125613
125614// AsShopifyObjectDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset.
125615func (oscod OracleServiceCloudObjectDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
125616	return nil, false
125617}
125618
125619// AsServiceNowObjectDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset.
125620func (oscod OracleServiceCloudObjectDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
125621	return nil, false
125622}
125623
125624// AsQuickBooksObjectDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset.
125625func (oscod OracleServiceCloudObjectDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
125626	return nil, false
125627}
125628
125629// AsPrestoObjectDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset.
125630func (oscod OracleServiceCloudObjectDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
125631	return nil, false
125632}
125633
125634// AsPhoenixObjectDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset.
125635func (oscod OracleServiceCloudObjectDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
125636	return nil, false
125637}
125638
125639// AsPaypalObjectDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset.
125640func (oscod OracleServiceCloudObjectDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
125641	return nil, false
125642}
125643
125644// AsMarketoObjectDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset.
125645func (oscod OracleServiceCloudObjectDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
125646	return nil, false
125647}
125648
125649// AsMariaDBTableDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset.
125650func (oscod OracleServiceCloudObjectDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
125651	return nil, false
125652}
125653
125654// AsMagentoObjectDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset.
125655func (oscod OracleServiceCloudObjectDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
125656	return nil, false
125657}
125658
125659// AsJiraObjectDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset.
125660func (oscod OracleServiceCloudObjectDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
125661	return nil, false
125662}
125663
125664// AsImpalaObjectDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset.
125665func (oscod OracleServiceCloudObjectDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
125666	return nil, false
125667}
125668
125669// AsHubspotObjectDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset.
125670func (oscod OracleServiceCloudObjectDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
125671	return nil, false
125672}
125673
125674// AsHiveObjectDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset.
125675func (oscod OracleServiceCloudObjectDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
125676	return nil, false
125677}
125678
125679// AsHBaseObjectDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset.
125680func (oscod OracleServiceCloudObjectDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
125681	return nil, false
125682}
125683
125684// AsGreenplumTableDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset.
125685func (oscod OracleServiceCloudObjectDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
125686	return nil, false
125687}
125688
125689// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset.
125690func (oscod OracleServiceCloudObjectDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
125691	return nil, false
125692}
125693
125694// AsEloquaObjectDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset.
125695func (oscod OracleServiceCloudObjectDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
125696	return nil, false
125697}
125698
125699// AsDrillTableDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset.
125700func (oscod OracleServiceCloudObjectDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
125701	return nil, false
125702}
125703
125704// AsCouchbaseTableDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset.
125705func (oscod OracleServiceCloudObjectDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
125706	return nil, false
125707}
125708
125709// AsConcurObjectDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset.
125710func (oscod OracleServiceCloudObjectDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
125711	return nil, false
125712}
125713
125714// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset.
125715func (oscod OracleServiceCloudObjectDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
125716	return nil, false
125717}
125718
125719// AsAmazonMWSObjectDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset.
125720func (oscod OracleServiceCloudObjectDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
125721	return nil, false
125722}
125723
125724// AsHTTPDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset.
125725func (oscod OracleServiceCloudObjectDataset) AsHTTPDataset() (*HTTPDataset, bool) {
125726	return nil, false
125727}
125728
125729// AsAzureSearchIndexDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset.
125730func (oscod OracleServiceCloudObjectDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
125731	return nil, false
125732}
125733
125734// AsWebTableDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset.
125735func (oscod OracleServiceCloudObjectDataset) AsWebTableDataset() (*WebTableDataset, bool) {
125736	return nil, false
125737}
125738
125739// AsSapTableResourceDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset.
125740func (oscod OracleServiceCloudObjectDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) {
125741	return nil, false
125742}
125743
125744// AsRestResourceDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset.
125745func (oscod OracleServiceCloudObjectDataset) AsRestResourceDataset() (*RestResourceDataset, bool) {
125746	return nil, false
125747}
125748
125749// AsSQLServerTableDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset.
125750func (oscod OracleServiceCloudObjectDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
125751	return nil, false
125752}
125753
125754// AsSapOpenHubTableDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset.
125755func (oscod OracleServiceCloudObjectDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) {
125756	return nil, false
125757}
125758
125759// AsSapHanaTableDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset.
125760func (oscod OracleServiceCloudObjectDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) {
125761	return nil, false
125762}
125763
125764// AsSapEccResourceDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset.
125765func (oscod OracleServiceCloudObjectDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
125766	return nil, false
125767}
125768
125769// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset.
125770func (oscod OracleServiceCloudObjectDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
125771	return nil, false
125772}
125773
125774// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset.
125775func (oscod OracleServiceCloudObjectDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) {
125776	return nil, false
125777}
125778
125779// AsSalesforceObjectDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset.
125780func (oscod OracleServiceCloudObjectDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
125781	return nil, false
125782}
125783
125784// AsMicrosoftAccessTableDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset.
125785func (oscod OracleServiceCloudObjectDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) {
125786	return nil, false
125787}
125788
125789// AsPostgreSQLTableDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset.
125790func (oscod OracleServiceCloudObjectDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) {
125791	return nil, false
125792}
125793
125794// AsMySQLTableDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset.
125795func (oscod OracleServiceCloudObjectDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) {
125796	return nil, false
125797}
125798
125799// AsOdbcTableDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset.
125800func (oscod OracleServiceCloudObjectDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) {
125801	return nil, false
125802}
125803
125804// AsInformixTableDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset.
125805func (oscod OracleServiceCloudObjectDataset) AsInformixTableDataset() (*InformixTableDataset, bool) {
125806	return nil, false
125807}
125808
125809// AsRelationalTableDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset.
125810func (oscod OracleServiceCloudObjectDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
125811	return nil, false
125812}
125813
125814// AsAzureMySQLTableDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset.
125815func (oscod OracleServiceCloudObjectDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
125816	return nil, false
125817}
125818
125819// AsTeradataTableDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset.
125820func (oscod OracleServiceCloudObjectDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) {
125821	return nil, false
125822}
125823
125824// AsOracleTableDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset.
125825func (oscod OracleServiceCloudObjectDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
125826	return nil, false
125827}
125828
125829// AsODataResourceDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset.
125830func (oscod OracleServiceCloudObjectDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
125831	return nil, false
125832}
125833
125834// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset.
125835func (oscod OracleServiceCloudObjectDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) {
125836	return nil, false
125837}
125838
125839// AsMongoDbV2CollectionDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset.
125840func (oscod OracleServiceCloudObjectDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) {
125841	return nil, false
125842}
125843
125844// AsMongoDbCollectionDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset.
125845func (oscod OracleServiceCloudObjectDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
125846	return nil, false
125847}
125848
125849// AsFileShareDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset.
125850func (oscod OracleServiceCloudObjectDataset) AsFileShareDataset() (*FileShareDataset, bool) {
125851	return nil, false
125852}
125853
125854// AsOffice365Dataset is the BasicDataset implementation for OracleServiceCloudObjectDataset.
125855func (oscod OracleServiceCloudObjectDataset) AsOffice365Dataset() (*Office365Dataset, bool) {
125856	return nil, false
125857}
125858
125859// AsAzureBlobFSDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset.
125860func (oscod OracleServiceCloudObjectDataset) AsAzureBlobFSDataset() (*AzureBlobFSDataset, bool) {
125861	return nil, false
125862}
125863
125864// AsAzureDataLakeStoreDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset.
125865func (oscod OracleServiceCloudObjectDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) {
125866	return nil, false
125867}
125868
125869// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset.
125870func (oscod OracleServiceCloudObjectDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) {
125871	return nil, false
125872}
125873
125874// AsDynamicsCrmEntityDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset.
125875func (oscod OracleServiceCloudObjectDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) {
125876	return nil, false
125877}
125878
125879// AsDynamicsEntityDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset.
125880func (oscod OracleServiceCloudObjectDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
125881	return nil, false
125882}
125883
125884// AsDocumentDbCollectionDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset.
125885func (oscod OracleServiceCloudObjectDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
125886	return nil, false
125887}
125888
125889// AsCustomDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset.
125890func (oscod OracleServiceCloudObjectDataset) AsCustomDataset() (*CustomDataset, bool) {
125891	return nil, false
125892}
125893
125894// AsCassandraTableDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset.
125895func (oscod OracleServiceCloudObjectDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
125896	return nil, false
125897}
125898
125899// AsAzureSQLDWTableDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset.
125900func (oscod OracleServiceCloudObjectDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
125901	return nil, false
125902}
125903
125904// AsAzureSQLMITableDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset.
125905func (oscod OracleServiceCloudObjectDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) {
125906	return nil, false
125907}
125908
125909// AsAzureSQLTableDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset.
125910func (oscod OracleServiceCloudObjectDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
125911	return nil, false
125912}
125913
125914// AsAzureTableDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset.
125915func (oscod OracleServiceCloudObjectDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
125916	return nil, false
125917}
125918
125919// AsAzureBlobDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset.
125920func (oscod OracleServiceCloudObjectDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) {
125921	return nil, false
125922}
125923
125924// AsBinaryDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset.
125925func (oscod OracleServiceCloudObjectDataset) AsBinaryDataset() (*BinaryDataset, bool) {
125926	return nil, false
125927}
125928
125929// AsDelimitedTextDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset.
125930func (oscod OracleServiceCloudObjectDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) {
125931	return nil, false
125932}
125933
125934// AsParquetDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset.
125935func (oscod OracleServiceCloudObjectDataset) AsParquetDataset() (*ParquetDataset, bool) {
125936	return nil, false
125937}
125938
125939// AsAmazonS3Dataset is the BasicDataset implementation for OracleServiceCloudObjectDataset.
125940func (oscod OracleServiceCloudObjectDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) {
125941	return nil, false
125942}
125943
125944// AsDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset.
125945func (oscod OracleServiceCloudObjectDataset) AsDataset() (*Dataset, bool) {
125946	return nil, false
125947}
125948
125949// AsBasicDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset.
125950func (oscod OracleServiceCloudObjectDataset) AsBasicDataset() (BasicDataset, bool) {
125951	return &oscod, true
125952}
125953
125954// UnmarshalJSON is the custom unmarshaler for OracleServiceCloudObjectDataset struct.
125955func (oscod *OracleServiceCloudObjectDataset) UnmarshalJSON(body []byte) error {
125956	var m map[string]*json.RawMessage
125957	err := json.Unmarshal(body, &m)
125958	if err != nil {
125959		return err
125960	}
125961	for k, v := range m {
125962		switch k {
125963		case "typeProperties":
125964			if v != nil {
125965				var genericDatasetTypeProperties GenericDatasetTypeProperties
125966				err = json.Unmarshal(*v, &genericDatasetTypeProperties)
125967				if err != nil {
125968					return err
125969				}
125970				oscod.GenericDatasetTypeProperties = &genericDatasetTypeProperties
125971			}
125972		default:
125973			if v != nil {
125974				var additionalProperties interface{}
125975				err = json.Unmarshal(*v, &additionalProperties)
125976				if err != nil {
125977					return err
125978				}
125979				if oscod.AdditionalProperties == nil {
125980					oscod.AdditionalProperties = make(map[string]interface{})
125981				}
125982				oscod.AdditionalProperties[k] = additionalProperties
125983			}
125984		case "description":
125985			if v != nil {
125986				var description string
125987				err = json.Unmarshal(*v, &description)
125988				if err != nil {
125989					return err
125990				}
125991				oscod.Description = &description
125992			}
125993		case "structure":
125994			if v != nil {
125995				var structure interface{}
125996				err = json.Unmarshal(*v, &structure)
125997				if err != nil {
125998					return err
125999				}
126000				oscod.Structure = structure
126001			}
126002		case "schema":
126003			if v != nil {
126004				var schema interface{}
126005				err = json.Unmarshal(*v, &schema)
126006				if err != nil {
126007					return err
126008				}
126009				oscod.Schema = schema
126010			}
126011		case "linkedServiceName":
126012			if v != nil {
126013				var linkedServiceName LinkedServiceReference
126014				err = json.Unmarshal(*v, &linkedServiceName)
126015				if err != nil {
126016					return err
126017				}
126018				oscod.LinkedServiceName = &linkedServiceName
126019			}
126020		case "parameters":
126021			if v != nil {
126022				var parameters map[string]*ParameterSpecification
126023				err = json.Unmarshal(*v, &parameters)
126024				if err != nil {
126025					return err
126026				}
126027				oscod.Parameters = parameters
126028			}
126029		case "annotations":
126030			if v != nil {
126031				var annotations []interface{}
126032				err = json.Unmarshal(*v, &annotations)
126033				if err != nil {
126034					return err
126035				}
126036				oscod.Annotations = &annotations
126037			}
126038		case "folder":
126039			if v != nil {
126040				var folder DatasetFolder
126041				err = json.Unmarshal(*v, &folder)
126042				if err != nil {
126043					return err
126044				}
126045				oscod.Folder = &folder
126046			}
126047		case "type":
126048			if v != nil {
126049				var typeVar TypeBasicDataset
126050				err = json.Unmarshal(*v, &typeVar)
126051				if err != nil {
126052					return err
126053				}
126054				oscod.Type = typeVar
126055			}
126056		}
126057	}
126058
126059	return nil
126060}
126061
126062// OracleServiceCloudSource a copy activity Oracle Service Cloud source.
126063type OracleServiceCloudSource struct {
126064	// Query - A query to retrieve data from source. Type: string (or Expression with resultType string).
126065	Query interface{} `json:"query,omitempty"`
126066	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
126067	AdditionalProperties map[string]interface{} `json:""`
126068	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
126069	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
126070	// 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])).
126071	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
126072	// MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer).
126073	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
126074	// Type - Possible values include: 'TypeCopySource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', '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', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeCassandraSource', 'TypeWebSource', 'TypeTeradataSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeAzureMySQLSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeRestSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceServiceCloudSource', 'TypeSalesforceSource', 'TypeODataSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeMicrosoftAccessSource', 'TypeInformixSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAzureTableSource', 'TypeBinarySource', 'TypeDelimitedTextSource', 'TypeParquetSource'
126075	Type TypeBasicCopySource `json:"type,omitempty"`
126076}
126077
126078// MarshalJSON is the custom marshaler for OracleServiceCloudSource.
126079func (oscs OracleServiceCloudSource) MarshalJSON() ([]byte, error) {
126080	oscs.Type = TypeOracleServiceCloudSource
126081	objectMap := make(map[string]interface{})
126082	if oscs.Query != nil {
126083		objectMap["query"] = oscs.Query
126084	}
126085	if oscs.SourceRetryCount != nil {
126086		objectMap["sourceRetryCount"] = oscs.SourceRetryCount
126087	}
126088	if oscs.SourceRetryWait != nil {
126089		objectMap["sourceRetryWait"] = oscs.SourceRetryWait
126090	}
126091	if oscs.MaxConcurrentConnections != nil {
126092		objectMap["maxConcurrentConnections"] = oscs.MaxConcurrentConnections
126093	}
126094	if oscs.Type != "" {
126095		objectMap["type"] = oscs.Type
126096	}
126097	for k, v := range oscs.AdditionalProperties {
126098		objectMap[k] = v
126099	}
126100	return json.Marshal(objectMap)
126101}
126102
126103// AsAmazonRedshiftSource is the BasicCopySource implementation for OracleServiceCloudSource.
126104func (oscs OracleServiceCloudSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
126105	return nil, false
126106}
126107
126108// AsGoogleAdWordsSource is the BasicCopySource implementation for OracleServiceCloudSource.
126109func (oscs OracleServiceCloudSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) {
126110	return nil, false
126111}
126112
126113// AsOracleServiceCloudSource is the BasicCopySource implementation for OracleServiceCloudSource.
126114func (oscs OracleServiceCloudSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) {
126115	return &oscs, true
126116}
126117
126118// AsDynamicsAXSource is the BasicCopySource implementation for OracleServiceCloudSource.
126119func (oscs OracleServiceCloudSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) {
126120	return nil, false
126121}
126122
126123// AsResponsysSource is the BasicCopySource implementation for OracleServiceCloudSource.
126124func (oscs OracleServiceCloudSource) AsResponsysSource() (*ResponsysSource, bool) {
126125	return nil, false
126126}
126127
126128// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for OracleServiceCloudSource.
126129func (oscs OracleServiceCloudSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
126130	return nil, false
126131}
126132
126133// AsVerticaSource is the BasicCopySource implementation for OracleServiceCloudSource.
126134func (oscs OracleServiceCloudSource) AsVerticaSource() (*VerticaSource, bool) {
126135	return nil, false
126136}
126137
126138// AsNetezzaSource is the BasicCopySource implementation for OracleServiceCloudSource.
126139func (oscs OracleServiceCloudSource) AsNetezzaSource() (*NetezzaSource, bool) {
126140	return nil, false
126141}
126142
126143// AsZohoSource is the BasicCopySource implementation for OracleServiceCloudSource.
126144func (oscs OracleServiceCloudSource) AsZohoSource() (*ZohoSource, bool) {
126145	return nil, false
126146}
126147
126148// AsXeroSource is the BasicCopySource implementation for OracleServiceCloudSource.
126149func (oscs OracleServiceCloudSource) AsXeroSource() (*XeroSource, bool) {
126150	return nil, false
126151}
126152
126153// AsSquareSource is the BasicCopySource implementation for OracleServiceCloudSource.
126154func (oscs OracleServiceCloudSource) AsSquareSource() (*SquareSource, bool) {
126155	return nil, false
126156}
126157
126158// AsSparkSource is the BasicCopySource implementation for OracleServiceCloudSource.
126159func (oscs OracleServiceCloudSource) AsSparkSource() (*SparkSource, bool) {
126160	return nil, false
126161}
126162
126163// AsShopifySource is the BasicCopySource implementation for OracleServiceCloudSource.
126164func (oscs OracleServiceCloudSource) AsShopifySource() (*ShopifySource, bool) {
126165	return nil, false
126166}
126167
126168// AsServiceNowSource is the BasicCopySource implementation for OracleServiceCloudSource.
126169func (oscs OracleServiceCloudSource) AsServiceNowSource() (*ServiceNowSource, bool) {
126170	return nil, false
126171}
126172
126173// AsQuickBooksSource is the BasicCopySource implementation for OracleServiceCloudSource.
126174func (oscs OracleServiceCloudSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
126175	return nil, false
126176}
126177
126178// AsPrestoSource is the BasicCopySource implementation for OracleServiceCloudSource.
126179func (oscs OracleServiceCloudSource) AsPrestoSource() (*PrestoSource, bool) {
126180	return nil, false
126181}
126182
126183// AsPhoenixSource is the BasicCopySource implementation for OracleServiceCloudSource.
126184func (oscs OracleServiceCloudSource) AsPhoenixSource() (*PhoenixSource, bool) {
126185	return nil, false
126186}
126187
126188// AsPaypalSource is the BasicCopySource implementation for OracleServiceCloudSource.
126189func (oscs OracleServiceCloudSource) AsPaypalSource() (*PaypalSource, bool) {
126190	return nil, false
126191}
126192
126193// AsMarketoSource is the BasicCopySource implementation for OracleServiceCloudSource.
126194func (oscs OracleServiceCloudSource) AsMarketoSource() (*MarketoSource, bool) {
126195	return nil, false
126196}
126197
126198// AsMariaDBSource is the BasicCopySource implementation for OracleServiceCloudSource.
126199func (oscs OracleServiceCloudSource) AsMariaDBSource() (*MariaDBSource, bool) {
126200	return nil, false
126201}
126202
126203// AsMagentoSource is the BasicCopySource implementation for OracleServiceCloudSource.
126204func (oscs OracleServiceCloudSource) AsMagentoSource() (*MagentoSource, bool) {
126205	return nil, false
126206}
126207
126208// AsJiraSource is the BasicCopySource implementation for OracleServiceCloudSource.
126209func (oscs OracleServiceCloudSource) AsJiraSource() (*JiraSource, bool) {
126210	return nil, false
126211}
126212
126213// AsImpalaSource is the BasicCopySource implementation for OracleServiceCloudSource.
126214func (oscs OracleServiceCloudSource) AsImpalaSource() (*ImpalaSource, bool) {
126215	return nil, false
126216}
126217
126218// AsHubspotSource is the BasicCopySource implementation for OracleServiceCloudSource.
126219func (oscs OracleServiceCloudSource) AsHubspotSource() (*HubspotSource, bool) {
126220	return nil, false
126221}
126222
126223// AsHiveSource is the BasicCopySource implementation for OracleServiceCloudSource.
126224func (oscs OracleServiceCloudSource) AsHiveSource() (*HiveSource, bool) {
126225	return nil, false
126226}
126227
126228// AsHBaseSource is the BasicCopySource implementation for OracleServiceCloudSource.
126229func (oscs OracleServiceCloudSource) AsHBaseSource() (*HBaseSource, bool) {
126230	return nil, false
126231}
126232
126233// AsGreenplumSource is the BasicCopySource implementation for OracleServiceCloudSource.
126234func (oscs OracleServiceCloudSource) AsGreenplumSource() (*GreenplumSource, bool) {
126235	return nil, false
126236}
126237
126238// AsGoogleBigQuerySource is the BasicCopySource implementation for OracleServiceCloudSource.
126239func (oscs OracleServiceCloudSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
126240	return nil, false
126241}
126242
126243// AsEloquaSource is the BasicCopySource implementation for OracleServiceCloudSource.
126244func (oscs OracleServiceCloudSource) AsEloquaSource() (*EloquaSource, bool) {
126245	return nil, false
126246}
126247
126248// AsDrillSource is the BasicCopySource implementation for OracleServiceCloudSource.
126249func (oscs OracleServiceCloudSource) AsDrillSource() (*DrillSource, bool) {
126250	return nil, false
126251}
126252
126253// AsCouchbaseSource is the BasicCopySource implementation for OracleServiceCloudSource.
126254func (oscs OracleServiceCloudSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
126255	return nil, false
126256}
126257
126258// AsConcurSource is the BasicCopySource implementation for OracleServiceCloudSource.
126259func (oscs OracleServiceCloudSource) AsConcurSource() (*ConcurSource, bool) {
126260	return nil, false
126261}
126262
126263// AsAzurePostgreSQLSource is the BasicCopySource implementation for OracleServiceCloudSource.
126264func (oscs OracleServiceCloudSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
126265	return nil, false
126266}
126267
126268// AsAmazonMWSSource is the BasicCopySource implementation for OracleServiceCloudSource.
126269func (oscs OracleServiceCloudSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
126270	return nil, false
126271}
126272
126273// AsHTTPSource is the BasicCopySource implementation for OracleServiceCloudSource.
126274func (oscs OracleServiceCloudSource) AsHTTPSource() (*HTTPSource, bool) {
126275	return nil, false
126276}
126277
126278// AsAzureBlobFSSource is the BasicCopySource implementation for OracleServiceCloudSource.
126279func (oscs OracleServiceCloudSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) {
126280	return nil, false
126281}
126282
126283// AsAzureDataLakeStoreSource is the BasicCopySource implementation for OracleServiceCloudSource.
126284func (oscs OracleServiceCloudSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
126285	return nil, false
126286}
126287
126288// AsOffice365Source is the BasicCopySource implementation for OracleServiceCloudSource.
126289func (oscs OracleServiceCloudSource) AsOffice365Source() (*Office365Source, bool) {
126290	return nil, false
126291}
126292
126293// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for OracleServiceCloudSource.
126294func (oscs OracleServiceCloudSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) {
126295	return nil, false
126296}
126297
126298// AsMongoDbV2Source is the BasicCopySource implementation for OracleServiceCloudSource.
126299func (oscs OracleServiceCloudSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) {
126300	return nil, false
126301}
126302
126303// AsMongoDbSource is the BasicCopySource implementation for OracleServiceCloudSource.
126304func (oscs OracleServiceCloudSource) AsMongoDbSource() (*MongoDbSource, bool) {
126305	return nil, false
126306}
126307
126308// AsCassandraSource is the BasicCopySource implementation for OracleServiceCloudSource.
126309func (oscs OracleServiceCloudSource) AsCassandraSource() (*CassandraSource, bool) {
126310	return nil, false
126311}
126312
126313// AsWebSource is the BasicCopySource implementation for OracleServiceCloudSource.
126314func (oscs OracleServiceCloudSource) AsWebSource() (*WebSource, bool) {
126315	return nil, false
126316}
126317
126318// AsTeradataSource is the BasicCopySource implementation for OracleServiceCloudSource.
126319func (oscs OracleServiceCloudSource) AsTeradataSource() (*TeradataSource, bool) {
126320	return nil, false
126321}
126322
126323// AsOracleSource is the BasicCopySource implementation for OracleServiceCloudSource.
126324func (oscs OracleServiceCloudSource) AsOracleSource() (*OracleSource, bool) {
126325	return nil, false
126326}
126327
126328// AsAzureDataExplorerSource is the BasicCopySource implementation for OracleServiceCloudSource.
126329func (oscs OracleServiceCloudSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) {
126330	return nil, false
126331}
126332
126333// AsAzureMySQLSource is the BasicCopySource implementation for OracleServiceCloudSource.
126334func (oscs OracleServiceCloudSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
126335	return nil, false
126336}
126337
126338// AsHdfsSource is the BasicCopySource implementation for OracleServiceCloudSource.
126339func (oscs OracleServiceCloudSource) AsHdfsSource() (*HdfsSource, bool) {
126340	return nil, false
126341}
126342
126343// AsFileSystemSource is the BasicCopySource implementation for OracleServiceCloudSource.
126344func (oscs OracleServiceCloudSource) AsFileSystemSource() (*FileSystemSource, bool) {
126345	return nil, false
126346}
126347
126348// AsSQLDWSource is the BasicCopySource implementation for OracleServiceCloudSource.
126349func (oscs OracleServiceCloudSource) AsSQLDWSource() (*SQLDWSource, bool) {
126350	return nil, false
126351}
126352
126353// AsSQLMISource is the BasicCopySource implementation for OracleServiceCloudSource.
126354func (oscs OracleServiceCloudSource) AsSQLMISource() (*SQLMISource, bool) {
126355	return nil, false
126356}
126357
126358// AsAzureSQLSource is the BasicCopySource implementation for OracleServiceCloudSource.
126359func (oscs OracleServiceCloudSource) AsAzureSQLSource() (*AzureSQLSource, bool) {
126360	return nil, false
126361}
126362
126363// AsSQLServerSource is the BasicCopySource implementation for OracleServiceCloudSource.
126364func (oscs OracleServiceCloudSource) AsSQLServerSource() (*SQLServerSource, bool) {
126365	return nil, false
126366}
126367
126368// AsSQLSource is the BasicCopySource implementation for OracleServiceCloudSource.
126369func (oscs OracleServiceCloudSource) AsSQLSource() (*SQLSource, bool) {
126370	return nil, false
126371}
126372
126373// AsRestSource is the BasicCopySource implementation for OracleServiceCloudSource.
126374func (oscs OracleServiceCloudSource) AsRestSource() (*RestSource, bool) {
126375	return nil, false
126376}
126377
126378// AsSapTableSource is the BasicCopySource implementation for OracleServiceCloudSource.
126379func (oscs OracleServiceCloudSource) AsSapTableSource() (*SapTableSource, bool) {
126380	return nil, false
126381}
126382
126383// AsSapOpenHubSource is the BasicCopySource implementation for OracleServiceCloudSource.
126384func (oscs OracleServiceCloudSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) {
126385	return nil, false
126386}
126387
126388// AsSapHanaSource is the BasicCopySource implementation for OracleServiceCloudSource.
126389func (oscs OracleServiceCloudSource) AsSapHanaSource() (*SapHanaSource, bool) {
126390	return nil, false
126391}
126392
126393// AsSapEccSource is the BasicCopySource implementation for OracleServiceCloudSource.
126394func (oscs OracleServiceCloudSource) AsSapEccSource() (*SapEccSource, bool) {
126395	return nil, false
126396}
126397
126398// AsSapCloudForCustomerSource is the BasicCopySource implementation for OracleServiceCloudSource.
126399func (oscs OracleServiceCloudSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
126400	return nil, false
126401}
126402
126403// AsSalesforceServiceCloudSource is the BasicCopySource implementation for OracleServiceCloudSource.
126404func (oscs OracleServiceCloudSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) {
126405	return nil, false
126406}
126407
126408// AsSalesforceSource is the BasicCopySource implementation for OracleServiceCloudSource.
126409func (oscs OracleServiceCloudSource) AsSalesforceSource() (*SalesforceSource, bool) {
126410	return nil, false
126411}
126412
126413// AsODataSource is the BasicCopySource implementation for OracleServiceCloudSource.
126414func (oscs OracleServiceCloudSource) AsODataSource() (*ODataSource, bool) {
126415	return nil, false
126416}
126417
126418// AsSybaseSource is the BasicCopySource implementation for OracleServiceCloudSource.
126419func (oscs OracleServiceCloudSource) AsSybaseSource() (*SybaseSource, bool) {
126420	return nil, false
126421}
126422
126423// AsPostgreSQLSource is the BasicCopySource implementation for OracleServiceCloudSource.
126424func (oscs OracleServiceCloudSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) {
126425	return nil, false
126426}
126427
126428// AsMySQLSource is the BasicCopySource implementation for OracleServiceCloudSource.
126429func (oscs OracleServiceCloudSource) AsMySQLSource() (*MySQLSource, bool) {
126430	return nil, false
126431}
126432
126433// AsOdbcSource is the BasicCopySource implementation for OracleServiceCloudSource.
126434func (oscs OracleServiceCloudSource) AsOdbcSource() (*OdbcSource, bool) {
126435	return nil, false
126436}
126437
126438// AsDb2Source is the BasicCopySource implementation for OracleServiceCloudSource.
126439func (oscs OracleServiceCloudSource) AsDb2Source() (*Db2Source, bool) {
126440	return nil, false
126441}
126442
126443// AsMicrosoftAccessSource is the BasicCopySource implementation for OracleServiceCloudSource.
126444func (oscs OracleServiceCloudSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) {
126445	return nil, false
126446}
126447
126448// AsInformixSource is the BasicCopySource implementation for OracleServiceCloudSource.
126449func (oscs OracleServiceCloudSource) AsInformixSource() (*InformixSource, bool) {
126450	return nil, false
126451}
126452
126453// AsRelationalSource is the BasicCopySource implementation for OracleServiceCloudSource.
126454func (oscs OracleServiceCloudSource) AsRelationalSource() (*RelationalSource, bool) {
126455	return nil, false
126456}
126457
126458// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for OracleServiceCloudSource.
126459func (oscs OracleServiceCloudSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) {
126460	return nil, false
126461}
126462
126463// AsDynamicsCrmSource is the BasicCopySource implementation for OracleServiceCloudSource.
126464func (oscs OracleServiceCloudSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) {
126465	return nil, false
126466}
126467
126468// AsDynamicsSource is the BasicCopySource implementation for OracleServiceCloudSource.
126469func (oscs OracleServiceCloudSource) AsDynamicsSource() (*DynamicsSource, bool) {
126470	return nil, false
126471}
126472
126473// AsDocumentDbCollectionSource is the BasicCopySource implementation for OracleServiceCloudSource.
126474func (oscs OracleServiceCloudSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
126475	return nil, false
126476}
126477
126478// AsBlobSource is the BasicCopySource implementation for OracleServiceCloudSource.
126479func (oscs OracleServiceCloudSource) AsBlobSource() (*BlobSource, bool) {
126480	return nil, false
126481}
126482
126483// AsAzureTableSource is the BasicCopySource implementation for OracleServiceCloudSource.
126484func (oscs OracleServiceCloudSource) AsAzureTableSource() (*AzureTableSource, bool) {
126485	return nil, false
126486}
126487
126488// AsBinarySource is the BasicCopySource implementation for OracleServiceCloudSource.
126489func (oscs OracleServiceCloudSource) AsBinarySource() (*BinarySource, bool) {
126490	return nil, false
126491}
126492
126493// AsDelimitedTextSource is the BasicCopySource implementation for OracleServiceCloudSource.
126494func (oscs OracleServiceCloudSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) {
126495	return nil, false
126496}
126497
126498// AsParquetSource is the BasicCopySource implementation for OracleServiceCloudSource.
126499func (oscs OracleServiceCloudSource) AsParquetSource() (*ParquetSource, bool) {
126500	return nil, false
126501}
126502
126503// AsCopySource is the BasicCopySource implementation for OracleServiceCloudSource.
126504func (oscs OracleServiceCloudSource) AsCopySource() (*CopySource, bool) {
126505	return nil, false
126506}
126507
126508// AsBasicCopySource is the BasicCopySource implementation for OracleServiceCloudSource.
126509func (oscs OracleServiceCloudSource) AsBasicCopySource() (BasicCopySource, bool) {
126510	return &oscs, true
126511}
126512
126513// UnmarshalJSON is the custom unmarshaler for OracleServiceCloudSource struct.
126514func (oscs *OracleServiceCloudSource) UnmarshalJSON(body []byte) error {
126515	var m map[string]*json.RawMessage
126516	err := json.Unmarshal(body, &m)
126517	if err != nil {
126518		return err
126519	}
126520	for k, v := range m {
126521		switch k {
126522		case "query":
126523			if v != nil {
126524				var query interface{}
126525				err = json.Unmarshal(*v, &query)
126526				if err != nil {
126527					return err
126528				}
126529				oscs.Query = query
126530			}
126531		default:
126532			if v != nil {
126533				var additionalProperties interface{}
126534				err = json.Unmarshal(*v, &additionalProperties)
126535				if err != nil {
126536					return err
126537				}
126538				if oscs.AdditionalProperties == nil {
126539					oscs.AdditionalProperties = make(map[string]interface{})
126540				}
126541				oscs.AdditionalProperties[k] = additionalProperties
126542			}
126543		case "sourceRetryCount":
126544			if v != nil {
126545				var sourceRetryCount interface{}
126546				err = json.Unmarshal(*v, &sourceRetryCount)
126547				if err != nil {
126548					return err
126549				}
126550				oscs.SourceRetryCount = sourceRetryCount
126551			}
126552		case "sourceRetryWait":
126553			if v != nil {
126554				var sourceRetryWait interface{}
126555				err = json.Unmarshal(*v, &sourceRetryWait)
126556				if err != nil {
126557					return err
126558				}
126559				oscs.SourceRetryWait = sourceRetryWait
126560			}
126561		case "maxConcurrentConnections":
126562			if v != nil {
126563				var maxConcurrentConnections interface{}
126564				err = json.Unmarshal(*v, &maxConcurrentConnections)
126565				if err != nil {
126566					return err
126567				}
126568				oscs.MaxConcurrentConnections = maxConcurrentConnections
126569			}
126570		case "type":
126571			if v != nil {
126572				var typeVar TypeBasicCopySource
126573				err = json.Unmarshal(*v, &typeVar)
126574				if err != nil {
126575					return err
126576				}
126577				oscs.Type = typeVar
126578			}
126579		}
126580	}
126581
126582	return nil
126583}
126584
126585// OracleSink a copy activity Oracle sink.
126586type OracleSink struct {
126587	// PreCopyScript - SQL pre-copy script. Type: string (or Expression with resultType string).
126588	PreCopyScript interface{} `json:"preCopyScript,omitempty"`
126589	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
126590	AdditionalProperties map[string]interface{} `json:""`
126591	// WriteBatchSize - Write batch size. Type: integer (or Expression with resultType integer), minimum: 0.
126592	WriteBatchSize interface{} `json:"writeBatchSize,omitempty"`
126593	// 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])).
126594	WriteBatchTimeout interface{} `json:"writeBatchTimeout,omitempty"`
126595	// SinkRetryCount - Sink retry count. Type: integer (or Expression with resultType integer).
126596	SinkRetryCount interface{} `json:"sinkRetryCount,omitempty"`
126597	// 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])).
126598	SinkRetryWait interface{} `json:"sinkRetryWait,omitempty"`
126599	// MaxConcurrentConnections - The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer).
126600	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
126601	// Type - Possible values include: 'TypeCopySink', 'TypeCosmosDbMongoDbAPISink', 'TypeSalesforceServiceCloudSink', 'TypeSalesforceSink', 'TypeAzureDataExplorerSink', 'TypeCommonDataServiceForAppsSink', 'TypeDynamicsCrmSink', 'TypeDynamicsSink', 'TypeMicrosoftAccessSink', 'TypeInformixSink', 'TypeOdbcSink', 'TypeAzureSearchIndexSink', 'TypeAzureBlobFSSink', 'TypeAzureDataLakeStoreSink', 'TypeOracleSink', 'TypeSQLDWSink', 'TypeSQLMISink', 'TypeAzureSQLSink', 'TypeSQLServerSink', 'TypeSQLSink', 'TypeDocumentDbCollectionSink', 'TypeFileSystemSink', 'TypeBlobSink', 'TypeBinarySink', 'TypeParquetSink', 'TypeAzureTableSink', 'TypeAzureQueueSink', 'TypeSapCloudForCustomerSink', 'TypeAzurePostgreSQLSink', 'TypeDelimitedTextSink'
126602	Type TypeBasicCopySink `json:"type,omitempty"`
126603}
126604
126605// MarshalJSON is the custom marshaler for OracleSink.
126606func (osVar OracleSink) MarshalJSON() ([]byte, error) {
126607	osVar.Type = TypeOracleSink
126608	objectMap := make(map[string]interface{})
126609	if osVar.PreCopyScript != nil {
126610		objectMap["preCopyScript"] = osVar.PreCopyScript
126611	}
126612	if osVar.WriteBatchSize != nil {
126613		objectMap["writeBatchSize"] = osVar.WriteBatchSize
126614	}
126615	if osVar.WriteBatchTimeout != nil {
126616		objectMap["writeBatchTimeout"] = osVar.WriteBatchTimeout
126617	}
126618	if osVar.SinkRetryCount != nil {
126619		objectMap["sinkRetryCount"] = osVar.SinkRetryCount
126620	}
126621	if osVar.SinkRetryWait != nil {
126622		objectMap["sinkRetryWait"] = osVar.SinkRetryWait
126623	}
126624	if osVar.MaxConcurrentConnections != nil {
126625		objectMap["maxConcurrentConnections"] = osVar.MaxConcurrentConnections
126626	}
126627	if osVar.Type != "" {
126628		objectMap["type"] = osVar.Type
126629	}
126630	for k, v := range osVar.AdditionalProperties {
126631		objectMap[k] = v
126632	}
126633	return json.Marshal(objectMap)
126634}
126635
126636// AsCosmosDbMongoDbAPISink is the BasicCopySink implementation for OracleSink.
126637func (osVar OracleSink) AsCosmosDbMongoDbAPISink() (*CosmosDbMongoDbAPISink, bool) {
126638	return nil, false
126639}
126640
126641// AsSalesforceServiceCloudSink is the BasicCopySink implementation for OracleSink.
126642func (osVar OracleSink) AsSalesforceServiceCloudSink() (*SalesforceServiceCloudSink, bool) {
126643	return nil, false
126644}
126645
126646// AsSalesforceSink is the BasicCopySink implementation for OracleSink.
126647func (osVar OracleSink) AsSalesforceSink() (*SalesforceSink, bool) {
126648	return nil, false
126649}
126650
126651// AsAzureDataExplorerSink is the BasicCopySink implementation for OracleSink.
126652func (osVar OracleSink) AsAzureDataExplorerSink() (*AzureDataExplorerSink, bool) {
126653	return nil, false
126654}
126655
126656// AsCommonDataServiceForAppsSink is the BasicCopySink implementation for OracleSink.
126657func (osVar OracleSink) AsCommonDataServiceForAppsSink() (*CommonDataServiceForAppsSink, bool) {
126658	return nil, false
126659}
126660
126661// AsDynamicsCrmSink is the BasicCopySink implementation for OracleSink.
126662func (osVar OracleSink) AsDynamicsCrmSink() (*DynamicsCrmSink, bool) {
126663	return nil, false
126664}
126665
126666// AsDynamicsSink is the BasicCopySink implementation for OracleSink.
126667func (osVar OracleSink) AsDynamicsSink() (*DynamicsSink, bool) {
126668	return nil, false
126669}
126670
126671// AsMicrosoftAccessSink is the BasicCopySink implementation for OracleSink.
126672func (osVar OracleSink) AsMicrosoftAccessSink() (*MicrosoftAccessSink, bool) {
126673	return nil, false
126674}
126675
126676// AsInformixSink is the BasicCopySink implementation for OracleSink.
126677func (osVar OracleSink) AsInformixSink() (*InformixSink, bool) {
126678	return nil, false
126679}
126680
126681// AsOdbcSink is the BasicCopySink implementation for OracleSink.
126682func (osVar OracleSink) AsOdbcSink() (*OdbcSink, bool) {
126683	return nil, false
126684}
126685
126686// AsAzureSearchIndexSink is the BasicCopySink implementation for OracleSink.
126687func (osVar OracleSink) AsAzureSearchIndexSink() (*AzureSearchIndexSink, bool) {
126688	return nil, false
126689}
126690
126691// AsAzureBlobFSSink is the BasicCopySink implementation for OracleSink.
126692func (osVar OracleSink) AsAzureBlobFSSink() (*AzureBlobFSSink, bool) {
126693	return nil, false
126694}
126695
126696// AsAzureDataLakeStoreSink is the BasicCopySink implementation for OracleSink.
126697func (osVar OracleSink) AsAzureDataLakeStoreSink() (*AzureDataLakeStoreSink, bool) {
126698	return nil, false
126699}
126700
126701// AsOracleSink is the BasicCopySink implementation for OracleSink.
126702func (osVar OracleSink) AsOracleSink() (*OracleSink, bool) {
126703	return &osVar, true
126704}
126705
126706// AsSQLDWSink is the BasicCopySink implementation for OracleSink.
126707func (osVar OracleSink) AsSQLDWSink() (*SQLDWSink, bool) {
126708	return nil, false
126709}
126710
126711// AsSQLMISink is the BasicCopySink implementation for OracleSink.
126712func (osVar OracleSink) AsSQLMISink() (*SQLMISink, bool) {
126713	return nil, false
126714}
126715
126716// AsAzureSQLSink is the BasicCopySink implementation for OracleSink.
126717func (osVar OracleSink) AsAzureSQLSink() (*AzureSQLSink, bool) {
126718	return nil, false
126719}
126720
126721// AsSQLServerSink is the BasicCopySink implementation for OracleSink.
126722func (osVar OracleSink) AsSQLServerSink() (*SQLServerSink, bool) {
126723	return nil, false
126724}
126725
126726// AsSQLSink is the BasicCopySink implementation for OracleSink.
126727func (osVar OracleSink) AsSQLSink() (*SQLSink, bool) {
126728	return nil, false
126729}
126730
126731// AsDocumentDbCollectionSink is the BasicCopySink implementation for OracleSink.
126732func (osVar OracleSink) AsDocumentDbCollectionSink() (*DocumentDbCollectionSink, bool) {
126733	return nil, false
126734}
126735
126736// AsFileSystemSink is the BasicCopySink implementation for OracleSink.
126737func (osVar OracleSink) AsFileSystemSink() (*FileSystemSink, bool) {
126738	return nil, false
126739}
126740
126741// AsBlobSink is the BasicCopySink implementation for OracleSink.
126742func (osVar OracleSink) AsBlobSink() (*BlobSink, bool) {
126743	return nil, false
126744}
126745
126746// AsBinarySink is the BasicCopySink implementation for OracleSink.
126747func (osVar OracleSink) AsBinarySink() (*BinarySink, bool) {
126748	return nil, false
126749}
126750
126751// AsParquetSink is the BasicCopySink implementation for OracleSink.
126752func (osVar OracleSink) AsParquetSink() (*ParquetSink, bool) {
126753	return nil, false
126754}
126755
126756// AsAzureTableSink is the BasicCopySink implementation for OracleSink.
126757func (osVar OracleSink) AsAzureTableSink() (*AzureTableSink, bool) {
126758	return nil, false
126759}
126760
126761// AsAzureQueueSink is the BasicCopySink implementation for OracleSink.
126762func (osVar OracleSink) AsAzureQueueSink() (*AzureQueueSink, bool) {
126763	return nil, false
126764}
126765
126766// AsSapCloudForCustomerSink is the BasicCopySink implementation for OracleSink.
126767func (osVar OracleSink) AsSapCloudForCustomerSink() (*SapCloudForCustomerSink, bool) {
126768	return nil, false
126769}
126770
126771// AsAzurePostgreSQLSink is the BasicCopySink implementation for OracleSink.
126772func (osVar OracleSink) AsAzurePostgreSQLSink() (*AzurePostgreSQLSink, bool) {
126773	return nil, false
126774}
126775
126776// AsDelimitedTextSink is the BasicCopySink implementation for OracleSink.
126777func (osVar OracleSink) AsDelimitedTextSink() (*DelimitedTextSink, bool) {
126778	return nil, false
126779}
126780
126781// AsCopySink is the BasicCopySink implementation for OracleSink.
126782func (osVar OracleSink) AsCopySink() (*CopySink, bool) {
126783	return nil, false
126784}
126785
126786// AsBasicCopySink is the BasicCopySink implementation for OracleSink.
126787func (osVar OracleSink) AsBasicCopySink() (BasicCopySink, bool) {
126788	return &osVar, true
126789}
126790
126791// UnmarshalJSON is the custom unmarshaler for OracleSink struct.
126792func (osVar *OracleSink) UnmarshalJSON(body []byte) error {
126793	var m map[string]*json.RawMessage
126794	err := json.Unmarshal(body, &m)
126795	if err != nil {
126796		return err
126797	}
126798	for k, v := range m {
126799		switch k {
126800		case "preCopyScript":
126801			if v != nil {
126802				var preCopyScript interface{}
126803				err = json.Unmarshal(*v, &preCopyScript)
126804				if err != nil {
126805					return err
126806				}
126807				osVar.PreCopyScript = preCopyScript
126808			}
126809		default:
126810			if v != nil {
126811				var additionalProperties interface{}
126812				err = json.Unmarshal(*v, &additionalProperties)
126813				if err != nil {
126814					return err
126815				}
126816				if osVar.AdditionalProperties == nil {
126817					osVar.AdditionalProperties = make(map[string]interface{})
126818				}
126819				osVar.AdditionalProperties[k] = additionalProperties
126820			}
126821		case "writeBatchSize":
126822			if v != nil {
126823				var writeBatchSize interface{}
126824				err = json.Unmarshal(*v, &writeBatchSize)
126825				if err != nil {
126826					return err
126827				}
126828				osVar.WriteBatchSize = writeBatchSize
126829			}
126830		case "writeBatchTimeout":
126831			if v != nil {
126832				var writeBatchTimeout interface{}
126833				err = json.Unmarshal(*v, &writeBatchTimeout)
126834				if err != nil {
126835					return err
126836				}
126837				osVar.WriteBatchTimeout = writeBatchTimeout
126838			}
126839		case "sinkRetryCount":
126840			if v != nil {
126841				var sinkRetryCount interface{}
126842				err = json.Unmarshal(*v, &sinkRetryCount)
126843				if err != nil {
126844					return err
126845				}
126846				osVar.SinkRetryCount = sinkRetryCount
126847			}
126848		case "sinkRetryWait":
126849			if v != nil {
126850				var sinkRetryWait interface{}
126851				err = json.Unmarshal(*v, &sinkRetryWait)
126852				if err != nil {
126853					return err
126854				}
126855				osVar.SinkRetryWait = sinkRetryWait
126856			}
126857		case "maxConcurrentConnections":
126858			if v != nil {
126859				var maxConcurrentConnections interface{}
126860				err = json.Unmarshal(*v, &maxConcurrentConnections)
126861				if err != nil {
126862					return err
126863				}
126864				osVar.MaxConcurrentConnections = maxConcurrentConnections
126865			}
126866		case "type":
126867			if v != nil {
126868				var typeVar TypeBasicCopySink
126869				err = json.Unmarshal(*v, &typeVar)
126870				if err != nil {
126871					return err
126872				}
126873				osVar.Type = typeVar
126874			}
126875		}
126876	}
126877
126878	return nil
126879}
126880
126881// OracleSource a copy activity Oracle source.
126882type OracleSource struct {
126883	// OracleReaderQuery - Oracle reader query. Type: string (or Expression with resultType string).
126884	OracleReaderQuery interface{} `json:"oracleReaderQuery,omitempty"`
126885	// QueryTimeout - Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
126886	QueryTimeout interface{} `json:"queryTimeout,omitempty"`
126887	// PartitionOption - The partition mechanism that will be used for Oracle read in parallel. Possible values include: 'OraclePartitionOptionNone', 'OraclePartitionOptionPhysicalPartitionsOfTable', 'OraclePartitionOptionDynamicRange'
126888	PartitionOption OraclePartitionOption `json:"partitionOption,omitempty"`
126889	// PartitionSettings - The settings that will be leveraged for Oracle source partitioning.
126890	PartitionSettings *OraclePartitionSettings `json:"partitionSettings,omitempty"`
126891	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
126892	AdditionalProperties map[string]interface{} `json:""`
126893	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
126894	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
126895	// 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])).
126896	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
126897	// MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer).
126898	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
126899	// Type - Possible values include: 'TypeCopySource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', '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', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeCassandraSource', 'TypeWebSource', 'TypeTeradataSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeAzureMySQLSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeRestSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceServiceCloudSource', 'TypeSalesforceSource', 'TypeODataSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeMicrosoftAccessSource', 'TypeInformixSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAzureTableSource', 'TypeBinarySource', 'TypeDelimitedTextSource', 'TypeParquetSource'
126900	Type TypeBasicCopySource `json:"type,omitempty"`
126901}
126902
126903// MarshalJSON is the custom marshaler for OracleSource.
126904func (osVar OracleSource) MarshalJSON() ([]byte, error) {
126905	osVar.Type = TypeOracleSource
126906	objectMap := make(map[string]interface{})
126907	if osVar.OracleReaderQuery != nil {
126908		objectMap["oracleReaderQuery"] = osVar.OracleReaderQuery
126909	}
126910	if osVar.QueryTimeout != nil {
126911		objectMap["queryTimeout"] = osVar.QueryTimeout
126912	}
126913	if osVar.PartitionOption != "" {
126914		objectMap["partitionOption"] = osVar.PartitionOption
126915	}
126916	if osVar.PartitionSettings != nil {
126917		objectMap["partitionSettings"] = osVar.PartitionSettings
126918	}
126919	if osVar.SourceRetryCount != nil {
126920		objectMap["sourceRetryCount"] = osVar.SourceRetryCount
126921	}
126922	if osVar.SourceRetryWait != nil {
126923		objectMap["sourceRetryWait"] = osVar.SourceRetryWait
126924	}
126925	if osVar.MaxConcurrentConnections != nil {
126926		objectMap["maxConcurrentConnections"] = osVar.MaxConcurrentConnections
126927	}
126928	if osVar.Type != "" {
126929		objectMap["type"] = osVar.Type
126930	}
126931	for k, v := range osVar.AdditionalProperties {
126932		objectMap[k] = v
126933	}
126934	return json.Marshal(objectMap)
126935}
126936
126937// AsAmazonRedshiftSource is the BasicCopySource implementation for OracleSource.
126938func (osVar OracleSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
126939	return nil, false
126940}
126941
126942// AsGoogleAdWordsSource is the BasicCopySource implementation for OracleSource.
126943func (osVar OracleSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) {
126944	return nil, false
126945}
126946
126947// AsOracleServiceCloudSource is the BasicCopySource implementation for OracleSource.
126948func (osVar OracleSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) {
126949	return nil, false
126950}
126951
126952// AsDynamicsAXSource is the BasicCopySource implementation for OracleSource.
126953func (osVar OracleSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) {
126954	return nil, false
126955}
126956
126957// AsResponsysSource is the BasicCopySource implementation for OracleSource.
126958func (osVar OracleSource) AsResponsysSource() (*ResponsysSource, bool) {
126959	return nil, false
126960}
126961
126962// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for OracleSource.
126963func (osVar OracleSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
126964	return nil, false
126965}
126966
126967// AsVerticaSource is the BasicCopySource implementation for OracleSource.
126968func (osVar OracleSource) AsVerticaSource() (*VerticaSource, bool) {
126969	return nil, false
126970}
126971
126972// AsNetezzaSource is the BasicCopySource implementation for OracleSource.
126973func (osVar OracleSource) AsNetezzaSource() (*NetezzaSource, bool) {
126974	return nil, false
126975}
126976
126977// AsZohoSource is the BasicCopySource implementation for OracleSource.
126978func (osVar OracleSource) AsZohoSource() (*ZohoSource, bool) {
126979	return nil, false
126980}
126981
126982// AsXeroSource is the BasicCopySource implementation for OracleSource.
126983func (osVar OracleSource) AsXeroSource() (*XeroSource, bool) {
126984	return nil, false
126985}
126986
126987// AsSquareSource is the BasicCopySource implementation for OracleSource.
126988func (osVar OracleSource) AsSquareSource() (*SquareSource, bool) {
126989	return nil, false
126990}
126991
126992// AsSparkSource is the BasicCopySource implementation for OracleSource.
126993func (osVar OracleSource) AsSparkSource() (*SparkSource, bool) {
126994	return nil, false
126995}
126996
126997// AsShopifySource is the BasicCopySource implementation for OracleSource.
126998func (osVar OracleSource) AsShopifySource() (*ShopifySource, bool) {
126999	return nil, false
127000}
127001
127002// AsServiceNowSource is the BasicCopySource implementation for OracleSource.
127003func (osVar OracleSource) AsServiceNowSource() (*ServiceNowSource, bool) {
127004	return nil, false
127005}
127006
127007// AsQuickBooksSource is the BasicCopySource implementation for OracleSource.
127008func (osVar OracleSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
127009	return nil, false
127010}
127011
127012// AsPrestoSource is the BasicCopySource implementation for OracleSource.
127013func (osVar OracleSource) AsPrestoSource() (*PrestoSource, bool) {
127014	return nil, false
127015}
127016
127017// AsPhoenixSource is the BasicCopySource implementation for OracleSource.
127018func (osVar OracleSource) AsPhoenixSource() (*PhoenixSource, bool) {
127019	return nil, false
127020}
127021
127022// AsPaypalSource is the BasicCopySource implementation for OracleSource.
127023func (osVar OracleSource) AsPaypalSource() (*PaypalSource, bool) {
127024	return nil, false
127025}
127026
127027// AsMarketoSource is the BasicCopySource implementation for OracleSource.
127028func (osVar OracleSource) AsMarketoSource() (*MarketoSource, bool) {
127029	return nil, false
127030}
127031
127032// AsMariaDBSource is the BasicCopySource implementation for OracleSource.
127033func (osVar OracleSource) AsMariaDBSource() (*MariaDBSource, bool) {
127034	return nil, false
127035}
127036
127037// AsMagentoSource is the BasicCopySource implementation for OracleSource.
127038func (osVar OracleSource) AsMagentoSource() (*MagentoSource, bool) {
127039	return nil, false
127040}
127041
127042// AsJiraSource is the BasicCopySource implementation for OracleSource.
127043func (osVar OracleSource) AsJiraSource() (*JiraSource, bool) {
127044	return nil, false
127045}
127046
127047// AsImpalaSource is the BasicCopySource implementation for OracleSource.
127048func (osVar OracleSource) AsImpalaSource() (*ImpalaSource, bool) {
127049	return nil, false
127050}
127051
127052// AsHubspotSource is the BasicCopySource implementation for OracleSource.
127053func (osVar OracleSource) AsHubspotSource() (*HubspotSource, bool) {
127054	return nil, false
127055}
127056
127057// AsHiveSource is the BasicCopySource implementation for OracleSource.
127058func (osVar OracleSource) AsHiveSource() (*HiveSource, bool) {
127059	return nil, false
127060}
127061
127062// AsHBaseSource is the BasicCopySource implementation for OracleSource.
127063func (osVar OracleSource) AsHBaseSource() (*HBaseSource, bool) {
127064	return nil, false
127065}
127066
127067// AsGreenplumSource is the BasicCopySource implementation for OracleSource.
127068func (osVar OracleSource) AsGreenplumSource() (*GreenplumSource, bool) {
127069	return nil, false
127070}
127071
127072// AsGoogleBigQuerySource is the BasicCopySource implementation for OracleSource.
127073func (osVar OracleSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
127074	return nil, false
127075}
127076
127077// AsEloquaSource is the BasicCopySource implementation for OracleSource.
127078func (osVar OracleSource) AsEloquaSource() (*EloquaSource, bool) {
127079	return nil, false
127080}
127081
127082// AsDrillSource is the BasicCopySource implementation for OracleSource.
127083func (osVar OracleSource) AsDrillSource() (*DrillSource, bool) {
127084	return nil, false
127085}
127086
127087// AsCouchbaseSource is the BasicCopySource implementation for OracleSource.
127088func (osVar OracleSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
127089	return nil, false
127090}
127091
127092// AsConcurSource is the BasicCopySource implementation for OracleSource.
127093func (osVar OracleSource) AsConcurSource() (*ConcurSource, bool) {
127094	return nil, false
127095}
127096
127097// AsAzurePostgreSQLSource is the BasicCopySource implementation for OracleSource.
127098func (osVar OracleSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
127099	return nil, false
127100}
127101
127102// AsAmazonMWSSource is the BasicCopySource implementation for OracleSource.
127103func (osVar OracleSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
127104	return nil, false
127105}
127106
127107// AsHTTPSource is the BasicCopySource implementation for OracleSource.
127108func (osVar OracleSource) AsHTTPSource() (*HTTPSource, bool) {
127109	return nil, false
127110}
127111
127112// AsAzureBlobFSSource is the BasicCopySource implementation for OracleSource.
127113func (osVar OracleSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) {
127114	return nil, false
127115}
127116
127117// AsAzureDataLakeStoreSource is the BasicCopySource implementation for OracleSource.
127118func (osVar OracleSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
127119	return nil, false
127120}
127121
127122// AsOffice365Source is the BasicCopySource implementation for OracleSource.
127123func (osVar OracleSource) AsOffice365Source() (*Office365Source, bool) {
127124	return nil, false
127125}
127126
127127// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for OracleSource.
127128func (osVar OracleSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) {
127129	return nil, false
127130}
127131
127132// AsMongoDbV2Source is the BasicCopySource implementation for OracleSource.
127133func (osVar OracleSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) {
127134	return nil, false
127135}
127136
127137// AsMongoDbSource is the BasicCopySource implementation for OracleSource.
127138func (osVar OracleSource) AsMongoDbSource() (*MongoDbSource, bool) {
127139	return nil, false
127140}
127141
127142// AsCassandraSource is the BasicCopySource implementation for OracleSource.
127143func (osVar OracleSource) AsCassandraSource() (*CassandraSource, bool) {
127144	return nil, false
127145}
127146
127147// AsWebSource is the BasicCopySource implementation for OracleSource.
127148func (osVar OracleSource) AsWebSource() (*WebSource, bool) {
127149	return nil, false
127150}
127151
127152// AsTeradataSource is the BasicCopySource implementation for OracleSource.
127153func (osVar OracleSource) AsTeradataSource() (*TeradataSource, bool) {
127154	return nil, false
127155}
127156
127157// AsOracleSource is the BasicCopySource implementation for OracleSource.
127158func (osVar OracleSource) AsOracleSource() (*OracleSource, bool) {
127159	return &osVar, true
127160}
127161
127162// AsAzureDataExplorerSource is the BasicCopySource implementation for OracleSource.
127163func (osVar OracleSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) {
127164	return nil, false
127165}
127166
127167// AsAzureMySQLSource is the BasicCopySource implementation for OracleSource.
127168func (osVar OracleSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
127169	return nil, false
127170}
127171
127172// AsHdfsSource is the BasicCopySource implementation for OracleSource.
127173func (osVar OracleSource) AsHdfsSource() (*HdfsSource, bool) {
127174	return nil, false
127175}
127176
127177// AsFileSystemSource is the BasicCopySource implementation for OracleSource.
127178func (osVar OracleSource) AsFileSystemSource() (*FileSystemSource, bool) {
127179	return nil, false
127180}
127181
127182// AsSQLDWSource is the BasicCopySource implementation for OracleSource.
127183func (osVar OracleSource) AsSQLDWSource() (*SQLDWSource, bool) {
127184	return nil, false
127185}
127186
127187// AsSQLMISource is the BasicCopySource implementation for OracleSource.
127188func (osVar OracleSource) AsSQLMISource() (*SQLMISource, bool) {
127189	return nil, false
127190}
127191
127192// AsAzureSQLSource is the BasicCopySource implementation for OracleSource.
127193func (osVar OracleSource) AsAzureSQLSource() (*AzureSQLSource, bool) {
127194	return nil, false
127195}
127196
127197// AsSQLServerSource is the BasicCopySource implementation for OracleSource.
127198func (osVar OracleSource) AsSQLServerSource() (*SQLServerSource, bool) {
127199	return nil, false
127200}
127201
127202// AsSQLSource is the BasicCopySource implementation for OracleSource.
127203func (osVar OracleSource) AsSQLSource() (*SQLSource, bool) {
127204	return nil, false
127205}
127206
127207// AsRestSource is the BasicCopySource implementation for OracleSource.
127208func (osVar OracleSource) AsRestSource() (*RestSource, bool) {
127209	return nil, false
127210}
127211
127212// AsSapTableSource is the BasicCopySource implementation for OracleSource.
127213func (osVar OracleSource) AsSapTableSource() (*SapTableSource, bool) {
127214	return nil, false
127215}
127216
127217// AsSapOpenHubSource is the BasicCopySource implementation for OracleSource.
127218func (osVar OracleSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) {
127219	return nil, false
127220}
127221
127222// AsSapHanaSource is the BasicCopySource implementation for OracleSource.
127223func (osVar OracleSource) AsSapHanaSource() (*SapHanaSource, bool) {
127224	return nil, false
127225}
127226
127227// AsSapEccSource is the BasicCopySource implementation for OracleSource.
127228func (osVar OracleSource) AsSapEccSource() (*SapEccSource, bool) {
127229	return nil, false
127230}
127231
127232// AsSapCloudForCustomerSource is the BasicCopySource implementation for OracleSource.
127233func (osVar OracleSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
127234	return nil, false
127235}
127236
127237// AsSalesforceServiceCloudSource is the BasicCopySource implementation for OracleSource.
127238func (osVar OracleSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) {
127239	return nil, false
127240}
127241
127242// AsSalesforceSource is the BasicCopySource implementation for OracleSource.
127243func (osVar OracleSource) AsSalesforceSource() (*SalesforceSource, bool) {
127244	return nil, false
127245}
127246
127247// AsODataSource is the BasicCopySource implementation for OracleSource.
127248func (osVar OracleSource) AsODataSource() (*ODataSource, bool) {
127249	return nil, false
127250}
127251
127252// AsSybaseSource is the BasicCopySource implementation for OracleSource.
127253func (osVar OracleSource) AsSybaseSource() (*SybaseSource, bool) {
127254	return nil, false
127255}
127256
127257// AsPostgreSQLSource is the BasicCopySource implementation for OracleSource.
127258func (osVar OracleSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) {
127259	return nil, false
127260}
127261
127262// AsMySQLSource is the BasicCopySource implementation for OracleSource.
127263func (osVar OracleSource) AsMySQLSource() (*MySQLSource, bool) {
127264	return nil, false
127265}
127266
127267// AsOdbcSource is the BasicCopySource implementation for OracleSource.
127268func (osVar OracleSource) AsOdbcSource() (*OdbcSource, bool) {
127269	return nil, false
127270}
127271
127272// AsDb2Source is the BasicCopySource implementation for OracleSource.
127273func (osVar OracleSource) AsDb2Source() (*Db2Source, bool) {
127274	return nil, false
127275}
127276
127277// AsMicrosoftAccessSource is the BasicCopySource implementation for OracleSource.
127278func (osVar OracleSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) {
127279	return nil, false
127280}
127281
127282// AsInformixSource is the BasicCopySource implementation for OracleSource.
127283func (osVar OracleSource) AsInformixSource() (*InformixSource, bool) {
127284	return nil, false
127285}
127286
127287// AsRelationalSource is the BasicCopySource implementation for OracleSource.
127288func (osVar OracleSource) AsRelationalSource() (*RelationalSource, bool) {
127289	return nil, false
127290}
127291
127292// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for OracleSource.
127293func (osVar OracleSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) {
127294	return nil, false
127295}
127296
127297// AsDynamicsCrmSource is the BasicCopySource implementation for OracleSource.
127298func (osVar OracleSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) {
127299	return nil, false
127300}
127301
127302// AsDynamicsSource is the BasicCopySource implementation for OracleSource.
127303func (osVar OracleSource) AsDynamicsSource() (*DynamicsSource, bool) {
127304	return nil, false
127305}
127306
127307// AsDocumentDbCollectionSource is the BasicCopySource implementation for OracleSource.
127308func (osVar OracleSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
127309	return nil, false
127310}
127311
127312// AsBlobSource is the BasicCopySource implementation for OracleSource.
127313func (osVar OracleSource) AsBlobSource() (*BlobSource, bool) {
127314	return nil, false
127315}
127316
127317// AsAzureTableSource is the BasicCopySource implementation for OracleSource.
127318func (osVar OracleSource) AsAzureTableSource() (*AzureTableSource, bool) {
127319	return nil, false
127320}
127321
127322// AsBinarySource is the BasicCopySource implementation for OracleSource.
127323func (osVar OracleSource) AsBinarySource() (*BinarySource, bool) {
127324	return nil, false
127325}
127326
127327// AsDelimitedTextSource is the BasicCopySource implementation for OracleSource.
127328func (osVar OracleSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) {
127329	return nil, false
127330}
127331
127332// AsParquetSource is the BasicCopySource implementation for OracleSource.
127333func (osVar OracleSource) AsParquetSource() (*ParquetSource, bool) {
127334	return nil, false
127335}
127336
127337// AsCopySource is the BasicCopySource implementation for OracleSource.
127338func (osVar OracleSource) AsCopySource() (*CopySource, bool) {
127339	return nil, false
127340}
127341
127342// AsBasicCopySource is the BasicCopySource implementation for OracleSource.
127343func (osVar OracleSource) AsBasicCopySource() (BasicCopySource, bool) {
127344	return &osVar, true
127345}
127346
127347// UnmarshalJSON is the custom unmarshaler for OracleSource struct.
127348func (osVar *OracleSource) UnmarshalJSON(body []byte) error {
127349	var m map[string]*json.RawMessage
127350	err := json.Unmarshal(body, &m)
127351	if err != nil {
127352		return err
127353	}
127354	for k, v := range m {
127355		switch k {
127356		case "oracleReaderQuery":
127357			if v != nil {
127358				var oracleReaderQuery interface{}
127359				err = json.Unmarshal(*v, &oracleReaderQuery)
127360				if err != nil {
127361					return err
127362				}
127363				osVar.OracleReaderQuery = oracleReaderQuery
127364			}
127365		case "queryTimeout":
127366			if v != nil {
127367				var queryTimeout interface{}
127368				err = json.Unmarshal(*v, &queryTimeout)
127369				if err != nil {
127370					return err
127371				}
127372				osVar.QueryTimeout = queryTimeout
127373			}
127374		case "partitionOption":
127375			if v != nil {
127376				var partitionOption OraclePartitionOption
127377				err = json.Unmarshal(*v, &partitionOption)
127378				if err != nil {
127379					return err
127380				}
127381				osVar.PartitionOption = partitionOption
127382			}
127383		case "partitionSettings":
127384			if v != nil {
127385				var partitionSettings OraclePartitionSettings
127386				err = json.Unmarshal(*v, &partitionSettings)
127387				if err != nil {
127388					return err
127389				}
127390				osVar.PartitionSettings = &partitionSettings
127391			}
127392		default:
127393			if v != nil {
127394				var additionalProperties interface{}
127395				err = json.Unmarshal(*v, &additionalProperties)
127396				if err != nil {
127397					return err
127398				}
127399				if osVar.AdditionalProperties == nil {
127400					osVar.AdditionalProperties = make(map[string]interface{})
127401				}
127402				osVar.AdditionalProperties[k] = additionalProperties
127403			}
127404		case "sourceRetryCount":
127405			if v != nil {
127406				var sourceRetryCount interface{}
127407				err = json.Unmarshal(*v, &sourceRetryCount)
127408				if err != nil {
127409					return err
127410				}
127411				osVar.SourceRetryCount = sourceRetryCount
127412			}
127413		case "sourceRetryWait":
127414			if v != nil {
127415				var sourceRetryWait interface{}
127416				err = json.Unmarshal(*v, &sourceRetryWait)
127417				if err != nil {
127418					return err
127419				}
127420				osVar.SourceRetryWait = sourceRetryWait
127421			}
127422		case "maxConcurrentConnections":
127423			if v != nil {
127424				var maxConcurrentConnections interface{}
127425				err = json.Unmarshal(*v, &maxConcurrentConnections)
127426				if err != nil {
127427					return err
127428				}
127429				osVar.MaxConcurrentConnections = maxConcurrentConnections
127430			}
127431		case "type":
127432			if v != nil {
127433				var typeVar TypeBasicCopySource
127434				err = json.Unmarshal(*v, &typeVar)
127435				if err != nil {
127436					return err
127437				}
127438				osVar.Type = typeVar
127439			}
127440		}
127441	}
127442
127443	return nil
127444}
127445
127446// OracleTableDataset the on-premises Oracle database dataset.
127447type OracleTableDataset struct {
127448	// OracleTableDatasetTypeProperties - On-premises Oracle dataset properties.
127449	*OracleTableDatasetTypeProperties `json:"typeProperties,omitempty"`
127450	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
127451	AdditionalProperties map[string]interface{} `json:""`
127452	// Description - Dataset description.
127453	Description *string `json:"description,omitempty"`
127454	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
127455	Structure interface{} `json:"structure,omitempty"`
127456	// Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement.
127457	Schema interface{} `json:"schema,omitempty"`
127458	// LinkedServiceName - Linked service reference.
127459	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
127460	// Parameters - Parameters for dataset.
127461	Parameters map[string]*ParameterSpecification `json:"parameters"`
127462	// Annotations - List of tags that can be used for describing the Dataset.
127463	Annotations *[]interface{} `json:"annotations,omitempty"`
127464	// Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level.
127465	Folder *DatasetFolder `json:"folder,omitempty"`
127466	// Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', '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', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeDelimitedText', 'TypeParquet', 'TypeAmazonS3Object'
127467	Type TypeBasicDataset `json:"type,omitempty"`
127468}
127469
127470// MarshalJSON is the custom marshaler for OracleTableDataset.
127471func (otd OracleTableDataset) MarshalJSON() ([]byte, error) {
127472	otd.Type = TypeOracleTable
127473	objectMap := make(map[string]interface{})
127474	if otd.OracleTableDatasetTypeProperties != nil {
127475		objectMap["typeProperties"] = otd.OracleTableDatasetTypeProperties
127476	}
127477	if otd.Description != nil {
127478		objectMap["description"] = otd.Description
127479	}
127480	if otd.Structure != nil {
127481		objectMap["structure"] = otd.Structure
127482	}
127483	if otd.Schema != nil {
127484		objectMap["schema"] = otd.Schema
127485	}
127486	if otd.LinkedServiceName != nil {
127487		objectMap["linkedServiceName"] = otd.LinkedServiceName
127488	}
127489	if otd.Parameters != nil {
127490		objectMap["parameters"] = otd.Parameters
127491	}
127492	if otd.Annotations != nil {
127493		objectMap["annotations"] = otd.Annotations
127494	}
127495	if otd.Folder != nil {
127496		objectMap["folder"] = otd.Folder
127497	}
127498	if otd.Type != "" {
127499		objectMap["type"] = otd.Type
127500	}
127501	for k, v := range otd.AdditionalProperties {
127502		objectMap[k] = v
127503	}
127504	return json.Marshal(objectMap)
127505}
127506
127507// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for OracleTableDataset.
127508func (otd OracleTableDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) {
127509	return nil, false
127510}
127511
127512// AsAzureDataExplorerTableDataset is the BasicDataset implementation for OracleTableDataset.
127513func (otd OracleTableDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) {
127514	return nil, false
127515}
127516
127517// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for OracleTableDataset.
127518func (otd OracleTableDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) {
127519	return nil, false
127520}
127521
127522// AsDynamicsAXResourceDataset is the BasicDataset implementation for OracleTableDataset.
127523func (otd OracleTableDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) {
127524	return nil, false
127525}
127526
127527// AsResponsysObjectDataset is the BasicDataset implementation for OracleTableDataset.
127528func (otd OracleTableDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
127529	return nil, false
127530}
127531
127532// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for OracleTableDataset.
127533func (otd OracleTableDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
127534	return nil, false
127535}
127536
127537// AsVerticaTableDataset is the BasicDataset implementation for OracleTableDataset.
127538func (otd OracleTableDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
127539	return nil, false
127540}
127541
127542// AsNetezzaTableDataset is the BasicDataset implementation for OracleTableDataset.
127543func (otd OracleTableDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
127544	return nil, false
127545}
127546
127547// AsZohoObjectDataset is the BasicDataset implementation for OracleTableDataset.
127548func (otd OracleTableDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
127549	return nil, false
127550}
127551
127552// AsXeroObjectDataset is the BasicDataset implementation for OracleTableDataset.
127553func (otd OracleTableDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
127554	return nil, false
127555}
127556
127557// AsSquareObjectDataset is the BasicDataset implementation for OracleTableDataset.
127558func (otd OracleTableDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
127559	return nil, false
127560}
127561
127562// AsSparkObjectDataset is the BasicDataset implementation for OracleTableDataset.
127563func (otd OracleTableDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
127564	return nil, false
127565}
127566
127567// AsShopifyObjectDataset is the BasicDataset implementation for OracleTableDataset.
127568func (otd OracleTableDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
127569	return nil, false
127570}
127571
127572// AsServiceNowObjectDataset is the BasicDataset implementation for OracleTableDataset.
127573func (otd OracleTableDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
127574	return nil, false
127575}
127576
127577// AsQuickBooksObjectDataset is the BasicDataset implementation for OracleTableDataset.
127578func (otd OracleTableDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
127579	return nil, false
127580}
127581
127582// AsPrestoObjectDataset is the BasicDataset implementation for OracleTableDataset.
127583func (otd OracleTableDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
127584	return nil, false
127585}
127586
127587// AsPhoenixObjectDataset is the BasicDataset implementation for OracleTableDataset.
127588func (otd OracleTableDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
127589	return nil, false
127590}
127591
127592// AsPaypalObjectDataset is the BasicDataset implementation for OracleTableDataset.
127593func (otd OracleTableDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
127594	return nil, false
127595}
127596
127597// AsMarketoObjectDataset is the BasicDataset implementation for OracleTableDataset.
127598func (otd OracleTableDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
127599	return nil, false
127600}
127601
127602// AsMariaDBTableDataset is the BasicDataset implementation for OracleTableDataset.
127603func (otd OracleTableDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
127604	return nil, false
127605}
127606
127607// AsMagentoObjectDataset is the BasicDataset implementation for OracleTableDataset.
127608func (otd OracleTableDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
127609	return nil, false
127610}
127611
127612// AsJiraObjectDataset is the BasicDataset implementation for OracleTableDataset.
127613func (otd OracleTableDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
127614	return nil, false
127615}
127616
127617// AsImpalaObjectDataset is the BasicDataset implementation for OracleTableDataset.
127618func (otd OracleTableDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
127619	return nil, false
127620}
127621
127622// AsHubspotObjectDataset is the BasicDataset implementation for OracleTableDataset.
127623func (otd OracleTableDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
127624	return nil, false
127625}
127626
127627// AsHiveObjectDataset is the BasicDataset implementation for OracleTableDataset.
127628func (otd OracleTableDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
127629	return nil, false
127630}
127631
127632// AsHBaseObjectDataset is the BasicDataset implementation for OracleTableDataset.
127633func (otd OracleTableDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
127634	return nil, false
127635}
127636
127637// AsGreenplumTableDataset is the BasicDataset implementation for OracleTableDataset.
127638func (otd OracleTableDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
127639	return nil, false
127640}
127641
127642// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for OracleTableDataset.
127643func (otd OracleTableDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
127644	return nil, false
127645}
127646
127647// AsEloquaObjectDataset is the BasicDataset implementation for OracleTableDataset.
127648func (otd OracleTableDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
127649	return nil, false
127650}
127651
127652// AsDrillTableDataset is the BasicDataset implementation for OracleTableDataset.
127653func (otd OracleTableDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
127654	return nil, false
127655}
127656
127657// AsCouchbaseTableDataset is the BasicDataset implementation for OracleTableDataset.
127658func (otd OracleTableDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
127659	return nil, false
127660}
127661
127662// AsConcurObjectDataset is the BasicDataset implementation for OracleTableDataset.
127663func (otd OracleTableDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
127664	return nil, false
127665}
127666
127667// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for OracleTableDataset.
127668func (otd OracleTableDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
127669	return nil, false
127670}
127671
127672// AsAmazonMWSObjectDataset is the BasicDataset implementation for OracleTableDataset.
127673func (otd OracleTableDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
127674	return nil, false
127675}
127676
127677// AsHTTPDataset is the BasicDataset implementation for OracleTableDataset.
127678func (otd OracleTableDataset) AsHTTPDataset() (*HTTPDataset, bool) {
127679	return nil, false
127680}
127681
127682// AsAzureSearchIndexDataset is the BasicDataset implementation for OracleTableDataset.
127683func (otd OracleTableDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
127684	return nil, false
127685}
127686
127687// AsWebTableDataset is the BasicDataset implementation for OracleTableDataset.
127688func (otd OracleTableDataset) AsWebTableDataset() (*WebTableDataset, bool) {
127689	return nil, false
127690}
127691
127692// AsSapTableResourceDataset is the BasicDataset implementation for OracleTableDataset.
127693func (otd OracleTableDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) {
127694	return nil, false
127695}
127696
127697// AsRestResourceDataset is the BasicDataset implementation for OracleTableDataset.
127698func (otd OracleTableDataset) AsRestResourceDataset() (*RestResourceDataset, bool) {
127699	return nil, false
127700}
127701
127702// AsSQLServerTableDataset is the BasicDataset implementation for OracleTableDataset.
127703func (otd OracleTableDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
127704	return nil, false
127705}
127706
127707// AsSapOpenHubTableDataset is the BasicDataset implementation for OracleTableDataset.
127708func (otd OracleTableDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) {
127709	return nil, false
127710}
127711
127712// AsSapHanaTableDataset is the BasicDataset implementation for OracleTableDataset.
127713func (otd OracleTableDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) {
127714	return nil, false
127715}
127716
127717// AsSapEccResourceDataset is the BasicDataset implementation for OracleTableDataset.
127718func (otd OracleTableDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
127719	return nil, false
127720}
127721
127722// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for OracleTableDataset.
127723func (otd OracleTableDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
127724	return nil, false
127725}
127726
127727// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for OracleTableDataset.
127728func (otd OracleTableDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) {
127729	return nil, false
127730}
127731
127732// AsSalesforceObjectDataset is the BasicDataset implementation for OracleTableDataset.
127733func (otd OracleTableDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
127734	return nil, false
127735}
127736
127737// AsMicrosoftAccessTableDataset is the BasicDataset implementation for OracleTableDataset.
127738func (otd OracleTableDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) {
127739	return nil, false
127740}
127741
127742// AsPostgreSQLTableDataset is the BasicDataset implementation for OracleTableDataset.
127743func (otd OracleTableDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) {
127744	return nil, false
127745}
127746
127747// AsMySQLTableDataset is the BasicDataset implementation for OracleTableDataset.
127748func (otd OracleTableDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) {
127749	return nil, false
127750}
127751
127752// AsOdbcTableDataset is the BasicDataset implementation for OracleTableDataset.
127753func (otd OracleTableDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) {
127754	return nil, false
127755}
127756
127757// AsInformixTableDataset is the BasicDataset implementation for OracleTableDataset.
127758func (otd OracleTableDataset) AsInformixTableDataset() (*InformixTableDataset, bool) {
127759	return nil, false
127760}
127761
127762// AsRelationalTableDataset is the BasicDataset implementation for OracleTableDataset.
127763func (otd OracleTableDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
127764	return nil, false
127765}
127766
127767// AsAzureMySQLTableDataset is the BasicDataset implementation for OracleTableDataset.
127768func (otd OracleTableDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
127769	return nil, false
127770}
127771
127772// AsTeradataTableDataset is the BasicDataset implementation for OracleTableDataset.
127773func (otd OracleTableDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) {
127774	return nil, false
127775}
127776
127777// AsOracleTableDataset is the BasicDataset implementation for OracleTableDataset.
127778func (otd OracleTableDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
127779	return &otd, true
127780}
127781
127782// AsODataResourceDataset is the BasicDataset implementation for OracleTableDataset.
127783func (otd OracleTableDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
127784	return nil, false
127785}
127786
127787// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for OracleTableDataset.
127788func (otd OracleTableDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) {
127789	return nil, false
127790}
127791
127792// AsMongoDbV2CollectionDataset is the BasicDataset implementation for OracleTableDataset.
127793func (otd OracleTableDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) {
127794	return nil, false
127795}
127796
127797// AsMongoDbCollectionDataset is the BasicDataset implementation for OracleTableDataset.
127798func (otd OracleTableDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
127799	return nil, false
127800}
127801
127802// AsFileShareDataset is the BasicDataset implementation for OracleTableDataset.
127803func (otd OracleTableDataset) AsFileShareDataset() (*FileShareDataset, bool) {
127804	return nil, false
127805}
127806
127807// AsOffice365Dataset is the BasicDataset implementation for OracleTableDataset.
127808func (otd OracleTableDataset) AsOffice365Dataset() (*Office365Dataset, bool) {
127809	return nil, false
127810}
127811
127812// AsAzureBlobFSDataset is the BasicDataset implementation for OracleTableDataset.
127813func (otd OracleTableDataset) AsAzureBlobFSDataset() (*AzureBlobFSDataset, bool) {
127814	return nil, false
127815}
127816
127817// AsAzureDataLakeStoreDataset is the BasicDataset implementation for OracleTableDataset.
127818func (otd OracleTableDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) {
127819	return nil, false
127820}
127821
127822// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for OracleTableDataset.
127823func (otd OracleTableDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) {
127824	return nil, false
127825}
127826
127827// AsDynamicsCrmEntityDataset is the BasicDataset implementation for OracleTableDataset.
127828func (otd OracleTableDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) {
127829	return nil, false
127830}
127831
127832// AsDynamicsEntityDataset is the BasicDataset implementation for OracleTableDataset.
127833func (otd OracleTableDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
127834	return nil, false
127835}
127836
127837// AsDocumentDbCollectionDataset is the BasicDataset implementation for OracleTableDataset.
127838func (otd OracleTableDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
127839	return nil, false
127840}
127841
127842// AsCustomDataset is the BasicDataset implementation for OracleTableDataset.
127843func (otd OracleTableDataset) AsCustomDataset() (*CustomDataset, bool) {
127844	return nil, false
127845}
127846
127847// AsCassandraTableDataset is the BasicDataset implementation for OracleTableDataset.
127848func (otd OracleTableDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
127849	return nil, false
127850}
127851
127852// AsAzureSQLDWTableDataset is the BasicDataset implementation for OracleTableDataset.
127853func (otd OracleTableDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
127854	return nil, false
127855}
127856
127857// AsAzureSQLMITableDataset is the BasicDataset implementation for OracleTableDataset.
127858func (otd OracleTableDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) {
127859	return nil, false
127860}
127861
127862// AsAzureSQLTableDataset is the BasicDataset implementation for OracleTableDataset.
127863func (otd OracleTableDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
127864	return nil, false
127865}
127866
127867// AsAzureTableDataset is the BasicDataset implementation for OracleTableDataset.
127868func (otd OracleTableDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
127869	return nil, false
127870}
127871
127872// AsAzureBlobDataset is the BasicDataset implementation for OracleTableDataset.
127873func (otd OracleTableDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) {
127874	return nil, false
127875}
127876
127877// AsBinaryDataset is the BasicDataset implementation for OracleTableDataset.
127878func (otd OracleTableDataset) AsBinaryDataset() (*BinaryDataset, bool) {
127879	return nil, false
127880}
127881
127882// AsDelimitedTextDataset is the BasicDataset implementation for OracleTableDataset.
127883func (otd OracleTableDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) {
127884	return nil, false
127885}
127886
127887// AsParquetDataset is the BasicDataset implementation for OracleTableDataset.
127888func (otd OracleTableDataset) AsParquetDataset() (*ParquetDataset, bool) {
127889	return nil, false
127890}
127891
127892// AsAmazonS3Dataset is the BasicDataset implementation for OracleTableDataset.
127893func (otd OracleTableDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) {
127894	return nil, false
127895}
127896
127897// AsDataset is the BasicDataset implementation for OracleTableDataset.
127898func (otd OracleTableDataset) AsDataset() (*Dataset, bool) {
127899	return nil, false
127900}
127901
127902// AsBasicDataset is the BasicDataset implementation for OracleTableDataset.
127903func (otd OracleTableDataset) AsBasicDataset() (BasicDataset, bool) {
127904	return &otd, true
127905}
127906
127907// UnmarshalJSON is the custom unmarshaler for OracleTableDataset struct.
127908func (otd *OracleTableDataset) UnmarshalJSON(body []byte) error {
127909	var m map[string]*json.RawMessage
127910	err := json.Unmarshal(body, &m)
127911	if err != nil {
127912		return err
127913	}
127914	for k, v := range m {
127915		switch k {
127916		case "typeProperties":
127917			if v != nil {
127918				var oracleTableDatasetTypeProperties OracleTableDatasetTypeProperties
127919				err = json.Unmarshal(*v, &oracleTableDatasetTypeProperties)
127920				if err != nil {
127921					return err
127922				}
127923				otd.OracleTableDatasetTypeProperties = &oracleTableDatasetTypeProperties
127924			}
127925		default:
127926			if v != nil {
127927				var additionalProperties interface{}
127928				err = json.Unmarshal(*v, &additionalProperties)
127929				if err != nil {
127930					return err
127931				}
127932				if otd.AdditionalProperties == nil {
127933					otd.AdditionalProperties = make(map[string]interface{})
127934				}
127935				otd.AdditionalProperties[k] = additionalProperties
127936			}
127937		case "description":
127938			if v != nil {
127939				var description string
127940				err = json.Unmarshal(*v, &description)
127941				if err != nil {
127942					return err
127943				}
127944				otd.Description = &description
127945			}
127946		case "structure":
127947			if v != nil {
127948				var structure interface{}
127949				err = json.Unmarshal(*v, &structure)
127950				if err != nil {
127951					return err
127952				}
127953				otd.Structure = structure
127954			}
127955		case "schema":
127956			if v != nil {
127957				var schema interface{}
127958				err = json.Unmarshal(*v, &schema)
127959				if err != nil {
127960					return err
127961				}
127962				otd.Schema = schema
127963			}
127964		case "linkedServiceName":
127965			if v != nil {
127966				var linkedServiceName LinkedServiceReference
127967				err = json.Unmarshal(*v, &linkedServiceName)
127968				if err != nil {
127969					return err
127970				}
127971				otd.LinkedServiceName = &linkedServiceName
127972			}
127973		case "parameters":
127974			if v != nil {
127975				var parameters map[string]*ParameterSpecification
127976				err = json.Unmarshal(*v, &parameters)
127977				if err != nil {
127978					return err
127979				}
127980				otd.Parameters = parameters
127981			}
127982		case "annotations":
127983			if v != nil {
127984				var annotations []interface{}
127985				err = json.Unmarshal(*v, &annotations)
127986				if err != nil {
127987					return err
127988				}
127989				otd.Annotations = &annotations
127990			}
127991		case "folder":
127992			if v != nil {
127993				var folder DatasetFolder
127994				err = json.Unmarshal(*v, &folder)
127995				if err != nil {
127996					return err
127997				}
127998				otd.Folder = &folder
127999			}
128000		case "type":
128001			if v != nil {
128002				var typeVar TypeBasicDataset
128003				err = json.Unmarshal(*v, &typeVar)
128004				if err != nil {
128005					return err
128006				}
128007				otd.Type = typeVar
128008			}
128009		}
128010	}
128011
128012	return nil
128013}
128014
128015// OracleTableDatasetTypeProperties on-premises Oracle dataset properties.
128016type OracleTableDatasetTypeProperties struct {
128017	// TableName - The table name of the on-premises Oracle database. Type: string (or Expression with resultType string).
128018	TableName interface{} `json:"tableName,omitempty"`
128019}
128020
128021// OrcFormat the data stored in Optimized Row Columnar (ORC) format.
128022type OrcFormat struct {
128023	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
128024	AdditionalProperties map[string]interface{} `json:""`
128025	// Serializer - Serializer. Type: string (or Expression with resultType string).
128026	Serializer interface{} `json:"serializer,omitempty"`
128027	// Deserializer - Deserializer. Type: string (or Expression with resultType string).
128028	Deserializer interface{} `json:"deserializer,omitempty"`
128029	// Type - Possible values include: 'TypeDatasetStorageFormat', 'TypeParquetFormat', 'TypeOrcFormat', 'TypeAvroFormat', 'TypeJSONFormat', 'TypeTextFormat'
128030	Type TypeBasicDatasetStorageFormat `json:"type,omitempty"`
128031}
128032
128033// MarshalJSON is the custom marshaler for OrcFormat.
128034func (of OrcFormat) MarshalJSON() ([]byte, error) {
128035	of.Type = TypeOrcFormat
128036	objectMap := make(map[string]interface{})
128037	if of.Serializer != nil {
128038		objectMap["serializer"] = of.Serializer
128039	}
128040	if of.Deserializer != nil {
128041		objectMap["deserializer"] = of.Deserializer
128042	}
128043	if of.Type != "" {
128044		objectMap["type"] = of.Type
128045	}
128046	for k, v := range of.AdditionalProperties {
128047		objectMap[k] = v
128048	}
128049	return json.Marshal(objectMap)
128050}
128051
128052// AsParquetFormat is the BasicDatasetStorageFormat implementation for OrcFormat.
128053func (of OrcFormat) AsParquetFormat() (*ParquetFormat, bool) {
128054	return nil, false
128055}
128056
128057// AsOrcFormat is the BasicDatasetStorageFormat implementation for OrcFormat.
128058func (of OrcFormat) AsOrcFormat() (*OrcFormat, bool) {
128059	return &of, true
128060}
128061
128062// AsAvroFormat is the BasicDatasetStorageFormat implementation for OrcFormat.
128063func (of OrcFormat) AsAvroFormat() (*AvroFormat, bool) {
128064	return nil, false
128065}
128066
128067// AsJSONFormat is the BasicDatasetStorageFormat implementation for OrcFormat.
128068func (of OrcFormat) AsJSONFormat() (*JSONFormat, bool) {
128069	return nil, false
128070}
128071
128072// AsTextFormat is the BasicDatasetStorageFormat implementation for OrcFormat.
128073func (of OrcFormat) AsTextFormat() (*TextFormat, bool) {
128074	return nil, false
128075}
128076
128077// AsDatasetStorageFormat is the BasicDatasetStorageFormat implementation for OrcFormat.
128078func (of OrcFormat) AsDatasetStorageFormat() (*DatasetStorageFormat, bool) {
128079	return nil, false
128080}
128081
128082// AsBasicDatasetStorageFormat is the BasicDatasetStorageFormat implementation for OrcFormat.
128083func (of OrcFormat) AsBasicDatasetStorageFormat() (BasicDatasetStorageFormat, bool) {
128084	return &of, true
128085}
128086
128087// UnmarshalJSON is the custom unmarshaler for OrcFormat struct.
128088func (of *OrcFormat) UnmarshalJSON(body []byte) error {
128089	var m map[string]*json.RawMessage
128090	err := json.Unmarshal(body, &m)
128091	if err != nil {
128092		return err
128093	}
128094	for k, v := range m {
128095		switch k {
128096		default:
128097			if v != nil {
128098				var additionalProperties interface{}
128099				err = json.Unmarshal(*v, &additionalProperties)
128100				if err != nil {
128101					return err
128102				}
128103				if of.AdditionalProperties == nil {
128104					of.AdditionalProperties = make(map[string]interface{})
128105				}
128106				of.AdditionalProperties[k] = additionalProperties
128107			}
128108		case "serializer":
128109			if v != nil {
128110				var serializer interface{}
128111				err = json.Unmarshal(*v, &serializer)
128112				if err != nil {
128113					return err
128114				}
128115				of.Serializer = serializer
128116			}
128117		case "deserializer":
128118			if v != nil {
128119				var deserializer interface{}
128120				err = json.Unmarshal(*v, &deserializer)
128121				if err != nil {
128122					return err
128123				}
128124				of.Deserializer = deserializer
128125			}
128126		case "type":
128127			if v != nil {
128128				var typeVar TypeBasicDatasetStorageFormat
128129				err = json.Unmarshal(*v, &typeVar)
128130				if err != nil {
128131					return err
128132				}
128133				of.Type = typeVar
128134			}
128135		}
128136	}
128137
128138	return nil
128139}
128140
128141// ParameterSpecification definition of a single parameter for an entity.
128142type ParameterSpecification struct {
128143	// Type - Parameter type. Possible values include: 'ParameterTypeObject', 'ParameterTypeString', 'ParameterTypeInt', 'ParameterTypeFloat', 'ParameterTypeBool', 'ParameterTypeArray', 'ParameterTypeSecureString'
128144	Type ParameterType `json:"type,omitempty"`
128145	// DefaultValue - Default value of parameter.
128146	DefaultValue interface{} `json:"defaultValue,omitempty"`
128147}
128148
128149// ParquetDataset parquet dataset.
128150type ParquetDataset struct {
128151	// ParquetDatasetTypeProperties - Parquet dataset properties.
128152	*ParquetDatasetTypeProperties `json:"typeProperties,omitempty"`
128153	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
128154	AdditionalProperties map[string]interface{} `json:""`
128155	// Description - Dataset description.
128156	Description *string `json:"description,omitempty"`
128157	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
128158	Structure interface{} `json:"structure,omitempty"`
128159	// Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement.
128160	Schema interface{} `json:"schema,omitempty"`
128161	// LinkedServiceName - Linked service reference.
128162	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
128163	// Parameters - Parameters for dataset.
128164	Parameters map[string]*ParameterSpecification `json:"parameters"`
128165	// Annotations - List of tags that can be used for describing the Dataset.
128166	Annotations *[]interface{} `json:"annotations,omitempty"`
128167	// Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level.
128168	Folder *DatasetFolder `json:"folder,omitempty"`
128169	// Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', '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', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeDelimitedText', 'TypeParquet', 'TypeAmazonS3Object'
128170	Type TypeBasicDataset `json:"type,omitempty"`
128171}
128172
128173// MarshalJSON is the custom marshaler for ParquetDataset.
128174func (pd ParquetDataset) MarshalJSON() ([]byte, error) {
128175	pd.Type = TypeParquet
128176	objectMap := make(map[string]interface{})
128177	if pd.ParquetDatasetTypeProperties != nil {
128178		objectMap["typeProperties"] = pd.ParquetDatasetTypeProperties
128179	}
128180	if pd.Description != nil {
128181		objectMap["description"] = pd.Description
128182	}
128183	if pd.Structure != nil {
128184		objectMap["structure"] = pd.Structure
128185	}
128186	if pd.Schema != nil {
128187		objectMap["schema"] = pd.Schema
128188	}
128189	if pd.LinkedServiceName != nil {
128190		objectMap["linkedServiceName"] = pd.LinkedServiceName
128191	}
128192	if pd.Parameters != nil {
128193		objectMap["parameters"] = pd.Parameters
128194	}
128195	if pd.Annotations != nil {
128196		objectMap["annotations"] = pd.Annotations
128197	}
128198	if pd.Folder != nil {
128199		objectMap["folder"] = pd.Folder
128200	}
128201	if pd.Type != "" {
128202		objectMap["type"] = pd.Type
128203	}
128204	for k, v := range pd.AdditionalProperties {
128205		objectMap[k] = v
128206	}
128207	return json.Marshal(objectMap)
128208}
128209
128210// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for ParquetDataset.
128211func (pd ParquetDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) {
128212	return nil, false
128213}
128214
128215// AsAzureDataExplorerTableDataset is the BasicDataset implementation for ParquetDataset.
128216func (pd ParquetDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) {
128217	return nil, false
128218}
128219
128220// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for ParquetDataset.
128221func (pd ParquetDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) {
128222	return nil, false
128223}
128224
128225// AsDynamicsAXResourceDataset is the BasicDataset implementation for ParquetDataset.
128226func (pd ParquetDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) {
128227	return nil, false
128228}
128229
128230// AsResponsysObjectDataset is the BasicDataset implementation for ParquetDataset.
128231func (pd ParquetDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
128232	return nil, false
128233}
128234
128235// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for ParquetDataset.
128236func (pd ParquetDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
128237	return nil, false
128238}
128239
128240// AsVerticaTableDataset is the BasicDataset implementation for ParquetDataset.
128241func (pd ParquetDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
128242	return nil, false
128243}
128244
128245// AsNetezzaTableDataset is the BasicDataset implementation for ParquetDataset.
128246func (pd ParquetDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
128247	return nil, false
128248}
128249
128250// AsZohoObjectDataset is the BasicDataset implementation for ParquetDataset.
128251func (pd ParquetDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
128252	return nil, false
128253}
128254
128255// AsXeroObjectDataset is the BasicDataset implementation for ParquetDataset.
128256func (pd ParquetDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
128257	return nil, false
128258}
128259
128260// AsSquareObjectDataset is the BasicDataset implementation for ParquetDataset.
128261func (pd ParquetDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
128262	return nil, false
128263}
128264
128265// AsSparkObjectDataset is the BasicDataset implementation for ParquetDataset.
128266func (pd ParquetDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
128267	return nil, false
128268}
128269
128270// AsShopifyObjectDataset is the BasicDataset implementation for ParquetDataset.
128271func (pd ParquetDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
128272	return nil, false
128273}
128274
128275// AsServiceNowObjectDataset is the BasicDataset implementation for ParquetDataset.
128276func (pd ParquetDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
128277	return nil, false
128278}
128279
128280// AsQuickBooksObjectDataset is the BasicDataset implementation for ParquetDataset.
128281func (pd ParquetDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
128282	return nil, false
128283}
128284
128285// AsPrestoObjectDataset is the BasicDataset implementation for ParquetDataset.
128286func (pd ParquetDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
128287	return nil, false
128288}
128289
128290// AsPhoenixObjectDataset is the BasicDataset implementation for ParquetDataset.
128291func (pd ParquetDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
128292	return nil, false
128293}
128294
128295// AsPaypalObjectDataset is the BasicDataset implementation for ParquetDataset.
128296func (pd ParquetDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
128297	return nil, false
128298}
128299
128300// AsMarketoObjectDataset is the BasicDataset implementation for ParquetDataset.
128301func (pd ParquetDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
128302	return nil, false
128303}
128304
128305// AsMariaDBTableDataset is the BasicDataset implementation for ParquetDataset.
128306func (pd ParquetDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
128307	return nil, false
128308}
128309
128310// AsMagentoObjectDataset is the BasicDataset implementation for ParquetDataset.
128311func (pd ParquetDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
128312	return nil, false
128313}
128314
128315// AsJiraObjectDataset is the BasicDataset implementation for ParquetDataset.
128316func (pd ParquetDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
128317	return nil, false
128318}
128319
128320// AsImpalaObjectDataset is the BasicDataset implementation for ParquetDataset.
128321func (pd ParquetDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
128322	return nil, false
128323}
128324
128325// AsHubspotObjectDataset is the BasicDataset implementation for ParquetDataset.
128326func (pd ParquetDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
128327	return nil, false
128328}
128329
128330// AsHiveObjectDataset is the BasicDataset implementation for ParquetDataset.
128331func (pd ParquetDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
128332	return nil, false
128333}
128334
128335// AsHBaseObjectDataset is the BasicDataset implementation for ParquetDataset.
128336func (pd ParquetDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
128337	return nil, false
128338}
128339
128340// AsGreenplumTableDataset is the BasicDataset implementation for ParquetDataset.
128341func (pd ParquetDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
128342	return nil, false
128343}
128344
128345// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for ParquetDataset.
128346func (pd ParquetDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
128347	return nil, false
128348}
128349
128350// AsEloquaObjectDataset is the BasicDataset implementation for ParquetDataset.
128351func (pd ParquetDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
128352	return nil, false
128353}
128354
128355// AsDrillTableDataset is the BasicDataset implementation for ParquetDataset.
128356func (pd ParquetDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
128357	return nil, false
128358}
128359
128360// AsCouchbaseTableDataset is the BasicDataset implementation for ParquetDataset.
128361func (pd ParquetDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
128362	return nil, false
128363}
128364
128365// AsConcurObjectDataset is the BasicDataset implementation for ParquetDataset.
128366func (pd ParquetDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
128367	return nil, false
128368}
128369
128370// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for ParquetDataset.
128371func (pd ParquetDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
128372	return nil, false
128373}
128374
128375// AsAmazonMWSObjectDataset is the BasicDataset implementation for ParquetDataset.
128376func (pd ParquetDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
128377	return nil, false
128378}
128379
128380// AsHTTPDataset is the BasicDataset implementation for ParquetDataset.
128381func (pd ParquetDataset) AsHTTPDataset() (*HTTPDataset, bool) {
128382	return nil, false
128383}
128384
128385// AsAzureSearchIndexDataset is the BasicDataset implementation for ParquetDataset.
128386func (pd ParquetDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
128387	return nil, false
128388}
128389
128390// AsWebTableDataset is the BasicDataset implementation for ParquetDataset.
128391func (pd ParquetDataset) AsWebTableDataset() (*WebTableDataset, bool) {
128392	return nil, false
128393}
128394
128395// AsSapTableResourceDataset is the BasicDataset implementation for ParquetDataset.
128396func (pd ParquetDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) {
128397	return nil, false
128398}
128399
128400// AsRestResourceDataset is the BasicDataset implementation for ParquetDataset.
128401func (pd ParquetDataset) AsRestResourceDataset() (*RestResourceDataset, bool) {
128402	return nil, false
128403}
128404
128405// AsSQLServerTableDataset is the BasicDataset implementation for ParquetDataset.
128406func (pd ParquetDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
128407	return nil, false
128408}
128409
128410// AsSapOpenHubTableDataset is the BasicDataset implementation for ParquetDataset.
128411func (pd ParquetDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) {
128412	return nil, false
128413}
128414
128415// AsSapHanaTableDataset is the BasicDataset implementation for ParquetDataset.
128416func (pd ParquetDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) {
128417	return nil, false
128418}
128419
128420// AsSapEccResourceDataset is the BasicDataset implementation for ParquetDataset.
128421func (pd ParquetDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
128422	return nil, false
128423}
128424
128425// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for ParquetDataset.
128426func (pd ParquetDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
128427	return nil, false
128428}
128429
128430// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for ParquetDataset.
128431func (pd ParquetDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) {
128432	return nil, false
128433}
128434
128435// AsSalesforceObjectDataset is the BasicDataset implementation for ParquetDataset.
128436func (pd ParquetDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
128437	return nil, false
128438}
128439
128440// AsMicrosoftAccessTableDataset is the BasicDataset implementation for ParquetDataset.
128441func (pd ParquetDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) {
128442	return nil, false
128443}
128444
128445// AsPostgreSQLTableDataset is the BasicDataset implementation for ParquetDataset.
128446func (pd ParquetDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) {
128447	return nil, false
128448}
128449
128450// AsMySQLTableDataset is the BasicDataset implementation for ParquetDataset.
128451func (pd ParquetDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) {
128452	return nil, false
128453}
128454
128455// AsOdbcTableDataset is the BasicDataset implementation for ParquetDataset.
128456func (pd ParquetDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) {
128457	return nil, false
128458}
128459
128460// AsInformixTableDataset is the BasicDataset implementation for ParquetDataset.
128461func (pd ParquetDataset) AsInformixTableDataset() (*InformixTableDataset, bool) {
128462	return nil, false
128463}
128464
128465// AsRelationalTableDataset is the BasicDataset implementation for ParquetDataset.
128466func (pd ParquetDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
128467	return nil, false
128468}
128469
128470// AsAzureMySQLTableDataset is the BasicDataset implementation for ParquetDataset.
128471func (pd ParquetDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
128472	return nil, false
128473}
128474
128475// AsTeradataTableDataset is the BasicDataset implementation for ParquetDataset.
128476func (pd ParquetDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) {
128477	return nil, false
128478}
128479
128480// AsOracleTableDataset is the BasicDataset implementation for ParquetDataset.
128481func (pd ParquetDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
128482	return nil, false
128483}
128484
128485// AsODataResourceDataset is the BasicDataset implementation for ParquetDataset.
128486func (pd ParquetDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
128487	return nil, false
128488}
128489
128490// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for ParquetDataset.
128491func (pd ParquetDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) {
128492	return nil, false
128493}
128494
128495// AsMongoDbV2CollectionDataset is the BasicDataset implementation for ParquetDataset.
128496func (pd ParquetDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) {
128497	return nil, false
128498}
128499
128500// AsMongoDbCollectionDataset is the BasicDataset implementation for ParquetDataset.
128501func (pd ParquetDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
128502	return nil, false
128503}
128504
128505// AsFileShareDataset is the BasicDataset implementation for ParquetDataset.
128506func (pd ParquetDataset) AsFileShareDataset() (*FileShareDataset, bool) {
128507	return nil, false
128508}
128509
128510// AsOffice365Dataset is the BasicDataset implementation for ParquetDataset.
128511func (pd ParquetDataset) AsOffice365Dataset() (*Office365Dataset, bool) {
128512	return nil, false
128513}
128514
128515// AsAzureBlobFSDataset is the BasicDataset implementation for ParquetDataset.
128516func (pd ParquetDataset) AsAzureBlobFSDataset() (*AzureBlobFSDataset, bool) {
128517	return nil, false
128518}
128519
128520// AsAzureDataLakeStoreDataset is the BasicDataset implementation for ParquetDataset.
128521func (pd ParquetDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) {
128522	return nil, false
128523}
128524
128525// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for ParquetDataset.
128526func (pd ParquetDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) {
128527	return nil, false
128528}
128529
128530// AsDynamicsCrmEntityDataset is the BasicDataset implementation for ParquetDataset.
128531func (pd ParquetDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) {
128532	return nil, false
128533}
128534
128535// AsDynamicsEntityDataset is the BasicDataset implementation for ParquetDataset.
128536func (pd ParquetDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
128537	return nil, false
128538}
128539
128540// AsDocumentDbCollectionDataset is the BasicDataset implementation for ParquetDataset.
128541func (pd ParquetDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
128542	return nil, false
128543}
128544
128545// AsCustomDataset is the BasicDataset implementation for ParquetDataset.
128546func (pd ParquetDataset) AsCustomDataset() (*CustomDataset, bool) {
128547	return nil, false
128548}
128549
128550// AsCassandraTableDataset is the BasicDataset implementation for ParquetDataset.
128551func (pd ParquetDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
128552	return nil, false
128553}
128554
128555// AsAzureSQLDWTableDataset is the BasicDataset implementation for ParquetDataset.
128556func (pd ParquetDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
128557	return nil, false
128558}
128559
128560// AsAzureSQLMITableDataset is the BasicDataset implementation for ParquetDataset.
128561func (pd ParquetDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) {
128562	return nil, false
128563}
128564
128565// AsAzureSQLTableDataset is the BasicDataset implementation for ParquetDataset.
128566func (pd ParquetDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
128567	return nil, false
128568}
128569
128570// AsAzureTableDataset is the BasicDataset implementation for ParquetDataset.
128571func (pd ParquetDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
128572	return nil, false
128573}
128574
128575// AsAzureBlobDataset is the BasicDataset implementation for ParquetDataset.
128576func (pd ParquetDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) {
128577	return nil, false
128578}
128579
128580// AsBinaryDataset is the BasicDataset implementation for ParquetDataset.
128581func (pd ParquetDataset) AsBinaryDataset() (*BinaryDataset, bool) {
128582	return nil, false
128583}
128584
128585// AsDelimitedTextDataset is the BasicDataset implementation for ParquetDataset.
128586func (pd ParquetDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) {
128587	return nil, false
128588}
128589
128590// AsParquetDataset is the BasicDataset implementation for ParquetDataset.
128591func (pd ParquetDataset) AsParquetDataset() (*ParquetDataset, bool) {
128592	return &pd, true
128593}
128594
128595// AsAmazonS3Dataset is the BasicDataset implementation for ParquetDataset.
128596func (pd ParquetDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) {
128597	return nil, false
128598}
128599
128600// AsDataset is the BasicDataset implementation for ParquetDataset.
128601func (pd ParquetDataset) AsDataset() (*Dataset, bool) {
128602	return nil, false
128603}
128604
128605// AsBasicDataset is the BasicDataset implementation for ParquetDataset.
128606func (pd ParquetDataset) AsBasicDataset() (BasicDataset, bool) {
128607	return &pd, true
128608}
128609
128610// UnmarshalJSON is the custom unmarshaler for ParquetDataset struct.
128611func (pd *ParquetDataset) UnmarshalJSON(body []byte) error {
128612	var m map[string]*json.RawMessage
128613	err := json.Unmarshal(body, &m)
128614	if err != nil {
128615		return err
128616	}
128617	for k, v := range m {
128618		switch k {
128619		case "typeProperties":
128620			if v != nil {
128621				var parquetDatasetTypeProperties ParquetDatasetTypeProperties
128622				err = json.Unmarshal(*v, &parquetDatasetTypeProperties)
128623				if err != nil {
128624					return err
128625				}
128626				pd.ParquetDatasetTypeProperties = &parquetDatasetTypeProperties
128627			}
128628		default:
128629			if v != nil {
128630				var additionalProperties interface{}
128631				err = json.Unmarshal(*v, &additionalProperties)
128632				if err != nil {
128633					return err
128634				}
128635				if pd.AdditionalProperties == nil {
128636					pd.AdditionalProperties = make(map[string]interface{})
128637				}
128638				pd.AdditionalProperties[k] = additionalProperties
128639			}
128640		case "description":
128641			if v != nil {
128642				var description string
128643				err = json.Unmarshal(*v, &description)
128644				if err != nil {
128645					return err
128646				}
128647				pd.Description = &description
128648			}
128649		case "structure":
128650			if v != nil {
128651				var structure interface{}
128652				err = json.Unmarshal(*v, &structure)
128653				if err != nil {
128654					return err
128655				}
128656				pd.Structure = structure
128657			}
128658		case "schema":
128659			if v != nil {
128660				var schema interface{}
128661				err = json.Unmarshal(*v, &schema)
128662				if err != nil {
128663					return err
128664				}
128665				pd.Schema = schema
128666			}
128667		case "linkedServiceName":
128668			if v != nil {
128669				var linkedServiceName LinkedServiceReference
128670				err = json.Unmarshal(*v, &linkedServiceName)
128671				if err != nil {
128672					return err
128673				}
128674				pd.LinkedServiceName = &linkedServiceName
128675			}
128676		case "parameters":
128677			if v != nil {
128678				var parameters map[string]*ParameterSpecification
128679				err = json.Unmarshal(*v, &parameters)
128680				if err != nil {
128681					return err
128682				}
128683				pd.Parameters = parameters
128684			}
128685		case "annotations":
128686			if v != nil {
128687				var annotations []interface{}
128688				err = json.Unmarshal(*v, &annotations)
128689				if err != nil {
128690					return err
128691				}
128692				pd.Annotations = &annotations
128693			}
128694		case "folder":
128695			if v != nil {
128696				var folder DatasetFolder
128697				err = json.Unmarshal(*v, &folder)
128698				if err != nil {
128699					return err
128700				}
128701				pd.Folder = &folder
128702			}
128703		case "type":
128704			if v != nil {
128705				var typeVar TypeBasicDataset
128706				err = json.Unmarshal(*v, &typeVar)
128707				if err != nil {
128708					return err
128709				}
128710				pd.Type = typeVar
128711			}
128712		}
128713	}
128714
128715	return nil
128716}
128717
128718// ParquetDatasetTypeProperties parquet dataset properties.
128719type ParquetDatasetTypeProperties struct {
128720	// Location - The location of the parquet storage.
128721	Location         *DatasetLocation `json:"location,omitempty"`
128722	CompressionCodec interface{}      `json:"compressionCodec,omitempty"`
128723}
128724
128725// ParquetFormat the data stored in Parquet format.
128726type ParquetFormat struct {
128727	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
128728	AdditionalProperties map[string]interface{} `json:""`
128729	// Serializer - Serializer. Type: string (or Expression with resultType string).
128730	Serializer interface{} `json:"serializer,omitempty"`
128731	// Deserializer - Deserializer. Type: string (or Expression with resultType string).
128732	Deserializer interface{} `json:"deserializer,omitempty"`
128733	// Type - Possible values include: 'TypeDatasetStorageFormat', 'TypeParquetFormat', 'TypeOrcFormat', 'TypeAvroFormat', 'TypeJSONFormat', 'TypeTextFormat'
128734	Type TypeBasicDatasetStorageFormat `json:"type,omitempty"`
128735}
128736
128737// MarshalJSON is the custom marshaler for ParquetFormat.
128738func (pf ParquetFormat) MarshalJSON() ([]byte, error) {
128739	pf.Type = TypeParquetFormat
128740	objectMap := make(map[string]interface{})
128741	if pf.Serializer != nil {
128742		objectMap["serializer"] = pf.Serializer
128743	}
128744	if pf.Deserializer != nil {
128745		objectMap["deserializer"] = pf.Deserializer
128746	}
128747	if pf.Type != "" {
128748		objectMap["type"] = pf.Type
128749	}
128750	for k, v := range pf.AdditionalProperties {
128751		objectMap[k] = v
128752	}
128753	return json.Marshal(objectMap)
128754}
128755
128756// AsParquetFormat is the BasicDatasetStorageFormat implementation for ParquetFormat.
128757func (pf ParquetFormat) AsParquetFormat() (*ParquetFormat, bool) {
128758	return &pf, true
128759}
128760
128761// AsOrcFormat is the BasicDatasetStorageFormat implementation for ParquetFormat.
128762func (pf ParquetFormat) AsOrcFormat() (*OrcFormat, bool) {
128763	return nil, false
128764}
128765
128766// AsAvroFormat is the BasicDatasetStorageFormat implementation for ParquetFormat.
128767func (pf ParquetFormat) AsAvroFormat() (*AvroFormat, bool) {
128768	return nil, false
128769}
128770
128771// AsJSONFormat is the BasicDatasetStorageFormat implementation for ParquetFormat.
128772func (pf ParquetFormat) AsJSONFormat() (*JSONFormat, bool) {
128773	return nil, false
128774}
128775
128776// AsTextFormat is the BasicDatasetStorageFormat implementation for ParquetFormat.
128777func (pf ParquetFormat) AsTextFormat() (*TextFormat, bool) {
128778	return nil, false
128779}
128780
128781// AsDatasetStorageFormat is the BasicDatasetStorageFormat implementation for ParquetFormat.
128782func (pf ParquetFormat) AsDatasetStorageFormat() (*DatasetStorageFormat, bool) {
128783	return nil, false
128784}
128785
128786// AsBasicDatasetStorageFormat is the BasicDatasetStorageFormat implementation for ParquetFormat.
128787func (pf ParquetFormat) AsBasicDatasetStorageFormat() (BasicDatasetStorageFormat, bool) {
128788	return &pf, true
128789}
128790
128791// UnmarshalJSON is the custom unmarshaler for ParquetFormat struct.
128792func (pf *ParquetFormat) UnmarshalJSON(body []byte) error {
128793	var m map[string]*json.RawMessage
128794	err := json.Unmarshal(body, &m)
128795	if err != nil {
128796		return err
128797	}
128798	for k, v := range m {
128799		switch k {
128800		default:
128801			if v != nil {
128802				var additionalProperties interface{}
128803				err = json.Unmarshal(*v, &additionalProperties)
128804				if err != nil {
128805					return err
128806				}
128807				if pf.AdditionalProperties == nil {
128808					pf.AdditionalProperties = make(map[string]interface{})
128809				}
128810				pf.AdditionalProperties[k] = additionalProperties
128811			}
128812		case "serializer":
128813			if v != nil {
128814				var serializer interface{}
128815				err = json.Unmarshal(*v, &serializer)
128816				if err != nil {
128817					return err
128818				}
128819				pf.Serializer = serializer
128820			}
128821		case "deserializer":
128822			if v != nil {
128823				var deserializer interface{}
128824				err = json.Unmarshal(*v, &deserializer)
128825				if err != nil {
128826					return err
128827				}
128828				pf.Deserializer = deserializer
128829			}
128830		case "type":
128831			if v != nil {
128832				var typeVar TypeBasicDatasetStorageFormat
128833				err = json.Unmarshal(*v, &typeVar)
128834				if err != nil {
128835					return err
128836				}
128837				pf.Type = typeVar
128838			}
128839		}
128840	}
128841
128842	return nil
128843}
128844
128845// ParquetSink a copy activity Parquet sink.
128846type ParquetSink struct {
128847	// StoreSettings - Parquet store settings.
128848	StoreSettings *StoreWriteSettings `json:"storeSettings,omitempty"`
128849	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
128850	AdditionalProperties map[string]interface{} `json:""`
128851	// WriteBatchSize - Write batch size. Type: integer (or Expression with resultType integer), minimum: 0.
128852	WriteBatchSize interface{} `json:"writeBatchSize,omitempty"`
128853	// 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])).
128854	WriteBatchTimeout interface{} `json:"writeBatchTimeout,omitempty"`
128855	// SinkRetryCount - Sink retry count. Type: integer (or Expression with resultType integer).
128856	SinkRetryCount interface{} `json:"sinkRetryCount,omitempty"`
128857	// 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])).
128858	SinkRetryWait interface{} `json:"sinkRetryWait,omitempty"`
128859	// MaxConcurrentConnections - The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer).
128860	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
128861	// Type - Possible values include: 'TypeCopySink', 'TypeCosmosDbMongoDbAPISink', 'TypeSalesforceServiceCloudSink', 'TypeSalesforceSink', 'TypeAzureDataExplorerSink', 'TypeCommonDataServiceForAppsSink', 'TypeDynamicsCrmSink', 'TypeDynamicsSink', 'TypeMicrosoftAccessSink', 'TypeInformixSink', 'TypeOdbcSink', 'TypeAzureSearchIndexSink', 'TypeAzureBlobFSSink', 'TypeAzureDataLakeStoreSink', 'TypeOracleSink', 'TypeSQLDWSink', 'TypeSQLMISink', 'TypeAzureSQLSink', 'TypeSQLServerSink', 'TypeSQLSink', 'TypeDocumentDbCollectionSink', 'TypeFileSystemSink', 'TypeBlobSink', 'TypeBinarySink', 'TypeParquetSink', 'TypeAzureTableSink', 'TypeAzureQueueSink', 'TypeSapCloudForCustomerSink', 'TypeAzurePostgreSQLSink', 'TypeDelimitedTextSink'
128862	Type TypeBasicCopySink `json:"type,omitempty"`
128863}
128864
128865// MarshalJSON is the custom marshaler for ParquetSink.
128866func (ps ParquetSink) MarshalJSON() ([]byte, error) {
128867	ps.Type = TypeParquetSink
128868	objectMap := make(map[string]interface{})
128869	if ps.StoreSettings != nil {
128870		objectMap["storeSettings"] = ps.StoreSettings
128871	}
128872	if ps.WriteBatchSize != nil {
128873		objectMap["writeBatchSize"] = ps.WriteBatchSize
128874	}
128875	if ps.WriteBatchTimeout != nil {
128876		objectMap["writeBatchTimeout"] = ps.WriteBatchTimeout
128877	}
128878	if ps.SinkRetryCount != nil {
128879		objectMap["sinkRetryCount"] = ps.SinkRetryCount
128880	}
128881	if ps.SinkRetryWait != nil {
128882		objectMap["sinkRetryWait"] = ps.SinkRetryWait
128883	}
128884	if ps.MaxConcurrentConnections != nil {
128885		objectMap["maxConcurrentConnections"] = ps.MaxConcurrentConnections
128886	}
128887	if ps.Type != "" {
128888		objectMap["type"] = ps.Type
128889	}
128890	for k, v := range ps.AdditionalProperties {
128891		objectMap[k] = v
128892	}
128893	return json.Marshal(objectMap)
128894}
128895
128896// AsCosmosDbMongoDbAPISink is the BasicCopySink implementation for ParquetSink.
128897func (ps ParquetSink) AsCosmosDbMongoDbAPISink() (*CosmosDbMongoDbAPISink, bool) {
128898	return nil, false
128899}
128900
128901// AsSalesforceServiceCloudSink is the BasicCopySink implementation for ParquetSink.
128902func (ps ParquetSink) AsSalesforceServiceCloudSink() (*SalesforceServiceCloudSink, bool) {
128903	return nil, false
128904}
128905
128906// AsSalesforceSink is the BasicCopySink implementation for ParquetSink.
128907func (ps ParquetSink) AsSalesforceSink() (*SalesforceSink, bool) {
128908	return nil, false
128909}
128910
128911// AsAzureDataExplorerSink is the BasicCopySink implementation for ParquetSink.
128912func (ps ParquetSink) AsAzureDataExplorerSink() (*AzureDataExplorerSink, bool) {
128913	return nil, false
128914}
128915
128916// AsCommonDataServiceForAppsSink is the BasicCopySink implementation for ParquetSink.
128917func (ps ParquetSink) AsCommonDataServiceForAppsSink() (*CommonDataServiceForAppsSink, bool) {
128918	return nil, false
128919}
128920
128921// AsDynamicsCrmSink is the BasicCopySink implementation for ParquetSink.
128922func (ps ParquetSink) AsDynamicsCrmSink() (*DynamicsCrmSink, bool) {
128923	return nil, false
128924}
128925
128926// AsDynamicsSink is the BasicCopySink implementation for ParquetSink.
128927func (ps ParquetSink) AsDynamicsSink() (*DynamicsSink, bool) {
128928	return nil, false
128929}
128930
128931// AsMicrosoftAccessSink is the BasicCopySink implementation for ParquetSink.
128932func (ps ParquetSink) AsMicrosoftAccessSink() (*MicrosoftAccessSink, bool) {
128933	return nil, false
128934}
128935
128936// AsInformixSink is the BasicCopySink implementation for ParquetSink.
128937func (ps ParquetSink) AsInformixSink() (*InformixSink, bool) {
128938	return nil, false
128939}
128940
128941// AsOdbcSink is the BasicCopySink implementation for ParquetSink.
128942func (ps ParquetSink) AsOdbcSink() (*OdbcSink, bool) {
128943	return nil, false
128944}
128945
128946// AsAzureSearchIndexSink is the BasicCopySink implementation for ParquetSink.
128947func (ps ParquetSink) AsAzureSearchIndexSink() (*AzureSearchIndexSink, bool) {
128948	return nil, false
128949}
128950
128951// AsAzureBlobFSSink is the BasicCopySink implementation for ParquetSink.
128952func (ps ParquetSink) AsAzureBlobFSSink() (*AzureBlobFSSink, bool) {
128953	return nil, false
128954}
128955
128956// AsAzureDataLakeStoreSink is the BasicCopySink implementation for ParquetSink.
128957func (ps ParquetSink) AsAzureDataLakeStoreSink() (*AzureDataLakeStoreSink, bool) {
128958	return nil, false
128959}
128960
128961// AsOracleSink is the BasicCopySink implementation for ParquetSink.
128962func (ps ParquetSink) AsOracleSink() (*OracleSink, bool) {
128963	return nil, false
128964}
128965
128966// AsSQLDWSink is the BasicCopySink implementation for ParquetSink.
128967func (ps ParquetSink) AsSQLDWSink() (*SQLDWSink, bool) {
128968	return nil, false
128969}
128970
128971// AsSQLMISink is the BasicCopySink implementation for ParquetSink.
128972func (ps ParquetSink) AsSQLMISink() (*SQLMISink, bool) {
128973	return nil, false
128974}
128975
128976// AsAzureSQLSink is the BasicCopySink implementation for ParquetSink.
128977func (ps ParquetSink) AsAzureSQLSink() (*AzureSQLSink, bool) {
128978	return nil, false
128979}
128980
128981// AsSQLServerSink is the BasicCopySink implementation for ParquetSink.
128982func (ps ParquetSink) AsSQLServerSink() (*SQLServerSink, bool) {
128983	return nil, false
128984}
128985
128986// AsSQLSink is the BasicCopySink implementation for ParquetSink.
128987func (ps ParquetSink) AsSQLSink() (*SQLSink, bool) {
128988	return nil, false
128989}
128990
128991// AsDocumentDbCollectionSink is the BasicCopySink implementation for ParquetSink.
128992func (ps ParquetSink) AsDocumentDbCollectionSink() (*DocumentDbCollectionSink, bool) {
128993	return nil, false
128994}
128995
128996// AsFileSystemSink is the BasicCopySink implementation for ParquetSink.
128997func (ps ParquetSink) AsFileSystemSink() (*FileSystemSink, bool) {
128998	return nil, false
128999}
129000
129001// AsBlobSink is the BasicCopySink implementation for ParquetSink.
129002func (ps ParquetSink) AsBlobSink() (*BlobSink, bool) {
129003	return nil, false
129004}
129005
129006// AsBinarySink is the BasicCopySink implementation for ParquetSink.
129007func (ps ParquetSink) AsBinarySink() (*BinarySink, bool) {
129008	return nil, false
129009}
129010
129011// AsParquetSink is the BasicCopySink implementation for ParquetSink.
129012func (ps ParquetSink) AsParquetSink() (*ParquetSink, bool) {
129013	return &ps, true
129014}
129015
129016// AsAzureTableSink is the BasicCopySink implementation for ParquetSink.
129017func (ps ParquetSink) AsAzureTableSink() (*AzureTableSink, bool) {
129018	return nil, false
129019}
129020
129021// AsAzureQueueSink is the BasicCopySink implementation for ParquetSink.
129022func (ps ParquetSink) AsAzureQueueSink() (*AzureQueueSink, bool) {
129023	return nil, false
129024}
129025
129026// AsSapCloudForCustomerSink is the BasicCopySink implementation for ParquetSink.
129027func (ps ParquetSink) AsSapCloudForCustomerSink() (*SapCloudForCustomerSink, bool) {
129028	return nil, false
129029}
129030
129031// AsAzurePostgreSQLSink is the BasicCopySink implementation for ParquetSink.
129032func (ps ParquetSink) AsAzurePostgreSQLSink() (*AzurePostgreSQLSink, bool) {
129033	return nil, false
129034}
129035
129036// AsDelimitedTextSink is the BasicCopySink implementation for ParquetSink.
129037func (ps ParquetSink) AsDelimitedTextSink() (*DelimitedTextSink, bool) {
129038	return nil, false
129039}
129040
129041// AsCopySink is the BasicCopySink implementation for ParquetSink.
129042func (ps ParquetSink) AsCopySink() (*CopySink, bool) {
129043	return nil, false
129044}
129045
129046// AsBasicCopySink is the BasicCopySink implementation for ParquetSink.
129047func (ps ParquetSink) AsBasicCopySink() (BasicCopySink, bool) {
129048	return &ps, true
129049}
129050
129051// UnmarshalJSON is the custom unmarshaler for ParquetSink struct.
129052func (ps *ParquetSink) UnmarshalJSON(body []byte) error {
129053	var m map[string]*json.RawMessage
129054	err := json.Unmarshal(body, &m)
129055	if err != nil {
129056		return err
129057	}
129058	for k, v := range m {
129059		switch k {
129060		case "storeSettings":
129061			if v != nil {
129062				var storeSettings StoreWriteSettings
129063				err = json.Unmarshal(*v, &storeSettings)
129064				if err != nil {
129065					return err
129066				}
129067				ps.StoreSettings = &storeSettings
129068			}
129069		default:
129070			if v != nil {
129071				var additionalProperties interface{}
129072				err = json.Unmarshal(*v, &additionalProperties)
129073				if err != nil {
129074					return err
129075				}
129076				if ps.AdditionalProperties == nil {
129077					ps.AdditionalProperties = make(map[string]interface{})
129078				}
129079				ps.AdditionalProperties[k] = additionalProperties
129080			}
129081		case "writeBatchSize":
129082			if v != nil {
129083				var writeBatchSize interface{}
129084				err = json.Unmarshal(*v, &writeBatchSize)
129085				if err != nil {
129086					return err
129087				}
129088				ps.WriteBatchSize = writeBatchSize
129089			}
129090		case "writeBatchTimeout":
129091			if v != nil {
129092				var writeBatchTimeout interface{}
129093				err = json.Unmarshal(*v, &writeBatchTimeout)
129094				if err != nil {
129095					return err
129096				}
129097				ps.WriteBatchTimeout = writeBatchTimeout
129098			}
129099		case "sinkRetryCount":
129100			if v != nil {
129101				var sinkRetryCount interface{}
129102				err = json.Unmarshal(*v, &sinkRetryCount)
129103				if err != nil {
129104					return err
129105				}
129106				ps.SinkRetryCount = sinkRetryCount
129107			}
129108		case "sinkRetryWait":
129109			if v != nil {
129110				var sinkRetryWait interface{}
129111				err = json.Unmarshal(*v, &sinkRetryWait)
129112				if err != nil {
129113					return err
129114				}
129115				ps.SinkRetryWait = sinkRetryWait
129116			}
129117		case "maxConcurrentConnections":
129118			if v != nil {
129119				var maxConcurrentConnections interface{}
129120				err = json.Unmarshal(*v, &maxConcurrentConnections)
129121				if err != nil {
129122					return err
129123				}
129124				ps.MaxConcurrentConnections = maxConcurrentConnections
129125			}
129126		case "type":
129127			if v != nil {
129128				var typeVar TypeBasicCopySink
129129				err = json.Unmarshal(*v, &typeVar)
129130				if err != nil {
129131					return err
129132				}
129133				ps.Type = typeVar
129134			}
129135		}
129136	}
129137
129138	return nil
129139}
129140
129141// ParquetSource a copy activity Parquet source.
129142type ParquetSource struct {
129143	// StoreSettings - Parquet store settings.
129144	StoreSettings *StoreReadSettings `json:"storeSettings,omitempty"`
129145	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
129146	AdditionalProperties map[string]interface{} `json:""`
129147	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
129148	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
129149	// 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])).
129150	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
129151	// MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer).
129152	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
129153	// Type - Possible values include: 'TypeCopySource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', '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', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeCassandraSource', 'TypeWebSource', 'TypeTeradataSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeAzureMySQLSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeRestSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceServiceCloudSource', 'TypeSalesforceSource', 'TypeODataSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeMicrosoftAccessSource', 'TypeInformixSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAzureTableSource', 'TypeBinarySource', 'TypeDelimitedTextSource', 'TypeParquetSource'
129154	Type TypeBasicCopySource `json:"type,omitempty"`
129155}
129156
129157// MarshalJSON is the custom marshaler for ParquetSource.
129158func (ps ParquetSource) MarshalJSON() ([]byte, error) {
129159	ps.Type = TypeParquetSource
129160	objectMap := make(map[string]interface{})
129161	if ps.StoreSettings != nil {
129162		objectMap["storeSettings"] = ps.StoreSettings
129163	}
129164	if ps.SourceRetryCount != nil {
129165		objectMap["sourceRetryCount"] = ps.SourceRetryCount
129166	}
129167	if ps.SourceRetryWait != nil {
129168		objectMap["sourceRetryWait"] = ps.SourceRetryWait
129169	}
129170	if ps.MaxConcurrentConnections != nil {
129171		objectMap["maxConcurrentConnections"] = ps.MaxConcurrentConnections
129172	}
129173	if ps.Type != "" {
129174		objectMap["type"] = ps.Type
129175	}
129176	for k, v := range ps.AdditionalProperties {
129177		objectMap[k] = v
129178	}
129179	return json.Marshal(objectMap)
129180}
129181
129182// AsAmazonRedshiftSource is the BasicCopySource implementation for ParquetSource.
129183func (ps ParquetSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
129184	return nil, false
129185}
129186
129187// AsGoogleAdWordsSource is the BasicCopySource implementation for ParquetSource.
129188func (ps ParquetSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) {
129189	return nil, false
129190}
129191
129192// AsOracleServiceCloudSource is the BasicCopySource implementation for ParquetSource.
129193func (ps ParquetSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) {
129194	return nil, false
129195}
129196
129197// AsDynamicsAXSource is the BasicCopySource implementation for ParquetSource.
129198func (ps ParquetSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) {
129199	return nil, false
129200}
129201
129202// AsResponsysSource is the BasicCopySource implementation for ParquetSource.
129203func (ps ParquetSource) AsResponsysSource() (*ResponsysSource, bool) {
129204	return nil, false
129205}
129206
129207// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for ParquetSource.
129208func (ps ParquetSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
129209	return nil, false
129210}
129211
129212// AsVerticaSource is the BasicCopySource implementation for ParquetSource.
129213func (ps ParquetSource) AsVerticaSource() (*VerticaSource, bool) {
129214	return nil, false
129215}
129216
129217// AsNetezzaSource is the BasicCopySource implementation for ParquetSource.
129218func (ps ParquetSource) AsNetezzaSource() (*NetezzaSource, bool) {
129219	return nil, false
129220}
129221
129222// AsZohoSource is the BasicCopySource implementation for ParquetSource.
129223func (ps ParquetSource) AsZohoSource() (*ZohoSource, bool) {
129224	return nil, false
129225}
129226
129227// AsXeroSource is the BasicCopySource implementation for ParquetSource.
129228func (ps ParquetSource) AsXeroSource() (*XeroSource, bool) {
129229	return nil, false
129230}
129231
129232// AsSquareSource is the BasicCopySource implementation for ParquetSource.
129233func (ps ParquetSource) AsSquareSource() (*SquareSource, bool) {
129234	return nil, false
129235}
129236
129237// AsSparkSource is the BasicCopySource implementation for ParquetSource.
129238func (ps ParquetSource) AsSparkSource() (*SparkSource, bool) {
129239	return nil, false
129240}
129241
129242// AsShopifySource is the BasicCopySource implementation for ParquetSource.
129243func (ps ParquetSource) AsShopifySource() (*ShopifySource, bool) {
129244	return nil, false
129245}
129246
129247// AsServiceNowSource is the BasicCopySource implementation for ParquetSource.
129248func (ps ParquetSource) AsServiceNowSource() (*ServiceNowSource, bool) {
129249	return nil, false
129250}
129251
129252// AsQuickBooksSource is the BasicCopySource implementation for ParquetSource.
129253func (ps ParquetSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
129254	return nil, false
129255}
129256
129257// AsPrestoSource is the BasicCopySource implementation for ParquetSource.
129258func (ps ParquetSource) AsPrestoSource() (*PrestoSource, bool) {
129259	return nil, false
129260}
129261
129262// AsPhoenixSource is the BasicCopySource implementation for ParquetSource.
129263func (ps ParquetSource) AsPhoenixSource() (*PhoenixSource, bool) {
129264	return nil, false
129265}
129266
129267// AsPaypalSource is the BasicCopySource implementation for ParquetSource.
129268func (ps ParquetSource) AsPaypalSource() (*PaypalSource, bool) {
129269	return nil, false
129270}
129271
129272// AsMarketoSource is the BasicCopySource implementation for ParquetSource.
129273func (ps ParquetSource) AsMarketoSource() (*MarketoSource, bool) {
129274	return nil, false
129275}
129276
129277// AsMariaDBSource is the BasicCopySource implementation for ParquetSource.
129278func (ps ParquetSource) AsMariaDBSource() (*MariaDBSource, bool) {
129279	return nil, false
129280}
129281
129282// AsMagentoSource is the BasicCopySource implementation for ParquetSource.
129283func (ps ParquetSource) AsMagentoSource() (*MagentoSource, bool) {
129284	return nil, false
129285}
129286
129287// AsJiraSource is the BasicCopySource implementation for ParquetSource.
129288func (ps ParquetSource) AsJiraSource() (*JiraSource, bool) {
129289	return nil, false
129290}
129291
129292// AsImpalaSource is the BasicCopySource implementation for ParquetSource.
129293func (ps ParquetSource) AsImpalaSource() (*ImpalaSource, bool) {
129294	return nil, false
129295}
129296
129297// AsHubspotSource is the BasicCopySource implementation for ParquetSource.
129298func (ps ParquetSource) AsHubspotSource() (*HubspotSource, bool) {
129299	return nil, false
129300}
129301
129302// AsHiveSource is the BasicCopySource implementation for ParquetSource.
129303func (ps ParquetSource) AsHiveSource() (*HiveSource, bool) {
129304	return nil, false
129305}
129306
129307// AsHBaseSource is the BasicCopySource implementation for ParquetSource.
129308func (ps ParquetSource) AsHBaseSource() (*HBaseSource, bool) {
129309	return nil, false
129310}
129311
129312// AsGreenplumSource is the BasicCopySource implementation for ParquetSource.
129313func (ps ParquetSource) AsGreenplumSource() (*GreenplumSource, bool) {
129314	return nil, false
129315}
129316
129317// AsGoogleBigQuerySource is the BasicCopySource implementation for ParquetSource.
129318func (ps ParquetSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
129319	return nil, false
129320}
129321
129322// AsEloquaSource is the BasicCopySource implementation for ParquetSource.
129323func (ps ParquetSource) AsEloquaSource() (*EloquaSource, bool) {
129324	return nil, false
129325}
129326
129327// AsDrillSource is the BasicCopySource implementation for ParquetSource.
129328func (ps ParquetSource) AsDrillSource() (*DrillSource, bool) {
129329	return nil, false
129330}
129331
129332// AsCouchbaseSource is the BasicCopySource implementation for ParquetSource.
129333func (ps ParquetSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
129334	return nil, false
129335}
129336
129337// AsConcurSource is the BasicCopySource implementation for ParquetSource.
129338func (ps ParquetSource) AsConcurSource() (*ConcurSource, bool) {
129339	return nil, false
129340}
129341
129342// AsAzurePostgreSQLSource is the BasicCopySource implementation for ParquetSource.
129343func (ps ParquetSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
129344	return nil, false
129345}
129346
129347// AsAmazonMWSSource is the BasicCopySource implementation for ParquetSource.
129348func (ps ParquetSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
129349	return nil, false
129350}
129351
129352// AsHTTPSource is the BasicCopySource implementation for ParquetSource.
129353func (ps ParquetSource) AsHTTPSource() (*HTTPSource, bool) {
129354	return nil, false
129355}
129356
129357// AsAzureBlobFSSource is the BasicCopySource implementation for ParquetSource.
129358func (ps ParquetSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) {
129359	return nil, false
129360}
129361
129362// AsAzureDataLakeStoreSource is the BasicCopySource implementation for ParquetSource.
129363func (ps ParquetSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
129364	return nil, false
129365}
129366
129367// AsOffice365Source is the BasicCopySource implementation for ParquetSource.
129368func (ps ParquetSource) AsOffice365Source() (*Office365Source, bool) {
129369	return nil, false
129370}
129371
129372// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for ParquetSource.
129373func (ps ParquetSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) {
129374	return nil, false
129375}
129376
129377// AsMongoDbV2Source is the BasicCopySource implementation for ParquetSource.
129378func (ps ParquetSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) {
129379	return nil, false
129380}
129381
129382// AsMongoDbSource is the BasicCopySource implementation for ParquetSource.
129383func (ps ParquetSource) AsMongoDbSource() (*MongoDbSource, bool) {
129384	return nil, false
129385}
129386
129387// AsCassandraSource is the BasicCopySource implementation for ParquetSource.
129388func (ps ParquetSource) AsCassandraSource() (*CassandraSource, bool) {
129389	return nil, false
129390}
129391
129392// AsWebSource is the BasicCopySource implementation for ParquetSource.
129393func (ps ParquetSource) AsWebSource() (*WebSource, bool) {
129394	return nil, false
129395}
129396
129397// AsTeradataSource is the BasicCopySource implementation for ParquetSource.
129398func (ps ParquetSource) AsTeradataSource() (*TeradataSource, bool) {
129399	return nil, false
129400}
129401
129402// AsOracleSource is the BasicCopySource implementation for ParquetSource.
129403func (ps ParquetSource) AsOracleSource() (*OracleSource, bool) {
129404	return nil, false
129405}
129406
129407// AsAzureDataExplorerSource is the BasicCopySource implementation for ParquetSource.
129408func (ps ParquetSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) {
129409	return nil, false
129410}
129411
129412// AsAzureMySQLSource is the BasicCopySource implementation for ParquetSource.
129413func (ps ParquetSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
129414	return nil, false
129415}
129416
129417// AsHdfsSource is the BasicCopySource implementation for ParquetSource.
129418func (ps ParquetSource) AsHdfsSource() (*HdfsSource, bool) {
129419	return nil, false
129420}
129421
129422// AsFileSystemSource is the BasicCopySource implementation for ParquetSource.
129423func (ps ParquetSource) AsFileSystemSource() (*FileSystemSource, bool) {
129424	return nil, false
129425}
129426
129427// AsSQLDWSource is the BasicCopySource implementation for ParquetSource.
129428func (ps ParquetSource) AsSQLDWSource() (*SQLDWSource, bool) {
129429	return nil, false
129430}
129431
129432// AsSQLMISource is the BasicCopySource implementation for ParquetSource.
129433func (ps ParquetSource) AsSQLMISource() (*SQLMISource, bool) {
129434	return nil, false
129435}
129436
129437// AsAzureSQLSource is the BasicCopySource implementation for ParquetSource.
129438func (ps ParquetSource) AsAzureSQLSource() (*AzureSQLSource, bool) {
129439	return nil, false
129440}
129441
129442// AsSQLServerSource is the BasicCopySource implementation for ParquetSource.
129443func (ps ParquetSource) AsSQLServerSource() (*SQLServerSource, bool) {
129444	return nil, false
129445}
129446
129447// AsSQLSource is the BasicCopySource implementation for ParquetSource.
129448func (ps ParquetSource) AsSQLSource() (*SQLSource, bool) {
129449	return nil, false
129450}
129451
129452// AsRestSource is the BasicCopySource implementation for ParquetSource.
129453func (ps ParquetSource) AsRestSource() (*RestSource, bool) {
129454	return nil, false
129455}
129456
129457// AsSapTableSource is the BasicCopySource implementation for ParquetSource.
129458func (ps ParquetSource) AsSapTableSource() (*SapTableSource, bool) {
129459	return nil, false
129460}
129461
129462// AsSapOpenHubSource is the BasicCopySource implementation for ParquetSource.
129463func (ps ParquetSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) {
129464	return nil, false
129465}
129466
129467// AsSapHanaSource is the BasicCopySource implementation for ParquetSource.
129468func (ps ParquetSource) AsSapHanaSource() (*SapHanaSource, bool) {
129469	return nil, false
129470}
129471
129472// AsSapEccSource is the BasicCopySource implementation for ParquetSource.
129473func (ps ParquetSource) AsSapEccSource() (*SapEccSource, bool) {
129474	return nil, false
129475}
129476
129477// AsSapCloudForCustomerSource is the BasicCopySource implementation for ParquetSource.
129478func (ps ParquetSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
129479	return nil, false
129480}
129481
129482// AsSalesforceServiceCloudSource is the BasicCopySource implementation for ParquetSource.
129483func (ps ParquetSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) {
129484	return nil, false
129485}
129486
129487// AsSalesforceSource is the BasicCopySource implementation for ParquetSource.
129488func (ps ParquetSource) AsSalesforceSource() (*SalesforceSource, bool) {
129489	return nil, false
129490}
129491
129492// AsODataSource is the BasicCopySource implementation for ParquetSource.
129493func (ps ParquetSource) AsODataSource() (*ODataSource, bool) {
129494	return nil, false
129495}
129496
129497// AsSybaseSource is the BasicCopySource implementation for ParquetSource.
129498func (ps ParquetSource) AsSybaseSource() (*SybaseSource, bool) {
129499	return nil, false
129500}
129501
129502// AsPostgreSQLSource is the BasicCopySource implementation for ParquetSource.
129503func (ps ParquetSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) {
129504	return nil, false
129505}
129506
129507// AsMySQLSource is the BasicCopySource implementation for ParquetSource.
129508func (ps ParquetSource) AsMySQLSource() (*MySQLSource, bool) {
129509	return nil, false
129510}
129511
129512// AsOdbcSource is the BasicCopySource implementation for ParquetSource.
129513func (ps ParquetSource) AsOdbcSource() (*OdbcSource, bool) {
129514	return nil, false
129515}
129516
129517// AsDb2Source is the BasicCopySource implementation for ParquetSource.
129518func (ps ParquetSource) AsDb2Source() (*Db2Source, bool) {
129519	return nil, false
129520}
129521
129522// AsMicrosoftAccessSource is the BasicCopySource implementation for ParquetSource.
129523func (ps ParquetSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) {
129524	return nil, false
129525}
129526
129527// AsInformixSource is the BasicCopySource implementation for ParquetSource.
129528func (ps ParquetSource) AsInformixSource() (*InformixSource, bool) {
129529	return nil, false
129530}
129531
129532// AsRelationalSource is the BasicCopySource implementation for ParquetSource.
129533func (ps ParquetSource) AsRelationalSource() (*RelationalSource, bool) {
129534	return nil, false
129535}
129536
129537// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for ParquetSource.
129538func (ps ParquetSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) {
129539	return nil, false
129540}
129541
129542// AsDynamicsCrmSource is the BasicCopySource implementation for ParquetSource.
129543func (ps ParquetSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) {
129544	return nil, false
129545}
129546
129547// AsDynamicsSource is the BasicCopySource implementation for ParquetSource.
129548func (ps ParquetSource) AsDynamicsSource() (*DynamicsSource, bool) {
129549	return nil, false
129550}
129551
129552// AsDocumentDbCollectionSource is the BasicCopySource implementation for ParquetSource.
129553func (ps ParquetSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
129554	return nil, false
129555}
129556
129557// AsBlobSource is the BasicCopySource implementation for ParquetSource.
129558func (ps ParquetSource) AsBlobSource() (*BlobSource, bool) {
129559	return nil, false
129560}
129561
129562// AsAzureTableSource is the BasicCopySource implementation for ParquetSource.
129563func (ps ParquetSource) AsAzureTableSource() (*AzureTableSource, bool) {
129564	return nil, false
129565}
129566
129567// AsBinarySource is the BasicCopySource implementation for ParquetSource.
129568func (ps ParquetSource) AsBinarySource() (*BinarySource, bool) {
129569	return nil, false
129570}
129571
129572// AsDelimitedTextSource is the BasicCopySource implementation for ParquetSource.
129573func (ps ParquetSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) {
129574	return nil, false
129575}
129576
129577// AsParquetSource is the BasicCopySource implementation for ParquetSource.
129578func (ps ParquetSource) AsParquetSource() (*ParquetSource, bool) {
129579	return &ps, true
129580}
129581
129582// AsCopySource is the BasicCopySource implementation for ParquetSource.
129583func (ps ParquetSource) AsCopySource() (*CopySource, bool) {
129584	return nil, false
129585}
129586
129587// AsBasicCopySource is the BasicCopySource implementation for ParquetSource.
129588func (ps ParquetSource) AsBasicCopySource() (BasicCopySource, bool) {
129589	return &ps, true
129590}
129591
129592// UnmarshalJSON is the custom unmarshaler for ParquetSource struct.
129593func (ps *ParquetSource) UnmarshalJSON(body []byte) error {
129594	var m map[string]*json.RawMessage
129595	err := json.Unmarshal(body, &m)
129596	if err != nil {
129597		return err
129598	}
129599	for k, v := range m {
129600		switch k {
129601		case "storeSettings":
129602			if v != nil {
129603				var storeSettings StoreReadSettings
129604				err = json.Unmarshal(*v, &storeSettings)
129605				if err != nil {
129606					return err
129607				}
129608				ps.StoreSettings = &storeSettings
129609			}
129610		default:
129611			if v != nil {
129612				var additionalProperties interface{}
129613				err = json.Unmarshal(*v, &additionalProperties)
129614				if err != nil {
129615					return err
129616				}
129617				if ps.AdditionalProperties == nil {
129618					ps.AdditionalProperties = make(map[string]interface{})
129619				}
129620				ps.AdditionalProperties[k] = additionalProperties
129621			}
129622		case "sourceRetryCount":
129623			if v != nil {
129624				var sourceRetryCount interface{}
129625				err = json.Unmarshal(*v, &sourceRetryCount)
129626				if err != nil {
129627					return err
129628				}
129629				ps.SourceRetryCount = sourceRetryCount
129630			}
129631		case "sourceRetryWait":
129632			if v != nil {
129633				var sourceRetryWait interface{}
129634				err = json.Unmarshal(*v, &sourceRetryWait)
129635				if err != nil {
129636					return err
129637				}
129638				ps.SourceRetryWait = sourceRetryWait
129639			}
129640		case "maxConcurrentConnections":
129641			if v != nil {
129642				var maxConcurrentConnections interface{}
129643				err = json.Unmarshal(*v, &maxConcurrentConnections)
129644				if err != nil {
129645					return err
129646				}
129647				ps.MaxConcurrentConnections = maxConcurrentConnections
129648			}
129649		case "type":
129650			if v != nil {
129651				var typeVar TypeBasicCopySource
129652				err = json.Unmarshal(*v, &typeVar)
129653				if err != nil {
129654					return err
129655				}
129656				ps.Type = typeVar
129657			}
129658		}
129659	}
129660
129661	return nil
129662}
129663
129664// PaypalLinkedService paypal Service linked service.
129665type PaypalLinkedService struct {
129666	// PaypalLinkedServiceTypeProperties - Paypal Service linked service properties.
129667	*PaypalLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
129668	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
129669	AdditionalProperties map[string]interface{} `json:""`
129670	// ConnectVia - The integration runtime reference.
129671	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
129672	// Description - Linked service description.
129673	Description *string `json:"description,omitempty"`
129674	// Parameters - Parameters for linked service.
129675	Parameters map[string]*ParameterSpecification `json:"parameters"`
129676	// Annotations - List of tags that can be used for describing the linked service.
129677	Annotations *[]interface{} `json:"annotations,omitempty"`
129678	// Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', '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', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage'
129679	Type TypeBasicLinkedService `json:"type,omitempty"`
129680}
129681
129682// MarshalJSON is the custom marshaler for PaypalLinkedService.
129683func (pls PaypalLinkedService) MarshalJSON() ([]byte, error) {
129684	pls.Type = TypePaypal
129685	objectMap := make(map[string]interface{})
129686	if pls.PaypalLinkedServiceTypeProperties != nil {
129687		objectMap["typeProperties"] = pls.PaypalLinkedServiceTypeProperties
129688	}
129689	if pls.ConnectVia != nil {
129690		objectMap["connectVia"] = pls.ConnectVia
129691	}
129692	if pls.Description != nil {
129693		objectMap["description"] = pls.Description
129694	}
129695	if pls.Parameters != nil {
129696		objectMap["parameters"] = pls.Parameters
129697	}
129698	if pls.Annotations != nil {
129699		objectMap["annotations"] = pls.Annotations
129700	}
129701	if pls.Type != "" {
129702		objectMap["type"] = pls.Type
129703	}
129704	for k, v := range pls.AdditionalProperties {
129705		objectMap[k] = v
129706	}
129707	return json.Marshal(objectMap)
129708}
129709
129710// AsAzureFunctionLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
129711func (pls PaypalLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) {
129712	return nil, false
129713}
129714
129715// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
129716func (pls PaypalLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) {
129717	return nil, false
129718}
129719
129720// AsSapTableLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
129721func (pls PaypalLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) {
129722	return nil, false
129723}
129724
129725// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
129726func (pls PaypalLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) {
129727	return nil, false
129728}
129729
129730// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
129731func (pls PaypalLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) {
129732	return nil, false
129733}
129734
129735// AsDynamicsAXLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
129736func (pls PaypalLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) {
129737	return nil, false
129738}
129739
129740// AsResponsysLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
129741func (pls PaypalLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
129742	return nil, false
129743}
129744
129745// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
129746func (pls PaypalLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
129747	return nil, false
129748}
129749
129750// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
129751func (pls PaypalLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
129752	return nil, false
129753}
129754
129755// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
129756func (pls PaypalLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
129757	return nil, false
129758}
129759
129760// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
129761func (pls PaypalLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
129762	return nil, false
129763}
129764
129765// AsNetezzaLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
129766func (pls PaypalLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
129767	return nil, false
129768}
129769
129770// AsVerticaLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
129771func (pls PaypalLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
129772	return nil, false
129773}
129774
129775// AsZohoLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
129776func (pls PaypalLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
129777	return nil, false
129778}
129779
129780// AsXeroLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
129781func (pls PaypalLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
129782	return nil, false
129783}
129784
129785// AsSquareLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
129786func (pls PaypalLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
129787	return nil, false
129788}
129789
129790// AsSparkLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
129791func (pls PaypalLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
129792	return nil, false
129793}
129794
129795// AsShopifyLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
129796func (pls PaypalLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
129797	return nil, false
129798}
129799
129800// AsServiceNowLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
129801func (pls PaypalLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
129802	return nil, false
129803}
129804
129805// AsQuickBooksLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
129806func (pls PaypalLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
129807	return nil, false
129808}
129809
129810// AsPrestoLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
129811func (pls PaypalLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
129812	return nil, false
129813}
129814
129815// AsPhoenixLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
129816func (pls PaypalLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
129817	return nil, false
129818}
129819
129820// AsPaypalLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
129821func (pls PaypalLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
129822	return &pls, true
129823}
129824
129825// AsMarketoLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
129826func (pls PaypalLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
129827	return nil, false
129828}
129829
129830// AsMariaDBLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
129831func (pls PaypalLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
129832	return nil, false
129833}
129834
129835// AsMagentoLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
129836func (pls PaypalLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
129837	return nil, false
129838}
129839
129840// AsJiraLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
129841func (pls PaypalLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
129842	return nil, false
129843}
129844
129845// AsImpalaLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
129846func (pls PaypalLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
129847	return nil, false
129848}
129849
129850// AsHubspotLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
129851func (pls PaypalLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
129852	return nil, false
129853}
129854
129855// AsHiveLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
129856func (pls PaypalLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
129857	return nil, false
129858}
129859
129860// AsHBaseLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
129861func (pls PaypalLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
129862	return nil, false
129863}
129864
129865// AsGreenplumLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
129866func (pls PaypalLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
129867	return nil, false
129868}
129869
129870// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
129871func (pls PaypalLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
129872	return nil, false
129873}
129874
129875// AsEloquaLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
129876func (pls PaypalLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
129877	return nil, false
129878}
129879
129880// AsDrillLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
129881func (pls PaypalLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
129882	return nil, false
129883}
129884
129885// AsCouchbaseLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
129886func (pls PaypalLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
129887	return nil, false
129888}
129889
129890// AsConcurLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
129891func (pls PaypalLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
129892	return nil, false
129893}
129894
129895// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
129896func (pls PaypalLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
129897	return nil, false
129898}
129899
129900// AsAmazonMWSLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
129901func (pls PaypalLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
129902	return nil, false
129903}
129904
129905// AsSapHanaLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
129906func (pls PaypalLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
129907	return nil, false
129908}
129909
129910// AsSapBWLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
129911func (pls PaypalLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
129912	return nil, false
129913}
129914
129915// AsSftpServerLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
129916func (pls PaypalLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
129917	return nil, false
129918}
129919
129920// AsFtpServerLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
129921func (pls PaypalLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
129922	return nil, false
129923}
129924
129925// AsHTTPLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
129926func (pls PaypalLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
129927	return nil, false
129928}
129929
129930// AsAzureSearchLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
129931func (pls PaypalLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
129932	return nil, false
129933}
129934
129935// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
129936func (pls PaypalLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
129937	return nil, false
129938}
129939
129940// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
129941func (pls PaypalLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
129942	return nil, false
129943}
129944
129945// AsAmazonS3LinkedService is the BasicLinkedService implementation for PaypalLinkedService.
129946func (pls PaypalLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
129947	return nil, false
129948}
129949
129950// AsRestServiceLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
129951func (pls PaypalLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) {
129952	return nil, false
129953}
129954
129955// AsSapOpenHubLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
129956func (pls PaypalLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) {
129957	return nil, false
129958}
129959
129960// AsSapEccLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
129961func (pls PaypalLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
129962	return nil, false
129963}
129964
129965// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
129966func (pls PaypalLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
129967	return nil, false
129968}
129969
129970// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
129971func (pls PaypalLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) {
129972	return nil, false
129973}
129974
129975// AsSalesforceLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
129976func (pls PaypalLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
129977	return nil, false
129978}
129979
129980// AsOffice365LinkedService is the BasicLinkedService implementation for PaypalLinkedService.
129981func (pls PaypalLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) {
129982	return nil, false
129983}
129984
129985// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
129986func (pls PaypalLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) {
129987	return nil, false
129988}
129989
129990// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
129991func (pls PaypalLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
129992	return nil, false
129993}
129994
129995// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for PaypalLinkedService.
129996func (pls PaypalLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) {
129997	return nil, false
129998}
129999
130000// AsMongoDbV2LinkedService is the BasicLinkedService implementation for PaypalLinkedService.
130001func (pls PaypalLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) {
130002	return nil, false
130003}
130004
130005// AsMongoDbLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
130006func (pls PaypalLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
130007	return nil, false
130008}
130009
130010// AsCassandraLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
130011func (pls PaypalLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
130012	return nil, false
130013}
130014
130015// AsWebLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
130016func (pls PaypalLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
130017	return nil, false
130018}
130019
130020// AsODataLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
130021func (pls PaypalLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
130022	return nil, false
130023}
130024
130025// AsHdfsLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
130026func (pls PaypalLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
130027	return nil, false
130028}
130029
130030// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
130031func (pls PaypalLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) {
130032	return nil, false
130033}
130034
130035// AsInformixLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
130036func (pls PaypalLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) {
130037	return nil, false
130038}
130039
130040// AsOdbcLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
130041func (pls PaypalLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
130042	return nil, false
130043}
130044
130045// AsAzureMLLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
130046func (pls PaypalLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
130047	return nil, false
130048}
130049
130050// AsTeradataLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
130051func (pls PaypalLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
130052	return nil, false
130053}
130054
130055// AsDb2LinkedService is the BasicLinkedService implementation for PaypalLinkedService.
130056func (pls PaypalLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
130057	return nil, false
130058}
130059
130060// AsSybaseLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
130061func (pls PaypalLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
130062	return nil, false
130063}
130064
130065// AsPostgreSQLLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
130066func (pls PaypalLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
130067	return nil, false
130068}
130069
130070// AsMySQLLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
130071func (pls PaypalLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
130072	return nil, false
130073}
130074
130075// AsAzureMySQLLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
130076func (pls PaypalLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
130077	return nil, false
130078}
130079
130080// AsOracleLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
130081func (pls PaypalLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
130082	return nil, false
130083}
130084
130085// AsFileServerLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
130086func (pls PaypalLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
130087	return nil, false
130088}
130089
130090// AsHDInsightLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
130091func (pls PaypalLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
130092	return nil, false
130093}
130094
130095// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
130096func (pls PaypalLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) {
130097	return nil, false
130098}
130099
130100// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
130101func (pls PaypalLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) {
130102	return nil, false
130103}
130104
130105// AsDynamicsLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
130106func (pls PaypalLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
130107	return nil, false
130108}
130109
130110// AsCosmosDbLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
130111func (pls PaypalLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
130112	return nil, false
130113}
130114
130115// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
130116func (pls PaypalLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
130117	return nil, false
130118}
130119
130120// AsAzureBatchLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
130121func (pls PaypalLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
130122	return nil, false
130123}
130124
130125// AsAzureSQLMILinkedService is the BasicLinkedService implementation for PaypalLinkedService.
130126func (pls PaypalLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) {
130127	return nil, false
130128}
130129
130130// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
130131func (pls PaypalLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
130132	return nil, false
130133}
130134
130135// AsSQLServerLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
130136func (pls PaypalLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
130137	return nil, false
130138}
130139
130140// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
130141func (pls PaypalLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
130142	return nil, false
130143}
130144
130145// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
130146func (pls PaypalLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) {
130147	return nil, false
130148}
130149
130150// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
130151func (pls PaypalLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) {
130152	return nil, false
130153}
130154
130155// AsAzureStorageLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
130156func (pls PaypalLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
130157	return nil, false
130158}
130159
130160// AsLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
130161func (pls PaypalLinkedService) AsLinkedService() (*LinkedService, bool) {
130162	return nil, false
130163}
130164
130165// AsBasicLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
130166func (pls PaypalLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
130167	return &pls, true
130168}
130169
130170// UnmarshalJSON is the custom unmarshaler for PaypalLinkedService struct.
130171func (pls *PaypalLinkedService) UnmarshalJSON(body []byte) error {
130172	var m map[string]*json.RawMessage
130173	err := json.Unmarshal(body, &m)
130174	if err != nil {
130175		return err
130176	}
130177	for k, v := range m {
130178		switch k {
130179		case "typeProperties":
130180			if v != nil {
130181				var paypalLinkedServiceTypeProperties PaypalLinkedServiceTypeProperties
130182				err = json.Unmarshal(*v, &paypalLinkedServiceTypeProperties)
130183				if err != nil {
130184					return err
130185				}
130186				pls.PaypalLinkedServiceTypeProperties = &paypalLinkedServiceTypeProperties
130187			}
130188		default:
130189			if v != nil {
130190				var additionalProperties interface{}
130191				err = json.Unmarshal(*v, &additionalProperties)
130192				if err != nil {
130193					return err
130194				}
130195				if pls.AdditionalProperties == nil {
130196					pls.AdditionalProperties = make(map[string]interface{})
130197				}
130198				pls.AdditionalProperties[k] = additionalProperties
130199			}
130200		case "connectVia":
130201			if v != nil {
130202				var connectVia IntegrationRuntimeReference
130203				err = json.Unmarshal(*v, &connectVia)
130204				if err != nil {
130205					return err
130206				}
130207				pls.ConnectVia = &connectVia
130208			}
130209		case "description":
130210			if v != nil {
130211				var description string
130212				err = json.Unmarshal(*v, &description)
130213				if err != nil {
130214					return err
130215				}
130216				pls.Description = &description
130217			}
130218		case "parameters":
130219			if v != nil {
130220				var parameters map[string]*ParameterSpecification
130221				err = json.Unmarshal(*v, &parameters)
130222				if err != nil {
130223					return err
130224				}
130225				pls.Parameters = parameters
130226			}
130227		case "annotations":
130228			if v != nil {
130229				var annotations []interface{}
130230				err = json.Unmarshal(*v, &annotations)
130231				if err != nil {
130232					return err
130233				}
130234				pls.Annotations = &annotations
130235			}
130236		case "type":
130237			if v != nil {
130238				var typeVar TypeBasicLinkedService
130239				err = json.Unmarshal(*v, &typeVar)
130240				if err != nil {
130241					return err
130242				}
130243				pls.Type = typeVar
130244			}
130245		}
130246	}
130247
130248	return nil
130249}
130250
130251// PaypalLinkedServiceTypeProperties paypal Service linked service properties.
130252type PaypalLinkedServiceTypeProperties struct {
130253	// Host - The URL of the PayPal instance. (i.e. api.sandbox.paypal.com)
130254	Host interface{} `json:"host,omitempty"`
130255	// ClientID - The client ID associated with your PayPal application.
130256	ClientID interface{} `json:"clientId,omitempty"`
130257	// ClientSecret - The client secret associated with your PayPal application.
130258	ClientSecret BasicSecretBase `json:"clientSecret,omitempty"`
130259	// UseEncryptedEndpoints - Specifies whether the data source endpoints are encrypted using HTTPS. The default value is true.
130260	UseEncryptedEndpoints interface{} `json:"useEncryptedEndpoints,omitempty"`
130261	// 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.
130262	UseHostVerification interface{} `json:"useHostVerification,omitempty"`
130263	// UsePeerVerification - Specifies whether to verify the identity of the server when connecting over SSL. The default value is true.
130264	UsePeerVerification interface{} `json:"usePeerVerification,omitempty"`
130265	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
130266	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
130267}
130268
130269// UnmarshalJSON is the custom unmarshaler for PaypalLinkedServiceTypeProperties struct.
130270func (plstp *PaypalLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
130271	var m map[string]*json.RawMessage
130272	err := json.Unmarshal(body, &m)
130273	if err != nil {
130274		return err
130275	}
130276	for k, v := range m {
130277		switch k {
130278		case "host":
130279			if v != nil {
130280				var host interface{}
130281				err = json.Unmarshal(*v, &host)
130282				if err != nil {
130283					return err
130284				}
130285				plstp.Host = host
130286			}
130287		case "clientId":
130288			if v != nil {
130289				var clientID interface{}
130290				err = json.Unmarshal(*v, &clientID)
130291				if err != nil {
130292					return err
130293				}
130294				plstp.ClientID = clientID
130295			}
130296		case "clientSecret":
130297			if v != nil {
130298				clientSecret, err := unmarshalBasicSecretBase(*v)
130299				if err != nil {
130300					return err
130301				}
130302				plstp.ClientSecret = clientSecret
130303			}
130304		case "useEncryptedEndpoints":
130305			if v != nil {
130306				var useEncryptedEndpoints interface{}
130307				err = json.Unmarshal(*v, &useEncryptedEndpoints)
130308				if err != nil {
130309					return err
130310				}
130311				plstp.UseEncryptedEndpoints = useEncryptedEndpoints
130312			}
130313		case "useHostVerification":
130314			if v != nil {
130315				var useHostVerification interface{}
130316				err = json.Unmarshal(*v, &useHostVerification)
130317				if err != nil {
130318					return err
130319				}
130320				plstp.UseHostVerification = useHostVerification
130321			}
130322		case "usePeerVerification":
130323			if v != nil {
130324				var usePeerVerification interface{}
130325				err = json.Unmarshal(*v, &usePeerVerification)
130326				if err != nil {
130327					return err
130328				}
130329				plstp.UsePeerVerification = usePeerVerification
130330			}
130331		case "encryptedCredential":
130332			if v != nil {
130333				var encryptedCredential interface{}
130334				err = json.Unmarshal(*v, &encryptedCredential)
130335				if err != nil {
130336					return err
130337				}
130338				plstp.EncryptedCredential = encryptedCredential
130339			}
130340		}
130341	}
130342
130343	return nil
130344}
130345
130346// PaypalObjectDataset paypal Service dataset.
130347type PaypalObjectDataset struct {
130348	// GenericDatasetTypeProperties - Properties specific to this dataset type.
130349	*GenericDatasetTypeProperties `json:"typeProperties,omitempty"`
130350	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
130351	AdditionalProperties map[string]interface{} `json:""`
130352	// Description - Dataset description.
130353	Description *string `json:"description,omitempty"`
130354	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
130355	Structure interface{} `json:"structure,omitempty"`
130356	// Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement.
130357	Schema interface{} `json:"schema,omitempty"`
130358	// LinkedServiceName - Linked service reference.
130359	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
130360	// Parameters - Parameters for dataset.
130361	Parameters map[string]*ParameterSpecification `json:"parameters"`
130362	// Annotations - List of tags that can be used for describing the Dataset.
130363	Annotations *[]interface{} `json:"annotations,omitempty"`
130364	// Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level.
130365	Folder *DatasetFolder `json:"folder,omitempty"`
130366	// Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', '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', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeDelimitedText', 'TypeParquet', 'TypeAmazonS3Object'
130367	Type TypeBasicDataset `json:"type,omitempty"`
130368}
130369
130370// MarshalJSON is the custom marshaler for PaypalObjectDataset.
130371func (pod PaypalObjectDataset) MarshalJSON() ([]byte, error) {
130372	pod.Type = TypePaypalObject
130373	objectMap := make(map[string]interface{})
130374	if pod.GenericDatasetTypeProperties != nil {
130375		objectMap["typeProperties"] = pod.GenericDatasetTypeProperties
130376	}
130377	if pod.Description != nil {
130378		objectMap["description"] = pod.Description
130379	}
130380	if pod.Structure != nil {
130381		objectMap["structure"] = pod.Structure
130382	}
130383	if pod.Schema != nil {
130384		objectMap["schema"] = pod.Schema
130385	}
130386	if pod.LinkedServiceName != nil {
130387		objectMap["linkedServiceName"] = pod.LinkedServiceName
130388	}
130389	if pod.Parameters != nil {
130390		objectMap["parameters"] = pod.Parameters
130391	}
130392	if pod.Annotations != nil {
130393		objectMap["annotations"] = pod.Annotations
130394	}
130395	if pod.Folder != nil {
130396		objectMap["folder"] = pod.Folder
130397	}
130398	if pod.Type != "" {
130399		objectMap["type"] = pod.Type
130400	}
130401	for k, v := range pod.AdditionalProperties {
130402		objectMap[k] = v
130403	}
130404	return json.Marshal(objectMap)
130405}
130406
130407// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for PaypalObjectDataset.
130408func (pod PaypalObjectDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) {
130409	return nil, false
130410}
130411
130412// AsAzureDataExplorerTableDataset is the BasicDataset implementation for PaypalObjectDataset.
130413func (pod PaypalObjectDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) {
130414	return nil, false
130415}
130416
130417// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for PaypalObjectDataset.
130418func (pod PaypalObjectDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) {
130419	return nil, false
130420}
130421
130422// AsDynamicsAXResourceDataset is the BasicDataset implementation for PaypalObjectDataset.
130423func (pod PaypalObjectDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) {
130424	return nil, false
130425}
130426
130427// AsResponsysObjectDataset is the BasicDataset implementation for PaypalObjectDataset.
130428func (pod PaypalObjectDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
130429	return nil, false
130430}
130431
130432// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for PaypalObjectDataset.
130433func (pod PaypalObjectDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
130434	return nil, false
130435}
130436
130437// AsVerticaTableDataset is the BasicDataset implementation for PaypalObjectDataset.
130438func (pod PaypalObjectDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
130439	return nil, false
130440}
130441
130442// AsNetezzaTableDataset is the BasicDataset implementation for PaypalObjectDataset.
130443func (pod PaypalObjectDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
130444	return nil, false
130445}
130446
130447// AsZohoObjectDataset is the BasicDataset implementation for PaypalObjectDataset.
130448func (pod PaypalObjectDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
130449	return nil, false
130450}
130451
130452// AsXeroObjectDataset is the BasicDataset implementation for PaypalObjectDataset.
130453func (pod PaypalObjectDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
130454	return nil, false
130455}
130456
130457// AsSquareObjectDataset is the BasicDataset implementation for PaypalObjectDataset.
130458func (pod PaypalObjectDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
130459	return nil, false
130460}
130461
130462// AsSparkObjectDataset is the BasicDataset implementation for PaypalObjectDataset.
130463func (pod PaypalObjectDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
130464	return nil, false
130465}
130466
130467// AsShopifyObjectDataset is the BasicDataset implementation for PaypalObjectDataset.
130468func (pod PaypalObjectDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
130469	return nil, false
130470}
130471
130472// AsServiceNowObjectDataset is the BasicDataset implementation for PaypalObjectDataset.
130473func (pod PaypalObjectDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
130474	return nil, false
130475}
130476
130477// AsQuickBooksObjectDataset is the BasicDataset implementation for PaypalObjectDataset.
130478func (pod PaypalObjectDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
130479	return nil, false
130480}
130481
130482// AsPrestoObjectDataset is the BasicDataset implementation for PaypalObjectDataset.
130483func (pod PaypalObjectDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
130484	return nil, false
130485}
130486
130487// AsPhoenixObjectDataset is the BasicDataset implementation for PaypalObjectDataset.
130488func (pod PaypalObjectDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
130489	return nil, false
130490}
130491
130492// AsPaypalObjectDataset is the BasicDataset implementation for PaypalObjectDataset.
130493func (pod PaypalObjectDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
130494	return &pod, true
130495}
130496
130497// AsMarketoObjectDataset is the BasicDataset implementation for PaypalObjectDataset.
130498func (pod PaypalObjectDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
130499	return nil, false
130500}
130501
130502// AsMariaDBTableDataset is the BasicDataset implementation for PaypalObjectDataset.
130503func (pod PaypalObjectDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
130504	return nil, false
130505}
130506
130507// AsMagentoObjectDataset is the BasicDataset implementation for PaypalObjectDataset.
130508func (pod PaypalObjectDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
130509	return nil, false
130510}
130511
130512// AsJiraObjectDataset is the BasicDataset implementation for PaypalObjectDataset.
130513func (pod PaypalObjectDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
130514	return nil, false
130515}
130516
130517// AsImpalaObjectDataset is the BasicDataset implementation for PaypalObjectDataset.
130518func (pod PaypalObjectDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
130519	return nil, false
130520}
130521
130522// AsHubspotObjectDataset is the BasicDataset implementation for PaypalObjectDataset.
130523func (pod PaypalObjectDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
130524	return nil, false
130525}
130526
130527// AsHiveObjectDataset is the BasicDataset implementation for PaypalObjectDataset.
130528func (pod PaypalObjectDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
130529	return nil, false
130530}
130531
130532// AsHBaseObjectDataset is the BasicDataset implementation for PaypalObjectDataset.
130533func (pod PaypalObjectDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
130534	return nil, false
130535}
130536
130537// AsGreenplumTableDataset is the BasicDataset implementation for PaypalObjectDataset.
130538func (pod PaypalObjectDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
130539	return nil, false
130540}
130541
130542// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for PaypalObjectDataset.
130543func (pod PaypalObjectDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
130544	return nil, false
130545}
130546
130547// AsEloquaObjectDataset is the BasicDataset implementation for PaypalObjectDataset.
130548func (pod PaypalObjectDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
130549	return nil, false
130550}
130551
130552// AsDrillTableDataset is the BasicDataset implementation for PaypalObjectDataset.
130553func (pod PaypalObjectDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
130554	return nil, false
130555}
130556
130557// AsCouchbaseTableDataset is the BasicDataset implementation for PaypalObjectDataset.
130558func (pod PaypalObjectDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
130559	return nil, false
130560}
130561
130562// AsConcurObjectDataset is the BasicDataset implementation for PaypalObjectDataset.
130563func (pod PaypalObjectDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
130564	return nil, false
130565}
130566
130567// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for PaypalObjectDataset.
130568func (pod PaypalObjectDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
130569	return nil, false
130570}
130571
130572// AsAmazonMWSObjectDataset is the BasicDataset implementation for PaypalObjectDataset.
130573func (pod PaypalObjectDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
130574	return nil, false
130575}
130576
130577// AsHTTPDataset is the BasicDataset implementation for PaypalObjectDataset.
130578func (pod PaypalObjectDataset) AsHTTPDataset() (*HTTPDataset, bool) {
130579	return nil, false
130580}
130581
130582// AsAzureSearchIndexDataset is the BasicDataset implementation for PaypalObjectDataset.
130583func (pod PaypalObjectDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
130584	return nil, false
130585}
130586
130587// AsWebTableDataset is the BasicDataset implementation for PaypalObjectDataset.
130588func (pod PaypalObjectDataset) AsWebTableDataset() (*WebTableDataset, bool) {
130589	return nil, false
130590}
130591
130592// AsSapTableResourceDataset is the BasicDataset implementation for PaypalObjectDataset.
130593func (pod PaypalObjectDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) {
130594	return nil, false
130595}
130596
130597// AsRestResourceDataset is the BasicDataset implementation for PaypalObjectDataset.
130598func (pod PaypalObjectDataset) AsRestResourceDataset() (*RestResourceDataset, bool) {
130599	return nil, false
130600}
130601
130602// AsSQLServerTableDataset is the BasicDataset implementation for PaypalObjectDataset.
130603func (pod PaypalObjectDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
130604	return nil, false
130605}
130606
130607// AsSapOpenHubTableDataset is the BasicDataset implementation for PaypalObjectDataset.
130608func (pod PaypalObjectDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) {
130609	return nil, false
130610}
130611
130612// AsSapHanaTableDataset is the BasicDataset implementation for PaypalObjectDataset.
130613func (pod PaypalObjectDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) {
130614	return nil, false
130615}
130616
130617// AsSapEccResourceDataset is the BasicDataset implementation for PaypalObjectDataset.
130618func (pod PaypalObjectDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
130619	return nil, false
130620}
130621
130622// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for PaypalObjectDataset.
130623func (pod PaypalObjectDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
130624	return nil, false
130625}
130626
130627// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for PaypalObjectDataset.
130628func (pod PaypalObjectDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) {
130629	return nil, false
130630}
130631
130632// AsSalesforceObjectDataset is the BasicDataset implementation for PaypalObjectDataset.
130633func (pod PaypalObjectDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
130634	return nil, false
130635}
130636
130637// AsMicrosoftAccessTableDataset is the BasicDataset implementation for PaypalObjectDataset.
130638func (pod PaypalObjectDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) {
130639	return nil, false
130640}
130641
130642// AsPostgreSQLTableDataset is the BasicDataset implementation for PaypalObjectDataset.
130643func (pod PaypalObjectDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) {
130644	return nil, false
130645}
130646
130647// AsMySQLTableDataset is the BasicDataset implementation for PaypalObjectDataset.
130648func (pod PaypalObjectDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) {
130649	return nil, false
130650}
130651
130652// AsOdbcTableDataset is the BasicDataset implementation for PaypalObjectDataset.
130653func (pod PaypalObjectDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) {
130654	return nil, false
130655}
130656
130657// AsInformixTableDataset is the BasicDataset implementation for PaypalObjectDataset.
130658func (pod PaypalObjectDataset) AsInformixTableDataset() (*InformixTableDataset, bool) {
130659	return nil, false
130660}
130661
130662// AsRelationalTableDataset is the BasicDataset implementation for PaypalObjectDataset.
130663func (pod PaypalObjectDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
130664	return nil, false
130665}
130666
130667// AsAzureMySQLTableDataset is the BasicDataset implementation for PaypalObjectDataset.
130668func (pod PaypalObjectDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
130669	return nil, false
130670}
130671
130672// AsTeradataTableDataset is the BasicDataset implementation for PaypalObjectDataset.
130673func (pod PaypalObjectDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) {
130674	return nil, false
130675}
130676
130677// AsOracleTableDataset is the BasicDataset implementation for PaypalObjectDataset.
130678func (pod PaypalObjectDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
130679	return nil, false
130680}
130681
130682// AsODataResourceDataset is the BasicDataset implementation for PaypalObjectDataset.
130683func (pod PaypalObjectDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
130684	return nil, false
130685}
130686
130687// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for PaypalObjectDataset.
130688func (pod PaypalObjectDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) {
130689	return nil, false
130690}
130691
130692// AsMongoDbV2CollectionDataset is the BasicDataset implementation for PaypalObjectDataset.
130693func (pod PaypalObjectDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) {
130694	return nil, false
130695}
130696
130697// AsMongoDbCollectionDataset is the BasicDataset implementation for PaypalObjectDataset.
130698func (pod PaypalObjectDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
130699	return nil, false
130700}
130701
130702// AsFileShareDataset is the BasicDataset implementation for PaypalObjectDataset.
130703func (pod PaypalObjectDataset) AsFileShareDataset() (*FileShareDataset, bool) {
130704	return nil, false
130705}
130706
130707// AsOffice365Dataset is the BasicDataset implementation for PaypalObjectDataset.
130708func (pod PaypalObjectDataset) AsOffice365Dataset() (*Office365Dataset, bool) {
130709	return nil, false
130710}
130711
130712// AsAzureBlobFSDataset is the BasicDataset implementation for PaypalObjectDataset.
130713func (pod PaypalObjectDataset) AsAzureBlobFSDataset() (*AzureBlobFSDataset, bool) {
130714	return nil, false
130715}
130716
130717// AsAzureDataLakeStoreDataset is the BasicDataset implementation for PaypalObjectDataset.
130718func (pod PaypalObjectDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) {
130719	return nil, false
130720}
130721
130722// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for PaypalObjectDataset.
130723func (pod PaypalObjectDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) {
130724	return nil, false
130725}
130726
130727// AsDynamicsCrmEntityDataset is the BasicDataset implementation for PaypalObjectDataset.
130728func (pod PaypalObjectDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) {
130729	return nil, false
130730}
130731
130732// AsDynamicsEntityDataset is the BasicDataset implementation for PaypalObjectDataset.
130733func (pod PaypalObjectDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
130734	return nil, false
130735}
130736
130737// AsDocumentDbCollectionDataset is the BasicDataset implementation for PaypalObjectDataset.
130738func (pod PaypalObjectDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
130739	return nil, false
130740}
130741
130742// AsCustomDataset is the BasicDataset implementation for PaypalObjectDataset.
130743func (pod PaypalObjectDataset) AsCustomDataset() (*CustomDataset, bool) {
130744	return nil, false
130745}
130746
130747// AsCassandraTableDataset is the BasicDataset implementation for PaypalObjectDataset.
130748func (pod PaypalObjectDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
130749	return nil, false
130750}
130751
130752// AsAzureSQLDWTableDataset is the BasicDataset implementation for PaypalObjectDataset.
130753func (pod PaypalObjectDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
130754	return nil, false
130755}
130756
130757// AsAzureSQLMITableDataset is the BasicDataset implementation for PaypalObjectDataset.
130758func (pod PaypalObjectDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) {
130759	return nil, false
130760}
130761
130762// AsAzureSQLTableDataset is the BasicDataset implementation for PaypalObjectDataset.
130763func (pod PaypalObjectDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
130764	return nil, false
130765}
130766
130767// AsAzureTableDataset is the BasicDataset implementation for PaypalObjectDataset.
130768func (pod PaypalObjectDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
130769	return nil, false
130770}
130771
130772// AsAzureBlobDataset is the BasicDataset implementation for PaypalObjectDataset.
130773func (pod PaypalObjectDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) {
130774	return nil, false
130775}
130776
130777// AsBinaryDataset is the BasicDataset implementation for PaypalObjectDataset.
130778func (pod PaypalObjectDataset) AsBinaryDataset() (*BinaryDataset, bool) {
130779	return nil, false
130780}
130781
130782// AsDelimitedTextDataset is the BasicDataset implementation for PaypalObjectDataset.
130783func (pod PaypalObjectDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) {
130784	return nil, false
130785}
130786
130787// AsParquetDataset is the BasicDataset implementation for PaypalObjectDataset.
130788func (pod PaypalObjectDataset) AsParquetDataset() (*ParquetDataset, bool) {
130789	return nil, false
130790}
130791
130792// AsAmazonS3Dataset is the BasicDataset implementation for PaypalObjectDataset.
130793func (pod PaypalObjectDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) {
130794	return nil, false
130795}
130796
130797// AsDataset is the BasicDataset implementation for PaypalObjectDataset.
130798func (pod PaypalObjectDataset) AsDataset() (*Dataset, bool) {
130799	return nil, false
130800}
130801
130802// AsBasicDataset is the BasicDataset implementation for PaypalObjectDataset.
130803func (pod PaypalObjectDataset) AsBasicDataset() (BasicDataset, bool) {
130804	return &pod, true
130805}
130806
130807// UnmarshalJSON is the custom unmarshaler for PaypalObjectDataset struct.
130808func (pod *PaypalObjectDataset) UnmarshalJSON(body []byte) error {
130809	var m map[string]*json.RawMessage
130810	err := json.Unmarshal(body, &m)
130811	if err != nil {
130812		return err
130813	}
130814	for k, v := range m {
130815		switch k {
130816		case "typeProperties":
130817			if v != nil {
130818				var genericDatasetTypeProperties GenericDatasetTypeProperties
130819				err = json.Unmarshal(*v, &genericDatasetTypeProperties)
130820				if err != nil {
130821					return err
130822				}
130823				pod.GenericDatasetTypeProperties = &genericDatasetTypeProperties
130824			}
130825		default:
130826			if v != nil {
130827				var additionalProperties interface{}
130828				err = json.Unmarshal(*v, &additionalProperties)
130829				if err != nil {
130830					return err
130831				}
130832				if pod.AdditionalProperties == nil {
130833					pod.AdditionalProperties = make(map[string]interface{})
130834				}
130835				pod.AdditionalProperties[k] = additionalProperties
130836			}
130837		case "description":
130838			if v != nil {
130839				var description string
130840				err = json.Unmarshal(*v, &description)
130841				if err != nil {
130842					return err
130843				}
130844				pod.Description = &description
130845			}
130846		case "structure":
130847			if v != nil {
130848				var structure interface{}
130849				err = json.Unmarshal(*v, &structure)
130850				if err != nil {
130851					return err
130852				}
130853				pod.Structure = structure
130854			}
130855		case "schema":
130856			if v != nil {
130857				var schema interface{}
130858				err = json.Unmarshal(*v, &schema)
130859				if err != nil {
130860					return err
130861				}
130862				pod.Schema = schema
130863			}
130864		case "linkedServiceName":
130865			if v != nil {
130866				var linkedServiceName LinkedServiceReference
130867				err = json.Unmarshal(*v, &linkedServiceName)
130868				if err != nil {
130869					return err
130870				}
130871				pod.LinkedServiceName = &linkedServiceName
130872			}
130873		case "parameters":
130874			if v != nil {
130875				var parameters map[string]*ParameterSpecification
130876				err = json.Unmarshal(*v, &parameters)
130877				if err != nil {
130878					return err
130879				}
130880				pod.Parameters = parameters
130881			}
130882		case "annotations":
130883			if v != nil {
130884				var annotations []interface{}
130885				err = json.Unmarshal(*v, &annotations)
130886				if err != nil {
130887					return err
130888				}
130889				pod.Annotations = &annotations
130890			}
130891		case "folder":
130892			if v != nil {
130893				var folder DatasetFolder
130894				err = json.Unmarshal(*v, &folder)
130895				if err != nil {
130896					return err
130897				}
130898				pod.Folder = &folder
130899			}
130900		case "type":
130901			if v != nil {
130902				var typeVar TypeBasicDataset
130903				err = json.Unmarshal(*v, &typeVar)
130904				if err != nil {
130905					return err
130906				}
130907				pod.Type = typeVar
130908			}
130909		}
130910	}
130911
130912	return nil
130913}
130914
130915// PaypalSource a copy activity Paypal Service source.
130916type PaypalSource struct {
130917	// Query - A query to retrieve data from source. Type: string (or Expression with resultType string).
130918	Query interface{} `json:"query,omitempty"`
130919	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
130920	AdditionalProperties map[string]interface{} `json:""`
130921	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
130922	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
130923	// 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])).
130924	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
130925	// MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer).
130926	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
130927	// Type - Possible values include: 'TypeCopySource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', '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', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeCassandraSource', 'TypeWebSource', 'TypeTeradataSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeAzureMySQLSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeRestSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceServiceCloudSource', 'TypeSalesforceSource', 'TypeODataSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeMicrosoftAccessSource', 'TypeInformixSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAzureTableSource', 'TypeBinarySource', 'TypeDelimitedTextSource', 'TypeParquetSource'
130928	Type TypeBasicCopySource `json:"type,omitempty"`
130929}
130930
130931// MarshalJSON is the custom marshaler for PaypalSource.
130932func (ps PaypalSource) MarshalJSON() ([]byte, error) {
130933	ps.Type = TypePaypalSource
130934	objectMap := make(map[string]interface{})
130935	if ps.Query != nil {
130936		objectMap["query"] = ps.Query
130937	}
130938	if ps.SourceRetryCount != nil {
130939		objectMap["sourceRetryCount"] = ps.SourceRetryCount
130940	}
130941	if ps.SourceRetryWait != nil {
130942		objectMap["sourceRetryWait"] = ps.SourceRetryWait
130943	}
130944	if ps.MaxConcurrentConnections != nil {
130945		objectMap["maxConcurrentConnections"] = ps.MaxConcurrentConnections
130946	}
130947	if ps.Type != "" {
130948		objectMap["type"] = ps.Type
130949	}
130950	for k, v := range ps.AdditionalProperties {
130951		objectMap[k] = v
130952	}
130953	return json.Marshal(objectMap)
130954}
130955
130956// AsAmazonRedshiftSource is the BasicCopySource implementation for PaypalSource.
130957func (ps PaypalSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
130958	return nil, false
130959}
130960
130961// AsGoogleAdWordsSource is the BasicCopySource implementation for PaypalSource.
130962func (ps PaypalSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) {
130963	return nil, false
130964}
130965
130966// AsOracleServiceCloudSource is the BasicCopySource implementation for PaypalSource.
130967func (ps PaypalSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) {
130968	return nil, false
130969}
130970
130971// AsDynamicsAXSource is the BasicCopySource implementation for PaypalSource.
130972func (ps PaypalSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) {
130973	return nil, false
130974}
130975
130976// AsResponsysSource is the BasicCopySource implementation for PaypalSource.
130977func (ps PaypalSource) AsResponsysSource() (*ResponsysSource, bool) {
130978	return nil, false
130979}
130980
130981// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for PaypalSource.
130982func (ps PaypalSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
130983	return nil, false
130984}
130985
130986// AsVerticaSource is the BasicCopySource implementation for PaypalSource.
130987func (ps PaypalSource) AsVerticaSource() (*VerticaSource, bool) {
130988	return nil, false
130989}
130990
130991// AsNetezzaSource is the BasicCopySource implementation for PaypalSource.
130992func (ps PaypalSource) AsNetezzaSource() (*NetezzaSource, bool) {
130993	return nil, false
130994}
130995
130996// AsZohoSource is the BasicCopySource implementation for PaypalSource.
130997func (ps PaypalSource) AsZohoSource() (*ZohoSource, bool) {
130998	return nil, false
130999}
131000
131001// AsXeroSource is the BasicCopySource implementation for PaypalSource.
131002func (ps PaypalSource) AsXeroSource() (*XeroSource, bool) {
131003	return nil, false
131004}
131005
131006// AsSquareSource is the BasicCopySource implementation for PaypalSource.
131007func (ps PaypalSource) AsSquareSource() (*SquareSource, bool) {
131008	return nil, false
131009}
131010
131011// AsSparkSource is the BasicCopySource implementation for PaypalSource.
131012func (ps PaypalSource) AsSparkSource() (*SparkSource, bool) {
131013	return nil, false
131014}
131015
131016// AsShopifySource is the BasicCopySource implementation for PaypalSource.
131017func (ps PaypalSource) AsShopifySource() (*ShopifySource, bool) {
131018	return nil, false
131019}
131020
131021// AsServiceNowSource is the BasicCopySource implementation for PaypalSource.
131022func (ps PaypalSource) AsServiceNowSource() (*ServiceNowSource, bool) {
131023	return nil, false
131024}
131025
131026// AsQuickBooksSource is the BasicCopySource implementation for PaypalSource.
131027func (ps PaypalSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
131028	return nil, false
131029}
131030
131031// AsPrestoSource is the BasicCopySource implementation for PaypalSource.
131032func (ps PaypalSource) AsPrestoSource() (*PrestoSource, bool) {
131033	return nil, false
131034}
131035
131036// AsPhoenixSource is the BasicCopySource implementation for PaypalSource.
131037func (ps PaypalSource) AsPhoenixSource() (*PhoenixSource, bool) {
131038	return nil, false
131039}
131040
131041// AsPaypalSource is the BasicCopySource implementation for PaypalSource.
131042func (ps PaypalSource) AsPaypalSource() (*PaypalSource, bool) {
131043	return &ps, true
131044}
131045
131046// AsMarketoSource is the BasicCopySource implementation for PaypalSource.
131047func (ps PaypalSource) AsMarketoSource() (*MarketoSource, bool) {
131048	return nil, false
131049}
131050
131051// AsMariaDBSource is the BasicCopySource implementation for PaypalSource.
131052func (ps PaypalSource) AsMariaDBSource() (*MariaDBSource, bool) {
131053	return nil, false
131054}
131055
131056// AsMagentoSource is the BasicCopySource implementation for PaypalSource.
131057func (ps PaypalSource) AsMagentoSource() (*MagentoSource, bool) {
131058	return nil, false
131059}
131060
131061// AsJiraSource is the BasicCopySource implementation for PaypalSource.
131062func (ps PaypalSource) AsJiraSource() (*JiraSource, bool) {
131063	return nil, false
131064}
131065
131066// AsImpalaSource is the BasicCopySource implementation for PaypalSource.
131067func (ps PaypalSource) AsImpalaSource() (*ImpalaSource, bool) {
131068	return nil, false
131069}
131070
131071// AsHubspotSource is the BasicCopySource implementation for PaypalSource.
131072func (ps PaypalSource) AsHubspotSource() (*HubspotSource, bool) {
131073	return nil, false
131074}
131075
131076// AsHiveSource is the BasicCopySource implementation for PaypalSource.
131077func (ps PaypalSource) AsHiveSource() (*HiveSource, bool) {
131078	return nil, false
131079}
131080
131081// AsHBaseSource is the BasicCopySource implementation for PaypalSource.
131082func (ps PaypalSource) AsHBaseSource() (*HBaseSource, bool) {
131083	return nil, false
131084}
131085
131086// AsGreenplumSource is the BasicCopySource implementation for PaypalSource.
131087func (ps PaypalSource) AsGreenplumSource() (*GreenplumSource, bool) {
131088	return nil, false
131089}
131090
131091// AsGoogleBigQuerySource is the BasicCopySource implementation for PaypalSource.
131092func (ps PaypalSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
131093	return nil, false
131094}
131095
131096// AsEloquaSource is the BasicCopySource implementation for PaypalSource.
131097func (ps PaypalSource) AsEloquaSource() (*EloquaSource, bool) {
131098	return nil, false
131099}
131100
131101// AsDrillSource is the BasicCopySource implementation for PaypalSource.
131102func (ps PaypalSource) AsDrillSource() (*DrillSource, bool) {
131103	return nil, false
131104}
131105
131106// AsCouchbaseSource is the BasicCopySource implementation for PaypalSource.
131107func (ps PaypalSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
131108	return nil, false
131109}
131110
131111// AsConcurSource is the BasicCopySource implementation for PaypalSource.
131112func (ps PaypalSource) AsConcurSource() (*ConcurSource, bool) {
131113	return nil, false
131114}
131115
131116// AsAzurePostgreSQLSource is the BasicCopySource implementation for PaypalSource.
131117func (ps PaypalSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
131118	return nil, false
131119}
131120
131121// AsAmazonMWSSource is the BasicCopySource implementation for PaypalSource.
131122func (ps PaypalSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
131123	return nil, false
131124}
131125
131126// AsHTTPSource is the BasicCopySource implementation for PaypalSource.
131127func (ps PaypalSource) AsHTTPSource() (*HTTPSource, bool) {
131128	return nil, false
131129}
131130
131131// AsAzureBlobFSSource is the BasicCopySource implementation for PaypalSource.
131132func (ps PaypalSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) {
131133	return nil, false
131134}
131135
131136// AsAzureDataLakeStoreSource is the BasicCopySource implementation for PaypalSource.
131137func (ps PaypalSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
131138	return nil, false
131139}
131140
131141// AsOffice365Source is the BasicCopySource implementation for PaypalSource.
131142func (ps PaypalSource) AsOffice365Source() (*Office365Source, bool) {
131143	return nil, false
131144}
131145
131146// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for PaypalSource.
131147func (ps PaypalSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) {
131148	return nil, false
131149}
131150
131151// AsMongoDbV2Source is the BasicCopySource implementation for PaypalSource.
131152func (ps PaypalSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) {
131153	return nil, false
131154}
131155
131156// AsMongoDbSource is the BasicCopySource implementation for PaypalSource.
131157func (ps PaypalSource) AsMongoDbSource() (*MongoDbSource, bool) {
131158	return nil, false
131159}
131160
131161// AsCassandraSource is the BasicCopySource implementation for PaypalSource.
131162func (ps PaypalSource) AsCassandraSource() (*CassandraSource, bool) {
131163	return nil, false
131164}
131165
131166// AsWebSource is the BasicCopySource implementation for PaypalSource.
131167func (ps PaypalSource) AsWebSource() (*WebSource, bool) {
131168	return nil, false
131169}
131170
131171// AsTeradataSource is the BasicCopySource implementation for PaypalSource.
131172func (ps PaypalSource) AsTeradataSource() (*TeradataSource, bool) {
131173	return nil, false
131174}
131175
131176// AsOracleSource is the BasicCopySource implementation for PaypalSource.
131177func (ps PaypalSource) AsOracleSource() (*OracleSource, bool) {
131178	return nil, false
131179}
131180
131181// AsAzureDataExplorerSource is the BasicCopySource implementation for PaypalSource.
131182func (ps PaypalSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) {
131183	return nil, false
131184}
131185
131186// AsAzureMySQLSource is the BasicCopySource implementation for PaypalSource.
131187func (ps PaypalSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
131188	return nil, false
131189}
131190
131191// AsHdfsSource is the BasicCopySource implementation for PaypalSource.
131192func (ps PaypalSource) AsHdfsSource() (*HdfsSource, bool) {
131193	return nil, false
131194}
131195
131196// AsFileSystemSource is the BasicCopySource implementation for PaypalSource.
131197func (ps PaypalSource) AsFileSystemSource() (*FileSystemSource, bool) {
131198	return nil, false
131199}
131200
131201// AsSQLDWSource is the BasicCopySource implementation for PaypalSource.
131202func (ps PaypalSource) AsSQLDWSource() (*SQLDWSource, bool) {
131203	return nil, false
131204}
131205
131206// AsSQLMISource is the BasicCopySource implementation for PaypalSource.
131207func (ps PaypalSource) AsSQLMISource() (*SQLMISource, bool) {
131208	return nil, false
131209}
131210
131211// AsAzureSQLSource is the BasicCopySource implementation for PaypalSource.
131212func (ps PaypalSource) AsAzureSQLSource() (*AzureSQLSource, bool) {
131213	return nil, false
131214}
131215
131216// AsSQLServerSource is the BasicCopySource implementation for PaypalSource.
131217func (ps PaypalSource) AsSQLServerSource() (*SQLServerSource, bool) {
131218	return nil, false
131219}
131220
131221// AsSQLSource is the BasicCopySource implementation for PaypalSource.
131222func (ps PaypalSource) AsSQLSource() (*SQLSource, bool) {
131223	return nil, false
131224}
131225
131226// AsRestSource is the BasicCopySource implementation for PaypalSource.
131227func (ps PaypalSource) AsRestSource() (*RestSource, bool) {
131228	return nil, false
131229}
131230
131231// AsSapTableSource is the BasicCopySource implementation for PaypalSource.
131232func (ps PaypalSource) AsSapTableSource() (*SapTableSource, bool) {
131233	return nil, false
131234}
131235
131236// AsSapOpenHubSource is the BasicCopySource implementation for PaypalSource.
131237func (ps PaypalSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) {
131238	return nil, false
131239}
131240
131241// AsSapHanaSource is the BasicCopySource implementation for PaypalSource.
131242func (ps PaypalSource) AsSapHanaSource() (*SapHanaSource, bool) {
131243	return nil, false
131244}
131245
131246// AsSapEccSource is the BasicCopySource implementation for PaypalSource.
131247func (ps PaypalSource) AsSapEccSource() (*SapEccSource, bool) {
131248	return nil, false
131249}
131250
131251// AsSapCloudForCustomerSource is the BasicCopySource implementation for PaypalSource.
131252func (ps PaypalSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
131253	return nil, false
131254}
131255
131256// AsSalesforceServiceCloudSource is the BasicCopySource implementation for PaypalSource.
131257func (ps PaypalSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) {
131258	return nil, false
131259}
131260
131261// AsSalesforceSource is the BasicCopySource implementation for PaypalSource.
131262func (ps PaypalSource) AsSalesforceSource() (*SalesforceSource, bool) {
131263	return nil, false
131264}
131265
131266// AsODataSource is the BasicCopySource implementation for PaypalSource.
131267func (ps PaypalSource) AsODataSource() (*ODataSource, bool) {
131268	return nil, false
131269}
131270
131271// AsSybaseSource is the BasicCopySource implementation for PaypalSource.
131272func (ps PaypalSource) AsSybaseSource() (*SybaseSource, bool) {
131273	return nil, false
131274}
131275
131276// AsPostgreSQLSource is the BasicCopySource implementation for PaypalSource.
131277func (ps PaypalSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) {
131278	return nil, false
131279}
131280
131281// AsMySQLSource is the BasicCopySource implementation for PaypalSource.
131282func (ps PaypalSource) AsMySQLSource() (*MySQLSource, bool) {
131283	return nil, false
131284}
131285
131286// AsOdbcSource is the BasicCopySource implementation for PaypalSource.
131287func (ps PaypalSource) AsOdbcSource() (*OdbcSource, bool) {
131288	return nil, false
131289}
131290
131291// AsDb2Source is the BasicCopySource implementation for PaypalSource.
131292func (ps PaypalSource) AsDb2Source() (*Db2Source, bool) {
131293	return nil, false
131294}
131295
131296// AsMicrosoftAccessSource is the BasicCopySource implementation for PaypalSource.
131297func (ps PaypalSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) {
131298	return nil, false
131299}
131300
131301// AsInformixSource is the BasicCopySource implementation for PaypalSource.
131302func (ps PaypalSource) AsInformixSource() (*InformixSource, bool) {
131303	return nil, false
131304}
131305
131306// AsRelationalSource is the BasicCopySource implementation for PaypalSource.
131307func (ps PaypalSource) AsRelationalSource() (*RelationalSource, bool) {
131308	return nil, false
131309}
131310
131311// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for PaypalSource.
131312func (ps PaypalSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) {
131313	return nil, false
131314}
131315
131316// AsDynamicsCrmSource is the BasicCopySource implementation for PaypalSource.
131317func (ps PaypalSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) {
131318	return nil, false
131319}
131320
131321// AsDynamicsSource is the BasicCopySource implementation for PaypalSource.
131322func (ps PaypalSource) AsDynamicsSource() (*DynamicsSource, bool) {
131323	return nil, false
131324}
131325
131326// AsDocumentDbCollectionSource is the BasicCopySource implementation for PaypalSource.
131327func (ps PaypalSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
131328	return nil, false
131329}
131330
131331// AsBlobSource is the BasicCopySource implementation for PaypalSource.
131332func (ps PaypalSource) AsBlobSource() (*BlobSource, bool) {
131333	return nil, false
131334}
131335
131336// AsAzureTableSource is the BasicCopySource implementation for PaypalSource.
131337func (ps PaypalSource) AsAzureTableSource() (*AzureTableSource, bool) {
131338	return nil, false
131339}
131340
131341// AsBinarySource is the BasicCopySource implementation for PaypalSource.
131342func (ps PaypalSource) AsBinarySource() (*BinarySource, bool) {
131343	return nil, false
131344}
131345
131346// AsDelimitedTextSource is the BasicCopySource implementation for PaypalSource.
131347func (ps PaypalSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) {
131348	return nil, false
131349}
131350
131351// AsParquetSource is the BasicCopySource implementation for PaypalSource.
131352func (ps PaypalSource) AsParquetSource() (*ParquetSource, bool) {
131353	return nil, false
131354}
131355
131356// AsCopySource is the BasicCopySource implementation for PaypalSource.
131357func (ps PaypalSource) AsCopySource() (*CopySource, bool) {
131358	return nil, false
131359}
131360
131361// AsBasicCopySource is the BasicCopySource implementation for PaypalSource.
131362func (ps PaypalSource) AsBasicCopySource() (BasicCopySource, bool) {
131363	return &ps, true
131364}
131365
131366// UnmarshalJSON is the custom unmarshaler for PaypalSource struct.
131367func (ps *PaypalSource) UnmarshalJSON(body []byte) error {
131368	var m map[string]*json.RawMessage
131369	err := json.Unmarshal(body, &m)
131370	if err != nil {
131371		return err
131372	}
131373	for k, v := range m {
131374		switch k {
131375		case "query":
131376			if v != nil {
131377				var query interface{}
131378				err = json.Unmarshal(*v, &query)
131379				if err != nil {
131380					return err
131381				}
131382				ps.Query = query
131383			}
131384		default:
131385			if v != nil {
131386				var additionalProperties interface{}
131387				err = json.Unmarshal(*v, &additionalProperties)
131388				if err != nil {
131389					return err
131390				}
131391				if ps.AdditionalProperties == nil {
131392					ps.AdditionalProperties = make(map[string]interface{})
131393				}
131394				ps.AdditionalProperties[k] = additionalProperties
131395			}
131396		case "sourceRetryCount":
131397			if v != nil {
131398				var sourceRetryCount interface{}
131399				err = json.Unmarshal(*v, &sourceRetryCount)
131400				if err != nil {
131401					return err
131402				}
131403				ps.SourceRetryCount = sourceRetryCount
131404			}
131405		case "sourceRetryWait":
131406			if v != nil {
131407				var sourceRetryWait interface{}
131408				err = json.Unmarshal(*v, &sourceRetryWait)
131409				if err != nil {
131410					return err
131411				}
131412				ps.SourceRetryWait = sourceRetryWait
131413			}
131414		case "maxConcurrentConnections":
131415			if v != nil {
131416				var maxConcurrentConnections interface{}
131417				err = json.Unmarshal(*v, &maxConcurrentConnections)
131418				if err != nil {
131419					return err
131420				}
131421				ps.MaxConcurrentConnections = maxConcurrentConnections
131422			}
131423		case "type":
131424			if v != nil {
131425				var typeVar TypeBasicCopySource
131426				err = json.Unmarshal(*v, &typeVar)
131427				if err != nil {
131428					return err
131429				}
131430				ps.Type = typeVar
131431			}
131432		}
131433	}
131434
131435	return nil
131436}
131437
131438// PhoenixLinkedService phoenix server linked service.
131439type PhoenixLinkedService struct {
131440	// PhoenixLinkedServiceTypeProperties - Phoenix server linked service properties.
131441	*PhoenixLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
131442	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
131443	AdditionalProperties map[string]interface{} `json:""`
131444	// ConnectVia - The integration runtime reference.
131445	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
131446	// Description - Linked service description.
131447	Description *string `json:"description,omitempty"`
131448	// Parameters - Parameters for linked service.
131449	Parameters map[string]*ParameterSpecification `json:"parameters"`
131450	// Annotations - List of tags that can be used for describing the linked service.
131451	Annotations *[]interface{} `json:"annotations,omitempty"`
131452	// Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', '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', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage'
131453	Type TypeBasicLinkedService `json:"type,omitempty"`
131454}
131455
131456// MarshalJSON is the custom marshaler for PhoenixLinkedService.
131457func (pls PhoenixLinkedService) MarshalJSON() ([]byte, error) {
131458	pls.Type = TypePhoenix
131459	objectMap := make(map[string]interface{})
131460	if pls.PhoenixLinkedServiceTypeProperties != nil {
131461		objectMap["typeProperties"] = pls.PhoenixLinkedServiceTypeProperties
131462	}
131463	if pls.ConnectVia != nil {
131464		objectMap["connectVia"] = pls.ConnectVia
131465	}
131466	if pls.Description != nil {
131467		objectMap["description"] = pls.Description
131468	}
131469	if pls.Parameters != nil {
131470		objectMap["parameters"] = pls.Parameters
131471	}
131472	if pls.Annotations != nil {
131473		objectMap["annotations"] = pls.Annotations
131474	}
131475	if pls.Type != "" {
131476		objectMap["type"] = pls.Type
131477	}
131478	for k, v := range pls.AdditionalProperties {
131479		objectMap[k] = v
131480	}
131481	return json.Marshal(objectMap)
131482}
131483
131484// AsAzureFunctionLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
131485func (pls PhoenixLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) {
131486	return nil, false
131487}
131488
131489// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
131490func (pls PhoenixLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) {
131491	return nil, false
131492}
131493
131494// AsSapTableLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
131495func (pls PhoenixLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) {
131496	return nil, false
131497}
131498
131499// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
131500func (pls PhoenixLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) {
131501	return nil, false
131502}
131503
131504// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
131505func (pls PhoenixLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) {
131506	return nil, false
131507}
131508
131509// AsDynamicsAXLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
131510func (pls PhoenixLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) {
131511	return nil, false
131512}
131513
131514// AsResponsysLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
131515func (pls PhoenixLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
131516	return nil, false
131517}
131518
131519// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
131520func (pls PhoenixLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
131521	return nil, false
131522}
131523
131524// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
131525func (pls PhoenixLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
131526	return nil, false
131527}
131528
131529// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
131530func (pls PhoenixLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
131531	return nil, false
131532}
131533
131534// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
131535func (pls PhoenixLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
131536	return nil, false
131537}
131538
131539// AsNetezzaLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
131540func (pls PhoenixLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
131541	return nil, false
131542}
131543
131544// AsVerticaLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
131545func (pls PhoenixLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
131546	return nil, false
131547}
131548
131549// AsZohoLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
131550func (pls PhoenixLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
131551	return nil, false
131552}
131553
131554// AsXeroLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
131555func (pls PhoenixLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
131556	return nil, false
131557}
131558
131559// AsSquareLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
131560func (pls PhoenixLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
131561	return nil, false
131562}
131563
131564// AsSparkLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
131565func (pls PhoenixLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
131566	return nil, false
131567}
131568
131569// AsShopifyLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
131570func (pls PhoenixLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
131571	return nil, false
131572}
131573
131574// AsServiceNowLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
131575func (pls PhoenixLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
131576	return nil, false
131577}
131578
131579// AsQuickBooksLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
131580func (pls PhoenixLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
131581	return nil, false
131582}
131583
131584// AsPrestoLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
131585func (pls PhoenixLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
131586	return nil, false
131587}
131588
131589// AsPhoenixLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
131590func (pls PhoenixLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
131591	return &pls, true
131592}
131593
131594// AsPaypalLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
131595func (pls PhoenixLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
131596	return nil, false
131597}
131598
131599// AsMarketoLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
131600func (pls PhoenixLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
131601	return nil, false
131602}
131603
131604// AsMariaDBLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
131605func (pls PhoenixLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
131606	return nil, false
131607}
131608
131609// AsMagentoLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
131610func (pls PhoenixLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
131611	return nil, false
131612}
131613
131614// AsJiraLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
131615func (pls PhoenixLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
131616	return nil, false
131617}
131618
131619// AsImpalaLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
131620func (pls PhoenixLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
131621	return nil, false
131622}
131623
131624// AsHubspotLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
131625func (pls PhoenixLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
131626	return nil, false
131627}
131628
131629// AsHiveLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
131630func (pls PhoenixLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
131631	return nil, false
131632}
131633
131634// AsHBaseLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
131635func (pls PhoenixLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
131636	return nil, false
131637}
131638
131639// AsGreenplumLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
131640func (pls PhoenixLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
131641	return nil, false
131642}
131643
131644// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
131645func (pls PhoenixLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
131646	return nil, false
131647}
131648
131649// AsEloquaLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
131650func (pls PhoenixLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
131651	return nil, false
131652}
131653
131654// AsDrillLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
131655func (pls PhoenixLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
131656	return nil, false
131657}
131658
131659// AsCouchbaseLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
131660func (pls PhoenixLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
131661	return nil, false
131662}
131663
131664// AsConcurLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
131665func (pls PhoenixLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
131666	return nil, false
131667}
131668
131669// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
131670func (pls PhoenixLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
131671	return nil, false
131672}
131673
131674// AsAmazonMWSLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
131675func (pls PhoenixLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
131676	return nil, false
131677}
131678
131679// AsSapHanaLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
131680func (pls PhoenixLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
131681	return nil, false
131682}
131683
131684// AsSapBWLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
131685func (pls PhoenixLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
131686	return nil, false
131687}
131688
131689// AsSftpServerLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
131690func (pls PhoenixLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
131691	return nil, false
131692}
131693
131694// AsFtpServerLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
131695func (pls PhoenixLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
131696	return nil, false
131697}
131698
131699// AsHTTPLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
131700func (pls PhoenixLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
131701	return nil, false
131702}
131703
131704// AsAzureSearchLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
131705func (pls PhoenixLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
131706	return nil, false
131707}
131708
131709// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
131710func (pls PhoenixLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
131711	return nil, false
131712}
131713
131714// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
131715func (pls PhoenixLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
131716	return nil, false
131717}
131718
131719// AsAmazonS3LinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
131720func (pls PhoenixLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
131721	return nil, false
131722}
131723
131724// AsRestServiceLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
131725func (pls PhoenixLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) {
131726	return nil, false
131727}
131728
131729// AsSapOpenHubLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
131730func (pls PhoenixLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) {
131731	return nil, false
131732}
131733
131734// AsSapEccLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
131735func (pls PhoenixLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
131736	return nil, false
131737}
131738
131739// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
131740func (pls PhoenixLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
131741	return nil, false
131742}
131743
131744// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
131745func (pls PhoenixLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) {
131746	return nil, false
131747}
131748
131749// AsSalesforceLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
131750func (pls PhoenixLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
131751	return nil, false
131752}
131753
131754// AsOffice365LinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
131755func (pls PhoenixLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) {
131756	return nil, false
131757}
131758
131759// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
131760func (pls PhoenixLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) {
131761	return nil, false
131762}
131763
131764// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
131765func (pls PhoenixLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
131766	return nil, false
131767}
131768
131769// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
131770func (pls PhoenixLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) {
131771	return nil, false
131772}
131773
131774// AsMongoDbV2LinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
131775func (pls PhoenixLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) {
131776	return nil, false
131777}
131778
131779// AsMongoDbLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
131780func (pls PhoenixLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
131781	return nil, false
131782}
131783
131784// AsCassandraLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
131785func (pls PhoenixLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
131786	return nil, false
131787}
131788
131789// AsWebLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
131790func (pls PhoenixLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
131791	return nil, false
131792}
131793
131794// AsODataLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
131795func (pls PhoenixLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
131796	return nil, false
131797}
131798
131799// AsHdfsLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
131800func (pls PhoenixLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
131801	return nil, false
131802}
131803
131804// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
131805func (pls PhoenixLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) {
131806	return nil, false
131807}
131808
131809// AsInformixLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
131810func (pls PhoenixLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) {
131811	return nil, false
131812}
131813
131814// AsOdbcLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
131815func (pls PhoenixLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
131816	return nil, false
131817}
131818
131819// AsAzureMLLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
131820func (pls PhoenixLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
131821	return nil, false
131822}
131823
131824// AsTeradataLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
131825func (pls PhoenixLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
131826	return nil, false
131827}
131828
131829// AsDb2LinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
131830func (pls PhoenixLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
131831	return nil, false
131832}
131833
131834// AsSybaseLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
131835func (pls PhoenixLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
131836	return nil, false
131837}
131838
131839// AsPostgreSQLLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
131840func (pls PhoenixLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
131841	return nil, false
131842}
131843
131844// AsMySQLLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
131845func (pls PhoenixLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
131846	return nil, false
131847}
131848
131849// AsAzureMySQLLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
131850func (pls PhoenixLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
131851	return nil, false
131852}
131853
131854// AsOracleLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
131855func (pls PhoenixLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
131856	return nil, false
131857}
131858
131859// AsFileServerLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
131860func (pls PhoenixLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
131861	return nil, false
131862}
131863
131864// AsHDInsightLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
131865func (pls PhoenixLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
131866	return nil, false
131867}
131868
131869// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
131870func (pls PhoenixLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) {
131871	return nil, false
131872}
131873
131874// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
131875func (pls PhoenixLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) {
131876	return nil, false
131877}
131878
131879// AsDynamicsLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
131880func (pls PhoenixLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
131881	return nil, false
131882}
131883
131884// AsCosmosDbLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
131885func (pls PhoenixLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
131886	return nil, false
131887}
131888
131889// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
131890func (pls PhoenixLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
131891	return nil, false
131892}
131893
131894// AsAzureBatchLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
131895func (pls PhoenixLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
131896	return nil, false
131897}
131898
131899// AsAzureSQLMILinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
131900func (pls PhoenixLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) {
131901	return nil, false
131902}
131903
131904// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
131905func (pls PhoenixLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
131906	return nil, false
131907}
131908
131909// AsSQLServerLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
131910func (pls PhoenixLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
131911	return nil, false
131912}
131913
131914// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
131915func (pls PhoenixLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
131916	return nil, false
131917}
131918
131919// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
131920func (pls PhoenixLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) {
131921	return nil, false
131922}
131923
131924// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
131925func (pls PhoenixLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) {
131926	return nil, false
131927}
131928
131929// AsAzureStorageLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
131930func (pls PhoenixLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
131931	return nil, false
131932}
131933
131934// AsLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
131935func (pls PhoenixLinkedService) AsLinkedService() (*LinkedService, bool) {
131936	return nil, false
131937}
131938
131939// AsBasicLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
131940func (pls PhoenixLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
131941	return &pls, true
131942}
131943
131944// UnmarshalJSON is the custom unmarshaler for PhoenixLinkedService struct.
131945func (pls *PhoenixLinkedService) UnmarshalJSON(body []byte) error {
131946	var m map[string]*json.RawMessage
131947	err := json.Unmarshal(body, &m)
131948	if err != nil {
131949		return err
131950	}
131951	for k, v := range m {
131952		switch k {
131953		case "typeProperties":
131954			if v != nil {
131955				var phoenixLinkedServiceTypeProperties PhoenixLinkedServiceTypeProperties
131956				err = json.Unmarshal(*v, &phoenixLinkedServiceTypeProperties)
131957				if err != nil {
131958					return err
131959				}
131960				pls.PhoenixLinkedServiceTypeProperties = &phoenixLinkedServiceTypeProperties
131961			}
131962		default:
131963			if v != nil {
131964				var additionalProperties interface{}
131965				err = json.Unmarshal(*v, &additionalProperties)
131966				if err != nil {
131967					return err
131968				}
131969				if pls.AdditionalProperties == nil {
131970					pls.AdditionalProperties = make(map[string]interface{})
131971				}
131972				pls.AdditionalProperties[k] = additionalProperties
131973			}
131974		case "connectVia":
131975			if v != nil {
131976				var connectVia IntegrationRuntimeReference
131977				err = json.Unmarshal(*v, &connectVia)
131978				if err != nil {
131979					return err
131980				}
131981				pls.ConnectVia = &connectVia
131982			}
131983		case "description":
131984			if v != nil {
131985				var description string
131986				err = json.Unmarshal(*v, &description)
131987				if err != nil {
131988					return err
131989				}
131990				pls.Description = &description
131991			}
131992		case "parameters":
131993			if v != nil {
131994				var parameters map[string]*ParameterSpecification
131995				err = json.Unmarshal(*v, &parameters)
131996				if err != nil {
131997					return err
131998				}
131999				pls.Parameters = parameters
132000			}
132001		case "annotations":
132002			if v != nil {
132003				var annotations []interface{}
132004				err = json.Unmarshal(*v, &annotations)
132005				if err != nil {
132006					return err
132007				}
132008				pls.Annotations = &annotations
132009			}
132010		case "type":
132011			if v != nil {
132012				var typeVar TypeBasicLinkedService
132013				err = json.Unmarshal(*v, &typeVar)
132014				if err != nil {
132015					return err
132016				}
132017				pls.Type = typeVar
132018			}
132019		}
132020	}
132021
132022	return nil
132023}
132024
132025// PhoenixLinkedServiceTypeProperties phoenix server linked service properties.
132026type PhoenixLinkedServiceTypeProperties struct {
132027	// Host - The IP address or host name of the Phoenix server. (i.e. 192.168.222.160)
132028	Host interface{} `json:"host,omitempty"`
132029	// Port - The TCP port that the Phoenix server uses to listen for client connections. The default value is 8765.
132030	Port interface{} `json:"port,omitempty"`
132031	// HTTPPath - The partial URL corresponding to the Phoenix server. (i.e. /gateway/sandbox/phoenix/version). The default value is hbasephoenix if using WindowsAzureHDInsightService.
132032	HTTPPath interface{} `json:"httpPath,omitempty"`
132033	// AuthenticationType - The authentication mechanism used to connect to the Phoenix server. Possible values include: 'PhoenixAuthenticationTypeAnonymous', 'PhoenixAuthenticationTypeUsernameAndPassword', 'PhoenixAuthenticationTypeWindowsAzureHDInsightService'
132034	AuthenticationType PhoenixAuthenticationType `json:"authenticationType,omitempty"`
132035	// Username - The user name used to connect to the Phoenix server.
132036	Username interface{} `json:"username,omitempty"`
132037	// Password - The password corresponding to the user name.
132038	Password BasicSecretBase `json:"password,omitempty"`
132039	// EnableSsl - Specifies whether the connections to the server are encrypted using SSL. The default value is false.
132040	EnableSsl interface{} `json:"enableSsl,omitempty"`
132041	// 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.
132042	TrustedCertPath interface{} `json:"trustedCertPath,omitempty"`
132043	// UseSystemTrustStore - Specifies whether to use a CA certificate from the system trust store or from a specified PEM file. The default value is false.
132044	UseSystemTrustStore interface{} `json:"useSystemTrustStore,omitempty"`
132045	// 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.
132046	AllowHostNameCNMismatch interface{} `json:"allowHostNameCNMismatch,omitempty"`
132047	// AllowSelfSignedServerCert - Specifies whether to allow self-signed certificates from the server. The default value is false.
132048	AllowSelfSignedServerCert interface{} `json:"allowSelfSignedServerCert,omitempty"`
132049	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
132050	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
132051}
132052
132053// UnmarshalJSON is the custom unmarshaler for PhoenixLinkedServiceTypeProperties struct.
132054func (plstp *PhoenixLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
132055	var m map[string]*json.RawMessage
132056	err := json.Unmarshal(body, &m)
132057	if err != nil {
132058		return err
132059	}
132060	for k, v := range m {
132061		switch k {
132062		case "host":
132063			if v != nil {
132064				var host interface{}
132065				err = json.Unmarshal(*v, &host)
132066				if err != nil {
132067					return err
132068				}
132069				plstp.Host = host
132070			}
132071		case "port":
132072			if v != nil {
132073				var port interface{}
132074				err = json.Unmarshal(*v, &port)
132075				if err != nil {
132076					return err
132077				}
132078				plstp.Port = port
132079			}
132080		case "httpPath":
132081			if v != nil {
132082				var HTTPPath interface{}
132083				err = json.Unmarshal(*v, &HTTPPath)
132084				if err != nil {
132085					return err
132086				}
132087				plstp.HTTPPath = HTTPPath
132088			}
132089		case "authenticationType":
132090			if v != nil {
132091				var authenticationType PhoenixAuthenticationType
132092				err = json.Unmarshal(*v, &authenticationType)
132093				if err != nil {
132094					return err
132095				}
132096				plstp.AuthenticationType = authenticationType
132097			}
132098		case "username":
132099			if v != nil {
132100				var username interface{}
132101				err = json.Unmarshal(*v, &username)
132102				if err != nil {
132103					return err
132104				}
132105				plstp.Username = username
132106			}
132107		case "password":
132108			if v != nil {
132109				password, err := unmarshalBasicSecretBase(*v)
132110				if err != nil {
132111					return err
132112				}
132113				plstp.Password = password
132114			}
132115		case "enableSsl":
132116			if v != nil {
132117				var enableSsl interface{}
132118				err = json.Unmarshal(*v, &enableSsl)
132119				if err != nil {
132120					return err
132121				}
132122				plstp.EnableSsl = enableSsl
132123			}
132124		case "trustedCertPath":
132125			if v != nil {
132126				var trustedCertPath interface{}
132127				err = json.Unmarshal(*v, &trustedCertPath)
132128				if err != nil {
132129					return err
132130				}
132131				plstp.TrustedCertPath = trustedCertPath
132132			}
132133		case "useSystemTrustStore":
132134			if v != nil {
132135				var useSystemTrustStore interface{}
132136				err = json.Unmarshal(*v, &useSystemTrustStore)
132137				if err != nil {
132138					return err
132139				}
132140				plstp.UseSystemTrustStore = useSystemTrustStore
132141			}
132142		case "allowHostNameCNMismatch":
132143			if v != nil {
132144				var allowHostNameCNMismatch interface{}
132145				err = json.Unmarshal(*v, &allowHostNameCNMismatch)
132146				if err != nil {
132147					return err
132148				}
132149				plstp.AllowHostNameCNMismatch = allowHostNameCNMismatch
132150			}
132151		case "allowSelfSignedServerCert":
132152			if v != nil {
132153				var allowSelfSignedServerCert interface{}
132154				err = json.Unmarshal(*v, &allowSelfSignedServerCert)
132155				if err != nil {
132156					return err
132157				}
132158				plstp.AllowSelfSignedServerCert = allowSelfSignedServerCert
132159			}
132160		case "encryptedCredential":
132161			if v != nil {
132162				var encryptedCredential interface{}
132163				err = json.Unmarshal(*v, &encryptedCredential)
132164				if err != nil {
132165					return err
132166				}
132167				plstp.EncryptedCredential = encryptedCredential
132168			}
132169		}
132170	}
132171
132172	return nil
132173}
132174
132175// PhoenixObjectDataset phoenix server dataset.
132176type PhoenixObjectDataset struct {
132177	// GenericDatasetTypeProperties - Properties specific to this dataset type.
132178	*GenericDatasetTypeProperties `json:"typeProperties,omitempty"`
132179	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
132180	AdditionalProperties map[string]interface{} `json:""`
132181	// Description - Dataset description.
132182	Description *string `json:"description,omitempty"`
132183	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
132184	Structure interface{} `json:"structure,omitempty"`
132185	// Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement.
132186	Schema interface{} `json:"schema,omitempty"`
132187	// LinkedServiceName - Linked service reference.
132188	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
132189	// Parameters - Parameters for dataset.
132190	Parameters map[string]*ParameterSpecification `json:"parameters"`
132191	// Annotations - List of tags that can be used for describing the Dataset.
132192	Annotations *[]interface{} `json:"annotations,omitempty"`
132193	// Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level.
132194	Folder *DatasetFolder `json:"folder,omitempty"`
132195	// Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', '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', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeDelimitedText', 'TypeParquet', 'TypeAmazonS3Object'
132196	Type TypeBasicDataset `json:"type,omitempty"`
132197}
132198
132199// MarshalJSON is the custom marshaler for PhoenixObjectDataset.
132200func (pod PhoenixObjectDataset) MarshalJSON() ([]byte, error) {
132201	pod.Type = TypePhoenixObject
132202	objectMap := make(map[string]interface{})
132203	if pod.GenericDatasetTypeProperties != nil {
132204		objectMap["typeProperties"] = pod.GenericDatasetTypeProperties
132205	}
132206	if pod.Description != nil {
132207		objectMap["description"] = pod.Description
132208	}
132209	if pod.Structure != nil {
132210		objectMap["structure"] = pod.Structure
132211	}
132212	if pod.Schema != nil {
132213		objectMap["schema"] = pod.Schema
132214	}
132215	if pod.LinkedServiceName != nil {
132216		objectMap["linkedServiceName"] = pod.LinkedServiceName
132217	}
132218	if pod.Parameters != nil {
132219		objectMap["parameters"] = pod.Parameters
132220	}
132221	if pod.Annotations != nil {
132222		objectMap["annotations"] = pod.Annotations
132223	}
132224	if pod.Folder != nil {
132225		objectMap["folder"] = pod.Folder
132226	}
132227	if pod.Type != "" {
132228		objectMap["type"] = pod.Type
132229	}
132230	for k, v := range pod.AdditionalProperties {
132231		objectMap[k] = v
132232	}
132233	return json.Marshal(objectMap)
132234}
132235
132236// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for PhoenixObjectDataset.
132237func (pod PhoenixObjectDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) {
132238	return nil, false
132239}
132240
132241// AsAzureDataExplorerTableDataset is the BasicDataset implementation for PhoenixObjectDataset.
132242func (pod PhoenixObjectDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) {
132243	return nil, false
132244}
132245
132246// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for PhoenixObjectDataset.
132247func (pod PhoenixObjectDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) {
132248	return nil, false
132249}
132250
132251// AsDynamicsAXResourceDataset is the BasicDataset implementation for PhoenixObjectDataset.
132252func (pod PhoenixObjectDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) {
132253	return nil, false
132254}
132255
132256// AsResponsysObjectDataset is the BasicDataset implementation for PhoenixObjectDataset.
132257func (pod PhoenixObjectDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
132258	return nil, false
132259}
132260
132261// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for PhoenixObjectDataset.
132262func (pod PhoenixObjectDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
132263	return nil, false
132264}
132265
132266// AsVerticaTableDataset is the BasicDataset implementation for PhoenixObjectDataset.
132267func (pod PhoenixObjectDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
132268	return nil, false
132269}
132270
132271// AsNetezzaTableDataset is the BasicDataset implementation for PhoenixObjectDataset.
132272func (pod PhoenixObjectDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
132273	return nil, false
132274}
132275
132276// AsZohoObjectDataset is the BasicDataset implementation for PhoenixObjectDataset.
132277func (pod PhoenixObjectDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
132278	return nil, false
132279}
132280
132281// AsXeroObjectDataset is the BasicDataset implementation for PhoenixObjectDataset.
132282func (pod PhoenixObjectDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
132283	return nil, false
132284}
132285
132286// AsSquareObjectDataset is the BasicDataset implementation for PhoenixObjectDataset.
132287func (pod PhoenixObjectDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
132288	return nil, false
132289}
132290
132291// AsSparkObjectDataset is the BasicDataset implementation for PhoenixObjectDataset.
132292func (pod PhoenixObjectDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
132293	return nil, false
132294}
132295
132296// AsShopifyObjectDataset is the BasicDataset implementation for PhoenixObjectDataset.
132297func (pod PhoenixObjectDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
132298	return nil, false
132299}
132300
132301// AsServiceNowObjectDataset is the BasicDataset implementation for PhoenixObjectDataset.
132302func (pod PhoenixObjectDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
132303	return nil, false
132304}
132305
132306// AsQuickBooksObjectDataset is the BasicDataset implementation for PhoenixObjectDataset.
132307func (pod PhoenixObjectDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
132308	return nil, false
132309}
132310
132311// AsPrestoObjectDataset is the BasicDataset implementation for PhoenixObjectDataset.
132312func (pod PhoenixObjectDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
132313	return nil, false
132314}
132315
132316// AsPhoenixObjectDataset is the BasicDataset implementation for PhoenixObjectDataset.
132317func (pod PhoenixObjectDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
132318	return &pod, true
132319}
132320
132321// AsPaypalObjectDataset is the BasicDataset implementation for PhoenixObjectDataset.
132322func (pod PhoenixObjectDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
132323	return nil, false
132324}
132325
132326// AsMarketoObjectDataset is the BasicDataset implementation for PhoenixObjectDataset.
132327func (pod PhoenixObjectDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
132328	return nil, false
132329}
132330
132331// AsMariaDBTableDataset is the BasicDataset implementation for PhoenixObjectDataset.
132332func (pod PhoenixObjectDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
132333	return nil, false
132334}
132335
132336// AsMagentoObjectDataset is the BasicDataset implementation for PhoenixObjectDataset.
132337func (pod PhoenixObjectDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
132338	return nil, false
132339}
132340
132341// AsJiraObjectDataset is the BasicDataset implementation for PhoenixObjectDataset.
132342func (pod PhoenixObjectDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
132343	return nil, false
132344}
132345
132346// AsImpalaObjectDataset is the BasicDataset implementation for PhoenixObjectDataset.
132347func (pod PhoenixObjectDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
132348	return nil, false
132349}
132350
132351// AsHubspotObjectDataset is the BasicDataset implementation for PhoenixObjectDataset.
132352func (pod PhoenixObjectDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
132353	return nil, false
132354}
132355
132356// AsHiveObjectDataset is the BasicDataset implementation for PhoenixObjectDataset.
132357func (pod PhoenixObjectDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
132358	return nil, false
132359}
132360
132361// AsHBaseObjectDataset is the BasicDataset implementation for PhoenixObjectDataset.
132362func (pod PhoenixObjectDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
132363	return nil, false
132364}
132365
132366// AsGreenplumTableDataset is the BasicDataset implementation for PhoenixObjectDataset.
132367func (pod PhoenixObjectDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
132368	return nil, false
132369}
132370
132371// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for PhoenixObjectDataset.
132372func (pod PhoenixObjectDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
132373	return nil, false
132374}
132375
132376// AsEloquaObjectDataset is the BasicDataset implementation for PhoenixObjectDataset.
132377func (pod PhoenixObjectDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
132378	return nil, false
132379}
132380
132381// AsDrillTableDataset is the BasicDataset implementation for PhoenixObjectDataset.
132382func (pod PhoenixObjectDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
132383	return nil, false
132384}
132385
132386// AsCouchbaseTableDataset is the BasicDataset implementation for PhoenixObjectDataset.
132387func (pod PhoenixObjectDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
132388	return nil, false
132389}
132390
132391// AsConcurObjectDataset is the BasicDataset implementation for PhoenixObjectDataset.
132392func (pod PhoenixObjectDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
132393	return nil, false
132394}
132395
132396// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for PhoenixObjectDataset.
132397func (pod PhoenixObjectDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
132398	return nil, false
132399}
132400
132401// AsAmazonMWSObjectDataset is the BasicDataset implementation for PhoenixObjectDataset.
132402func (pod PhoenixObjectDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
132403	return nil, false
132404}
132405
132406// AsHTTPDataset is the BasicDataset implementation for PhoenixObjectDataset.
132407func (pod PhoenixObjectDataset) AsHTTPDataset() (*HTTPDataset, bool) {
132408	return nil, false
132409}
132410
132411// AsAzureSearchIndexDataset is the BasicDataset implementation for PhoenixObjectDataset.
132412func (pod PhoenixObjectDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
132413	return nil, false
132414}
132415
132416// AsWebTableDataset is the BasicDataset implementation for PhoenixObjectDataset.
132417func (pod PhoenixObjectDataset) AsWebTableDataset() (*WebTableDataset, bool) {
132418	return nil, false
132419}
132420
132421// AsSapTableResourceDataset is the BasicDataset implementation for PhoenixObjectDataset.
132422func (pod PhoenixObjectDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) {
132423	return nil, false
132424}
132425
132426// AsRestResourceDataset is the BasicDataset implementation for PhoenixObjectDataset.
132427func (pod PhoenixObjectDataset) AsRestResourceDataset() (*RestResourceDataset, bool) {
132428	return nil, false
132429}
132430
132431// AsSQLServerTableDataset is the BasicDataset implementation for PhoenixObjectDataset.
132432func (pod PhoenixObjectDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
132433	return nil, false
132434}
132435
132436// AsSapOpenHubTableDataset is the BasicDataset implementation for PhoenixObjectDataset.
132437func (pod PhoenixObjectDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) {
132438	return nil, false
132439}
132440
132441// AsSapHanaTableDataset is the BasicDataset implementation for PhoenixObjectDataset.
132442func (pod PhoenixObjectDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) {
132443	return nil, false
132444}
132445
132446// AsSapEccResourceDataset is the BasicDataset implementation for PhoenixObjectDataset.
132447func (pod PhoenixObjectDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
132448	return nil, false
132449}
132450
132451// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for PhoenixObjectDataset.
132452func (pod PhoenixObjectDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
132453	return nil, false
132454}
132455
132456// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for PhoenixObjectDataset.
132457func (pod PhoenixObjectDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) {
132458	return nil, false
132459}
132460
132461// AsSalesforceObjectDataset is the BasicDataset implementation for PhoenixObjectDataset.
132462func (pod PhoenixObjectDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
132463	return nil, false
132464}
132465
132466// AsMicrosoftAccessTableDataset is the BasicDataset implementation for PhoenixObjectDataset.
132467func (pod PhoenixObjectDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) {
132468	return nil, false
132469}
132470
132471// AsPostgreSQLTableDataset is the BasicDataset implementation for PhoenixObjectDataset.
132472func (pod PhoenixObjectDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) {
132473	return nil, false
132474}
132475
132476// AsMySQLTableDataset is the BasicDataset implementation for PhoenixObjectDataset.
132477func (pod PhoenixObjectDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) {
132478	return nil, false
132479}
132480
132481// AsOdbcTableDataset is the BasicDataset implementation for PhoenixObjectDataset.
132482func (pod PhoenixObjectDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) {
132483	return nil, false
132484}
132485
132486// AsInformixTableDataset is the BasicDataset implementation for PhoenixObjectDataset.
132487func (pod PhoenixObjectDataset) AsInformixTableDataset() (*InformixTableDataset, bool) {
132488	return nil, false
132489}
132490
132491// AsRelationalTableDataset is the BasicDataset implementation for PhoenixObjectDataset.
132492func (pod PhoenixObjectDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
132493	return nil, false
132494}
132495
132496// AsAzureMySQLTableDataset is the BasicDataset implementation for PhoenixObjectDataset.
132497func (pod PhoenixObjectDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
132498	return nil, false
132499}
132500
132501// AsTeradataTableDataset is the BasicDataset implementation for PhoenixObjectDataset.
132502func (pod PhoenixObjectDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) {
132503	return nil, false
132504}
132505
132506// AsOracleTableDataset is the BasicDataset implementation for PhoenixObjectDataset.
132507func (pod PhoenixObjectDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
132508	return nil, false
132509}
132510
132511// AsODataResourceDataset is the BasicDataset implementation for PhoenixObjectDataset.
132512func (pod PhoenixObjectDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
132513	return nil, false
132514}
132515
132516// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for PhoenixObjectDataset.
132517func (pod PhoenixObjectDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) {
132518	return nil, false
132519}
132520
132521// AsMongoDbV2CollectionDataset is the BasicDataset implementation for PhoenixObjectDataset.
132522func (pod PhoenixObjectDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) {
132523	return nil, false
132524}
132525
132526// AsMongoDbCollectionDataset is the BasicDataset implementation for PhoenixObjectDataset.
132527func (pod PhoenixObjectDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
132528	return nil, false
132529}
132530
132531// AsFileShareDataset is the BasicDataset implementation for PhoenixObjectDataset.
132532func (pod PhoenixObjectDataset) AsFileShareDataset() (*FileShareDataset, bool) {
132533	return nil, false
132534}
132535
132536// AsOffice365Dataset is the BasicDataset implementation for PhoenixObjectDataset.
132537func (pod PhoenixObjectDataset) AsOffice365Dataset() (*Office365Dataset, bool) {
132538	return nil, false
132539}
132540
132541// AsAzureBlobFSDataset is the BasicDataset implementation for PhoenixObjectDataset.
132542func (pod PhoenixObjectDataset) AsAzureBlobFSDataset() (*AzureBlobFSDataset, bool) {
132543	return nil, false
132544}
132545
132546// AsAzureDataLakeStoreDataset is the BasicDataset implementation for PhoenixObjectDataset.
132547func (pod PhoenixObjectDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) {
132548	return nil, false
132549}
132550
132551// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for PhoenixObjectDataset.
132552func (pod PhoenixObjectDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) {
132553	return nil, false
132554}
132555
132556// AsDynamicsCrmEntityDataset is the BasicDataset implementation for PhoenixObjectDataset.
132557func (pod PhoenixObjectDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) {
132558	return nil, false
132559}
132560
132561// AsDynamicsEntityDataset is the BasicDataset implementation for PhoenixObjectDataset.
132562func (pod PhoenixObjectDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
132563	return nil, false
132564}
132565
132566// AsDocumentDbCollectionDataset is the BasicDataset implementation for PhoenixObjectDataset.
132567func (pod PhoenixObjectDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
132568	return nil, false
132569}
132570
132571// AsCustomDataset is the BasicDataset implementation for PhoenixObjectDataset.
132572func (pod PhoenixObjectDataset) AsCustomDataset() (*CustomDataset, bool) {
132573	return nil, false
132574}
132575
132576// AsCassandraTableDataset is the BasicDataset implementation for PhoenixObjectDataset.
132577func (pod PhoenixObjectDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
132578	return nil, false
132579}
132580
132581// AsAzureSQLDWTableDataset is the BasicDataset implementation for PhoenixObjectDataset.
132582func (pod PhoenixObjectDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
132583	return nil, false
132584}
132585
132586// AsAzureSQLMITableDataset is the BasicDataset implementation for PhoenixObjectDataset.
132587func (pod PhoenixObjectDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) {
132588	return nil, false
132589}
132590
132591// AsAzureSQLTableDataset is the BasicDataset implementation for PhoenixObjectDataset.
132592func (pod PhoenixObjectDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
132593	return nil, false
132594}
132595
132596// AsAzureTableDataset is the BasicDataset implementation for PhoenixObjectDataset.
132597func (pod PhoenixObjectDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
132598	return nil, false
132599}
132600
132601// AsAzureBlobDataset is the BasicDataset implementation for PhoenixObjectDataset.
132602func (pod PhoenixObjectDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) {
132603	return nil, false
132604}
132605
132606// AsBinaryDataset is the BasicDataset implementation for PhoenixObjectDataset.
132607func (pod PhoenixObjectDataset) AsBinaryDataset() (*BinaryDataset, bool) {
132608	return nil, false
132609}
132610
132611// AsDelimitedTextDataset is the BasicDataset implementation for PhoenixObjectDataset.
132612func (pod PhoenixObjectDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) {
132613	return nil, false
132614}
132615
132616// AsParquetDataset is the BasicDataset implementation for PhoenixObjectDataset.
132617func (pod PhoenixObjectDataset) AsParquetDataset() (*ParquetDataset, bool) {
132618	return nil, false
132619}
132620
132621// AsAmazonS3Dataset is the BasicDataset implementation for PhoenixObjectDataset.
132622func (pod PhoenixObjectDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) {
132623	return nil, false
132624}
132625
132626// AsDataset is the BasicDataset implementation for PhoenixObjectDataset.
132627func (pod PhoenixObjectDataset) AsDataset() (*Dataset, bool) {
132628	return nil, false
132629}
132630
132631// AsBasicDataset is the BasicDataset implementation for PhoenixObjectDataset.
132632func (pod PhoenixObjectDataset) AsBasicDataset() (BasicDataset, bool) {
132633	return &pod, true
132634}
132635
132636// UnmarshalJSON is the custom unmarshaler for PhoenixObjectDataset struct.
132637func (pod *PhoenixObjectDataset) UnmarshalJSON(body []byte) error {
132638	var m map[string]*json.RawMessage
132639	err := json.Unmarshal(body, &m)
132640	if err != nil {
132641		return err
132642	}
132643	for k, v := range m {
132644		switch k {
132645		case "typeProperties":
132646			if v != nil {
132647				var genericDatasetTypeProperties GenericDatasetTypeProperties
132648				err = json.Unmarshal(*v, &genericDatasetTypeProperties)
132649				if err != nil {
132650					return err
132651				}
132652				pod.GenericDatasetTypeProperties = &genericDatasetTypeProperties
132653			}
132654		default:
132655			if v != nil {
132656				var additionalProperties interface{}
132657				err = json.Unmarshal(*v, &additionalProperties)
132658				if err != nil {
132659					return err
132660				}
132661				if pod.AdditionalProperties == nil {
132662					pod.AdditionalProperties = make(map[string]interface{})
132663				}
132664				pod.AdditionalProperties[k] = additionalProperties
132665			}
132666		case "description":
132667			if v != nil {
132668				var description string
132669				err = json.Unmarshal(*v, &description)
132670				if err != nil {
132671					return err
132672				}
132673				pod.Description = &description
132674			}
132675		case "structure":
132676			if v != nil {
132677				var structure interface{}
132678				err = json.Unmarshal(*v, &structure)
132679				if err != nil {
132680					return err
132681				}
132682				pod.Structure = structure
132683			}
132684		case "schema":
132685			if v != nil {
132686				var schema interface{}
132687				err = json.Unmarshal(*v, &schema)
132688				if err != nil {
132689					return err
132690				}
132691				pod.Schema = schema
132692			}
132693		case "linkedServiceName":
132694			if v != nil {
132695				var linkedServiceName LinkedServiceReference
132696				err = json.Unmarshal(*v, &linkedServiceName)
132697				if err != nil {
132698					return err
132699				}
132700				pod.LinkedServiceName = &linkedServiceName
132701			}
132702		case "parameters":
132703			if v != nil {
132704				var parameters map[string]*ParameterSpecification
132705				err = json.Unmarshal(*v, &parameters)
132706				if err != nil {
132707					return err
132708				}
132709				pod.Parameters = parameters
132710			}
132711		case "annotations":
132712			if v != nil {
132713				var annotations []interface{}
132714				err = json.Unmarshal(*v, &annotations)
132715				if err != nil {
132716					return err
132717				}
132718				pod.Annotations = &annotations
132719			}
132720		case "folder":
132721			if v != nil {
132722				var folder DatasetFolder
132723				err = json.Unmarshal(*v, &folder)
132724				if err != nil {
132725					return err
132726				}
132727				pod.Folder = &folder
132728			}
132729		case "type":
132730			if v != nil {
132731				var typeVar TypeBasicDataset
132732				err = json.Unmarshal(*v, &typeVar)
132733				if err != nil {
132734					return err
132735				}
132736				pod.Type = typeVar
132737			}
132738		}
132739	}
132740
132741	return nil
132742}
132743
132744// PhoenixSource a copy activity Phoenix server source.
132745type PhoenixSource struct {
132746	// Query - A query to retrieve data from source. Type: string (or Expression with resultType string).
132747	Query interface{} `json:"query,omitempty"`
132748	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
132749	AdditionalProperties map[string]interface{} `json:""`
132750	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
132751	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
132752	// 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])).
132753	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
132754	// MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer).
132755	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
132756	// Type - Possible values include: 'TypeCopySource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', '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', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeCassandraSource', 'TypeWebSource', 'TypeTeradataSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeAzureMySQLSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeRestSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceServiceCloudSource', 'TypeSalesforceSource', 'TypeODataSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeMicrosoftAccessSource', 'TypeInformixSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAzureTableSource', 'TypeBinarySource', 'TypeDelimitedTextSource', 'TypeParquetSource'
132757	Type TypeBasicCopySource `json:"type,omitempty"`
132758}
132759
132760// MarshalJSON is the custom marshaler for PhoenixSource.
132761func (ps PhoenixSource) MarshalJSON() ([]byte, error) {
132762	ps.Type = TypePhoenixSource
132763	objectMap := make(map[string]interface{})
132764	if ps.Query != nil {
132765		objectMap["query"] = ps.Query
132766	}
132767	if ps.SourceRetryCount != nil {
132768		objectMap["sourceRetryCount"] = ps.SourceRetryCount
132769	}
132770	if ps.SourceRetryWait != nil {
132771		objectMap["sourceRetryWait"] = ps.SourceRetryWait
132772	}
132773	if ps.MaxConcurrentConnections != nil {
132774		objectMap["maxConcurrentConnections"] = ps.MaxConcurrentConnections
132775	}
132776	if ps.Type != "" {
132777		objectMap["type"] = ps.Type
132778	}
132779	for k, v := range ps.AdditionalProperties {
132780		objectMap[k] = v
132781	}
132782	return json.Marshal(objectMap)
132783}
132784
132785// AsAmazonRedshiftSource is the BasicCopySource implementation for PhoenixSource.
132786func (ps PhoenixSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
132787	return nil, false
132788}
132789
132790// AsGoogleAdWordsSource is the BasicCopySource implementation for PhoenixSource.
132791func (ps PhoenixSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) {
132792	return nil, false
132793}
132794
132795// AsOracleServiceCloudSource is the BasicCopySource implementation for PhoenixSource.
132796func (ps PhoenixSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) {
132797	return nil, false
132798}
132799
132800// AsDynamicsAXSource is the BasicCopySource implementation for PhoenixSource.
132801func (ps PhoenixSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) {
132802	return nil, false
132803}
132804
132805// AsResponsysSource is the BasicCopySource implementation for PhoenixSource.
132806func (ps PhoenixSource) AsResponsysSource() (*ResponsysSource, bool) {
132807	return nil, false
132808}
132809
132810// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for PhoenixSource.
132811func (ps PhoenixSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
132812	return nil, false
132813}
132814
132815// AsVerticaSource is the BasicCopySource implementation for PhoenixSource.
132816func (ps PhoenixSource) AsVerticaSource() (*VerticaSource, bool) {
132817	return nil, false
132818}
132819
132820// AsNetezzaSource is the BasicCopySource implementation for PhoenixSource.
132821func (ps PhoenixSource) AsNetezzaSource() (*NetezzaSource, bool) {
132822	return nil, false
132823}
132824
132825// AsZohoSource is the BasicCopySource implementation for PhoenixSource.
132826func (ps PhoenixSource) AsZohoSource() (*ZohoSource, bool) {
132827	return nil, false
132828}
132829
132830// AsXeroSource is the BasicCopySource implementation for PhoenixSource.
132831func (ps PhoenixSource) AsXeroSource() (*XeroSource, bool) {
132832	return nil, false
132833}
132834
132835// AsSquareSource is the BasicCopySource implementation for PhoenixSource.
132836func (ps PhoenixSource) AsSquareSource() (*SquareSource, bool) {
132837	return nil, false
132838}
132839
132840// AsSparkSource is the BasicCopySource implementation for PhoenixSource.
132841func (ps PhoenixSource) AsSparkSource() (*SparkSource, bool) {
132842	return nil, false
132843}
132844
132845// AsShopifySource is the BasicCopySource implementation for PhoenixSource.
132846func (ps PhoenixSource) AsShopifySource() (*ShopifySource, bool) {
132847	return nil, false
132848}
132849
132850// AsServiceNowSource is the BasicCopySource implementation for PhoenixSource.
132851func (ps PhoenixSource) AsServiceNowSource() (*ServiceNowSource, bool) {
132852	return nil, false
132853}
132854
132855// AsQuickBooksSource is the BasicCopySource implementation for PhoenixSource.
132856func (ps PhoenixSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
132857	return nil, false
132858}
132859
132860// AsPrestoSource is the BasicCopySource implementation for PhoenixSource.
132861func (ps PhoenixSource) AsPrestoSource() (*PrestoSource, bool) {
132862	return nil, false
132863}
132864
132865// AsPhoenixSource is the BasicCopySource implementation for PhoenixSource.
132866func (ps PhoenixSource) AsPhoenixSource() (*PhoenixSource, bool) {
132867	return &ps, true
132868}
132869
132870// AsPaypalSource is the BasicCopySource implementation for PhoenixSource.
132871func (ps PhoenixSource) AsPaypalSource() (*PaypalSource, bool) {
132872	return nil, false
132873}
132874
132875// AsMarketoSource is the BasicCopySource implementation for PhoenixSource.
132876func (ps PhoenixSource) AsMarketoSource() (*MarketoSource, bool) {
132877	return nil, false
132878}
132879
132880// AsMariaDBSource is the BasicCopySource implementation for PhoenixSource.
132881func (ps PhoenixSource) AsMariaDBSource() (*MariaDBSource, bool) {
132882	return nil, false
132883}
132884
132885// AsMagentoSource is the BasicCopySource implementation for PhoenixSource.
132886func (ps PhoenixSource) AsMagentoSource() (*MagentoSource, bool) {
132887	return nil, false
132888}
132889
132890// AsJiraSource is the BasicCopySource implementation for PhoenixSource.
132891func (ps PhoenixSource) AsJiraSource() (*JiraSource, bool) {
132892	return nil, false
132893}
132894
132895// AsImpalaSource is the BasicCopySource implementation for PhoenixSource.
132896func (ps PhoenixSource) AsImpalaSource() (*ImpalaSource, bool) {
132897	return nil, false
132898}
132899
132900// AsHubspotSource is the BasicCopySource implementation for PhoenixSource.
132901func (ps PhoenixSource) AsHubspotSource() (*HubspotSource, bool) {
132902	return nil, false
132903}
132904
132905// AsHiveSource is the BasicCopySource implementation for PhoenixSource.
132906func (ps PhoenixSource) AsHiveSource() (*HiveSource, bool) {
132907	return nil, false
132908}
132909
132910// AsHBaseSource is the BasicCopySource implementation for PhoenixSource.
132911func (ps PhoenixSource) AsHBaseSource() (*HBaseSource, bool) {
132912	return nil, false
132913}
132914
132915// AsGreenplumSource is the BasicCopySource implementation for PhoenixSource.
132916func (ps PhoenixSource) AsGreenplumSource() (*GreenplumSource, bool) {
132917	return nil, false
132918}
132919
132920// AsGoogleBigQuerySource is the BasicCopySource implementation for PhoenixSource.
132921func (ps PhoenixSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
132922	return nil, false
132923}
132924
132925// AsEloquaSource is the BasicCopySource implementation for PhoenixSource.
132926func (ps PhoenixSource) AsEloquaSource() (*EloquaSource, bool) {
132927	return nil, false
132928}
132929
132930// AsDrillSource is the BasicCopySource implementation for PhoenixSource.
132931func (ps PhoenixSource) AsDrillSource() (*DrillSource, bool) {
132932	return nil, false
132933}
132934
132935// AsCouchbaseSource is the BasicCopySource implementation for PhoenixSource.
132936func (ps PhoenixSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
132937	return nil, false
132938}
132939
132940// AsConcurSource is the BasicCopySource implementation for PhoenixSource.
132941func (ps PhoenixSource) AsConcurSource() (*ConcurSource, bool) {
132942	return nil, false
132943}
132944
132945// AsAzurePostgreSQLSource is the BasicCopySource implementation for PhoenixSource.
132946func (ps PhoenixSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
132947	return nil, false
132948}
132949
132950// AsAmazonMWSSource is the BasicCopySource implementation for PhoenixSource.
132951func (ps PhoenixSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
132952	return nil, false
132953}
132954
132955// AsHTTPSource is the BasicCopySource implementation for PhoenixSource.
132956func (ps PhoenixSource) AsHTTPSource() (*HTTPSource, bool) {
132957	return nil, false
132958}
132959
132960// AsAzureBlobFSSource is the BasicCopySource implementation for PhoenixSource.
132961func (ps PhoenixSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) {
132962	return nil, false
132963}
132964
132965// AsAzureDataLakeStoreSource is the BasicCopySource implementation for PhoenixSource.
132966func (ps PhoenixSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
132967	return nil, false
132968}
132969
132970// AsOffice365Source is the BasicCopySource implementation for PhoenixSource.
132971func (ps PhoenixSource) AsOffice365Source() (*Office365Source, bool) {
132972	return nil, false
132973}
132974
132975// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for PhoenixSource.
132976func (ps PhoenixSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) {
132977	return nil, false
132978}
132979
132980// AsMongoDbV2Source is the BasicCopySource implementation for PhoenixSource.
132981func (ps PhoenixSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) {
132982	return nil, false
132983}
132984
132985// AsMongoDbSource is the BasicCopySource implementation for PhoenixSource.
132986func (ps PhoenixSource) AsMongoDbSource() (*MongoDbSource, bool) {
132987	return nil, false
132988}
132989
132990// AsCassandraSource is the BasicCopySource implementation for PhoenixSource.
132991func (ps PhoenixSource) AsCassandraSource() (*CassandraSource, bool) {
132992	return nil, false
132993}
132994
132995// AsWebSource is the BasicCopySource implementation for PhoenixSource.
132996func (ps PhoenixSource) AsWebSource() (*WebSource, bool) {
132997	return nil, false
132998}
132999
133000// AsTeradataSource is the BasicCopySource implementation for PhoenixSource.
133001func (ps PhoenixSource) AsTeradataSource() (*TeradataSource, bool) {
133002	return nil, false
133003}
133004
133005// AsOracleSource is the BasicCopySource implementation for PhoenixSource.
133006func (ps PhoenixSource) AsOracleSource() (*OracleSource, bool) {
133007	return nil, false
133008}
133009
133010// AsAzureDataExplorerSource is the BasicCopySource implementation for PhoenixSource.
133011func (ps PhoenixSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) {
133012	return nil, false
133013}
133014
133015// AsAzureMySQLSource is the BasicCopySource implementation for PhoenixSource.
133016func (ps PhoenixSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
133017	return nil, false
133018}
133019
133020// AsHdfsSource is the BasicCopySource implementation for PhoenixSource.
133021func (ps PhoenixSource) AsHdfsSource() (*HdfsSource, bool) {
133022	return nil, false
133023}
133024
133025// AsFileSystemSource is the BasicCopySource implementation for PhoenixSource.
133026func (ps PhoenixSource) AsFileSystemSource() (*FileSystemSource, bool) {
133027	return nil, false
133028}
133029
133030// AsSQLDWSource is the BasicCopySource implementation for PhoenixSource.
133031func (ps PhoenixSource) AsSQLDWSource() (*SQLDWSource, bool) {
133032	return nil, false
133033}
133034
133035// AsSQLMISource is the BasicCopySource implementation for PhoenixSource.
133036func (ps PhoenixSource) AsSQLMISource() (*SQLMISource, bool) {
133037	return nil, false
133038}
133039
133040// AsAzureSQLSource is the BasicCopySource implementation for PhoenixSource.
133041func (ps PhoenixSource) AsAzureSQLSource() (*AzureSQLSource, bool) {
133042	return nil, false
133043}
133044
133045// AsSQLServerSource is the BasicCopySource implementation for PhoenixSource.
133046func (ps PhoenixSource) AsSQLServerSource() (*SQLServerSource, bool) {
133047	return nil, false
133048}
133049
133050// AsSQLSource is the BasicCopySource implementation for PhoenixSource.
133051func (ps PhoenixSource) AsSQLSource() (*SQLSource, bool) {
133052	return nil, false
133053}
133054
133055// AsRestSource is the BasicCopySource implementation for PhoenixSource.
133056func (ps PhoenixSource) AsRestSource() (*RestSource, bool) {
133057	return nil, false
133058}
133059
133060// AsSapTableSource is the BasicCopySource implementation for PhoenixSource.
133061func (ps PhoenixSource) AsSapTableSource() (*SapTableSource, bool) {
133062	return nil, false
133063}
133064
133065// AsSapOpenHubSource is the BasicCopySource implementation for PhoenixSource.
133066func (ps PhoenixSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) {
133067	return nil, false
133068}
133069
133070// AsSapHanaSource is the BasicCopySource implementation for PhoenixSource.
133071func (ps PhoenixSource) AsSapHanaSource() (*SapHanaSource, bool) {
133072	return nil, false
133073}
133074
133075// AsSapEccSource is the BasicCopySource implementation for PhoenixSource.
133076func (ps PhoenixSource) AsSapEccSource() (*SapEccSource, bool) {
133077	return nil, false
133078}
133079
133080// AsSapCloudForCustomerSource is the BasicCopySource implementation for PhoenixSource.
133081func (ps PhoenixSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
133082	return nil, false
133083}
133084
133085// AsSalesforceServiceCloudSource is the BasicCopySource implementation for PhoenixSource.
133086func (ps PhoenixSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) {
133087	return nil, false
133088}
133089
133090// AsSalesforceSource is the BasicCopySource implementation for PhoenixSource.
133091func (ps PhoenixSource) AsSalesforceSource() (*SalesforceSource, bool) {
133092	return nil, false
133093}
133094
133095// AsODataSource is the BasicCopySource implementation for PhoenixSource.
133096func (ps PhoenixSource) AsODataSource() (*ODataSource, bool) {
133097	return nil, false
133098}
133099
133100// AsSybaseSource is the BasicCopySource implementation for PhoenixSource.
133101func (ps PhoenixSource) AsSybaseSource() (*SybaseSource, bool) {
133102	return nil, false
133103}
133104
133105// AsPostgreSQLSource is the BasicCopySource implementation for PhoenixSource.
133106func (ps PhoenixSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) {
133107	return nil, false
133108}
133109
133110// AsMySQLSource is the BasicCopySource implementation for PhoenixSource.
133111func (ps PhoenixSource) AsMySQLSource() (*MySQLSource, bool) {
133112	return nil, false
133113}
133114
133115// AsOdbcSource is the BasicCopySource implementation for PhoenixSource.
133116func (ps PhoenixSource) AsOdbcSource() (*OdbcSource, bool) {
133117	return nil, false
133118}
133119
133120// AsDb2Source is the BasicCopySource implementation for PhoenixSource.
133121func (ps PhoenixSource) AsDb2Source() (*Db2Source, bool) {
133122	return nil, false
133123}
133124
133125// AsMicrosoftAccessSource is the BasicCopySource implementation for PhoenixSource.
133126func (ps PhoenixSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) {
133127	return nil, false
133128}
133129
133130// AsInformixSource is the BasicCopySource implementation for PhoenixSource.
133131func (ps PhoenixSource) AsInformixSource() (*InformixSource, bool) {
133132	return nil, false
133133}
133134
133135// AsRelationalSource is the BasicCopySource implementation for PhoenixSource.
133136func (ps PhoenixSource) AsRelationalSource() (*RelationalSource, bool) {
133137	return nil, false
133138}
133139
133140// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for PhoenixSource.
133141func (ps PhoenixSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) {
133142	return nil, false
133143}
133144
133145// AsDynamicsCrmSource is the BasicCopySource implementation for PhoenixSource.
133146func (ps PhoenixSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) {
133147	return nil, false
133148}
133149
133150// AsDynamicsSource is the BasicCopySource implementation for PhoenixSource.
133151func (ps PhoenixSource) AsDynamicsSource() (*DynamicsSource, bool) {
133152	return nil, false
133153}
133154
133155// AsDocumentDbCollectionSource is the BasicCopySource implementation for PhoenixSource.
133156func (ps PhoenixSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
133157	return nil, false
133158}
133159
133160// AsBlobSource is the BasicCopySource implementation for PhoenixSource.
133161func (ps PhoenixSource) AsBlobSource() (*BlobSource, bool) {
133162	return nil, false
133163}
133164
133165// AsAzureTableSource is the BasicCopySource implementation for PhoenixSource.
133166func (ps PhoenixSource) AsAzureTableSource() (*AzureTableSource, bool) {
133167	return nil, false
133168}
133169
133170// AsBinarySource is the BasicCopySource implementation for PhoenixSource.
133171func (ps PhoenixSource) AsBinarySource() (*BinarySource, bool) {
133172	return nil, false
133173}
133174
133175// AsDelimitedTextSource is the BasicCopySource implementation for PhoenixSource.
133176func (ps PhoenixSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) {
133177	return nil, false
133178}
133179
133180// AsParquetSource is the BasicCopySource implementation for PhoenixSource.
133181func (ps PhoenixSource) AsParquetSource() (*ParquetSource, bool) {
133182	return nil, false
133183}
133184
133185// AsCopySource is the BasicCopySource implementation for PhoenixSource.
133186func (ps PhoenixSource) AsCopySource() (*CopySource, bool) {
133187	return nil, false
133188}
133189
133190// AsBasicCopySource is the BasicCopySource implementation for PhoenixSource.
133191func (ps PhoenixSource) AsBasicCopySource() (BasicCopySource, bool) {
133192	return &ps, true
133193}
133194
133195// UnmarshalJSON is the custom unmarshaler for PhoenixSource struct.
133196func (ps *PhoenixSource) UnmarshalJSON(body []byte) error {
133197	var m map[string]*json.RawMessage
133198	err := json.Unmarshal(body, &m)
133199	if err != nil {
133200		return err
133201	}
133202	for k, v := range m {
133203		switch k {
133204		case "query":
133205			if v != nil {
133206				var query interface{}
133207				err = json.Unmarshal(*v, &query)
133208				if err != nil {
133209					return err
133210				}
133211				ps.Query = query
133212			}
133213		default:
133214			if v != nil {
133215				var additionalProperties interface{}
133216				err = json.Unmarshal(*v, &additionalProperties)
133217				if err != nil {
133218					return err
133219				}
133220				if ps.AdditionalProperties == nil {
133221					ps.AdditionalProperties = make(map[string]interface{})
133222				}
133223				ps.AdditionalProperties[k] = additionalProperties
133224			}
133225		case "sourceRetryCount":
133226			if v != nil {
133227				var sourceRetryCount interface{}
133228				err = json.Unmarshal(*v, &sourceRetryCount)
133229				if err != nil {
133230					return err
133231				}
133232				ps.SourceRetryCount = sourceRetryCount
133233			}
133234		case "sourceRetryWait":
133235			if v != nil {
133236				var sourceRetryWait interface{}
133237				err = json.Unmarshal(*v, &sourceRetryWait)
133238				if err != nil {
133239					return err
133240				}
133241				ps.SourceRetryWait = sourceRetryWait
133242			}
133243		case "maxConcurrentConnections":
133244			if v != nil {
133245				var maxConcurrentConnections interface{}
133246				err = json.Unmarshal(*v, &maxConcurrentConnections)
133247				if err != nil {
133248					return err
133249				}
133250				ps.MaxConcurrentConnections = maxConcurrentConnections
133251			}
133252		case "type":
133253			if v != nil {
133254				var typeVar TypeBasicCopySource
133255				err = json.Unmarshal(*v, &typeVar)
133256				if err != nil {
133257					return err
133258				}
133259				ps.Type = typeVar
133260			}
133261		}
133262	}
133263
133264	return nil
133265}
133266
133267// Pipeline a data factory pipeline.
133268type Pipeline struct {
133269	// Description - The description of the pipeline.
133270	Description *string `json:"description,omitempty"`
133271	// Activities - List of activities in pipeline.
133272	Activities *[]BasicActivity `json:"activities,omitempty"`
133273	// Parameters - List of parameters for pipeline.
133274	Parameters map[string]*ParameterSpecification `json:"parameters"`
133275	// Variables - List of variables for pipeline.
133276	Variables map[string]*VariableSpecification `json:"variables"`
133277	// Concurrency - The max number of concurrent runs for the pipeline.
133278	Concurrency *int32 `json:"concurrency,omitempty"`
133279	// Annotations - List of tags that can be used for describing the Pipeline.
133280	Annotations *[]interface{} `json:"annotations,omitempty"`
133281	// Folder - The folder that this Pipeline is in. If not specified, Pipeline will appear at the root level.
133282	Folder *PipelineFolder `json:"folder,omitempty"`
133283}
133284
133285// MarshalJSON is the custom marshaler for Pipeline.
133286func (p Pipeline) MarshalJSON() ([]byte, error) {
133287	objectMap := make(map[string]interface{})
133288	if p.Description != nil {
133289		objectMap["description"] = p.Description
133290	}
133291	if p.Activities != nil {
133292		objectMap["activities"] = p.Activities
133293	}
133294	if p.Parameters != nil {
133295		objectMap["parameters"] = p.Parameters
133296	}
133297	if p.Variables != nil {
133298		objectMap["variables"] = p.Variables
133299	}
133300	if p.Concurrency != nil {
133301		objectMap["concurrency"] = p.Concurrency
133302	}
133303	if p.Annotations != nil {
133304		objectMap["annotations"] = p.Annotations
133305	}
133306	if p.Folder != nil {
133307		objectMap["folder"] = p.Folder
133308	}
133309	return json.Marshal(objectMap)
133310}
133311
133312// UnmarshalJSON is the custom unmarshaler for Pipeline struct.
133313func (p *Pipeline) UnmarshalJSON(body []byte) error {
133314	var m map[string]*json.RawMessage
133315	err := json.Unmarshal(body, &m)
133316	if err != nil {
133317		return err
133318	}
133319	for k, v := range m {
133320		switch k {
133321		case "description":
133322			if v != nil {
133323				var description string
133324				err = json.Unmarshal(*v, &description)
133325				if err != nil {
133326					return err
133327				}
133328				p.Description = &description
133329			}
133330		case "activities":
133331			if v != nil {
133332				activities, err := unmarshalBasicActivityArray(*v)
133333				if err != nil {
133334					return err
133335				}
133336				p.Activities = &activities
133337			}
133338		case "parameters":
133339			if v != nil {
133340				var parameters map[string]*ParameterSpecification
133341				err = json.Unmarshal(*v, &parameters)
133342				if err != nil {
133343					return err
133344				}
133345				p.Parameters = parameters
133346			}
133347		case "variables":
133348			if v != nil {
133349				var variables map[string]*VariableSpecification
133350				err = json.Unmarshal(*v, &variables)
133351				if err != nil {
133352					return err
133353				}
133354				p.Variables = variables
133355			}
133356		case "concurrency":
133357			if v != nil {
133358				var concurrency int32
133359				err = json.Unmarshal(*v, &concurrency)
133360				if err != nil {
133361					return err
133362				}
133363				p.Concurrency = &concurrency
133364			}
133365		case "annotations":
133366			if v != nil {
133367				var annotations []interface{}
133368				err = json.Unmarshal(*v, &annotations)
133369				if err != nil {
133370					return err
133371				}
133372				p.Annotations = &annotations
133373			}
133374		case "folder":
133375			if v != nil {
133376				var folder PipelineFolder
133377				err = json.Unmarshal(*v, &folder)
133378				if err != nil {
133379					return err
133380				}
133381				p.Folder = &folder
133382			}
133383		}
133384	}
133385
133386	return nil
133387}
133388
133389// PipelineFolder the folder that this Pipeline is in. If not specified, Pipeline will appear at the root
133390// level.
133391type PipelineFolder struct {
133392	// Name - The name of the folder that this Pipeline is in.
133393	Name *string `json:"name,omitempty"`
133394}
133395
133396// PipelineListResponse a list of pipeline resources.
133397type PipelineListResponse struct {
133398	autorest.Response `json:"-"`
133399	// Value - List of pipelines.
133400	Value *[]PipelineResource `json:"value,omitempty"`
133401	// NextLink - The link to the next page of results, if any remaining results exist.
133402	NextLink *string `json:"nextLink,omitempty"`
133403}
133404
133405// PipelineListResponseIterator provides access to a complete listing of PipelineResource values.
133406type PipelineListResponseIterator struct {
133407	i    int
133408	page PipelineListResponsePage
133409}
133410
133411// NextWithContext advances to the next value.  If there was an error making
133412// the request the iterator does not advance and the error is returned.
133413func (iter *PipelineListResponseIterator) NextWithContext(ctx context.Context) (err error) {
133414	if tracing.IsEnabled() {
133415		ctx = tracing.StartSpan(ctx, fqdn+"/PipelineListResponseIterator.NextWithContext")
133416		defer func() {
133417			sc := -1
133418			if iter.Response().Response.Response != nil {
133419				sc = iter.Response().Response.Response.StatusCode
133420			}
133421			tracing.EndSpan(ctx, sc, err)
133422		}()
133423	}
133424	iter.i++
133425	if iter.i < len(iter.page.Values()) {
133426		return nil
133427	}
133428	err = iter.page.NextWithContext(ctx)
133429	if err != nil {
133430		iter.i--
133431		return err
133432	}
133433	iter.i = 0
133434	return nil
133435}
133436
133437// Next advances to the next value.  If there was an error making
133438// the request the iterator does not advance and the error is returned.
133439// Deprecated: Use NextWithContext() instead.
133440func (iter *PipelineListResponseIterator) Next() error {
133441	return iter.NextWithContext(context.Background())
133442}
133443
133444// NotDone returns true if the enumeration should be started or is not yet complete.
133445func (iter PipelineListResponseIterator) NotDone() bool {
133446	return iter.page.NotDone() && iter.i < len(iter.page.Values())
133447}
133448
133449// Response returns the raw server response from the last page request.
133450func (iter PipelineListResponseIterator) Response() PipelineListResponse {
133451	return iter.page.Response()
133452}
133453
133454// Value returns the current value or a zero-initialized value if the
133455// iterator has advanced beyond the end of the collection.
133456func (iter PipelineListResponseIterator) Value() PipelineResource {
133457	if !iter.page.NotDone() {
133458		return PipelineResource{}
133459	}
133460	return iter.page.Values()[iter.i]
133461}
133462
133463// Creates a new instance of the PipelineListResponseIterator type.
133464func NewPipelineListResponseIterator(page PipelineListResponsePage) PipelineListResponseIterator {
133465	return PipelineListResponseIterator{page: page}
133466}
133467
133468// IsEmpty returns true if the ListResult contains no values.
133469func (plr PipelineListResponse) IsEmpty() bool {
133470	return plr.Value == nil || len(*plr.Value) == 0
133471}
133472
133473// pipelineListResponsePreparer prepares a request to retrieve the next set of results.
133474// It returns nil if no more results exist.
133475func (plr PipelineListResponse) pipelineListResponsePreparer(ctx context.Context) (*http.Request, error) {
133476	if plr.NextLink == nil || len(to.String(plr.NextLink)) < 1 {
133477		return nil, nil
133478	}
133479	return autorest.Prepare((&http.Request{}).WithContext(ctx),
133480		autorest.AsJSON(),
133481		autorest.AsGet(),
133482		autorest.WithBaseURL(to.String(plr.NextLink)))
133483}
133484
133485// PipelineListResponsePage contains a page of PipelineResource values.
133486type PipelineListResponsePage struct {
133487	fn  func(context.Context, PipelineListResponse) (PipelineListResponse, error)
133488	plr PipelineListResponse
133489}
133490
133491// NextWithContext advances to the next page of values.  If there was an error making
133492// the request the page does not advance and the error is returned.
133493func (page *PipelineListResponsePage) NextWithContext(ctx context.Context) (err error) {
133494	if tracing.IsEnabled() {
133495		ctx = tracing.StartSpan(ctx, fqdn+"/PipelineListResponsePage.NextWithContext")
133496		defer func() {
133497			sc := -1
133498			if page.Response().Response.Response != nil {
133499				sc = page.Response().Response.Response.StatusCode
133500			}
133501			tracing.EndSpan(ctx, sc, err)
133502		}()
133503	}
133504	next, err := page.fn(ctx, page.plr)
133505	if err != nil {
133506		return err
133507	}
133508	page.plr = next
133509	return nil
133510}
133511
133512// Next advances to the next page of values.  If there was an error making
133513// the request the page does not advance and the error is returned.
133514// Deprecated: Use NextWithContext() instead.
133515func (page *PipelineListResponsePage) Next() error {
133516	return page.NextWithContext(context.Background())
133517}
133518
133519// NotDone returns true if the page enumeration should be started or is not yet complete.
133520func (page PipelineListResponsePage) NotDone() bool {
133521	return !page.plr.IsEmpty()
133522}
133523
133524// Response returns the raw server response from the last page request.
133525func (page PipelineListResponsePage) Response() PipelineListResponse {
133526	return page.plr
133527}
133528
133529// Values returns the slice of values for the current page or nil if there are no values.
133530func (page PipelineListResponsePage) Values() []PipelineResource {
133531	if page.plr.IsEmpty() {
133532		return nil
133533	}
133534	return *page.plr.Value
133535}
133536
133537// Creates a new instance of the PipelineListResponsePage type.
133538func NewPipelineListResponsePage(getNextPage func(context.Context, PipelineListResponse) (PipelineListResponse, error)) PipelineListResponsePage {
133539	return PipelineListResponsePage{fn: getNextPage}
133540}
133541
133542// PipelineReference pipeline reference type.
133543type PipelineReference struct {
133544	// Type - Pipeline reference type.
133545	Type *string `json:"type,omitempty"`
133546	// ReferenceName - Reference pipeline name.
133547	ReferenceName *string `json:"referenceName,omitempty"`
133548	// Name - Reference name.
133549	Name *string `json:"name,omitempty"`
133550}
133551
133552// PipelineResource pipeline resource type.
133553type PipelineResource struct {
133554	autorest.Response `json:"-"`
133555	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
133556	AdditionalProperties map[string]interface{} `json:""`
133557	// Pipeline - Properties of the pipeline.
133558	*Pipeline `json:"properties,omitempty"`
133559	// ID - READ-ONLY; The resource identifier.
133560	ID *string `json:"id,omitempty"`
133561	// Name - READ-ONLY; The resource name.
133562	Name *string `json:"name,omitempty"`
133563	// Type - READ-ONLY; The resource type.
133564	Type *string `json:"type,omitempty"`
133565	// Etag - READ-ONLY; Etag identifies change in the resource.
133566	Etag *string `json:"etag,omitempty"`
133567}
133568
133569// MarshalJSON is the custom marshaler for PipelineResource.
133570func (pr PipelineResource) MarshalJSON() ([]byte, error) {
133571	objectMap := make(map[string]interface{})
133572	if pr.Pipeline != nil {
133573		objectMap["properties"] = pr.Pipeline
133574	}
133575	for k, v := range pr.AdditionalProperties {
133576		objectMap[k] = v
133577	}
133578	return json.Marshal(objectMap)
133579}
133580
133581// UnmarshalJSON is the custom unmarshaler for PipelineResource struct.
133582func (pr *PipelineResource) UnmarshalJSON(body []byte) error {
133583	var m map[string]*json.RawMessage
133584	err := json.Unmarshal(body, &m)
133585	if err != nil {
133586		return err
133587	}
133588	for k, v := range m {
133589		switch k {
133590		default:
133591			if v != nil {
133592				var additionalProperties interface{}
133593				err = json.Unmarshal(*v, &additionalProperties)
133594				if err != nil {
133595					return err
133596				}
133597				if pr.AdditionalProperties == nil {
133598					pr.AdditionalProperties = make(map[string]interface{})
133599				}
133600				pr.AdditionalProperties[k] = additionalProperties
133601			}
133602		case "properties":
133603			if v != nil {
133604				var pipeline Pipeline
133605				err = json.Unmarshal(*v, &pipeline)
133606				if err != nil {
133607					return err
133608				}
133609				pr.Pipeline = &pipeline
133610			}
133611		case "id":
133612			if v != nil {
133613				var ID string
133614				err = json.Unmarshal(*v, &ID)
133615				if err != nil {
133616					return err
133617				}
133618				pr.ID = &ID
133619			}
133620		case "name":
133621			if v != nil {
133622				var name string
133623				err = json.Unmarshal(*v, &name)
133624				if err != nil {
133625					return err
133626				}
133627				pr.Name = &name
133628			}
133629		case "type":
133630			if v != nil {
133631				var typeVar string
133632				err = json.Unmarshal(*v, &typeVar)
133633				if err != nil {
133634					return err
133635				}
133636				pr.Type = &typeVar
133637			}
133638		case "etag":
133639			if v != nil {
133640				var etag string
133641				err = json.Unmarshal(*v, &etag)
133642				if err != nil {
133643					return err
133644				}
133645				pr.Etag = &etag
133646			}
133647		}
133648	}
133649
133650	return nil
133651}
133652
133653// PipelineRun information about a pipeline run.
133654type PipelineRun struct {
133655	autorest.Response `json:"-"`
133656	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
133657	AdditionalProperties map[string]interface{} `json:""`
133658	// RunID - READ-ONLY; Identifier of a run.
133659	RunID *string `json:"runId,omitempty"`
133660	// RunGroupID - READ-ONLY; Identifier that correlates all the recovery runs of a pipeline run.
133661	RunGroupID *string `json:"runGroupId,omitempty"`
133662	// IsLatest - READ-ONLY; Indicates if the recovered pipeline run is the latest in its group.
133663	IsLatest *bool `json:"isLatest,omitempty"`
133664	// PipelineName - READ-ONLY; The pipeline name.
133665	PipelineName *string `json:"pipelineName,omitempty"`
133666	// Parameters - READ-ONLY; The full or partial list of parameter name, value pair used in the pipeline run.
133667	Parameters map[string]*string `json:"parameters"`
133668	// InvokedBy - READ-ONLY; Entity that started the pipeline run.
133669	InvokedBy *PipelineRunInvokedBy `json:"invokedBy,omitempty"`
133670	// LastUpdated - READ-ONLY; The last updated timestamp for the pipeline run event in ISO8601 format.
133671	LastUpdated *date.Time `json:"lastUpdated,omitempty"`
133672	// RunStart - READ-ONLY; The start time of a pipeline run in ISO8601 format.
133673	RunStart *date.Time `json:"runStart,omitempty"`
133674	// RunEnd - READ-ONLY; The end time of a pipeline run in ISO8601 format.
133675	RunEnd *date.Time `json:"runEnd,omitempty"`
133676	// DurationInMs - READ-ONLY; The duration of a pipeline run.
133677	DurationInMs *int32 `json:"durationInMs,omitempty"`
133678	// Status - READ-ONLY; The status of a pipeline run.
133679	Status *string `json:"status,omitempty"`
133680	// Message - READ-ONLY; The message from a pipeline run.
133681	Message *string `json:"message,omitempty"`
133682}
133683
133684// MarshalJSON is the custom marshaler for PipelineRun.
133685func (pr PipelineRun) MarshalJSON() ([]byte, error) {
133686	objectMap := make(map[string]interface{})
133687	for k, v := range pr.AdditionalProperties {
133688		objectMap[k] = v
133689	}
133690	return json.Marshal(objectMap)
133691}
133692
133693// UnmarshalJSON is the custom unmarshaler for PipelineRun struct.
133694func (pr *PipelineRun) UnmarshalJSON(body []byte) error {
133695	var m map[string]*json.RawMessage
133696	err := json.Unmarshal(body, &m)
133697	if err != nil {
133698		return err
133699	}
133700	for k, v := range m {
133701		switch k {
133702		default:
133703			if v != nil {
133704				var additionalProperties interface{}
133705				err = json.Unmarshal(*v, &additionalProperties)
133706				if err != nil {
133707					return err
133708				}
133709				if pr.AdditionalProperties == nil {
133710					pr.AdditionalProperties = make(map[string]interface{})
133711				}
133712				pr.AdditionalProperties[k] = additionalProperties
133713			}
133714		case "runId":
133715			if v != nil {
133716				var runID string
133717				err = json.Unmarshal(*v, &runID)
133718				if err != nil {
133719					return err
133720				}
133721				pr.RunID = &runID
133722			}
133723		case "runGroupId":
133724			if v != nil {
133725				var runGroupID string
133726				err = json.Unmarshal(*v, &runGroupID)
133727				if err != nil {
133728					return err
133729				}
133730				pr.RunGroupID = &runGroupID
133731			}
133732		case "isLatest":
133733			if v != nil {
133734				var isLatest bool
133735				err = json.Unmarshal(*v, &isLatest)
133736				if err != nil {
133737					return err
133738				}
133739				pr.IsLatest = &isLatest
133740			}
133741		case "pipelineName":
133742			if v != nil {
133743				var pipelineName string
133744				err = json.Unmarshal(*v, &pipelineName)
133745				if err != nil {
133746					return err
133747				}
133748				pr.PipelineName = &pipelineName
133749			}
133750		case "parameters":
133751			if v != nil {
133752				var parameters map[string]*string
133753				err = json.Unmarshal(*v, &parameters)
133754				if err != nil {
133755					return err
133756				}
133757				pr.Parameters = parameters
133758			}
133759		case "invokedBy":
133760			if v != nil {
133761				var invokedBy PipelineRunInvokedBy
133762				err = json.Unmarshal(*v, &invokedBy)
133763				if err != nil {
133764					return err
133765				}
133766				pr.InvokedBy = &invokedBy
133767			}
133768		case "lastUpdated":
133769			if v != nil {
133770				var lastUpdated date.Time
133771				err = json.Unmarshal(*v, &lastUpdated)
133772				if err != nil {
133773					return err
133774				}
133775				pr.LastUpdated = &lastUpdated
133776			}
133777		case "runStart":
133778			if v != nil {
133779				var runStart date.Time
133780				err = json.Unmarshal(*v, &runStart)
133781				if err != nil {
133782					return err
133783				}
133784				pr.RunStart = &runStart
133785			}
133786		case "runEnd":
133787			if v != nil {
133788				var runEnd date.Time
133789				err = json.Unmarshal(*v, &runEnd)
133790				if err != nil {
133791					return err
133792				}
133793				pr.RunEnd = &runEnd
133794			}
133795		case "durationInMs":
133796			if v != nil {
133797				var durationInMs int32
133798				err = json.Unmarshal(*v, &durationInMs)
133799				if err != nil {
133800					return err
133801				}
133802				pr.DurationInMs = &durationInMs
133803			}
133804		case "status":
133805			if v != nil {
133806				var status string
133807				err = json.Unmarshal(*v, &status)
133808				if err != nil {
133809					return err
133810				}
133811				pr.Status = &status
133812			}
133813		case "message":
133814			if v != nil {
133815				var message string
133816				err = json.Unmarshal(*v, &message)
133817				if err != nil {
133818					return err
133819				}
133820				pr.Message = &message
133821			}
133822		}
133823	}
133824
133825	return nil
133826}
133827
133828// PipelineRunInvokedBy provides entity name and id that started the pipeline run.
133829type PipelineRunInvokedBy struct {
133830	// Name - READ-ONLY; Name of the entity that started the pipeline run.
133831	Name *string `json:"name,omitempty"`
133832	// ID - READ-ONLY; The ID of the entity that started the run.
133833	ID *string `json:"id,omitempty"`
133834	// InvokedByType - READ-ONLY; The type of the entity that started the run.
133835	InvokedByType *string `json:"invokedByType,omitempty"`
133836}
133837
133838// PipelineRunsQueryResponse a list pipeline runs.
133839type PipelineRunsQueryResponse struct {
133840	autorest.Response `json:"-"`
133841	// Value - List of pipeline runs.
133842	Value *[]PipelineRun `json:"value,omitempty"`
133843	// ContinuationToken - The continuation token for getting the next page of results, if any remaining results exist, null otherwise.
133844	ContinuationToken *string `json:"continuationToken,omitempty"`
133845}
133846
133847// PolybaseSettings polyBase settings.
133848type PolybaseSettings struct {
133849	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
133850	AdditionalProperties map[string]interface{} `json:""`
133851	// RejectType - Reject type. Possible values include: 'Value', 'Percentage'
133852	RejectType PolybaseSettingsRejectType `json:"rejectType,omitempty"`
133853	// 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.
133854	RejectValue interface{} `json:"rejectValue,omitempty"`
133855	// 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.
133856	RejectSampleValue interface{} `json:"rejectSampleValue,omitempty"`
133857	// 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).
133858	UseTypeDefault interface{} `json:"useTypeDefault,omitempty"`
133859}
133860
133861// MarshalJSON is the custom marshaler for PolybaseSettings.
133862func (ps PolybaseSettings) MarshalJSON() ([]byte, error) {
133863	objectMap := make(map[string]interface{})
133864	if ps.RejectType != "" {
133865		objectMap["rejectType"] = ps.RejectType
133866	}
133867	if ps.RejectValue != nil {
133868		objectMap["rejectValue"] = ps.RejectValue
133869	}
133870	if ps.RejectSampleValue != nil {
133871		objectMap["rejectSampleValue"] = ps.RejectSampleValue
133872	}
133873	if ps.UseTypeDefault != nil {
133874		objectMap["useTypeDefault"] = ps.UseTypeDefault
133875	}
133876	for k, v := range ps.AdditionalProperties {
133877		objectMap[k] = v
133878	}
133879	return json.Marshal(objectMap)
133880}
133881
133882// UnmarshalJSON is the custom unmarshaler for PolybaseSettings struct.
133883func (ps *PolybaseSettings) UnmarshalJSON(body []byte) error {
133884	var m map[string]*json.RawMessage
133885	err := json.Unmarshal(body, &m)
133886	if err != nil {
133887		return err
133888	}
133889	for k, v := range m {
133890		switch k {
133891		default:
133892			if v != nil {
133893				var additionalProperties interface{}
133894				err = json.Unmarshal(*v, &additionalProperties)
133895				if err != nil {
133896					return err
133897				}
133898				if ps.AdditionalProperties == nil {
133899					ps.AdditionalProperties = make(map[string]interface{})
133900				}
133901				ps.AdditionalProperties[k] = additionalProperties
133902			}
133903		case "rejectType":
133904			if v != nil {
133905				var rejectType PolybaseSettingsRejectType
133906				err = json.Unmarshal(*v, &rejectType)
133907				if err != nil {
133908					return err
133909				}
133910				ps.RejectType = rejectType
133911			}
133912		case "rejectValue":
133913			if v != nil {
133914				var rejectValue interface{}
133915				err = json.Unmarshal(*v, &rejectValue)
133916				if err != nil {
133917					return err
133918				}
133919				ps.RejectValue = rejectValue
133920			}
133921		case "rejectSampleValue":
133922			if v != nil {
133923				var rejectSampleValue interface{}
133924				err = json.Unmarshal(*v, &rejectSampleValue)
133925				if err != nil {
133926					return err
133927				}
133928				ps.RejectSampleValue = rejectSampleValue
133929			}
133930		case "useTypeDefault":
133931			if v != nil {
133932				var useTypeDefault interface{}
133933				err = json.Unmarshal(*v, &useTypeDefault)
133934				if err != nil {
133935					return err
133936				}
133937				ps.UseTypeDefault = useTypeDefault
133938			}
133939		}
133940	}
133941
133942	return nil
133943}
133944
133945// PostgreSQLLinkedService linked service for PostgreSQL data source.
133946type PostgreSQLLinkedService struct {
133947	// PostgreSQLLinkedServiceTypeProperties - PostgreSQL linked service properties.
133948	*PostgreSQLLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
133949	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
133950	AdditionalProperties map[string]interface{} `json:""`
133951	// ConnectVia - The integration runtime reference.
133952	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
133953	// Description - Linked service description.
133954	Description *string `json:"description,omitempty"`
133955	// Parameters - Parameters for linked service.
133956	Parameters map[string]*ParameterSpecification `json:"parameters"`
133957	// Annotations - List of tags that can be used for describing the linked service.
133958	Annotations *[]interface{} `json:"annotations,omitempty"`
133959	// Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', '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', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage'
133960	Type TypeBasicLinkedService `json:"type,omitempty"`
133961}
133962
133963// MarshalJSON is the custom marshaler for PostgreSQLLinkedService.
133964func (psls PostgreSQLLinkedService) MarshalJSON() ([]byte, error) {
133965	psls.Type = TypePostgreSQL
133966	objectMap := make(map[string]interface{})
133967	if psls.PostgreSQLLinkedServiceTypeProperties != nil {
133968		objectMap["typeProperties"] = psls.PostgreSQLLinkedServiceTypeProperties
133969	}
133970	if psls.ConnectVia != nil {
133971		objectMap["connectVia"] = psls.ConnectVia
133972	}
133973	if psls.Description != nil {
133974		objectMap["description"] = psls.Description
133975	}
133976	if psls.Parameters != nil {
133977		objectMap["parameters"] = psls.Parameters
133978	}
133979	if psls.Annotations != nil {
133980		objectMap["annotations"] = psls.Annotations
133981	}
133982	if psls.Type != "" {
133983		objectMap["type"] = psls.Type
133984	}
133985	for k, v := range psls.AdditionalProperties {
133986		objectMap[k] = v
133987	}
133988	return json.Marshal(objectMap)
133989}
133990
133991// AsAzureFunctionLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
133992func (psls PostgreSQLLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) {
133993	return nil, false
133994}
133995
133996// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
133997func (psls PostgreSQLLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) {
133998	return nil, false
133999}
134000
134001// AsSapTableLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
134002func (psls PostgreSQLLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) {
134003	return nil, false
134004}
134005
134006// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
134007func (psls PostgreSQLLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) {
134008	return nil, false
134009}
134010
134011// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
134012func (psls PostgreSQLLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) {
134013	return nil, false
134014}
134015
134016// AsDynamicsAXLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
134017func (psls PostgreSQLLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) {
134018	return nil, false
134019}
134020
134021// AsResponsysLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
134022func (psls PostgreSQLLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
134023	return nil, false
134024}
134025
134026// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
134027func (psls PostgreSQLLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
134028	return nil, false
134029}
134030
134031// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
134032func (psls PostgreSQLLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
134033	return nil, false
134034}
134035
134036// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
134037func (psls PostgreSQLLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
134038	return nil, false
134039}
134040
134041// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
134042func (psls PostgreSQLLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
134043	return nil, false
134044}
134045
134046// AsNetezzaLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
134047func (psls PostgreSQLLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
134048	return nil, false
134049}
134050
134051// AsVerticaLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
134052func (psls PostgreSQLLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
134053	return nil, false
134054}
134055
134056// AsZohoLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
134057func (psls PostgreSQLLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
134058	return nil, false
134059}
134060
134061// AsXeroLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
134062func (psls PostgreSQLLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
134063	return nil, false
134064}
134065
134066// AsSquareLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
134067func (psls PostgreSQLLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
134068	return nil, false
134069}
134070
134071// AsSparkLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
134072func (psls PostgreSQLLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
134073	return nil, false
134074}
134075
134076// AsShopifyLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
134077func (psls PostgreSQLLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
134078	return nil, false
134079}
134080
134081// AsServiceNowLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
134082func (psls PostgreSQLLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
134083	return nil, false
134084}
134085
134086// AsQuickBooksLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
134087func (psls PostgreSQLLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
134088	return nil, false
134089}
134090
134091// AsPrestoLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
134092func (psls PostgreSQLLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
134093	return nil, false
134094}
134095
134096// AsPhoenixLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
134097func (psls PostgreSQLLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
134098	return nil, false
134099}
134100
134101// AsPaypalLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
134102func (psls PostgreSQLLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
134103	return nil, false
134104}
134105
134106// AsMarketoLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
134107func (psls PostgreSQLLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
134108	return nil, false
134109}
134110
134111// AsMariaDBLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
134112func (psls PostgreSQLLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
134113	return nil, false
134114}
134115
134116// AsMagentoLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
134117func (psls PostgreSQLLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
134118	return nil, false
134119}
134120
134121// AsJiraLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
134122func (psls PostgreSQLLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
134123	return nil, false
134124}
134125
134126// AsImpalaLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
134127func (psls PostgreSQLLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
134128	return nil, false
134129}
134130
134131// AsHubspotLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
134132func (psls PostgreSQLLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
134133	return nil, false
134134}
134135
134136// AsHiveLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
134137func (psls PostgreSQLLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
134138	return nil, false
134139}
134140
134141// AsHBaseLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
134142func (psls PostgreSQLLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
134143	return nil, false
134144}
134145
134146// AsGreenplumLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
134147func (psls PostgreSQLLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
134148	return nil, false
134149}
134150
134151// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
134152func (psls PostgreSQLLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
134153	return nil, false
134154}
134155
134156// AsEloquaLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
134157func (psls PostgreSQLLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
134158	return nil, false
134159}
134160
134161// AsDrillLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
134162func (psls PostgreSQLLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
134163	return nil, false
134164}
134165
134166// AsCouchbaseLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
134167func (psls PostgreSQLLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
134168	return nil, false
134169}
134170
134171// AsConcurLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
134172func (psls PostgreSQLLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
134173	return nil, false
134174}
134175
134176// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
134177func (psls PostgreSQLLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
134178	return nil, false
134179}
134180
134181// AsAmazonMWSLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
134182func (psls PostgreSQLLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
134183	return nil, false
134184}
134185
134186// AsSapHanaLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
134187func (psls PostgreSQLLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
134188	return nil, false
134189}
134190
134191// AsSapBWLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
134192func (psls PostgreSQLLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
134193	return nil, false
134194}
134195
134196// AsSftpServerLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
134197func (psls PostgreSQLLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
134198	return nil, false
134199}
134200
134201// AsFtpServerLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
134202func (psls PostgreSQLLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
134203	return nil, false
134204}
134205
134206// AsHTTPLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
134207func (psls PostgreSQLLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
134208	return nil, false
134209}
134210
134211// AsAzureSearchLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
134212func (psls PostgreSQLLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
134213	return nil, false
134214}
134215
134216// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
134217func (psls PostgreSQLLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
134218	return nil, false
134219}
134220
134221// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
134222func (psls PostgreSQLLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
134223	return nil, false
134224}
134225
134226// AsAmazonS3LinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
134227func (psls PostgreSQLLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
134228	return nil, false
134229}
134230
134231// AsRestServiceLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
134232func (psls PostgreSQLLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) {
134233	return nil, false
134234}
134235
134236// AsSapOpenHubLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
134237func (psls PostgreSQLLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) {
134238	return nil, false
134239}
134240
134241// AsSapEccLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
134242func (psls PostgreSQLLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
134243	return nil, false
134244}
134245
134246// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
134247func (psls PostgreSQLLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
134248	return nil, false
134249}
134250
134251// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
134252func (psls PostgreSQLLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) {
134253	return nil, false
134254}
134255
134256// AsSalesforceLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
134257func (psls PostgreSQLLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
134258	return nil, false
134259}
134260
134261// AsOffice365LinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
134262func (psls PostgreSQLLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) {
134263	return nil, false
134264}
134265
134266// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
134267func (psls PostgreSQLLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) {
134268	return nil, false
134269}
134270
134271// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
134272func (psls PostgreSQLLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
134273	return nil, false
134274}
134275
134276// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
134277func (psls PostgreSQLLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) {
134278	return nil, false
134279}
134280
134281// AsMongoDbV2LinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
134282func (psls PostgreSQLLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) {
134283	return nil, false
134284}
134285
134286// AsMongoDbLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
134287func (psls PostgreSQLLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
134288	return nil, false
134289}
134290
134291// AsCassandraLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
134292func (psls PostgreSQLLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
134293	return nil, false
134294}
134295
134296// AsWebLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
134297func (psls PostgreSQLLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
134298	return nil, false
134299}
134300
134301// AsODataLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
134302func (psls PostgreSQLLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
134303	return nil, false
134304}
134305
134306// AsHdfsLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
134307func (psls PostgreSQLLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
134308	return nil, false
134309}
134310
134311// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
134312func (psls PostgreSQLLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) {
134313	return nil, false
134314}
134315
134316// AsInformixLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
134317func (psls PostgreSQLLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) {
134318	return nil, false
134319}
134320
134321// AsOdbcLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
134322func (psls PostgreSQLLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
134323	return nil, false
134324}
134325
134326// AsAzureMLLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
134327func (psls PostgreSQLLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
134328	return nil, false
134329}
134330
134331// AsTeradataLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
134332func (psls PostgreSQLLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
134333	return nil, false
134334}
134335
134336// AsDb2LinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
134337func (psls PostgreSQLLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
134338	return nil, false
134339}
134340
134341// AsSybaseLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
134342func (psls PostgreSQLLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
134343	return nil, false
134344}
134345
134346// AsPostgreSQLLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
134347func (psls PostgreSQLLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
134348	return &psls, true
134349}
134350
134351// AsMySQLLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
134352func (psls PostgreSQLLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
134353	return nil, false
134354}
134355
134356// AsAzureMySQLLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
134357func (psls PostgreSQLLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
134358	return nil, false
134359}
134360
134361// AsOracleLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
134362func (psls PostgreSQLLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
134363	return nil, false
134364}
134365
134366// AsFileServerLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
134367func (psls PostgreSQLLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
134368	return nil, false
134369}
134370
134371// AsHDInsightLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
134372func (psls PostgreSQLLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
134373	return nil, false
134374}
134375
134376// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
134377func (psls PostgreSQLLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) {
134378	return nil, false
134379}
134380
134381// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
134382func (psls PostgreSQLLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) {
134383	return nil, false
134384}
134385
134386// AsDynamicsLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
134387func (psls PostgreSQLLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
134388	return nil, false
134389}
134390
134391// AsCosmosDbLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
134392func (psls PostgreSQLLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
134393	return nil, false
134394}
134395
134396// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
134397func (psls PostgreSQLLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
134398	return nil, false
134399}
134400
134401// AsAzureBatchLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
134402func (psls PostgreSQLLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
134403	return nil, false
134404}
134405
134406// AsAzureSQLMILinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
134407func (psls PostgreSQLLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) {
134408	return nil, false
134409}
134410
134411// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
134412func (psls PostgreSQLLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
134413	return nil, false
134414}
134415
134416// AsSQLServerLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
134417func (psls PostgreSQLLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
134418	return nil, false
134419}
134420
134421// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
134422func (psls PostgreSQLLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
134423	return nil, false
134424}
134425
134426// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
134427func (psls PostgreSQLLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) {
134428	return nil, false
134429}
134430
134431// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
134432func (psls PostgreSQLLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) {
134433	return nil, false
134434}
134435
134436// AsAzureStorageLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
134437func (psls PostgreSQLLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
134438	return nil, false
134439}
134440
134441// AsLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
134442func (psls PostgreSQLLinkedService) AsLinkedService() (*LinkedService, bool) {
134443	return nil, false
134444}
134445
134446// AsBasicLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
134447func (psls PostgreSQLLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
134448	return &psls, true
134449}
134450
134451// UnmarshalJSON is the custom unmarshaler for PostgreSQLLinkedService struct.
134452func (psls *PostgreSQLLinkedService) UnmarshalJSON(body []byte) error {
134453	var m map[string]*json.RawMessage
134454	err := json.Unmarshal(body, &m)
134455	if err != nil {
134456		return err
134457	}
134458	for k, v := range m {
134459		switch k {
134460		case "typeProperties":
134461			if v != nil {
134462				var postgreSQLLinkedServiceTypeProperties PostgreSQLLinkedServiceTypeProperties
134463				err = json.Unmarshal(*v, &postgreSQLLinkedServiceTypeProperties)
134464				if err != nil {
134465					return err
134466				}
134467				psls.PostgreSQLLinkedServiceTypeProperties = &postgreSQLLinkedServiceTypeProperties
134468			}
134469		default:
134470			if v != nil {
134471				var additionalProperties interface{}
134472				err = json.Unmarshal(*v, &additionalProperties)
134473				if err != nil {
134474					return err
134475				}
134476				if psls.AdditionalProperties == nil {
134477					psls.AdditionalProperties = make(map[string]interface{})
134478				}
134479				psls.AdditionalProperties[k] = additionalProperties
134480			}
134481		case "connectVia":
134482			if v != nil {
134483				var connectVia IntegrationRuntimeReference
134484				err = json.Unmarshal(*v, &connectVia)
134485				if err != nil {
134486					return err
134487				}
134488				psls.ConnectVia = &connectVia
134489			}
134490		case "description":
134491			if v != nil {
134492				var description string
134493				err = json.Unmarshal(*v, &description)
134494				if err != nil {
134495					return err
134496				}
134497				psls.Description = &description
134498			}
134499		case "parameters":
134500			if v != nil {
134501				var parameters map[string]*ParameterSpecification
134502				err = json.Unmarshal(*v, &parameters)
134503				if err != nil {
134504					return err
134505				}
134506				psls.Parameters = parameters
134507			}
134508		case "annotations":
134509			if v != nil {
134510				var annotations []interface{}
134511				err = json.Unmarshal(*v, &annotations)
134512				if err != nil {
134513					return err
134514				}
134515				psls.Annotations = &annotations
134516			}
134517		case "type":
134518			if v != nil {
134519				var typeVar TypeBasicLinkedService
134520				err = json.Unmarshal(*v, &typeVar)
134521				if err != nil {
134522					return err
134523				}
134524				psls.Type = typeVar
134525			}
134526		}
134527	}
134528
134529	return nil
134530}
134531
134532// PostgreSQLLinkedServiceTypeProperties postgreSQL linked service properties.
134533type PostgreSQLLinkedServiceTypeProperties struct {
134534	// ConnectionString - The connection string.
134535	ConnectionString BasicSecretBase `json:"connectionString,omitempty"`
134536	// Password - The Azure key vault secret reference of password in connection string.
134537	Password *AzureKeyVaultSecretReference `json:"password,omitempty"`
134538	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
134539	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
134540}
134541
134542// UnmarshalJSON is the custom unmarshaler for PostgreSQLLinkedServiceTypeProperties struct.
134543func (pslstp *PostgreSQLLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
134544	var m map[string]*json.RawMessage
134545	err := json.Unmarshal(body, &m)
134546	if err != nil {
134547		return err
134548	}
134549	for k, v := range m {
134550		switch k {
134551		case "connectionString":
134552			if v != nil {
134553				connectionString, err := unmarshalBasicSecretBase(*v)
134554				if err != nil {
134555					return err
134556				}
134557				pslstp.ConnectionString = connectionString
134558			}
134559		case "password":
134560			if v != nil {
134561				var password AzureKeyVaultSecretReference
134562				err = json.Unmarshal(*v, &password)
134563				if err != nil {
134564					return err
134565				}
134566				pslstp.Password = &password
134567			}
134568		case "encryptedCredential":
134569			if v != nil {
134570				var encryptedCredential interface{}
134571				err = json.Unmarshal(*v, &encryptedCredential)
134572				if err != nil {
134573					return err
134574				}
134575				pslstp.EncryptedCredential = encryptedCredential
134576			}
134577		}
134578	}
134579
134580	return nil
134581}
134582
134583// PostgreSQLSource a copy activity source for PostgreSQL databases.
134584type PostgreSQLSource struct {
134585	// Query - Database query. Type: string (or Expression with resultType string).
134586	Query interface{} `json:"query,omitempty"`
134587	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
134588	AdditionalProperties map[string]interface{} `json:""`
134589	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
134590	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
134591	// 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])).
134592	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
134593	// MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer).
134594	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
134595	// Type - Possible values include: 'TypeCopySource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', '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', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeCassandraSource', 'TypeWebSource', 'TypeTeradataSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeAzureMySQLSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeRestSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceServiceCloudSource', 'TypeSalesforceSource', 'TypeODataSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeMicrosoftAccessSource', 'TypeInformixSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAzureTableSource', 'TypeBinarySource', 'TypeDelimitedTextSource', 'TypeParquetSource'
134596	Type TypeBasicCopySource `json:"type,omitempty"`
134597}
134598
134599// MarshalJSON is the custom marshaler for PostgreSQLSource.
134600func (pss PostgreSQLSource) MarshalJSON() ([]byte, error) {
134601	pss.Type = TypePostgreSQLSource
134602	objectMap := make(map[string]interface{})
134603	if pss.Query != nil {
134604		objectMap["query"] = pss.Query
134605	}
134606	if pss.SourceRetryCount != nil {
134607		objectMap["sourceRetryCount"] = pss.SourceRetryCount
134608	}
134609	if pss.SourceRetryWait != nil {
134610		objectMap["sourceRetryWait"] = pss.SourceRetryWait
134611	}
134612	if pss.MaxConcurrentConnections != nil {
134613		objectMap["maxConcurrentConnections"] = pss.MaxConcurrentConnections
134614	}
134615	if pss.Type != "" {
134616		objectMap["type"] = pss.Type
134617	}
134618	for k, v := range pss.AdditionalProperties {
134619		objectMap[k] = v
134620	}
134621	return json.Marshal(objectMap)
134622}
134623
134624// AsAmazonRedshiftSource is the BasicCopySource implementation for PostgreSQLSource.
134625func (pss PostgreSQLSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
134626	return nil, false
134627}
134628
134629// AsGoogleAdWordsSource is the BasicCopySource implementation for PostgreSQLSource.
134630func (pss PostgreSQLSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) {
134631	return nil, false
134632}
134633
134634// AsOracleServiceCloudSource is the BasicCopySource implementation for PostgreSQLSource.
134635func (pss PostgreSQLSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) {
134636	return nil, false
134637}
134638
134639// AsDynamicsAXSource is the BasicCopySource implementation for PostgreSQLSource.
134640func (pss PostgreSQLSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) {
134641	return nil, false
134642}
134643
134644// AsResponsysSource is the BasicCopySource implementation for PostgreSQLSource.
134645func (pss PostgreSQLSource) AsResponsysSource() (*ResponsysSource, bool) {
134646	return nil, false
134647}
134648
134649// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for PostgreSQLSource.
134650func (pss PostgreSQLSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
134651	return nil, false
134652}
134653
134654// AsVerticaSource is the BasicCopySource implementation for PostgreSQLSource.
134655func (pss PostgreSQLSource) AsVerticaSource() (*VerticaSource, bool) {
134656	return nil, false
134657}
134658
134659// AsNetezzaSource is the BasicCopySource implementation for PostgreSQLSource.
134660func (pss PostgreSQLSource) AsNetezzaSource() (*NetezzaSource, bool) {
134661	return nil, false
134662}
134663
134664// AsZohoSource is the BasicCopySource implementation for PostgreSQLSource.
134665func (pss PostgreSQLSource) AsZohoSource() (*ZohoSource, bool) {
134666	return nil, false
134667}
134668
134669// AsXeroSource is the BasicCopySource implementation for PostgreSQLSource.
134670func (pss PostgreSQLSource) AsXeroSource() (*XeroSource, bool) {
134671	return nil, false
134672}
134673
134674// AsSquareSource is the BasicCopySource implementation for PostgreSQLSource.
134675func (pss PostgreSQLSource) AsSquareSource() (*SquareSource, bool) {
134676	return nil, false
134677}
134678
134679// AsSparkSource is the BasicCopySource implementation for PostgreSQLSource.
134680func (pss PostgreSQLSource) AsSparkSource() (*SparkSource, bool) {
134681	return nil, false
134682}
134683
134684// AsShopifySource is the BasicCopySource implementation for PostgreSQLSource.
134685func (pss PostgreSQLSource) AsShopifySource() (*ShopifySource, bool) {
134686	return nil, false
134687}
134688
134689// AsServiceNowSource is the BasicCopySource implementation for PostgreSQLSource.
134690func (pss PostgreSQLSource) AsServiceNowSource() (*ServiceNowSource, bool) {
134691	return nil, false
134692}
134693
134694// AsQuickBooksSource is the BasicCopySource implementation for PostgreSQLSource.
134695func (pss PostgreSQLSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
134696	return nil, false
134697}
134698
134699// AsPrestoSource is the BasicCopySource implementation for PostgreSQLSource.
134700func (pss PostgreSQLSource) AsPrestoSource() (*PrestoSource, bool) {
134701	return nil, false
134702}
134703
134704// AsPhoenixSource is the BasicCopySource implementation for PostgreSQLSource.
134705func (pss PostgreSQLSource) AsPhoenixSource() (*PhoenixSource, bool) {
134706	return nil, false
134707}
134708
134709// AsPaypalSource is the BasicCopySource implementation for PostgreSQLSource.
134710func (pss PostgreSQLSource) AsPaypalSource() (*PaypalSource, bool) {
134711	return nil, false
134712}
134713
134714// AsMarketoSource is the BasicCopySource implementation for PostgreSQLSource.
134715func (pss PostgreSQLSource) AsMarketoSource() (*MarketoSource, bool) {
134716	return nil, false
134717}
134718
134719// AsMariaDBSource is the BasicCopySource implementation for PostgreSQLSource.
134720func (pss PostgreSQLSource) AsMariaDBSource() (*MariaDBSource, bool) {
134721	return nil, false
134722}
134723
134724// AsMagentoSource is the BasicCopySource implementation for PostgreSQLSource.
134725func (pss PostgreSQLSource) AsMagentoSource() (*MagentoSource, bool) {
134726	return nil, false
134727}
134728
134729// AsJiraSource is the BasicCopySource implementation for PostgreSQLSource.
134730func (pss PostgreSQLSource) AsJiraSource() (*JiraSource, bool) {
134731	return nil, false
134732}
134733
134734// AsImpalaSource is the BasicCopySource implementation for PostgreSQLSource.
134735func (pss PostgreSQLSource) AsImpalaSource() (*ImpalaSource, bool) {
134736	return nil, false
134737}
134738
134739// AsHubspotSource is the BasicCopySource implementation for PostgreSQLSource.
134740func (pss PostgreSQLSource) AsHubspotSource() (*HubspotSource, bool) {
134741	return nil, false
134742}
134743
134744// AsHiveSource is the BasicCopySource implementation for PostgreSQLSource.
134745func (pss PostgreSQLSource) AsHiveSource() (*HiveSource, bool) {
134746	return nil, false
134747}
134748
134749// AsHBaseSource is the BasicCopySource implementation for PostgreSQLSource.
134750func (pss PostgreSQLSource) AsHBaseSource() (*HBaseSource, bool) {
134751	return nil, false
134752}
134753
134754// AsGreenplumSource is the BasicCopySource implementation for PostgreSQLSource.
134755func (pss PostgreSQLSource) AsGreenplumSource() (*GreenplumSource, bool) {
134756	return nil, false
134757}
134758
134759// AsGoogleBigQuerySource is the BasicCopySource implementation for PostgreSQLSource.
134760func (pss PostgreSQLSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
134761	return nil, false
134762}
134763
134764// AsEloquaSource is the BasicCopySource implementation for PostgreSQLSource.
134765func (pss PostgreSQLSource) AsEloquaSource() (*EloquaSource, bool) {
134766	return nil, false
134767}
134768
134769// AsDrillSource is the BasicCopySource implementation for PostgreSQLSource.
134770func (pss PostgreSQLSource) AsDrillSource() (*DrillSource, bool) {
134771	return nil, false
134772}
134773
134774// AsCouchbaseSource is the BasicCopySource implementation for PostgreSQLSource.
134775func (pss PostgreSQLSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
134776	return nil, false
134777}
134778
134779// AsConcurSource is the BasicCopySource implementation for PostgreSQLSource.
134780func (pss PostgreSQLSource) AsConcurSource() (*ConcurSource, bool) {
134781	return nil, false
134782}
134783
134784// AsAzurePostgreSQLSource is the BasicCopySource implementation for PostgreSQLSource.
134785func (pss PostgreSQLSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
134786	return nil, false
134787}
134788
134789// AsAmazonMWSSource is the BasicCopySource implementation for PostgreSQLSource.
134790func (pss PostgreSQLSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
134791	return nil, false
134792}
134793
134794// AsHTTPSource is the BasicCopySource implementation for PostgreSQLSource.
134795func (pss PostgreSQLSource) AsHTTPSource() (*HTTPSource, bool) {
134796	return nil, false
134797}
134798
134799// AsAzureBlobFSSource is the BasicCopySource implementation for PostgreSQLSource.
134800func (pss PostgreSQLSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) {
134801	return nil, false
134802}
134803
134804// AsAzureDataLakeStoreSource is the BasicCopySource implementation for PostgreSQLSource.
134805func (pss PostgreSQLSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
134806	return nil, false
134807}
134808
134809// AsOffice365Source is the BasicCopySource implementation for PostgreSQLSource.
134810func (pss PostgreSQLSource) AsOffice365Source() (*Office365Source, bool) {
134811	return nil, false
134812}
134813
134814// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for PostgreSQLSource.
134815func (pss PostgreSQLSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) {
134816	return nil, false
134817}
134818
134819// AsMongoDbV2Source is the BasicCopySource implementation for PostgreSQLSource.
134820func (pss PostgreSQLSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) {
134821	return nil, false
134822}
134823
134824// AsMongoDbSource is the BasicCopySource implementation for PostgreSQLSource.
134825func (pss PostgreSQLSource) AsMongoDbSource() (*MongoDbSource, bool) {
134826	return nil, false
134827}
134828
134829// AsCassandraSource is the BasicCopySource implementation for PostgreSQLSource.
134830func (pss PostgreSQLSource) AsCassandraSource() (*CassandraSource, bool) {
134831	return nil, false
134832}
134833
134834// AsWebSource is the BasicCopySource implementation for PostgreSQLSource.
134835func (pss PostgreSQLSource) AsWebSource() (*WebSource, bool) {
134836	return nil, false
134837}
134838
134839// AsTeradataSource is the BasicCopySource implementation for PostgreSQLSource.
134840func (pss PostgreSQLSource) AsTeradataSource() (*TeradataSource, bool) {
134841	return nil, false
134842}
134843
134844// AsOracleSource is the BasicCopySource implementation for PostgreSQLSource.
134845func (pss PostgreSQLSource) AsOracleSource() (*OracleSource, bool) {
134846	return nil, false
134847}
134848
134849// AsAzureDataExplorerSource is the BasicCopySource implementation for PostgreSQLSource.
134850func (pss PostgreSQLSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) {
134851	return nil, false
134852}
134853
134854// AsAzureMySQLSource is the BasicCopySource implementation for PostgreSQLSource.
134855func (pss PostgreSQLSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
134856	return nil, false
134857}
134858
134859// AsHdfsSource is the BasicCopySource implementation for PostgreSQLSource.
134860func (pss PostgreSQLSource) AsHdfsSource() (*HdfsSource, bool) {
134861	return nil, false
134862}
134863
134864// AsFileSystemSource is the BasicCopySource implementation for PostgreSQLSource.
134865func (pss PostgreSQLSource) AsFileSystemSource() (*FileSystemSource, bool) {
134866	return nil, false
134867}
134868
134869// AsSQLDWSource is the BasicCopySource implementation for PostgreSQLSource.
134870func (pss PostgreSQLSource) AsSQLDWSource() (*SQLDWSource, bool) {
134871	return nil, false
134872}
134873
134874// AsSQLMISource is the BasicCopySource implementation for PostgreSQLSource.
134875func (pss PostgreSQLSource) AsSQLMISource() (*SQLMISource, bool) {
134876	return nil, false
134877}
134878
134879// AsAzureSQLSource is the BasicCopySource implementation for PostgreSQLSource.
134880func (pss PostgreSQLSource) AsAzureSQLSource() (*AzureSQLSource, bool) {
134881	return nil, false
134882}
134883
134884// AsSQLServerSource is the BasicCopySource implementation for PostgreSQLSource.
134885func (pss PostgreSQLSource) AsSQLServerSource() (*SQLServerSource, bool) {
134886	return nil, false
134887}
134888
134889// AsSQLSource is the BasicCopySource implementation for PostgreSQLSource.
134890func (pss PostgreSQLSource) AsSQLSource() (*SQLSource, bool) {
134891	return nil, false
134892}
134893
134894// AsRestSource is the BasicCopySource implementation for PostgreSQLSource.
134895func (pss PostgreSQLSource) AsRestSource() (*RestSource, bool) {
134896	return nil, false
134897}
134898
134899// AsSapTableSource is the BasicCopySource implementation for PostgreSQLSource.
134900func (pss PostgreSQLSource) AsSapTableSource() (*SapTableSource, bool) {
134901	return nil, false
134902}
134903
134904// AsSapOpenHubSource is the BasicCopySource implementation for PostgreSQLSource.
134905func (pss PostgreSQLSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) {
134906	return nil, false
134907}
134908
134909// AsSapHanaSource is the BasicCopySource implementation for PostgreSQLSource.
134910func (pss PostgreSQLSource) AsSapHanaSource() (*SapHanaSource, bool) {
134911	return nil, false
134912}
134913
134914// AsSapEccSource is the BasicCopySource implementation for PostgreSQLSource.
134915func (pss PostgreSQLSource) AsSapEccSource() (*SapEccSource, bool) {
134916	return nil, false
134917}
134918
134919// AsSapCloudForCustomerSource is the BasicCopySource implementation for PostgreSQLSource.
134920func (pss PostgreSQLSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
134921	return nil, false
134922}
134923
134924// AsSalesforceServiceCloudSource is the BasicCopySource implementation for PostgreSQLSource.
134925func (pss PostgreSQLSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) {
134926	return nil, false
134927}
134928
134929// AsSalesforceSource is the BasicCopySource implementation for PostgreSQLSource.
134930func (pss PostgreSQLSource) AsSalesforceSource() (*SalesforceSource, bool) {
134931	return nil, false
134932}
134933
134934// AsODataSource is the BasicCopySource implementation for PostgreSQLSource.
134935func (pss PostgreSQLSource) AsODataSource() (*ODataSource, bool) {
134936	return nil, false
134937}
134938
134939// AsSybaseSource is the BasicCopySource implementation for PostgreSQLSource.
134940func (pss PostgreSQLSource) AsSybaseSource() (*SybaseSource, bool) {
134941	return nil, false
134942}
134943
134944// AsPostgreSQLSource is the BasicCopySource implementation for PostgreSQLSource.
134945func (pss PostgreSQLSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) {
134946	return &pss, true
134947}
134948
134949// AsMySQLSource is the BasicCopySource implementation for PostgreSQLSource.
134950func (pss PostgreSQLSource) AsMySQLSource() (*MySQLSource, bool) {
134951	return nil, false
134952}
134953
134954// AsOdbcSource is the BasicCopySource implementation for PostgreSQLSource.
134955func (pss PostgreSQLSource) AsOdbcSource() (*OdbcSource, bool) {
134956	return nil, false
134957}
134958
134959// AsDb2Source is the BasicCopySource implementation for PostgreSQLSource.
134960func (pss PostgreSQLSource) AsDb2Source() (*Db2Source, bool) {
134961	return nil, false
134962}
134963
134964// AsMicrosoftAccessSource is the BasicCopySource implementation for PostgreSQLSource.
134965func (pss PostgreSQLSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) {
134966	return nil, false
134967}
134968
134969// AsInformixSource is the BasicCopySource implementation for PostgreSQLSource.
134970func (pss PostgreSQLSource) AsInformixSource() (*InformixSource, bool) {
134971	return nil, false
134972}
134973
134974// AsRelationalSource is the BasicCopySource implementation for PostgreSQLSource.
134975func (pss PostgreSQLSource) AsRelationalSource() (*RelationalSource, bool) {
134976	return nil, false
134977}
134978
134979// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for PostgreSQLSource.
134980func (pss PostgreSQLSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) {
134981	return nil, false
134982}
134983
134984// AsDynamicsCrmSource is the BasicCopySource implementation for PostgreSQLSource.
134985func (pss PostgreSQLSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) {
134986	return nil, false
134987}
134988
134989// AsDynamicsSource is the BasicCopySource implementation for PostgreSQLSource.
134990func (pss PostgreSQLSource) AsDynamicsSource() (*DynamicsSource, bool) {
134991	return nil, false
134992}
134993
134994// AsDocumentDbCollectionSource is the BasicCopySource implementation for PostgreSQLSource.
134995func (pss PostgreSQLSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
134996	return nil, false
134997}
134998
134999// AsBlobSource is the BasicCopySource implementation for PostgreSQLSource.
135000func (pss PostgreSQLSource) AsBlobSource() (*BlobSource, bool) {
135001	return nil, false
135002}
135003
135004// AsAzureTableSource is the BasicCopySource implementation for PostgreSQLSource.
135005func (pss PostgreSQLSource) AsAzureTableSource() (*AzureTableSource, bool) {
135006	return nil, false
135007}
135008
135009// AsBinarySource is the BasicCopySource implementation for PostgreSQLSource.
135010func (pss PostgreSQLSource) AsBinarySource() (*BinarySource, bool) {
135011	return nil, false
135012}
135013
135014// AsDelimitedTextSource is the BasicCopySource implementation for PostgreSQLSource.
135015func (pss PostgreSQLSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) {
135016	return nil, false
135017}
135018
135019// AsParquetSource is the BasicCopySource implementation for PostgreSQLSource.
135020func (pss PostgreSQLSource) AsParquetSource() (*ParquetSource, bool) {
135021	return nil, false
135022}
135023
135024// AsCopySource is the BasicCopySource implementation for PostgreSQLSource.
135025func (pss PostgreSQLSource) AsCopySource() (*CopySource, bool) {
135026	return nil, false
135027}
135028
135029// AsBasicCopySource is the BasicCopySource implementation for PostgreSQLSource.
135030func (pss PostgreSQLSource) AsBasicCopySource() (BasicCopySource, bool) {
135031	return &pss, true
135032}
135033
135034// UnmarshalJSON is the custom unmarshaler for PostgreSQLSource struct.
135035func (pss *PostgreSQLSource) UnmarshalJSON(body []byte) error {
135036	var m map[string]*json.RawMessage
135037	err := json.Unmarshal(body, &m)
135038	if err != nil {
135039		return err
135040	}
135041	for k, v := range m {
135042		switch k {
135043		case "query":
135044			if v != nil {
135045				var query interface{}
135046				err = json.Unmarshal(*v, &query)
135047				if err != nil {
135048					return err
135049				}
135050				pss.Query = query
135051			}
135052		default:
135053			if v != nil {
135054				var additionalProperties interface{}
135055				err = json.Unmarshal(*v, &additionalProperties)
135056				if err != nil {
135057					return err
135058				}
135059				if pss.AdditionalProperties == nil {
135060					pss.AdditionalProperties = make(map[string]interface{})
135061				}
135062				pss.AdditionalProperties[k] = additionalProperties
135063			}
135064		case "sourceRetryCount":
135065			if v != nil {
135066				var sourceRetryCount interface{}
135067				err = json.Unmarshal(*v, &sourceRetryCount)
135068				if err != nil {
135069					return err
135070				}
135071				pss.SourceRetryCount = sourceRetryCount
135072			}
135073		case "sourceRetryWait":
135074			if v != nil {
135075				var sourceRetryWait interface{}
135076				err = json.Unmarshal(*v, &sourceRetryWait)
135077				if err != nil {
135078					return err
135079				}
135080				pss.SourceRetryWait = sourceRetryWait
135081			}
135082		case "maxConcurrentConnections":
135083			if v != nil {
135084				var maxConcurrentConnections interface{}
135085				err = json.Unmarshal(*v, &maxConcurrentConnections)
135086				if err != nil {
135087					return err
135088				}
135089				pss.MaxConcurrentConnections = maxConcurrentConnections
135090			}
135091		case "type":
135092			if v != nil {
135093				var typeVar TypeBasicCopySource
135094				err = json.Unmarshal(*v, &typeVar)
135095				if err != nil {
135096					return err
135097				}
135098				pss.Type = typeVar
135099			}
135100		}
135101	}
135102
135103	return nil
135104}
135105
135106// PostgreSQLTableDataset the PostgreSQL table dataset.
135107type PostgreSQLTableDataset struct {
135108	// PostgreSQLTableDatasetTypeProperties - PostgreSQL table dataset properties.
135109	*PostgreSQLTableDatasetTypeProperties `json:"typeProperties,omitempty"`
135110	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
135111	AdditionalProperties map[string]interface{} `json:""`
135112	// Description - Dataset description.
135113	Description *string `json:"description,omitempty"`
135114	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
135115	Structure interface{} `json:"structure,omitempty"`
135116	// Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement.
135117	Schema interface{} `json:"schema,omitempty"`
135118	// LinkedServiceName - Linked service reference.
135119	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
135120	// Parameters - Parameters for dataset.
135121	Parameters map[string]*ParameterSpecification `json:"parameters"`
135122	// Annotations - List of tags that can be used for describing the Dataset.
135123	Annotations *[]interface{} `json:"annotations,omitempty"`
135124	// Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level.
135125	Folder *DatasetFolder `json:"folder,omitempty"`
135126	// Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', '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', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeDelimitedText', 'TypeParquet', 'TypeAmazonS3Object'
135127	Type TypeBasicDataset `json:"type,omitempty"`
135128}
135129
135130// MarshalJSON is the custom marshaler for PostgreSQLTableDataset.
135131func (pstd PostgreSQLTableDataset) MarshalJSON() ([]byte, error) {
135132	pstd.Type = TypePostgreSQLTable
135133	objectMap := make(map[string]interface{})
135134	if pstd.PostgreSQLTableDatasetTypeProperties != nil {
135135		objectMap["typeProperties"] = pstd.PostgreSQLTableDatasetTypeProperties
135136	}
135137	if pstd.Description != nil {
135138		objectMap["description"] = pstd.Description
135139	}
135140	if pstd.Structure != nil {
135141		objectMap["structure"] = pstd.Structure
135142	}
135143	if pstd.Schema != nil {
135144		objectMap["schema"] = pstd.Schema
135145	}
135146	if pstd.LinkedServiceName != nil {
135147		objectMap["linkedServiceName"] = pstd.LinkedServiceName
135148	}
135149	if pstd.Parameters != nil {
135150		objectMap["parameters"] = pstd.Parameters
135151	}
135152	if pstd.Annotations != nil {
135153		objectMap["annotations"] = pstd.Annotations
135154	}
135155	if pstd.Folder != nil {
135156		objectMap["folder"] = pstd.Folder
135157	}
135158	if pstd.Type != "" {
135159		objectMap["type"] = pstd.Type
135160	}
135161	for k, v := range pstd.AdditionalProperties {
135162		objectMap[k] = v
135163	}
135164	return json.Marshal(objectMap)
135165}
135166
135167// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for PostgreSQLTableDataset.
135168func (pstd PostgreSQLTableDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) {
135169	return nil, false
135170}
135171
135172// AsAzureDataExplorerTableDataset is the BasicDataset implementation for PostgreSQLTableDataset.
135173func (pstd PostgreSQLTableDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) {
135174	return nil, false
135175}
135176
135177// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for PostgreSQLTableDataset.
135178func (pstd PostgreSQLTableDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) {
135179	return nil, false
135180}
135181
135182// AsDynamicsAXResourceDataset is the BasicDataset implementation for PostgreSQLTableDataset.
135183func (pstd PostgreSQLTableDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) {
135184	return nil, false
135185}
135186
135187// AsResponsysObjectDataset is the BasicDataset implementation for PostgreSQLTableDataset.
135188func (pstd PostgreSQLTableDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
135189	return nil, false
135190}
135191
135192// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for PostgreSQLTableDataset.
135193func (pstd PostgreSQLTableDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
135194	return nil, false
135195}
135196
135197// AsVerticaTableDataset is the BasicDataset implementation for PostgreSQLTableDataset.
135198func (pstd PostgreSQLTableDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
135199	return nil, false
135200}
135201
135202// AsNetezzaTableDataset is the BasicDataset implementation for PostgreSQLTableDataset.
135203func (pstd PostgreSQLTableDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
135204	return nil, false
135205}
135206
135207// AsZohoObjectDataset is the BasicDataset implementation for PostgreSQLTableDataset.
135208func (pstd PostgreSQLTableDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
135209	return nil, false
135210}
135211
135212// AsXeroObjectDataset is the BasicDataset implementation for PostgreSQLTableDataset.
135213func (pstd PostgreSQLTableDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
135214	return nil, false
135215}
135216
135217// AsSquareObjectDataset is the BasicDataset implementation for PostgreSQLTableDataset.
135218func (pstd PostgreSQLTableDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
135219	return nil, false
135220}
135221
135222// AsSparkObjectDataset is the BasicDataset implementation for PostgreSQLTableDataset.
135223func (pstd PostgreSQLTableDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
135224	return nil, false
135225}
135226
135227// AsShopifyObjectDataset is the BasicDataset implementation for PostgreSQLTableDataset.
135228func (pstd PostgreSQLTableDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
135229	return nil, false
135230}
135231
135232// AsServiceNowObjectDataset is the BasicDataset implementation for PostgreSQLTableDataset.
135233func (pstd PostgreSQLTableDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
135234	return nil, false
135235}
135236
135237// AsQuickBooksObjectDataset is the BasicDataset implementation for PostgreSQLTableDataset.
135238func (pstd PostgreSQLTableDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
135239	return nil, false
135240}
135241
135242// AsPrestoObjectDataset is the BasicDataset implementation for PostgreSQLTableDataset.
135243func (pstd PostgreSQLTableDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
135244	return nil, false
135245}
135246
135247// AsPhoenixObjectDataset is the BasicDataset implementation for PostgreSQLTableDataset.
135248func (pstd PostgreSQLTableDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
135249	return nil, false
135250}
135251
135252// AsPaypalObjectDataset is the BasicDataset implementation for PostgreSQLTableDataset.
135253func (pstd PostgreSQLTableDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
135254	return nil, false
135255}
135256
135257// AsMarketoObjectDataset is the BasicDataset implementation for PostgreSQLTableDataset.
135258func (pstd PostgreSQLTableDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
135259	return nil, false
135260}
135261
135262// AsMariaDBTableDataset is the BasicDataset implementation for PostgreSQLTableDataset.
135263func (pstd PostgreSQLTableDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
135264	return nil, false
135265}
135266
135267// AsMagentoObjectDataset is the BasicDataset implementation for PostgreSQLTableDataset.
135268func (pstd PostgreSQLTableDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
135269	return nil, false
135270}
135271
135272// AsJiraObjectDataset is the BasicDataset implementation for PostgreSQLTableDataset.
135273func (pstd PostgreSQLTableDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
135274	return nil, false
135275}
135276
135277// AsImpalaObjectDataset is the BasicDataset implementation for PostgreSQLTableDataset.
135278func (pstd PostgreSQLTableDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
135279	return nil, false
135280}
135281
135282// AsHubspotObjectDataset is the BasicDataset implementation for PostgreSQLTableDataset.
135283func (pstd PostgreSQLTableDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
135284	return nil, false
135285}
135286
135287// AsHiveObjectDataset is the BasicDataset implementation for PostgreSQLTableDataset.
135288func (pstd PostgreSQLTableDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
135289	return nil, false
135290}
135291
135292// AsHBaseObjectDataset is the BasicDataset implementation for PostgreSQLTableDataset.
135293func (pstd PostgreSQLTableDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
135294	return nil, false
135295}
135296
135297// AsGreenplumTableDataset is the BasicDataset implementation for PostgreSQLTableDataset.
135298func (pstd PostgreSQLTableDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
135299	return nil, false
135300}
135301
135302// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for PostgreSQLTableDataset.
135303func (pstd PostgreSQLTableDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
135304	return nil, false
135305}
135306
135307// AsEloquaObjectDataset is the BasicDataset implementation for PostgreSQLTableDataset.
135308func (pstd PostgreSQLTableDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
135309	return nil, false
135310}
135311
135312// AsDrillTableDataset is the BasicDataset implementation for PostgreSQLTableDataset.
135313func (pstd PostgreSQLTableDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
135314	return nil, false
135315}
135316
135317// AsCouchbaseTableDataset is the BasicDataset implementation for PostgreSQLTableDataset.
135318func (pstd PostgreSQLTableDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
135319	return nil, false
135320}
135321
135322// AsConcurObjectDataset is the BasicDataset implementation for PostgreSQLTableDataset.
135323func (pstd PostgreSQLTableDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
135324	return nil, false
135325}
135326
135327// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for PostgreSQLTableDataset.
135328func (pstd PostgreSQLTableDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
135329	return nil, false
135330}
135331
135332// AsAmazonMWSObjectDataset is the BasicDataset implementation for PostgreSQLTableDataset.
135333func (pstd PostgreSQLTableDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
135334	return nil, false
135335}
135336
135337// AsHTTPDataset is the BasicDataset implementation for PostgreSQLTableDataset.
135338func (pstd PostgreSQLTableDataset) AsHTTPDataset() (*HTTPDataset, bool) {
135339	return nil, false
135340}
135341
135342// AsAzureSearchIndexDataset is the BasicDataset implementation for PostgreSQLTableDataset.
135343func (pstd PostgreSQLTableDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
135344	return nil, false
135345}
135346
135347// AsWebTableDataset is the BasicDataset implementation for PostgreSQLTableDataset.
135348func (pstd PostgreSQLTableDataset) AsWebTableDataset() (*WebTableDataset, bool) {
135349	return nil, false
135350}
135351
135352// AsSapTableResourceDataset is the BasicDataset implementation for PostgreSQLTableDataset.
135353func (pstd PostgreSQLTableDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) {
135354	return nil, false
135355}
135356
135357// AsRestResourceDataset is the BasicDataset implementation for PostgreSQLTableDataset.
135358func (pstd PostgreSQLTableDataset) AsRestResourceDataset() (*RestResourceDataset, bool) {
135359	return nil, false
135360}
135361
135362// AsSQLServerTableDataset is the BasicDataset implementation for PostgreSQLTableDataset.
135363func (pstd PostgreSQLTableDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
135364	return nil, false
135365}
135366
135367// AsSapOpenHubTableDataset is the BasicDataset implementation for PostgreSQLTableDataset.
135368func (pstd PostgreSQLTableDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) {
135369	return nil, false
135370}
135371
135372// AsSapHanaTableDataset is the BasicDataset implementation for PostgreSQLTableDataset.
135373func (pstd PostgreSQLTableDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) {
135374	return nil, false
135375}
135376
135377// AsSapEccResourceDataset is the BasicDataset implementation for PostgreSQLTableDataset.
135378func (pstd PostgreSQLTableDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
135379	return nil, false
135380}
135381
135382// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for PostgreSQLTableDataset.
135383func (pstd PostgreSQLTableDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
135384	return nil, false
135385}
135386
135387// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for PostgreSQLTableDataset.
135388func (pstd PostgreSQLTableDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) {
135389	return nil, false
135390}
135391
135392// AsSalesforceObjectDataset is the BasicDataset implementation for PostgreSQLTableDataset.
135393func (pstd PostgreSQLTableDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
135394	return nil, false
135395}
135396
135397// AsMicrosoftAccessTableDataset is the BasicDataset implementation for PostgreSQLTableDataset.
135398func (pstd PostgreSQLTableDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) {
135399	return nil, false
135400}
135401
135402// AsPostgreSQLTableDataset is the BasicDataset implementation for PostgreSQLTableDataset.
135403func (pstd PostgreSQLTableDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) {
135404	return &pstd, true
135405}
135406
135407// AsMySQLTableDataset is the BasicDataset implementation for PostgreSQLTableDataset.
135408func (pstd PostgreSQLTableDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) {
135409	return nil, false
135410}
135411
135412// AsOdbcTableDataset is the BasicDataset implementation for PostgreSQLTableDataset.
135413func (pstd PostgreSQLTableDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) {
135414	return nil, false
135415}
135416
135417// AsInformixTableDataset is the BasicDataset implementation for PostgreSQLTableDataset.
135418func (pstd PostgreSQLTableDataset) AsInformixTableDataset() (*InformixTableDataset, bool) {
135419	return nil, false
135420}
135421
135422// AsRelationalTableDataset is the BasicDataset implementation for PostgreSQLTableDataset.
135423func (pstd PostgreSQLTableDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
135424	return nil, false
135425}
135426
135427// AsAzureMySQLTableDataset is the BasicDataset implementation for PostgreSQLTableDataset.
135428func (pstd PostgreSQLTableDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
135429	return nil, false
135430}
135431
135432// AsTeradataTableDataset is the BasicDataset implementation for PostgreSQLTableDataset.
135433func (pstd PostgreSQLTableDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) {
135434	return nil, false
135435}
135436
135437// AsOracleTableDataset is the BasicDataset implementation for PostgreSQLTableDataset.
135438func (pstd PostgreSQLTableDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
135439	return nil, false
135440}
135441
135442// AsODataResourceDataset is the BasicDataset implementation for PostgreSQLTableDataset.
135443func (pstd PostgreSQLTableDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
135444	return nil, false
135445}
135446
135447// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for PostgreSQLTableDataset.
135448func (pstd PostgreSQLTableDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) {
135449	return nil, false
135450}
135451
135452// AsMongoDbV2CollectionDataset is the BasicDataset implementation for PostgreSQLTableDataset.
135453func (pstd PostgreSQLTableDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) {
135454	return nil, false
135455}
135456
135457// AsMongoDbCollectionDataset is the BasicDataset implementation for PostgreSQLTableDataset.
135458func (pstd PostgreSQLTableDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
135459	return nil, false
135460}
135461
135462// AsFileShareDataset is the BasicDataset implementation for PostgreSQLTableDataset.
135463func (pstd PostgreSQLTableDataset) AsFileShareDataset() (*FileShareDataset, bool) {
135464	return nil, false
135465}
135466
135467// AsOffice365Dataset is the BasicDataset implementation for PostgreSQLTableDataset.
135468func (pstd PostgreSQLTableDataset) AsOffice365Dataset() (*Office365Dataset, bool) {
135469	return nil, false
135470}
135471
135472// AsAzureBlobFSDataset is the BasicDataset implementation for PostgreSQLTableDataset.
135473func (pstd PostgreSQLTableDataset) AsAzureBlobFSDataset() (*AzureBlobFSDataset, bool) {
135474	return nil, false
135475}
135476
135477// AsAzureDataLakeStoreDataset is the BasicDataset implementation for PostgreSQLTableDataset.
135478func (pstd PostgreSQLTableDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) {
135479	return nil, false
135480}
135481
135482// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for PostgreSQLTableDataset.
135483func (pstd PostgreSQLTableDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) {
135484	return nil, false
135485}
135486
135487// AsDynamicsCrmEntityDataset is the BasicDataset implementation for PostgreSQLTableDataset.
135488func (pstd PostgreSQLTableDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) {
135489	return nil, false
135490}
135491
135492// AsDynamicsEntityDataset is the BasicDataset implementation for PostgreSQLTableDataset.
135493func (pstd PostgreSQLTableDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
135494	return nil, false
135495}
135496
135497// AsDocumentDbCollectionDataset is the BasicDataset implementation for PostgreSQLTableDataset.
135498func (pstd PostgreSQLTableDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
135499	return nil, false
135500}
135501
135502// AsCustomDataset is the BasicDataset implementation for PostgreSQLTableDataset.
135503func (pstd PostgreSQLTableDataset) AsCustomDataset() (*CustomDataset, bool) {
135504	return nil, false
135505}
135506
135507// AsCassandraTableDataset is the BasicDataset implementation for PostgreSQLTableDataset.
135508func (pstd PostgreSQLTableDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
135509	return nil, false
135510}
135511
135512// AsAzureSQLDWTableDataset is the BasicDataset implementation for PostgreSQLTableDataset.
135513func (pstd PostgreSQLTableDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
135514	return nil, false
135515}
135516
135517// AsAzureSQLMITableDataset is the BasicDataset implementation for PostgreSQLTableDataset.
135518func (pstd PostgreSQLTableDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) {
135519	return nil, false
135520}
135521
135522// AsAzureSQLTableDataset is the BasicDataset implementation for PostgreSQLTableDataset.
135523func (pstd PostgreSQLTableDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
135524	return nil, false
135525}
135526
135527// AsAzureTableDataset is the BasicDataset implementation for PostgreSQLTableDataset.
135528func (pstd PostgreSQLTableDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
135529	return nil, false
135530}
135531
135532// AsAzureBlobDataset is the BasicDataset implementation for PostgreSQLTableDataset.
135533func (pstd PostgreSQLTableDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) {
135534	return nil, false
135535}
135536
135537// AsBinaryDataset is the BasicDataset implementation for PostgreSQLTableDataset.
135538func (pstd PostgreSQLTableDataset) AsBinaryDataset() (*BinaryDataset, bool) {
135539	return nil, false
135540}
135541
135542// AsDelimitedTextDataset is the BasicDataset implementation for PostgreSQLTableDataset.
135543func (pstd PostgreSQLTableDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) {
135544	return nil, false
135545}
135546
135547// AsParquetDataset is the BasicDataset implementation for PostgreSQLTableDataset.
135548func (pstd PostgreSQLTableDataset) AsParquetDataset() (*ParquetDataset, bool) {
135549	return nil, false
135550}
135551
135552// AsAmazonS3Dataset is the BasicDataset implementation for PostgreSQLTableDataset.
135553func (pstd PostgreSQLTableDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) {
135554	return nil, false
135555}
135556
135557// AsDataset is the BasicDataset implementation for PostgreSQLTableDataset.
135558func (pstd PostgreSQLTableDataset) AsDataset() (*Dataset, bool) {
135559	return nil, false
135560}
135561
135562// AsBasicDataset is the BasicDataset implementation for PostgreSQLTableDataset.
135563func (pstd PostgreSQLTableDataset) AsBasicDataset() (BasicDataset, bool) {
135564	return &pstd, true
135565}
135566
135567// UnmarshalJSON is the custom unmarshaler for PostgreSQLTableDataset struct.
135568func (pstd *PostgreSQLTableDataset) UnmarshalJSON(body []byte) error {
135569	var m map[string]*json.RawMessage
135570	err := json.Unmarshal(body, &m)
135571	if err != nil {
135572		return err
135573	}
135574	for k, v := range m {
135575		switch k {
135576		case "typeProperties":
135577			if v != nil {
135578				var postgreSQLTableDatasetTypeProperties PostgreSQLTableDatasetTypeProperties
135579				err = json.Unmarshal(*v, &postgreSQLTableDatasetTypeProperties)
135580				if err != nil {
135581					return err
135582				}
135583				pstd.PostgreSQLTableDatasetTypeProperties = &postgreSQLTableDatasetTypeProperties
135584			}
135585		default:
135586			if v != nil {
135587				var additionalProperties interface{}
135588				err = json.Unmarshal(*v, &additionalProperties)
135589				if err != nil {
135590					return err
135591				}
135592				if pstd.AdditionalProperties == nil {
135593					pstd.AdditionalProperties = make(map[string]interface{})
135594				}
135595				pstd.AdditionalProperties[k] = additionalProperties
135596			}
135597		case "description":
135598			if v != nil {
135599				var description string
135600				err = json.Unmarshal(*v, &description)
135601				if err != nil {
135602					return err
135603				}
135604				pstd.Description = &description
135605			}
135606		case "structure":
135607			if v != nil {
135608				var structure interface{}
135609				err = json.Unmarshal(*v, &structure)
135610				if err != nil {
135611					return err
135612				}
135613				pstd.Structure = structure
135614			}
135615		case "schema":
135616			if v != nil {
135617				var schema interface{}
135618				err = json.Unmarshal(*v, &schema)
135619				if err != nil {
135620					return err
135621				}
135622				pstd.Schema = schema
135623			}
135624		case "linkedServiceName":
135625			if v != nil {
135626				var linkedServiceName LinkedServiceReference
135627				err = json.Unmarshal(*v, &linkedServiceName)
135628				if err != nil {
135629					return err
135630				}
135631				pstd.LinkedServiceName = &linkedServiceName
135632			}
135633		case "parameters":
135634			if v != nil {
135635				var parameters map[string]*ParameterSpecification
135636				err = json.Unmarshal(*v, &parameters)
135637				if err != nil {
135638					return err
135639				}
135640				pstd.Parameters = parameters
135641			}
135642		case "annotations":
135643			if v != nil {
135644				var annotations []interface{}
135645				err = json.Unmarshal(*v, &annotations)
135646				if err != nil {
135647					return err
135648				}
135649				pstd.Annotations = &annotations
135650			}
135651		case "folder":
135652			if v != nil {
135653				var folder DatasetFolder
135654				err = json.Unmarshal(*v, &folder)
135655				if err != nil {
135656					return err
135657				}
135658				pstd.Folder = &folder
135659			}
135660		case "type":
135661			if v != nil {
135662				var typeVar TypeBasicDataset
135663				err = json.Unmarshal(*v, &typeVar)
135664				if err != nil {
135665					return err
135666				}
135667				pstd.Type = typeVar
135668			}
135669		}
135670	}
135671
135672	return nil
135673}
135674
135675// PostgreSQLTableDatasetTypeProperties postgreSQL table dataset properties.
135676type PostgreSQLTableDatasetTypeProperties struct {
135677	// TableName - The PostgreSQL table name. Type: string (or Expression with resultType string).
135678	TableName interface{} `json:"tableName,omitempty"`
135679}
135680
135681// PrestoLinkedService presto server linked service.
135682type PrestoLinkedService struct {
135683	// PrestoLinkedServiceTypeProperties - Presto server linked service properties.
135684	*PrestoLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
135685	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
135686	AdditionalProperties map[string]interface{} `json:""`
135687	// ConnectVia - The integration runtime reference.
135688	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
135689	// Description - Linked service description.
135690	Description *string `json:"description,omitempty"`
135691	// Parameters - Parameters for linked service.
135692	Parameters map[string]*ParameterSpecification `json:"parameters"`
135693	// Annotations - List of tags that can be used for describing the linked service.
135694	Annotations *[]interface{} `json:"annotations,omitempty"`
135695	// Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', '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', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage'
135696	Type TypeBasicLinkedService `json:"type,omitempty"`
135697}
135698
135699// MarshalJSON is the custom marshaler for PrestoLinkedService.
135700func (pls PrestoLinkedService) MarshalJSON() ([]byte, error) {
135701	pls.Type = TypePresto
135702	objectMap := make(map[string]interface{})
135703	if pls.PrestoLinkedServiceTypeProperties != nil {
135704		objectMap["typeProperties"] = pls.PrestoLinkedServiceTypeProperties
135705	}
135706	if pls.ConnectVia != nil {
135707		objectMap["connectVia"] = pls.ConnectVia
135708	}
135709	if pls.Description != nil {
135710		objectMap["description"] = pls.Description
135711	}
135712	if pls.Parameters != nil {
135713		objectMap["parameters"] = pls.Parameters
135714	}
135715	if pls.Annotations != nil {
135716		objectMap["annotations"] = pls.Annotations
135717	}
135718	if pls.Type != "" {
135719		objectMap["type"] = pls.Type
135720	}
135721	for k, v := range pls.AdditionalProperties {
135722		objectMap[k] = v
135723	}
135724	return json.Marshal(objectMap)
135725}
135726
135727// AsAzureFunctionLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
135728func (pls PrestoLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) {
135729	return nil, false
135730}
135731
135732// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
135733func (pls PrestoLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) {
135734	return nil, false
135735}
135736
135737// AsSapTableLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
135738func (pls PrestoLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) {
135739	return nil, false
135740}
135741
135742// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
135743func (pls PrestoLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) {
135744	return nil, false
135745}
135746
135747// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
135748func (pls PrestoLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) {
135749	return nil, false
135750}
135751
135752// AsDynamicsAXLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
135753func (pls PrestoLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) {
135754	return nil, false
135755}
135756
135757// AsResponsysLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
135758func (pls PrestoLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
135759	return nil, false
135760}
135761
135762// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
135763func (pls PrestoLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
135764	return nil, false
135765}
135766
135767// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
135768func (pls PrestoLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
135769	return nil, false
135770}
135771
135772// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
135773func (pls PrestoLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
135774	return nil, false
135775}
135776
135777// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
135778func (pls PrestoLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
135779	return nil, false
135780}
135781
135782// AsNetezzaLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
135783func (pls PrestoLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
135784	return nil, false
135785}
135786
135787// AsVerticaLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
135788func (pls PrestoLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
135789	return nil, false
135790}
135791
135792// AsZohoLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
135793func (pls PrestoLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
135794	return nil, false
135795}
135796
135797// AsXeroLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
135798func (pls PrestoLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
135799	return nil, false
135800}
135801
135802// AsSquareLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
135803func (pls PrestoLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
135804	return nil, false
135805}
135806
135807// AsSparkLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
135808func (pls PrestoLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
135809	return nil, false
135810}
135811
135812// AsShopifyLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
135813func (pls PrestoLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
135814	return nil, false
135815}
135816
135817// AsServiceNowLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
135818func (pls PrestoLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
135819	return nil, false
135820}
135821
135822// AsQuickBooksLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
135823func (pls PrestoLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
135824	return nil, false
135825}
135826
135827// AsPrestoLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
135828func (pls PrestoLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
135829	return &pls, true
135830}
135831
135832// AsPhoenixLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
135833func (pls PrestoLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
135834	return nil, false
135835}
135836
135837// AsPaypalLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
135838func (pls PrestoLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
135839	return nil, false
135840}
135841
135842// AsMarketoLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
135843func (pls PrestoLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
135844	return nil, false
135845}
135846
135847// AsMariaDBLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
135848func (pls PrestoLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
135849	return nil, false
135850}
135851
135852// AsMagentoLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
135853func (pls PrestoLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
135854	return nil, false
135855}
135856
135857// AsJiraLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
135858func (pls PrestoLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
135859	return nil, false
135860}
135861
135862// AsImpalaLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
135863func (pls PrestoLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
135864	return nil, false
135865}
135866
135867// AsHubspotLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
135868func (pls PrestoLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
135869	return nil, false
135870}
135871
135872// AsHiveLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
135873func (pls PrestoLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
135874	return nil, false
135875}
135876
135877// AsHBaseLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
135878func (pls PrestoLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
135879	return nil, false
135880}
135881
135882// AsGreenplumLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
135883func (pls PrestoLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
135884	return nil, false
135885}
135886
135887// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
135888func (pls PrestoLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
135889	return nil, false
135890}
135891
135892// AsEloquaLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
135893func (pls PrestoLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
135894	return nil, false
135895}
135896
135897// AsDrillLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
135898func (pls PrestoLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
135899	return nil, false
135900}
135901
135902// AsCouchbaseLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
135903func (pls PrestoLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
135904	return nil, false
135905}
135906
135907// AsConcurLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
135908func (pls PrestoLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
135909	return nil, false
135910}
135911
135912// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
135913func (pls PrestoLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
135914	return nil, false
135915}
135916
135917// AsAmazonMWSLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
135918func (pls PrestoLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
135919	return nil, false
135920}
135921
135922// AsSapHanaLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
135923func (pls PrestoLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
135924	return nil, false
135925}
135926
135927// AsSapBWLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
135928func (pls PrestoLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
135929	return nil, false
135930}
135931
135932// AsSftpServerLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
135933func (pls PrestoLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
135934	return nil, false
135935}
135936
135937// AsFtpServerLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
135938func (pls PrestoLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
135939	return nil, false
135940}
135941
135942// AsHTTPLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
135943func (pls PrestoLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
135944	return nil, false
135945}
135946
135947// AsAzureSearchLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
135948func (pls PrestoLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
135949	return nil, false
135950}
135951
135952// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
135953func (pls PrestoLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
135954	return nil, false
135955}
135956
135957// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
135958func (pls PrestoLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
135959	return nil, false
135960}
135961
135962// AsAmazonS3LinkedService is the BasicLinkedService implementation for PrestoLinkedService.
135963func (pls PrestoLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
135964	return nil, false
135965}
135966
135967// AsRestServiceLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
135968func (pls PrestoLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) {
135969	return nil, false
135970}
135971
135972// AsSapOpenHubLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
135973func (pls PrestoLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) {
135974	return nil, false
135975}
135976
135977// AsSapEccLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
135978func (pls PrestoLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
135979	return nil, false
135980}
135981
135982// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
135983func (pls PrestoLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
135984	return nil, false
135985}
135986
135987// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
135988func (pls PrestoLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) {
135989	return nil, false
135990}
135991
135992// AsSalesforceLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
135993func (pls PrestoLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
135994	return nil, false
135995}
135996
135997// AsOffice365LinkedService is the BasicLinkedService implementation for PrestoLinkedService.
135998func (pls PrestoLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) {
135999	return nil, false
136000}
136001
136002// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
136003func (pls PrestoLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) {
136004	return nil, false
136005}
136006
136007// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
136008func (pls PrestoLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
136009	return nil, false
136010}
136011
136012// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for PrestoLinkedService.
136013func (pls PrestoLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) {
136014	return nil, false
136015}
136016
136017// AsMongoDbV2LinkedService is the BasicLinkedService implementation for PrestoLinkedService.
136018func (pls PrestoLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) {
136019	return nil, false
136020}
136021
136022// AsMongoDbLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
136023func (pls PrestoLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
136024	return nil, false
136025}
136026
136027// AsCassandraLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
136028func (pls PrestoLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
136029	return nil, false
136030}
136031
136032// AsWebLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
136033func (pls PrestoLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
136034	return nil, false
136035}
136036
136037// AsODataLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
136038func (pls PrestoLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
136039	return nil, false
136040}
136041
136042// AsHdfsLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
136043func (pls PrestoLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
136044	return nil, false
136045}
136046
136047// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
136048func (pls PrestoLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) {
136049	return nil, false
136050}
136051
136052// AsInformixLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
136053func (pls PrestoLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) {
136054	return nil, false
136055}
136056
136057// AsOdbcLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
136058func (pls PrestoLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
136059	return nil, false
136060}
136061
136062// AsAzureMLLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
136063func (pls PrestoLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
136064	return nil, false
136065}
136066
136067// AsTeradataLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
136068func (pls PrestoLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
136069	return nil, false
136070}
136071
136072// AsDb2LinkedService is the BasicLinkedService implementation for PrestoLinkedService.
136073func (pls PrestoLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
136074	return nil, false
136075}
136076
136077// AsSybaseLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
136078func (pls PrestoLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
136079	return nil, false
136080}
136081
136082// AsPostgreSQLLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
136083func (pls PrestoLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
136084	return nil, false
136085}
136086
136087// AsMySQLLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
136088func (pls PrestoLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
136089	return nil, false
136090}
136091
136092// AsAzureMySQLLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
136093func (pls PrestoLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
136094	return nil, false
136095}
136096
136097// AsOracleLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
136098func (pls PrestoLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
136099	return nil, false
136100}
136101
136102// AsFileServerLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
136103func (pls PrestoLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
136104	return nil, false
136105}
136106
136107// AsHDInsightLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
136108func (pls PrestoLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
136109	return nil, false
136110}
136111
136112// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
136113func (pls PrestoLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) {
136114	return nil, false
136115}
136116
136117// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
136118func (pls PrestoLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) {
136119	return nil, false
136120}
136121
136122// AsDynamicsLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
136123func (pls PrestoLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
136124	return nil, false
136125}
136126
136127// AsCosmosDbLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
136128func (pls PrestoLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
136129	return nil, false
136130}
136131
136132// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
136133func (pls PrestoLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
136134	return nil, false
136135}
136136
136137// AsAzureBatchLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
136138func (pls PrestoLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
136139	return nil, false
136140}
136141
136142// AsAzureSQLMILinkedService is the BasicLinkedService implementation for PrestoLinkedService.
136143func (pls PrestoLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) {
136144	return nil, false
136145}
136146
136147// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
136148func (pls PrestoLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
136149	return nil, false
136150}
136151
136152// AsSQLServerLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
136153func (pls PrestoLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
136154	return nil, false
136155}
136156
136157// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
136158func (pls PrestoLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
136159	return nil, false
136160}
136161
136162// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
136163func (pls PrestoLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) {
136164	return nil, false
136165}
136166
136167// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
136168func (pls PrestoLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) {
136169	return nil, false
136170}
136171
136172// AsAzureStorageLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
136173func (pls PrestoLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
136174	return nil, false
136175}
136176
136177// AsLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
136178func (pls PrestoLinkedService) AsLinkedService() (*LinkedService, bool) {
136179	return nil, false
136180}
136181
136182// AsBasicLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
136183func (pls PrestoLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
136184	return &pls, true
136185}
136186
136187// UnmarshalJSON is the custom unmarshaler for PrestoLinkedService struct.
136188func (pls *PrestoLinkedService) UnmarshalJSON(body []byte) error {
136189	var m map[string]*json.RawMessage
136190	err := json.Unmarshal(body, &m)
136191	if err != nil {
136192		return err
136193	}
136194	for k, v := range m {
136195		switch k {
136196		case "typeProperties":
136197			if v != nil {
136198				var prestoLinkedServiceTypeProperties PrestoLinkedServiceTypeProperties
136199				err = json.Unmarshal(*v, &prestoLinkedServiceTypeProperties)
136200				if err != nil {
136201					return err
136202				}
136203				pls.PrestoLinkedServiceTypeProperties = &prestoLinkedServiceTypeProperties
136204			}
136205		default:
136206			if v != nil {
136207				var additionalProperties interface{}
136208				err = json.Unmarshal(*v, &additionalProperties)
136209				if err != nil {
136210					return err
136211				}
136212				if pls.AdditionalProperties == nil {
136213					pls.AdditionalProperties = make(map[string]interface{})
136214				}
136215				pls.AdditionalProperties[k] = additionalProperties
136216			}
136217		case "connectVia":
136218			if v != nil {
136219				var connectVia IntegrationRuntimeReference
136220				err = json.Unmarshal(*v, &connectVia)
136221				if err != nil {
136222					return err
136223				}
136224				pls.ConnectVia = &connectVia
136225			}
136226		case "description":
136227			if v != nil {
136228				var description string
136229				err = json.Unmarshal(*v, &description)
136230				if err != nil {
136231					return err
136232				}
136233				pls.Description = &description
136234			}
136235		case "parameters":
136236			if v != nil {
136237				var parameters map[string]*ParameterSpecification
136238				err = json.Unmarshal(*v, &parameters)
136239				if err != nil {
136240					return err
136241				}
136242				pls.Parameters = parameters
136243			}
136244		case "annotations":
136245			if v != nil {
136246				var annotations []interface{}
136247				err = json.Unmarshal(*v, &annotations)
136248				if err != nil {
136249					return err
136250				}
136251				pls.Annotations = &annotations
136252			}
136253		case "type":
136254			if v != nil {
136255				var typeVar TypeBasicLinkedService
136256				err = json.Unmarshal(*v, &typeVar)
136257				if err != nil {
136258					return err
136259				}
136260				pls.Type = typeVar
136261			}
136262		}
136263	}
136264
136265	return nil
136266}
136267
136268// PrestoLinkedServiceTypeProperties presto server linked service properties.
136269type PrestoLinkedServiceTypeProperties struct {
136270	// Host - The IP address or host name of the Presto server. (i.e. 192.168.222.160)
136271	Host interface{} `json:"host,omitempty"`
136272	// ServerVersion - The version of the Presto server. (i.e. 0.148-t)
136273	ServerVersion interface{} `json:"serverVersion,omitempty"`
136274	// Catalog - The catalog context for all request against the server.
136275	Catalog interface{} `json:"catalog,omitempty"`
136276	// Port - The TCP port that the Presto server uses to listen for client connections. The default value is 8080.
136277	Port interface{} `json:"port,omitempty"`
136278	// AuthenticationType - The authentication mechanism used to connect to the Presto server. Possible values include: 'PrestoAuthenticationTypeAnonymous', 'PrestoAuthenticationTypeLDAP'
136279	AuthenticationType PrestoAuthenticationType `json:"authenticationType,omitempty"`
136280	// Username - The user name used to connect to the Presto server.
136281	Username interface{} `json:"username,omitempty"`
136282	// Password - The password corresponding to the user name.
136283	Password BasicSecretBase `json:"password,omitempty"`
136284	// EnableSsl - Specifies whether the connections to the server are encrypted using SSL. The default value is false.
136285	EnableSsl interface{} `json:"enableSsl,omitempty"`
136286	// 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.
136287	TrustedCertPath interface{} `json:"trustedCertPath,omitempty"`
136288	// UseSystemTrustStore - Specifies whether to use a CA certificate from the system trust store or from a specified PEM file. The default value is false.
136289	UseSystemTrustStore interface{} `json:"useSystemTrustStore,omitempty"`
136290	// 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.
136291	AllowHostNameCNMismatch interface{} `json:"allowHostNameCNMismatch,omitempty"`
136292	// AllowSelfSignedServerCert - Specifies whether to allow self-signed certificates from the server. The default value is false.
136293	AllowSelfSignedServerCert interface{} `json:"allowSelfSignedServerCert,omitempty"`
136294	// 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.
136295	TimeZoneID interface{} `json:"timeZoneID,omitempty"`
136296	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
136297	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
136298}
136299
136300// UnmarshalJSON is the custom unmarshaler for PrestoLinkedServiceTypeProperties struct.
136301func (plstp *PrestoLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
136302	var m map[string]*json.RawMessage
136303	err := json.Unmarshal(body, &m)
136304	if err != nil {
136305		return err
136306	}
136307	for k, v := range m {
136308		switch k {
136309		case "host":
136310			if v != nil {
136311				var host interface{}
136312				err = json.Unmarshal(*v, &host)
136313				if err != nil {
136314					return err
136315				}
136316				plstp.Host = host
136317			}
136318		case "serverVersion":
136319			if v != nil {
136320				var serverVersion interface{}
136321				err = json.Unmarshal(*v, &serverVersion)
136322				if err != nil {
136323					return err
136324				}
136325				plstp.ServerVersion = serverVersion
136326			}
136327		case "catalog":
136328			if v != nil {
136329				var catalog interface{}
136330				err = json.Unmarshal(*v, &catalog)
136331				if err != nil {
136332					return err
136333				}
136334				plstp.Catalog = catalog
136335			}
136336		case "port":
136337			if v != nil {
136338				var port interface{}
136339				err = json.Unmarshal(*v, &port)
136340				if err != nil {
136341					return err
136342				}
136343				plstp.Port = port
136344			}
136345		case "authenticationType":
136346			if v != nil {
136347				var authenticationType PrestoAuthenticationType
136348				err = json.Unmarshal(*v, &authenticationType)
136349				if err != nil {
136350					return err
136351				}
136352				plstp.AuthenticationType = authenticationType
136353			}
136354		case "username":
136355			if v != nil {
136356				var username interface{}
136357				err = json.Unmarshal(*v, &username)
136358				if err != nil {
136359					return err
136360				}
136361				plstp.Username = username
136362			}
136363		case "password":
136364			if v != nil {
136365				password, err := unmarshalBasicSecretBase(*v)
136366				if err != nil {
136367					return err
136368				}
136369				plstp.Password = password
136370			}
136371		case "enableSsl":
136372			if v != nil {
136373				var enableSsl interface{}
136374				err = json.Unmarshal(*v, &enableSsl)
136375				if err != nil {
136376					return err
136377				}
136378				plstp.EnableSsl = enableSsl
136379			}
136380		case "trustedCertPath":
136381			if v != nil {
136382				var trustedCertPath interface{}
136383				err = json.Unmarshal(*v, &trustedCertPath)
136384				if err != nil {
136385					return err
136386				}
136387				plstp.TrustedCertPath = trustedCertPath
136388			}
136389		case "useSystemTrustStore":
136390			if v != nil {
136391				var useSystemTrustStore interface{}
136392				err = json.Unmarshal(*v, &useSystemTrustStore)
136393				if err != nil {
136394					return err
136395				}
136396				plstp.UseSystemTrustStore = useSystemTrustStore
136397			}
136398		case "allowHostNameCNMismatch":
136399			if v != nil {
136400				var allowHostNameCNMismatch interface{}
136401				err = json.Unmarshal(*v, &allowHostNameCNMismatch)
136402				if err != nil {
136403					return err
136404				}
136405				plstp.AllowHostNameCNMismatch = allowHostNameCNMismatch
136406			}
136407		case "allowSelfSignedServerCert":
136408			if v != nil {
136409				var allowSelfSignedServerCert interface{}
136410				err = json.Unmarshal(*v, &allowSelfSignedServerCert)
136411				if err != nil {
136412					return err
136413				}
136414				plstp.AllowSelfSignedServerCert = allowSelfSignedServerCert
136415			}
136416		case "timeZoneID":
136417			if v != nil {
136418				var timeZoneID interface{}
136419				err = json.Unmarshal(*v, &timeZoneID)
136420				if err != nil {
136421					return err
136422				}
136423				plstp.TimeZoneID = timeZoneID
136424			}
136425		case "encryptedCredential":
136426			if v != nil {
136427				var encryptedCredential interface{}
136428				err = json.Unmarshal(*v, &encryptedCredential)
136429				if err != nil {
136430					return err
136431				}
136432				plstp.EncryptedCredential = encryptedCredential
136433			}
136434		}
136435	}
136436
136437	return nil
136438}
136439
136440// PrestoObjectDataset presto server dataset.
136441type PrestoObjectDataset struct {
136442	// GenericDatasetTypeProperties - Properties specific to this dataset type.
136443	*GenericDatasetTypeProperties `json:"typeProperties,omitempty"`
136444	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
136445	AdditionalProperties map[string]interface{} `json:""`
136446	// Description - Dataset description.
136447	Description *string `json:"description,omitempty"`
136448	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
136449	Structure interface{} `json:"structure,omitempty"`
136450	// Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement.
136451	Schema interface{} `json:"schema,omitempty"`
136452	// LinkedServiceName - Linked service reference.
136453	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
136454	// Parameters - Parameters for dataset.
136455	Parameters map[string]*ParameterSpecification `json:"parameters"`
136456	// Annotations - List of tags that can be used for describing the Dataset.
136457	Annotations *[]interface{} `json:"annotations,omitempty"`
136458	// Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level.
136459	Folder *DatasetFolder `json:"folder,omitempty"`
136460	// Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', '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', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeDelimitedText', 'TypeParquet', 'TypeAmazonS3Object'
136461	Type TypeBasicDataset `json:"type,omitempty"`
136462}
136463
136464// MarshalJSON is the custom marshaler for PrestoObjectDataset.
136465func (pod PrestoObjectDataset) MarshalJSON() ([]byte, error) {
136466	pod.Type = TypePrestoObject
136467	objectMap := make(map[string]interface{})
136468	if pod.GenericDatasetTypeProperties != nil {
136469		objectMap["typeProperties"] = pod.GenericDatasetTypeProperties
136470	}
136471	if pod.Description != nil {
136472		objectMap["description"] = pod.Description
136473	}
136474	if pod.Structure != nil {
136475		objectMap["structure"] = pod.Structure
136476	}
136477	if pod.Schema != nil {
136478		objectMap["schema"] = pod.Schema
136479	}
136480	if pod.LinkedServiceName != nil {
136481		objectMap["linkedServiceName"] = pod.LinkedServiceName
136482	}
136483	if pod.Parameters != nil {
136484		objectMap["parameters"] = pod.Parameters
136485	}
136486	if pod.Annotations != nil {
136487		objectMap["annotations"] = pod.Annotations
136488	}
136489	if pod.Folder != nil {
136490		objectMap["folder"] = pod.Folder
136491	}
136492	if pod.Type != "" {
136493		objectMap["type"] = pod.Type
136494	}
136495	for k, v := range pod.AdditionalProperties {
136496		objectMap[k] = v
136497	}
136498	return json.Marshal(objectMap)
136499}
136500
136501// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for PrestoObjectDataset.
136502func (pod PrestoObjectDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) {
136503	return nil, false
136504}
136505
136506// AsAzureDataExplorerTableDataset is the BasicDataset implementation for PrestoObjectDataset.
136507func (pod PrestoObjectDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) {
136508	return nil, false
136509}
136510
136511// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for PrestoObjectDataset.
136512func (pod PrestoObjectDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) {
136513	return nil, false
136514}
136515
136516// AsDynamicsAXResourceDataset is the BasicDataset implementation for PrestoObjectDataset.
136517func (pod PrestoObjectDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) {
136518	return nil, false
136519}
136520
136521// AsResponsysObjectDataset is the BasicDataset implementation for PrestoObjectDataset.
136522func (pod PrestoObjectDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
136523	return nil, false
136524}
136525
136526// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for PrestoObjectDataset.
136527func (pod PrestoObjectDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
136528	return nil, false
136529}
136530
136531// AsVerticaTableDataset is the BasicDataset implementation for PrestoObjectDataset.
136532func (pod PrestoObjectDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
136533	return nil, false
136534}
136535
136536// AsNetezzaTableDataset is the BasicDataset implementation for PrestoObjectDataset.
136537func (pod PrestoObjectDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
136538	return nil, false
136539}
136540
136541// AsZohoObjectDataset is the BasicDataset implementation for PrestoObjectDataset.
136542func (pod PrestoObjectDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
136543	return nil, false
136544}
136545
136546// AsXeroObjectDataset is the BasicDataset implementation for PrestoObjectDataset.
136547func (pod PrestoObjectDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
136548	return nil, false
136549}
136550
136551// AsSquareObjectDataset is the BasicDataset implementation for PrestoObjectDataset.
136552func (pod PrestoObjectDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
136553	return nil, false
136554}
136555
136556// AsSparkObjectDataset is the BasicDataset implementation for PrestoObjectDataset.
136557func (pod PrestoObjectDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
136558	return nil, false
136559}
136560
136561// AsShopifyObjectDataset is the BasicDataset implementation for PrestoObjectDataset.
136562func (pod PrestoObjectDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
136563	return nil, false
136564}
136565
136566// AsServiceNowObjectDataset is the BasicDataset implementation for PrestoObjectDataset.
136567func (pod PrestoObjectDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
136568	return nil, false
136569}
136570
136571// AsQuickBooksObjectDataset is the BasicDataset implementation for PrestoObjectDataset.
136572func (pod PrestoObjectDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
136573	return nil, false
136574}
136575
136576// AsPrestoObjectDataset is the BasicDataset implementation for PrestoObjectDataset.
136577func (pod PrestoObjectDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
136578	return &pod, true
136579}
136580
136581// AsPhoenixObjectDataset is the BasicDataset implementation for PrestoObjectDataset.
136582func (pod PrestoObjectDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
136583	return nil, false
136584}
136585
136586// AsPaypalObjectDataset is the BasicDataset implementation for PrestoObjectDataset.
136587func (pod PrestoObjectDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
136588	return nil, false
136589}
136590
136591// AsMarketoObjectDataset is the BasicDataset implementation for PrestoObjectDataset.
136592func (pod PrestoObjectDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
136593	return nil, false
136594}
136595
136596// AsMariaDBTableDataset is the BasicDataset implementation for PrestoObjectDataset.
136597func (pod PrestoObjectDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
136598	return nil, false
136599}
136600
136601// AsMagentoObjectDataset is the BasicDataset implementation for PrestoObjectDataset.
136602func (pod PrestoObjectDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
136603	return nil, false
136604}
136605
136606// AsJiraObjectDataset is the BasicDataset implementation for PrestoObjectDataset.
136607func (pod PrestoObjectDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
136608	return nil, false
136609}
136610
136611// AsImpalaObjectDataset is the BasicDataset implementation for PrestoObjectDataset.
136612func (pod PrestoObjectDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
136613	return nil, false
136614}
136615
136616// AsHubspotObjectDataset is the BasicDataset implementation for PrestoObjectDataset.
136617func (pod PrestoObjectDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
136618	return nil, false
136619}
136620
136621// AsHiveObjectDataset is the BasicDataset implementation for PrestoObjectDataset.
136622func (pod PrestoObjectDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
136623	return nil, false
136624}
136625
136626// AsHBaseObjectDataset is the BasicDataset implementation for PrestoObjectDataset.
136627func (pod PrestoObjectDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
136628	return nil, false
136629}
136630
136631// AsGreenplumTableDataset is the BasicDataset implementation for PrestoObjectDataset.
136632func (pod PrestoObjectDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
136633	return nil, false
136634}
136635
136636// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for PrestoObjectDataset.
136637func (pod PrestoObjectDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
136638	return nil, false
136639}
136640
136641// AsEloquaObjectDataset is the BasicDataset implementation for PrestoObjectDataset.
136642func (pod PrestoObjectDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
136643	return nil, false
136644}
136645
136646// AsDrillTableDataset is the BasicDataset implementation for PrestoObjectDataset.
136647func (pod PrestoObjectDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
136648	return nil, false
136649}
136650
136651// AsCouchbaseTableDataset is the BasicDataset implementation for PrestoObjectDataset.
136652func (pod PrestoObjectDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
136653	return nil, false
136654}
136655
136656// AsConcurObjectDataset is the BasicDataset implementation for PrestoObjectDataset.
136657func (pod PrestoObjectDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
136658	return nil, false
136659}
136660
136661// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for PrestoObjectDataset.
136662func (pod PrestoObjectDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
136663	return nil, false
136664}
136665
136666// AsAmazonMWSObjectDataset is the BasicDataset implementation for PrestoObjectDataset.
136667func (pod PrestoObjectDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
136668	return nil, false
136669}
136670
136671// AsHTTPDataset is the BasicDataset implementation for PrestoObjectDataset.
136672func (pod PrestoObjectDataset) AsHTTPDataset() (*HTTPDataset, bool) {
136673	return nil, false
136674}
136675
136676// AsAzureSearchIndexDataset is the BasicDataset implementation for PrestoObjectDataset.
136677func (pod PrestoObjectDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
136678	return nil, false
136679}
136680
136681// AsWebTableDataset is the BasicDataset implementation for PrestoObjectDataset.
136682func (pod PrestoObjectDataset) AsWebTableDataset() (*WebTableDataset, bool) {
136683	return nil, false
136684}
136685
136686// AsSapTableResourceDataset is the BasicDataset implementation for PrestoObjectDataset.
136687func (pod PrestoObjectDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) {
136688	return nil, false
136689}
136690
136691// AsRestResourceDataset is the BasicDataset implementation for PrestoObjectDataset.
136692func (pod PrestoObjectDataset) AsRestResourceDataset() (*RestResourceDataset, bool) {
136693	return nil, false
136694}
136695
136696// AsSQLServerTableDataset is the BasicDataset implementation for PrestoObjectDataset.
136697func (pod PrestoObjectDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
136698	return nil, false
136699}
136700
136701// AsSapOpenHubTableDataset is the BasicDataset implementation for PrestoObjectDataset.
136702func (pod PrestoObjectDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) {
136703	return nil, false
136704}
136705
136706// AsSapHanaTableDataset is the BasicDataset implementation for PrestoObjectDataset.
136707func (pod PrestoObjectDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) {
136708	return nil, false
136709}
136710
136711// AsSapEccResourceDataset is the BasicDataset implementation for PrestoObjectDataset.
136712func (pod PrestoObjectDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
136713	return nil, false
136714}
136715
136716// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for PrestoObjectDataset.
136717func (pod PrestoObjectDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
136718	return nil, false
136719}
136720
136721// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for PrestoObjectDataset.
136722func (pod PrestoObjectDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) {
136723	return nil, false
136724}
136725
136726// AsSalesforceObjectDataset is the BasicDataset implementation for PrestoObjectDataset.
136727func (pod PrestoObjectDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
136728	return nil, false
136729}
136730
136731// AsMicrosoftAccessTableDataset is the BasicDataset implementation for PrestoObjectDataset.
136732func (pod PrestoObjectDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) {
136733	return nil, false
136734}
136735
136736// AsPostgreSQLTableDataset is the BasicDataset implementation for PrestoObjectDataset.
136737func (pod PrestoObjectDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) {
136738	return nil, false
136739}
136740
136741// AsMySQLTableDataset is the BasicDataset implementation for PrestoObjectDataset.
136742func (pod PrestoObjectDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) {
136743	return nil, false
136744}
136745
136746// AsOdbcTableDataset is the BasicDataset implementation for PrestoObjectDataset.
136747func (pod PrestoObjectDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) {
136748	return nil, false
136749}
136750
136751// AsInformixTableDataset is the BasicDataset implementation for PrestoObjectDataset.
136752func (pod PrestoObjectDataset) AsInformixTableDataset() (*InformixTableDataset, bool) {
136753	return nil, false
136754}
136755
136756// AsRelationalTableDataset is the BasicDataset implementation for PrestoObjectDataset.
136757func (pod PrestoObjectDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
136758	return nil, false
136759}
136760
136761// AsAzureMySQLTableDataset is the BasicDataset implementation for PrestoObjectDataset.
136762func (pod PrestoObjectDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
136763	return nil, false
136764}
136765
136766// AsTeradataTableDataset is the BasicDataset implementation for PrestoObjectDataset.
136767func (pod PrestoObjectDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) {
136768	return nil, false
136769}
136770
136771// AsOracleTableDataset is the BasicDataset implementation for PrestoObjectDataset.
136772func (pod PrestoObjectDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
136773	return nil, false
136774}
136775
136776// AsODataResourceDataset is the BasicDataset implementation for PrestoObjectDataset.
136777func (pod PrestoObjectDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
136778	return nil, false
136779}
136780
136781// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for PrestoObjectDataset.
136782func (pod PrestoObjectDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) {
136783	return nil, false
136784}
136785
136786// AsMongoDbV2CollectionDataset is the BasicDataset implementation for PrestoObjectDataset.
136787func (pod PrestoObjectDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) {
136788	return nil, false
136789}
136790
136791// AsMongoDbCollectionDataset is the BasicDataset implementation for PrestoObjectDataset.
136792func (pod PrestoObjectDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
136793	return nil, false
136794}
136795
136796// AsFileShareDataset is the BasicDataset implementation for PrestoObjectDataset.
136797func (pod PrestoObjectDataset) AsFileShareDataset() (*FileShareDataset, bool) {
136798	return nil, false
136799}
136800
136801// AsOffice365Dataset is the BasicDataset implementation for PrestoObjectDataset.
136802func (pod PrestoObjectDataset) AsOffice365Dataset() (*Office365Dataset, bool) {
136803	return nil, false
136804}
136805
136806// AsAzureBlobFSDataset is the BasicDataset implementation for PrestoObjectDataset.
136807func (pod PrestoObjectDataset) AsAzureBlobFSDataset() (*AzureBlobFSDataset, bool) {
136808	return nil, false
136809}
136810
136811// AsAzureDataLakeStoreDataset is the BasicDataset implementation for PrestoObjectDataset.
136812func (pod PrestoObjectDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) {
136813	return nil, false
136814}
136815
136816// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for PrestoObjectDataset.
136817func (pod PrestoObjectDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) {
136818	return nil, false
136819}
136820
136821// AsDynamicsCrmEntityDataset is the BasicDataset implementation for PrestoObjectDataset.
136822func (pod PrestoObjectDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) {
136823	return nil, false
136824}
136825
136826// AsDynamicsEntityDataset is the BasicDataset implementation for PrestoObjectDataset.
136827func (pod PrestoObjectDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
136828	return nil, false
136829}
136830
136831// AsDocumentDbCollectionDataset is the BasicDataset implementation for PrestoObjectDataset.
136832func (pod PrestoObjectDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
136833	return nil, false
136834}
136835
136836// AsCustomDataset is the BasicDataset implementation for PrestoObjectDataset.
136837func (pod PrestoObjectDataset) AsCustomDataset() (*CustomDataset, bool) {
136838	return nil, false
136839}
136840
136841// AsCassandraTableDataset is the BasicDataset implementation for PrestoObjectDataset.
136842func (pod PrestoObjectDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
136843	return nil, false
136844}
136845
136846// AsAzureSQLDWTableDataset is the BasicDataset implementation for PrestoObjectDataset.
136847func (pod PrestoObjectDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
136848	return nil, false
136849}
136850
136851// AsAzureSQLMITableDataset is the BasicDataset implementation for PrestoObjectDataset.
136852func (pod PrestoObjectDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) {
136853	return nil, false
136854}
136855
136856// AsAzureSQLTableDataset is the BasicDataset implementation for PrestoObjectDataset.
136857func (pod PrestoObjectDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
136858	return nil, false
136859}
136860
136861// AsAzureTableDataset is the BasicDataset implementation for PrestoObjectDataset.
136862func (pod PrestoObjectDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
136863	return nil, false
136864}
136865
136866// AsAzureBlobDataset is the BasicDataset implementation for PrestoObjectDataset.
136867func (pod PrestoObjectDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) {
136868	return nil, false
136869}
136870
136871// AsBinaryDataset is the BasicDataset implementation for PrestoObjectDataset.
136872func (pod PrestoObjectDataset) AsBinaryDataset() (*BinaryDataset, bool) {
136873	return nil, false
136874}
136875
136876// AsDelimitedTextDataset is the BasicDataset implementation for PrestoObjectDataset.
136877func (pod PrestoObjectDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) {
136878	return nil, false
136879}
136880
136881// AsParquetDataset is the BasicDataset implementation for PrestoObjectDataset.
136882func (pod PrestoObjectDataset) AsParquetDataset() (*ParquetDataset, bool) {
136883	return nil, false
136884}
136885
136886// AsAmazonS3Dataset is the BasicDataset implementation for PrestoObjectDataset.
136887func (pod PrestoObjectDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) {
136888	return nil, false
136889}
136890
136891// AsDataset is the BasicDataset implementation for PrestoObjectDataset.
136892func (pod PrestoObjectDataset) AsDataset() (*Dataset, bool) {
136893	return nil, false
136894}
136895
136896// AsBasicDataset is the BasicDataset implementation for PrestoObjectDataset.
136897func (pod PrestoObjectDataset) AsBasicDataset() (BasicDataset, bool) {
136898	return &pod, true
136899}
136900
136901// UnmarshalJSON is the custom unmarshaler for PrestoObjectDataset struct.
136902func (pod *PrestoObjectDataset) UnmarshalJSON(body []byte) error {
136903	var m map[string]*json.RawMessage
136904	err := json.Unmarshal(body, &m)
136905	if err != nil {
136906		return err
136907	}
136908	for k, v := range m {
136909		switch k {
136910		case "typeProperties":
136911			if v != nil {
136912				var genericDatasetTypeProperties GenericDatasetTypeProperties
136913				err = json.Unmarshal(*v, &genericDatasetTypeProperties)
136914				if err != nil {
136915					return err
136916				}
136917				pod.GenericDatasetTypeProperties = &genericDatasetTypeProperties
136918			}
136919		default:
136920			if v != nil {
136921				var additionalProperties interface{}
136922				err = json.Unmarshal(*v, &additionalProperties)
136923				if err != nil {
136924					return err
136925				}
136926				if pod.AdditionalProperties == nil {
136927					pod.AdditionalProperties = make(map[string]interface{})
136928				}
136929				pod.AdditionalProperties[k] = additionalProperties
136930			}
136931		case "description":
136932			if v != nil {
136933				var description string
136934				err = json.Unmarshal(*v, &description)
136935				if err != nil {
136936					return err
136937				}
136938				pod.Description = &description
136939			}
136940		case "structure":
136941			if v != nil {
136942				var structure interface{}
136943				err = json.Unmarshal(*v, &structure)
136944				if err != nil {
136945					return err
136946				}
136947				pod.Structure = structure
136948			}
136949		case "schema":
136950			if v != nil {
136951				var schema interface{}
136952				err = json.Unmarshal(*v, &schema)
136953				if err != nil {
136954					return err
136955				}
136956				pod.Schema = schema
136957			}
136958		case "linkedServiceName":
136959			if v != nil {
136960				var linkedServiceName LinkedServiceReference
136961				err = json.Unmarshal(*v, &linkedServiceName)
136962				if err != nil {
136963					return err
136964				}
136965				pod.LinkedServiceName = &linkedServiceName
136966			}
136967		case "parameters":
136968			if v != nil {
136969				var parameters map[string]*ParameterSpecification
136970				err = json.Unmarshal(*v, &parameters)
136971				if err != nil {
136972					return err
136973				}
136974				pod.Parameters = parameters
136975			}
136976		case "annotations":
136977			if v != nil {
136978				var annotations []interface{}
136979				err = json.Unmarshal(*v, &annotations)
136980				if err != nil {
136981					return err
136982				}
136983				pod.Annotations = &annotations
136984			}
136985		case "folder":
136986			if v != nil {
136987				var folder DatasetFolder
136988				err = json.Unmarshal(*v, &folder)
136989				if err != nil {
136990					return err
136991				}
136992				pod.Folder = &folder
136993			}
136994		case "type":
136995			if v != nil {
136996				var typeVar TypeBasicDataset
136997				err = json.Unmarshal(*v, &typeVar)
136998				if err != nil {
136999					return err
137000				}
137001				pod.Type = typeVar
137002			}
137003		}
137004	}
137005
137006	return nil
137007}
137008
137009// PrestoSource a copy activity Presto server source.
137010type PrestoSource struct {
137011	// Query - A query to retrieve data from source. Type: string (or Expression with resultType string).
137012	Query interface{} `json:"query,omitempty"`
137013	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
137014	AdditionalProperties map[string]interface{} `json:""`
137015	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
137016	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
137017	// 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])).
137018	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
137019	// MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer).
137020	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
137021	// Type - Possible values include: 'TypeCopySource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', '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', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeCassandraSource', 'TypeWebSource', 'TypeTeradataSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeAzureMySQLSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeRestSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceServiceCloudSource', 'TypeSalesforceSource', 'TypeODataSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeMicrosoftAccessSource', 'TypeInformixSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAzureTableSource', 'TypeBinarySource', 'TypeDelimitedTextSource', 'TypeParquetSource'
137022	Type TypeBasicCopySource `json:"type,omitempty"`
137023}
137024
137025// MarshalJSON is the custom marshaler for PrestoSource.
137026func (ps PrestoSource) MarshalJSON() ([]byte, error) {
137027	ps.Type = TypePrestoSource
137028	objectMap := make(map[string]interface{})
137029	if ps.Query != nil {
137030		objectMap["query"] = ps.Query
137031	}
137032	if ps.SourceRetryCount != nil {
137033		objectMap["sourceRetryCount"] = ps.SourceRetryCount
137034	}
137035	if ps.SourceRetryWait != nil {
137036		objectMap["sourceRetryWait"] = ps.SourceRetryWait
137037	}
137038	if ps.MaxConcurrentConnections != nil {
137039		objectMap["maxConcurrentConnections"] = ps.MaxConcurrentConnections
137040	}
137041	if ps.Type != "" {
137042		objectMap["type"] = ps.Type
137043	}
137044	for k, v := range ps.AdditionalProperties {
137045		objectMap[k] = v
137046	}
137047	return json.Marshal(objectMap)
137048}
137049
137050// AsAmazonRedshiftSource is the BasicCopySource implementation for PrestoSource.
137051func (ps PrestoSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
137052	return nil, false
137053}
137054
137055// AsGoogleAdWordsSource is the BasicCopySource implementation for PrestoSource.
137056func (ps PrestoSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) {
137057	return nil, false
137058}
137059
137060// AsOracleServiceCloudSource is the BasicCopySource implementation for PrestoSource.
137061func (ps PrestoSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) {
137062	return nil, false
137063}
137064
137065// AsDynamicsAXSource is the BasicCopySource implementation for PrestoSource.
137066func (ps PrestoSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) {
137067	return nil, false
137068}
137069
137070// AsResponsysSource is the BasicCopySource implementation for PrestoSource.
137071func (ps PrestoSource) AsResponsysSource() (*ResponsysSource, bool) {
137072	return nil, false
137073}
137074
137075// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for PrestoSource.
137076func (ps PrestoSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
137077	return nil, false
137078}
137079
137080// AsVerticaSource is the BasicCopySource implementation for PrestoSource.
137081func (ps PrestoSource) AsVerticaSource() (*VerticaSource, bool) {
137082	return nil, false
137083}
137084
137085// AsNetezzaSource is the BasicCopySource implementation for PrestoSource.
137086func (ps PrestoSource) AsNetezzaSource() (*NetezzaSource, bool) {
137087	return nil, false
137088}
137089
137090// AsZohoSource is the BasicCopySource implementation for PrestoSource.
137091func (ps PrestoSource) AsZohoSource() (*ZohoSource, bool) {
137092	return nil, false
137093}
137094
137095// AsXeroSource is the BasicCopySource implementation for PrestoSource.
137096func (ps PrestoSource) AsXeroSource() (*XeroSource, bool) {
137097	return nil, false
137098}
137099
137100// AsSquareSource is the BasicCopySource implementation for PrestoSource.
137101func (ps PrestoSource) AsSquareSource() (*SquareSource, bool) {
137102	return nil, false
137103}
137104
137105// AsSparkSource is the BasicCopySource implementation for PrestoSource.
137106func (ps PrestoSource) AsSparkSource() (*SparkSource, bool) {
137107	return nil, false
137108}
137109
137110// AsShopifySource is the BasicCopySource implementation for PrestoSource.
137111func (ps PrestoSource) AsShopifySource() (*ShopifySource, bool) {
137112	return nil, false
137113}
137114
137115// AsServiceNowSource is the BasicCopySource implementation for PrestoSource.
137116func (ps PrestoSource) AsServiceNowSource() (*ServiceNowSource, bool) {
137117	return nil, false
137118}
137119
137120// AsQuickBooksSource is the BasicCopySource implementation for PrestoSource.
137121func (ps PrestoSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
137122	return nil, false
137123}
137124
137125// AsPrestoSource is the BasicCopySource implementation for PrestoSource.
137126func (ps PrestoSource) AsPrestoSource() (*PrestoSource, bool) {
137127	return &ps, true
137128}
137129
137130// AsPhoenixSource is the BasicCopySource implementation for PrestoSource.
137131func (ps PrestoSource) AsPhoenixSource() (*PhoenixSource, bool) {
137132	return nil, false
137133}
137134
137135// AsPaypalSource is the BasicCopySource implementation for PrestoSource.
137136func (ps PrestoSource) AsPaypalSource() (*PaypalSource, bool) {
137137	return nil, false
137138}
137139
137140// AsMarketoSource is the BasicCopySource implementation for PrestoSource.
137141func (ps PrestoSource) AsMarketoSource() (*MarketoSource, bool) {
137142	return nil, false
137143}
137144
137145// AsMariaDBSource is the BasicCopySource implementation for PrestoSource.
137146func (ps PrestoSource) AsMariaDBSource() (*MariaDBSource, bool) {
137147	return nil, false
137148}
137149
137150// AsMagentoSource is the BasicCopySource implementation for PrestoSource.
137151func (ps PrestoSource) AsMagentoSource() (*MagentoSource, bool) {
137152	return nil, false
137153}
137154
137155// AsJiraSource is the BasicCopySource implementation for PrestoSource.
137156func (ps PrestoSource) AsJiraSource() (*JiraSource, bool) {
137157	return nil, false
137158}
137159
137160// AsImpalaSource is the BasicCopySource implementation for PrestoSource.
137161func (ps PrestoSource) AsImpalaSource() (*ImpalaSource, bool) {
137162	return nil, false
137163}
137164
137165// AsHubspotSource is the BasicCopySource implementation for PrestoSource.
137166func (ps PrestoSource) AsHubspotSource() (*HubspotSource, bool) {
137167	return nil, false
137168}
137169
137170// AsHiveSource is the BasicCopySource implementation for PrestoSource.
137171func (ps PrestoSource) AsHiveSource() (*HiveSource, bool) {
137172	return nil, false
137173}
137174
137175// AsHBaseSource is the BasicCopySource implementation for PrestoSource.
137176func (ps PrestoSource) AsHBaseSource() (*HBaseSource, bool) {
137177	return nil, false
137178}
137179
137180// AsGreenplumSource is the BasicCopySource implementation for PrestoSource.
137181func (ps PrestoSource) AsGreenplumSource() (*GreenplumSource, bool) {
137182	return nil, false
137183}
137184
137185// AsGoogleBigQuerySource is the BasicCopySource implementation for PrestoSource.
137186func (ps PrestoSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
137187	return nil, false
137188}
137189
137190// AsEloquaSource is the BasicCopySource implementation for PrestoSource.
137191func (ps PrestoSource) AsEloquaSource() (*EloquaSource, bool) {
137192	return nil, false
137193}
137194
137195// AsDrillSource is the BasicCopySource implementation for PrestoSource.
137196func (ps PrestoSource) AsDrillSource() (*DrillSource, bool) {
137197	return nil, false
137198}
137199
137200// AsCouchbaseSource is the BasicCopySource implementation for PrestoSource.
137201func (ps PrestoSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
137202	return nil, false
137203}
137204
137205// AsConcurSource is the BasicCopySource implementation for PrestoSource.
137206func (ps PrestoSource) AsConcurSource() (*ConcurSource, bool) {
137207	return nil, false
137208}
137209
137210// AsAzurePostgreSQLSource is the BasicCopySource implementation for PrestoSource.
137211func (ps PrestoSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
137212	return nil, false
137213}
137214
137215// AsAmazonMWSSource is the BasicCopySource implementation for PrestoSource.
137216func (ps PrestoSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
137217	return nil, false
137218}
137219
137220// AsHTTPSource is the BasicCopySource implementation for PrestoSource.
137221func (ps PrestoSource) AsHTTPSource() (*HTTPSource, bool) {
137222	return nil, false
137223}
137224
137225// AsAzureBlobFSSource is the BasicCopySource implementation for PrestoSource.
137226func (ps PrestoSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) {
137227	return nil, false
137228}
137229
137230// AsAzureDataLakeStoreSource is the BasicCopySource implementation for PrestoSource.
137231func (ps PrestoSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
137232	return nil, false
137233}
137234
137235// AsOffice365Source is the BasicCopySource implementation for PrestoSource.
137236func (ps PrestoSource) AsOffice365Source() (*Office365Source, bool) {
137237	return nil, false
137238}
137239
137240// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for PrestoSource.
137241func (ps PrestoSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) {
137242	return nil, false
137243}
137244
137245// AsMongoDbV2Source is the BasicCopySource implementation for PrestoSource.
137246func (ps PrestoSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) {
137247	return nil, false
137248}
137249
137250// AsMongoDbSource is the BasicCopySource implementation for PrestoSource.
137251func (ps PrestoSource) AsMongoDbSource() (*MongoDbSource, bool) {
137252	return nil, false
137253}
137254
137255// AsCassandraSource is the BasicCopySource implementation for PrestoSource.
137256func (ps PrestoSource) AsCassandraSource() (*CassandraSource, bool) {
137257	return nil, false
137258}
137259
137260// AsWebSource is the BasicCopySource implementation for PrestoSource.
137261func (ps PrestoSource) AsWebSource() (*WebSource, bool) {
137262	return nil, false
137263}
137264
137265// AsTeradataSource is the BasicCopySource implementation for PrestoSource.
137266func (ps PrestoSource) AsTeradataSource() (*TeradataSource, bool) {
137267	return nil, false
137268}
137269
137270// AsOracleSource is the BasicCopySource implementation for PrestoSource.
137271func (ps PrestoSource) AsOracleSource() (*OracleSource, bool) {
137272	return nil, false
137273}
137274
137275// AsAzureDataExplorerSource is the BasicCopySource implementation for PrestoSource.
137276func (ps PrestoSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) {
137277	return nil, false
137278}
137279
137280// AsAzureMySQLSource is the BasicCopySource implementation for PrestoSource.
137281func (ps PrestoSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
137282	return nil, false
137283}
137284
137285// AsHdfsSource is the BasicCopySource implementation for PrestoSource.
137286func (ps PrestoSource) AsHdfsSource() (*HdfsSource, bool) {
137287	return nil, false
137288}
137289
137290// AsFileSystemSource is the BasicCopySource implementation for PrestoSource.
137291func (ps PrestoSource) AsFileSystemSource() (*FileSystemSource, bool) {
137292	return nil, false
137293}
137294
137295// AsSQLDWSource is the BasicCopySource implementation for PrestoSource.
137296func (ps PrestoSource) AsSQLDWSource() (*SQLDWSource, bool) {
137297	return nil, false
137298}
137299
137300// AsSQLMISource is the BasicCopySource implementation for PrestoSource.
137301func (ps PrestoSource) AsSQLMISource() (*SQLMISource, bool) {
137302	return nil, false
137303}
137304
137305// AsAzureSQLSource is the BasicCopySource implementation for PrestoSource.
137306func (ps PrestoSource) AsAzureSQLSource() (*AzureSQLSource, bool) {
137307	return nil, false
137308}
137309
137310// AsSQLServerSource is the BasicCopySource implementation for PrestoSource.
137311func (ps PrestoSource) AsSQLServerSource() (*SQLServerSource, bool) {
137312	return nil, false
137313}
137314
137315// AsSQLSource is the BasicCopySource implementation for PrestoSource.
137316func (ps PrestoSource) AsSQLSource() (*SQLSource, bool) {
137317	return nil, false
137318}
137319
137320// AsRestSource is the BasicCopySource implementation for PrestoSource.
137321func (ps PrestoSource) AsRestSource() (*RestSource, bool) {
137322	return nil, false
137323}
137324
137325// AsSapTableSource is the BasicCopySource implementation for PrestoSource.
137326func (ps PrestoSource) AsSapTableSource() (*SapTableSource, bool) {
137327	return nil, false
137328}
137329
137330// AsSapOpenHubSource is the BasicCopySource implementation for PrestoSource.
137331func (ps PrestoSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) {
137332	return nil, false
137333}
137334
137335// AsSapHanaSource is the BasicCopySource implementation for PrestoSource.
137336func (ps PrestoSource) AsSapHanaSource() (*SapHanaSource, bool) {
137337	return nil, false
137338}
137339
137340// AsSapEccSource is the BasicCopySource implementation for PrestoSource.
137341func (ps PrestoSource) AsSapEccSource() (*SapEccSource, bool) {
137342	return nil, false
137343}
137344
137345// AsSapCloudForCustomerSource is the BasicCopySource implementation for PrestoSource.
137346func (ps PrestoSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
137347	return nil, false
137348}
137349
137350// AsSalesforceServiceCloudSource is the BasicCopySource implementation for PrestoSource.
137351func (ps PrestoSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) {
137352	return nil, false
137353}
137354
137355// AsSalesforceSource is the BasicCopySource implementation for PrestoSource.
137356func (ps PrestoSource) AsSalesforceSource() (*SalesforceSource, bool) {
137357	return nil, false
137358}
137359
137360// AsODataSource is the BasicCopySource implementation for PrestoSource.
137361func (ps PrestoSource) AsODataSource() (*ODataSource, bool) {
137362	return nil, false
137363}
137364
137365// AsSybaseSource is the BasicCopySource implementation for PrestoSource.
137366func (ps PrestoSource) AsSybaseSource() (*SybaseSource, bool) {
137367	return nil, false
137368}
137369
137370// AsPostgreSQLSource is the BasicCopySource implementation for PrestoSource.
137371func (ps PrestoSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) {
137372	return nil, false
137373}
137374
137375// AsMySQLSource is the BasicCopySource implementation for PrestoSource.
137376func (ps PrestoSource) AsMySQLSource() (*MySQLSource, bool) {
137377	return nil, false
137378}
137379
137380// AsOdbcSource is the BasicCopySource implementation for PrestoSource.
137381func (ps PrestoSource) AsOdbcSource() (*OdbcSource, bool) {
137382	return nil, false
137383}
137384
137385// AsDb2Source is the BasicCopySource implementation for PrestoSource.
137386func (ps PrestoSource) AsDb2Source() (*Db2Source, bool) {
137387	return nil, false
137388}
137389
137390// AsMicrosoftAccessSource is the BasicCopySource implementation for PrestoSource.
137391func (ps PrestoSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) {
137392	return nil, false
137393}
137394
137395// AsInformixSource is the BasicCopySource implementation for PrestoSource.
137396func (ps PrestoSource) AsInformixSource() (*InformixSource, bool) {
137397	return nil, false
137398}
137399
137400// AsRelationalSource is the BasicCopySource implementation for PrestoSource.
137401func (ps PrestoSource) AsRelationalSource() (*RelationalSource, bool) {
137402	return nil, false
137403}
137404
137405// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for PrestoSource.
137406func (ps PrestoSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) {
137407	return nil, false
137408}
137409
137410// AsDynamicsCrmSource is the BasicCopySource implementation for PrestoSource.
137411func (ps PrestoSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) {
137412	return nil, false
137413}
137414
137415// AsDynamicsSource is the BasicCopySource implementation for PrestoSource.
137416func (ps PrestoSource) AsDynamicsSource() (*DynamicsSource, bool) {
137417	return nil, false
137418}
137419
137420// AsDocumentDbCollectionSource is the BasicCopySource implementation for PrestoSource.
137421func (ps PrestoSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
137422	return nil, false
137423}
137424
137425// AsBlobSource is the BasicCopySource implementation for PrestoSource.
137426func (ps PrestoSource) AsBlobSource() (*BlobSource, bool) {
137427	return nil, false
137428}
137429
137430// AsAzureTableSource is the BasicCopySource implementation for PrestoSource.
137431func (ps PrestoSource) AsAzureTableSource() (*AzureTableSource, bool) {
137432	return nil, false
137433}
137434
137435// AsBinarySource is the BasicCopySource implementation for PrestoSource.
137436func (ps PrestoSource) AsBinarySource() (*BinarySource, bool) {
137437	return nil, false
137438}
137439
137440// AsDelimitedTextSource is the BasicCopySource implementation for PrestoSource.
137441func (ps PrestoSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) {
137442	return nil, false
137443}
137444
137445// AsParquetSource is the BasicCopySource implementation for PrestoSource.
137446func (ps PrestoSource) AsParquetSource() (*ParquetSource, bool) {
137447	return nil, false
137448}
137449
137450// AsCopySource is the BasicCopySource implementation for PrestoSource.
137451func (ps PrestoSource) AsCopySource() (*CopySource, bool) {
137452	return nil, false
137453}
137454
137455// AsBasicCopySource is the BasicCopySource implementation for PrestoSource.
137456func (ps PrestoSource) AsBasicCopySource() (BasicCopySource, bool) {
137457	return &ps, true
137458}
137459
137460// UnmarshalJSON is the custom unmarshaler for PrestoSource struct.
137461func (ps *PrestoSource) UnmarshalJSON(body []byte) error {
137462	var m map[string]*json.RawMessage
137463	err := json.Unmarshal(body, &m)
137464	if err != nil {
137465		return err
137466	}
137467	for k, v := range m {
137468		switch k {
137469		case "query":
137470			if v != nil {
137471				var query interface{}
137472				err = json.Unmarshal(*v, &query)
137473				if err != nil {
137474					return err
137475				}
137476				ps.Query = query
137477			}
137478		default:
137479			if v != nil {
137480				var additionalProperties interface{}
137481				err = json.Unmarshal(*v, &additionalProperties)
137482				if err != nil {
137483					return err
137484				}
137485				if ps.AdditionalProperties == nil {
137486					ps.AdditionalProperties = make(map[string]interface{})
137487				}
137488				ps.AdditionalProperties[k] = additionalProperties
137489			}
137490		case "sourceRetryCount":
137491			if v != nil {
137492				var sourceRetryCount interface{}
137493				err = json.Unmarshal(*v, &sourceRetryCount)
137494				if err != nil {
137495					return err
137496				}
137497				ps.SourceRetryCount = sourceRetryCount
137498			}
137499		case "sourceRetryWait":
137500			if v != nil {
137501				var sourceRetryWait interface{}
137502				err = json.Unmarshal(*v, &sourceRetryWait)
137503				if err != nil {
137504					return err
137505				}
137506				ps.SourceRetryWait = sourceRetryWait
137507			}
137508		case "maxConcurrentConnections":
137509			if v != nil {
137510				var maxConcurrentConnections interface{}
137511				err = json.Unmarshal(*v, &maxConcurrentConnections)
137512				if err != nil {
137513					return err
137514				}
137515				ps.MaxConcurrentConnections = maxConcurrentConnections
137516			}
137517		case "type":
137518			if v != nil {
137519				var typeVar TypeBasicCopySource
137520				err = json.Unmarshal(*v, &typeVar)
137521				if err != nil {
137522					return err
137523				}
137524				ps.Type = typeVar
137525			}
137526		}
137527	}
137528
137529	return nil
137530}
137531
137532// QuickBooksLinkedService quickBooks server linked service.
137533type QuickBooksLinkedService struct {
137534	// QuickBooksLinkedServiceTypeProperties - QuickBooks server linked service properties.
137535	*QuickBooksLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
137536	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
137537	AdditionalProperties map[string]interface{} `json:""`
137538	// ConnectVia - The integration runtime reference.
137539	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
137540	// Description - Linked service description.
137541	Description *string `json:"description,omitempty"`
137542	// Parameters - Parameters for linked service.
137543	Parameters map[string]*ParameterSpecification `json:"parameters"`
137544	// Annotations - List of tags that can be used for describing the linked service.
137545	Annotations *[]interface{} `json:"annotations,omitempty"`
137546	// Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', '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', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage'
137547	Type TypeBasicLinkedService `json:"type,omitempty"`
137548}
137549
137550// MarshalJSON is the custom marshaler for QuickBooksLinkedService.
137551func (qbls QuickBooksLinkedService) MarshalJSON() ([]byte, error) {
137552	qbls.Type = TypeQuickBooks
137553	objectMap := make(map[string]interface{})
137554	if qbls.QuickBooksLinkedServiceTypeProperties != nil {
137555		objectMap["typeProperties"] = qbls.QuickBooksLinkedServiceTypeProperties
137556	}
137557	if qbls.ConnectVia != nil {
137558		objectMap["connectVia"] = qbls.ConnectVia
137559	}
137560	if qbls.Description != nil {
137561		objectMap["description"] = qbls.Description
137562	}
137563	if qbls.Parameters != nil {
137564		objectMap["parameters"] = qbls.Parameters
137565	}
137566	if qbls.Annotations != nil {
137567		objectMap["annotations"] = qbls.Annotations
137568	}
137569	if qbls.Type != "" {
137570		objectMap["type"] = qbls.Type
137571	}
137572	for k, v := range qbls.AdditionalProperties {
137573		objectMap[k] = v
137574	}
137575	return json.Marshal(objectMap)
137576}
137577
137578// AsAzureFunctionLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
137579func (qbls QuickBooksLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) {
137580	return nil, false
137581}
137582
137583// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
137584func (qbls QuickBooksLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) {
137585	return nil, false
137586}
137587
137588// AsSapTableLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
137589func (qbls QuickBooksLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) {
137590	return nil, false
137591}
137592
137593// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
137594func (qbls QuickBooksLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) {
137595	return nil, false
137596}
137597
137598// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
137599func (qbls QuickBooksLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) {
137600	return nil, false
137601}
137602
137603// AsDynamicsAXLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
137604func (qbls QuickBooksLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) {
137605	return nil, false
137606}
137607
137608// AsResponsysLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
137609func (qbls QuickBooksLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
137610	return nil, false
137611}
137612
137613// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
137614func (qbls QuickBooksLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
137615	return nil, false
137616}
137617
137618// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
137619func (qbls QuickBooksLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
137620	return nil, false
137621}
137622
137623// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
137624func (qbls QuickBooksLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
137625	return nil, false
137626}
137627
137628// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
137629func (qbls QuickBooksLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
137630	return nil, false
137631}
137632
137633// AsNetezzaLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
137634func (qbls QuickBooksLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
137635	return nil, false
137636}
137637
137638// AsVerticaLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
137639func (qbls QuickBooksLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
137640	return nil, false
137641}
137642
137643// AsZohoLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
137644func (qbls QuickBooksLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
137645	return nil, false
137646}
137647
137648// AsXeroLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
137649func (qbls QuickBooksLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
137650	return nil, false
137651}
137652
137653// AsSquareLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
137654func (qbls QuickBooksLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
137655	return nil, false
137656}
137657
137658// AsSparkLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
137659func (qbls QuickBooksLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
137660	return nil, false
137661}
137662
137663// AsShopifyLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
137664func (qbls QuickBooksLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
137665	return nil, false
137666}
137667
137668// AsServiceNowLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
137669func (qbls QuickBooksLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
137670	return nil, false
137671}
137672
137673// AsQuickBooksLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
137674func (qbls QuickBooksLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
137675	return &qbls, true
137676}
137677
137678// AsPrestoLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
137679func (qbls QuickBooksLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
137680	return nil, false
137681}
137682
137683// AsPhoenixLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
137684func (qbls QuickBooksLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
137685	return nil, false
137686}
137687
137688// AsPaypalLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
137689func (qbls QuickBooksLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
137690	return nil, false
137691}
137692
137693// AsMarketoLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
137694func (qbls QuickBooksLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
137695	return nil, false
137696}
137697
137698// AsMariaDBLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
137699func (qbls QuickBooksLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
137700	return nil, false
137701}
137702
137703// AsMagentoLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
137704func (qbls QuickBooksLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
137705	return nil, false
137706}
137707
137708// AsJiraLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
137709func (qbls QuickBooksLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
137710	return nil, false
137711}
137712
137713// AsImpalaLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
137714func (qbls QuickBooksLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
137715	return nil, false
137716}
137717
137718// AsHubspotLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
137719func (qbls QuickBooksLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
137720	return nil, false
137721}
137722
137723// AsHiveLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
137724func (qbls QuickBooksLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
137725	return nil, false
137726}
137727
137728// AsHBaseLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
137729func (qbls QuickBooksLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
137730	return nil, false
137731}
137732
137733// AsGreenplumLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
137734func (qbls QuickBooksLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
137735	return nil, false
137736}
137737
137738// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
137739func (qbls QuickBooksLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
137740	return nil, false
137741}
137742
137743// AsEloquaLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
137744func (qbls QuickBooksLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
137745	return nil, false
137746}
137747
137748// AsDrillLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
137749func (qbls QuickBooksLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
137750	return nil, false
137751}
137752
137753// AsCouchbaseLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
137754func (qbls QuickBooksLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
137755	return nil, false
137756}
137757
137758// AsConcurLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
137759func (qbls QuickBooksLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
137760	return nil, false
137761}
137762
137763// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
137764func (qbls QuickBooksLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
137765	return nil, false
137766}
137767
137768// AsAmazonMWSLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
137769func (qbls QuickBooksLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
137770	return nil, false
137771}
137772
137773// AsSapHanaLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
137774func (qbls QuickBooksLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
137775	return nil, false
137776}
137777
137778// AsSapBWLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
137779func (qbls QuickBooksLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
137780	return nil, false
137781}
137782
137783// AsSftpServerLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
137784func (qbls QuickBooksLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
137785	return nil, false
137786}
137787
137788// AsFtpServerLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
137789func (qbls QuickBooksLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
137790	return nil, false
137791}
137792
137793// AsHTTPLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
137794func (qbls QuickBooksLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
137795	return nil, false
137796}
137797
137798// AsAzureSearchLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
137799func (qbls QuickBooksLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
137800	return nil, false
137801}
137802
137803// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
137804func (qbls QuickBooksLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
137805	return nil, false
137806}
137807
137808// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
137809func (qbls QuickBooksLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
137810	return nil, false
137811}
137812
137813// AsAmazonS3LinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
137814func (qbls QuickBooksLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
137815	return nil, false
137816}
137817
137818// AsRestServiceLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
137819func (qbls QuickBooksLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) {
137820	return nil, false
137821}
137822
137823// AsSapOpenHubLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
137824func (qbls QuickBooksLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) {
137825	return nil, false
137826}
137827
137828// AsSapEccLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
137829func (qbls QuickBooksLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
137830	return nil, false
137831}
137832
137833// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
137834func (qbls QuickBooksLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
137835	return nil, false
137836}
137837
137838// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
137839func (qbls QuickBooksLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) {
137840	return nil, false
137841}
137842
137843// AsSalesforceLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
137844func (qbls QuickBooksLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
137845	return nil, false
137846}
137847
137848// AsOffice365LinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
137849func (qbls QuickBooksLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) {
137850	return nil, false
137851}
137852
137853// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
137854func (qbls QuickBooksLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) {
137855	return nil, false
137856}
137857
137858// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
137859func (qbls QuickBooksLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
137860	return nil, false
137861}
137862
137863// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
137864func (qbls QuickBooksLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) {
137865	return nil, false
137866}
137867
137868// AsMongoDbV2LinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
137869func (qbls QuickBooksLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) {
137870	return nil, false
137871}
137872
137873// AsMongoDbLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
137874func (qbls QuickBooksLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
137875	return nil, false
137876}
137877
137878// AsCassandraLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
137879func (qbls QuickBooksLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
137880	return nil, false
137881}
137882
137883// AsWebLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
137884func (qbls QuickBooksLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
137885	return nil, false
137886}
137887
137888// AsODataLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
137889func (qbls QuickBooksLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
137890	return nil, false
137891}
137892
137893// AsHdfsLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
137894func (qbls QuickBooksLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
137895	return nil, false
137896}
137897
137898// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
137899func (qbls QuickBooksLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) {
137900	return nil, false
137901}
137902
137903// AsInformixLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
137904func (qbls QuickBooksLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) {
137905	return nil, false
137906}
137907
137908// AsOdbcLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
137909func (qbls QuickBooksLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
137910	return nil, false
137911}
137912
137913// AsAzureMLLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
137914func (qbls QuickBooksLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
137915	return nil, false
137916}
137917
137918// AsTeradataLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
137919func (qbls QuickBooksLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
137920	return nil, false
137921}
137922
137923// AsDb2LinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
137924func (qbls QuickBooksLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
137925	return nil, false
137926}
137927
137928// AsSybaseLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
137929func (qbls QuickBooksLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
137930	return nil, false
137931}
137932
137933// AsPostgreSQLLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
137934func (qbls QuickBooksLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
137935	return nil, false
137936}
137937
137938// AsMySQLLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
137939func (qbls QuickBooksLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
137940	return nil, false
137941}
137942
137943// AsAzureMySQLLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
137944func (qbls QuickBooksLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
137945	return nil, false
137946}
137947
137948// AsOracleLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
137949func (qbls QuickBooksLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
137950	return nil, false
137951}
137952
137953// AsFileServerLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
137954func (qbls QuickBooksLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
137955	return nil, false
137956}
137957
137958// AsHDInsightLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
137959func (qbls QuickBooksLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
137960	return nil, false
137961}
137962
137963// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
137964func (qbls QuickBooksLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) {
137965	return nil, false
137966}
137967
137968// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
137969func (qbls QuickBooksLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) {
137970	return nil, false
137971}
137972
137973// AsDynamicsLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
137974func (qbls QuickBooksLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
137975	return nil, false
137976}
137977
137978// AsCosmosDbLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
137979func (qbls QuickBooksLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
137980	return nil, false
137981}
137982
137983// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
137984func (qbls QuickBooksLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
137985	return nil, false
137986}
137987
137988// AsAzureBatchLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
137989func (qbls QuickBooksLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
137990	return nil, false
137991}
137992
137993// AsAzureSQLMILinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
137994func (qbls QuickBooksLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) {
137995	return nil, false
137996}
137997
137998// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
137999func (qbls QuickBooksLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
138000	return nil, false
138001}
138002
138003// AsSQLServerLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
138004func (qbls QuickBooksLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
138005	return nil, false
138006}
138007
138008// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
138009func (qbls QuickBooksLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
138010	return nil, false
138011}
138012
138013// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
138014func (qbls QuickBooksLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) {
138015	return nil, false
138016}
138017
138018// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
138019func (qbls QuickBooksLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) {
138020	return nil, false
138021}
138022
138023// AsAzureStorageLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
138024func (qbls QuickBooksLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
138025	return nil, false
138026}
138027
138028// AsLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
138029func (qbls QuickBooksLinkedService) AsLinkedService() (*LinkedService, bool) {
138030	return nil, false
138031}
138032
138033// AsBasicLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
138034func (qbls QuickBooksLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
138035	return &qbls, true
138036}
138037
138038// UnmarshalJSON is the custom unmarshaler for QuickBooksLinkedService struct.
138039func (qbls *QuickBooksLinkedService) UnmarshalJSON(body []byte) error {
138040	var m map[string]*json.RawMessage
138041	err := json.Unmarshal(body, &m)
138042	if err != nil {
138043		return err
138044	}
138045	for k, v := range m {
138046		switch k {
138047		case "typeProperties":
138048			if v != nil {
138049				var quickBooksLinkedServiceTypeProperties QuickBooksLinkedServiceTypeProperties
138050				err = json.Unmarshal(*v, &quickBooksLinkedServiceTypeProperties)
138051				if err != nil {
138052					return err
138053				}
138054				qbls.QuickBooksLinkedServiceTypeProperties = &quickBooksLinkedServiceTypeProperties
138055			}
138056		default:
138057			if v != nil {
138058				var additionalProperties interface{}
138059				err = json.Unmarshal(*v, &additionalProperties)
138060				if err != nil {
138061					return err
138062				}
138063				if qbls.AdditionalProperties == nil {
138064					qbls.AdditionalProperties = make(map[string]interface{})
138065				}
138066				qbls.AdditionalProperties[k] = additionalProperties
138067			}
138068		case "connectVia":
138069			if v != nil {
138070				var connectVia IntegrationRuntimeReference
138071				err = json.Unmarshal(*v, &connectVia)
138072				if err != nil {
138073					return err
138074				}
138075				qbls.ConnectVia = &connectVia
138076			}
138077		case "description":
138078			if v != nil {
138079				var description string
138080				err = json.Unmarshal(*v, &description)
138081				if err != nil {
138082					return err
138083				}
138084				qbls.Description = &description
138085			}
138086		case "parameters":
138087			if v != nil {
138088				var parameters map[string]*ParameterSpecification
138089				err = json.Unmarshal(*v, &parameters)
138090				if err != nil {
138091					return err
138092				}
138093				qbls.Parameters = parameters
138094			}
138095		case "annotations":
138096			if v != nil {
138097				var annotations []interface{}
138098				err = json.Unmarshal(*v, &annotations)
138099				if err != nil {
138100					return err
138101				}
138102				qbls.Annotations = &annotations
138103			}
138104		case "type":
138105			if v != nil {
138106				var typeVar TypeBasicLinkedService
138107				err = json.Unmarshal(*v, &typeVar)
138108				if err != nil {
138109					return err
138110				}
138111				qbls.Type = typeVar
138112			}
138113		}
138114	}
138115
138116	return nil
138117}
138118
138119// QuickBooksLinkedServiceTypeProperties quickBooks server linked service properties.
138120type QuickBooksLinkedServiceTypeProperties struct {
138121	// Endpoint - The endpoint of the QuickBooks server. (i.e. quickbooks.api.intuit.com)
138122	Endpoint interface{} `json:"endpoint,omitempty"`
138123	// CompanyID - The company ID of the QuickBooks company to authorize.
138124	CompanyID interface{} `json:"companyId,omitempty"`
138125	// ConsumerKey - The consumer key for OAuth 1.0 authentication.
138126	ConsumerKey interface{} `json:"consumerKey,omitempty"`
138127	// ConsumerSecret - The consumer secret for OAuth 1.0 authentication.
138128	ConsumerSecret BasicSecretBase `json:"consumerSecret,omitempty"`
138129	// AccessToken - The access token for OAuth 1.0 authentication.
138130	AccessToken BasicSecretBase `json:"accessToken,omitempty"`
138131	// AccessTokenSecret - The access token secret for OAuth 1.0 authentication.
138132	AccessTokenSecret BasicSecretBase `json:"accessTokenSecret,omitempty"`
138133	// UseEncryptedEndpoints - Specifies whether the data source endpoints are encrypted using HTTPS. The default value is true.
138134	UseEncryptedEndpoints interface{} `json:"useEncryptedEndpoints,omitempty"`
138135	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
138136	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
138137}
138138
138139// UnmarshalJSON is the custom unmarshaler for QuickBooksLinkedServiceTypeProperties struct.
138140func (qblstp *QuickBooksLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
138141	var m map[string]*json.RawMessage
138142	err := json.Unmarshal(body, &m)
138143	if err != nil {
138144		return err
138145	}
138146	for k, v := range m {
138147		switch k {
138148		case "endpoint":
138149			if v != nil {
138150				var endpoint interface{}
138151				err = json.Unmarshal(*v, &endpoint)
138152				if err != nil {
138153					return err
138154				}
138155				qblstp.Endpoint = endpoint
138156			}
138157		case "companyId":
138158			if v != nil {
138159				var companyID interface{}
138160				err = json.Unmarshal(*v, &companyID)
138161				if err != nil {
138162					return err
138163				}
138164				qblstp.CompanyID = companyID
138165			}
138166		case "consumerKey":
138167			if v != nil {
138168				var consumerKey interface{}
138169				err = json.Unmarshal(*v, &consumerKey)
138170				if err != nil {
138171					return err
138172				}
138173				qblstp.ConsumerKey = consumerKey
138174			}
138175		case "consumerSecret":
138176			if v != nil {
138177				consumerSecret, err := unmarshalBasicSecretBase(*v)
138178				if err != nil {
138179					return err
138180				}
138181				qblstp.ConsumerSecret = consumerSecret
138182			}
138183		case "accessToken":
138184			if v != nil {
138185				accessToken, err := unmarshalBasicSecretBase(*v)
138186				if err != nil {
138187					return err
138188				}
138189				qblstp.AccessToken = accessToken
138190			}
138191		case "accessTokenSecret":
138192			if v != nil {
138193				accessTokenSecret, err := unmarshalBasicSecretBase(*v)
138194				if err != nil {
138195					return err
138196				}
138197				qblstp.AccessTokenSecret = accessTokenSecret
138198			}
138199		case "useEncryptedEndpoints":
138200			if v != nil {
138201				var useEncryptedEndpoints interface{}
138202				err = json.Unmarshal(*v, &useEncryptedEndpoints)
138203				if err != nil {
138204					return err
138205				}
138206				qblstp.UseEncryptedEndpoints = useEncryptedEndpoints
138207			}
138208		case "encryptedCredential":
138209			if v != nil {
138210				var encryptedCredential interface{}
138211				err = json.Unmarshal(*v, &encryptedCredential)
138212				if err != nil {
138213					return err
138214				}
138215				qblstp.EncryptedCredential = encryptedCredential
138216			}
138217		}
138218	}
138219
138220	return nil
138221}
138222
138223// QuickBooksObjectDataset quickBooks server dataset.
138224type QuickBooksObjectDataset struct {
138225	// GenericDatasetTypeProperties - Properties specific to this dataset type.
138226	*GenericDatasetTypeProperties `json:"typeProperties,omitempty"`
138227	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
138228	AdditionalProperties map[string]interface{} `json:""`
138229	// Description - Dataset description.
138230	Description *string `json:"description,omitempty"`
138231	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
138232	Structure interface{} `json:"structure,omitempty"`
138233	// Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement.
138234	Schema interface{} `json:"schema,omitempty"`
138235	// LinkedServiceName - Linked service reference.
138236	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
138237	// Parameters - Parameters for dataset.
138238	Parameters map[string]*ParameterSpecification `json:"parameters"`
138239	// Annotations - List of tags that can be used for describing the Dataset.
138240	Annotations *[]interface{} `json:"annotations,omitempty"`
138241	// Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level.
138242	Folder *DatasetFolder `json:"folder,omitempty"`
138243	// Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', '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', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeDelimitedText', 'TypeParquet', 'TypeAmazonS3Object'
138244	Type TypeBasicDataset `json:"type,omitempty"`
138245}
138246
138247// MarshalJSON is the custom marshaler for QuickBooksObjectDataset.
138248func (qbod QuickBooksObjectDataset) MarshalJSON() ([]byte, error) {
138249	qbod.Type = TypeQuickBooksObject
138250	objectMap := make(map[string]interface{})
138251	if qbod.GenericDatasetTypeProperties != nil {
138252		objectMap["typeProperties"] = qbod.GenericDatasetTypeProperties
138253	}
138254	if qbod.Description != nil {
138255		objectMap["description"] = qbod.Description
138256	}
138257	if qbod.Structure != nil {
138258		objectMap["structure"] = qbod.Structure
138259	}
138260	if qbod.Schema != nil {
138261		objectMap["schema"] = qbod.Schema
138262	}
138263	if qbod.LinkedServiceName != nil {
138264		objectMap["linkedServiceName"] = qbod.LinkedServiceName
138265	}
138266	if qbod.Parameters != nil {
138267		objectMap["parameters"] = qbod.Parameters
138268	}
138269	if qbod.Annotations != nil {
138270		objectMap["annotations"] = qbod.Annotations
138271	}
138272	if qbod.Folder != nil {
138273		objectMap["folder"] = qbod.Folder
138274	}
138275	if qbod.Type != "" {
138276		objectMap["type"] = qbod.Type
138277	}
138278	for k, v := range qbod.AdditionalProperties {
138279		objectMap[k] = v
138280	}
138281	return json.Marshal(objectMap)
138282}
138283
138284// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for QuickBooksObjectDataset.
138285func (qbod QuickBooksObjectDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) {
138286	return nil, false
138287}
138288
138289// AsAzureDataExplorerTableDataset is the BasicDataset implementation for QuickBooksObjectDataset.
138290func (qbod QuickBooksObjectDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) {
138291	return nil, false
138292}
138293
138294// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for QuickBooksObjectDataset.
138295func (qbod QuickBooksObjectDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) {
138296	return nil, false
138297}
138298
138299// AsDynamicsAXResourceDataset is the BasicDataset implementation for QuickBooksObjectDataset.
138300func (qbod QuickBooksObjectDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) {
138301	return nil, false
138302}
138303
138304// AsResponsysObjectDataset is the BasicDataset implementation for QuickBooksObjectDataset.
138305func (qbod QuickBooksObjectDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
138306	return nil, false
138307}
138308
138309// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for QuickBooksObjectDataset.
138310func (qbod QuickBooksObjectDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
138311	return nil, false
138312}
138313
138314// AsVerticaTableDataset is the BasicDataset implementation for QuickBooksObjectDataset.
138315func (qbod QuickBooksObjectDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
138316	return nil, false
138317}
138318
138319// AsNetezzaTableDataset is the BasicDataset implementation for QuickBooksObjectDataset.
138320func (qbod QuickBooksObjectDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
138321	return nil, false
138322}
138323
138324// AsZohoObjectDataset is the BasicDataset implementation for QuickBooksObjectDataset.
138325func (qbod QuickBooksObjectDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
138326	return nil, false
138327}
138328
138329// AsXeroObjectDataset is the BasicDataset implementation for QuickBooksObjectDataset.
138330func (qbod QuickBooksObjectDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
138331	return nil, false
138332}
138333
138334// AsSquareObjectDataset is the BasicDataset implementation for QuickBooksObjectDataset.
138335func (qbod QuickBooksObjectDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
138336	return nil, false
138337}
138338
138339// AsSparkObjectDataset is the BasicDataset implementation for QuickBooksObjectDataset.
138340func (qbod QuickBooksObjectDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
138341	return nil, false
138342}
138343
138344// AsShopifyObjectDataset is the BasicDataset implementation for QuickBooksObjectDataset.
138345func (qbod QuickBooksObjectDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
138346	return nil, false
138347}
138348
138349// AsServiceNowObjectDataset is the BasicDataset implementation for QuickBooksObjectDataset.
138350func (qbod QuickBooksObjectDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
138351	return nil, false
138352}
138353
138354// AsQuickBooksObjectDataset is the BasicDataset implementation for QuickBooksObjectDataset.
138355func (qbod QuickBooksObjectDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
138356	return &qbod, true
138357}
138358
138359// AsPrestoObjectDataset is the BasicDataset implementation for QuickBooksObjectDataset.
138360func (qbod QuickBooksObjectDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
138361	return nil, false
138362}
138363
138364// AsPhoenixObjectDataset is the BasicDataset implementation for QuickBooksObjectDataset.
138365func (qbod QuickBooksObjectDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
138366	return nil, false
138367}
138368
138369// AsPaypalObjectDataset is the BasicDataset implementation for QuickBooksObjectDataset.
138370func (qbod QuickBooksObjectDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
138371	return nil, false
138372}
138373
138374// AsMarketoObjectDataset is the BasicDataset implementation for QuickBooksObjectDataset.
138375func (qbod QuickBooksObjectDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
138376	return nil, false
138377}
138378
138379// AsMariaDBTableDataset is the BasicDataset implementation for QuickBooksObjectDataset.
138380func (qbod QuickBooksObjectDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
138381	return nil, false
138382}
138383
138384// AsMagentoObjectDataset is the BasicDataset implementation for QuickBooksObjectDataset.
138385func (qbod QuickBooksObjectDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
138386	return nil, false
138387}
138388
138389// AsJiraObjectDataset is the BasicDataset implementation for QuickBooksObjectDataset.
138390func (qbod QuickBooksObjectDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
138391	return nil, false
138392}
138393
138394// AsImpalaObjectDataset is the BasicDataset implementation for QuickBooksObjectDataset.
138395func (qbod QuickBooksObjectDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
138396	return nil, false
138397}
138398
138399// AsHubspotObjectDataset is the BasicDataset implementation for QuickBooksObjectDataset.
138400func (qbod QuickBooksObjectDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
138401	return nil, false
138402}
138403
138404// AsHiveObjectDataset is the BasicDataset implementation for QuickBooksObjectDataset.
138405func (qbod QuickBooksObjectDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
138406	return nil, false
138407}
138408
138409// AsHBaseObjectDataset is the BasicDataset implementation for QuickBooksObjectDataset.
138410func (qbod QuickBooksObjectDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
138411	return nil, false
138412}
138413
138414// AsGreenplumTableDataset is the BasicDataset implementation for QuickBooksObjectDataset.
138415func (qbod QuickBooksObjectDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
138416	return nil, false
138417}
138418
138419// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for QuickBooksObjectDataset.
138420func (qbod QuickBooksObjectDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
138421	return nil, false
138422}
138423
138424// AsEloquaObjectDataset is the BasicDataset implementation for QuickBooksObjectDataset.
138425func (qbod QuickBooksObjectDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
138426	return nil, false
138427}
138428
138429// AsDrillTableDataset is the BasicDataset implementation for QuickBooksObjectDataset.
138430func (qbod QuickBooksObjectDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
138431	return nil, false
138432}
138433
138434// AsCouchbaseTableDataset is the BasicDataset implementation for QuickBooksObjectDataset.
138435func (qbod QuickBooksObjectDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
138436	return nil, false
138437}
138438
138439// AsConcurObjectDataset is the BasicDataset implementation for QuickBooksObjectDataset.
138440func (qbod QuickBooksObjectDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
138441	return nil, false
138442}
138443
138444// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for QuickBooksObjectDataset.
138445func (qbod QuickBooksObjectDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
138446	return nil, false
138447}
138448
138449// AsAmazonMWSObjectDataset is the BasicDataset implementation for QuickBooksObjectDataset.
138450func (qbod QuickBooksObjectDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
138451	return nil, false
138452}
138453
138454// AsHTTPDataset is the BasicDataset implementation for QuickBooksObjectDataset.
138455func (qbod QuickBooksObjectDataset) AsHTTPDataset() (*HTTPDataset, bool) {
138456	return nil, false
138457}
138458
138459// AsAzureSearchIndexDataset is the BasicDataset implementation for QuickBooksObjectDataset.
138460func (qbod QuickBooksObjectDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
138461	return nil, false
138462}
138463
138464// AsWebTableDataset is the BasicDataset implementation for QuickBooksObjectDataset.
138465func (qbod QuickBooksObjectDataset) AsWebTableDataset() (*WebTableDataset, bool) {
138466	return nil, false
138467}
138468
138469// AsSapTableResourceDataset is the BasicDataset implementation for QuickBooksObjectDataset.
138470func (qbod QuickBooksObjectDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) {
138471	return nil, false
138472}
138473
138474// AsRestResourceDataset is the BasicDataset implementation for QuickBooksObjectDataset.
138475func (qbod QuickBooksObjectDataset) AsRestResourceDataset() (*RestResourceDataset, bool) {
138476	return nil, false
138477}
138478
138479// AsSQLServerTableDataset is the BasicDataset implementation for QuickBooksObjectDataset.
138480func (qbod QuickBooksObjectDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
138481	return nil, false
138482}
138483
138484// AsSapOpenHubTableDataset is the BasicDataset implementation for QuickBooksObjectDataset.
138485func (qbod QuickBooksObjectDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) {
138486	return nil, false
138487}
138488
138489// AsSapHanaTableDataset is the BasicDataset implementation for QuickBooksObjectDataset.
138490func (qbod QuickBooksObjectDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) {
138491	return nil, false
138492}
138493
138494// AsSapEccResourceDataset is the BasicDataset implementation for QuickBooksObjectDataset.
138495func (qbod QuickBooksObjectDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
138496	return nil, false
138497}
138498
138499// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for QuickBooksObjectDataset.
138500func (qbod QuickBooksObjectDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
138501	return nil, false
138502}
138503
138504// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for QuickBooksObjectDataset.
138505func (qbod QuickBooksObjectDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) {
138506	return nil, false
138507}
138508
138509// AsSalesforceObjectDataset is the BasicDataset implementation for QuickBooksObjectDataset.
138510func (qbod QuickBooksObjectDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
138511	return nil, false
138512}
138513
138514// AsMicrosoftAccessTableDataset is the BasicDataset implementation for QuickBooksObjectDataset.
138515func (qbod QuickBooksObjectDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) {
138516	return nil, false
138517}
138518
138519// AsPostgreSQLTableDataset is the BasicDataset implementation for QuickBooksObjectDataset.
138520func (qbod QuickBooksObjectDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) {
138521	return nil, false
138522}
138523
138524// AsMySQLTableDataset is the BasicDataset implementation for QuickBooksObjectDataset.
138525func (qbod QuickBooksObjectDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) {
138526	return nil, false
138527}
138528
138529// AsOdbcTableDataset is the BasicDataset implementation for QuickBooksObjectDataset.
138530func (qbod QuickBooksObjectDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) {
138531	return nil, false
138532}
138533
138534// AsInformixTableDataset is the BasicDataset implementation for QuickBooksObjectDataset.
138535func (qbod QuickBooksObjectDataset) AsInformixTableDataset() (*InformixTableDataset, bool) {
138536	return nil, false
138537}
138538
138539// AsRelationalTableDataset is the BasicDataset implementation for QuickBooksObjectDataset.
138540func (qbod QuickBooksObjectDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
138541	return nil, false
138542}
138543
138544// AsAzureMySQLTableDataset is the BasicDataset implementation for QuickBooksObjectDataset.
138545func (qbod QuickBooksObjectDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
138546	return nil, false
138547}
138548
138549// AsTeradataTableDataset is the BasicDataset implementation for QuickBooksObjectDataset.
138550func (qbod QuickBooksObjectDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) {
138551	return nil, false
138552}
138553
138554// AsOracleTableDataset is the BasicDataset implementation for QuickBooksObjectDataset.
138555func (qbod QuickBooksObjectDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
138556	return nil, false
138557}
138558
138559// AsODataResourceDataset is the BasicDataset implementation for QuickBooksObjectDataset.
138560func (qbod QuickBooksObjectDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
138561	return nil, false
138562}
138563
138564// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for QuickBooksObjectDataset.
138565func (qbod QuickBooksObjectDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) {
138566	return nil, false
138567}
138568
138569// AsMongoDbV2CollectionDataset is the BasicDataset implementation for QuickBooksObjectDataset.
138570func (qbod QuickBooksObjectDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) {
138571	return nil, false
138572}
138573
138574// AsMongoDbCollectionDataset is the BasicDataset implementation for QuickBooksObjectDataset.
138575func (qbod QuickBooksObjectDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
138576	return nil, false
138577}
138578
138579// AsFileShareDataset is the BasicDataset implementation for QuickBooksObjectDataset.
138580func (qbod QuickBooksObjectDataset) AsFileShareDataset() (*FileShareDataset, bool) {
138581	return nil, false
138582}
138583
138584// AsOffice365Dataset is the BasicDataset implementation for QuickBooksObjectDataset.
138585func (qbod QuickBooksObjectDataset) AsOffice365Dataset() (*Office365Dataset, bool) {
138586	return nil, false
138587}
138588
138589// AsAzureBlobFSDataset is the BasicDataset implementation for QuickBooksObjectDataset.
138590func (qbod QuickBooksObjectDataset) AsAzureBlobFSDataset() (*AzureBlobFSDataset, bool) {
138591	return nil, false
138592}
138593
138594// AsAzureDataLakeStoreDataset is the BasicDataset implementation for QuickBooksObjectDataset.
138595func (qbod QuickBooksObjectDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) {
138596	return nil, false
138597}
138598
138599// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for QuickBooksObjectDataset.
138600func (qbod QuickBooksObjectDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) {
138601	return nil, false
138602}
138603
138604// AsDynamicsCrmEntityDataset is the BasicDataset implementation for QuickBooksObjectDataset.
138605func (qbod QuickBooksObjectDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) {
138606	return nil, false
138607}
138608
138609// AsDynamicsEntityDataset is the BasicDataset implementation for QuickBooksObjectDataset.
138610func (qbod QuickBooksObjectDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
138611	return nil, false
138612}
138613
138614// AsDocumentDbCollectionDataset is the BasicDataset implementation for QuickBooksObjectDataset.
138615func (qbod QuickBooksObjectDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
138616	return nil, false
138617}
138618
138619// AsCustomDataset is the BasicDataset implementation for QuickBooksObjectDataset.
138620func (qbod QuickBooksObjectDataset) AsCustomDataset() (*CustomDataset, bool) {
138621	return nil, false
138622}
138623
138624// AsCassandraTableDataset is the BasicDataset implementation for QuickBooksObjectDataset.
138625func (qbod QuickBooksObjectDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
138626	return nil, false
138627}
138628
138629// AsAzureSQLDWTableDataset is the BasicDataset implementation for QuickBooksObjectDataset.
138630func (qbod QuickBooksObjectDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
138631	return nil, false
138632}
138633
138634// AsAzureSQLMITableDataset is the BasicDataset implementation for QuickBooksObjectDataset.
138635func (qbod QuickBooksObjectDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) {
138636	return nil, false
138637}
138638
138639// AsAzureSQLTableDataset is the BasicDataset implementation for QuickBooksObjectDataset.
138640func (qbod QuickBooksObjectDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
138641	return nil, false
138642}
138643
138644// AsAzureTableDataset is the BasicDataset implementation for QuickBooksObjectDataset.
138645func (qbod QuickBooksObjectDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
138646	return nil, false
138647}
138648
138649// AsAzureBlobDataset is the BasicDataset implementation for QuickBooksObjectDataset.
138650func (qbod QuickBooksObjectDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) {
138651	return nil, false
138652}
138653
138654// AsBinaryDataset is the BasicDataset implementation for QuickBooksObjectDataset.
138655func (qbod QuickBooksObjectDataset) AsBinaryDataset() (*BinaryDataset, bool) {
138656	return nil, false
138657}
138658
138659// AsDelimitedTextDataset is the BasicDataset implementation for QuickBooksObjectDataset.
138660func (qbod QuickBooksObjectDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) {
138661	return nil, false
138662}
138663
138664// AsParquetDataset is the BasicDataset implementation for QuickBooksObjectDataset.
138665func (qbod QuickBooksObjectDataset) AsParquetDataset() (*ParquetDataset, bool) {
138666	return nil, false
138667}
138668
138669// AsAmazonS3Dataset is the BasicDataset implementation for QuickBooksObjectDataset.
138670func (qbod QuickBooksObjectDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) {
138671	return nil, false
138672}
138673
138674// AsDataset is the BasicDataset implementation for QuickBooksObjectDataset.
138675func (qbod QuickBooksObjectDataset) AsDataset() (*Dataset, bool) {
138676	return nil, false
138677}
138678
138679// AsBasicDataset is the BasicDataset implementation for QuickBooksObjectDataset.
138680func (qbod QuickBooksObjectDataset) AsBasicDataset() (BasicDataset, bool) {
138681	return &qbod, true
138682}
138683
138684// UnmarshalJSON is the custom unmarshaler for QuickBooksObjectDataset struct.
138685func (qbod *QuickBooksObjectDataset) UnmarshalJSON(body []byte) error {
138686	var m map[string]*json.RawMessage
138687	err := json.Unmarshal(body, &m)
138688	if err != nil {
138689		return err
138690	}
138691	for k, v := range m {
138692		switch k {
138693		case "typeProperties":
138694			if v != nil {
138695				var genericDatasetTypeProperties GenericDatasetTypeProperties
138696				err = json.Unmarshal(*v, &genericDatasetTypeProperties)
138697				if err != nil {
138698					return err
138699				}
138700				qbod.GenericDatasetTypeProperties = &genericDatasetTypeProperties
138701			}
138702		default:
138703			if v != nil {
138704				var additionalProperties interface{}
138705				err = json.Unmarshal(*v, &additionalProperties)
138706				if err != nil {
138707					return err
138708				}
138709				if qbod.AdditionalProperties == nil {
138710					qbod.AdditionalProperties = make(map[string]interface{})
138711				}
138712				qbod.AdditionalProperties[k] = additionalProperties
138713			}
138714		case "description":
138715			if v != nil {
138716				var description string
138717				err = json.Unmarshal(*v, &description)
138718				if err != nil {
138719					return err
138720				}
138721				qbod.Description = &description
138722			}
138723		case "structure":
138724			if v != nil {
138725				var structure interface{}
138726				err = json.Unmarshal(*v, &structure)
138727				if err != nil {
138728					return err
138729				}
138730				qbod.Structure = structure
138731			}
138732		case "schema":
138733			if v != nil {
138734				var schema interface{}
138735				err = json.Unmarshal(*v, &schema)
138736				if err != nil {
138737					return err
138738				}
138739				qbod.Schema = schema
138740			}
138741		case "linkedServiceName":
138742			if v != nil {
138743				var linkedServiceName LinkedServiceReference
138744				err = json.Unmarshal(*v, &linkedServiceName)
138745				if err != nil {
138746					return err
138747				}
138748				qbod.LinkedServiceName = &linkedServiceName
138749			}
138750		case "parameters":
138751			if v != nil {
138752				var parameters map[string]*ParameterSpecification
138753				err = json.Unmarshal(*v, &parameters)
138754				if err != nil {
138755					return err
138756				}
138757				qbod.Parameters = parameters
138758			}
138759		case "annotations":
138760			if v != nil {
138761				var annotations []interface{}
138762				err = json.Unmarshal(*v, &annotations)
138763				if err != nil {
138764					return err
138765				}
138766				qbod.Annotations = &annotations
138767			}
138768		case "folder":
138769			if v != nil {
138770				var folder DatasetFolder
138771				err = json.Unmarshal(*v, &folder)
138772				if err != nil {
138773					return err
138774				}
138775				qbod.Folder = &folder
138776			}
138777		case "type":
138778			if v != nil {
138779				var typeVar TypeBasicDataset
138780				err = json.Unmarshal(*v, &typeVar)
138781				if err != nil {
138782					return err
138783				}
138784				qbod.Type = typeVar
138785			}
138786		}
138787	}
138788
138789	return nil
138790}
138791
138792// QuickBooksSource a copy activity QuickBooks server source.
138793type QuickBooksSource struct {
138794	// Query - A query to retrieve data from source. Type: string (or Expression with resultType string).
138795	Query interface{} `json:"query,omitempty"`
138796	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
138797	AdditionalProperties map[string]interface{} `json:""`
138798	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
138799	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
138800	// 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])).
138801	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
138802	// MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer).
138803	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
138804	// Type - Possible values include: 'TypeCopySource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', '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', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeCassandraSource', 'TypeWebSource', 'TypeTeradataSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeAzureMySQLSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeRestSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceServiceCloudSource', 'TypeSalesforceSource', 'TypeODataSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeMicrosoftAccessSource', 'TypeInformixSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAzureTableSource', 'TypeBinarySource', 'TypeDelimitedTextSource', 'TypeParquetSource'
138805	Type TypeBasicCopySource `json:"type,omitempty"`
138806}
138807
138808// MarshalJSON is the custom marshaler for QuickBooksSource.
138809func (qbs QuickBooksSource) MarshalJSON() ([]byte, error) {
138810	qbs.Type = TypeQuickBooksSource
138811	objectMap := make(map[string]interface{})
138812	if qbs.Query != nil {
138813		objectMap["query"] = qbs.Query
138814	}
138815	if qbs.SourceRetryCount != nil {
138816		objectMap["sourceRetryCount"] = qbs.SourceRetryCount
138817	}
138818	if qbs.SourceRetryWait != nil {
138819		objectMap["sourceRetryWait"] = qbs.SourceRetryWait
138820	}
138821	if qbs.MaxConcurrentConnections != nil {
138822		objectMap["maxConcurrentConnections"] = qbs.MaxConcurrentConnections
138823	}
138824	if qbs.Type != "" {
138825		objectMap["type"] = qbs.Type
138826	}
138827	for k, v := range qbs.AdditionalProperties {
138828		objectMap[k] = v
138829	}
138830	return json.Marshal(objectMap)
138831}
138832
138833// AsAmazonRedshiftSource is the BasicCopySource implementation for QuickBooksSource.
138834func (qbs QuickBooksSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
138835	return nil, false
138836}
138837
138838// AsGoogleAdWordsSource is the BasicCopySource implementation for QuickBooksSource.
138839func (qbs QuickBooksSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) {
138840	return nil, false
138841}
138842
138843// AsOracleServiceCloudSource is the BasicCopySource implementation for QuickBooksSource.
138844func (qbs QuickBooksSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) {
138845	return nil, false
138846}
138847
138848// AsDynamicsAXSource is the BasicCopySource implementation for QuickBooksSource.
138849func (qbs QuickBooksSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) {
138850	return nil, false
138851}
138852
138853// AsResponsysSource is the BasicCopySource implementation for QuickBooksSource.
138854func (qbs QuickBooksSource) AsResponsysSource() (*ResponsysSource, bool) {
138855	return nil, false
138856}
138857
138858// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for QuickBooksSource.
138859func (qbs QuickBooksSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
138860	return nil, false
138861}
138862
138863// AsVerticaSource is the BasicCopySource implementation for QuickBooksSource.
138864func (qbs QuickBooksSource) AsVerticaSource() (*VerticaSource, bool) {
138865	return nil, false
138866}
138867
138868// AsNetezzaSource is the BasicCopySource implementation for QuickBooksSource.
138869func (qbs QuickBooksSource) AsNetezzaSource() (*NetezzaSource, bool) {
138870	return nil, false
138871}
138872
138873// AsZohoSource is the BasicCopySource implementation for QuickBooksSource.
138874func (qbs QuickBooksSource) AsZohoSource() (*ZohoSource, bool) {
138875	return nil, false
138876}
138877
138878// AsXeroSource is the BasicCopySource implementation for QuickBooksSource.
138879func (qbs QuickBooksSource) AsXeroSource() (*XeroSource, bool) {
138880	return nil, false
138881}
138882
138883// AsSquareSource is the BasicCopySource implementation for QuickBooksSource.
138884func (qbs QuickBooksSource) AsSquareSource() (*SquareSource, bool) {
138885	return nil, false
138886}
138887
138888// AsSparkSource is the BasicCopySource implementation for QuickBooksSource.
138889func (qbs QuickBooksSource) AsSparkSource() (*SparkSource, bool) {
138890	return nil, false
138891}
138892
138893// AsShopifySource is the BasicCopySource implementation for QuickBooksSource.
138894func (qbs QuickBooksSource) AsShopifySource() (*ShopifySource, bool) {
138895	return nil, false
138896}
138897
138898// AsServiceNowSource is the BasicCopySource implementation for QuickBooksSource.
138899func (qbs QuickBooksSource) AsServiceNowSource() (*ServiceNowSource, bool) {
138900	return nil, false
138901}
138902
138903// AsQuickBooksSource is the BasicCopySource implementation for QuickBooksSource.
138904func (qbs QuickBooksSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
138905	return &qbs, true
138906}
138907
138908// AsPrestoSource is the BasicCopySource implementation for QuickBooksSource.
138909func (qbs QuickBooksSource) AsPrestoSource() (*PrestoSource, bool) {
138910	return nil, false
138911}
138912
138913// AsPhoenixSource is the BasicCopySource implementation for QuickBooksSource.
138914func (qbs QuickBooksSource) AsPhoenixSource() (*PhoenixSource, bool) {
138915	return nil, false
138916}
138917
138918// AsPaypalSource is the BasicCopySource implementation for QuickBooksSource.
138919func (qbs QuickBooksSource) AsPaypalSource() (*PaypalSource, bool) {
138920	return nil, false
138921}
138922
138923// AsMarketoSource is the BasicCopySource implementation for QuickBooksSource.
138924func (qbs QuickBooksSource) AsMarketoSource() (*MarketoSource, bool) {
138925	return nil, false
138926}
138927
138928// AsMariaDBSource is the BasicCopySource implementation for QuickBooksSource.
138929func (qbs QuickBooksSource) AsMariaDBSource() (*MariaDBSource, bool) {
138930	return nil, false
138931}
138932
138933// AsMagentoSource is the BasicCopySource implementation for QuickBooksSource.
138934func (qbs QuickBooksSource) AsMagentoSource() (*MagentoSource, bool) {
138935	return nil, false
138936}
138937
138938// AsJiraSource is the BasicCopySource implementation for QuickBooksSource.
138939func (qbs QuickBooksSource) AsJiraSource() (*JiraSource, bool) {
138940	return nil, false
138941}
138942
138943// AsImpalaSource is the BasicCopySource implementation for QuickBooksSource.
138944func (qbs QuickBooksSource) AsImpalaSource() (*ImpalaSource, bool) {
138945	return nil, false
138946}
138947
138948// AsHubspotSource is the BasicCopySource implementation for QuickBooksSource.
138949func (qbs QuickBooksSource) AsHubspotSource() (*HubspotSource, bool) {
138950	return nil, false
138951}
138952
138953// AsHiveSource is the BasicCopySource implementation for QuickBooksSource.
138954func (qbs QuickBooksSource) AsHiveSource() (*HiveSource, bool) {
138955	return nil, false
138956}
138957
138958// AsHBaseSource is the BasicCopySource implementation for QuickBooksSource.
138959func (qbs QuickBooksSource) AsHBaseSource() (*HBaseSource, bool) {
138960	return nil, false
138961}
138962
138963// AsGreenplumSource is the BasicCopySource implementation for QuickBooksSource.
138964func (qbs QuickBooksSource) AsGreenplumSource() (*GreenplumSource, bool) {
138965	return nil, false
138966}
138967
138968// AsGoogleBigQuerySource is the BasicCopySource implementation for QuickBooksSource.
138969func (qbs QuickBooksSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
138970	return nil, false
138971}
138972
138973// AsEloquaSource is the BasicCopySource implementation for QuickBooksSource.
138974func (qbs QuickBooksSource) AsEloquaSource() (*EloquaSource, bool) {
138975	return nil, false
138976}
138977
138978// AsDrillSource is the BasicCopySource implementation for QuickBooksSource.
138979func (qbs QuickBooksSource) AsDrillSource() (*DrillSource, bool) {
138980	return nil, false
138981}
138982
138983// AsCouchbaseSource is the BasicCopySource implementation for QuickBooksSource.
138984func (qbs QuickBooksSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
138985	return nil, false
138986}
138987
138988// AsConcurSource is the BasicCopySource implementation for QuickBooksSource.
138989func (qbs QuickBooksSource) AsConcurSource() (*ConcurSource, bool) {
138990	return nil, false
138991}
138992
138993// AsAzurePostgreSQLSource is the BasicCopySource implementation for QuickBooksSource.
138994func (qbs QuickBooksSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
138995	return nil, false
138996}
138997
138998// AsAmazonMWSSource is the BasicCopySource implementation for QuickBooksSource.
138999func (qbs QuickBooksSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
139000	return nil, false
139001}
139002
139003// AsHTTPSource is the BasicCopySource implementation for QuickBooksSource.
139004func (qbs QuickBooksSource) AsHTTPSource() (*HTTPSource, bool) {
139005	return nil, false
139006}
139007
139008// AsAzureBlobFSSource is the BasicCopySource implementation for QuickBooksSource.
139009func (qbs QuickBooksSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) {
139010	return nil, false
139011}
139012
139013// AsAzureDataLakeStoreSource is the BasicCopySource implementation for QuickBooksSource.
139014func (qbs QuickBooksSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
139015	return nil, false
139016}
139017
139018// AsOffice365Source is the BasicCopySource implementation for QuickBooksSource.
139019func (qbs QuickBooksSource) AsOffice365Source() (*Office365Source, bool) {
139020	return nil, false
139021}
139022
139023// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for QuickBooksSource.
139024func (qbs QuickBooksSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) {
139025	return nil, false
139026}
139027
139028// AsMongoDbV2Source is the BasicCopySource implementation for QuickBooksSource.
139029func (qbs QuickBooksSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) {
139030	return nil, false
139031}
139032
139033// AsMongoDbSource is the BasicCopySource implementation for QuickBooksSource.
139034func (qbs QuickBooksSource) AsMongoDbSource() (*MongoDbSource, bool) {
139035	return nil, false
139036}
139037
139038// AsCassandraSource is the BasicCopySource implementation for QuickBooksSource.
139039func (qbs QuickBooksSource) AsCassandraSource() (*CassandraSource, bool) {
139040	return nil, false
139041}
139042
139043// AsWebSource is the BasicCopySource implementation for QuickBooksSource.
139044func (qbs QuickBooksSource) AsWebSource() (*WebSource, bool) {
139045	return nil, false
139046}
139047
139048// AsTeradataSource is the BasicCopySource implementation for QuickBooksSource.
139049func (qbs QuickBooksSource) AsTeradataSource() (*TeradataSource, bool) {
139050	return nil, false
139051}
139052
139053// AsOracleSource is the BasicCopySource implementation for QuickBooksSource.
139054func (qbs QuickBooksSource) AsOracleSource() (*OracleSource, bool) {
139055	return nil, false
139056}
139057
139058// AsAzureDataExplorerSource is the BasicCopySource implementation for QuickBooksSource.
139059func (qbs QuickBooksSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) {
139060	return nil, false
139061}
139062
139063// AsAzureMySQLSource is the BasicCopySource implementation for QuickBooksSource.
139064func (qbs QuickBooksSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
139065	return nil, false
139066}
139067
139068// AsHdfsSource is the BasicCopySource implementation for QuickBooksSource.
139069func (qbs QuickBooksSource) AsHdfsSource() (*HdfsSource, bool) {
139070	return nil, false
139071}
139072
139073// AsFileSystemSource is the BasicCopySource implementation for QuickBooksSource.
139074func (qbs QuickBooksSource) AsFileSystemSource() (*FileSystemSource, bool) {
139075	return nil, false
139076}
139077
139078// AsSQLDWSource is the BasicCopySource implementation for QuickBooksSource.
139079func (qbs QuickBooksSource) AsSQLDWSource() (*SQLDWSource, bool) {
139080	return nil, false
139081}
139082
139083// AsSQLMISource is the BasicCopySource implementation for QuickBooksSource.
139084func (qbs QuickBooksSource) AsSQLMISource() (*SQLMISource, bool) {
139085	return nil, false
139086}
139087
139088// AsAzureSQLSource is the BasicCopySource implementation for QuickBooksSource.
139089func (qbs QuickBooksSource) AsAzureSQLSource() (*AzureSQLSource, bool) {
139090	return nil, false
139091}
139092
139093// AsSQLServerSource is the BasicCopySource implementation for QuickBooksSource.
139094func (qbs QuickBooksSource) AsSQLServerSource() (*SQLServerSource, bool) {
139095	return nil, false
139096}
139097
139098// AsSQLSource is the BasicCopySource implementation for QuickBooksSource.
139099func (qbs QuickBooksSource) AsSQLSource() (*SQLSource, bool) {
139100	return nil, false
139101}
139102
139103// AsRestSource is the BasicCopySource implementation for QuickBooksSource.
139104func (qbs QuickBooksSource) AsRestSource() (*RestSource, bool) {
139105	return nil, false
139106}
139107
139108// AsSapTableSource is the BasicCopySource implementation for QuickBooksSource.
139109func (qbs QuickBooksSource) AsSapTableSource() (*SapTableSource, bool) {
139110	return nil, false
139111}
139112
139113// AsSapOpenHubSource is the BasicCopySource implementation for QuickBooksSource.
139114func (qbs QuickBooksSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) {
139115	return nil, false
139116}
139117
139118// AsSapHanaSource is the BasicCopySource implementation for QuickBooksSource.
139119func (qbs QuickBooksSource) AsSapHanaSource() (*SapHanaSource, bool) {
139120	return nil, false
139121}
139122
139123// AsSapEccSource is the BasicCopySource implementation for QuickBooksSource.
139124func (qbs QuickBooksSource) AsSapEccSource() (*SapEccSource, bool) {
139125	return nil, false
139126}
139127
139128// AsSapCloudForCustomerSource is the BasicCopySource implementation for QuickBooksSource.
139129func (qbs QuickBooksSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
139130	return nil, false
139131}
139132
139133// AsSalesforceServiceCloudSource is the BasicCopySource implementation for QuickBooksSource.
139134func (qbs QuickBooksSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) {
139135	return nil, false
139136}
139137
139138// AsSalesforceSource is the BasicCopySource implementation for QuickBooksSource.
139139func (qbs QuickBooksSource) AsSalesforceSource() (*SalesforceSource, bool) {
139140	return nil, false
139141}
139142
139143// AsODataSource is the BasicCopySource implementation for QuickBooksSource.
139144func (qbs QuickBooksSource) AsODataSource() (*ODataSource, bool) {
139145	return nil, false
139146}
139147
139148// AsSybaseSource is the BasicCopySource implementation for QuickBooksSource.
139149func (qbs QuickBooksSource) AsSybaseSource() (*SybaseSource, bool) {
139150	return nil, false
139151}
139152
139153// AsPostgreSQLSource is the BasicCopySource implementation for QuickBooksSource.
139154func (qbs QuickBooksSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) {
139155	return nil, false
139156}
139157
139158// AsMySQLSource is the BasicCopySource implementation for QuickBooksSource.
139159func (qbs QuickBooksSource) AsMySQLSource() (*MySQLSource, bool) {
139160	return nil, false
139161}
139162
139163// AsOdbcSource is the BasicCopySource implementation for QuickBooksSource.
139164func (qbs QuickBooksSource) AsOdbcSource() (*OdbcSource, bool) {
139165	return nil, false
139166}
139167
139168// AsDb2Source is the BasicCopySource implementation for QuickBooksSource.
139169func (qbs QuickBooksSource) AsDb2Source() (*Db2Source, bool) {
139170	return nil, false
139171}
139172
139173// AsMicrosoftAccessSource is the BasicCopySource implementation for QuickBooksSource.
139174func (qbs QuickBooksSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) {
139175	return nil, false
139176}
139177
139178// AsInformixSource is the BasicCopySource implementation for QuickBooksSource.
139179func (qbs QuickBooksSource) AsInformixSource() (*InformixSource, bool) {
139180	return nil, false
139181}
139182
139183// AsRelationalSource is the BasicCopySource implementation for QuickBooksSource.
139184func (qbs QuickBooksSource) AsRelationalSource() (*RelationalSource, bool) {
139185	return nil, false
139186}
139187
139188// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for QuickBooksSource.
139189func (qbs QuickBooksSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) {
139190	return nil, false
139191}
139192
139193// AsDynamicsCrmSource is the BasicCopySource implementation for QuickBooksSource.
139194func (qbs QuickBooksSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) {
139195	return nil, false
139196}
139197
139198// AsDynamicsSource is the BasicCopySource implementation for QuickBooksSource.
139199func (qbs QuickBooksSource) AsDynamicsSource() (*DynamicsSource, bool) {
139200	return nil, false
139201}
139202
139203// AsDocumentDbCollectionSource is the BasicCopySource implementation for QuickBooksSource.
139204func (qbs QuickBooksSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
139205	return nil, false
139206}
139207
139208// AsBlobSource is the BasicCopySource implementation for QuickBooksSource.
139209func (qbs QuickBooksSource) AsBlobSource() (*BlobSource, bool) {
139210	return nil, false
139211}
139212
139213// AsAzureTableSource is the BasicCopySource implementation for QuickBooksSource.
139214func (qbs QuickBooksSource) AsAzureTableSource() (*AzureTableSource, bool) {
139215	return nil, false
139216}
139217
139218// AsBinarySource is the BasicCopySource implementation for QuickBooksSource.
139219func (qbs QuickBooksSource) AsBinarySource() (*BinarySource, bool) {
139220	return nil, false
139221}
139222
139223// AsDelimitedTextSource is the BasicCopySource implementation for QuickBooksSource.
139224func (qbs QuickBooksSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) {
139225	return nil, false
139226}
139227
139228// AsParquetSource is the BasicCopySource implementation for QuickBooksSource.
139229func (qbs QuickBooksSource) AsParquetSource() (*ParquetSource, bool) {
139230	return nil, false
139231}
139232
139233// AsCopySource is the BasicCopySource implementation for QuickBooksSource.
139234func (qbs QuickBooksSource) AsCopySource() (*CopySource, bool) {
139235	return nil, false
139236}
139237
139238// AsBasicCopySource is the BasicCopySource implementation for QuickBooksSource.
139239func (qbs QuickBooksSource) AsBasicCopySource() (BasicCopySource, bool) {
139240	return &qbs, true
139241}
139242
139243// UnmarshalJSON is the custom unmarshaler for QuickBooksSource struct.
139244func (qbs *QuickBooksSource) UnmarshalJSON(body []byte) error {
139245	var m map[string]*json.RawMessage
139246	err := json.Unmarshal(body, &m)
139247	if err != nil {
139248		return err
139249	}
139250	for k, v := range m {
139251		switch k {
139252		case "query":
139253			if v != nil {
139254				var query interface{}
139255				err = json.Unmarshal(*v, &query)
139256				if err != nil {
139257					return err
139258				}
139259				qbs.Query = query
139260			}
139261		default:
139262			if v != nil {
139263				var additionalProperties interface{}
139264				err = json.Unmarshal(*v, &additionalProperties)
139265				if err != nil {
139266					return err
139267				}
139268				if qbs.AdditionalProperties == nil {
139269					qbs.AdditionalProperties = make(map[string]interface{})
139270				}
139271				qbs.AdditionalProperties[k] = additionalProperties
139272			}
139273		case "sourceRetryCount":
139274			if v != nil {
139275				var sourceRetryCount interface{}
139276				err = json.Unmarshal(*v, &sourceRetryCount)
139277				if err != nil {
139278					return err
139279				}
139280				qbs.SourceRetryCount = sourceRetryCount
139281			}
139282		case "sourceRetryWait":
139283			if v != nil {
139284				var sourceRetryWait interface{}
139285				err = json.Unmarshal(*v, &sourceRetryWait)
139286				if err != nil {
139287					return err
139288				}
139289				qbs.SourceRetryWait = sourceRetryWait
139290			}
139291		case "maxConcurrentConnections":
139292			if v != nil {
139293				var maxConcurrentConnections interface{}
139294				err = json.Unmarshal(*v, &maxConcurrentConnections)
139295				if err != nil {
139296					return err
139297				}
139298				qbs.MaxConcurrentConnections = maxConcurrentConnections
139299			}
139300		case "type":
139301			if v != nil {
139302				var typeVar TypeBasicCopySource
139303				err = json.Unmarshal(*v, &typeVar)
139304				if err != nil {
139305					return err
139306				}
139307				qbs.Type = typeVar
139308			}
139309		}
139310	}
139311
139312	return nil
139313}
139314
139315// RecurrenceSchedule the recurrence schedule.
139316type RecurrenceSchedule struct {
139317	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
139318	AdditionalProperties map[string]interface{} `json:""`
139319	// Minutes - The minutes.
139320	Minutes *[]int32 `json:"minutes,omitempty"`
139321	// Hours - The hours.
139322	Hours *[]int32 `json:"hours,omitempty"`
139323	// WeekDays - The days of the week.
139324	WeekDays *[]DaysOfWeek `json:"weekDays,omitempty"`
139325	// MonthDays - The month days.
139326	MonthDays *[]int32 `json:"monthDays,omitempty"`
139327	// MonthlyOccurrences - The monthly occurrences.
139328	MonthlyOccurrences *[]RecurrenceScheduleOccurrence `json:"monthlyOccurrences,omitempty"`
139329}
139330
139331// MarshalJSON is the custom marshaler for RecurrenceSchedule.
139332func (rs RecurrenceSchedule) MarshalJSON() ([]byte, error) {
139333	objectMap := make(map[string]interface{})
139334	if rs.Minutes != nil {
139335		objectMap["minutes"] = rs.Minutes
139336	}
139337	if rs.Hours != nil {
139338		objectMap["hours"] = rs.Hours
139339	}
139340	if rs.WeekDays != nil {
139341		objectMap["weekDays"] = rs.WeekDays
139342	}
139343	if rs.MonthDays != nil {
139344		objectMap["monthDays"] = rs.MonthDays
139345	}
139346	if rs.MonthlyOccurrences != nil {
139347		objectMap["monthlyOccurrences"] = rs.MonthlyOccurrences
139348	}
139349	for k, v := range rs.AdditionalProperties {
139350		objectMap[k] = v
139351	}
139352	return json.Marshal(objectMap)
139353}
139354
139355// UnmarshalJSON is the custom unmarshaler for RecurrenceSchedule struct.
139356func (rs *RecurrenceSchedule) UnmarshalJSON(body []byte) error {
139357	var m map[string]*json.RawMessage
139358	err := json.Unmarshal(body, &m)
139359	if err != nil {
139360		return err
139361	}
139362	for k, v := range m {
139363		switch k {
139364		default:
139365			if v != nil {
139366				var additionalProperties interface{}
139367				err = json.Unmarshal(*v, &additionalProperties)
139368				if err != nil {
139369					return err
139370				}
139371				if rs.AdditionalProperties == nil {
139372					rs.AdditionalProperties = make(map[string]interface{})
139373				}
139374				rs.AdditionalProperties[k] = additionalProperties
139375			}
139376		case "minutes":
139377			if v != nil {
139378				var minutes []int32
139379				err = json.Unmarshal(*v, &minutes)
139380				if err != nil {
139381					return err
139382				}
139383				rs.Minutes = &minutes
139384			}
139385		case "hours":
139386			if v != nil {
139387				var hours []int32
139388				err = json.Unmarshal(*v, &hours)
139389				if err != nil {
139390					return err
139391				}
139392				rs.Hours = &hours
139393			}
139394		case "weekDays":
139395			if v != nil {
139396				var weekDays []DaysOfWeek
139397				err = json.Unmarshal(*v, &weekDays)
139398				if err != nil {
139399					return err
139400				}
139401				rs.WeekDays = &weekDays
139402			}
139403		case "monthDays":
139404			if v != nil {
139405				var monthDays []int32
139406				err = json.Unmarshal(*v, &monthDays)
139407				if err != nil {
139408					return err
139409				}
139410				rs.MonthDays = &monthDays
139411			}
139412		case "monthlyOccurrences":
139413			if v != nil {
139414				var monthlyOccurrences []RecurrenceScheduleOccurrence
139415				err = json.Unmarshal(*v, &monthlyOccurrences)
139416				if err != nil {
139417					return err
139418				}
139419				rs.MonthlyOccurrences = &monthlyOccurrences
139420			}
139421		}
139422	}
139423
139424	return nil
139425}
139426
139427// RecurrenceScheduleOccurrence the recurrence schedule occurrence.
139428type RecurrenceScheduleOccurrence struct {
139429	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
139430	AdditionalProperties map[string]interface{} `json:""`
139431	// Day - The day of the week. Possible values include: 'Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'
139432	Day DayOfWeek `json:"day,omitempty"`
139433	// Occurrence - The occurrence.
139434	Occurrence *int32 `json:"occurrence,omitempty"`
139435}
139436
139437// MarshalJSON is the custom marshaler for RecurrenceScheduleOccurrence.
139438func (rso RecurrenceScheduleOccurrence) MarshalJSON() ([]byte, error) {
139439	objectMap := make(map[string]interface{})
139440	if rso.Day != "" {
139441		objectMap["day"] = rso.Day
139442	}
139443	if rso.Occurrence != nil {
139444		objectMap["occurrence"] = rso.Occurrence
139445	}
139446	for k, v := range rso.AdditionalProperties {
139447		objectMap[k] = v
139448	}
139449	return json.Marshal(objectMap)
139450}
139451
139452// UnmarshalJSON is the custom unmarshaler for RecurrenceScheduleOccurrence struct.
139453func (rso *RecurrenceScheduleOccurrence) UnmarshalJSON(body []byte) error {
139454	var m map[string]*json.RawMessage
139455	err := json.Unmarshal(body, &m)
139456	if err != nil {
139457		return err
139458	}
139459	for k, v := range m {
139460		switch k {
139461		default:
139462			if v != nil {
139463				var additionalProperties interface{}
139464				err = json.Unmarshal(*v, &additionalProperties)
139465				if err != nil {
139466					return err
139467				}
139468				if rso.AdditionalProperties == nil {
139469					rso.AdditionalProperties = make(map[string]interface{})
139470				}
139471				rso.AdditionalProperties[k] = additionalProperties
139472			}
139473		case "day":
139474			if v != nil {
139475				var day DayOfWeek
139476				err = json.Unmarshal(*v, &day)
139477				if err != nil {
139478					return err
139479				}
139480				rso.Day = day
139481			}
139482		case "occurrence":
139483			if v != nil {
139484				var occurrence int32
139485				err = json.Unmarshal(*v, &occurrence)
139486				if err != nil {
139487					return err
139488				}
139489				rso.Occurrence = &occurrence
139490			}
139491		}
139492	}
139493
139494	return nil
139495}
139496
139497// RedirectIncompatibleRowSettings redirect incompatible row settings
139498type RedirectIncompatibleRowSettings struct {
139499	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
139500	AdditionalProperties map[string]interface{} `json:""`
139501	// 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).
139502	LinkedServiceName interface{} `json:"linkedServiceName,omitempty"`
139503	// Path - The path for storing the redirect incompatible row data. Type: string (or Expression with resultType string).
139504	Path interface{} `json:"path,omitempty"`
139505}
139506
139507// MarshalJSON is the custom marshaler for RedirectIncompatibleRowSettings.
139508func (rirs RedirectIncompatibleRowSettings) MarshalJSON() ([]byte, error) {
139509	objectMap := make(map[string]interface{})
139510	if rirs.LinkedServiceName != nil {
139511		objectMap["linkedServiceName"] = rirs.LinkedServiceName
139512	}
139513	if rirs.Path != nil {
139514		objectMap["path"] = rirs.Path
139515	}
139516	for k, v := range rirs.AdditionalProperties {
139517		objectMap[k] = v
139518	}
139519	return json.Marshal(objectMap)
139520}
139521
139522// UnmarshalJSON is the custom unmarshaler for RedirectIncompatibleRowSettings struct.
139523func (rirs *RedirectIncompatibleRowSettings) UnmarshalJSON(body []byte) error {
139524	var m map[string]*json.RawMessage
139525	err := json.Unmarshal(body, &m)
139526	if err != nil {
139527		return err
139528	}
139529	for k, v := range m {
139530		switch k {
139531		default:
139532			if v != nil {
139533				var additionalProperties interface{}
139534				err = json.Unmarshal(*v, &additionalProperties)
139535				if err != nil {
139536					return err
139537				}
139538				if rirs.AdditionalProperties == nil {
139539					rirs.AdditionalProperties = make(map[string]interface{})
139540				}
139541				rirs.AdditionalProperties[k] = additionalProperties
139542			}
139543		case "linkedServiceName":
139544			if v != nil {
139545				var linkedServiceName interface{}
139546				err = json.Unmarshal(*v, &linkedServiceName)
139547				if err != nil {
139548					return err
139549				}
139550				rirs.LinkedServiceName = linkedServiceName
139551			}
139552		case "path":
139553			if v != nil {
139554				var pathVar interface{}
139555				err = json.Unmarshal(*v, &pathVar)
139556				if err != nil {
139557					return err
139558				}
139559				rirs.Path = pathVar
139560			}
139561		}
139562	}
139563
139564	return nil
139565}
139566
139567// RedshiftUnloadSettings the Amazon S3 settings needed for the interim Amazon S3 when copying from Amazon
139568// Redshift with unload. With this, data from Amazon Redshift source will be unloaded into S3 first and
139569// then copied into the targeted sink from the interim S3.
139570type RedshiftUnloadSettings struct {
139571	// S3LinkedServiceName - The name of the Amazon S3 linked service which will be used for the unload operation when copying from the Amazon Redshift source.
139572	S3LinkedServiceName *LinkedServiceReference `json:"s3LinkedServiceName,omitempty"`
139573	// 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).
139574	BucketName interface{} `json:"bucketName,omitempty"`
139575}
139576
139577// RelationalSource a copy activity source for various relational databases.
139578type RelationalSource struct {
139579	// Query - Database query. Type: string (or Expression with resultType string).
139580	Query interface{} `json:"query,omitempty"`
139581	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
139582	AdditionalProperties map[string]interface{} `json:""`
139583	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
139584	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
139585	// 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])).
139586	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
139587	// MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer).
139588	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
139589	// Type - Possible values include: 'TypeCopySource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', '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', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeCassandraSource', 'TypeWebSource', 'TypeTeradataSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeAzureMySQLSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeRestSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceServiceCloudSource', 'TypeSalesforceSource', 'TypeODataSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeMicrosoftAccessSource', 'TypeInformixSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAzureTableSource', 'TypeBinarySource', 'TypeDelimitedTextSource', 'TypeParquetSource'
139590	Type TypeBasicCopySource `json:"type,omitempty"`
139591}
139592
139593// MarshalJSON is the custom marshaler for RelationalSource.
139594func (rs RelationalSource) MarshalJSON() ([]byte, error) {
139595	rs.Type = TypeRelationalSource
139596	objectMap := make(map[string]interface{})
139597	if rs.Query != nil {
139598		objectMap["query"] = rs.Query
139599	}
139600	if rs.SourceRetryCount != nil {
139601		objectMap["sourceRetryCount"] = rs.SourceRetryCount
139602	}
139603	if rs.SourceRetryWait != nil {
139604		objectMap["sourceRetryWait"] = rs.SourceRetryWait
139605	}
139606	if rs.MaxConcurrentConnections != nil {
139607		objectMap["maxConcurrentConnections"] = rs.MaxConcurrentConnections
139608	}
139609	if rs.Type != "" {
139610		objectMap["type"] = rs.Type
139611	}
139612	for k, v := range rs.AdditionalProperties {
139613		objectMap[k] = v
139614	}
139615	return json.Marshal(objectMap)
139616}
139617
139618// AsAmazonRedshiftSource is the BasicCopySource implementation for RelationalSource.
139619func (rs RelationalSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
139620	return nil, false
139621}
139622
139623// AsGoogleAdWordsSource is the BasicCopySource implementation for RelationalSource.
139624func (rs RelationalSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) {
139625	return nil, false
139626}
139627
139628// AsOracleServiceCloudSource is the BasicCopySource implementation for RelationalSource.
139629func (rs RelationalSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) {
139630	return nil, false
139631}
139632
139633// AsDynamicsAXSource is the BasicCopySource implementation for RelationalSource.
139634func (rs RelationalSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) {
139635	return nil, false
139636}
139637
139638// AsResponsysSource is the BasicCopySource implementation for RelationalSource.
139639func (rs RelationalSource) AsResponsysSource() (*ResponsysSource, bool) {
139640	return nil, false
139641}
139642
139643// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for RelationalSource.
139644func (rs RelationalSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
139645	return nil, false
139646}
139647
139648// AsVerticaSource is the BasicCopySource implementation for RelationalSource.
139649func (rs RelationalSource) AsVerticaSource() (*VerticaSource, bool) {
139650	return nil, false
139651}
139652
139653// AsNetezzaSource is the BasicCopySource implementation for RelationalSource.
139654func (rs RelationalSource) AsNetezzaSource() (*NetezzaSource, bool) {
139655	return nil, false
139656}
139657
139658// AsZohoSource is the BasicCopySource implementation for RelationalSource.
139659func (rs RelationalSource) AsZohoSource() (*ZohoSource, bool) {
139660	return nil, false
139661}
139662
139663// AsXeroSource is the BasicCopySource implementation for RelationalSource.
139664func (rs RelationalSource) AsXeroSource() (*XeroSource, bool) {
139665	return nil, false
139666}
139667
139668// AsSquareSource is the BasicCopySource implementation for RelationalSource.
139669func (rs RelationalSource) AsSquareSource() (*SquareSource, bool) {
139670	return nil, false
139671}
139672
139673// AsSparkSource is the BasicCopySource implementation for RelationalSource.
139674func (rs RelationalSource) AsSparkSource() (*SparkSource, bool) {
139675	return nil, false
139676}
139677
139678// AsShopifySource is the BasicCopySource implementation for RelationalSource.
139679func (rs RelationalSource) AsShopifySource() (*ShopifySource, bool) {
139680	return nil, false
139681}
139682
139683// AsServiceNowSource is the BasicCopySource implementation for RelationalSource.
139684func (rs RelationalSource) AsServiceNowSource() (*ServiceNowSource, bool) {
139685	return nil, false
139686}
139687
139688// AsQuickBooksSource is the BasicCopySource implementation for RelationalSource.
139689func (rs RelationalSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
139690	return nil, false
139691}
139692
139693// AsPrestoSource is the BasicCopySource implementation for RelationalSource.
139694func (rs RelationalSource) AsPrestoSource() (*PrestoSource, bool) {
139695	return nil, false
139696}
139697
139698// AsPhoenixSource is the BasicCopySource implementation for RelationalSource.
139699func (rs RelationalSource) AsPhoenixSource() (*PhoenixSource, bool) {
139700	return nil, false
139701}
139702
139703// AsPaypalSource is the BasicCopySource implementation for RelationalSource.
139704func (rs RelationalSource) AsPaypalSource() (*PaypalSource, bool) {
139705	return nil, false
139706}
139707
139708// AsMarketoSource is the BasicCopySource implementation for RelationalSource.
139709func (rs RelationalSource) AsMarketoSource() (*MarketoSource, bool) {
139710	return nil, false
139711}
139712
139713// AsMariaDBSource is the BasicCopySource implementation for RelationalSource.
139714func (rs RelationalSource) AsMariaDBSource() (*MariaDBSource, bool) {
139715	return nil, false
139716}
139717
139718// AsMagentoSource is the BasicCopySource implementation for RelationalSource.
139719func (rs RelationalSource) AsMagentoSource() (*MagentoSource, bool) {
139720	return nil, false
139721}
139722
139723// AsJiraSource is the BasicCopySource implementation for RelationalSource.
139724func (rs RelationalSource) AsJiraSource() (*JiraSource, bool) {
139725	return nil, false
139726}
139727
139728// AsImpalaSource is the BasicCopySource implementation for RelationalSource.
139729func (rs RelationalSource) AsImpalaSource() (*ImpalaSource, bool) {
139730	return nil, false
139731}
139732
139733// AsHubspotSource is the BasicCopySource implementation for RelationalSource.
139734func (rs RelationalSource) AsHubspotSource() (*HubspotSource, bool) {
139735	return nil, false
139736}
139737
139738// AsHiveSource is the BasicCopySource implementation for RelationalSource.
139739func (rs RelationalSource) AsHiveSource() (*HiveSource, bool) {
139740	return nil, false
139741}
139742
139743// AsHBaseSource is the BasicCopySource implementation for RelationalSource.
139744func (rs RelationalSource) AsHBaseSource() (*HBaseSource, bool) {
139745	return nil, false
139746}
139747
139748// AsGreenplumSource is the BasicCopySource implementation for RelationalSource.
139749func (rs RelationalSource) AsGreenplumSource() (*GreenplumSource, bool) {
139750	return nil, false
139751}
139752
139753// AsGoogleBigQuerySource is the BasicCopySource implementation for RelationalSource.
139754func (rs RelationalSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
139755	return nil, false
139756}
139757
139758// AsEloquaSource is the BasicCopySource implementation for RelationalSource.
139759func (rs RelationalSource) AsEloquaSource() (*EloquaSource, bool) {
139760	return nil, false
139761}
139762
139763// AsDrillSource is the BasicCopySource implementation for RelationalSource.
139764func (rs RelationalSource) AsDrillSource() (*DrillSource, bool) {
139765	return nil, false
139766}
139767
139768// AsCouchbaseSource is the BasicCopySource implementation for RelationalSource.
139769func (rs RelationalSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
139770	return nil, false
139771}
139772
139773// AsConcurSource is the BasicCopySource implementation for RelationalSource.
139774func (rs RelationalSource) AsConcurSource() (*ConcurSource, bool) {
139775	return nil, false
139776}
139777
139778// AsAzurePostgreSQLSource is the BasicCopySource implementation for RelationalSource.
139779func (rs RelationalSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
139780	return nil, false
139781}
139782
139783// AsAmazonMWSSource is the BasicCopySource implementation for RelationalSource.
139784func (rs RelationalSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
139785	return nil, false
139786}
139787
139788// AsHTTPSource is the BasicCopySource implementation for RelationalSource.
139789func (rs RelationalSource) AsHTTPSource() (*HTTPSource, bool) {
139790	return nil, false
139791}
139792
139793// AsAzureBlobFSSource is the BasicCopySource implementation for RelationalSource.
139794func (rs RelationalSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) {
139795	return nil, false
139796}
139797
139798// AsAzureDataLakeStoreSource is the BasicCopySource implementation for RelationalSource.
139799func (rs RelationalSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
139800	return nil, false
139801}
139802
139803// AsOffice365Source is the BasicCopySource implementation for RelationalSource.
139804func (rs RelationalSource) AsOffice365Source() (*Office365Source, bool) {
139805	return nil, false
139806}
139807
139808// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for RelationalSource.
139809func (rs RelationalSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) {
139810	return nil, false
139811}
139812
139813// AsMongoDbV2Source is the BasicCopySource implementation for RelationalSource.
139814func (rs RelationalSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) {
139815	return nil, false
139816}
139817
139818// AsMongoDbSource is the BasicCopySource implementation for RelationalSource.
139819func (rs RelationalSource) AsMongoDbSource() (*MongoDbSource, bool) {
139820	return nil, false
139821}
139822
139823// AsCassandraSource is the BasicCopySource implementation for RelationalSource.
139824func (rs RelationalSource) AsCassandraSource() (*CassandraSource, bool) {
139825	return nil, false
139826}
139827
139828// AsWebSource is the BasicCopySource implementation for RelationalSource.
139829func (rs RelationalSource) AsWebSource() (*WebSource, bool) {
139830	return nil, false
139831}
139832
139833// AsTeradataSource is the BasicCopySource implementation for RelationalSource.
139834func (rs RelationalSource) AsTeradataSource() (*TeradataSource, bool) {
139835	return nil, false
139836}
139837
139838// AsOracleSource is the BasicCopySource implementation for RelationalSource.
139839func (rs RelationalSource) AsOracleSource() (*OracleSource, bool) {
139840	return nil, false
139841}
139842
139843// AsAzureDataExplorerSource is the BasicCopySource implementation for RelationalSource.
139844func (rs RelationalSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) {
139845	return nil, false
139846}
139847
139848// AsAzureMySQLSource is the BasicCopySource implementation for RelationalSource.
139849func (rs RelationalSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
139850	return nil, false
139851}
139852
139853// AsHdfsSource is the BasicCopySource implementation for RelationalSource.
139854func (rs RelationalSource) AsHdfsSource() (*HdfsSource, bool) {
139855	return nil, false
139856}
139857
139858// AsFileSystemSource is the BasicCopySource implementation for RelationalSource.
139859func (rs RelationalSource) AsFileSystemSource() (*FileSystemSource, bool) {
139860	return nil, false
139861}
139862
139863// AsSQLDWSource is the BasicCopySource implementation for RelationalSource.
139864func (rs RelationalSource) AsSQLDWSource() (*SQLDWSource, bool) {
139865	return nil, false
139866}
139867
139868// AsSQLMISource is the BasicCopySource implementation for RelationalSource.
139869func (rs RelationalSource) AsSQLMISource() (*SQLMISource, bool) {
139870	return nil, false
139871}
139872
139873// AsAzureSQLSource is the BasicCopySource implementation for RelationalSource.
139874func (rs RelationalSource) AsAzureSQLSource() (*AzureSQLSource, bool) {
139875	return nil, false
139876}
139877
139878// AsSQLServerSource is the BasicCopySource implementation for RelationalSource.
139879func (rs RelationalSource) AsSQLServerSource() (*SQLServerSource, bool) {
139880	return nil, false
139881}
139882
139883// AsSQLSource is the BasicCopySource implementation for RelationalSource.
139884func (rs RelationalSource) AsSQLSource() (*SQLSource, bool) {
139885	return nil, false
139886}
139887
139888// AsRestSource is the BasicCopySource implementation for RelationalSource.
139889func (rs RelationalSource) AsRestSource() (*RestSource, bool) {
139890	return nil, false
139891}
139892
139893// AsSapTableSource is the BasicCopySource implementation for RelationalSource.
139894func (rs RelationalSource) AsSapTableSource() (*SapTableSource, bool) {
139895	return nil, false
139896}
139897
139898// AsSapOpenHubSource is the BasicCopySource implementation for RelationalSource.
139899func (rs RelationalSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) {
139900	return nil, false
139901}
139902
139903// AsSapHanaSource is the BasicCopySource implementation for RelationalSource.
139904func (rs RelationalSource) AsSapHanaSource() (*SapHanaSource, bool) {
139905	return nil, false
139906}
139907
139908// AsSapEccSource is the BasicCopySource implementation for RelationalSource.
139909func (rs RelationalSource) AsSapEccSource() (*SapEccSource, bool) {
139910	return nil, false
139911}
139912
139913// AsSapCloudForCustomerSource is the BasicCopySource implementation for RelationalSource.
139914func (rs RelationalSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
139915	return nil, false
139916}
139917
139918// AsSalesforceServiceCloudSource is the BasicCopySource implementation for RelationalSource.
139919func (rs RelationalSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) {
139920	return nil, false
139921}
139922
139923// AsSalesforceSource is the BasicCopySource implementation for RelationalSource.
139924func (rs RelationalSource) AsSalesforceSource() (*SalesforceSource, bool) {
139925	return nil, false
139926}
139927
139928// AsODataSource is the BasicCopySource implementation for RelationalSource.
139929func (rs RelationalSource) AsODataSource() (*ODataSource, bool) {
139930	return nil, false
139931}
139932
139933// AsSybaseSource is the BasicCopySource implementation for RelationalSource.
139934func (rs RelationalSource) AsSybaseSource() (*SybaseSource, bool) {
139935	return nil, false
139936}
139937
139938// AsPostgreSQLSource is the BasicCopySource implementation for RelationalSource.
139939func (rs RelationalSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) {
139940	return nil, false
139941}
139942
139943// AsMySQLSource is the BasicCopySource implementation for RelationalSource.
139944func (rs RelationalSource) AsMySQLSource() (*MySQLSource, bool) {
139945	return nil, false
139946}
139947
139948// AsOdbcSource is the BasicCopySource implementation for RelationalSource.
139949func (rs RelationalSource) AsOdbcSource() (*OdbcSource, bool) {
139950	return nil, false
139951}
139952
139953// AsDb2Source is the BasicCopySource implementation for RelationalSource.
139954func (rs RelationalSource) AsDb2Source() (*Db2Source, bool) {
139955	return nil, false
139956}
139957
139958// AsMicrosoftAccessSource is the BasicCopySource implementation for RelationalSource.
139959func (rs RelationalSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) {
139960	return nil, false
139961}
139962
139963// AsInformixSource is the BasicCopySource implementation for RelationalSource.
139964func (rs RelationalSource) AsInformixSource() (*InformixSource, bool) {
139965	return nil, false
139966}
139967
139968// AsRelationalSource is the BasicCopySource implementation for RelationalSource.
139969func (rs RelationalSource) AsRelationalSource() (*RelationalSource, bool) {
139970	return &rs, true
139971}
139972
139973// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for RelationalSource.
139974func (rs RelationalSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) {
139975	return nil, false
139976}
139977
139978// AsDynamicsCrmSource is the BasicCopySource implementation for RelationalSource.
139979func (rs RelationalSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) {
139980	return nil, false
139981}
139982
139983// AsDynamicsSource is the BasicCopySource implementation for RelationalSource.
139984func (rs RelationalSource) AsDynamicsSource() (*DynamicsSource, bool) {
139985	return nil, false
139986}
139987
139988// AsDocumentDbCollectionSource is the BasicCopySource implementation for RelationalSource.
139989func (rs RelationalSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
139990	return nil, false
139991}
139992
139993// AsBlobSource is the BasicCopySource implementation for RelationalSource.
139994func (rs RelationalSource) AsBlobSource() (*BlobSource, bool) {
139995	return nil, false
139996}
139997
139998// AsAzureTableSource is the BasicCopySource implementation for RelationalSource.
139999func (rs RelationalSource) AsAzureTableSource() (*AzureTableSource, bool) {
140000	return nil, false
140001}
140002
140003// AsBinarySource is the BasicCopySource implementation for RelationalSource.
140004func (rs RelationalSource) AsBinarySource() (*BinarySource, bool) {
140005	return nil, false
140006}
140007
140008// AsDelimitedTextSource is the BasicCopySource implementation for RelationalSource.
140009func (rs RelationalSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) {
140010	return nil, false
140011}
140012
140013// AsParquetSource is the BasicCopySource implementation for RelationalSource.
140014func (rs RelationalSource) AsParquetSource() (*ParquetSource, bool) {
140015	return nil, false
140016}
140017
140018// AsCopySource is the BasicCopySource implementation for RelationalSource.
140019func (rs RelationalSource) AsCopySource() (*CopySource, bool) {
140020	return nil, false
140021}
140022
140023// AsBasicCopySource is the BasicCopySource implementation for RelationalSource.
140024func (rs RelationalSource) AsBasicCopySource() (BasicCopySource, bool) {
140025	return &rs, true
140026}
140027
140028// UnmarshalJSON is the custom unmarshaler for RelationalSource struct.
140029func (rs *RelationalSource) UnmarshalJSON(body []byte) error {
140030	var m map[string]*json.RawMessage
140031	err := json.Unmarshal(body, &m)
140032	if err != nil {
140033		return err
140034	}
140035	for k, v := range m {
140036		switch k {
140037		case "query":
140038			if v != nil {
140039				var query interface{}
140040				err = json.Unmarshal(*v, &query)
140041				if err != nil {
140042					return err
140043				}
140044				rs.Query = query
140045			}
140046		default:
140047			if v != nil {
140048				var additionalProperties interface{}
140049				err = json.Unmarshal(*v, &additionalProperties)
140050				if err != nil {
140051					return err
140052				}
140053				if rs.AdditionalProperties == nil {
140054					rs.AdditionalProperties = make(map[string]interface{})
140055				}
140056				rs.AdditionalProperties[k] = additionalProperties
140057			}
140058		case "sourceRetryCount":
140059			if v != nil {
140060				var sourceRetryCount interface{}
140061				err = json.Unmarshal(*v, &sourceRetryCount)
140062				if err != nil {
140063					return err
140064				}
140065				rs.SourceRetryCount = sourceRetryCount
140066			}
140067		case "sourceRetryWait":
140068			if v != nil {
140069				var sourceRetryWait interface{}
140070				err = json.Unmarshal(*v, &sourceRetryWait)
140071				if err != nil {
140072					return err
140073				}
140074				rs.SourceRetryWait = sourceRetryWait
140075			}
140076		case "maxConcurrentConnections":
140077			if v != nil {
140078				var maxConcurrentConnections interface{}
140079				err = json.Unmarshal(*v, &maxConcurrentConnections)
140080				if err != nil {
140081					return err
140082				}
140083				rs.MaxConcurrentConnections = maxConcurrentConnections
140084			}
140085		case "type":
140086			if v != nil {
140087				var typeVar TypeBasicCopySource
140088				err = json.Unmarshal(*v, &typeVar)
140089				if err != nil {
140090					return err
140091				}
140092				rs.Type = typeVar
140093			}
140094		}
140095	}
140096
140097	return nil
140098}
140099
140100// RelationalTableDataset the relational table dataset.
140101type RelationalTableDataset struct {
140102	// RelationalTableDatasetTypeProperties - Relational table dataset properties.
140103	*RelationalTableDatasetTypeProperties `json:"typeProperties,omitempty"`
140104	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
140105	AdditionalProperties map[string]interface{} `json:""`
140106	// Description - Dataset description.
140107	Description *string `json:"description,omitempty"`
140108	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
140109	Structure interface{} `json:"structure,omitempty"`
140110	// Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement.
140111	Schema interface{} `json:"schema,omitempty"`
140112	// LinkedServiceName - Linked service reference.
140113	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
140114	// Parameters - Parameters for dataset.
140115	Parameters map[string]*ParameterSpecification `json:"parameters"`
140116	// Annotations - List of tags that can be used for describing the Dataset.
140117	Annotations *[]interface{} `json:"annotations,omitempty"`
140118	// Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level.
140119	Folder *DatasetFolder `json:"folder,omitempty"`
140120	// Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', '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', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeDelimitedText', 'TypeParquet', 'TypeAmazonS3Object'
140121	Type TypeBasicDataset `json:"type,omitempty"`
140122}
140123
140124// MarshalJSON is the custom marshaler for RelationalTableDataset.
140125func (rtd RelationalTableDataset) MarshalJSON() ([]byte, error) {
140126	rtd.Type = TypeRelationalTable
140127	objectMap := make(map[string]interface{})
140128	if rtd.RelationalTableDatasetTypeProperties != nil {
140129		objectMap["typeProperties"] = rtd.RelationalTableDatasetTypeProperties
140130	}
140131	if rtd.Description != nil {
140132		objectMap["description"] = rtd.Description
140133	}
140134	if rtd.Structure != nil {
140135		objectMap["structure"] = rtd.Structure
140136	}
140137	if rtd.Schema != nil {
140138		objectMap["schema"] = rtd.Schema
140139	}
140140	if rtd.LinkedServiceName != nil {
140141		objectMap["linkedServiceName"] = rtd.LinkedServiceName
140142	}
140143	if rtd.Parameters != nil {
140144		objectMap["parameters"] = rtd.Parameters
140145	}
140146	if rtd.Annotations != nil {
140147		objectMap["annotations"] = rtd.Annotations
140148	}
140149	if rtd.Folder != nil {
140150		objectMap["folder"] = rtd.Folder
140151	}
140152	if rtd.Type != "" {
140153		objectMap["type"] = rtd.Type
140154	}
140155	for k, v := range rtd.AdditionalProperties {
140156		objectMap[k] = v
140157	}
140158	return json.Marshal(objectMap)
140159}
140160
140161// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for RelationalTableDataset.
140162func (rtd RelationalTableDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) {
140163	return nil, false
140164}
140165
140166// AsAzureDataExplorerTableDataset is the BasicDataset implementation for RelationalTableDataset.
140167func (rtd RelationalTableDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) {
140168	return nil, false
140169}
140170
140171// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for RelationalTableDataset.
140172func (rtd RelationalTableDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) {
140173	return nil, false
140174}
140175
140176// AsDynamicsAXResourceDataset is the BasicDataset implementation for RelationalTableDataset.
140177func (rtd RelationalTableDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) {
140178	return nil, false
140179}
140180
140181// AsResponsysObjectDataset is the BasicDataset implementation for RelationalTableDataset.
140182func (rtd RelationalTableDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
140183	return nil, false
140184}
140185
140186// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for RelationalTableDataset.
140187func (rtd RelationalTableDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
140188	return nil, false
140189}
140190
140191// AsVerticaTableDataset is the BasicDataset implementation for RelationalTableDataset.
140192func (rtd RelationalTableDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
140193	return nil, false
140194}
140195
140196// AsNetezzaTableDataset is the BasicDataset implementation for RelationalTableDataset.
140197func (rtd RelationalTableDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
140198	return nil, false
140199}
140200
140201// AsZohoObjectDataset is the BasicDataset implementation for RelationalTableDataset.
140202func (rtd RelationalTableDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
140203	return nil, false
140204}
140205
140206// AsXeroObjectDataset is the BasicDataset implementation for RelationalTableDataset.
140207func (rtd RelationalTableDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
140208	return nil, false
140209}
140210
140211// AsSquareObjectDataset is the BasicDataset implementation for RelationalTableDataset.
140212func (rtd RelationalTableDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
140213	return nil, false
140214}
140215
140216// AsSparkObjectDataset is the BasicDataset implementation for RelationalTableDataset.
140217func (rtd RelationalTableDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
140218	return nil, false
140219}
140220
140221// AsShopifyObjectDataset is the BasicDataset implementation for RelationalTableDataset.
140222func (rtd RelationalTableDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
140223	return nil, false
140224}
140225
140226// AsServiceNowObjectDataset is the BasicDataset implementation for RelationalTableDataset.
140227func (rtd RelationalTableDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
140228	return nil, false
140229}
140230
140231// AsQuickBooksObjectDataset is the BasicDataset implementation for RelationalTableDataset.
140232func (rtd RelationalTableDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
140233	return nil, false
140234}
140235
140236// AsPrestoObjectDataset is the BasicDataset implementation for RelationalTableDataset.
140237func (rtd RelationalTableDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
140238	return nil, false
140239}
140240
140241// AsPhoenixObjectDataset is the BasicDataset implementation for RelationalTableDataset.
140242func (rtd RelationalTableDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
140243	return nil, false
140244}
140245
140246// AsPaypalObjectDataset is the BasicDataset implementation for RelationalTableDataset.
140247func (rtd RelationalTableDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
140248	return nil, false
140249}
140250
140251// AsMarketoObjectDataset is the BasicDataset implementation for RelationalTableDataset.
140252func (rtd RelationalTableDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
140253	return nil, false
140254}
140255
140256// AsMariaDBTableDataset is the BasicDataset implementation for RelationalTableDataset.
140257func (rtd RelationalTableDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
140258	return nil, false
140259}
140260
140261// AsMagentoObjectDataset is the BasicDataset implementation for RelationalTableDataset.
140262func (rtd RelationalTableDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
140263	return nil, false
140264}
140265
140266// AsJiraObjectDataset is the BasicDataset implementation for RelationalTableDataset.
140267func (rtd RelationalTableDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
140268	return nil, false
140269}
140270
140271// AsImpalaObjectDataset is the BasicDataset implementation for RelationalTableDataset.
140272func (rtd RelationalTableDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
140273	return nil, false
140274}
140275
140276// AsHubspotObjectDataset is the BasicDataset implementation for RelationalTableDataset.
140277func (rtd RelationalTableDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
140278	return nil, false
140279}
140280
140281// AsHiveObjectDataset is the BasicDataset implementation for RelationalTableDataset.
140282func (rtd RelationalTableDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
140283	return nil, false
140284}
140285
140286// AsHBaseObjectDataset is the BasicDataset implementation for RelationalTableDataset.
140287func (rtd RelationalTableDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
140288	return nil, false
140289}
140290
140291// AsGreenplumTableDataset is the BasicDataset implementation for RelationalTableDataset.
140292func (rtd RelationalTableDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
140293	return nil, false
140294}
140295
140296// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for RelationalTableDataset.
140297func (rtd RelationalTableDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
140298	return nil, false
140299}
140300
140301// AsEloquaObjectDataset is the BasicDataset implementation for RelationalTableDataset.
140302func (rtd RelationalTableDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
140303	return nil, false
140304}
140305
140306// AsDrillTableDataset is the BasicDataset implementation for RelationalTableDataset.
140307func (rtd RelationalTableDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
140308	return nil, false
140309}
140310
140311// AsCouchbaseTableDataset is the BasicDataset implementation for RelationalTableDataset.
140312func (rtd RelationalTableDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
140313	return nil, false
140314}
140315
140316// AsConcurObjectDataset is the BasicDataset implementation for RelationalTableDataset.
140317func (rtd RelationalTableDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
140318	return nil, false
140319}
140320
140321// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for RelationalTableDataset.
140322func (rtd RelationalTableDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
140323	return nil, false
140324}
140325
140326// AsAmazonMWSObjectDataset is the BasicDataset implementation for RelationalTableDataset.
140327func (rtd RelationalTableDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
140328	return nil, false
140329}
140330
140331// AsHTTPDataset is the BasicDataset implementation for RelationalTableDataset.
140332func (rtd RelationalTableDataset) AsHTTPDataset() (*HTTPDataset, bool) {
140333	return nil, false
140334}
140335
140336// AsAzureSearchIndexDataset is the BasicDataset implementation for RelationalTableDataset.
140337func (rtd RelationalTableDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
140338	return nil, false
140339}
140340
140341// AsWebTableDataset is the BasicDataset implementation for RelationalTableDataset.
140342func (rtd RelationalTableDataset) AsWebTableDataset() (*WebTableDataset, bool) {
140343	return nil, false
140344}
140345
140346// AsSapTableResourceDataset is the BasicDataset implementation for RelationalTableDataset.
140347func (rtd RelationalTableDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) {
140348	return nil, false
140349}
140350
140351// AsRestResourceDataset is the BasicDataset implementation for RelationalTableDataset.
140352func (rtd RelationalTableDataset) AsRestResourceDataset() (*RestResourceDataset, bool) {
140353	return nil, false
140354}
140355
140356// AsSQLServerTableDataset is the BasicDataset implementation for RelationalTableDataset.
140357func (rtd RelationalTableDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
140358	return nil, false
140359}
140360
140361// AsSapOpenHubTableDataset is the BasicDataset implementation for RelationalTableDataset.
140362func (rtd RelationalTableDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) {
140363	return nil, false
140364}
140365
140366// AsSapHanaTableDataset is the BasicDataset implementation for RelationalTableDataset.
140367func (rtd RelationalTableDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) {
140368	return nil, false
140369}
140370
140371// AsSapEccResourceDataset is the BasicDataset implementation for RelationalTableDataset.
140372func (rtd RelationalTableDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
140373	return nil, false
140374}
140375
140376// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for RelationalTableDataset.
140377func (rtd RelationalTableDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
140378	return nil, false
140379}
140380
140381// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for RelationalTableDataset.
140382func (rtd RelationalTableDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) {
140383	return nil, false
140384}
140385
140386// AsSalesforceObjectDataset is the BasicDataset implementation for RelationalTableDataset.
140387func (rtd RelationalTableDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
140388	return nil, false
140389}
140390
140391// AsMicrosoftAccessTableDataset is the BasicDataset implementation for RelationalTableDataset.
140392func (rtd RelationalTableDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) {
140393	return nil, false
140394}
140395
140396// AsPostgreSQLTableDataset is the BasicDataset implementation for RelationalTableDataset.
140397func (rtd RelationalTableDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) {
140398	return nil, false
140399}
140400
140401// AsMySQLTableDataset is the BasicDataset implementation for RelationalTableDataset.
140402func (rtd RelationalTableDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) {
140403	return nil, false
140404}
140405
140406// AsOdbcTableDataset is the BasicDataset implementation for RelationalTableDataset.
140407func (rtd RelationalTableDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) {
140408	return nil, false
140409}
140410
140411// AsInformixTableDataset is the BasicDataset implementation for RelationalTableDataset.
140412func (rtd RelationalTableDataset) AsInformixTableDataset() (*InformixTableDataset, bool) {
140413	return nil, false
140414}
140415
140416// AsRelationalTableDataset is the BasicDataset implementation for RelationalTableDataset.
140417func (rtd RelationalTableDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
140418	return &rtd, true
140419}
140420
140421// AsAzureMySQLTableDataset is the BasicDataset implementation for RelationalTableDataset.
140422func (rtd RelationalTableDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
140423	return nil, false
140424}
140425
140426// AsTeradataTableDataset is the BasicDataset implementation for RelationalTableDataset.
140427func (rtd RelationalTableDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) {
140428	return nil, false
140429}
140430
140431// AsOracleTableDataset is the BasicDataset implementation for RelationalTableDataset.
140432func (rtd RelationalTableDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
140433	return nil, false
140434}
140435
140436// AsODataResourceDataset is the BasicDataset implementation for RelationalTableDataset.
140437func (rtd RelationalTableDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
140438	return nil, false
140439}
140440
140441// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for RelationalTableDataset.
140442func (rtd RelationalTableDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) {
140443	return nil, false
140444}
140445
140446// AsMongoDbV2CollectionDataset is the BasicDataset implementation for RelationalTableDataset.
140447func (rtd RelationalTableDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) {
140448	return nil, false
140449}
140450
140451// AsMongoDbCollectionDataset is the BasicDataset implementation for RelationalTableDataset.
140452func (rtd RelationalTableDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
140453	return nil, false
140454}
140455
140456// AsFileShareDataset is the BasicDataset implementation for RelationalTableDataset.
140457func (rtd RelationalTableDataset) AsFileShareDataset() (*FileShareDataset, bool) {
140458	return nil, false
140459}
140460
140461// AsOffice365Dataset is the BasicDataset implementation for RelationalTableDataset.
140462func (rtd RelationalTableDataset) AsOffice365Dataset() (*Office365Dataset, bool) {
140463	return nil, false
140464}
140465
140466// AsAzureBlobFSDataset is the BasicDataset implementation for RelationalTableDataset.
140467func (rtd RelationalTableDataset) AsAzureBlobFSDataset() (*AzureBlobFSDataset, bool) {
140468	return nil, false
140469}
140470
140471// AsAzureDataLakeStoreDataset is the BasicDataset implementation for RelationalTableDataset.
140472func (rtd RelationalTableDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) {
140473	return nil, false
140474}
140475
140476// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for RelationalTableDataset.
140477func (rtd RelationalTableDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) {
140478	return nil, false
140479}
140480
140481// AsDynamicsCrmEntityDataset is the BasicDataset implementation for RelationalTableDataset.
140482func (rtd RelationalTableDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) {
140483	return nil, false
140484}
140485
140486// AsDynamicsEntityDataset is the BasicDataset implementation for RelationalTableDataset.
140487func (rtd RelationalTableDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
140488	return nil, false
140489}
140490
140491// AsDocumentDbCollectionDataset is the BasicDataset implementation for RelationalTableDataset.
140492func (rtd RelationalTableDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
140493	return nil, false
140494}
140495
140496// AsCustomDataset is the BasicDataset implementation for RelationalTableDataset.
140497func (rtd RelationalTableDataset) AsCustomDataset() (*CustomDataset, bool) {
140498	return nil, false
140499}
140500
140501// AsCassandraTableDataset is the BasicDataset implementation for RelationalTableDataset.
140502func (rtd RelationalTableDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
140503	return nil, false
140504}
140505
140506// AsAzureSQLDWTableDataset is the BasicDataset implementation for RelationalTableDataset.
140507func (rtd RelationalTableDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
140508	return nil, false
140509}
140510
140511// AsAzureSQLMITableDataset is the BasicDataset implementation for RelationalTableDataset.
140512func (rtd RelationalTableDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) {
140513	return nil, false
140514}
140515
140516// AsAzureSQLTableDataset is the BasicDataset implementation for RelationalTableDataset.
140517func (rtd RelationalTableDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
140518	return nil, false
140519}
140520
140521// AsAzureTableDataset is the BasicDataset implementation for RelationalTableDataset.
140522func (rtd RelationalTableDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
140523	return nil, false
140524}
140525
140526// AsAzureBlobDataset is the BasicDataset implementation for RelationalTableDataset.
140527func (rtd RelationalTableDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) {
140528	return nil, false
140529}
140530
140531// AsBinaryDataset is the BasicDataset implementation for RelationalTableDataset.
140532func (rtd RelationalTableDataset) AsBinaryDataset() (*BinaryDataset, bool) {
140533	return nil, false
140534}
140535
140536// AsDelimitedTextDataset is the BasicDataset implementation for RelationalTableDataset.
140537func (rtd RelationalTableDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) {
140538	return nil, false
140539}
140540
140541// AsParquetDataset is the BasicDataset implementation for RelationalTableDataset.
140542func (rtd RelationalTableDataset) AsParquetDataset() (*ParquetDataset, bool) {
140543	return nil, false
140544}
140545
140546// AsAmazonS3Dataset is the BasicDataset implementation for RelationalTableDataset.
140547func (rtd RelationalTableDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) {
140548	return nil, false
140549}
140550
140551// AsDataset is the BasicDataset implementation for RelationalTableDataset.
140552func (rtd RelationalTableDataset) AsDataset() (*Dataset, bool) {
140553	return nil, false
140554}
140555
140556// AsBasicDataset is the BasicDataset implementation for RelationalTableDataset.
140557func (rtd RelationalTableDataset) AsBasicDataset() (BasicDataset, bool) {
140558	return &rtd, true
140559}
140560
140561// UnmarshalJSON is the custom unmarshaler for RelationalTableDataset struct.
140562func (rtd *RelationalTableDataset) UnmarshalJSON(body []byte) error {
140563	var m map[string]*json.RawMessage
140564	err := json.Unmarshal(body, &m)
140565	if err != nil {
140566		return err
140567	}
140568	for k, v := range m {
140569		switch k {
140570		case "typeProperties":
140571			if v != nil {
140572				var relationalTableDatasetTypeProperties RelationalTableDatasetTypeProperties
140573				err = json.Unmarshal(*v, &relationalTableDatasetTypeProperties)
140574				if err != nil {
140575					return err
140576				}
140577				rtd.RelationalTableDatasetTypeProperties = &relationalTableDatasetTypeProperties
140578			}
140579		default:
140580			if v != nil {
140581				var additionalProperties interface{}
140582				err = json.Unmarshal(*v, &additionalProperties)
140583				if err != nil {
140584					return err
140585				}
140586				if rtd.AdditionalProperties == nil {
140587					rtd.AdditionalProperties = make(map[string]interface{})
140588				}
140589				rtd.AdditionalProperties[k] = additionalProperties
140590			}
140591		case "description":
140592			if v != nil {
140593				var description string
140594				err = json.Unmarshal(*v, &description)
140595				if err != nil {
140596					return err
140597				}
140598				rtd.Description = &description
140599			}
140600		case "structure":
140601			if v != nil {
140602				var structure interface{}
140603				err = json.Unmarshal(*v, &structure)
140604				if err != nil {
140605					return err
140606				}
140607				rtd.Structure = structure
140608			}
140609		case "schema":
140610			if v != nil {
140611				var schema interface{}
140612				err = json.Unmarshal(*v, &schema)
140613				if err != nil {
140614					return err
140615				}
140616				rtd.Schema = schema
140617			}
140618		case "linkedServiceName":
140619			if v != nil {
140620				var linkedServiceName LinkedServiceReference
140621				err = json.Unmarshal(*v, &linkedServiceName)
140622				if err != nil {
140623					return err
140624				}
140625				rtd.LinkedServiceName = &linkedServiceName
140626			}
140627		case "parameters":
140628			if v != nil {
140629				var parameters map[string]*ParameterSpecification
140630				err = json.Unmarshal(*v, &parameters)
140631				if err != nil {
140632					return err
140633				}
140634				rtd.Parameters = parameters
140635			}
140636		case "annotations":
140637			if v != nil {
140638				var annotations []interface{}
140639				err = json.Unmarshal(*v, &annotations)
140640				if err != nil {
140641					return err
140642				}
140643				rtd.Annotations = &annotations
140644			}
140645		case "folder":
140646			if v != nil {
140647				var folder DatasetFolder
140648				err = json.Unmarshal(*v, &folder)
140649				if err != nil {
140650					return err
140651				}
140652				rtd.Folder = &folder
140653			}
140654		case "type":
140655			if v != nil {
140656				var typeVar TypeBasicDataset
140657				err = json.Unmarshal(*v, &typeVar)
140658				if err != nil {
140659					return err
140660				}
140661				rtd.Type = typeVar
140662			}
140663		}
140664	}
140665
140666	return nil
140667}
140668
140669// RelationalTableDatasetTypeProperties relational table dataset properties.
140670type RelationalTableDatasetTypeProperties struct {
140671	// TableName - The relational table name. Type: string (or Expression with resultType string).
140672	TableName interface{} `json:"tableName,omitempty"`
140673}
140674
140675// RerunTriggerListResponse a list of rerun triggers.
140676type RerunTriggerListResponse struct {
140677	autorest.Response `json:"-"`
140678	// Value - List of rerun triggers.
140679	Value *[]RerunTriggerResource `json:"value,omitempty"`
140680	// NextLink - READ-ONLY; The continuation token for getting the next page of results, if any remaining results exist, null otherwise.
140681	NextLink *string `json:"nextLink,omitempty"`
140682}
140683
140684// RerunTriggerListResponseIterator provides access to a complete listing of RerunTriggerResource values.
140685type RerunTriggerListResponseIterator struct {
140686	i    int
140687	page RerunTriggerListResponsePage
140688}
140689
140690// NextWithContext advances to the next value.  If there was an error making
140691// the request the iterator does not advance and the error is returned.
140692func (iter *RerunTriggerListResponseIterator) NextWithContext(ctx context.Context) (err error) {
140693	if tracing.IsEnabled() {
140694		ctx = tracing.StartSpan(ctx, fqdn+"/RerunTriggerListResponseIterator.NextWithContext")
140695		defer func() {
140696			sc := -1
140697			if iter.Response().Response.Response != nil {
140698				sc = iter.Response().Response.Response.StatusCode
140699			}
140700			tracing.EndSpan(ctx, sc, err)
140701		}()
140702	}
140703	iter.i++
140704	if iter.i < len(iter.page.Values()) {
140705		return nil
140706	}
140707	err = iter.page.NextWithContext(ctx)
140708	if err != nil {
140709		iter.i--
140710		return err
140711	}
140712	iter.i = 0
140713	return nil
140714}
140715
140716// Next advances to the next value.  If there was an error making
140717// the request the iterator does not advance and the error is returned.
140718// Deprecated: Use NextWithContext() instead.
140719func (iter *RerunTriggerListResponseIterator) Next() error {
140720	return iter.NextWithContext(context.Background())
140721}
140722
140723// NotDone returns true if the enumeration should be started or is not yet complete.
140724func (iter RerunTriggerListResponseIterator) NotDone() bool {
140725	return iter.page.NotDone() && iter.i < len(iter.page.Values())
140726}
140727
140728// Response returns the raw server response from the last page request.
140729func (iter RerunTriggerListResponseIterator) Response() RerunTriggerListResponse {
140730	return iter.page.Response()
140731}
140732
140733// Value returns the current value or a zero-initialized value if the
140734// iterator has advanced beyond the end of the collection.
140735func (iter RerunTriggerListResponseIterator) Value() RerunTriggerResource {
140736	if !iter.page.NotDone() {
140737		return RerunTriggerResource{}
140738	}
140739	return iter.page.Values()[iter.i]
140740}
140741
140742// Creates a new instance of the RerunTriggerListResponseIterator type.
140743func NewRerunTriggerListResponseIterator(page RerunTriggerListResponsePage) RerunTriggerListResponseIterator {
140744	return RerunTriggerListResponseIterator{page: page}
140745}
140746
140747// IsEmpty returns true if the ListResult contains no values.
140748func (rtlr RerunTriggerListResponse) IsEmpty() bool {
140749	return rtlr.Value == nil || len(*rtlr.Value) == 0
140750}
140751
140752// rerunTriggerListResponsePreparer prepares a request to retrieve the next set of results.
140753// It returns nil if no more results exist.
140754func (rtlr RerunTriggerListResponse) rerunTriggerListResponsePreparer(ctx context.Context) (*http.Request, error) {
140755	if rtlr.NextLink == nil || len(to.String(rtlr.NextLink)) < 1 {
140756		return nil, nil
140757	}
140758	return autorest.Prepare((&http.Request{}).WithContext(ctx),
140759		autorest.AsJSON(),
140760		autorest.AsGet(),
140761		autorest.WithBaseURL(to.String(rtlr.NextLink)))
140762}
140763
140764// RerunTriggerListResponsePage contains a page of RerunTriggerResource values.
140765type RerunTriggerListResponsePage struct {
140766	fn   func(context.Context, RerunTriggerListResponse) (RerunTriggerListResponse, error)
140767	rtlr RerunTriggerListResponse
140768}
140769
140770// NextWithContext advances to the next page of values.  If there was an error making
140771// the request the page does not advance and the error is returned.
140772func (page *RerunTriggerListResponsePage) NextWithContext(ctx context.Context) (err error) {
140773	if tracing.IsEnabled() {
140774		ctx = tracing.StartSpan(ctx, fqdn+"/RerunTriggerListResponsePage.NextWithContext")
140775		defer func() {
140776			sc := -1
140777			if page.Response().Response.Response != nil {
140778				sc = page.Response().Response.Response.StatusCode
140779			}
140780			tracing.EndSpan(ctx, sc, err)
140781		}()
140782	}
140783	next, err := page.fn(ctx, page.rtlr)
140784	if err != nil {
140785		return err
140786	}
140787	page.rtlr = next
140788	return nil
140789}
140790
140791// Next advances to the next page of values.  If there was an error making
140792// the request the page does not advance and the error is returned.
140793// Deprecated: Use NextWithContext() instead.
140794func (page *RerunTriggerListResponsePage) Next() error {
140795	return page.NextWithContext(context.Background())
140796}
140797
140798// NotDone returns true if the page enumeration should be started or is not yet complete.
140799func (page RerunTriggerListResponsePage) NotDone() bool {
140800	return !page.rtlr.IsEmpty()
140801}
140802
140803// Response returns the raw server response from the last page request.
140804func (page RerunTriggerListResponsePage) Response() RerunTriggerListResponse {
140805	return page.rtlr
140806}
140807
140808// Values returns the slice of values for the current page or nil if there are no values.
140809func (page RerunTriggerListResponsePage) Values() []RerunTriggerResource {
140810	if page.rtlr.IsEmpty() {
140811		return nil
140812	}
140813	return *page.rtlr.Value
140814}
140815
140816// Creates a new instance of the RerunTriggerListResponsePage type.
140817func NewRerunTriggerListResponsePage(getNextPage func(context.Context, RerunTriggerListResponse) (RerunTriggerListResponse, error)) RerunTriggerListResponsePage {
140818	return RerunTriggerListResponsePage{fn: getNextPage}
140819}
140820
140821// RerunTriggerResource rerunTrigger resource type.
140822type RerunTriggerResource struct {
140823	// Properties - Properties of the rerun trigger.
140824	Properties *RerunTumblingWindowTrigger `json:"properties,omitempty"`
140825	// ID - READ-ONLY; The resource identifier.
140826	ID *string `json:"id,omitempty"`
140827	// Name - READ-ONLY; The resource name.
140828	Name *string `json:"name,omitempty"`
140829	// Type - READ-ONLY; The resource type.
140830	Type *string `json:"type,omitempty"`
140831	// Etag - READ-ONLY; Etag identifies change in the resource.
140832	Etag *string `json:"etag,omitempty"`
140833}
140834
140835// RerunTriggersCancelFuture an abstraction for monitoring and retrieving the results of a long-running
140836// operation.
140837type RerunTriggersCancelFuture struct {
140838	azure.Future
140839}
140840
140841// Result returns the result of the asynchronous operation.
140842// If the operation has not completed it will return an error.
140843func (future *RerunTriggersCancelFuture) Result(client RerunTriggersClient) (ar autorest.Response, err error) {
140844	var done bool
140845	done, err = future.DoneWithContext(context.Background(), client)
140846	if err != nil {
140847		err = autorest.NewErrorWithError(err, "datafactory.RerunTriggersCancelFuture", "Result", future.Response(), "Polling failure")
140848		return
140849	}
140850	if !done {
140851		err = azure.NewAsyncOpIncompleteError("datafactory.RerunTriggersCancelFuture")
140852		return
140853	}
140854	ar.Response = future.Response()
140855	return
140856}
140857
140858// RerunTriggersStartFuture an abstraction for monitoring and retrieving the results of a long-running
140859// operation.
140860type RerunTriggersStartFuture struct {
140861	azure.Future
140862}
140863
140864// Result returns the result of the asynchronous operation.
140865// If the operation has not completed it will return an error.
140866func (future *RerunTriggersStartFuture) Result(client RerunTriggersClient) (ar autorest.Response, err error) {
140867	var done bool
140868	done, err = future.DoneWithContext(context.Background(), client)
140869	if err != nil {
140870		err = autorest.NewErrorWithError(err, "datafactory.RerunTriggersStartFuture", "Result", future.Response(), "Polling failure")
140871		return
140872	}
140873	if !done {
140874		err = azure.NewAsyncOpIncompleteError("datafactory.RerunTriggersStartFuture")
140875		return
140876	}
140877	ar.Response = future.Response()
140878	return
140879}
140880
140881// RerunTriggersStopFuture an abstraction for monitoring and retrieving the results of a long-running
140882// operation.
140883type RerunTriggersStopFuture struct {
140884	azure.Future
140885}
140886
140887// Result returns the result of the asynchronous operation.
140888// If the operation has not completed it will return an error.
140889func (future *RerunTriggersStopFuture) Result(client RerunTriggersClient) (ar autorest.Response, err error) {
140890	var done bool
140891	done, err = future.DoneWithContext(context.Background(), client)
140892	if err != nil {
140893		err = autorest.NewErrorWithError(err, "datafactory.RerunTriggersStopFuture", "Result", future.Response(), "Polling failure")
140894		return
140895	}
140896	if !done {
140897		err = azure.NewAsyncOpIncompleteError("datafactory.RerunTriggersStopFuture")
140898		return
140899	}
140900	ar.Response = future.Response()
140901	return
140902}
140903
140904// RerunTumblingWindowTrigger trigger that schedules pipeline reruns for all fixed time interval windows
140905// from a requested start time to requested end time.
140906type RerunTumblingWindowTrigger struct {
140907	// RerunTumblingWindowTriggerTypeProperties - Rerun Trigger properties.
140908	*RerunTumblingWindowTriggerTypeProperties `json:"typeProperties,omitempty"`
140909	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
140910	AdditionalProperties map[string]interface{} `json:""`
140911	// Description - Trigger description.
140912	Description *string `json:"description,omitempty"`
140913	// RuntimeState - READ-ONLY; Indicates if trigger is running or not. Updated when Start/Stop APIs are called on the Trigger. Possible values include: 'Started', 'Stopped', 'Disabled'
140914	RuntimeState TriggerRuntimeState `json:"runtimeState,omitempty"`
140915	// Annotations - List of tags that can be used for describing the trigger.
140916	Annotations *[]interface{} `json:"annotations,omitempty"`
140917	// Type - Possible values include: 'TypeTrigger', 'TypeRerunTumblingWindowTrigger', 'TypeTumblingWindowTrigger', 'TypeBlobEventsTrigger', 'TypeBlobTrigger', 'TypeScheduleTrigger', 'TypeMultiplePipelineTrigger'
140918	Type TypeBasicTrigger `json:"type,omitempty"`
140919}
140920
140921// MarshalJSON is the custom marshaler for RerunTumblingWindowTrigger.
140922func (rtwt RerunTumblingWindowTrigger) MarshalJSON() ([]byte, error) {
140923	rtwt.Type = TypeRerunTumblingWindowTrigger
140924	objectMap := make(map[string]interface{})
140925	if rtwt.RerunTumblingWindowTriggerTypeProperties != nil {
140926		objectMap["typeProperties"] = rtwt.RerunTumblingWindowTriggerTypeProperties
140927	}
140928	if rtwt.Description != nil {
140929		objectMap["description"] = rtwt.Description
140930	}
140931	if rtwt.Annotations != nil {
140932		objectMap["annotations"] = rtwt.Annotations
140933	}
140934	if rtwt.Type != "" {
140935		objectMap["type"] = rtwt.Type
140936	}
140937	for k, v := range rtwt.AdditionalProperties {
140938		objectMap[k] = v
140939	}
140940	return json.Marshal(objectMap)
140941}
140942
140943// AsRerunTumblingWindowTrigger is the BasicTrigger implementation for RerunTumblingWindowTrigger.
140944func (rtwt RerunTumblingWindowTrigger) AsRerunTumblingWindowTrigger() (*RerunTumblingWindowTrigger, bool) {
140945	return &rtwt, true
140946}
140947
140948// AsTumblingWindowTrigger is the BasicTrigger implementation for RerunTumblingWindowTrigger.
140949func (rtwt RerunTumblingWindowTrigger) AsTumblingWindowTrigger() (*TumblingWindowTrigger, bool) {
140950	return nil, false
140951}
140952
140953// AsBlobEventsTrigger is the BasicTrigger implementation for RerunTumblingWindowTrigger.
140954func (rtwt RerunTumblingWindowTrigger) AsBlobEventsTrigger() (*BlobEventsTrigger, bool) {
140955	return nil, false
140956}
140957
140958// AsBlobTrigger is the BasicTrigger implementation for RerunTumblingWindowTrigger.
140959func (rtwt RerunTumblingWindowTrigger) AsBlobTrigger() (*BlobTrigger, bool) {
140960	return nil, false
140961}
140962
140963// AsScheduleTrigger is the BasicTrigger implementation for RerunTumblingWindowTrigger.
140964func (rtwt RerunTumblingWindowTrigger) AsScheduleTrigger() (*ScheduleTrigger, bool) {
140965	return nil, false
140966}
140967
140968// AsMultiplePipelineTrigger is the BasicTrigger implementation for RerunTumblingWindowTrigger.
140969func (rtwt RerunTumblingWindowTrigger) AsMultiplePipelineTrigger() (*MultiplePipelineTrigger, bool) {
140970	return nil, false
140971}
140972
140973// AsBasicMultiplePipelineTrigger is the BasicTrigger implementation for RerunTumblingWindowTrigger.
140974func (rtwt RerunTumblingWindowTrigger) AsBasicMultiplePipelineTrigger() (BasicMultiplePipelineTrigger, bool) {
140975	return nil, false
140976}
140977
140978// AsTrigger is the BasicTrigger implementation for RerunTumblingWindowTrigger.
140979func (rtwt RerunTumblingWindowTrigger) AsTrigger() (*Trigger, bool) {
140980	return nil, false
140981}
140982
140983// AsBasicTrigger is the BasicTrigger implementation for RerunTumblingWindowTrigger.
140984func (rtwt RerunTumblingWindowTrigger) AsBasicTrigger() (BasicTrigger, bool) {
140985	return &rtwt, true
140986}
140987
140988// UnmarshalJSON is the custom unmarshaler for RerunTumblingWindowTrigger struct.
140989func (rtwt *RerunTumblingWindowTrigger) UnmarshalJSON(body []byte) error {
140990	var m map[string]*json.RawMessage
140991	err := json.Unmarshal(body, &m)
140992	if err != nil {
140993		return err
140994	}
140995	for k, v := range m {
140996		switch k {
140997		case "typeProperties":
140998			if v != nil {
140999				var rerunTumblingWindowTriggerTypeProperties RerunTumblingWindowTriggerTypeProperties
141000				err = json.Unmarshal(*v, &rerunTumblingWindowTriggerTypeProperties)
141001				if err != nil {
141002					return err
141003				}
141004				rtwt.RerunTumblingWindowTriggerTypeProperties = &rerunTumblingWindowTriggerTypeProperties
141005			}
141006		default:
141007			if v != nil {
141008				var additionalProperties interface{}
141009				err = json.Unmarshal(*v, &additionalProperties)
141010				if err != nil {
141011					return err
141012				}
141013				if rtwt.AdditionalProperties == nil {
141014					rtwt.AdditionalProperties = make(map[string]interface{})
141015				}
141016				rtwt.AdditionalProperties[k] = additionalProperties
141017			}
141018		case "description":
141019			if v != nil {
141020				var description string
141021				err = json.Unmarshal(*v, &description)
141022				if err != nil {
141023					return err
141024				}
141025				rtwt.Description = &description
141026			}
141027		case "runtimeState":
141028			if v != nil {
141029				var runtimeState TriggerRuntimeState
141030				err = json.Unmarshal(*v, &runtimeState)
141031				if err != nil {
141032					return err
141033				}
141034				rtwt.RuntimeState = runtimeState
141035			}
141036		case "annotations":
141037			if v != nil {
141038				var annotations []interface{}
141039				err = json.Unmarshal(*v, &annotations)
141040				if err != nil {
141041					return err
141042				}
141043				rtwt.Annotations = &annotations
141044			}
141045		case "type":
141046			if v != nil {
141047				var typeVar TypeBasicTrigger
141048				err = json.Unmarshal(*v, &typeVar)
141049				if err != nil {
141050					return err
141051				}
141052				rtwt.Type = typeVar
141053			}
141054		}
141055	}
141056
141057	return nil
141058}
141059
141060// RerunTumblingWindowTriggerActionParameters rerun tumbling window trigger Parameters.
141061type RerunTumblingWindowTriggerActionParameters struct {
141062	// StartTime - The start time for the time period for which restatement is initiated. Only UTC time is currently supported.
141063	StartTime *date.Time `json:"startTime,omitempty"`
141064	// EndTime - The end time for the time period for which restatement is initiated. Only UTC time is currently supported.
141065	EndTime *date.Time `json:"endTime,omitempty"`
141066	// MaxConcurrency - The max number of parallel time windows (ready for execution) for which a rerun is triggered.
141067	MaxConcurrency *int32 `json:"maxConcurrency,omitempty"`
141068}
141069
141070// RerunTumblingWindowTriggerTypeProperties rerun Trigger properties.
141071type RerunTumblingWindowTriggerTypeProperties struct {
141072	// ParentTrigger - The parent trigger reference.
141073	ParentTrigger interface{} `json:"parentTrigger,omitempty"`
141074	// RequestedStartTime - The start time for the time period for which restatement is initiated. Only UTC time is currently supported.
141075	RequestedStartTime *date.Time `json:"requestedStartTime,omitempty"`
141076	// RequestedEndTime - The end time for the time period for which restatement is initiated. Only UTC time is currently supported.
141077	RequestedEndTime *date.Time `json:"requestedEndTime,omitempty"`
141078	// MaxConcurrency - The max number of parallel time windows (ready for execution) for which a rerun is triggered.
141079	MaxConcurrency *int32 `json:"maxConcurrency,omitempty"`
141080}
141081
141082// Resource azure Data Factory top-level resource.
141083type Resource struct {
141084	// ID - READ-ONLY; The resource identifier.
141085	ID *string `json:"id,omitempty"`
141086	// Name - READ-ONLY; The resource name.
141087	Name *string `json:"name,omitempty"`
141088	// Type - READ-ONLY; The resource type.
141089	Type *string `json:"type,omitempty"`
141090	// Location - The resource location.
141091	Location *string `json:"location,omitempty"`
141092	// Tags - The resource tags.
141093	Tags map[string]*string `json:"tags"`
141094	// ETag - READ-ONLY; Etag identifies change in the resource.
141095	ETag *string `json:"eTag,omitempty"`
141096}
141097
141098// MarshalJSON is the custom marshaler for Resource.
141099func (r Resource) MarshalJSON() ([]byte, error) {
141100	objectMap := make(map[string]interface{})
141101	if r.Location != nil {
141102		objectMap["location"] = r.Location
141103	}
141104	if r.Tags != nil {
141105		objectMap["tags"] = r.Tags
141106	}
141107	return json.Marshal(objectMap)
141108}
141109
141110// ResponsysLinkedService responsys linked service.
141111type ResponsysLinkedService struct {
141112	// ResponsysLinkedServiceTypeProperties - Responsys linked service properties.
141113	*ResponsysLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
141114	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
141115	AdditionalProperties map[string]interface{} `json:""`
141116	// ConnectVia - The integration runtime reference.
141117	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
141118	// Description - Linked service description.
141119	Description *string `json:"description,omitempty"`
141120	// Parameters - Parameters for linked service.
141121	Parameters map[string]*ParameterSpecification `json:"parameters"`
141122	// Annotations - List of tags that can be used for describing the linked service.
141123	Annotations *[]interface{} `json:"annotations,omitempty"`
141124	// Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', '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', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage'
141125	Type TypeBasicLinkedService `json:"type,omitempty"`
141126}
141127
141128// MarshalJSON is the custom marshaler for ResponsysLinkedService.
141129func (rls ResponsysLinkedService) MarshalJSON() ([]byte, error) {
141130	rls.Type = TypeResponsys
141131	objectMap := make(map[string]interface{})
141132	if rls.ResponsysLinkedServiceTypeProperties != nil {
141133		objectMap["typeProperties"] = rls.ResponsysLinkedServiceTypeProperties
141134	}
141135	if rls.ConnectVia != nil {
141136		objectMap["connectVia"] = rls.ConnectVia
141137	}
141138	if rls.Description != nil {
141139		objectMap["description"] = rls.Description
141140	}
141141	if rls.Parameters != nil {
141142		objectMap["parameters"] = rls.Parameters
141143	}
141144	if rls.Annotations != nil {
141145		objectMap["annotations"] = rls.Annotations
141146	}
141147	if rls.Type != "" {
141148		objectMap["type"] = rls.Type
141149	}
141150	for k, v := range rls.AdditionalProperties {
141151		objectMap[k] = v
141152	}
141153	return json.Marshal(objectMap)
141154}
141155
141156// AsAzureFunctionLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
141157func (rls ResponsysLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) {
141158	return nil, false
141159}
141160
141161// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
141162func (rls ResponsysLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) {
141163	return nil, false
141164}
141165
141166// AsSapTableLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
141167func (rls ResponsysLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) {
141168	return nil, false
141169}
141170
141171// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
141172func (rls ResponsysLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) {
141173	return nil, false
141174}
141175
141176// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
141177func (rls ResponsysLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) {
141178	return nil, false
141179}
141180
141181// AsDynamicsAXLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
141182func (rls ResponsysLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) {
141183	return nil, false
141184}
141185
141186// AsResponsysLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
141187func (rls ResponsysLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
141188	return &rls, true
141189}
141190
141191// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
141192func (rls ResponsysLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
141193	return nil, false
141194}
141195
141196// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
141197func (rls ResponsysLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
141198	return nil, false
141199}
141200
141201// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
141202func (rls ResponsysLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
141203	return nil, false
141204}
141205
141206// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
141207func (rls ResponsysLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
141208	return nil, false
141209}
141210
141211// AsNetezzaLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
141212func (rls ResponsysLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
141213	return nil, false
141214}
141215
141216// AsVerticaLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
141217func (rls ResponsysLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
141218	return nil, false
141219}
141220
141221// AsZohoLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
141222func (rls ResponsysLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
141223	return nil, false
141224}
141225
141226// AsXeroLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
141227func (rls ResponsysLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
141228	return nil, false
141229}
141230
141231// AsSquareLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
141232func (rls ResponsysLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
141233	return nil, false
141234}
141235
141236// AsSparkLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
141237func (rls ResponsysLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
141238	return nil, false
141239}
141240
141241// AsShopifyLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
141242func (rls ResponsysLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
141243	return nil, false
141244}
141245
141246// AsServiceNowLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
141247func (rls ResponsysLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
141248	return nil, false
141249}
141250
141251// AsQuickBooksLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
141252func (rls ResponsysLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
141253	return nil, false
141254}
141255
141256// AsPrestoLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
141257func (rls ResponsysLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
141258	return nil, false
141259}
141260
141261// AsPhoenixLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
141262func (rls ResponsysLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
141263	return nil, false
141264}
141265
141266// AsPaypalLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
141267func (rls ResponsysLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
141268	return nil, false
141269}
141270
141271// AsMarketoLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
141272func (rls ResponsysLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
141273	return nil, false
141274}
141275
141276// AsMariaDBLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
141277func (rls ResponsysLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
141278	return nil, false
141279}
141280
141281// AsMagentoLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
141282func (rls ResponsysLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
141283	return nil, false
141284}
141285
141286// AsJiraLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
141287func (rls ResponsysLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
141288	return nil, false
141289}
141290
141291// AsImpalaLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
141292func (rls ResponsysLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
141293	return nil, false
141294}
141295
141296// AsHubspotLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
141297func (rls ResponsysLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
141298	return nil, false
141299}
141300
141301// AsHiveLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
141302func (rls ResponsysLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
141303	return nil, false
141304}
141305
141306// AsHBaseLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
141307func (rls ResponsysLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
141308	return nil, false
141309}
141310
141311// AsGreenplumLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
141312func (rls ResponsysLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
141313	return nil, false
141314}
141315
141316// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
141317func (rls ResponsysLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
141318	return nil, false
141319}
141320
141321// AsEloquaLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
141322func (rls ResponsysLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
141323	return nil, false
141324}
141325
141326// AsDrillLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
141327func (rls ResponsysLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
141328	return nil, false
141329}
141330
141331// AsCouchbaseLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
141332func (rls ResponsysLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
141333	return nil, false
141334}
141335
141336// AsConcurLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
141337func (rls ResponsysLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
141338	return nil, false
141339}
141340
141341// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
141342func (rls ResponsysLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
141343	return nil, false
141344}
141345
141346// AsAmazonMWSLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
141347func (rls ResponsysLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
141348	return nil, false
141349}
141350
141351// AsSapHanaLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
141352func (rls ResponsysLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
141353	return nil, false
141354}
141355
141356// AsSapBWLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
141357func (rls ResponsysLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
141358	return nil, false
141359}
141360
141361// AsSftpServerLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
141362func (rls ResponsysLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
141363	return nil, false
141364}
141365
141366// AsFtpServerLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
141367func (rls ResponsysLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
141368	return nil, false
141369}
141370
141371// AsHTTPLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
141372func (rls ResponsysLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
141373	return nil, false
141374}
141375
141376// AsAzureSearchLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
141377func (rls ResponsysLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
141378	return nil, false
141379}
141380
141381// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
141382func (rls ResponsysLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
141383	return nil, false
141384}
141385
141386// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
141387func (rls ResponsysLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
141388	return nil, false
141389}
141390
141391// AsAmazonS3LinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
141392func (rls ResponsysLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
141393	return nil, false
141394}
141395
141396// AsRestServiceLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
141397func (rls ResponsysLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) {
141398	return nil, false
141399}
141400
141401// AsSapOpenHubLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
141402func (rls ResponsysLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) {
141403	return nil, false
141404}
141405
141406// AsSapEccLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
141407func (rls ResponsysLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
141408	return nil, false
141409}
141410
141411// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
141412func (rls ResponsysLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
141413	return nil, false
141414}
141415
141416// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
141417func (rls ResponsysLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) {
141418	return nil, false
141419}
141420
141421// AsSalesforceLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
141422func (rls ResponsysLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
141423	return nil, false
141424}
141425
141426// AsOffice365LinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
141427func (rls ResponsysLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) {
141428	return nil, false
141429}
141430
141431// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
141432func (rls ResponsysLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) {
141433	return nil, false
141434}
141435
141436// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
141437func (rls ResponsysLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
141438	return nil, false
141439}
141440
141441// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
141442func (rls ResponsysLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) {
141443	return nil, false
141444}
141445
141446// AsMongoDbV2LinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
141447func (rls ResponsysLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) {
141448	return nil, false
141449}
141450
141451// AsMongoDbLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
141452func (rls ResponsysLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
141453	return nil, false
141454}
141455
141456// AsCassandraLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
141457func (rls ResponsysLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
141458	return nil, false
141459}
141460
141461// AsWebLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
141462func (rls ResponsysLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
141463	return nil, false
141464}
141465
141466// AsODataLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
141467func (rls ResponsysLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
141468	return nil, false
141469}
141470
141471// AsHdfsLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
141472func (rls ResponsysLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
141473	return nil, false
141474}
141475
141476// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
141477func (rls ResponsysLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) {
141478	return nil, false
141479}
141480
141481// AsInformixLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
141482func (rls ResponsysLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) {
141483	return nil, false
141484}
141485
141486// AsOdbcLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
141487func (rls ResponsysLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
141488	return nil, false
141489}
141490
141491// AsAzureMLLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
141492func (rls ResponsysLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
141493	return nil, false
141494}
141495
141496// AsTeradataLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
141497func (rls ResponsysLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
141498	return nil, false
141499}
141500
141501// AsDb2LinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
141502func (rls ResponsysLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
141503	return nil, false
141504}
141505
141506// AsSybaseLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
141507func (rls ResponsysLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
141508	return nil, false
141509}
141510
141511// AsPostgreSQLLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
141512func (rls ResponsysLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
141513	return nil, false
141514}
141515
141516// AsMySQLLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
141517func (rls ResponsysLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
141518	return nil, false
141519}
141520
141521// AsAzureMySQLLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
141522func (rls ResponsysLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
141523	return nil, false
141524}
141525
141526// AsOracleLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
141527func (rls ResponsysLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
141528	return nil, false
141529}
141530
141531// AsFileServerLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
141532func (rls ResponsysLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
141533	return nil, false
141534}
141535
141536// AsHDInsightLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
141537func (rls ResponsysLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
141538	return nil, false
141539}
141540
141541// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
141542func (rls ResponsysLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) {
141543	return nil, false
141544}
141545
141546// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
141547func (rls ResponsysLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) {
141548	return nil, false
141549}
141550
141551// AsDynamicsLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
141552func (rls ResponsysLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
141553	return nil, false
141554}
141555
141556// AsCosmosDbLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
141557func (rls ResponsysLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
141558	return nil, false
141559}
141560
141561// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
141562func (rls ResponsysLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
141563	return nil, false
141564}
141565
141566// AsAzureBatchLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
141567func (rls ResponsysLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
141568	return nil, false
141569}
141570
141571// AsAzureSQLMILinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
141572func (rls ResponsysLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) {
141573	return nil, false
141574}
141575
141576// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
141577func (rls ResponsysLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
141578	return nil, false
141579}
141580
141581// AsSQLServerLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
141582func (rls ResponsysLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
141583	return nil, false
141584}
141585
141586// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
141587func (rls ResponsysLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
141588	return nil, false
141589}
141590
141591// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
141592func (rls ResponsysLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) {
141593	return nil, false
141594}
141595
141596// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
141597func (rls ResponsysLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) {
141598	return nil, false
141599}
141600
141601// AsAzureStorageLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
141602func (rls ResponsysLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
141603	return nil, false
141604}
141605
141606// AsLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
141607func (rls ResponsysLinkedService) AsLinkedService() (*LinkedService, bool) {
141608	return nil, false
141609}
141610
141611// AsBasicLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
141612func (rls ResponsysLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
141613	return &rls, true
141614}
141615
141616// UnmarshalJSON is the custom unmarshaler for ResponsysLinkedService struct.
141617func (rls *ResponsysLinkedService) UnmarshalJSON(body []byte) error {
141618	var m map[string]*json.RawMessage
141619	err := json.Unmarshal(body, &m)
141620	if err != nil {
141621		return err
141622	}
141623	for k, v := range m {
141624		switch k {
141625		case "typeProperties":
141626			if v != nil {
141627				var responsysLinkedServiceTypeProperties ResponsysLinkedServiceTypeProperties
141628				err = json.Unmarshal(*v, &responsysLinkedServiceTypeProperties)
141629				if err != nil {
141630					return err
141631				}
141632				rls.ResponsysLinkedServiceTypeProperties = &responsysLinkedServiceTypeProperties
141633			}
141634		default:
141635			if v != nil {
141636				var additionalProperties interface{}
141637				err = json.Unmarshal(*v, &additionalProperties)
141638				if err != nil {
141639					return err
141640				}
141641				if rls.AdditionalProperties == nil {
141642					rls.AdditionalProperties = make(map[string]interface{})
141643				}
141644				rls.AdditionalProperties[k] = additionalProperties
141645			}
141646		case "connectVia":
141647			if v != nil {
141648				var connectVia IntegrationRuntimeReference
141649				err = json.Unmarshal(*v, &connectVia)
141650				if err != nil {
141651					return err
141652				}
141653				rls.ConnectVia = &connectVia
141654			}
141655		case "description":
141656			if v != nil {
141657				var description string
141658				err = json.Unmarshal(*v, &description)
141659				if err != nil {
141660					return err
141661				}
141662				rls.Description = &description
141663			}
141664		case "parameters":
141665			if v != nil {
141666				var parameters map[string]*ParameterSpecification
141667				err = json.Unmarshal(*v, &parameters)
141668				if err != nil {
141669					return err
141670				}
141671				rls.Parameters = parameters
141672			}
141673		case "annotations":
141674			if v != nil {
141675				var annotations []interface{}
141676				err = json.Unmarshal(*v, &annotations)
141677				if err != nil {
141678					return err
141679				}
141680				rls.Annotations = &annotations
141681			}
141682		case "type":
141683			if v != nil {
141684				var typeVar TypeBasicLinkedService
141685				err = json.Unmarshal(*v, &typeVar)
141686				if err != nil {
141687					return err
141688				}
141689				rls.Type = typeVar
141690			}
141691		}
141692	}
141693
141694	return nil
141695}
141696
141697// ResponsysLinkedServiceTypeProperties responsys linked service properties.
141698type ResponsysLinkedServiceTypeProperties struct {
141699	// Endpoint - The endpoint of the Responsys server.
141700	Endpoint interface{} `json:"endpoint,omitempty"`
141701	// ClientID - The client ID associated with the Responsys application. Type: string (or Expression with resultType string).
141702	ClientID interface{} `json:"clientId,omitempty"`
141703	// ClientSecret - The client secret associated with the Responsys application. Type: string (or Expression with resultType string).
141704	ClientSecret BasicSecretBase `json:"clientSecret,omitempty"`
141705	// UseEncryptedEndpoints - Specifies whether the data source endpoints are encrypted using HTTPS. The default value is true. Type: boolean (or Expression with resultType boolean).
141706	UseEncryptedEndpoints interface{} `json:"useEncryptedEndpoints,omitempty"`
141707	// 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).
141708	UseHostVerification interface{} `json:"useHostVerification,omitempty"`
141709	// 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).
141710	UsePeerVerification interface{} `json:"usePeerVerification,omitempty"`
141711	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
141712	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
141713}
141714
141715// UnmarshalJSON is the custom unmarshaler for ResponsysLinkedServiceTypeProperties struct.
141716func (rlstp *ResponsysLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
141717	var m map[string]*json.RawMessage
141718	err := json.Unmarshal(body, &m)
141719	if err != nil {
141720		return err
141721	}
141722	for k, v := range m {
141723		switch k {
141724		case "endpoint":
141725			if v != nil {
141726				var endpoint interface{}
141727				err = json.Unmarshal(*v, &endpoint)
141728				if err != nil {
141729					return err
141730				}
141731				rlstp.Endpoint = endpoint
141732			}
141733		case "clientId":
141734			if v != nil {
141735				var clientID interface{}
141736				err = json.Unmarshal(*v, &clientID)
141737				if err != nil {
141738					return err
141739				}
141740				rlstp.ClientID = clientID
141741			}
141742		case "clientSecret":
141743			if v != nil {
141744				clientSecret, err := unmarshalBasicSecretBase(*v)
141745				if err != nil {
141746					return err
141747				}
141748				rlstp.ClientSecret = clientSecret
141749			}
141750		case "useEncryptedEndpoints":
141751			if v != nil {
141752				var useEncryptedEndpoints interface{}
141753				err = json.Unmarshal(*v, &useEncryptedEndpoints)
141754				if err != nil {
141755					return err
141756				}
141757				rlstp.UseEncryptedEndpoints = useEncryptedEndpoints
141758			}
141759		case "useHostVerification":
141760			if v != nil {
141761				var useHostVerification interface{}
141762				err = json.Unmarshal(*v, &useHostVerification)
141763				if err != nil {
141764					return err
141765				}
141766				rlstp.UseHostVerification = useHostVerification
141767			}
141768		case "usePeerVerification":
141769			if v != nil {
141770				var usePeerVerification interface{}
141771				err = json.Unmarshal(*v, &usePeerVerification)
141772				if err != nil {
141773					return err
141774				}
141775				rlstp.UsePeerVerification = usePeerVerification
141776			}
141777		case "encryptedCredential":
141778			if v != nil {
141779				var encryptedCredential interface{}
141780				err = json.Unmarshal(*v, &encryptedCredential)
141781				if err != nil {
141782					return err
141783				}
141784				rlstp.EncryptedCredential = encryptedCredential
141785			}
141786		}
141787	}
141788
141789	return nil
141790}
141791
141792// ResponsysObjectDataset responsys dataset.
141793type ResponsysObjectDataset struct {
141794	// GenericDatasetTypeProperties - Properties specific to this dataset type.
141795	*GenericDatasetTypeProperties `json:"typeProperties,omitempty"`
141796	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
141797	AdditionalProperties map[string]interface{} `json:""`
141798	// Description - Dataset description.
141799	Description *string `json:"description,omitempty"`
141800	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
141801	Structure interface{} `json:"structure,omitempty"`
141802	// Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement.
141803	Schema interface{} `json:"schema,omitempty"`
141804	// LinkedServiceName - Linked service reference.
141805	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
141806	// Parameters - Parameters for dataset.
141807	Parameters map[string]*ParameterSpecification `json:"parameters"`
141808	// Annotations - List of tags that can be used for describing the Dataset.
141809	Annotations *[]interface{} `json:"annotations,omitempty"`
141810	// Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level.
141811	Folder *DatasetFolder `json:"folder,omitempty"`
141812	// Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', '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', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeDelimitedText', 'TypeParquet', 'TypeAmazonS3Object'
141813	Type TypeBasicDataset `json:"type,omitempty"`
141814}
141815
141816// MarshalJSON is the custom marshaler for ResponsysObjectDataset.
141817func (rod ResponsysObjectDataset) MarshalJSON() ([]byte, error) {
141818	rod.Type = TypeResponsysObject
141819	objectMap := make(map[string]interface{})
141820	if rod.GenericDatasetTypeProperties != nil {
141821		objectMap["typeProperties"] = rod.GenericDatasetTypeProperties
141822	}
141823	if rod.Description != nil {
141824		objectMap["description"] = rod.Description
141825	}
141826	if rod.Structure != nil {
141827		objectMap["structure"] = rod.Structure
141828	}
141829	if rod.Schema != nil {
141830		objectMap["schema"] = rod.Schema
141831	}
141832	if rod.LinkedServiceName != nil {
141833		objectMap["linkedServiceName"] = rod.LinkedServiceName
141834	}
141835	if rod.Parameters != nil {
141836		objectMap["parameters"] = rod.Parameters
141837	}
141838	if rod.Annotations != nil {
141839		objectMap["annotations"] = rod.Annotations
141840	}
141841	if rod.Folder != nil {
141842		objectMap["folder"] = rod.Folder
141843	}
141844	if rod.Type != "" {
141845		objectMap["type"] = rod.Type
141846	}
141847	for k, v := range rod.AdditionalProperties {
141848		objectMap[k] = v
141849	}
141850	return json.Marshal(objectMap)
141851}
141852
141853// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for ResponsysObjectDataset.
141854func (rod ResponsysObjectDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) {
141855	return nil, false
141856}
141857
141858// AsAzureDataExplorerTableDataset is the BasicDataset implementation for ResponsysObjectDataset.
141859func (rod ResponsysObjectDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) {
141860	return nil, false
141861}
141862
141863// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for ResponsysObjectDataset.
141864func (rod ResponsysObjectDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) {
141865	return nil, false
141866}
141867
141868// AsDynamicsAXResourceDataset is the BasicDataset implementation for ResponsysObjectDataset.
141869func (rod ResponsysObjectDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) {
141870	return nil, false
141871}
141872
141873// AsResponsysObjectDataset is the BasicDataset implementation for ResponsysObjectDataset.
141874func (rod ResponsysObjectDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
141875	return &rod, true
141876}
141877
141878// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for ResponsysObjectDataset.
141879func (rod ResponsysObjectDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
141880	return nil, false
141881}
141882
141883// AsVerticaTableDataset is the BasicDataset implementation for ResponsysObjectDataset.
141884func (rod ResponsysObjectDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
141885	return nil, false
141886}
141887
141888// AsNetezzaTableDataset is the BasicDataset implementation for ResponsysObjectDataset.
141889func (rod ResponsysObjectDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
141890	return nil, false
141891}
141892
141893// AsZohoObjectDataset is the BasicDataset implementation for ResponsysObjectDataset.
141894func (rod ResponsysObjectDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
141895	return nil, false
141896}
141897
141898// AsXeroObjectDataset is the BasicDataset implementation for ResponsysObjectDataset.
141899func (rod ResponsysObjectDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
141900	return nil, false
141901}
141902
141903// AsSquareObjectDataset is the BasicDataset implementation for ResponsysObjectDataset.
141904func (rod ResponsysObjectDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
141905	return nil, false
141906}
141907
141908// AsSparkObjectDataset is the BasicDataset implementation for ResponsysObjectDataset.
141909func (rod ResponsysObjectDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
141910	return nil, false
141911}
141912
141913// AsShopifyObjectDataset is the BasicDataset implementation for ResponsysObjectDataset.
141914func (rod ResponsysObjectDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
141915	return nil, false
141916}
141917
141918// AsServiceNowObjectDataset is the BasicDataset implementation for ResponsysObjectDataset.
141919func (rod ResponsysObjectDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
141920	return nil, false
141921}
141922
141923// AsQuickBooksObjectDataset is the BasicDataset implementation for ResponsysObjectDataset.
141924func (rod ResponsysObjectDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
141925	return nil, false
141926}
141927
141928// AsPrestoObjectDataset is the BasicDataset implementation for ResponsysObjectDataset.
141929func (rod ResponsysObjectDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
141930	return nil, false
141931}
141932
141933// AsPhoenixObjectDataset is the BasicDataset implementation for ResponsysObjectDataset.
141934func (rod ResponsysObjectDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
141935	return nil, false
141936}
141937
141938// AsPaypalObjectDataset is the BasicDataset implementation for ResponsysObjectDataset.
141939func (rod ResponsysObjectDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
141940	return nil, false
141941}
141942
141943// AsMarketoObjectDataset is the BasicDataset implementation for ResponsysObjectDataset.
141944func (rod ResponsysObjectDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
141945	return nil, false
141946}
141947
141948// AsMariaDBTableDataset is the BasicDataset implementation for ResponsysObjectDataset.
141949func (rod ResponsysObjectDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
141950	return nil, false
141951}
141952
141953// AsMagentoObjectDataset is the BasicDataset implementation for ResponsysObjectDataset.
141954func (rod ResponsysObjectDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
141955	return nil, false
141956}
141957
141958// AsJiraObjectDataset is the BasicDataset implementation for ResponsysObjectDataset.
141959func (rod ResponsysObjectDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
141960	return nil, false
141961}
141962
141963// AsImpalaObjectDataset is the BasicDataset implementation for ResponsysObjectDataset.
141964func (rod ResponsysObjectDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
141965	return nil, false
141966}
141967
141968// AsHubspotObjectDataset is the BasicDataset implementation for ResponsysObjectDataset.
141969func (rod ResponsysObjectDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
141970	return nil, false
141971}
141972
141973// AsHiveObjectDataset is the BasicDataset implementation for ResponsysObjectDataset.
141974func (rod ResponsysObjectDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
141975	return nil, false
141976}
141977
141978// AsHBaseObjectDataset is the BasicDataset implementation for ResponsysObjectDataset.
141979func (rod ResponsysObjectDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
141980	return nil, false
141981}
141982
141983// AsGreenplumTableDataset is the BasicDataset implementation for ResponsysObjectDataset.
141984func (rod ResponsysObjectDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
141985	return nil, false
141986}
141987
141988// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for ResponsysObjectDataset.
141989func (rod ResponsysObjectDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
141990	return nil, false
141991}
141992
141993// AsEloquaObjectDataset is the BasicDataset implementation for ResponsysObjectDataset.
141994func (rod ResponsysObjectDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
141995	return nil, false
141996}
141997
141998// AsDrillTableDataset is the BasicDataset implementation for ResponsysObjectDataset.
141999func (rod ResponsysObjectDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
142000	return nil, false
142001}
142002
142003// AsCouchbaseTableDataset is the BasicDataset implementation for ResponsysObjectDataset.
142004func (rod ResponsysObjectDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
142005	return nil, false
142006}
142007
142008// AsConcurObjectDataset is the BasicDataset implementation for ResponsysObjectDataset.
142009func (rod ResponsysObjectDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
142010	return nil, false
142011}
142012
142013// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for ResponsysObjectDataset.
142014func (rod ResponsysObjectDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
142015	return nil, false
142016}
142017
142018// AsAmazonMWSObjectDataset is the BasicDataset implementation for ResponsysObjectDataset.
142019func (rod ResponsysObjectDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
142020	return nil, false
142021}
142022
142023// AsHTTPDataset is the BasicDataset implementation for ResponsysObjectDataset.
142024func (rod ResponsysObjectDataset) AsHTTPDataset() (*HTTPDataset, bool) {
142025	return nil, false
142026}
142027
142028// AsAzureSearchIndexDataset is the BasicDataset implementation for ResponsysObjectDataset.
142029func (rod ResponsysObjectDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
142030	return nil, false
142031}
142032
142033// AsWebTableDataset is the BasicDataset implementation for ResponsysObjectDataset.
142034func (rod ResponsysObjectDataset) AsWebTableDataset() (*WebTableDataset, bool) {
142035	return nil, false
142036}
142037
142038// AsSapTableResourceDataset is the BasicDataset implementation for ResponsysObjectDataset.
142039func (rod ResponsysObjectDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) {
142040	return nil, false
142041}
142042
142043// AsRestResourceDataset is the BasicDataset implementation for ResponsysObjectDataset.
142044func (rod ResponsysObjectDataset) AsRestResourceDataset() (*RestResourceDataset, bool) {
142045	return nil, false
142046}
142047
142048// AsSQLServerTableDataset is the BasicDataset implementation for ResponsysObjectDataset.
142049func (rod ResponsysObjectDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
142050	return nil, false
142051}
142052
142053// AsSapOpenHubTableDataset is the BasicDataset implementation for ResponsysObjectDataset.
142054func (rod ResponsysObjectDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) {
142055	return nil, false
142056}
142057
142058// AsSapHanaTableDataset is the BasicDataset implementation for ResponsysObjectDataset.
142059func (rod ResponsysObjectDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) {
142060	return nil, false
142061}
142062
142063// AsSapEccResourceDataset is the BasicDataset implementation for ResponsysObjectDataset.
142064func (rod ResponsysObjectDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
142065	return nil, false
142066}
142067
142068// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for ResponsysObjectDataset.
142069func (rod ResponsysObjectDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
142070	return nil, false
142071}
142072
142073// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for ResponsysObjectDataset.
142074func (rod ResponsysObjectDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) {
142075	return nil, false
142076}
142077
142078// AsSalesforceObjectDataset is the BasicDataset implementation for ResponsysObjectDataset.
142079func (rod ResponsysObjectDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
142080	return nil, false
142081}
142082
142083// AsMicrosoftAccessTableDataset is the BasicDataset implementation for ResponsysObjectDataset.
142084func (rod ResponsysObjectDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) {
142085	return nil, false
142086}
142087
142088// AsPostgreSQLTableDataset is the BasicDataset implementation for ResponsysObjectDataset.
142089func (rod ResponsysObjectDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) {
142090	return nil, false
142091}
142092
142093// AsMySQLTableDataset is the BasicDataset implementation for ResponsysObjectDataset.
142094func (rod ResponsysObjectDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) {
142095	return nil, false
142096}
142097
142098// AsOdbcTableDataset is the BasicDataset implementation for ResponsysObjectDataset.
142099func (rod ResponsysObjectDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) {
142100	return nil, false
142101}
142102
142103// AsInformixTableDataset is the BasicDataset implementation for ResponsysObjectDataset.
142104func (rod ResponsysObjectDataset) AsInformixTableDataset() (*InformixTableDataset, bool) {
142105	return nil, false
142106}
142107
142108// AsRelationalTableDataset is the BasicDataset implementation for ResponsysObjectDataset.
142109func (rod ResponsysObjectDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
142110	return nil, false
142111}
142112
142113// AsAzureMySQLTableDataset is the BasicDataset implementation for ResponsysObjectDataset.
142114func (rod ResponsysObjectDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
142115	return nil, false
142116}
142117
142118// AsTeradataTableDataset is the BasicDataset implementation for ResponsysObjectDataset.
142119func (rod ResponsysObjectDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) {
142120	return nil, false
142121}
142122
142123// AsOracleTableDataset is the BasicDataset implementation for ResponsysObjectDataset.
142124func (rod ResponsysObjectDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
142125	return nil, false
142126}
142127
142128// AsODataResourceDataset is the BasicDataset implementation for ResponsysObjectDataset.
142129func (rod ResponsysObjectDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
142130	return nil, false
142131}
142132
142133// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for ResponsysObjectDataset.
142134func (rod ResponsysObjectDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) {
142135	return nil, false
142136}
142137
142138// AsMongoDbV2CollectionDataset is the BasicDataset implementation for ResponsysObjectDataset.
142139func (rod ResponsysObjectDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) {
142140	return nil, false
142141}
142142
142143// AsMongoDbCollectionDataset is the BasicDataset implementation for ResponsysObjectDataset.
142144func (rod ResponsysObjectDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
142145	return nil, false
142146}
142147
142148// AsFileShareDataset is the BasicDataset implementation for ResponsysObjectDataset.
142149func (rod ResponsysObjectDataset) AsFileShareDataset() (*FileShareDataset, bool) {
142150	return nil, false
142151}
142152
142153// AsOffice365Dataset is the BasicDataset implementation for ResponsysObjectDataset.
142154func (rod ResponsysObjectDataset) AsOffice365Dataset() (*Office365Dataset, bool) {
142155	return nil, false
142156}
142157
142158// AsAzureBlobFSDataset is the BasicDataset implementation for ResponsysObjectDataset.
142159func (rod ResponsysObjectDataset) AsAzureBlobFSDataset() (*AzureBlobFSDataset, bool) {
142160	return nil, false
142161}
142162
142163// AsAzureDataLakeStoreDataset is the BasicDataset implementation for ResponsysObjectDataset.
142164func (rod ResponsysObjectDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) {
142165	return nil, false
142166}
142167
142168// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for ResponsysObjectDataset.
142169func (rod ResponsysObjectDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) {
142170	return nil, false
142171}
142172
142173// AsDynamicsCrmEntityDataset is the BasicDataset implementation for ResponsysObjectDataset.
142174func (rod ResponsysObjectDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) {
142175	return nil, false
142176}
142177
142178// AsDynamicsEntityDataset is the BasicDataset implementation for ResponsysObjectDataset.
142179func (rod ResponsysObjectDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
142180	return nil, false
142181}
142182
142183// AsDocumentDbCollectionDataset is the BasicDataset implementation for ResponsysObjectDataset.
142184func (rod ResponsysObjectDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
142185	return nil, false
142186}
142187
142188// AsCustomDataset is the BasicDataset implementation for ResponsysObjectDataset.
142189func (rod ResponsysObjectDataset) AsCustomDataset() (*CustomDataset, bool) {
142190	return nil, false
142191}
142192
142193// AsCassandraTableDataset is the BasicDataset implementation for ResponsysObjectDataset.
142194func (rod ResponsysObjectDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
142195	return nil, false
142196}
142197
142198// AsAzureSQLDWTableDataset is the BasicDataset implementation for ResponsysObjectDataset.
142199func (rod ResponsysObjectDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
142200	return nil, false
142201}
142202
142203// AsAzureSQLMITableDataset is the BasicDataset implementation for ResponsysObjectDataset.
142204func (rod ResponsysObjectDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) {
142205	return nil, false
142206}
142207
142208// AsAzureSQLTableDataset is the BasicDataset implementation for ResponsysObjectDataset.
142209func (rod ResponsysObjectDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
142210	return nil, false
142211}
142212
142213// AsAzureTableDataset is the BasicDataset implementation for ResponsysObjectDataset.
142214func (rod ResponsysObjectDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
142215	return nil, false
142216}
142217
142218// AsAzureBlobDataset is the BasicDataset implementation for ResponsysObjectDataset.
142219func (rod ResponsysObjectDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) {
142220	return nil, false
142221}
142222
142223// AsBinaryDataset is the BasicDataset implementation for ResponsysObjectDataset.
142224func (rod ResponsysObjectDataset) AsBinaryDataset() (*BinaryDataset, bool) {
142225	return nil, false
142226}
142227
142228// AsDelimitedTextDataset is the BasicDataset implementation for ResponsysObjectDataset.
142229func (rod ResponsysObjectDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) {
142230	return nil, false
142231}
142232
142233// AsParquetDataset is the BasicDataset implementation for ResponsysObjectDataset.
142234func (rod ResponsysObjectDataset) AsParquetDataset() (*ParquetDataset, bool) {
142235	return nil, false
142236}
142237
142238// AsAmazonS3Dataset is the BasicDataset implementation for ResponsysObjectDataset.
142239func (rod ResponsysObjectDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) {
142240	return nil, false
142241}
142242
142243// AsDataset is the BasicDataset implementation for ResponsysObjectDataset.
142244func (rod ResponsysObjectDataset) AsDataset() (*Dataset, bool) {
142245	return nil, false
142246}
142247
142248// AsBasicDataset is the BasicDataset implementation for ResponsysObjectDataset.
142249func (rod ResponsysObjectDataset) AsBasicDataset() (BasicDataset, bool) {
142250	return &rod, true
142251}
142252
142253// UnmarshalJSON is the custom unmarshaler for ResponsysObjectDataset struct.
142254func (rod *ResponsysObjectDataset) UnmarshalJSON(body []byte) error {
142255	var m map[string]*json.RawMessage
142256	err := json.Unmarshal(body, &m)
142257	if err != nil {
142258		return err
142259	}
142260	for k, v := range m {
142261		switch k {
142262		case "typeProperties":
142263			if v != nil {
142264				var genericDatasetTypeProperties GenericDatasetTypeProperties
142265				err = json.Unmarshal(*v, &genericDatasetTypeProperties)
142266				if err != nil {
142267					return err
142268				}
142269				rod.GenericDatasetTypeProperties = &genericDatasetTypeProperties
142270			}
142271		default:
142272			if v != nil {
142273				var additionalProperties interface{}
142274				err = json.Unmarshal(*v, &additionalProperties)
142275				if err != nil {
142276					return err
142277				}
142278				if rod.AdditionalProperties == nil {
142279					rod.AdditionalProperties = make(map[string]interface{})
142280				}
142281				rod.AdditionalProperties[k] = additionalProperties
142282			}
142283		case "description":
142284			if v != nil {
142285				var description string
142286				err = json.Unmarshal(*v, &description)
142287				if err != nil {
142288					return err
142289				}
142290				rod.Description = &description
142291			}
142292		case "structure":
142293			if v != nil {
142294				var structure interface{}
142295				err = json.Unmarshal(*v, &structure)
142296				if err != nil {
142297					return err
142298				}
142299				rod.Structure = structure
142300			}
142301		case "schema":
142302			if v != nil {
142303				var schema interface{}
142304				err = json.Unmarshal(*v, &schema)
142305				if err != nil {
142306					return err
142307				}
142308				rod.Schema = schema
142309			}
142310		case "linkedServiceName":
142311			if v != nil {
142312				var linkedServiceName LinkedServiceReference
142313				err = json.Unmarshal(*v, &linkedServiceName)
142314				if err != nil {
142315					return err
142316				}
142317				rod.LinkedServiceName = &linkedServiceName
142318			}
142319		case "parameters":
142320			if v != nil {
142321				var parameters map[string]*ParameterSpecification
142322				err = json.Unmarshal(*v, &parameters)
142323				if err != nil {
142324					return err
142325				}
142326				rod.Parameters = parameters
142327			}
142328		case "annotations":
142329			if v != nil {
142330				var annotations []interface{}
142331				err = json.Unmarshal(*v, &annotations)
142332				if err != nil {
142333					return err
142334				}
142335				rod.Annotations = &annotations
142336			}
142337		case "folder":
142338			if v != nil {
142339				var folder DatasetFolder
142340				err = json.Unmarshal(*v, &folder)
142341				if err != nil {
142342					return err
142343				}
142344				rod.Folder = &folder
142345			}
142346		case "type":
142347			if v != nil {
142348				var typeVar TypeBasicDataset
142349				err = json.Unmarshal(*v, &typeVar)
142350				if err != nil {
142351					return err
142352				}
142353				rod.Type = typeVar
142354			}
142355		}
142356	}
142357
142358	return nil
142359}
142360
142361// ResponsysSource a copy activity Responsys source.
142362type ResponsysSource struct {
142363	// Query - A query to retrieve data from source. Type: string (or Expression with resultType string).
142364	Query interface{} `json:"query,omitempty"`
142365	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
142366	AdditionalProperties map[string]interface{} `json:""`
142367	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
142368	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
142369	// 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])).
142370	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
142371	// MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer).
142372	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
142373	// Type - Possible values include: 'TypeCopySource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', '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', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeCassandraSource', 'TypeWebSource', 'TypeTeradataSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeAzureMySQLSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeRestSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceServiceCloudSource', 'TypeSalesforceSource', 'TypeODataSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeMicrosoftAccessSource', 'TypeInformixSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAzureTableSource', 'TypeBinarySource', 'TypeDelimitedTextSource', 'TypeParquetSource'
142374	Type TypeBasicCopySource `json:"type,omitempty"`
142375}
142376
142377// MarshalJSON is the custom marshaler for ResponsysSource.
142378func (rs ResponsysSource) MarshalJSON() ([]byte, error) {
142379	rs.Type = TypeResponsysSource
142380	objectMap := make(map[string]interface{})
142381	if rs.Query != nil {
142382		objectMap["query"] = rs.Query
142383	}
142384	if rs.SourceRetryCount != nil {
142385		objectMap["sourceRetryCount"] = rs.SourceRetryCount
142386	}
142387	if rs.SourceRetryWait != nil {
142388		objectMap["sourceRetryWait"] = rs.SourceRetryWait
142389	}
142390	if rs.MaxConcurrentConnections != nil {
142391		objectMap["maxConcurrentConnections"] = rs.MaxConcurrentConnections
142392	}
142393	if rs.Type != "" {
142394		objectMap["type"] = rs.Type
142395	}
142396	for k, v := range rs.AdditionalProperties {
142397		objectMap[k] = v
142398	}
142399	return json.Marshal(objectMap)
142400}
142401
142402// AsAmazonRedshiftSource is the BasicCopySource implementation for ResponsysSource.
142403func (rs ResponsysSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
142404	return nil, false
142405}
142406
142407// AsGoogleAdWordsSource is the BasicCopySource implementation for ResponsysSource.
142408func (rs ResponsysSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) {
142409	return nil, false
142410}
142411
142412// AsOracleServiceCloudSource is the BasicCopySource implementation for ResponsysSource.
142413func (rs ResponsysSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) {
142414	return nil, false
142415}
142416
142417// AsDynamicsAXSource is the BasicCopySource implementation for ResponsysSource.
142418func (rs ResponsysSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) {
142419	return nil, false
142420}
142421
142422// AsResponsysSource is the BasicCopySource implementation for ResponsysSource.
142423func (rs ResponsysSource) AsResponsysSource() (*ResponsysSource, bool) {
142424	return &rs, true
142425}
142426
142427// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for ResponsysSource.
142428func (rs ResponsysSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
142429	return nil, false
142430}
142431
142432// AsVerticaSource is the BasicCopySource implementation for ResponsysSource.
142433func (rs ResponsysSource) AsVerticaSource() (*VerticaSource, bool) {
142434	return nil, false
142435}
142436
142437// AsNetezzaSource is the BasicCopySource implementation for ResponsysSource.
142438func (rs ResponsysSource) AsNetezzaSource() (*NetezzaSource, bool) {
142439	return nil, false
142440}
142441
142442// AsZohoSource is the BasicCopySource implementation for ResponsysSource.
142443func (rs ResponsysSource) AsZohoSource() (*ZohoSource, bool) {
142444	return nil, false
142445}
142446
142447// AsXeroSource is the BasicCopySource implementation for ResponsysSource.
142448func (rs ResponsysSource) AsXeroSource() (*XeroSource, bool) {
142449	return nil, false
142450}
142451
142452// AsSquareSource is the BasicCopySource implementation for ResponsysSource.
142453func (rs ResponsysSource) AsSquareSource() (*SquareSource, bool) {
142454	return nil, false
142455}
142456
142457// AsSparkSource is the BasicCopySource implementation for ResponsysSource.
142458func (rs ResponsysSource) AsSparkSource() (*SparkSource, bool) {
142459	return nil, false
142460}
142461
142462// AsShopifySource is the BasicCopySource implementation for ResponsysSource.
142463func (rs ResponsysSource) AsShopifySource() (*ShopifySource, bool) {
142464	return nil, false
142465}
142466
142467// AsServiceNowSource is the BasicCopySource implementation for ResponsysSource.
142468func (rs ResponsysSource) AsServiceNowSource() (*ServiceNowSource, bool) {
142469	return nil, false
142470}
142471
142472// AsQuickBooksSource is the BasicCopySource implementation for ResponsysSource.
142473func (rs ResponsysSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
142474	return nil, false
142475}
142476
142477// AsPrestoSource is the BasicCopySource implementation for ResponsysSource.
142478func (rs ResponsysSource) AsPrestoSource() (*PrestoSource, bool) {
142479	return nil, false
142480}
142481
142482// AsPhoenixSource is the BasicCopySource implementation for ResponsysSource.
142483func (rs ResponsysSource) AsPhoenixSource() (*PhoenixSource, bool) {
142484	return nil, false
142485}
142486
142487// AsPaypalSource is the BasicCopySource implementation for ResponsysSource.
142488func (rs ResponsysSource) AsPaypalSource() (*PaypalSource, bool) {
142489	return nil, false
142490}
142491
142492// AsMarketoSource is the BasicCopySource implementation for ResponsysSource.
142493func (rs ResponsysSource) AsMarketoSource() (*MarketoSource, bool) {
142494	return nil, false
142495}
142496
142497// AsMariaDBSource is the BasicCopySource implementation for ResponsysSource.
142498func (rs ResponsysSource) AsMariaDBSource() (*MariaDBSource, bool) {
142499	return nil, false
142500}
142501
142502// AsMagentoSource is the BasicCopySource implementation for ResponsysSource.
142503func (rs ResponsysSource) AsMagentoSource() (*MagentoSource, bool) {
142504	return nil, false
142505}
142506
142507// AsJiraSource is the BasicCopySource implementation for ResponsysSource.
142508func (rs ResponsysSource) AsJiraSource() (*JiraSource, bool) {
142509	return nil, false
142510}
142511
142512// AsImpalaSource is the BasicCopySource implementation for ResponsysSource.
142513func (rs ResponsysSource) AsImpalaSource() (*ImpalaSource, bool) {
142514	return nil, false
142515}
142516
142517// AsHubspotSource is the BasicCopySource implementation for ResponsysSource.
142518func (rs ResponsysSource) AsHubspotSource() (*HubspotSource, bool) {
142519	return nil, false
142520}
142521
142522// AsHiveSource is the BasicCopySource implementation for ResponsysSource.
142523func (rs ResponsysSource) AsHiveSource() (*HiveSource, bool) {
142524	return nil, false
142525}
142526
142527// AsHBaseSource is the BasicCopySource implementation for ResponsysSource.
142528func (rs ResponsysSource) AsHBaseSource() (*HBaseSource, bool) {
142529	return nil, false
142530}
142531
142532// AsGreenplumSource is the BasicCopySource implementation for ResponsysSource.
142533func (rs ResponsysSource) AsGreenplumSource() (*GreenplumSource, bool) {
142534	return nil, false
142535}
142536
142537// AsGoogleBigQuerySource is the BasicCopySource implementation for ResponsysSource.
142538func (rs ResponsysSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
142539	return nil, false
142540}
142541
142542// AsEloquaSource is the BasicCopySource implementation for ResponsysSource.
142543func (rs ResponsysSource) AsEloquaSource() (*EloquaSource, bool) {
142544	return nil, false
142545}
142546
142547// AsDrillSource is the BasicCopySource implementation for ResponsysSource.
142548func (rs ResponsysSource) AsDrillSource() (*DrillSource, bool) {
142549	return nil, false
142550}
142551
142552// AsCouchbaseSource is the BasicCopySource implementation for ResponsysSource.
142553func (rs ResponsysSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
142554	return nil, false
142555}
142556
142557// AsConcurSource is the BasicCopySource implementation for ResponsysSource.
142558func (rs ResponsysSource) AsConcurSource() (*ConcurSource, bool) {
142559	return nil, false
142560}
142561
142562// AsAzurePostgreSQLSource is the BasicCopySource implementation for ResponsysSource.
142563func (rs ResponsysSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
142564	return nil, false
142565}
142566
142567// AsAmazonMWSSource is the BasicCopySource implementation for ResponsysSource.
142568func (rs ResponsysSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
142569	return nil, false
142570}
142571
142572// AsHTTPSource is the BasicCopySource implementation for ResponsysSource.
142573func (rs ResponsysSource) AsHTTPSource() (*HTTPSource, bool) {
142574	return nil, false
142575}
142576
142577// AsAzureBlobFSSource is the BasicCopySource implementation for ResponsysSource.
142578func (rs ResponsysSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) {
142579	return nil, false
142580}
142581
142582// AsAzureDataLakeStoreSource is the BasicCopySource implementation for ResponsysSource.
142583func (rs ResponsysSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
142584	return nil, false
142585}
142586
142587// AsOffice365Source is the BasicCopySource implementation for ResponsysSource.
142588func (rs ResponsysSource) AsOffice365Source() (*Office365Source, bool) {
142589	return nil, false
142590}
142591
142592// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for ResponsysSource.
142593func (rs ResponsysSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) {
142594	return nil, false
142595}
142596
142597// AsMongoDbV2Source is the BasicCopySource implementation for ResponsysSource.
142598func (rs ResponsysSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) {
142599	return nil, false
142600}
142601
142602// AsMongoDbSource is the BasicCopySource implementation for ResponsysSource.
142603func (rs ResponsysSource) AsMongoDbSource() (*MongoDbSource, bool) {
142604	return nil, false
142605}
142606
142607// AsCassandraSource is the BasicCopySource implementation for ResponsysSource.
142608func (rs ResponsysSource) AsCassandraSource() (*CassandraSource, bool) {
142609	return nil, false
142610}
142611
142612// AsWebSource is the BasicCopySource implementation for ResponsysSource.
142613func (rs ResponsysSource) AsWebSource() (*WebSource, bool) {
142614	return nil, false
142615}
142616
142617// AsTeradataSource is the BasicCopySource implementation for ResponsysSource.
142618func (rs ResponsysSource) AsTeradataSource() (*TeradataSource, bool) {
142619	return nil, false
142620}
142621
142622// AsOracleSource is the BasicCopySource implementation for ResponsysSource.
142623func (rs ResponsysSource) AsOracleSource() (*OracleSource, bool) {
142624	return nil, false
142625}
142626
142627// AsAzureDataExplorerSource is the BasicCopySource implementation for ResponsysSource.
142628func (rs ResponsysSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) {
142629	return nil, false
142630}
142631
142632// AsAzureMySQLSource is the BasicCopySource implementation for ResponsysSource.
142633func (rs ResponsysSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
142634	return nil, false
142635}
142636
142637// AsHdfsSource is the BasicCopySource implementation for ResponsysSource.
142638func (rs ResponsysSource) AsHdfsSource() (*HdfsSource, bool) {
142639	return nil, false
142640}
142641
142642// AsFileSystemSource is the BasicCopySource implementation for ResponsysSource.
142643func (rs ResponsysSource) AsFileSystemSource() (*FileSystemSource, bool) {
142644	return nil, false
142645}
142646
142647// AsSQLDWSource is the BasicCopySource implementation for ResponsysSource.
142648func (rs ResponsysSource) AsSQLDWSource() (*SQLDWSource, bool) {
142649	return nil, false
142650}
142651
142652// AsSQLMISource is the BasicCopySource implementation for ResponsysSource.
142653func (rs ResponsysSource) AsSQLMISource() (*SQLMISource, bool) {
142654	return nil, false
142655}
142656
142657// AsAzureSQLSource is the BasicCopySource implementation for ResponsysSource.
142658func (rs ResponsysSource) AsAzureSQLSource() (*AzureSQLSource, bool) {
142659	return nil, false
142660}
142661
142662// AsSQLServerSource is the BasicCopySource implementation for ResponsysSource.
142663func (rs ResponsysSource) AsSQLServerSource() (*SQLServerSource, bool) {
142664	return nil, false
142665}
142666
142667// AsSQLSource is the BasicCopySource implementation for ResponsysSource.
142668func (rs ResponsysSource) AsSQLSource() (*SQLSource, bool) {
142669	return nil, false
142670}
142671
142672// AsRestSource is the BasicCopySource implementation for ResponsysSource.
142673func (rs ResponsysSource) AsRestSource() (*RestSource, bool) {
142674	return nil, false
142675}
142676
142677// AsSapTableSource is the BasicCopySource implementation for ResponsysSource.
142678func (rs ResponsysSource) AsSapTableSource() (*SapTableSource, bool) {
142679	return nil, false
142680}
142681
142682// AsSapOpenHubSource is the BasicCopySource implementation for ResponsysSource.
142683func (rs ResponsysSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) {
142684	return nil, false
142685}
142686
142687// AsSapHanaSource is the BasicCopySource implementation for ResponsysSource.
142688func (rs ResponsysSource) AsSapHanaSource() (*SapHanaSource, bool) {
142689	return nil, false
142690}
142691
142692// AsSapEccSource is the BasicCopySource implementation for ResponsysSource.
142693func (rs ResponsysSource) AsSapEccSource() (*SapEccSource, bool) {
142694	return nil, false
142695}
142696
142697// AsSapCloudForCustomerSource is the BasicCopySource implementation for ResponsysSource.
142698func (rs ResponsysSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
142699	return nil, false
142700}
142701
142702// AsSalesforceServiceCloudSource is the BasicCopySource implementation for ResponsysSource.
142703func (rs ResponsysSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) {
142704	return nil, false
142705}
142706
142707// AsSalesforceSource is the BasicCopySource implementation for ResponsysSource.
142708func (rs ResponsysSource) AsSalesforceSource() (*SalesforceSource, bool) {
142709	return nil, false
142710}
142711
142712// AsODataSource is the BasicCopySource implementation for ResponsysSource.
142713func (rs ResponsysSource) AsODataSource() (*ODataSource, bool) {
142714	return nil, false
142715}
142716
142717// AsSybaseSource is the BasicCopySource implementation for ResponsysSource.
142718func (rs ResponsysSource) AsSybaseSource() (*SybaseSource, bool) {
142719	return nil, false
142720}
142721
142722// AsPostgreSQLSource is the BasicCopySource implementation for ResponsysSource.
142723func (rs ResponsysSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) {
142724	return nil, false
142725}
142726
142727// AsMySQLSource is the BasicCopySource implementation for ResponsysSource.
142728func (rs ResponsysSource) AsMySQLSource() (*MySQLSource, bool) {
142729	return nil, false
142730}
142731
142732// AsOdbcSource is the BasicCopySource implementation for ResponsysSource.
142733func (rs ResponsysSource) AsOdbcSource() (*OdbcSource, bool) {
142734	return nil, false
142735}
142736
142737// AsDb2Source is the BasicCopySource implementation for ResponsysSource.
142738func (rs ResponsysSource) AsDb2Source() (*Db2Source, bool) {
142739	return nil, false
142740}
142741
142742// AsMicrosoftAccessSource is the BasicCopySource implementation for ResponsysSource.
142743func (rs ResponsysSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) {
142744	return nil, false
142745}
142746
142747// AsInformixSource is the BasicCopySource implementation for ResponsysSource.
142748func (rs ResponsysSource) AsInformixSource() (*InformixSource, bool) {
142749	return nil, false
142750}
142751
142752// AsRelationalSource is the BasicCopySource implementation for ResponsysSource.
142753func (rs ResponsysSource) AsRelationalSource() (*RelationalSource, bool) {
142754	return nil, false
142755}
142756
142757// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for ResponsysSource.
142758func (rs ResponsysSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) {
142759	return nil, false
142760}
142761
142762// AsDynamicsCrmSource is the BasicCopySource implementation for ResponsysSource.
142763func (rs ResponsysSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) {
142764	return nil, false
142765}
142766
142767// AsDynamicsSource is the BasicCopySource implementation for ResponsysSource.
142768func (rs ResponsysSource) AsDynamicsSource() (*DynamicsSource, bool) {
142769	return nil, false
142770}
142771
142772// AsDocumentDbCollectionSource is the BasicCopySource implementation for ResponsysSource.
142773func (rs ResponsysSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
142774	return nil, false
142775}
142776
142777// AsBlobSource is the BasicCopySource implementation for ResponsysSource.
142778func (rs ResponsysSource) AsBlobSource() (*BlobSource, bool) {
142779	return nil, false
142780}
142781
142782// AsAzureTableSource is the BasicCopySource implementation for ResponsysSource.
142783func (rs ResponsysSource) AsAzureTableSource() (*AzureTableSource, bool) {
142784	return nil, false
142785}
142786
142787// AsBinarySource is the BasicCopySource implementation for ResponsysSource.
142788func (rs ResponsysSource) AsBinarySource() (*BinarySource, bool) {
142789	return nil, false
142790}
142791
142792// AsDelimitedTextSource is the BasicCopySource implementation for ResponsysSource.
142793func (rs ResponsysSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) {
142794	return nil, false
142795}
142796
142797// AsParquetSource is the BasicCopySource implementation for ResponsysSource.
142798func (rs ResponsysSource) AsParquetSource() (*ParquetSource, bool) {
142799	return nil, false
142800}
142801
142802// AsCopySource is the BasicCopySource implementation for ResponsysSource.
142803func (rs ResponsysSource) AsCopySource() (*CopySource, bool) {
142804	return nil, false
142805}
142806
142807// AsBasicCopySource is the BasicCopySource implementation for ResponsysSource.
142808func (rs ResponsysSource) AsBasicCopySource() (BasicCopySource, bool) {
142809	return &rs, true
142810}
142811
142812// UnmarshalJSON is the custom unmarshaler for ResponsysSource struct.
142813func (rs *ResponsysSource) UnmarshalJSON(body []byte) error {
142814	var m map[string]*json.RawMessage
142815	err := json.Unmarshal(body, &m)
142816	if err != nil {
142817		return err
142818	}
142819	for k, v := range m {
142820		switch k {
142821		case "query":
142822			if v != nil {
142823				var query interface{}
142824				err = json.Unmarshal(*v, &query)
142825				if err != nil {
142826					return err
142827				}
142828				rs.Query = query
142829			}
142830		default:
142831			if v != nil {
142832				var additionalProperties interface{}
142833				err = json.Unmarshal(*v, &additionalProperties)
142834				if err != nil {
142835					return err
142836				}
142837				if rs.AdditionalProperties == nil {
142838					rs.AdditionalProperties = make(map[string]interface{})
142839				}
142840				rs.AdditionalProperties[k] = additionalProperties
142841			}
142842		case "sourceRetryCount":
142843			if v != nil {
142844				var sourceRetryCount interface{}
142845				err = json.Unmarshal(*v, &sourceRetryCount)
142846				if err != nil {
142847					return err
142848				}
142849				rs.SourceRetryCount = sourceRetryCount
142850			}
142851		case "sourceRetryWait":
142852			if v != nil {
142853				var sourceRetryWait interface{}
142854				err = json.Unmarshal(*v, &sourceRetryWait)
142855				if err != nil {
142856					return err
142857				}
142858				rs.SourceRetryWait = sourceRetryWait
142859			}
142860		case "maxConcurrentConnections":
142861			if v != nil {
142862				var maxConcurrentConnections interface{}
142863				err = json.Unmarshal(*v, &maxConcurrentConnections)
142864				if err != nil {
142865					return err
142866				}
142867				rs.MaxConcurrentConnections = maxConcurrentConnections
142868			}
142869		case "type":
142870			if v != nil {
142871				var typeVar TypeBasicCopySource
142872				err = json.Unmarshal(*v, &typeVar)
142873				if err != nil {
142874					return err
142875				}
142876				rs.Type = typeVar
142877			}
142878		}
142879	}
142880
142881	return nil
142882}
142883
142884// RestResourceDataset a Rest service dataset.
142885type RestResourceDataset struct {
142886	// RestResourceDatasetTypeProperties - Properties specific to this dataset type.
142887	*RestResourceDatasetTypeProperties `json:"typeProperties,omitempty"`
142888	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
142889	AdditionalProperties map[string]interface{} `json:""`
142890	// Description - Dataset description.
142891	Description *string `json:"description,omitempty"`
142892	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
142893	Structure interface{} `json:"structure,omitempty"`
142894	// Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement.
142895	Schema interface{} `json:"schema,omitempty"`
142896	// LinkedServiceName - Linked service reference.
142897	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
142898	// Parameters - Parameters for dataset.
142899	Parameters map[string]*ParameterSpecification `json:"parameters"`
142900	// Annotations - List of tags that can be used for describing the Dataset.
142901	Annotations *[]interface{} `json:"annotations,omitempty"`
142902	// Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level.
142903	Folder *DatasetFolder `json:"folder,omitempty"`
142904	// Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', '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', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeDelimitedText', 'TypeParquet', 'TypeAmazonS3Object'
142905	Type TypeBasicDataset `json:"type,omitempty"`
142906}
142907
142908// MarshalJSON is the custom marshaler for RestResourceDataset.
142909func (rrd RestResourceDataset) MarshalJSON() ([]byte, error) {
142910	rrd.Type = TypeRestResource
142911	objectMap := make(map[string]interface{})
142912	if rrd.RestResourceDatasetTypeProperties != nil {
142913		objectMap["typeProperties"] = rrd.RestResourceDatasetTypeProperties
142914	}
142915	if rrd.Description != nil {
142916		objectMap["description"] = rrd.Description
142917	}
142918	if rrd.Structure != nil {
142919		objectMap["structure"] = rrd.Structure
142920	}
142921	if rrd.Schema != nil {
142922		objectMap["schema"] = rrd.Schema
142923	}
142924	if rrd.LinkedServiceName != nil {
142925		objectMap["linkedServiceName"] = rrd.LinkedServiceName
142926	}
142927	if rrd.Parameters != nil {
142928		objectMap["parameters"] = rrd.Parameters
142929	}
142930	if rrd.Annotations != nil {
142931		objectMap["annotations"] = rrd.Annotations
142932	}
142933	if rrd.Folder != nil {
142934		objectMap["folder"] = rrd.Folder
142935	}
142936	if rrd.Type != "" {
142937		objectMap["type"] = rrd.Type
142938	}
142939	for k, v := range rrd.AdditionalProperties {
142940		objectMap[k] = v
142941	}
142942	return json.Marshal(objectMap)
142943}
142944
142945// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for RestResourceDataset.
142946func (rrd RestResourceDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) {
142947	return nil, false
142948}
142949
142950// AsAzureDataExplorerTableDataset is the BasicDataset implementation for RestResourceDataset.
142951func (rrd RestResourceDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) {
142952	return nil, false
142953}
142954
142955// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for RestResourceDataset.
142956func (rrd RestResourceDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) {
142957	return nil, false
142958}
142959
142960// AsDynamicsAXResourceDataset is the BasicDataset implementation for RestResourceDataset.
142961func (rrd RestResourceDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) {
142962	return nil, false
142963}
142964
142965// AsResponsysObjectDataset is the BasicDataset implementation for RestResourceDataset.
142966func (rrd RestResourceDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
142967	return nil, false
142968}
142969
142970// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for RestResourceDataset.
142971func (rrd RestResourceDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
142972	return nil, false
142973}
142974
142975// AsVerticaTableDataset is the BasicDataset implementation for RestResourceDataset.
142976func (rrd RestResourceDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
142977	return nil, false
142978}
142979
142980// AsNetezzaTableDataset is the BasicDataset implementation for RestResourceDataset.
142981func (rrd RestResourceDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
142982	return nil, false
142983}
142984
142985// AsZohoObjectDataset is the BasicDataset implementation for RestResourceDataset.
142986func (rrd RestResourceDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
142987	return nil, false
142988}
142989
142990// AsXeroObjectDataset is the BasicDataset implementation for RestResourceDataset.
142991func (rrd RestResourceDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
142992	return nil, false
142993}
142994
142995// AsSquareObjectDataset is the BasicDataset implementation for RestResourceDataset.
142996func (rrd RestResourceDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
142997	return nil, false
142998}
142999
143000// AsSparkObjectDataset is the BasicDataset implementation for RestResourceDataset.
143001func (rrd RestResourceDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
143002	return nil, false
143003}
143004
143005// AsShopifyObjectDataset is the BasicDataset implementation for RestResourceDataset.
143006func (rrd RestResourceDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
143007	return nil, false
143008}
143009
143010// AsServiceNowObjectDataset is the BasicDataset implementation for RestResourceDataset.
143011func (rrd RestResourceDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
143012	return nil, false
143013}
143014
143015// AsQuickBooksObjectDataset is the BasicDataset implementation for RestResourceDataset.
143016func (rrd RestResourceDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
143017	return nil, false
143018}
143019
143020// AsPrestoObjectDataset is the BasicDataset implementation for RestResourceDataset.
143021func (rrd RestResourceDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
143022	return nil, false
143023}
143024
143025// AsPhoenixObjectDataset is the BasicDataset implementation for RestResourceDataset.
143026func (rrd RestResourceDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
143027	return nil, false
143028}
143029
143030// AsPaypalObjectDataset is the BasicDataset implementation for RestResourceDataset.
143031func (rrd RestResourceDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
143032	return nil, false
143033}
143034
143035// AsMarketoObjectDataset is the BasicDataset implementation for RestResourceDataset.
143036func (rrd RestResourceDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
143037	return nil, false
143038}
143039
143040// AsMariaDBTableDataset is the BasicDataset implementation for RestResourceDataset.
143041func (rrd RestResourceDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
143042	return nil, false
143043}
143044
143045// AsMagentoObjectDataset is the BasicDataset implementation for RestResourceDataset.
143046func (rrd RestResourceDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
143047	return nil, false
143048}
143049
143050// AsJiraObjectDataset is the BasicDataset implementation for RestResourceDataset.
143051func (rrd RestResourceDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
143052	return nil, false
143053}
143054
143055// AsImpalaObjectDataset is the BasicDataset implementation for RestResourceDataset.
143056func (rrd RestResourceDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
143057	return nil, false
143058}
143059
143060// AsHubspotObjectDataset is the BasicDataset implementation for RestResourceDataset.
143061func (rrd RestResourceDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
143062	return nil, false
143063}
143064
143065// AsHiveObjectDataset is the BasicDataset implementation for RestResourceDataset.
143066func (rrd RestResourceDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
143067	return nil, false
143068}
143069
143070// AsHBaseObjectDataset is the BasicDataset implementation for RestResourceDataset.
143071func (rrd RestResourceDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
143072	return nil, false
143073}
143074
143075// AsGreenplumTableDataset is the BasicDataset implementation for RestResourceDataset.
143076func (rrd RestResourceDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
143077	return nil, false
143078}
143079
143080// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for RestResourceDataset.
143081func (rrd RestResourceDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
143082	return nil, false
143083}
143084
143085// AsEloquaObjectDataset is the BasicDataset implementation for RestResourceDataset.
143086func (rrd RestResourceDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
143087	return nil, false
143088}
143089
143090// AsDrillTableDataset is the BasicDataset implementation for RestResourceDataset.
143091func (rrd RestResourceDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
143092	return nil, false
143093}
143094
143095// AsCouchbaseTableDataset is the BasicDataset implementation for RestResourceDataset.
143096func (rrd RestResourceDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
143097	return nil, false
143098}
143099
143100// AsConcurObjectDataset is the BasicDataset implementation for RestResourceDataset.
143101func (rrd RestResourceDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
143102	return nil, false
143103}
143104
143105// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for RestResourceDataset.
143106func (rrd RestResourceDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
143107	return nil, false
143108}
143109
143110// AsAmazonMWSObjectDataset is the BasicDataset implementation for RestResourceDataset.
143111func (rrd RestResourceDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
143112	return nil, false
143113}
143114
143115// AsHTTPDataset is the BasicDataset implementation for RestResourceDataset.
143116func (rrd RestResourceDataset) AsHTTPDataset() (*HTTPDataset, bool) {
143117	return nil, false
143118}
143119
143120// AsAzureSearchIndexDataset is the BasicDataset implementation for RestResourceDataset.
143121func (rrd RestResourceDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
143122	return nil, false
143123}
143124
143125// AsWebTableDataset is the BasicDataset implementation for RestResourceDataset.
143126func (rrd RestResourceDataset) AsWebTableDataset() (*WebTableDataset, bool) {
143127	return nil, false
143128}
143129
143130// AsSapTableResourceDataset is the BasicDataset implementation for RestResourceDataset.
143131func (rrd RestResourceDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) {
143132	return nil, false
143133}
143134
143135// AsRestResourceDataset is the BasicDataset implementation for RestResourceDataset.
143136func (rrd RestResourceDataset) AsRestResourceDataset() (*RestResourceDataset, bool) {
143137	return &rrd, true
143138}
143139
143140// AsSQLServerTableDataset is the BasicDataset implementation for RestResourceDataset.
143141func (rrd RestResourceDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
143142	return nil, false
143143}
143144
143145// AsSapOpenHubTableDataset is the BasicDataset implementation for RestResourceDataset.
143146func (rrd RestResourceDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) {
143147	return nil, false
143148}
143149
143150// AsSapHanaTableDataset is the BasicDataset implementation for RestResourceDataset.
143151func (rrd RestResourceDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) {
143152	return nil, false
143153}
143154
143155// AsSapEccResourceDataset is the BasicDataset implementation for RestResourceDataset.
143156func (rrd RestResourceDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
143157	return nil, false
143158}
143159
143160// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for RestResourceDataset.
143161func (rrd RestResourceDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
143162	return nil, false
143163}
143164
143165// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for RestResourceDataset.
143166func (rrd RestResourceDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) {
143167	return nil, false
143168}
143169
143170// AsSalesforceObjectDataset is the BasicDataset implementation for RestResourceDataset.
143171func (rrd RestResourceDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
143172	return nil, false
143173}
143174
143175// AsMicrosoftAccessTableDataset is the BasicDataset implementation for RestResourceDataset.
143176func (rrd RestResourceDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) {
143177	return nil, false
143178}
143179
143180// AsPostgreSQLTableDataset is the BasicDataset implementation for RestResourceDataset.
143181func (rrd RestResourceDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) {
143182	return nil, false
143183}
143184
143185// AsMySQLTableDataset is the BasicDataset implementation for RestResourceDataset.
143186func (rrd RestResourceDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) {
143187	return nil, false
143188}
143189
143190// AsOdbcTableDataset is the BasicDataset implementation for RestResourceDataset.
143191func (rrd RestResourceDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) {
143192	return nil, false
143193}
143194
143195// AsInformixTableDataset is the BasicDataset implementation for RestResourceDataset.
143196func (rrd RestResourceDataset) AsInformixTableDataset() (*InformixTableDataset, bool) {
143197	return nil, false
143198}
143199
143200// AsRelationalTableDataset is the BasicDataset implementation for RestResourceDataset.
143201func (rrd RestResourceDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
143202	return nil, false
143203}
143204
143205// AsAzureMySQLTableDataset is the BasicDataset implementation for RestResourceDataset.
143206func (rrd RestResourceDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
143207	return nil, false
143208}
143209
143210// AsTeradataTableDataset is the BasicDataset implementation for RestResourceDataset.
143211func (rrd RestResourceDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) {
143212	return nil, false
143213}
143214
143215// AsOracleTableDataset is the BasicDataset implementation for RestResourceDataset.
143216func (rrd RestResourceDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
143217	return nil, false
143218}
143219
143220// AsODataResourceDataset is the BasicDataset implementation for RestResourceDataset.
143221func (rrd RestResourceDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
143222	return nil, false
143223}
143224
143225// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for RestResourceDataset.
143226func (rrd RestResourceDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) {
143227	return nil, false
143228}
143229
143230// AsMongoDbV2CollectionDataset is the BasicDataset implementation for RestResourceDataset.
143231func (rrd RestResourceDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) {
143232	return nil, false
143233}
143234
143235// AsMongoDbCollectionDataset is the BasicDataset implementation for RestResourceDataset.
143236func (rrd RestResourceDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
143237	return nil, false
143238}
143239
143240// AsFileShareDataset is the BasicDataset implementation for RestResourceDataset.
143241func (rrd RestResourceDataset) AsFileShareDataset() (*FileShareDataset, bool) {
143242	return nil, false
143243}
143244
143245// AsOffice365Dataset is the BasicDataset implementation for RestResourceDataset.
143246func (rrd RestResourceDataset) AsOffice365Dataset() (*Office365Dataset, bool) {
143247	return nil, false
143248}
143249
143250// AsAzureBlobFSDataset is the BasicDataset implementation for RestResourceDataset.
143251func (rrd RestResourceDataset) AsAzureBlobFSDataset() (*AzureBlobFSDataset, bool) {
143252	return nil, false
143253}
143254
143255// AsAzureDataLakeStoreDataset is the BasicDataset implementation for RestResourceDataset.
143256func (rrd RestResourceDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) {
143257	return nil, false
143258}
143259
143260// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for RestResourceDataset.
143261func (rrd RestResourceDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) {
143262	return nil, false
143263}
143264
143265// AsDynamicsCrmEntityDataset is the BasicDataset implementation for RestResourceDataset.
143266func (rrd RestResourceDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) {
143267	return nil, false
143268}
143269
143270// AsDynamicsEntityDataset is the BasicDataset implementation for RestResourceDataset.
143271func (rrd RestResourceDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
143272	return nil, false
143273}
143274
143275// AsDocumentDbCollectionDataset is the BasicDataset implementation for RestResourceDataset.
143276func (rrd RestResourceDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
143277	return nil, false
143278}
143279
143280// AsCustomDataset is the BasicDataset implementation for RestResourceDataset.
143281func (rrd RestResourceDataset) AsCustomDataset() (*CustomDataset, bool) {
143282	return nil, false
143283}
143284
143285// AsCassandraTableDataset is the BasicDataset implementation for RestResourceDataset.
143286func (rrd RestResourceDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
143287	return nil, false
143288}
143289
143290// AsAzureSQLDWTableDataset is the BasicDataset implementation for RestResourceDataset.
143291func (rrd RestResourceDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
143292	return nil, false
143293}
143294
143295// AsAzureSQLMITableDataset is the BasicDataset implementation for RestResourceDataset.
143296func (rrd RestResourceDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) {
143297	return nil, false
143298}
143299
143300// AsAzureSQLTableDataset is the BasicDataset implementation for RestResourceDataset.
143301func (rrd RestResourceDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
143302	return nil, false
143303}
143304
143305// AsAzureTableDataset is the BasicDataset implementation for RestResourceDataset.
143306func (rrd RestResourceDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
143307	return nil, false
143308}
143309
143310// AsAzureBlobDataset is the BasicDataset implementation for RestResourceDataset.
143311func (rrd RestResourceDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) {
143312	return nil, false
143313}
143314
143315// AsBinaryDataset is the BasicDataset implementation for RestResourceDataset.
143316func (rrd RestResourceDataset) AsBinaryDataset() (*BinaryDataset, bool) {
143317	return nil, false
143318}
143319
143320// AsDelimitedTextDataset is the BasicDataset implementation for RestResourceDataset.
143321func (rrd RestResourceDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) {
143322	return nil, false
143323}
143324
143325// AsParquetDataset is the BasicDataset implementation for RestResourceDataset.
143326func (rrd RestResourceDataset) AsParquetDataset() (*ParquetDataset, bool) {
143327	return nil, false
143328}
143329
143330// AsAmazonS3Dataset is the BasicDataset implementation for RestResourceDataset.
143331func (rrd RestResourceDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) {
143332	return nil, false
143333}
143334
143335// AsDataset is the BasicDataset implementation for RestResourceDataset.
143336func (rrd RestResourceDataset) AsDataset() (*Dataset, bool) {
143337	return nil, false
143338}
143339
143340// AsBasicDataset is the BasicDataset implementation for RestResourceDataset.
143341func (rrd RestResourceDataset) AsBasicDataset() (BasicDataset, bool) {
143342	return &rrd, true
143343}
143344
143345// UnmarshalJSON is the custom unmarshaler for RestResourceDataset struct.
143346func (rrd *RestResourceDataset) UnmarshalJSON(body []byte) error {
143347	var m map[string]*json.RawMessage
143348	err := json.Unmarshal(body, &m)
143349	if err != nil {
143350		return err
143351	}
143352	for k, v := range m {
143353		switch k {
143354		case "typeProperties":
143355			if v != nil {
143356				var restResourceDatasetTypeProperties RestResourceDatasetTypeProperties
143357				err = json.Unmarshal(*v, &restResourceDatasetTypeProperties)
143358				if err != nil {
143359					return err
143360				}
143361				rrd.RestResourceDatasetTypeProperties = &restResourceDatasetTypeProperties
143362			}
143363		default:
143364			if v != nil {
143365				var additionalProperties interface{}
143366				err = json.Unmarshal(*v, &additionalProperties)
143367				if err != nil {
143368					return err
143369				}
143370				if rrd.AdditionalProperties == nil {
143371					rrd.AdditionalProperties = make(map[string]interface{})
143372				}
143373				rrd.AdditionalProperties[k] = additionalProperties
143374			}
143375		case "description":
143376			if v != nil {
143377				var description string
143378				err = json.Unmarshal(*v, &description)
143379				if err != nil {
143380					return err
143381				}
143382				rrd.Description = &description
143383			}
143384		case "structure":
143385			if v != nil {
143386				var structure interface{}
143387				err = json.Unmarshal(*v, &structure)
143388				if err != nil {
143389					return err
143390				}
143391				rrd.Structure = structure
143392			}
143393		case "schema":
143394			if v != nil {
143395				var schema interface{}
143396				err = json.Unmarshal(*v, &schema)
143397				if err != nil {
143398					return err
143399				}
143400				rrd.Schema = schema
143401			}
143402		case "linkedServiceName":
143403			if v != nil {
143404				var linkedServiceName LinkedServiceReference
143405				err = json.Unmarshal(*v, &linkedServiceName)
143406				if err != nil {
143407					return err
143408				}
143409				rrd.LinkedServiceName = &linkedServiceName
143410			}
143411		case "parameters":
143412			if v != nil {
143413				var parameters map[string]*ParameterSpecification
143414				err = json.Unmarshal(*v, &parameters)
143415				if err != nil {
143416					return err
143417				}
143418				rrd.Parameters = parameters
143419			}
143420		case "annotations":
143421			if v != nil {
143422				var annotations []interface{}
143423				err = json.Unmarshal(*v, &annotations)
143424				if err != nil {
143425					return err
143426				}
143427				rrd.Annotations = &annotations
143428			}
143429		case "folder":
143430			if v != nil {
143431				var folder DatasetFolder
143432				err = json.Unmarshal(*v, &folder)
143433				if err != nil {
143434					return err
143435				}
143436				rrd.Folder = &folder
143437			}
143438		case "type":
143439			if v != nil {
143440				var typeVar TypeBasicDataset
143441				err = json.Unmarshal(*v, &typeVar)
143442				if err != nil {
143443					return err
143444				}
143445				rrd.Type = typeVar
143446			}
143447		}
143448	}
143449
143450	return nil
143451}
143452
143453// RestResourceDatasetTypeProperties properties specific to this dataset type.
143454type RestResourceDatasetTypeProperties struct {
143455	// RelativeURL - The relative URL to the resource that the RESTful API provides. Type: string (or Expression with resultType string).
143456	RelativeURL interface{} `json:"relativeUrl,omitempty"`
143457	// RequestMethod - The HTTP method used to call the RESTful API. The default is GET. Type: string (or Expression with resultType string).
143458	RequestMethod interface{} `json:"requestMethod,omitempty"`
143459	// RequestBody - The HTTP request body to the RESTful API if requestMethod is POST. Type: string (or Expression with resultType string).
143460	RequestBody interface{} `json:"requestBody,omitempty"`
143461	// AdditionalHeaders - The additional HTTP headers in the request to the RESTful API. Type: string (or Expression with resultType string).
143462	AdditionalHeaders interface{} `json:"additionalHeaders,omitempty"`
143463	// PaginationRules - The pagination rules to compose next page requests. Type: string (or Expression with resultType string).
143464	PaginationRules interface{} `json:"paginationRules,omitempty"`
143465}
143466
143467// RestServiceLinkedService rest Service linked service.
143468type RestServiceLinkedService struct {
143469	// RestServiceLinkedServiceTypeProperties - Rest Service linked service properties.
143470	*RestServiceLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
143471	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
143472	AdditionalProperties map[string]interface{} `json:""`
143473	// ConnectVia - The integration runtime reference.
143474	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
143475	// Description - Linked service description.
143476	Description *string `json:"description,omitempty"`
143477	// Parameters - Parameters for linked service.
143478	Parameters map[string]*ParameterSpecification `json:"parameters"`
143479	// Annotations - List of tags that can be used for describing the linked service.
143480	Annotations *[]interface{} `json:"annotations,omitempty"`
143481	// Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', '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', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage'
143482	Type TypeBasicLinkedService `json:"type,omitempty"`
143483}
143484
143485// MarshalJSON is the custom marshaler for RestServiceLinkedService.
143486func (rsls RestServiceLinkedService) MarshalJSON() ([]byte, error) {
143487	rsls.Type = TypeRestService
143488	objectMap := make(map[string]interface{})
143489	if rsls.RestServiceLinkedServiceTypeProperties != nil {
143490		objectMap["typeProperties"] = rsls.RestServiceLinkedServiceTypeProperties
143491	}
143492	if rsls.ConnectVia != nil {
143493		objectMap["connectVia"] = rsls.ConnectVia
143494	}
143495	if rsls.Description != nil {
143496		objectMap["description"] = rsls.Description
143497	}
143498	if rsls.Parameters != nil {
143499		objectMap["parameters"] = rsls.Parameters
143500	}
143501	if rsls.Annotations != nil {
143502		objectMap["annotations"] = rsls.Annotations
143503	}
143504	if rsls.Type != "" {
143505		objectMap["type"] = rsls.Type
143506	}
143507	for k, v := range rsls.AdditionalProperties {
143508		objectMap[k] = v
143509	}
143510	return json.Marshal(objectMap)
143511}
143512
143513// AsAzureFunctionLinkedService is the BasicLinkedService implementation for RestServiceLinkedService.
143514func (rsls RestServiceLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) {
143515	return nil, false
143516}
143517
143518// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for RestServiceLinkedService.
143519func (rsls RestServiceLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) {
143520	return nil, false
143521}
143522
143523// AsSapTableLinkedService is the BasicLinkedService implementation for RestServiceLinkedService.
143524func (rsls RestServiceLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) {
143525	return nil, false
143526}
143527
143528// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for RestServiceLinkedService.
143529func (rsls RestServiceLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) {
143530	return nil, false
143531}
143532
143533// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for RestServiceLinkedService.
143534func (rsls RestServiceLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) {
143535	return nil, false
143536}
143537
143538// AsDynamicsAXLinkedService is the BasicLinkedService implementation for RestServiceLinkedService.
143539func (rsls RestServiceLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) {
143540	return nil, false
143541}
143542
143543// AsResponsysLinkedService is the BasicLinkedService implementation for RestServiceLinkedService.
143544func (rsls RestServiceLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
143545	return nil, false
143546}
143547
143548// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for RestServiceLinkedService.
143549func (rsls RestServiceLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
143550	return nil, false
143551}
143552
143553// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for RestServiceLinkedService.
143554func (rsls RestServiceLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
143555	return nil, false
143556}
143557
143558// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for RestServiceLinkedService.
143559func (rsls RestServiceLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
143560	return nil, false
143561}
143562
143563// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for RestServiceLinkedService.
143564func (rsls RestServiceLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
143565	return nil, false
143566}
143567
143568// AsNetezzaLinkedService is the BasicLinkedService implementation for RestServiceLinkedService.
143569func (rsls RestServiceLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
143570	return nil, false
143571}
143572
143573// AsVerticaLinkedService is the BasicLinkedService implementation for RestServiceLinkedService.
143574func (rsls RestServiceLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
143575	return nil, false
143576}
143577
143578// AsZohoLinkedService is the BasicLinkedService implementation for RestServiceLinkedService.
143579func (rsls RestServiceLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
143580	return nil, false
143581}
143582
143583// AsXeroLinkedService is the BasicLinkedService implementation for RestServiceLinkedService.
143584func (rsls RestServiceLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
143585	return nil, false
143586}
143587
143588// AsSquareLinkedService is the BasicLinkedService implementation for RestServiceLinkedService.
143589func (rsls RestServiceLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
143590	return nil, false
143591}
143592
143593// AsSparkLinkedService is the BasicLinkedService implementation for RestServiceLinkedService.
143594func (rsls RestServiceLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
143595	return nil, false
143596}
143597
143598// AsShopifyLinkedService is the BasicLinkedService implementation for RestServiceLinkedService.
143599func (rsls RestServiceLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
143600	return nil, false
143601}
143602
143603// AsServiceNowLinkedService is the BasicLinkedService implementation for RestServiceLinkedService.
143604func (rsls RestServiceLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
143605	return nil, false
143606}
143607
143608// AsQuickBooksLinkedService is the BasicLinkedService implementation for RestServiceLinkedService.
143609func (rsls RestServiceLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
143610	return nil, false
143611}
143612
143613// AsPrestoLinkedService is the BasicLinkedService implementation for RestServiceLinkedService.
143614func (rsls RestServiceLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
143615	return nil, false
143616}
143617
143618// AsPhoenixLinkedService is the BasicLinkedService implementation for RestServiceLinkedService.
143619func (rsls RestServiceLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
143620	return nil, false
143621}
143622
143623// AsPaypalLinkedService is the BasicLinkedService implementation for RestServiceLinkedService.
143624func (rsls RestServiceLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
143625	return nil, false
143626}
143627
143628// AsMarketoLinkedService is the BasicLinkedService implementation for RestServiceLinkedService.
143629func (rsls RestServiceLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
143630	return nil, false
143631}
143632
143633// AsMariaDBLinkedService is the BasicLinkedService implementation for RestServiceLinkedService.
143634func (rsls RestServiceLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
143635	return nil, false
143636}
143637
143638// AsMagentoLinkedService is the BasicLinkedService implementation for RestServiceLinkedService.
143639func (rsls RestServiceLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
143640	return nil, false
143641}
143642
143643// AsJiraLinkedService is the BasicLinkedService implementation for RestServiceLinkedService.
143644func (rsls RestServiceLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
143645	return nil, false
143646}
143647
143648// AsImpalaLinkedService is the BasicLinkedService implementation for RestServiceLinkedService.
143649func (rsls RestServiceLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
143650	return nil, false
143651}
143652
143653// AsHubspotLinkedService is the BasicLinkedService implementation for RestServiceLinkedService.
143654func (rsls RestServiceLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
143655	return nil, false
143656}
143657
143658// AsHiveLinkedService is the BasicLinkedService implementation for RestServiceLinkedService.
143659func (rsls RestServiceLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
143660	return nil, false
143661}
143662
143663// AsHBaseLinkedService is the BasicLinkedService implementation for RestServiceLinkedService.
143664func (rsls RestServiceLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
143665	return nil, false
143666}
143667
143668// AsGreenplumLinkedService is the BasicLinkedService implementation for RestServiceLinkedService.
143669func (rsls RestServiceLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
143670	return nil, false
143671}
143672
143673// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for RestServiceLinkedService.
143674func (rsls RestServiceLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
143675	return nil, false
143676}
143677
143678// AsEloquaLinkedService is the BasicLinkedService implementation for RestServiceLinkedService.
143679func (rsls RestServiceLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
143680	return nil, false
143681}
143682
143683// AsDrillLinkedService is the BasicLinkedService implementation for RestServiceLinkedService.
143684func (rsls RestServiceLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
143685	return nil, false
143686}
143687
143688// AsCouchbaseLinkedService is the BasicLinkedService implementation for RestServiceLinkedService.
143689func (rsls RestServiceLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
143690	return nil, false
143691}
143692
143693// AsConcurLinkedService is the BasicLinkedService implementation for RestServiceLinkedService.
143694func (rsls RestServiceLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
143695	return nil, false
143696}
143697
143698// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for RestServiceLinkedService.
143699func (rsls RestServiceLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
143700	return nil, false
143701}
143702
143703// AsAmazonMWSLinkedService is the BasicLinkedService implementation for RestServiceLinkedService.
143704func (rsls RestServiceLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
143705	return nil, false
143706}
143707
143708// AsSapHanaLinkedService is the BasicLinkedService implementation for RestServiceLinkedService.
143709func (rsls RestServiceLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
143710	return nil, false
143711}
143712
143713// AsSapBWLinkedService is the BasicLinkedService implementation for RestServiceLinkedService.
143714func (rsls RestServiceLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
143715	return nil, false
143716}
143717
143718// AsSftpServerLinkedService is the BasicLinkedService implementation for RestServiceLinkedService.
143719func (rsls RestServiceLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
143720	return nil, false
143721}
143722
143723// AsFtpServerLinkedService is the BasicLinkedService implementation for RestServiceLinkedService.
143724func (rsls RestServiceLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
143725	return nil, false
143726}
143727
143728// AsHTTPLinkedService is the BasicLinkedService implementation for RestServiceLinkedService.
143729func (rsls RestServiceLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
143730	return nil, false
143731}
143732
143733// AsAzureSearchLinkedService is the BasicLinkedService implementation for RestServiceLinkedService.
143734func (rsls RestServiceLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
143735	return nil, false
143736}
143737
143738// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for RestServiceLinkedService.
143739func (rsls RestServiceLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
143740	return nil, false
143741}
143742
143743// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for RestServiceLinkedService.
143744func (rsls RestServiceLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
143745	return nil, false
143746}
143747
143748// AsAmazonS3LinkedService is the BasicLinkedService implementation for RestServiceLinkedService.
143749func (rsls RestServiceLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
143750	return nil, false
143751}
143752
143753// AsRestServiceLinkedService is the BasicLinkedService implementation for RestServiceLinkedService.
143754func (rsls RestServiceLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) {
143755	return &rsls, true
143756}
143757
143758// AsSapOpenHubLinkedService is the BasicLinkedService implementation for RestServiceLinkedService.
143759func (rsls RestServiceLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) {
143760	return nil, false
143761}
143762
143763// AsSapEccLinkedService is the BasicLinkedService implementation for RestServiceLinkedService.
143764func (rsls RestServiceLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
143765	return nil, false
143766}
143767
143768// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for RestServiceLinkedService.
143769func (rsls RestServiceLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
143770	return nil, false
143771}
143772
143773// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for RestServiceLinkedService.
143774func (rsls RestServiceLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) {
143775	return nil, false
143776}
143777
143778// AsSalesforceLinkedService is the BasicLinkedService implementation for RestServiceLinkedService.
143779func (rsls RestServiceLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
143780	return nil, false
143781}
143782
143783// AsOffice365LinkedService is the BasicLinkedService implementation for RestServiceLinkedService.
143784func (rsls RestServiceLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) {
143785	return nil, false
143786}
143787
143788// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for RestServiceLinkedService.
143789func (rsls RestServiceLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) {
143790	return nil, false
143791}
143792
143793// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for RestServiceLinkedService.
143794func (rsls RestServiceLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
143795	return nil, false
143796}
143797
143798// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for RestServiceLinkedService.
143799func (rsls RestServiceLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) {
143800	return nil, false
143801}
143802
143803// AsMongoDbV2LinkedService is the BasicLinkedService implementation for RestServiceLinkedService.
143804func (rsls RestServiceLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) {
143805	return nil, false
143806}
143807
143808// AsMongoDbLinkedService is the BasicLinkedService implementation for RestServiceLinkedService.
143809func (rsls RestServiceLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
143810	return nil, false
143811}
143812
143813// AsCassandraLinkedService is the BasicLinkedService implementation for RestServiceLinkedService.
143814func (rsls RestServiceLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
143815	return nil, false
143816}
143817
143818// AsWebLinkedService is the BasicLinkedService implementation for RestServiceLinkedService.
143819func (rsls RestServiceLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
143820	return nil, false
143821}
143822
143823// AsODataLinkedService is the BasicLinkedService implementation for RestServiceLinkedService.
143824func (rsls RestServiceLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
143825	return nil, false
143826}
143827
143828// AsHdfsLinkedService is the BasicLinkedService implementation for RestServiceLinkedService.
143829func (rsls RestServiceLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
143830	return nil, false
143831}
143832
143833// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for RestServiceLinkedService.
143834func (rsls RestServiceLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) {
143835	return nil, false
143836}
143837
143838// AsInformixLinkedService is the BasicLinkedService implementation for RestServiceLinkedService.
143839func (rsls RestServiceLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) {
143840	return nil, false
143841}
143842
143843// AsOdbcLinkedService is the BasicLinkedService implementation for RestServiceLinkedService.
143844func (rsls RestServiceLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
143845	return nil, false
143846}
143847
143848// AsAzureMLLinkedService is the BasicLinkedService implementation for RestServiceLinkedService.
143849func (rsls RestServiceLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
143850	return nil, false
143851}
143852
143853// AsTeradataLinkedService is the BasicLinkedService implementation for RestServiceLinkedService.
143854func (rsls RestServiceLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
143855	return nil, false
143856}
143857
143858// AsDb2LinkedService is the BasicLinkedService implementation for RestServiceLinkedService.
143859func (rsls RestServiceLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
143860	return nil, false
143861}
143862
143863// AsSybaseLinkedService is the BasicLinkedService implementation for RestServiceLinkedService.
143864func (rsls RestServiceLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
143865	return nil, false
143866}
143867
143868// AsPostgreSQLLinkedService is the BasicLinkedService implementation for RestServiceLinkedService.
143869func (rsls RestServiceLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
143870	return nil, false
143871}
143872
143873// AsMySQLLinkedService is the BasicLinkedService implementation for RestServiceLinkedService.
143874func (rsls RestServiceLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
143875	return nil, false
143876}
143877
143878// AsAzureMySQLLinkedService is the BasicLinkedService implementation for RestServiceLinkedService.
143879func (rsls RestServiceLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
143880	return nil, false
143881}
143882
143883// AsOracleLinkedService is the BasicLinkedService implementation for RestServiceLinkedService.
143884func (rsls RestServiceLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
143885	return nil, false
143886}
143887
143888// AsFileServerLinkedService is the BasicLinkedService implementation for RestServiceLinkedService.
143889func (rsls RestServiceLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
143890	return nil, false
143891}
143892
143893// AsHDInsightLinkedService is the BasicLinkedService implementation for RestServiceLinkedService.
143894func (rsls RestServiceLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
143895	return nil, false
143896}
143897
143898// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for RestServiceLinkedService.
143899func (rsls RestServiceLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) {
143900	return nil, false
143901}
143902
143903// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for RestServiceLinkedService.
143904func (rsls RestServiceLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) {
143905	return nil, false
143906}
143907
143908// AsDynamicsLinkedService is the BasicLinkedService implementation for RestServiceLinkedService.
143909func (rsls RestServiceLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
143910	return nil, false
143911}
143912
143913// AsCosmosDbLinkedService is the BasicLinkedService implementation for RestServiceLinkedService.
143914func (rsls RestServiceLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
143915	return nil, false
143916}
143917
143918// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for RestServiceLinkedService.
143919func (rsls RestServiceLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
143920	return nil, false
143921}
143922
143923// AsAzureBatchLinkedService is the BasicLinkedService implementation for RestServiceLinkedService.
143924func (rsls RestServiceLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
143925	return nil, false
143926}
143927
143928// AsAzureSQLMILinkedService is the BasicLinkedService implementation for RestServiceLinkedService.
143929func (rsls RestServiceLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) {
143930	return nil, false
143931}
143932
143933// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for RestServiceLinkedService.
143934func (rsls RestServiceLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
143935	return nil, false
143936}
143937
143938// AsSQLServerLinkedService is the BasicLinkedService implementation for RestServiceLinkedService.
143939func (rsls RestServiceLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
143940	return nil, false
143941}
143942
143943// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for RestServiceLinkedService.
143944func (rsls RestServiceLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
143945	return nil, false
143946}
143947
143948// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for RestServiceLinkedService.
143949func (rsls RestServiceLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) {
143950	return nil, false
143951}
143952
143953// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for RestServiceLinkedService.
143954func (rsls RestServiceLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) {
143955	return nil, false
143956}
143957
143958// AsAzureStorageLinkedService is the BasicLinkedService implementation for RestServiceLinkedService.
143959func (rsls RestServiceLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
143960	return nil, false
143961}
143962
143963// AsLinkedService is the BasicLinkedService implementation for RestServiceLinkedService.
143964func (rsls RestServiceLinkedService) AsLinkedService() (*LinkedService, bool) {
143965	return nil, false
143966}
143967
143968// AsBasicLinkedService is the BasicLinkedService implementation for RestServiceLinkedService.
143969func (rsls RestServiceLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
143970	return &rsls, true
143971}
143972
143973// UnmarshalJSON is the custom unmarshaler for RestServiceLinkedService struct.
143974func (rsls *RestServiceLinkedService) UnmarshalJSON(body []byte) error {
143975	var m map[string]*json.RawMessage
143976	err := json.Unmarshal(body, &m)
143977	if err != nil {
143978		return err
143979	}
143980	for k, v := range m {
143981		switch k {
143982		case "typeProperties":
143983			if v != nil {
143984				var restServiceLinkedServiceTypeProperties RestServiceLinkedServiceTypeProperties
143985				err = json.Unmarshal(*v, &restServiceLinkedServiceTypeProperties)
143986				if err != nil {
143987					return err
143988				}
143989				rsls.RestServiceLinkedServiceTypeProperties = &restServiceLinkedServiceTypeProperties
143990			}
143991		default:
143992			if v != nil {
143993				var additionalProperties interface{}
143994				err = json.Unmarshal(*v, &additionalProperties)
143995				if err != nil {
143996					return err
143997				}
143998				if rsls.AdditionalProperties == nil {
143999					rsls.AdditionalProperties = make(map[string]interface{})
144000				}
144001				rsls.AdditionalProperties[k] = additionalProperties
144002			}
144003		case "connectVia":
144004			if v != nil {
144005				var connectVia IntegrationRuntimeReference
144006				err = json.Unmarshal(*v, &connectVia)
144007				if err != nil {
144008					return err
144009				}
144010				rsls.ConnectVia = &connectVia
144011			}
144012		case "description":
144013			if v != nil {
144014				var description string
144015				err = json.Unmarshal(*v, &description)
144016				if err != nil {
144017					return err
144018				}
144019				rsls.Description = &description
144020			}
144021		case "parameters":
144022			if v != nil {
144023				var parameters map[string]*ParameterSpecification
144024				err = json.Unmarshal(*v, &parameters)
144025				if err != nil {
144026					return err
144027				}
144028				rsls.Parameters = parameters
144029			}
144030		case "annotations":
144031			if v != nil {
144032				var annotations []interface{}
144033				err = json.Unmarshal(*v, &annotations)
144034				if err != nil {
144035					return err
144036				}
144037				rsls.Annotations = &annotations
144038			}
144039		case "type":
144040			if v != nil {
144041				var typeVar TypeBasicLinkedService
144042				err = json.Unmarshal(*v, &typeVar)
144043				if err != nil {
144044					return err
144045				}
144046				rsls.Type = typeVar
144047			}
144048		}
144049	}
144050
144051	return nil
144052}
144053
144054// RestServiceLinkedServiceTypeProperties rest Service linked service properties.
144055type RestServiceLinkedServiceTypeProperties struct {
144056	// URL - The base URL of the REST service.
144057	URL interface{} `json:"url,omitempty"`
144058	// EnableServerCertificateValidation - Whether to validate server side SSL certificate when connecting to the endpoint.The default value is true. Type: boolean (or Expression with resultType boolean).
144059	EnableServerCertificateValidation interface{} `json:"enableServerCertificateValidation,omitempty"`
144060	// AuthenticationType - Type of authentication used to connect to the REST service. Possible values include: 'RestServiceAuthenticationTypeAnonymous', 'RestServiceAuthenticationTypeBasic', 'RestServiceAuthenticationTypeAadServicePrincipal', 'RestServiceAuthenticationTypeManagedServiceIdentity'
144061	AuthenticationType RestServiceAuthenticationType `json:"authenticationType,omitempty"`
144062	// UserName - The user name used in Basic authentication type.
144063	UserName interface{} `json:"userName,omitempty"`
144064	// Password - The password used in Basic authentication type.
144065	Password BasicSecretBase `json:"password,omitempty"`
144066	// ServicePrincipalID - The application's client ID used in AadServicePrincipal authentication type.
144067	ServicePrincipalID interface{} `json:"servicePrincipalId,omitempty"`
144068	// ServicePrincipalKey - The application's key used in AadServicePrincipal authentication type.
144069	ServicePrincipalKey BasicSecretBase `json:"servicePrincipalKey,omitempty"`
144070	// Tenant - The tenant information (domain name or tenant ID) used in AadServicePrincipal authentication type under which your application resides.
144071	Tenant interface{} `json:"tenant,omitempty"`
144072	// AadResourceID - The resource you are requesting authorization to use.
144073	AadResourceID interface{} `json:"aadResourceId,omitempty"`
144074	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
144075	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
144076}
144077
144078// UnmarshalJSON is the custom unmarshaler for RestServiceLinkedServiceTypeProperties struct.
144079func (rslstp *RestServiceLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
144080	var m map[string]*json.RawMessage
144081	err := json.Unmarshal(body, &m)
144082	if err != nil {
144083		return err
144084	}
144085	for k, v := range m {
144086		switch k {
144087		case "url":
144088			if v != nil {
144089				var URL interface{}
144090				err = json.Unmarshal(*v, &URL)
144091				if err != nil {
144092					return err
144093				}
144094				rslstp.URL = URL
144095			}
144096		case "enableServerCertificateValidation":
144097			if v != nil {
144098				var enableServerCertificateValidation interface{}
144099				err = json.Unmarshal(*v, &enableServerCertificateValidation)
144100				if err != nil {
144101					return err
144102				}
144103				rslstp.EnableServerCertificateValidation = enableServerCertificateValidation
144104			}
144105		case "authenticationType":
144106			if v != nil {
144107				var authenticationType RestServiceAuthenticationType
144108				err = json.Unmarshal(*v, &authenticationType)
144109				if err != nil {
144110					return err
144111				}
144112				rslstp.AuthenticationType = authenticationType
144113			}
144114		case "userName":
144115			if v != nil {
144116				var userName interface{}
144117				err = json.Unmarshal(*v, &userName)
144118				if err != nil {
144119					return err
144120				}
144121				rslstp.UserName = userName
144122			}
144123		case "password":
144124			if v != nil {
144125				password, err := unmarshalBasicSecretBase(*v)
144126				if err != nil {
144127					return err
144128				}
144129				rslstp.Password = password
144130			}
144131		case "servicePrincipalId":
144132			if v != nil {
144133				var servicePrincipalID interface{}
144134				err = json.Unmarshal(*v, &servicePrincipalID)
144135				if err != nil {
144136					return err
144137				}
144138				rslstp.ServicePrincipalID = servicePrincipalID
144139			}
144140		case "servicePrincipalKey":
144141			if v != nil {
144142				servicePrincipalKey, err := unmarshalBasicSecretBase(*v)
144143				if err != nil {
144144					return err
144145				}
144146				rslstp.ServicePrincipalKey = servicePrincipalKey
144147			}
144148		case "tenant":
144149			if v != nil {
144150				var tenant interface{}
144151				err = json.Unmarshal(*v, &tenant)
144152				if err != nil {
144153					return err
144154				}
144155				rslstp.Tenant = tenant
144156			}
144157		case "aadResourceId":
144158			if v != nil {
144159				var aadResourceID interface{}
144160				err = json.Unmarshal(*v, &aadResourceID)
144161				if err != nil {
144162					return err
144163				}
144164				rslstp.AadResourceID = aadResourceID
144165			}
144166		case "encryptedCredential":
144167			if v != nil {
144168				var encryptedCredential interface{}
144169				err = json.Unmarshal(*v, &encryptedCredential)
144170				if err != nil {
144171					return err
144172				}
144173				rslstp.EncryptedCredential = encryptedCredential
144174			}
144175		}
144176	}
144177
144178	return nil
144179}
144180
144181// RestSource a copy activity Rest service source.
144182type RestSource struct {
144183	// HTTPRequestTimeout - The timeout (TimeSpan) to get an HTTP response. It is the timeout to get a response, not the timeout to read response data. Default value: 00:01:40. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
144184	HTTPRequestTimeout interface{} `json:"httpRequestTimeout,omitempty"`
144185	// RequestInterval - The time to await before sending next page request.
144186	RequestInterval interface{} `json:"requestInterval,omitempty"`
144187	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
144188	AdditionalProperties map[string]interface{} `json:""`
144189	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
144190	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
144191	// 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])).
144192	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
144193	// MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer).
144194	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
144195	// Type - Possible values include: 'TypeCopySource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', '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', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeCassandraSource', 'TypeWebSource', 'TypeTeradataSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeAzureMySQLSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeRestSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceServiceCloudSource', 'TypeSalesforceSource', 'TypeODataSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeMicrosoftAccessSource', 'TypeInformixSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAzureTableSource', 'TypeBinarySource', 'TypeDelimitedTextSource', 'TypeParquetSource'
144196	Type TypeBasicCopySource `json:"type,omitempty"`
144197}
144198
144199// MarshalJSON is the custom marshaler for RestSource.
144200func (rs RestSource) MarshalJSON() ([]byte, error) {
144201	rs.Type = TypeRestSource
144202	objectMap := make(map[string]interface{})
144203	if rs.HTTPRequestTimeout != nil {
144204		objectMap["httpRequestTimeout"] = rs.HTTPRequestTimeout
144205	}
144206	if rs.RequestInterval != nil {
144207		objectMap["requestInterval"] = rs.RequestInterval
144208	}
144209	if rs.SourceRetryCount != nil {
144210		objectMap["sourceRetryCount"] = rs.SourceRetryCount
144211	}
144212	if rs.SourceRetryWait != nil {
144213		objectMap["sourceRetryWait"] = rs.SourceRetryWait
144214	}
144215	if rs.MaxConcurrentConnections != nil {
144216		objectMap["maxConcurrentConnections"] = rs.MaxConcurrentConnections
144217	}
144218	if rs.Type != "" {
144219		objectMap["type"] = rs.Type
144220	}
144221	for k, v := range rs.AdditionalProperties {
144222		objectMap[k] = v
144223	}
144224	return json.Marshal(objectMap)
144225}
144226
144227// AsAmazonRedshiftSource is the BasicCopySource implementation for RestSource.
144228func (rs RestSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
144229	return nil, false
144230}
144231
144232// AsGoogleAdWordsSource is the BasicCopySource implementation for RestSource.
144233func (rs RestSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) {
144234	return nil, false
144235}
144236
144237// AsOracleServiceCloudSource is the BasicCopySource implementation for RestSource.
144238func (rs RestSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) {
144239	return nil, false
144240}
144241
144242// AsDynamicsAXSource is the BasicCopySource implementation for RestSource.
144243func (rs RestSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) {
144244	return nil, false
144245}
144246
144247// AsResponsysSource is the BasicCopySource implementation for RestSource.
144248func (rs RestSource) AsResponsysSource() (*ResponsysSource, bool) {
144249	return nil, false
144250}
144251
144252// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for RestSource.
144253func (rs RestSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
144254	return nil, false
144255}
144256
144257// AsVerticaSource is the BasicCopySource implementation for RestSource.
144258func (rs RestSource) AsVerticaSource() (*VerticaSource, bool) {
144259	return nil, false
144260}
144261
144262// AsNetezzaSource is the BasicCopySource implementation for RestSource.
144263func (rs RestSource) AsNetezzaSource() (*NetezzaSource, bool) {
144264	return nil, false
144265}
144266
144267// AsZohoSource is the BasicCopySource implementation for RestSource.
144268func (rs RestSource) AsZohoSource() (*ZohoSource, bool) {
144269	return nil, false
144270}
144271
144272// AsXeroSource is the BasicCopySource implementation for RestSource.
144273func (rs RestSource) AsXeroSource() (*XeroSource, bool) {
144274	return nil, false
144275}
144276
144277// AsSquareSource is the BasicCopySource implementation for RestSource.
144278func (rs RestSource) AsSquareSource() (*SquareSource, bool) {
144279	return nil, false
144280}
144281
144282// AsSparkSource is the BasicCopySource implementation for RestSource.
144283func (rs RestSource) AsSparkSource() (*SparkSource, bool) {
144284	return nil, false
144285}
144286
144287// AsShopifySource is the BasicCopySource implementation for RestSource.
144288func (rs RestSource) AsShopifySource() (*ShopifySource, bool) {
144289	return nil, false
144290}
144291
144292// AsServiceNowSource is the BasicCopySource implementation for RestSource.
144293func (rs RestSource) AsServiceNowSource() (*ServiceNowSource, bool) {
144294	return nil, false
144295}
144296
144297// AsQuickBooksSource is the BasicCopySource implementation for RestSource.
144298func (rs RestSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
144299	return nil, false
144300}
144301
144302// AsPrestoSource is the BasicCopySource implementation for RestSource.
144303func (rs RestSource) AsPrestoSource() (*PrestoSource, bool) {
144304	return nil, false
144305}
144306
144307// AsPhoenixSource is the BasicCopySource implementation for RestSource.
144308func (rs RestSource) AsPhoenixSource() (*PhoenixSource, bool) {
144309	return nil, false
144310}
144311
144312// AsPaypalSource is the BasicCopySource implementation for RestSource.
144313func (rs RestSource) AsPaypalSource() (*PaypalSource, bool) {
144314	return nil, false
144315}
144316
144317// AsMarketoSource is the BasicCopySource implementation for RestSource.
144318func (rs RestSource) AsMarketoSource() (*MarketoSource, bool) {
144319	return nil, false
144320}
144321
144322// AsMariaDBSource is the BasicCopySource implementation for RestSource.
144323func (rs RestSource) AsMariaDBSource() (*MariaDBSource, bool) {
144324	return nil, false
144325}
144326
144327// AsMagentoSource is the BasicCopySource implementation for RestSource.
144328func (rs RestSource) AsMagentoSource() (*MagentoSource, bool) {
144329	return nil, false
144330}
144331
144332// AsJiraSource is the BasicCopySource implementation for RestSource.
144333func (rs RestSource) AsJiraSource() (*JiraSource, bool) {
144334	return nil, false
144335}
144336
144337// AsImpalaSource is the BasicCopySource implementation for RestSource.
144338func (rs RestSource) AsImpalaSource() (*ImpalaSource, bool) {
144339	return nil, false
144340}
144341
144342// AsHubspotSource is the BasicCopySource implementation for RestSource.
144343func (rs RestSource) AsHubspotSource() (*HubspotSource, bool) {
144344	return nil, false
144345}
144346
144347// AsHiveSource is the BasicCopySource implementation for RestSource.
144348func (rs RestSource) AsHiveSource() (*HiveSource, bool) {
144349	return nil, false
144350}
144351
144352// AsHBaseSource is the BasicCopySource implementation for RestSource.
144353func (rs RestSource) AsHBaseSource() (*HBaseSource, bool) {
144354	return nil, false
144355}
144356
144357// AsGreenplumSource is the BasicCopySource implementation for RestSource.
144358func (rs RestSource) AsGreenplumSource() (*GreenplumSource, bool) {
144359	return nil, false
144360}
144361
144362// AsGoogleBigQuerySource is the BasicCopySource implementation for RestSource.
144363func (rs RestSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
144364	return nil, false
144365}
144366
144367// AsEloquaSource is the BasicCopySource implementation for RestSource.
144368func (rs RestSource) AsEloquaSource() (*EloquaSource, bool) {
144369	return nil, false
144370}
144371
144372// AsDrillSource is the BasicCopySource implementation for RestSource.
144373func (rs RestSource) AsDrillSource() (*DrillSource, bool) {
144374	return nil, false
144375}
144376
144377// AsCouchbaseSource is the BasicCopySource implementation for RestSource.
144378func (rs RestSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
144379	return nil, false
144380}
144381
144382// AsConcurSource is the BasicCopySource implementation for RestSource.
144383func (rs RestSource) AsConcurSource() (*ConcurSource, bool) {
144384	return nil, false
144385}
144386
144387// AsAzurePostgreSQLSource is the BasicCopySource implementation for RestSource.
144388func (rs RestSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
144389	return nil, false
144390}
144391
144392// AsAmazonMWSSource is the BasicCopySource implementation for RestSource.
144393func (rs RestSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
144394	return nil, false
144395}
144396
144397// AsHTTPSource is the BasicCopySource implementation for RestSource.
144398func (rs RestSource) AsHTTPSource() (*HTTPSource, bool) {
144399	return nil, false
144400}
144401
144402// AsAzureBlobFSSource is the BasicCopySource implementation for RestSource.
144403func (rs RestSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) {
144404	return nil, false
144405}
144406
144407// AsAzureDataLakeStoreSource is the BasicCopySource implementation for RestSource.
144408func (rs RestSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
144409	return nil, false
144410}
144411
144412// AsOffice365Source is the BasicCopySource implementation for RestSource.
144413func (rs RestSource) AsOffice365Source() (*Office365Source, bool) {
144414	return nil, false
144415}
144416
144417// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for RestSource.
144418func (rs RestSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) {
144419	return nil, false
144420}
144421
144422// AsMongoDbV2Source is the BasicCopySource implementation for RestSource.
144423func (rs RestSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) {
144424	return nil, false
144425}
144426
144427// AsMongoDbSource is the BasicCopySource implementation for RestSource.
144428func (rs RestSource) AsMongoDbSource() (*MongoDbSource, bool) {
144429	return nil, false
144430}
144431
144432// AsCassandraSource is the BasicCopySource implementation for RestSource.
144433func (rs RestSource) AsCassandraSource() (*CassandraSource, bool) {
144434	return nil, false
144435}
144436
144437// AsWebSource is the BasicCopySource implementation for RestSource.
144438func (rs RestSource) AsWebSource() (*WebSource, bool) {
144439	return nil, false
144440}
144441
144442// AsTeradataSource is the BasicCopySource implementation for RestSource.
144443func (rs RestSource) AsTeradataSource() (*TeradataSource, bool) {
144444	return nil, false
144445}
144446
144447// AsOracleSource is the BasicCopySource implementation for RestSource.
144448func (rs RestSource) AsOracleSource() (*OracleSource, bool) {
144449	return nil, false
144450}
144451
144452// AsAzureDataExplorerSource is the BasicCopySource implementation for RestSource.
144453func (rs RestSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) {
144454	return nil, false
144455}
144456
144457// AsAzureMySQLSource is the BasicCopySource implementation for RestSource.
144458func (rs RestSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
144459	return nil, false
144460}
144461
144462// AsHdfsSource is the BasicCopySource implementation for RestSource.
144463func (rs RestSource) AsHdfsSource() (*HdfsSource, bool) {
144464	return nil, false
144465}
144466
144467// AsFileSystemSource is the BasicCopySource implementation for RestSource.
144468func (rs RestSource) AsFileSystemSource() (*FileSystemSource, bool) {
144469	return nil, false
144470}
144471
144472// AsSQLDWSource is the BasicCopySource implementation for RestSource.
144473func (rs RestSource) AsSQLDWSource() (*SQLDWSource, bool) {
144474	return nil, false
144475}
144476
144477// AsSQLMISource is the BasicCopySource implementation for RestSource.
144478func (rs RestSource) AsSQLMISource() (*SQLMISource, bool) {
144479	return nil, false
144480}
144481
144482// AsAzureSQLSource is the BasicCopySource implementation for RestSource.
144483func (rs RestSource) AsAzureSQLSource() (*AzureSQLSource, bool) {
144484	return nil, false
144485}
144486
144487// AsSQLServerSource is the BasicCopySource implementation for RestSource.
144488func (rs RestSource) AsSQLServerSource() (*SQLServerSource, bool) {
144489	return nil, false
144490}
144491
144492// AsSQLSource is the BasicCopySource implementation for RestSource.
144493func (rs RestSource) AsSQLSource() (*SQLSource, bool) {
144494	return nil, false
144495}
144496
144497// AsRestSource is the BasicCopySource implementation for RestSource.
144498func (rs RestSource) AsRestSource() (*RestSource, bool) {
144499	return &rs, true
144500}
144501
144502// AsSapTableSource is the BasicCopySource implementation for RestSource.
144503func (rs RestSource) AsSapTableSource() (*SapTableSource, bool) {
144504	return nil, false
144505}
144506
144507// AsSapOpenHubSource is the BasicCopySource implementation for RestSource.
144508func (rs RestSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) {
144509	return nil, false
144510}
144511
144512// AsSapHanaSource is the BasicCopySource implementation for RestSource.
144513func (rs RestSource) AsSapHanaSource() (*SapHanaSource, bool) {
144514	return nil, false
144515}
144516
144517// AsSapEccSource is the BasicCopySource implementation for RestSource.
144518func (rs RestSource) AsSapEccSource() (*SapEccSource, bool) {
144519	return nil, false
144520}
144521
144522// AsSapCloudForCustomerSource is the BasicCopySource implementation for RestSource.
144523func (rs RestSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
144524	return nil, false
144525}
144526
144527// AsSalesforceServiceCloudSource is the BasicCopySource implementation for RestSource.
144528func (rs RestSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) {
144529	return nil, false
144530}
144531
144532// AsSalesforceSource is the BasicCopySource implementation for RestSource.
144533func (rs RestSource) AsSalesforceSource() (*SalesforceSource, bool) {
144534	return nil, false
144535}
144536
144537// AsODataSource is the BasicCopySource implementation for RestSource.
144538func (rs RestSource) AsODataSource() (*ODataSource, bool) {
144539	return nil, false
144540}
144541
144542// AsSybaseSource is the BasicCopySource implementation for RestSource.
144543func (rs RestSource) AsSybaseSource() (*SybaseSource, bool) {
144544	return nil, false
144545}
144546
144547// AsPostgreSQLSource is the BasicCopySource implementation for RestSource.
144548func (rs RestSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) {
144549	return nil, false
144550}
144551
144552// AsMySQLSource is the BasicCopySource implementation for RestSource.
144553func (rs RestSource) AsMySQLSource() (*MySQLSource, bool) {
144554	return nil, false
144555}
144556
144557// AsOdbcSource is the BasicCopySource implementation for RestSource.
144558func (rs RestSource) AsOdbcSource() (*OdbcSource, bool) {
144559	return nil, false
144560}
144561
144562// AsDb2Source is the BasicCopySource implementation for RestSource.
144563func (rs RestSource) AsDb2Source() (*Db2Source, bool) {
144564	return nil, false
144565}
144566
144567// AsMicrosoftAccessSource is the BasicCopySource implementation for RestSource.
144568func (rs RestSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) {
144569	return nil, false
144570}
144571
144572// AsInformixSource is the BasicCopySource implementation for RestSource.
144573func (rs RestSource) AsInformixSource() (*InformixSource, bool) {
144574	return nil, false
144575}
144576
144577// AsRelationalSource is the BasicCopySource implementation for RestSource.
144578func (rs RestSource) AsRelationalSource() (*RelationalSource, bool) {
144579	return nil, false
144580}
144581
144582// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for RestSource.
144583func (rs RestSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) {
144584	return nil, false
144585}
144586
144587// AsDynamicsCrmSource is the BasicCopySource implementation for RestSource.
144588func (rs RestSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) {
144589	return nil, false
144590}
144591
144592// AsDynamicsSource is the BasicCopySource implementation for RestSource.
144593func (rs RestSource) AsDynamicsSource() (*DynamicsSource, bool) {
144594	return nil, false
144595}
144596
144597// AsDocumentDbCollectionSource is the BasicCopySource implementation for RestSource.
144598func (rs RestSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
144599	return nil, false
144600}
144601
144602// AsBlobSource is the BasicCopySource implementation for RestSource.
144603func (rs RestSource) AsBlobSource() (*BlobSource, bool) {
144604	return nil, false
144605}
144606
144607// AsAzureTableSource is the BasicCopySource implementation for RestSource.
144608func (rs RestSource) AsAzureTableSource() (*AzureTableSource, bool) {
144609	return nil, false
144610}
144611
144612// AsBinarySource is the BasicCopySource implementation for RestSource.
144613func (rs RestSource) AsBinarySource() (*BinarySource, bool) {
144614	return nil, false
144615}
144616
144617// AsDelimitedTextSource is the BasicCopySource implementation for RestSource.
144618func (rs RestSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) {
144619	return nil, false
144620}
144621
144622// AsParquetSource is the BasicCopySource implementation for RestSource.
144623func (rs RestSource) AsParquetSource() (*ParquetSource, bool) {
144624	return nil, false
144625}
144626
144627// AsCopySource is the BasicCopySource implementation for RestSource.
144628func (rs RestSource) AsCopySource() (*CopySource, bool) {
144629	return nil, false
144630}
144631
144632// AsBasicCopySource is the BasicCopySource implementation for RestSource.
144633func (rs RestSource) AsBasicCopySource() (BasicCopySource, bool) {
144634	return &rs, true
144635}
144636
144637// UnmarshalJSON is the custom unmarshaler for RestSource struct.
144638func (rs *RestSource) UnmarshalJSON(body []byte) error {
144639	var m map[string]*json.RawMessage
144640	err := json.Unmarshal(body, &m)
144641	if err != nil {
144642		return err
144643	}
144644	for k, v := range m {
144645		switch k {
144646		case "httpRequestTimeout":
144647			if v != nil {
144648				var HTTPRequestTimeout interface{}
144649				err = json.Unmarshal(*v, &HTTPRequestTimeout)
144650				if err != nil {
144651					return err
144652				}
144653				rs.HTTPRequestTimeout = HTTPRequestTimeout
144654			}
144655		case "requestInterval":
144656			if v != nil {
144657				var requestInterval interface{}
144658				err = json.Unmarshal(*v, &requestInterval)
144659				if err != nil {
144660					return err
144661				}
144662				rs.RequestInterval = requestInterval
144663			}
144664		default:
144665			if v != nil {
144666				var additionalProperties interface{}
144667				err = json.Unmarshal(*v, &additionalProperties)
144668				if err != nil {
144669					return err
144670				}
144671				if rs.AdditionalProperties == nil {
144672					rs.AdditionalProperties = make(map[string]interface{})
144673				}
144674				rs.AdditionalProperties[k] = additionalProperties
144675			}
144676		case "sourceRetryCount":
144677			if v != nil {
144678				var sourceRetryCount interface{}
144679				err = json.Unmarshal(*v, &sourceRetryCount)
144680				if err != nil {
144681					return err
144682				}
144683				rs.SourceRetryCount = sourceRetryCount
144684			}
144685		case "sourceRetryWait":
144686			if v != nil {
144687				var sourceRetryWait interface{}
144688				err = json.Unmarshal(*v, &sourceRetryWait)
144689				if err != nil {
144690					return err
144691				}
144692				rs.SourceRetryWait = sourceRetryWait
144693			}
144694		case "maxConcurrentConnections":
144695			if v != nil {
144696				var maxConcurrentConnections interface{}
144697				err = json.Unmarshal(*v, &maxConcurrentConnections)
144698				if err != nil {
144699					return err
144700				}
144701				rs.MaxConcurrentConnections = maxConcurrentConnections
144702			}
144703		case "type":
144704			if v != nil {
144705				var typeVar TypeBasicCopySource
144706				err = json.Unmarshal(*v, &typeVar)
144707				if err != nil {
144708					return err
144709				}
144710				rs.Type = typeVar
144711			}
144712		}
144713	}
144714
144715	return nil
144716}
144717
144718// RetryPolicy execution policy for an activity.
144719type RetryPolicy struct {
144720	// Count - Maximum ordinary retry attempts. Default is 0. Type: integer (or Expression with resultType integer), minimum: 0.
144721	Count interface{} `json:"count,omitempty"`
144722	// IntervalInSeconds - Interval between retries in seconds. Default is 30.
144723	IntervalInSeconds *int32 `json:"intervalInSeconds,omitempty"`
144724}
144725
144726// RunFilterParameters query parameters for listing runs.
144727type RunFilterParameters struct {
144728	// ContinuationToken - The continuation token for getting the next page of results. Null for first page.
144729	ContinuationToken *string `json:"continuationToken,omitempty"`
144730	// LastUpdatedAfter - The time at or after which the run event was updated in 'ISO 8601' format.
144731	LastUpdatedAfter *date.Time `json:"lastUpdatedAfter,omitempty"`
144732	// LastUpdatedBefore - The time at or before which the run event was updated in 'ISO 8601' format.
144733	LastUpdatedBefore *date.Time `json:"lastUpdatedBefore,omitempty"`
144734	// Filters - List of filters.
144735	Filters *[]RunQueryFilter `json:"filters,omitempty"`
144736	// OrderBy - List of OrderBy option.
144737	OrderBy *[]RunQueryOrderBy `json:"orderBy,omitempty"`
144738}
144739
144740// RunQueryFilter query filter option for listing runs.
144741type RunQueryFilter struct {
144742	// Operand - Parameter name to be used for filter. The allowed operands to query pipeline runs are PipelineName, RunStart, RunEnd and Status; to query activity runs are ActivityName, ActivityRunStart, ActivityRunEnd, ActivityType and Status, and to query trigger runs are TriggerName, TriggerRunTimestamp and Status. Possible values include: 'PipelineName', 'Status', 'RunStart', 'RunEnd', 'ActivityName', 'ActivityRunStart', 'ActivityRunEnd', 'ActivityType', 'TriggerName', 'TriggerRunTimestamp', 'RunGroupID', 'LatestOnly'
144743	Operand RunQueryFilterOperand `json:"operand,omitempty"`
144744	// Operator - Operator to be used for filter. Possible values include: 'Equals', 'NotEquals', 'In', 'NotIn'
144745	Operator RunQueryFilterOperator `json:"operator,omitempty"`
144746	// Values - List of filter values.
144747	Values *[]string `json:"values,omitempty"`
144748}
144749
144750// RunQueryOrderBy an object to provide order by options for listing runs.
144751type RunQueryOrderBy struct {
144752	// OrderBy - Parameter name to be used for order by. The allowed parameters to order by for pipeline runs are PipelineName, RunStart, RunEnd and Status; for activity runs are ActivityName, ActivityRunStart, ActivityRunEnd and Status; for trigger runs are TriggerName, TriggerRunTimestamp and Status. Possible values include: 'RunQueryOrderByFieldRunStart', 'RunQueryOrderByFieldRunEnd', 'RunQueryOrderByFieldPipelineName', 'RunQueryOrderByFieldStatus', 'RunQueryOrderByFieldActivityName', 'RunQueryOrderByFieldActivityRunStart', 'RunQueryOrderByFieldActivityRunEnd', 'RunQueryOrderByFieldTriggerName', 'RunQueryOrderByFieldTriggerRunTimestamp'
144753	OrderBy RunQueryOrderByField `json:"orderBy,omitempty"`
144754	// Order - Sorting order of the parameter. Possible values include: 'ASC', 'DESC'
144755	Order RunQueryOrder `json:"order,omitempty"`
144756}
144757
144758// SalesforceLinkedService linked service for Salesforce.
144759type SalesforceLinkedService struct {
144760	// SalesforceLinkedServiceTypeProperties - Salesforce linked service properties.
144761	*SalesforceLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
144762	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
144763	AdditionalProperties map[string]interface{} `json:""`
144764	// ConnectVia - The integration runtime reference.
144765	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
144766	// Description - Linked service description.
144767	Description *string `json:"description,omitempty"`
144768	// Parameters - Parameters for linked service.
144769	Parameters map[string]*ParameterSpecification `json:"parameters"`
144770	// Annotations - List of tags that can be used for describing the linked service.
144771	Annotations *[]interface{} `json:"annotations,omitempty"`
144772	// Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', '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', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage'
144773	Type TypeBasicLinkedService `json:"type,omitempty"`
144774}
144775
144776// MarshalJSON is the custom marshaler for SalesforceLinkedService.
144777func (sls SalesforceLinkedService) MarshalJSON() ([]byte, error) {
144778	sls.Type = TypeSalesforce
144779	objectMap := make(map[string]interface{})
144780	if sls.SalesforceLinkedServiceTypeProperties != nil {
144781		objectMap["typeProperties"] = sls.SalesforceLinkedServiceTypeProperties
144782	}
144783	if sls.ConnectVia != nil {
144784		objectMap["connectVia"] = sls.ConnectVia
144785	}
144786	if sls.Description != nil {
144787		objectMap["description"] = sls.Description
144788	}
144789	if sls.Parameters != nil {
144790		objectMap["parameters"] = sls.Parameters
144791	}
144792	if sls.Annotations != nil {
144793		objectMap["annotations"] = sls.Annotations
144794	}
144795	if sls.Type != "" {
144796		objectMap["type"] = sls.Type
144797	}
144798	for k, v := range sls.AdditionalProperties {
144799		objectMap[k] = v
144800	}
144801	return json.Marshal(objectMap)
144802}
144803
144804// AsAzureFunctionLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
144805func (sls SalesforceLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) {
144806	return nil, false
144807}
144808
144809// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
144810func (sls SalesforceLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) {
144811	return nil, false
144812}
144813
144814// AsSapTableLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
144815func (sls SalesforceLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) {
144816	return nil, false
144817}
144818
144819// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
144820func (sls SalesforceLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) {
144821	return nil, false
144822}
144823
144824// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
144825func (sls SalesforceLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) {
144826	return nil, false
144827}
144828
144829// AsDynamicsAXLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
144830func (sls SalesforceLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) {
144831	return nil, false
144832}
144833
144834// AsResponsysLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
144835func (sls SalesforceLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
144836	return nil, false
144837}
144838
144839// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
144840func (sls SalesforceLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
144841	return nil, false
144842}
144843
144844// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
144845func (sls SalesforceLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
144846	return nil, false
144847}
144848
144849// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
144850func (sls SalesforceLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
144851	return nil, false
144852}
144853
144854// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
144855func (sls SalesforceLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
144856	return nil, false
144857}
144858
144859// AsNetezzaLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
144860func (sls SalesforceLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
144861	return nil, false
144862}
144863
144864// AsVerticaLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
144865func (sls SalesforceLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
144866	return nil, false
144867}
144868
144869// AsZohoLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
144870func (sls SalesforceLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
144871	return nil, false
144872}
144873
144874// AsXeroLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
144875func (sls SalesforceLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
144876	return nil, false
144877}
144878
144879// AsSquareLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
144880func (sls SalesforceLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
144881	return nil, false
144882}
144883
144884// AsSparkLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
144885func (sls SalesforceLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
144886	return nil, false
144887}
144888
144889// AsShopifyLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
144890func (sls SalesforceLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
144891	return nil, false
144892}
144893
144894// AsServiceNowLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
144895func (sls SalesforceLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
144896	return nil, false
144897}
144898
144899// AsQuickBooksLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
144900func (sls SalesforceLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
144901	return nil, false
144902}
144903
144904// AsPrestoLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
144905func (sls SalesforceLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
144906	return nil, false
144907}
144908
144909// AsPhoenixLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
144910func (sls SalesforceLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
144911	return nil, false
144912}
144913
144914// AsPaypalLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
144915func (sls SalesforceLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
144916	return nil, false
144917}
144918
144919// AsMarketoLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
144920func (sls SalesforceLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
144921	return nil, false
144922}
144923
144924// AsMariaDBLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
144925func (sls SalesforceLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
144926	return nil, false
144927}
144928
144929// AsMagentoLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
144930func (sls SalesforceLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
144931	return nil, false
144932}
144933
144934// AsJiraLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
144935func (sls SalesforceLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
144936	return nil, false
144937}
144938
144939// AsImpalaLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
144940func (sls SalesforceLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
144941	return nil, false
144942}
144943
144944// AsHubspotLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
144945func (sls SalesforceLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
144946	return nil, false
144947}
144948
144949// AsHiveLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
144950func (sls SalesforceLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
144951	return nil, false
144952}
144953
144954// AsHBaseLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
144955func (sls SalesforceLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
144956	return nil, false
144957}
144958
144959// AsGreenplumLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
144960func (sls SalesforceLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
144961	return nil, false
144962}
144963
144964// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
144965func (sls SalesforceLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
144966	return nil, false
144967}
144968
144969// AsEloquaLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
144970func (sls SalesforceLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
144971	return nil, false
144972}
144973
144974// AsDrillLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
144975func (sls SalesforceLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
144976	return nil, false
144977}
144978
144979// AsCouchbaseLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
144980func (sls SalesforceLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
144981	return nil, false
144982}
144983
144984// AsConcurLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
144985func (sls SalesforceLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
144986	return nil, false
144987}
144988
144989// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
144990func (sls SalesforceLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
144991	return nil, false
144992}
144993
144994// AsAmazonMWSLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
144995func (sls SalesforceLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
144996	return nil, false
144997}
144998
144999// AsSapHanaLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
145000func (sls SalesforceLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
145001	return nil, false
145002}
145003
145004// AsSapBWLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
145005func (sls SalesforceLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
145006	return nil, false
145007}
145008
145009// AsSftpServerLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
145010func (sls SalesforceLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
145011	return nil, false
145012}
145013
145014// AsFtpServerLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
145015func (sls SalesforceLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
145016	return nil, false
145017}
145018
145019// AsHTTPLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
145020func (sls SalesforceLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
145021	return nil, false
145022}
145023
145024// AsAzureSearchLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
145025func (sls SalesforceLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
145026	return nil, false
145027}
145028
145029// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
145030func (sls SalesforceLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
145031	return nil, false
145032}
145033
145034// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
145035func (sls SalesforceLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
145036	return nil, false
145037}
145038
145039// AsAmazonS3LinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
145040func (sls SalesforceLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
145041	return nil, false
145042}
145043
145044// AsRestServiceLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
145045func (sls SalesforceLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) {
145046	return nil, false
145047}
145048
145049// AsSapOpenHubLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
145050func (sls SalesforceLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) {
145051	return nil, false
145052}
145053
145054// AsSapEccLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
145055func (sls SalesforceLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
145056	return nil, false
145057}
145058
145059// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
145060func (sls SalesforceLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
145061	return nil, false
145062}
145063
145064// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
145065func (sls SalesforceLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) {
145066	return nil, false
145067}
145068
145069// AsSalesforceLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
145070func (sls SalesforceLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
145071	return &sls, true
145072}
145073
145074// AsOffice365LinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
145075func (sls SalesforceLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) {
145076	return nil, false
145077}
145078
145079// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
145080func (sls SalesforceLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) {
145081	return nil, false
145082}
145083
145084// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
145085func (sls SalesforceLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
145086	return nil, false
145087}
145088
145089// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
145090func (sls SalesforceLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) {
145091	return nil, false
145092}
145093
145094// AsMongoDbV2LinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
145095func (sls SalesforceLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) {
145096	return nil, false
145097}
145098
145099// AsMongoDbLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
145100func (sls SalesforceLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
145101	return nil, false
145102}
145103
145104// AsCassandraLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
145105func (sls SalesforceLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
145106	return nil, false
145107}
145108
145109// AsWebLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
145110func (sls SalesforceLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
145111	return nil, false
145112}
145113
145114// AsODataLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
145115func (sls SalesforceLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
145116	return nil, false
145117}
145118
145119// AsHdfsLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
145120func (sls SalesforceLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
145121	return nil, false
145122}
145123
145124// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
145125func (sls SalesforceLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) {
145126	return nil, false
145127}
145128
145129// AsInformixLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
145130func (sls SalesforceLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) {
145131	return nil, false
145132}
145133
145134// AsOdbcLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
145135func (sls SalesforceLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
145136	return nil, false
145137}
145138
145139// AsAzureMLLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
145140func (sls SalesforceLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
145141	return nil, false
145142}
145143
145144// AsTeradataLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
145145func (sls SalesforceLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
145146	return nil, false
145147}
145148
145149// AsDb2LinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
145150func (sls SalesforceLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
145151	return nil, false
145152}
145153
145154// AsSybaseLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
145155func (sls SalesforceLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
145156	return nil, false
145157}
145158
145159// AsPostgreSQLLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
145160func (sls SalesforceLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
145161	return nil, false
145162}
145163
145164// AsMySQLLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
145165func (sls SalesforceLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
145166	return nil, false
145167}
145168
145169// AsAzureMySQLLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
145170func (sls SalesforceLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
145171	return nil, false
145172}
145173
145174// AsOracleLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
145175func (sls SalesforceLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
145176	return nil, false
145177}
145178
145179// AsFileServerLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
145180func (sls SalesforceLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
145181	return nil, false
145182}
145183
145184// AsHDInsightLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
145185func (sls SalesforceLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
145186	return nil, false
145187}
145188
145189// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
145190func (sls SalesforceLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) {
145191	return nil, false
145192}
145193
145194// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
145195func (sls SalesforceLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) {
145196	return nil, false
145197}
145198
145199// AsDynamicsLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
145200func (sls SalesforceLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
145201	return nil, false
145202}
145203
145204// AsCosmosDbLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
145205func (sls SalesforceLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
145206	return nil, false
145207}
145208
145209// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
145210func (sls SalesforceLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
145211	return nil, false
145212}
145213
145214// AsAzureBatchLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
145215func (sls SalesforceLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
145216	return nil, false
145217}
145218
145219// AsAzureSQLMILinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
145220func (sls SalesforceLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) {
145221	return nil, false
145222}
145223
145224// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
145225func (sls SalesforceLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
145226	return nil, false
145227}
145228
145229// AsSQLServerLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
145230func (sls SalesforceLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
145231	return nil, false
145232}
145233
145234// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
145235func (sls SalesforceLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
145236	return nil, false
145237}
145238
145239// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
145240func (sls SalesforceLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) {
145241	return nil, false
145242}
145243
145244// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
145245func (sls SalesforceLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) {
145246	return nil, false
145247}
145248
145249// AsAzureStorageLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
145250func (sls SalesforceLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
145251	return nil, false
145252}
145253
145254// AsLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
145255func (sls SalesforceLinkedService) AsLinkedService() (*LinkedService, bool) {
145256	return nil, false
145257}
145258
145259// AsBasicLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
145260func (sls SalesforceLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
145261	return &sls, true
145262}
145263
145264// UnmarshalJSON is the custom unmarshaler for SalesforceLinkedService struct.
145265func (sls *SalesforceLinkedService) UnmarshalJSON(body []byte) error {
145266	var m map[string]*json.RawMessage
145267	err := json.Unmarshal(body, &m)
145268	if err != nil {
145269		return err
145270	}
145271	for k, v := range m {
145272		switch k {
145273		case "typeProperties":
145274			if v != nil {
145275				var salesforceLinkedServiceTypeProperties SalesforceLinkedServiceTypeProperties
145276				err = json.Unmarshal(*v, &salesforceLinkedServiceTypeProperties)
145277				if err != nil {
145278					return err
145279				}
145280				sls.SalesforceLinkedServiceTypeProperties = &salesforceLinkedServiceTypeProperties
145281			}
145282		default:
145283			if v != nil {
145284				var additionalProperties interface{}
145285				err = json.Unmarshal(*v, &additionalProperties)
145286				if err != nil {
145287					return err
145288				}
145289				if sls.AdditionalProperties == nil {
145290					sls.AdditionalProperties = make(map[string]interface{})
145291				}
145292				sls.AdditionalProperties[k] = additionalProperties
145293			}
145294		case "connectVia":
145295			if v != nil {
145296				var connectVia IntegrationRuntimeReference
145297				err = json.Unmarshal(*v, &connectVia)
145298				if err != nil {
145299					return err
145300				}
145301				sls.ConnectVia = &connectVia
145302			}
145303		case "description":
145304			if v != nil {
145305				var description string
145306				err = json.Unmarshal(*v, &description)
145307				if err != nil {
145308					return err
145309				}
145310				sls.Description = &description
145311			}
145312		case "parameters":
145313			if v != nil {
145314				var parameters map[string]*ParameterSpecification
145315				err = json.Unmarshal(*v, &parameters)
145316				if err != nil {
145317					return err
145318				}
145319				sls.Parameters = parameters
145320			}
145321		case "annotations":
145322			if v != nil {
145323				var annotations []interface{}
145324				err = json.Unmarshal(*v, &annotations)
145325				if err != nil {
145326					return err
145327				}
145328				sls.Annotations = &annotations
145329			}
145330		case "type":
145331			if v != nil {
145332				var typeVar TypeBasicLinkedService
145333				err = json.Unmarshal(*v, &typeVar)
145334				if err != nil {
145335					return err
145336				}
145337				sls.Type = typeVar
145338			}
145339		}
145340	}
145341
145342	return nil
145343}
145344
145345// SalesforceLinkedServiceTypeProperties salesforce linked service properties.
145346type SalesforceLinkedServiceTypeProperties struct {
145347	// 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).
145348	EnvironmentURL interface{} `json:"environmentUrl,omitempty"`
145349	// Username - The username for Basic authentication of the Salesforce instance. Type: string (or Expression with resultType string).
145350	Username interface{} `json:"username,omitempty"`
145351	// Password - The password for Basic authentication of the Salesforce instance.
145352	Password BasicSecretBase `json:"password,omitempty"`
145353	// SecurityToken - The security token is required to remotely access Salesforce instance.
145354	SecurityToken BasicSecretBase `json:"securityToken,omitempty"`
145355	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
145356	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
145357}
145358
145359// UnmarshalJSON is the custom unmarshaler for SalesforceLinkedServiceTypeProperties struct.
145360func (slstp *SalesforceLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
145361	var m map[string]*json.RawMessage
145362	err := json.Unmarshal(body, &m)
145363	if err != nil {
145364		return err
145365	}
145366	for k, v := range m {
145367		switch k {
145368		case "environmentUrl":
145369			if v != nil {
145370				var environmentURL interface{}
145371				err = json.Unmarshal(*v, &environmentURL)
145372				if err != nil {
145373					return err
145374				}
145375				slstp.EnvironmentURL = environmentURL
145376			}
145377		case "username":
145378			if v != nil {
145379				var username interface{}
145380				err = json.Unmarshal(*v, &username)
145381				if err != nil {
145382					return err
145383				}
145384				slstp.Username = username
145385			}
145386		case "password":
145387			if v != nil {
145388				password, err := unmarshalBasicSecretBase(*v)
145389				if err != nil {
145390					return err
145391				}
145392				slstp.Password = password
145393			}
145394		case "securityToken":
145395			if v != nil {
145396				securityToken, err := unmarshalBasicSecretBase(*v)
145397				if err != nil {
145398					return err
145399				}
145400				slstp.SecurityToken = securityToken
145401			}
145402		case "encryptedCredential":
145403			if v != nil {
145404				var encryptedCredential interface{}
145405				err = json.Unmarshal(*v, &encryptedCredential)
145406				if err != nil {
145407					return err
145408				}
145409				slstp.EncryptedCredential = encryptedCredential
145410			}
145411		}
145412	}
145413
145414	return nil
145415}
145416
145417// SalesforceMarketingCloudLinkedService salesforce Marketing Cloud linked service.
145418type SalesforceMarketingCloudLinkedService struct {
145419	// SalesforceMarketingCloudLinkedServiceTypeProperties - Salesforce Marketing Cloud linked service properties.
145420	*SalesforceMarketingCloudLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
145421	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
145422	AdditionalProperties map[string]interface{} `json:""`
145423	// ConnectVia - The integration runtime reference.
145424	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
145425	// Description - Linked service description.
145426	Description *string `json:"description,omitempty"`
145427	// Parameters - Parameters for linked service.
145428	Parameters map[string]*ParameterSpecification `json:"parameters"`
145429	// Annotations - List of tags that can be used for describing the linked service.
145430	Annotations *[]interface{} `json:"annotations,omitempty"`
145431	// Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', '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', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage'
145432	Type TypeBasicLinkedService `json:"type,omitempty"`
145433}
145434
145435// MarshalJSON is the custom marshaler for SalesforceMarketingCloudLinkedService.
145436func (smcls SalesforceMarketingCloudLinkedService) MarshalJSON() ([]byte, error) {
145437	smcls.Type = TypeSalesforceMarketingCloud
145438	objectMap := make(map[string]interface{})
145439	if smcls.SalesforceMarketingCloudLinkedServiceTypeProperties != nil {
145440		objectMap["typeProperties"] = smcls.SalesforceMarketingCloudLinkedServiceTypeProperties
145441	}
145442	if smcls.ConnectVia != nil {
145443		objectMap["connectVia"] = smcls.ConnectVia
145444	}
145445	if smcls.Description != nil {
145446		objectMap["description"] = smcls.Description
145447	}
145448	if smcls.Parameters != nil {
145449		objectMap["parameters"] = smcls.Parameters
145450	}
145451	if smcls.Annotations != nil {
145452		objectMap["annotations"] = smcls.Annotations
145453	}
145454	if smcls.Type != "" {
145455		objectMap["type"] = smcls.Type
145456	}
145457	for k, v := range smcls.AdditionalProperties {
145458		objectMap[k] = v
145459	}
145460	return json.Marshal(objectMap)
145461}
145462
145463// AsAzureFunctionLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
145464func (smcls SalesforceMarketingCloudLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) {
145465	return nil, false
145466}
145467
145468// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
145469func (smcls SalesforceMarketingCloudLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) {
145470	return nil, false
145471}
145472
145473// AsSapTableLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
145474func (smcls SalesforceMarketingCloudLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) {
145475	return nil, false
145476}
145477
145478// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
145479func (smcls SalesforceMarketingCloudLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) {
145480	return nil, false
145481}
145482
145483// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
145484func (smcls SalesforceMarketingCloudLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) {
145485	return nil, false
145486}
145487
145488// AsDynamicsAXLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
145489func (smcls SalesforceMarketingCloudLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) {
145490	return nil, false
145491}
145492
145493// AsResponsysLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
145494func (smcls SalesforceMarketingCloudLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
145495	return nil, false
145496}
145497
145498// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
145499func (smcls SalesforceMarketingCloudLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
145500	return nil, false
145501}
145502
145503// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
145504func (smcls SalesforceMarketingCloudLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
145505	return nil, false
145506}
145507
145508// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
145509func (smcls SalesforceMarketingCloudLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
145510	return nil, false
145511}
145512
145513// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
145514func (smcls SalesforceMarketingCloudLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
145515	return &smcls, true
145516}
145517
145518// AsNetezzaLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
145519func (smcls SalesforceMarketingCloudLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
145520	return nil, false
145521}
145522
145523// AsVerticaLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
145524func (smcls SalesforceMarketingCloudLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
145525	return nil, false
145526}
145527
145528// AsZohoLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
145529func (smcls SalesforceMarketingCloudLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
145530	return nil, false
145531}
145532
145533// AsXeroLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
145534func (smcls SalesforceMarketingCloudLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
145535	return nil, false
145536}
145537
145538// AsSquareLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
145539func (smcls SalesforceMarketingCloudLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
145540	return nil, false
145541}
145542
145543// AsSparkLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
145544func (smcls SalesforceMarketingCloudLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
145545	return nil, false
145546}
145547
145548// AsShopifyLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
145549func (smcls SalesforceMarketingCloudLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
145550	return nil, false
145551}
145552
145553// AsServiceNowLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
145554func (smcls SalesforceMarketingCloudLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
145555	return nil, false
145556}
145557
145558// AsQuickBooksLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
145559func (smcls SalesforceMarketingCloudLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
145560	return nil, false
145561}
145562
145563// AsPrestoLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
145564func (smcls SalesforceMarketingCloudLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
145565	return nil, false
145566}
145567
145568// AsPhoenixLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
145569func (smcls SalesforceMarketingCloudLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
145570	return nil, false
145571}
145572
145573// AsPaypalLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
145574func (smcls SalesforceMarketingCloudLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
145575	return nil, false
145576}
145577
145578// AsMarketoLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
145579func (smcls SalesforceMarketingCloudLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
145580	return nil, false
145581}
145582
145583// AsMariaDBLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
145584func (smcls SalesforceMarketingCloudLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
145585	return nil, false
145586}
145587
145588// AsMagentoLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
145589func (smcls SalesforceMarketingCloudLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
145590	return nil, false
145591}
145592
145593// AsJiraLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
145594func (smcls SalesforceMarketingCloudLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
145595	return nil, false
145596}
145597
145598// AsImpalaLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
145599func (smcls SalesforceMarketingCloudLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
145600	return nil, false
145601}
145602
145603// AsHubspotLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
145604func (smcls SalesforceMarketingCloudLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
145605	return nil, false
145606}
145607
145608// AsHiveLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
145609func (smcls SalesforceMarketingCloudLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
145610	return nil, false
145611}
145612
145613// AsHBaseLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
145614func (smcls SalesforceMarketingCloudLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
145615	return nil, false
145616}
145617
145618// AsGreenplumLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
145619func (smcls SalesforceMarketingCloudLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
145620	return nil, false
145621}
145622
145623// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
145624func (smcls SalesforceMarketingCloudLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
145625	return nil, false
145626}
145627
145628// AsEloquaLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
145629func (smcls SalesforceMarketingCloudLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
145630	return nil, false
145631}
145632
145633// AsDrillLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
145634func (smcls SalesforceMarketingCloudLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
145635	return nil, false
145636}
145637
145638// AsCouchbaseLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
145639func (smcls SalesforceMarketingCloudLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
145640	return nil, false
145641}
145642
145643// AsConcurLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
145644func (smcls SalesforceMarketingCloudLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
145645	return nil, false
145646}
145647
145648// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
145649func (smcls SalesforceMarketingCloudLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
145650	return nil, false
145651}
145652
145653// AsAmazonMWSLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
145654func (smcls SalesforceMarketingCloudLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
145655	return nil, false
145656}
145657
145658// AsSapHanaLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
145659func (smcls SalesforceMarketingCloudLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
145660	return nil, false
145661}
145662
145663// AsSapBWLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
145664func (smcls SalesforceMarketingCloudLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
145665	return nil, false
145666}
145667
145668// AsSftpServerLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
145669func (smcls SalesforceMarketingCloudLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
145670	return nil, false
145671}
145672
145673// AsFtpServerLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
145674func (smcls SalesforceMarketingCloudLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
145675	return nil, false
145676}
145677
145678// AsHTTPLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
145679func (smcls SalesforceMarketingCloudLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
145680	return nil, false
145681}
145682
145683// AsAzureSearchLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
145684func (smcls SalesforceMarketingCloudLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
145685	return nil, false
145686}
145687
145688// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
145689func (smcls SalesforceMarketingCloudLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
145690	return nil, false
145691}
145692
145693// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
145694func (smcls SalesforceMarketingCloudLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
145695	return nil, false
145696}
145697
145698// AsAmazonS3LinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
145699func (smcls SalesforceMarketingCloudLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
145700	return nil, false
145701}
145702
145703// AsRestServiceLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
145704func (smcls SalesforceMarketingCloudLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) {
145705	return nil, false
145706}
145707
145708// AsSapOpenHubLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
145709func (smcls SalesforceMarketingCloudLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) {
145710	return nil, false
145711}
145712
145713// AsSapEccLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
145714func (smcls SalesforceMarketingCloudLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
145715	return nil, false
145716}
145717
145718// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
145719func (smcls SalesforceMarketingCloudLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
145720	return nil, false
145721}
145722
145723// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
145724func (smcls SalesforceMarketingCloudLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) {
145725	return nil, false
145726}
145727
145728// AsSalesforceLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
145729func (smcls SalesforceMarketingCloudLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
145730	return nil, false
145731}
145732
145733// AsOffice365LinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
145734func (smcls SalesforceMarketingCloudLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) {
145735	return nil, false
145736}
145737
145738// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
145739func (smcls SalesforceMarketingCloudLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) {
145740	return nil, false
145741}
145742
145743// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
145744func (smcls SalesforceMarketingCloudLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
145745	return nil, false
145746}
145747
145748// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
145749func (smcls SalesforceMarketingCloudLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) {
145750	return nil, false
145751}
145752
145753// AsMongoDbV2LinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
145754func (smcls SalesforceMarketingCloudLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) {
145755	return nil, false
145756}
145757
145758// AsMongoDbLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
145759func (smcls SalesforceMarketingCloudLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
145760	return nil, false
145761}
145762
145763// AsCassandraLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
145764func (smcls SalesforceMarketingCloudLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
145765	return nil, false
145766}
145767
145768// AsWebLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
145769func (smcls SalesforceMarketingCloudLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
145770	return nil, false
145771}
145772
145773// AsODataLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
145774func (smcls SalesforceMarketingCloudLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
145775	return nil, false
145776}
145777
145778// AsHdfsLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
145779func (smcls SalesforceMarketingCloudLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
145780	return nil, false
145781}
145782
145783// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
145784func (smcls SalesforceMarketingCloudLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) {
145785	return nil, false
145786}
145787
145788// AsInformixLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
145789func (smcls SalesforceMarketingCloudLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) {
145790	return nil, false
145791}
145792
145793// AsOdbcLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
145794func (smcls SalesforceMarketingCloudLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
145795	return nil, false
145796}
145797
145798// AsAzureMLLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
145799func (smcls SalesforceMarketingCloudLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
145800	return nil, false
145801}
145802
145803// AsTeradataLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
145804func (smcls SalesforceMarketingCloudLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
145805	return nil, false
145806}
145807
145808// AsDb2LinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
145809func (smcls SalesforceMarketingCloudLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
145810	return nil, false
145811}
145812
145813// AsSybaseLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
145814func (smcls SalesforceMarketingCloudLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
145815	return nil, false
145816}
145817
145818// AsPostgreSQLLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
145819func (smcls SalesforceMarketingCloudLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
145820	return nil, false
145821}
145822
145823// AsMySQLLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
145824func (smcls SalesforceMarketingCloudLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
145825	return nil, false
145826}
145827
145828// AsAzureMySQLLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
145829func (smcls SalesforceMarketingCloudLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
145830	return nil, false
145831}
145832
145833// AsOracleLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
145834func (smcls SalesforceMarketingCloudLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
145835	return nil, false
145836}
145837
145838// AsFileServerLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
145839func (smcls SalesforceMarketingCloudLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
145840	return nil, false
145841}
145842
145843// AsHDInsightLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
145844func (smcls SalesforceMarketingCloudLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
145845	return nil, false
145846}
145847
145848// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
145849func (smcls SalesforceMarketingCloudLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) {
145850	return nil, false
145851}
145852
145853// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
145854func (smcls SalesforceMarketingCloudLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) {
145855	return nil, false
145856}
145857
145858// AsDynamicsLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
145859func (smcls SalesforceMarketingCloudLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
145860	return nil, false
145861}
145862
145863// AsCosmosDbLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
145864func (smcls SalesforceMarketingCloudLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
145865	return nil, false
145866}
145867
145868// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
145869func (smcls SalesforceMarketingCloudLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
145870	return nil, false
145871}
145872
145873// AsAzureBatchLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
145874func (smcls SalesforceMarketingCloudLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
145875	return nil, false
145876}
145877
145878// AsAzureSQLMILinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
145879func (smcls SalesforceMarketingCloudLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) {
145880	return nil, false
145881}
145882
145883// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
145884func (smcls SalesforceMarketingCloudLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
145885	return nil, false
145886}
145887
145888// AsSQLServerLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
145889func (smcls SalesforceMarketingCloudLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
145890	return nil, false
145891}
145892
145893// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
145894func (smcls SalesforceMarketingCloudLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
145895	return nil, false
145896}
145897
145898// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
145899func (smcls SalesforceMarketingCloudLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) {
145900	return nil, false
145901}
145902
145903// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
145904func (smcls SalesforceMarketingCloudLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) {
145905	return nil, false
145906}
145907
145908// AsAzureStorageLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
145909func (smcls SalesforceMarketingCloudLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
145910	return nil, false
145911}
145912
145913// AsLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
145914func (smcls SalesforceMarketingCloudLinkedService) AsLinkedService() (*LinkedService, bool) {
145915	return nil, false
145916}
145917
145918// AsBasicLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
145919func (smcls SalesforceMarketingCloudLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
145920	return &smcls, true
145921}
145922
145923// UnmarshalJSON is the custom unmarshaler for SalesforceMarketingCloudLinkedService struct.
145924func (smcls *SalesforceMarketingCloudLinkedService) UnmarshalJSON(body []byte) error {
145925	var m map[string]*json.RawMessage
145926	err := json.Unmarshal(body, &m)
145927	if err != nil {
145928		return err
145929	}
145930	for k, v := range m {
145931		switch k {
145932		case "typeProperties":
145933			if v != nil {
145934				var salesforceMarketingCloudLinkedServiceTypeProperties SalesforceMarketingCloudLinkedServiceTypeProperties
145935				err = json.Unmarshal(*v, &salesforceMarketingCloudLinkedServiceTypeProperties)
145936				if err != nil {
145937					return err
145938				}
145939				smcls.SalesforceMarketingCloudLinkedServiceTypeProperties = &salesforceMarketingCloudLinkedServiceTypeProperties
145940			}
145941		default:
145942			if v != nil {
145943				var additionalProperties interface{}
145944				err = json.Unmarshal(*v, &additionalProperties)
145945				if err != nil {
145946					return err
145947				}
145948				if smcls.AdditionalProperties == nil {
145949					smcls.AdditionalProperties = make(map[string]interface{})
145950				}
145951				smcls.AdditionalProperties[k] = additionalProperties
145952			}
145953		case "connectVia":
145954			if v != nil {
145955				var connectVia IntegrationRuntimeReference
145956				err = json.Unmarshal(*v, &connectVia)
145957				if err != nil {
145958					return err
145959				}
145960				smcls.ConnectVia = &connectVia
145961			}
145962		case "description":
145963			if v != nil {
145964				var description string
145965				err = json.Unmarshal(*v, &description)
145966				if err != nil {
145967					return err
145968				}
145969				smcls.Description = &description
145970			}
145971		case "parameters":
145972			if v != nil {
145973				var parameters map[string]*ParameterSpecification
145974				err = json.Unmarshal(*v, &parameters)
145975				if err != nil {
145976					return err
145977				}
145978				smcls.Parameters = parameters
145979			}
145980		case "annotations":
145981			if v != nil {
145982				var annotations []interface{}
145983				err = json.Unmarshal(*v, &annotations)
145984				if err != nil {
145985					return err
145986				}
145987				smcls.Annotations = &annotations
145988			}
145989		case "type":
145990			if v != nil {
145991				var typeVar TypeBasicLinkedService
145992				err = json.Unmarshal(*v, &typeVar)
145993				if err != nil {
145994					return err
145995				}
145996				smcls.Type = typeVar
145997			}
145998		}
145999	}
146000
146001	return nil
146002}
146003
146004// SalesforceMarketingCloudLinkedServiceTypeProperties salesforce Marketing Cloud linked service
146005// properties.
146006type SalesforceMarketingCloudLinkedServiceTypeProperties struct {
146007	// ClientID - The client ID associated with the Salesforce Marketing Cloud application. Type: string (or Expression with resultType string).
146008	ClientID interface{} `json:"clientId,omitempty"`
146009	// ClientSecret - The client secret associated with the Salesforce Marketing Cloud application. Type: string (or Expression with resultType string).
146010	ClientSecret BasicSecretBase `json:"clientSecret,omitempty"`
146011	// UseEncryptedEndpoints - Specifies whether the data source endpoints are encrypted using HTTPS. The default value is true. Type: boolean (or Expression with resultType boolean).
146012	UseEncryptedEndpoints interface{} `json:"useEncryptedEndpoints,omitempty"`
146013	// 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).
146014	UseHostVerification interface{} `json:"useHostVerification,omitempty"`
146015	// 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).
146016	UsePeerVerification interface{} `json:"usePeerVerification,omitempty"`
146017	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
146018	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
146019}
146020
146021// UnmarshalJSON is the custom unmarshaler for SalesforceMarketingCloudLinkedServiceTypeProperties struct.
146022func (smclstp *SalesforceMarketingCloudLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
146023	var m map[string]*json.RawMessage
146024	err := json.Unmarshal(body, &m)
146025	if err != nil {
146026		return err
146027	}
146028	for k, v := range m {
146029		switch k {
146030		case "clientId":
146031			if v != nil {
146032				var clientID interface{}
146033				err = json.Unmarshal(*v, &clientID)
146034				if err != nil {
146035					return err
146036				}
146037				smclstp.ClientID = clientID
146038			}
146039		case "clientSecret":
146040			if v != nil {
146041				clientSecret, err := unmarshalBasicSecretBase(*v)
146042				if err != nil {
146043					return err
146044				}
146045				smclstp.ClientSecret = clientSecret
146046			}
146047		case "useEncryptedEndpoints":
146048			if v != nil {
146049				var useEncryptedEndpoints interface{}
146050				err = json.Unmarshal(*v, &useEncryptedEndpoints)
146051				if err != nil {
146052					return err
146053				}
146054				smclstp.UseEncryptedEndpoints = useEncryptedEndpoints
146055			}
146056		case "useHostVerification":
146057			if v != nil {
146058				var useHostVerification interface{}
146059				err = json.Unmarshal(*v, &useHostVerification)
146060				if err != nil {
146061					return err
146062				}
146063				smclstp.UseHostVerification = useHostVerification
146064			}
146065		case "usePeerVerification":
146066			if v != nil {
146067				var usePeerVerification interface{}
146068				err = json.Unmarshal(*v, &usePeerVerification)
146069				if err != nil {
146070					return err
146071				}
146072				smclstp.UsePeerVerification = usePeerVerification
146073			}
146074		case "encryptedCredential":
146075			if v != nil {
146076				var encryptedCredential interface{}
146077				err = json.Unmarshal(*v, &encryptedCredential)
146078				if err != nil {
146079					return err
146080				}
146081				smclstp.EncryptedCredential = encryptedCredential
146082			}
146083		}
146084	}
146085
146086	return nil
146087}
146088
146089// SalesforceMarketingCloudObjectDataset salesforce Marketing Cloud dataset.
146090type SalesforceMarketingCloudObjectDataset struct {
146091	// GenericDatasetTypeProperties - Properties specific to this dataset type.
146092	*GenericDatasetTypeProperties `json:"typeProperties,omitempty"`
146093	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
146094	AdditionalProperties map[string]interface{} `json:""`
146095	// Description - Dataset description.
146096	Description *string `json:"description,omitempty"`
146097	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
146098	Structure interface{} `json:"structure,omitempty"`
146099	// Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement.
146100	Schema interface{} `json:"schema,omitempty"`
146101	// LinkedServiceName - Linked service reference.
146102	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
146103	// Parameters - Parameters for dataset.
146104	Parameters map[string]*ParameterSpecification `json:"parameters"`
146105	// Annotations - List of tags that can be used for describing the Dataset.
146106	Annotations *[]interface{} `json:"annotations,omitempty"`
146107	// Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level.
146108	Folder *DatasetFolder `json:"folder,omitempty"`
146109	// Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', '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', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeDelimitedText', 'TypeParquet', 'TypeAmazonS3Object'
146110	Type TypeBasicDataset `json:"type,omitempty"`
146111}
146112
146113// MarshalJSON is the custom marshaler for SalesforceMarketingCloudObjectDataset.
146114func (smcod SalesforceMarketingCloudObjectDataset) MarshalJSON() ([]byte, error) {
146115	smcod.Type = TypeSalesforceMarketingCloudObject
146116	objectMap := make(map[string]interface{})
146117	if smcod.GenericDatasetTypeProperties != nil {
146118		objectMap["typeProperties"] = smcod.GenericDatasetTypeProperties
146119	}
146120	if smcod.Description != nil {
146121		objectMap["description"] = smcod.Description
146122	}
146123	if smcod.Structure != nil {
146124		objectMap["structure"] = smcod.Structure
146125	}
146126	if smcod.Schema != nil {
146127		objectMap["schema"] = smcod.Schema
146128	}
146129	if smcod.LinkedServiceName != nil {
146130		objectMap["linkedServiceName"] = smcod.LinkedServiceName
146131	}
146132	if smcod.Parameters != nil {
146133		objectMap["parameters"] = smcod.Parameters
146134	}
146135	if smcod.Annotations != nil {
146136		objectMap["annotations"] = smcod.Annotations
146137	}
146138	if smcod.Folder != nil {
146139		objectMap["folder"] = smcod.Folder
146140	}
146141	if smcod.Type != "" {
146142		objectMap["type"] = smcod.Type
146143	}
146144	for k, v := range smcod.AdditionalProperties {
146145		objectMap[k] = v
146146	}
146147	return json.Marshal(objectMap)
146148}
146149
146150// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
146151func (smcod SalesforceMarketingCloudObjectDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) {
146152	return nil, false
146153}
146154
146155// AsAzureDataExplorerTableDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
146156func (smcod SalesforceMarketingCloudObjectDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) {
146157	return nil, false
146158}
146159
146160// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
146161func (smcod SalesforceMarketingCloudObjectDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) {
146162	return nil, false
146163}
146164
146165// AsDynamicsAXResourceDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
146166func (smcod SalesforceMarketingCloudObjectDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) {
146167	return nil, false
146168}
146169
146170// AsResponsysObjectDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
146171func (smcod SalesforceMarketingCloudObjectDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
146172	return nil, false
146173}
146174
146175// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
146176func (smcod SalesforceMarketingCloudObjectDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
146177	return &smcod, true
146178}
146179
146180// AsVerticaTableDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
146181func (smcod SalesforceMarketingCloudObjectDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
146182	return nil, false
146183}
146184
146185// AsNetezzaTableDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
146186func (smcod SalesforceMarketingCloudObjectDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
146187	return nil, false
146188}
146189
146190// AsZohoObjectDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
146191func (smcod SalesforceMarketingCloudObjectDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
146192	return nil, false
146193}
146194
146195// AsXeroObjectDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
146196func (smcod SalesforceMarketingCloudObjectDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
146197	return nil, false
146198}
146199
146200// AsSquareObjectDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
146201func (smcod SalesforceMarketingCloudObjectDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
146202	return nil, false
146203}
146204
146205// AsSparkObjectDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
146206func (smcod SalesforceMarketingCloudObjectDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
146207	return nil, false
146208}
146209
146210// AsShopifyObjectDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
146211func (smcod SalesforceMarketingCloudObjectDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
146212	return nil, false
146213}
146214
146215// AsServiceNowObjectDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
146216func (smcod SalesforceMarketingCloudObjectDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
146217	return nil, false
146218}
146219
146220// AsQuickBooksObjectDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
146221func (smcod SalesforceMarketingCloudObjectDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
146222	return nil, false
146223}
146224
146225// AsPrestoObjectDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
146226func (smcod SalesforceMarketingCloudObjectDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
146227	return nil, false
146228}
146229
146230// AsPhoenixObjectDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
146231func (smcod SalesforceMarketingCloudObjectDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
146232	return nil, false
146233}
146234
146235// AsPaypalObjectDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
146236func (smcod SalesforceMarketingCloudObjectDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
146237	return nil, false
146238}
146239
146240// AsMarketoObjectDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
146241func (smcod SalesforceMarketingCloudObjectDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
146242	return nil, false
146243}
146244
146245// AsMariaDBTableDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
146246func (smcod SalesforceMarketingCloudObjectDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
146247	return nil, false
146248}
146249
146250// AsMagentoObjectDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
146251func (smcod SalesforceMarketingCloudObjectDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
146252	return nil, false
146253}
146254
146255// AsJiraObjectDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
146256func (smcod SalesforceMarketingCloudObjectDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
146257	return nil, false
146258}
146259
146260// AsImpalaObjectDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
146261func (smcod SalesforceMarketingCloudObjectDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
146262	return nil, false
146263}
146264
146265// AsHubspotObjectDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
146266func (smcod SalesforceMarketingCloudObjectDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
146267	return nil, false
146268}
146269
146270// AsHiveObjectDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
146271func (smcod SalesforceMarketingCloudObjectDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
146272	return nil, false
146273}
146274
146275// AsHBaseObjectDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
146276func (smcod SalesforceMarketingCloudObjectDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
146277	return nil, false
146278}
146279
146280// AsGreenplumTableDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
146281func (smcod SalesforceMarketingCloudObjectDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
146282	return nil, false
146283}
146284
146285// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
146286func (smcod SalesforceMarketingCloudObjectDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
146287	return nil, false
146288}
146289
146290// AsEloquaObjectDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
146291func (smcod SalesforceMarketingCloudObjectDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
146292	return nil, false
146293}
146294
146295// AsDrillTableDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
146296func (smcod SalesforceMarketingCloudObjectDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
146297	return nil, false
146298}
146299
146300// AsCouchbaseTableDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
146301func (smcod SalesforceMarketingCloudObjectDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
146302	return nil, false
146303}
146304
146305// AsConcurObjectDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
146306func (smcod SalesforceMarketingCloudObjectDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
146307	return nil, false
146308}
146309
146310// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
146311func (smcod SalesforceMarketingCloudObjectDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
146312	return nil, false
146313}
146314
146315// AsAmazonMWSObjectDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
146316func (smcod SalesforceMarketingCloudObjectDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
146317	return nil, false
146318}
146319
146320// AsHTTPDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
146321func (smcod SalesforceMarketingCloudObjectDataset) AsHTTPDataset() (*HTTPDataset, bool) {
146322	return nil, false
146323}
146324
146325// AsAzureSearchIndexDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
146326func (smcod SalesforceMarketingCloudObjectDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
146327	return nil, false
146328}
146329
146330// AsWebTableDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
146331func (smcod SalesforceMarketingCloudObjectDataset) AsWebTableDataset() (*WebTableDataset, bool) {
146332	return nil, false
146333}
146334
146335// AsSapTableResourceDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
146336func (smcod SalesforceMarketingCloudObjectDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) {
146337	return nil, false
146338}
146339
146340// AsRestResourceDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
146341func (smcod SalesforceMarketingCloudObjectDataset) AsRestResourceDataset() (*RestResourceDataset, bool) {
146342	return nil, false
146343}
146344
146345// AsSQLServerTableDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
146346func (smcod SalesforceMarketingCloudObjectDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
146347	return nil, false
146348}
146349
146350// AsSapOpenHubTableDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
146351func (smcod SalesforceMarketingCloudObjectDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) {
146352	return nil, false
146353}
146354
146355// AsSapHanaTableDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
146356func (smcod SalesforceMarketingCloudObjectDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) {
146357	return nil, false
146358}
146359
146360// AsSapEccResourceDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
146361func (smcod SalesforceMarketingCloudObjectDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
146362	return nil, false
146363}
146364
146365// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
146366func (smcod SalesforceMarketingCloudObjectDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
146367	return nil, false
146368}
146369
146370// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
146371func (smcod SalesforceMarketingCloudObjectDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) {
146372	return nil, false
146373}
146374
146375// AsSalesforceObjectDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
146376func (smcod SalesforceMarketingCloudObjectDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
146377	return nil, false
146378}
146379
146380// AsMicrosoftAccessTableDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
146381func (smcod SalesforceMarketingCloudObjectDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) {
146382	return nil, false
146383}
146384
146385// AsPostgreSQLTableDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
146386func (smcod SalesforceMarketingCloudObjectDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) {
146387	return nil, false
146388}
146389
146390// AsMySQLTableDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
146391func (smcod SalesforceMarketingCloudObjectDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) {
146392	return nil, false
146393}
146394
146395// AsOdbcTableDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
146396func (smcod SalesforceMarketingCloudObjectDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) {
146397	return nil, false
146398}
146399
146400// AsInformixTableDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
146401func (smcod SalesforceMarketingCloudObjectDataset) AsInformixTableDataset() (*InformixTableDataset, bool) {
146402	return nil, false
146403}
146404
146405// AsRelationalTableDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
146406func (smcod SalesforceMarketingCloudObjectDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
146407	return nil, false
146408}
146409
146410// AsAzureMySQLTableDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
146411func (smcod SalesforceMarketingCloudObjectDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
146412	return nil, false
146413}
146414
146415// AsTeradataTableDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
146416func (smcod SalesforceMarketingCloudObjectDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) {
146417	return nil, false
146418}
146419
146420// AsOracleTableDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
146421func (smcod SalesforceMarketingCloudObjectDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
146422	return nil, false
146423}
146424
146425// AsODataResourceDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
146426func (smcod SalesforceMarketingCloudObjectDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
146427	return nil, false
146428}
146429
146430// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
146431func (smcod SalesforceMarketingCloudObjectDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) {
146432	return nil, false
146433}
146434
146435// AsMongoDbV2CollectionDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
146436func (smcod SalesforceMarketingCloudObjectDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) {
146437	return nil, false
146438}
146439
146440// AsMongoDbCollectionDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
146441func (smcod SalesforceMarketingCloudObjectDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
146442	return nil, false
146443}
146444
146445// AsFileShareDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
146446func (smcod SalesforceMarketingCloudObjectDataset) AsFileShareDataset() (*FileShareDataset, bool) {
146447	return nil, false
146448}
146449
146450// AsOffice365Dataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
146451func (smcod SalesforceMarketingCloudObjectDataset) AsOffice365Dataset() (*Office365Dataset, bool) {
146452	return nil, false
146453}
146454
146455// AsAzureBlobFSDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
146456func (smcod SalesforceMarketingCloudObjectDataset) AsAzureBlobFSDataset() (*AzureBlobFSDataset, bool) {
146457	return nil, false
146458}
146459
146460// AsAzureDataLakeStoreDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
146461func (smcod SalesforceMarketingCloudObjectDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) {
146462	return nil, false
146463}
146464
146465// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
146466func (smcod SalesforceMarketingCloudObjectDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) {
146467	return nil, false
146468}
146469
146470// AsDynamicsCrmEntityDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
146471func (smcod SalesforceMarketingCloudObjectDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) {
146472	return nil, false
146473}
146474
146475// AsDynamicsEntityDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
146476func (smcod SalesforceMarketingCloudObjectDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
146477	return nil, false
146478}
146479
146480// AsDocumentDbCollectionDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
146481func (smcod SalesforceMarketingCloudObjectDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
146482	return nil, false
146483}
146484
146485// AsCustomDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
146486func (smcod SalesforceMarketingCloudObjectDataset) AsCustomDataset() (*CustomDataset, bool) {
146487	return nil, false
146488}
146489
146490// AsCassandraTableDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
146491func (smcod SalesforceMarketingCloudObjectDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
146492	return nil, false
146493}
146494
146495// AsAzureSQLDWTableDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
146496func (smcod SalesforceMarketingCloudObjectDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
146497	return nil, false
146498}
146499
146500// AsAzureSQLMITableDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
146501func (smcod SalesforceMarketingCloudObjectDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) {
146502	return nil, false
146503}
146504
146505// AsAzureSQLTableDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
146506func (smcod SalesforceMarketingCloudObjectDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
146507	return nil, false
146508}
146509
146510// AsAzureTableDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
146511func (smcod SalesforceMarketingCloudObjectDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
146512	return nil, false
146513}
146514
146515// AsAzureBlobDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
146516func (smcod SalesforceMarketingCloudObjectDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) {
146517	return nil, false
146518}
146519
146520// AsBinaryDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
146521func (smcod SalesforceMarketingCloudObjectDataset) AsBinaryDataset() (*BinaryDataset, bool) {
146522	return nil, false
146523}
146524
146525// AsDelimitedTextDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
146526func (smcod SalesforceMarketingCloudObjectDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) {
146527	return nil, false
146528}
146529
146530// AsParquetDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
146531func (smcod SalesforceMarketingCloudObjectDataset) AsParquetDataset() (*ParquetDataset, bool) {
146532	return nil, false
146533}
146534
146535// AsAmazonS3Dataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
146536func (smcod SalesforceMarketingCloudObjectDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) {
146537	return nil, false
146538}
146539
146540// AsDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
146541func (smcod SalesforceMarketingCloudObjectDataset) AsDataset() (*Dataset, bool) {
146542	return nil, false
146543}
146544
146545// AsBasicDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
146546func (smcod SalesforceMarketingCloudObjectDataset) AsBasicDataset() (BasicDataset, bool) {
146547	return &smcod, true
146548}
146549
146550// UnmarshalJSON is the custom unmarshaler for SalesforceMarketingCloudObjectDataset struct.
146551func (smcod *SalesforceMarketingCloudObjectDataset) UnmarshalJSON(body []byte) error {
146552	var m map[string]*json.RawMessage
146553	err := json.Unmarshal(body, &m)
146554	if err != nil {
146555		return err
146556	}
146557	for k, v := range m {
146558		switch k {
146559		case "typeProperties":
146560			if v != nil {
146561				var genericDatasetTypeProperties GenericDatasetTypeProperties
146562				err = json.Unmarshal(*v, &genericDatasetTypeProperties)
146563				if err != nil {
146564					return err
146565				}
146566				smcod.GenericDatasetTypeProperties = &genericDatasetTypeProperties
146567			}
146568		default:
146569			if v != nil {
146570				var additionalProperties interface{}
146571				err = json.Unmarshal(*v, &additionalProperties)
146572				if err != nil {
146573					return err
146574				}
146575				if smcod.AdditionalProperties == nil {
146576					smcod.AdditionalProperties = make(map[string]interface{})
146577				}
146578				smcod.AdditionalProperties[k] = additionalProperties
146579			}
146580		case "description":
146581			if v != nil {
146582				var description string
146583				err = json.Unmarshal(*v, &description)
146584				if err != nil {
146585					return err
146586				}
146587				smcod.Description = &description
146588			}
146589		case "structure":
146590			if v != nil {
146591				var structure interface{}
146592				err = json.Unmarshal(*v, &structure)
146593				if err != nil {
146594					return err
146595				}
146596				smcod.Structure = structure
146597			}
146598		case "schema":
146599			if v != nil {
146600				var schema interface{}
146601				err = json.Unmarshal(*v, &schema)
146602				if err != nil {
146603					return err
146604				}
146605				smcod.Schema = schema
146606			}
146607		case "linkedServiceName":
146608			if v != nil {
146609				var linkedServiceName LinkedServiceReference
146610				err = json.Unmarshal(*v, &linkedServiceName)
146611				if err != nil {
146612					return err
146613				}
146614				smcod.LinkedServiceName = &linkedServiceName
146615			}
146616		case "parameters":
146617			if v != nil {
146618				var parameters map[string]*ParameterSpecification
146619				err = json.Unmarshal(*v, &parameters)
146620				if err != nil {
146621					return err
146622				}
146623				smcod.Parameters = parameters
146624			}
146625		case "annotations":
146626			if v != nil {
146627				var annotations []interface{}
146628				err = json.Unmarshal(*v, &annotations)
146629				if err != nil {
146630					return err
146631				}
146632				smcod.Annotations = &annotations
146633			}
146634		case "folder":
146635			if v != nil {
146636				var folder DatasetFolder
146637				err = json.Unmarshal(*v, &folder)
146638				if err != nil {
146639					return err
146640				}
146641				smcod.Folder = &folder
146642			}
146643		case "type":
146644			if v != nil {
146645				var typeVar TypeBasicDataset
146646				err = json.Unmarshal(*v, &typeVar)
146647				if err != nil {
146648					return err
146649				}
146650				smcod.Type = typeVar
146651			}
146652		}
146653	}
146654
146655	return nil
146656}
146657
146658// SalesforceMarketingCloudSource a copy activity Salesforce Marketing Cloud source.
146659type SalesforceMarketingCloudSource struct {
146660	// Query - A query to retrieve data from source. Type: string (or Expression with resultType string).
146661	Query interface{} `json:"query,omitempty"`
146662	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
146663	AdditionalProperties map[string]interface{} `json:""`
146664	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
146665	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
146666	// 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])).
146667	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
146668	// MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer).
146669	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
146670	// Type - Possible values include: 'TypeCopySource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', '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', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeCassandraSource', 'TypeWebSource', 'TypeTeradataSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeAzureMySQLSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeRestSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceServiceCloudSource', 'TypeSalesforceSource', 'TypeODataSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeMicrosoftAccessSource', 'TypeInformixSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAzureTableSource', 'TypeBinarySource', 'TypeDelimitedTextSource', 'TypeParquetSource'
146671	Type TypeBasicCopySource `json:"type,omitempty"`
146672}
146673
146674// MarshalJSON is the custom marshaler for SalesforceMarketingCloudSource.
146675func (smcs SalesforceMarketingCloudSource) MarshalJSON() ([]byte, error) {
146676	smcs.Type = TypeSalesforceMarketingCloudSource
146677	objectMap := make(map[string]interface{})
146678	if smcs.Query != nil {
146679		objectMap["query"] = smcs.Query
146680	}
146681	if smcs.SourceRetryCount != nil {
146682		objectMap["sourceRetryCount"] = smcs.SourceRetryCount
146683	}
146684	if smcs.SourceRetryWait != nil {
146685		objectMap["sourceRetryWait"] = smcs.SourceRetryWait
146686	}
146687	if smcs.MaxConcurrentConnections != nil {
146688		objectMap["maxConcurrentConnections"] = smcs.MaxConcurrentConnections
146689	}
146690	if smcs.Type != "" {
146691		objectMap["type"] = smcs.Type
146692	}
146693	for k, v := range smcs.AdditionalProperties {
146694		objectMap[k] = v
146695	}
146696	return json.Marshal(objectMap)
146697}
146698
146699// AsAmazonRedshiftSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
146700func (smcs SalesforceMarketingCloudSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
146701	return nil, false
146702}
146703
146704// AsGoogleAdWordsSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
146705func (smcs SalesforceMarketingCloudSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) {
146706	return nil, false
146707}
146708
146709// AsOracleServiceCloudSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
146710func (smcs SalesforceMarketingCloudSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) {
146711	return nil, false
146712}
146713
146714// AsDynamicsAXSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
146715func (smcs SalesforceMarketingCloudSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) {
146716	return nil, false
146717}
146718
146719// AsResponsysSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
146720func (smcs SalesforceMarketingCloudSource) AsResponsysSource() (*ResponsysSource, bool) {
146721	return nil, false
146722}
146723
146724// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
146725func (smcs SalesforceMarketingCloudSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
146726	return &smcs, true
146727}
146728
146729// AsVerticaSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
146730func (smcs SalesforceMarketingCloudSource) AsVerticaSource() (*VerticaSource, bool) {
146731	return nil, false
146732}
146733
146734// AsNetezzaSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
146735func (smcs SalesforceMarketingCloudSource) AsNetezzaSource() (*NetezzaSource, bool) {
146736	return nil, false
146737}
146738
146739// AsZohoSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
146740func (smcs SalesforceMarketingCloudSource) AsZohoSource() (*ZohoSource, bool) {
146741	return nil, false
146742}
146743
146744// AsXeroSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
146745func (smcs SalesforceMarketingCloudSource) AsXeroSource() (*XeroSource, bool) {
146746	return nil, false
146747}
146748
146749// AsSquareSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
146750func (smcs SalesforceMarketingCloudSource) AsSquareSource() (*SquareSource, bool) {
146751	return nil, false
146752}
146753
146754// AsSparkSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
146755func (smcs SalesforceMarketingCloudSource) AsSparkSource() (*SparkSource, bool) {
146756	return nil, false
146757}
146758
146759// AsShopifySource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
146760func (smcs SalesforceMarketingCloudSource) AsShopifySource() (*ShopifySource, bool) {
146761	return nil, false
146762}
146763
146764// AsServiceNowSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
146765func (smcs SalesforceMarketingCloudSource) AsServiceNowSource() (*ServiceNowSource, bool) {
146766	return nil, false
146767}
146768
146769// AsQuickBooksSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
146770func (smcs SalesforceMarketingCloudSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
146771	return nil, false
146772}
146773
146774// AsPrestoSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
146775func (smcs SalesforceMarketingCloudSource) AsPrestoSource() (*PrestoSource, bool) {
146776	return nil, false
146777}
146778
146779// AsPhoenixSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
146780func (smcs SalesforceMarketingCloudSource) AsPhoenixSource() (*PhoenixSource, bool) {
146781	return nil, false
146782}
146783
146784// AsPaypalSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
146785func (smcs SalesforceMarketingCloudSource) AsPaypalSource() (*PaypalSource, bool) {
146786	return nil, false
146787}
146788
146789// AsMarketoSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
146790func (smcs SalesforceMarketingCloudSource) AsMarketoSource() (*MarketoSource, bool) {
146791	return nil, false
146792}
146793
146794// AsMariaDBSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
146795func (smcs SalesforceMarketingCloudSource) AsMariaDBSource() (*MariaDBSource, bool) {
146796	return nil, false
146797}
146798
146799// AsMagentoSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
146800func (smcs SalesforceMarketingCloudSource) AsMagentoSource() (*MagentoSource, bool) {
146801	return nil, false
146802}
146803
146804// AsJiraSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
146805func (smcs SalesforceMarketingCloudSource) AsJiraSource() (*JiraSource, bool) {
146806	return nil, false
146807}
146808
146809// AsImpalaSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
146810func (smcs SalesforceMarketingCloudSource) AsImpalaSource() (*ImpalaSource, bool) {
146811	return nil, false
146812}
146813
146814// AsHubspotSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
146815func (smcs SalesforceMarketingCloudSource) AsHubspotSource() (*HubspotSource, bool) {
146816	return nil, false
146817}
146818
146819// AsHiveSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
146820func (smcs SalesforceMarketingCloudSource) AsHiveSource() (*HiveSource, bool) {
146821	return nil, false
146822}
146823
146824// AsHBaseSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
146825func (smcs SalesforceMarketingCloudSource) AsHBaseSource() (*HBaseSource, bool) {
146826	return nil, false
146827}
146828
146829// AsGreenplumSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
146830func (smcs SalesforceMarketingCloudSource) AsGreenplumSource() (*GreenplumSource, bool) {
146831	return nil, false
146832}
146833
146834// AsGoogleBigQuerySource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
146835func (smcs SalesforceMarketingCloudSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
146836	return nil, false
146837}
146838
146839// AsEloquaSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
146840func (smcs SalesforceMarketingCloudSource) AsEloquaSource() (*EloquaSource, bool) {
146841	return nil, false
146842}
146843
146844// AsDrillSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
146845func (smcs SalesforceMarketingCloudSource) AsDrillSource() (*DrillSource, bool) {
146846	return nil, false
146847}
146848
146849// AsCouchbaseSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
146850func (smcs SalesforceMarketingCloudSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
146851	return nil, false
146852}
146853
146854// AsConcurSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
146855func (smcs SalesforceMarketingCloudSource) AsConcurSource() (*ConcurSource, bool) {
146856	return nil, false
146857}
146858
146859// AsAzurePostgreSQLSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
146860func (smcs SalesforceMarketingCloudSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
146861	return nil, false
146862}
146863
146864// AsAmazonMWSSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
146865func (smcs SalesforceMarketingCloudSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
146866	return nil, false
146867}
146868
146869// AsHTTPSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
146870func (smcs SalesforceMarketingCloudSource) AsHTTPSource() (*HTTPSource, bool) {
146871	return nil, false
146872}
146873
146874// AsAzureBlobFSSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
146875func (smcs SalesforceMarketingCloudSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) {
146876	return nil, false
146877}
146878
146879// AsAzureDataLakeStoreSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
146880func (smcs SalesforceMarketingCloudSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
146881	return nil, false
146882}
146883
146884// AsOffice365Source is the BasicCopySource implementation for SalesforceMarketingCloudSource.
146885func (smcs SalesforceMarketingCloudSource) AsOffice365Source() (*Office365Source, bool) {
146886	return nil, false
146887}
146888
146889// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
146890func (smcs SalesforceMarketingCloudSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) {
146891	return nil, false
146892}
146893
146894// AsMongoDbV2Source is the BasicCopySource implementation for SalesforceMarketingCloudSource.
146895func (smcs SalesforceMarketingCloudSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) {
146896	return nil, false
146897}
146898
146899// AsMongoDbSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
146900func (smcs SalesforceMarketingCloudSource) AsMongoDbSource() (*MongoDbSource, bool) {
146901	return nil, false
146902}
146903
146904// AsCassandraSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
146905func (smcs SalesforceMarketingCloudSource) AsCassandraSource() (*CassandraSource, bool) {
146906	return nil, false
146907}
146908
146909// AsWebSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
146910func (smcs SalesforceMarketingCloudSource) AsWebSource() (*WebSource, bool) {
146911	return nil, false
146912}
146913
146914// AsTeradataSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
146915func (smcs SalesforceMarketingCloudSource) AsTeradataSource() (*TeradataSource, bool) {
146916	return nil, false
146917}
146918
146919// AsOracleSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
146920func (smcs SalesforceMarketingCloudSource) AsOracleSource() (*OracleSource, bool) {
146921	return nil, false
146922}
146923
146924// AsAzureDataExplorerSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
146925func (smcs SalesforceMarketingCloudSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) {
146926	return nil, false
146927}
146928
146929// AsAzureMySQLSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
146930func (smcs SalesforceMarketingCloudSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
146931	return nil, false
146932}
146933
146934// AsHdfsSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
146935func (smcs SalesforceMarketingCloudSource) AsHdfsSource() (*HdfsSource, bool) {
146936	return nil, false
146937}
146938
146939// AsFileSystemSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
146940func (smcs SalesforceMarketingCloudSource) AsFileSystemSource() (*FileSystemSource, bool) {
146941	return nil, false
146942}
146943
146944// AsSQLDWSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
146945func (smcs SalesforceMarketingCloudSource) AsSQLDWSource() (*SQLDWSource, bool) {
146946	return nil, false
146947}
146948
146949// AsSQLMISource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
146950func (smcs SalesforceMarketingCloudSource) AsSQLMISource() (*SQLMISource, bool) {
146951	return nil, false
146952}
146953
146954// AsAzureSQLSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
146955func (smcs SalesforceMarketingCloudSource) AsAzureSQLSource() (*AzureSQLSource, bool) {
146956	return nil, false
146957}
146958
146959// AsSQLServerSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
146960func (smcs SalesforceMarketingCloudSource) AsSQLServerSource() (*SQLServerSource, bool) {
146961	return nil, false
146962}
146963
146964// AsSQLSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
146965func (smcs SalesforceMarketingCloudSource) AsSQLSource() (*SQLSource, bool) {
146966	return nil, false
146967}
146968
146969// AsRestSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
146970func (smcs SalesforceMarketingCloudSource) AsRestSource() (*RestSource, bool) {
146971	return nil, false
146972}
146973
146974// AsSapTableSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
146975func (smcs SalesforceMarketingCloudSource) AsSapTableSource() (*SapTableSource, bool) {
146976	return nil, false
146977}
146978
146979// AsSapOpenHubSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
146980func (smcs SalesforceMarketingCloudSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) {
146981	return nil, false
146982}
146983
146984// AsSapHanaSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
146985func (smcs SalesforceMarketingCloudSource) AsSapHanaSource() (*SapHanaSource, bool) {
146986	return nil, false
146987}
146988
146989// AsSapEccSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
146990func (smcs SalesforceMarketingCloudSource) AsSapEccSource() (*SapEccSource, bool) {
146991	return nil, false
146992}
146993
146994// AsSapCloudForCustomerSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
146995func (smcs SalesforceMarketingCloudSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
146996	return nil, false
146997}
146998
146999// AsSalesforceServiceCloudSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
147000func (smcs SalesforceMarketingCloudSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) {
147001	return nil, false
147002}
147003
147004// AsSalesforceSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
147005func (smcs SalesforceMarketingCloudSource) AsSalesforceSource() (*SalesforceSource, bool) {
147006	return nil, false
147007}
147008
147009// AsODataSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
147010func (smcs SalesforceMarketingCloudSource) AsODataSource() (*ODataSource, bool) {
147011	return nil, false
147012}
147013
147014// AsSybaseSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
147015func (smcs SalesforceMarketingCloudSource) AsSybaseSource() (*SybaseSource, bool) {
147016	return nil, false
147017}
147018
147019// AsPostgreSQLSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
147020func (smcs SalesforceMarketingCloudSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) {
147021	return nil, false
147022}
147023
147024// AsMySQLSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
147025func (smcs SalesforceMarketingCloudSource) AsMySQLSource() (*MySQLSource, bool) {
147026	return nil, false
147027}
147028
147029// AsOdbcSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
147030func (smcs SalesforceMarketingCloudSource) AsOdbcSource() (*OdbcSource, bool) {
147031	return nil, false
147032}
147033
147034// AsDb2Source is the BasicCopySource implementation for SalesforceMarketingCloudSource.
147035func (smcs SalesforceMarketingCloudSource) AsDb2Source() (*Db2Source, bool) {
147036	return nil, false
147037}
147038
147039// AsMicrosoftAccessSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
147040func (smcs SalesforceMarketingCloudSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) {
147041	return nil, false
147042}
147043
147044// AsInformixSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
147045func (smcs SalesforceMarketingCloudSource) AsInformixSource() (*InformixSource, bool) {
147046	return nil, false
147047}
147048
147049// AsRelationalSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
147050func (smcs SalesforceMarketingCloudSource) AsRelationalSource() (*RelationalSource, bool) {
147051	return nil, false
147052}
147053
147054// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
147055func (smcs SalesforceMarketingCloudSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) {
147056	return nil, false
147057}
147058
147059// AsDynamicsCrmSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
147060func (smcs SalesforceMarketingCloudSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) {
147061	return nil, false
147062}
147063
147064// AsDynamicsSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
147065func (smcs SalesforceMarketingCloudSource) AsDynamicsSource() (*DynamicsSource, bool) {
147066	return nil, false
147067}
147068
147069// AsDocumentDbCollectionSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
147070func (smcs SalesforceMarketingCloudSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
147071	return nil, false
147072}
147073
147074// AsBlobSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
147075func (smcs SalesforceMarketingCloudSource) AsBlobSource() (*BlobSource, bool) {
147076	return nil, false
147077}
147078
147079// AsAzureTableSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
147080func (smcs SalesforceMarketingCloudSource) AsAzureTableSource() (*AzureTableSource, bool) {
147081	return nil, false
147082}
147083
147084// AsBinarySource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
147085func (smcs SalesforceMarketingCloudSource) AsBinarySource() (*BinarySource, bool) {
147086	return nil, false
147087}
147088
147089// AsDelimitedTextSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
147090func (smcs SalesforceMarketingCloudSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) {
147091	return nil, false
147092}
147093
147094// AsParquetSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
147095func (smcs SalesforceMarketingCloudSource) AsParquetSource() (*ParquetSource, bool) {
147096	return nil, false
147097}
147098
147099// AsCopySource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
147100func (smcs SalesforceMarketingCloudSource) AsCopySource() (*CopySource, bool) {
147101	return nil, false
147102}
147103
147104// AsBasicCopySource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
147105func (smcs SalesforceMarketingCloudSource) AsBasicCopySource() (BasicCopySource, bool) {
147106	return &smcs, true
147107}
147108
147109// UnmarshalJSON is the custom unmarshaler for SalesforceMarketingCloudSource struct.
147110func (smcs *SalesforceMarketingCloudSource) UnmarshalJSON(body []byte) error {
147111	var m map[string]*json.RawMessage
147112	err := json.Unmarshal(body, &m)
147113	if err != nil {
147114		return err
147115	}
147116	for k, v := range m {
147117		switch k {
147118		case "query":
147119			if v != nil {
147120				var query interface{}
147121				err = json.Unmarshal(*v, &query)
147122				if err != nil {
147123					return err
147124				}
147125				smcs.Query = query
147126			}
147127		default:
147128			if v != nil {
147129				var additionalProperties interface{}
147130				err = json.Unmarshal(*v, &additionalProperties)
147131				if err != nil {
147132					return err
147133				}
147134				if smcs.AdditionalProperties == nil {
147135					smcs.AdditionalProperties = make(map[string]interface{})
147136				}
147137				smcs.AdditionalProperties[k] = additionalProperties
147138			}
147139		case "sourceRetryCount":
147140			if v != nil {
147141				var sourceRetryCount interface{}
147142				err = json.Unmarshal(*v, &sourceRetryCount)
147143				if err != nil {
147144					return err
147145				}
147146				smcs.SourceRetryCount = sourceRetryCount
147147			}
147148		case "sourceRetryWait":
147149			if v != nil {
147150				var sourceRetryWait interface{}
147151				err = json.Unmarshal(*v, &sourceRetryWait)
147152				if err != nil {
147153					return err
147154				}
147155				smcs.SourceRetryWait = sourceRetryWait
147156			}
147157		case "maxConcurrentConnections":
147158			if v != nil {
147159				var maxConcurrentConnections interface{}
147160				err = json.Unmarshal(*v, &maxConcurrentConnections)
147161				if err != nil {
147162					return err
147163				}
147164				smcs.MaxConcurrentConnections = maxConcurrentConnections
147165			}
147166		case "type":
147167			if v != nil {
147168				var typeVar TypeBasicCopySource
147169				err = json.Unmarshal(*v, &typeVar)
147170				if err != nil {
147171					return err
147172				}
147173				smcs.Type = typeVar
147174			}
147175		}
147176	}
147177
147178	return nil
147179}
147180
147181// SalesforceObjectDataset the Salesforce object dataset.
147182type SalesforceObjectDataset struct {
147183	// SalesforceObjectDatasetTypeProperties - Salesforce object dataset properties.
147184	*SalesforceObjectDatasetTypeProperties `json:"typeProperties,omitempty"`
147185	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
147186	AdditionalProperties map[string]interface{} `json:""`
147187	// Description - Dataset description.
147188	Description *string `json:"description,omitempty"`
147189	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
147190	Structure interface{} `json:"structure,omitempty"`
147191	// Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement.
147192	Schema interface{} `json:"schema,omitempty"`
147193	// LinkedServiceName - Linked service reference.
147194	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
147195	// Parameters - Parameters for dataset.
147196	Parameters map[string]*ParameterSpecification `json:"parameters"`
147197	// Annotations - List of tags that can be used for describing the Dataset.
147198	Annotations *[]interface{} `json:"annotations,omitempty"`
147199	// Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level.
147200	Folder *DatasetFolder `json:"folder,omitempty"`
147201	// Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', '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', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeDelimitedText', 'TypeParquet', 'TypeAmazonS3Object'
147202	Type TypeBasicDataset `json:"type,omitempty"`
147203}
147204
147205// MarshalJSON is the custom marshaler for SalesforceObjectDataset.
147206func (sod SalesforceObjectDataset) MarshalJSON() ([]byte, error) {
147207	sod.Type = TypeSalesforceObject
147208	objectMap := make(map[string]interface{})
147209	if sod.SalesforceObjectDatasetTypeProperties != nil {
147210		objectMap["typeProperties"] = sod.SalesforceObjectDatasetTypeProperties
147211	}
147212	if sod.Description != nil {
147213		objectMap["description"] = sod.Description
147214	}
147215	if sod.Structure != nil {
147216		objectMap["structure"] = sod.Structure
147217	}
147218	if sod.Schema != nil {
147219		objectMap["schema"] = sod.Schema
147220	}
147221	if sod.LinkedServiceName != nil {
147222		objectMap["linkedServiceName"] = sod.LinkedServiceName
147223	}
147224	if sod.Parameters != nil {
147225		objectMap["parameters"] = sod.Parameters
147226	}
147227	if sod.Annotations != nil {
147228		objectMap["annotations"] = sod.Annotations
147229	}
147230	if sod.Folder != nil {
147231		objectMap["folder"] = sod.Folder
147232	}
147233	if sod.Type != "" {
147234		objectMap["type"] = sod.Type
147235	}
147236	for k, v := range sod.AdditionalProperties {
147237		objectMap[k] = v
147238	}
147239	return json.Marshal(objectMap)
147240}
147241
147242// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for SalesforceObjectDataset.
147243func (sod SalesforceObjectDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) {
147244	return nil, false
147245}
147246
147247// AsAzureDataExplorerTableDataset is the BasicDataset implementation for SalesforceObjectDataset.
147248func (sod SalesforceObjectDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) {
147249	return nil, false
147250}
147251
147252// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for SalesforceObjectDataset.
147253func (sod SalesforceObjectDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) {
147254	return nil, false
147255}
147256
147257// AsDynamicsAXResourceDataset is the BasicDataset implementation for SalesforceObjectDataset.
147258func (sod SalesforceObjectDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) {
147259	return nil, false
147260}
147261
147262// AsResponsysObjectDataset is the BasicDataset implementation for SalesforceObjectDataset.
147263func (sod SalesforceObjectDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
147264	return nil, false
147265}
147266
147267// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for SalesforceObjectDataset.
147268func (sod SalesforceObjectDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
147269	return nil, false
147270}
147271
147272// AsVerticaTableDataset is the BasicDataset implementation for SalesforceObjectDataset.
147273func (sod SalesforceObjectDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
147274	return nil, false
147275}
147276
147277// AsNetezzaTableDataset is the BasicDataset implementation for SalesforceObjectDataset.
147278func (sod SalesforceObjectDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
147279	return nil, false
147280}
147281
147282// AsZohoObjectDataset is the BasicDataset implementation for SalesforceObjectDataset.
147283func (sod SalesforceObjectDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
147284	return nil, false
147285}
147286
147287// AsXeroObjectDataset is the BasicDataset implementation for SalesforceObjectDataset.
147288func (sod SalesforceObjectDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
147289	return nil, false
147290}
147291
147292// AsSquareObjectDataset is the BasicDataset implementation for SalesforceObjectDataset.
147293func (sod SalesforceObjectDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
147294	return nil, false
147295}
147296
147297// AsSparkObjectDataset is the BasicDataset implementation for SalesforceObjectDataset.
147298func (sod SalesforceObjectDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
147299	return nil, false
147300}
147301
147302// AsShopifyObjectDataset is the BasicDataset implementation for SalesforceObjectDataset.
147303func (sod SalesforceObjectDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
147304	return nil, false
147305}
147306
147307// AsServiceNowObjectDataset is the BasicDataset implementation for SalesforceObjectDataset.
147308func (sod SalesforceObjectDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
147309	return nil, false
147310}
147311
147312// AsQuickBooksObjectDataset is the BasicDataset implementation for SalesforceObjectDataset.
147313func (sod SalesforceObjectDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
147314	return nil, false
147315}
147316
147317// AsPrestoObjectDataset is the BasicDataset implementation for SalesforceObjectDataset.
147318func (sod SalesforceObjectDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
147319	return nil, false
147320}
147321
147322// AsPhoenixObjectDataset is the BasicDataset implementation for SalesforceObjectDataset.
147323func (sod SalesforceObjectDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
147324	return nil, false
147325}
147326
147327// AsPaypalObjectDataset is the BasicDataset implementation for SalesforceObjectDataset.
147328func (sod SalesforceObjectDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
147329	return nil, false
147330}
147331
147332// AsMarketoObjectDataset is the BasicDataset implementation for SalesforceObjectDataset.
147333func (sod SalesforceObjectDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
147334	return nil, false
147335}
147336
147337// AsMariaDBTableDataset is the BasicDataset implementation for SalesforceObjectDataset.
147338func (sod SalesforceObjectDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
147339	return nil, false
147340}
147341
147342// AsMagentoObjectDataset is the BasicDataset implementation for SalesforceObjectDataset.
147343func (sod SalesforceObjectDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
147344	return nil, false
147345}
147346
147347// AsJiraObjectDataset is the BasicDataset implementation for SalesforceObjectDataset.
147348func (sod SalesforceObjectDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
147349	return nil, false
147350}
147351
147352// AsImpalaObjectDataset is the BasicDataset implementation for SalesforceObjectDataset.
147353func (sod SalesforceObjectDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
147354	return nil, false
147355}
147356
147357// AsHubspotObjectDataset is the BasicDataset implementation for SalesforceObjectDataset.
147358func (sod SalesforceObjectDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
147359	return nil, false
147360}
147361
147362// AsHiveObjectDataset is the BasicDataset implementation for SalesforceObjectDataset.
147363func (sod SalesforceObjectDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
147364	return nil, false
147365}
147366
147367// AsHBaseObjectDataset is the BasicDataset implementation for SalesforceObjectDataset.
147368func (sod SalesforceObjectDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
147369	return nil, false
147370}
147371
147372// AsGreenplumTableDataset is the BasicDataset implementation for SalesforceObjectDataset.
147373func (sod SalesforceObjectDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
147374	return nil, false
147375}
147376
147377// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for SalesforceObjectDataset.
147378func (sod SalesforceObjectDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
147379	return nil, false
147380}
147381
147382// AsEloquaObjectDataset is the BasicDataset implementation for SalesforceObjectDataset.
147383func (sod SalesforceObjectDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
147384	return nil, false
147385}
147386
147387// AsDrillTableDataset is the BasicDataset implementation for SalesforceObjectDataset.
147388func (sod SalesforceObjectDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
147389	return nil, false
147390}
147391
147392// AsCouchbaseTableDataset is the BasicDataset implementation for SalesforceObjectDataset.
147393func (sod SalesforceObjectDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
147394	return nil, false
147395}
147396
147397// AsConcurObjectDataset is the BasicDataset implementation for SalesforceObjectDataset.
147398func (sod SalesforceObjectDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
147399	return nil, false
147400}
147401
147402// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for SalesforceObjectDataset.
147403func (sod SalesforceObjectDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
147404	return nil, false
147405}
147406
147407// AsAmazonMWSObjectDataset is the BasicDataset implementation for SalesforceObjectDataset.
147408func (sod SalesforceObjectDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
147409	return nil, false
147410}
147411
147412// AsHTTPDataset is the BasicDataset implementation for SalesforceObjectDataset.
147413func (sod SalesforceObjectDataset) AsHTTPDataset() (*HTTPDataset, bool) {
147414	return nil, false
147415}
147416
147417// AsAzureSearchIndexDataset is the BasicDataset implementation for SalesforceObjectDataset.
147418func (sod SalesforceObjectDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
147419	return nil, false
147420}
147421
147422// AsWebTableDataset is the BasicDataset implementation for SalesforceObjectDataset.
147423func (sod SalesforceObjectDataset) AsWebTableDataset() (*WebTableDataset, bool) {
147424	return nil, false
147425}
147426
147427// AsSapTableResourceDataset is the BasicDataset implementation for SalesforceObjectDataset.
147428func (sod SalesforceObjectDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) {
147429	return nil, false
147430}
147431
147432// AsRestResourceDataset is the BasicDataset implementation for SalesforceObjectDataset.
147433func (sod SalesforceObjectDataset) AsRestResourceDataset() (*RestResourceDataset, bool) {
147434	return nil, false
147435}
147436
147437// AsSQLServerTableDataset is the BasicDataset implementation for SalesforceObjectDataset.
147438func (sod SalesforceObjectDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
147439	return nil, false
147440}
147441
147442// AsSapOpenHubTableDataset is the BasicDataset implementation for SalesforceObjectDataset.
147443func (sod SalesforceObjectDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) {
147444	return nil, false
147445}
147446
147447// AsSapHanaTableDataset is the BasicDataset implementation for SalesforceObjectDataset.
147448func (sod SalesforceObjectDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) {
147449	return nil, false
147450}
147451
147452// AsSapEccResourceDataset is the BasicDataset implementation for SalesforceObjectDataset.
147453func (sod SalesforceObjectDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
147454	return nil, false
147455}
147456
147457// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for SalesforceObjectDataset.
147458func (sod SalesforceObjectDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
147459	return nil, false
147460}
147461
147462// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for SalesforceObjectDataset.
147463func (sod SalesforceObjectDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) {
147464	return nil, false
147465}
147466
147467// AsSalesforceObjectDataset is the BasicDataset implementation for SalesforceObjectDataset.
147468func (sod SalesforceObjectDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
147469	return &sod, true
147470}
147471
147472// AsMicrosoftAccessTableDataset is the BasicDataset implementation for SalesforceObjectDataset.
147473func (sod SalesforceObjectDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) {
147474	return nil, false
147475}
147476
147477// AsPostgreSQLTableDataset is the BasicDataset implementation for SalesforceObjectDataset.
147478func (sod SalesforceObjectDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) {
147479	return nil, false
147480}
147481
147482// AsMySQLTableDataset is the BasicDataset implementation for SalesforceObjectDataset.
147483func (sod SalesforceObjectDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) {
147484	return nil, false
147485}
147486
147487// AsOdbcTableDataset is the BasicDataset implementation for SalesforceObjectDataset.
147488func (sod SalesforceObjectDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) {
147489	return nil, false
147490}
147491
147492// AsInformixTableDataset is the BasicDataset implementation for SalesforceObjectDataset.
147493func (sod SalesforceObjectDataset) AsInformixTableDataset() (*InformixTableDataset, bool) {
147494	return nil, false
147495}
147496
147497// AsRelationalTableDataset is the BasicDataset implementation for SalesforceObjectDataset.
147498func (sod SalesforceObjectDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
147499	return nil, false
147500}
147501
147502// AsAzureMySQLTableDataset is the BasicDataset implementation for SalesforceObjectDataset.
147503func (sod SalesforceObjectDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
147504	return nil, false
147505}
147506
147507// AsTeradataTableDataset is the BasicDataset implementation for SalesforceObjectDataset.
147508func (sod SalesforceObjectDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) {
147509	return nil, false
147510}
147511
147512// AsOracleTableDataset is the BasicDataset implementation for SalesforceObjectDataset.
147513func (sod SalesforceObjectDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
147514	return nil, false
147515}
147516
147517// AsODataResourceDataset is the BasicDataset implementation for SalesforceObjectDataset.
147518func (sod SalesforceObjectDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
147519	return nil, false
147520}
147521
147522// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for SalesforceObjectDataset.
147523func (sod SalesforceObjectDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) {
147524	return nil, false
147525}
147526
147527// AsMongoDbV2CollectionDataset is the BasicDataset implementation for SalesforceObjectDataset.
147528func (sod SalesforceObjectDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) {
147529	return nil, false
147530}
147531
147532// AsMongoDbCollectionDataset is the BasicDataset implementation for SalesforceObjectDataset.
147533func (sod SalesforceObjectDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
147534	return nil, false
147535}
147536
147537// AsFileShareDataset is the BasicDataset implementation for SalesforceObjectDataset.
147538func (sod SalesforceObjectDataset) AsFileShareDataset() (*FileShareDataset, bool) {
147539	return nil, false
147540}
147541
147542// AsOffice365Dataset is the BasicDataset implementation for SalesforceObjectDataset.
147543func (sod SalesforceObjectDataset) AsOffice365Dataset() (*Office365Dataset, bool) {
147544	return nil, false
147545}
147546
147547// AsAzureBlobFSDataset is the BasicDataset implementation for SalesforceObjectDataset.
147548func (sod SalesforceObjectDataset) AsAzureBlobFSDataset() (*AzureBlobFSDataset, bool) {
147549	return nil, false
147550}
147551
147552// AsAzureDataLakeStoreDataset is the BasicDataset implementation for SalesforceObjectDataset.
147553func (sod SalesforceObjectDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) {
147554	return nil, false
147555}
147556
147557// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for SalesforceObjectDataset.
147558func (sod SalesforceObjectDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) {
147559	return nil, false
147560}
147561
147562// AsDynamicsCrmEntityDataset is the BasicDataset implementation for SalesforceObjectDataset.
147563func (sod SalesforceObjectDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) {
147564	return nil, false
147565}
147566
147567// AsDynamicsEntityDataset is the BasicDataset implementation for SalesforceObjectDataset.
147568func (sod SalesforceObjectDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
147569	return nil, false
147570}
147571
147572// AsDocumentDbCollectionDataset is the BasicDataset implementation for SalesforceObjectDataset.
147573func (sod SalesforceObjectDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
147574	return nil, false
147575}
147576
147577// AsCustomDataset is the BasicDataset implementation for SalesforceObjectDataset.
147578func (sod SalesforceObjectDataset) AsCustomDataset() (*CustomDataset, bool) {
147579	return nil, false
147580}
147581
147582// AsCassandraTableDataset is the BasicDataset implementation for SalesforceObjectDataset.
147583func (sod SalesforceObjectDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
147584	return nil, false
147585}
147586
147587// AsAzureSQLDWTableDataset is the BasicDataset implementation for SalesforceObjectDataset.
147588func (sod SalesforceObjectDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
147589	return nil, false
147590}
147591
147592// AsAzureSQLMITableDataset is the BasicDataset implementation for SalesforceObjectDataset.
147593func (sod SalesforceObjectDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) {
147594	return nil, false
147595}
147596
147597// AsAzureSQLTableDataset is the BasicDataset implementation for SalesforceObjectDataset.
147598func (sod SalesforceObjectDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
147599	return nil, false
147600}
147601
147602// AsAzureTableDataset is the BasicDataset implementation for SalesforceObjectDataset.
147603func (sod SalesforceObjectDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
147604	return nil, false
147605}
147606
147607// AsAzureBlobDataset is the BasicDataset implementation for SalesforceObjectDataset.
147608func (sod SalesforceObjectDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) {
147609	return nil, false
147610}
147611
147612// AsBinaryDataset is the BasicDataset implementation for SalesforceObjectDataset.
147613func (sod SalesforceObjectDataset) AsBinaryDataset() (*BinaryDataset, bool) {
147614	return nil, false
147615}
147616
147617// AsDelimitedTextDataset is the BasicDataset implementation for SalesforceObjectDataset.
147618func (sod SalesforceObjectDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) {
147619	return nil, false
147620}
147621
147622// AsParquetDataset is the BasicDataset implementation for SalesforceObjectDataset.
147623func (sod SalesforceObjectDataset) AsParquetDataset() (*ParquetDataset, bool) {
147624	return nil, false
147625}
147626
147627// AsAmazonS3Dataset is the BasicDataset implementation for SalesforceObjectDataset.
147628func (sod SalesforceObjectDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) {
147629	return nil, false
147630}
147631
147632// AsDataset is the BasicDataset implementation for SalesforceObjectDataset.
147633func (sod SalesforceObjectDataset) AsDataset() (*Dataset, bool) {
147634	return nil, false
147635}
147636
147637// AsBasicDataset is the BasicDataset implementation for SalesforceObjectDataset.
147638func (sod SalesforceObjectDataset) AsBasicDataset() (BasicDataset, bool) {
147639	return &sod, true
147640}
147641
147642// UnmarshalJSON is the custom unmarshaler for SalesforceObjectDataset struct.
147643func (sod *SalesforceObjectDataset) UnmarshalJSON(body []byte) error {
147644	var m map[string]*json.RawMessage
147645	err := json.Unmarshal(body, &m)
147646	if err != nil {
147647		return err
147648	}
147649	for k, v := range m {
147650		switch k {
147651		case "typeProperties":
147652			if v != nil {
147653				var salesforceObjectDatasetTypeProperties SalesforceObjectDatasetTypeProperties
147654				err = json.Unmarshal(*v, &salesforceObjectDatasetTypeProperties)
147655				if err != nil {
147656					return err
147657				}
147658				sod.SalesforceObjectDatasetTypeProperties = &salesforceObjectDatasetTypeProperties
147659			}
147660		default:
147661			if v != nil {
147662				var additionalProperties interface{}
147663				err = json.Unmarshal(*v, &additionalProperties)
147664				if err != nil {
147665					return err
147666				}
147667				if sod.AdditionalProperties == nil {
147668					sod.AdditionalProperties = make(map[string]interface{})
147669				}
147670				sod.AdditionalProperties[k] = additionalProperties
147671			}
147672		case "description":
147673			if v != nil {
147674				var description string
147675				err = json.Unmarshal(*v, &description)
147676				if err != nil {
147677					return err
147678				}
147679				sod.Description = &description
147680			}
147681		case "structure":
147682			if v != nil {
147683				var structure interface{}
147684				err = json.Unmarshal(*v, &structure)
147685				if err != nil {
147686					return err
147687				}
147688				sod.Structure = structure
147689			}
147690		case "schema":
147691			if v != nil {
147692				var schema interface{}
147693				err = json.Unmarshal(*v, &schema)
147694				if err != nil {
147695					return err
147696				}
147697				sod.Schema = schema
147698			}
147699		case "linkedServiceName":
147700			if v != nil {
147701				var linkedServiceName LinkedServiceReference
147702				err = json.Unmarshal(*v, &linkedServiceName)
147703				if err != nil {
147704					return err
147705				}
147706				sod.LinkedServiceName = &linkedServiceName
147707			}
147708		case "parameters":
147709			if v != nil {
147710				var parameters map[string]*ParameterSpecification
147711				err = json.Unmarshal(*v, &parameters)
147712				if err != nil {
147713					return err
147714				}
147715				sod.Parameters = parameters
147716			}
147717		case "annotations":
147718			if v != nil {
147719				var annotations []interface{}
147720				err = json.Unmarshal(*v, &annotations)
147721				if err != nil {
147722					return err
147723				}
147724				sod.Annotations = &annotations
147725			}
147726		case "folder":
147727			if v != nil {
147728				var folder DatasetFolder
147729				err = json.Unmarshal(*v, &folder)
147730				if err != nil {
147731					return err
147732				}
147733				sod.Folder = &folder
147734			}
147735		case "type":
147736			if v != nil {
147737				var typeVar TypeBasicDataset
147738				err = json.Unmarshal(*v, &typeVar)
147739				if err != nil {
147740					return err
147741				}
147742				sod.Type = typeVar
147743			}
147744		}
147745	}
147746
147747	return nil
147748}
147749
147750// SalesforceObjectDatasetTypeProperties salesforce object dataset properties.
147751type SalesforceObjectDatasetTypeProperties struct {
147752	// ObjectAPIName - The Salesforce object API name. Type: string (or Expression with resultType string).
147753	ObjectAPIName interface{} `json:"objectApiName,omitempty"`
147754}
147755
147756// SalesforceServiceCloudLinkedService linked service for Salesforce Service Cloud.
147757type SalesforceServiceCloudLinkedService struct {
147758	// SalesforceServiceCloudLinkedServiceTypeProperties - Salesforce Service Cloud linked service properties.
147759	*SalesforceServiceCloudLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
147760	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
147761	AdditionalProperties map[string]interface{} `json:""`
147762	// ConnectVia - The integration runtime reference.
147763	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
147764	// Description - Linked service description.
147765	Description *string `json:"description,omitempty"`
147766	// Parameters - Parameters for linked service.
147767	Parameters map[string]*ParameterSpecification `json:"parameters"`
147768	// Annotations - List of tags that can be used for describing the linked service.
147769	Annotations *[]interface{} `json:"annotations,omitempty"`
147770	// Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', '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', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage'
147771	Type TypeBasicLinkedService `json:"type,omitempty"`
147772}
147773
147774// MarshalJSON is the custom marshaler for SalesforceServiceCloudLinkedService.
147775func (sscls SalesforceServiceCloudLinkedService) MarshalJSON() ([]byte, error) {
147776	sscls.Type = TypeSalesforceServiceCloud
147777	objectMap := make(map[string]interface{})
147778	if sscls.SalesforceServiceCloudLinkedServiceTypeProperties != nil {
147779		objectMap["typeProperties"] = sscls.SalesforceServiceCloudLinkedServiceTypeProperties
147780	}
147781	if sscls.ConnectVia != nil {
147782		objectMap["connectVia"] = sscls.ConnectVia
147783	}
147784	if sscls.Description != nil {
147785		objectMap["description"] = sscls.Description
147786	}
147787	if sscls.Parameters != nil {
147788		objectMap["parameters"] = sscls.Parameters
147789	}
147790	if sscls.Annotations != nil {
147791		objectMap["annotations"] = sscls.Annotations
147792	}
147793	if sscls.Type != "" {
147794		objectMap["type"] = sscls.Type
147795	}
147796	for k, v := range sscls.AdditionalProperties {
147797		objectMap[k] = v
147798	}
147799	return json.Marshal(objectMap)
147800}
147801
147802// AsAzureFunctionLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService.
147803func (sscls SalesforceServiceCloudLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) {
147804	return nil, false
147805}
147806
147807// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService.
147808func (sscls SalesforceServiceCloudLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) {
147809	return nil, false
147810}
147811
147812// AsSapTableLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService.
147813func (sscls SalesforceServiceCloudLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) {
147814	return nil, false
147815}
147816
147817// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService.
147818func (sscls SalesforceServiceCloudLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) {
147819	return nil, false
147820}
147821
147822// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService.
147823func (sscls SalesforceServiceCloudLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) {
147824	return nil, false
147825}
147826
147827// AsDynamicsAXLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService.
147828func (sscls SalesforceServiceCloudLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) {
147829	return nil, false
147830}
147831
147832// AsResponsysLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService.
147833func (sscls SalesforceServiceCloudLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
147834	return nil, false
147835}
147836
147837// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService.
147838func (sscls SalesforceServiceCloudLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
147839	return nil, false
147840}
147841
147842// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService.
147843func (sscls SalesforceServiceCloudLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
147844	return nil, false
147845}
147846
147847// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService.
147848func (sscls SalesforceServiceCloudLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
147849	return nil, false
147850}
147851
147852// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService.
147853func (sscls SalesforceServiceCloudLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
147854	return nil, false
147855}
147856
147857// AsNetezzaLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService.
147858func (sscls SalesforceServiceCloudLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
147859	return nil, false
147860}
147861
147862// AsVerticaLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService.
147863func (sscls SalesforceServiceCloudLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
147864	return nil, false
147865}
147866
147867// AsZohoLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService.
147868func (sscls SalesforceServiceCloudLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
147869	return nil, false
147870}
147871
147872// AsXeroLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService.
147873func (sscls SalesforceServiceCloudLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
147874	return nil, false
147875}
147876
147877// AsSquareLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService.
147878func (sscls SalesforceServiceCloudLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
147879	return nil, false
147880}
147881
147882// AsSparkLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService.
147883func (sscls SalesforceServiceCloudLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
147884	return nil, false
147885}
147886
147887// AsShopifyLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService.
147888func (sscls SalesforceServiceCloudLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
147889	return nil, false
147890}
147891
147892// AsServiceNowLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService.
147893func (sscls SalesforceServiceCloudLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
147894	return nil, false
147895}
147896
147897// AsQuickBooksLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService.
147898func (sscls SalesforceServiceCloudLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
147899	return nil, false
147900}
147901
147902// AsPrestoLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService.
147903func (sscls SalesforceServiceCloudLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
147904	return nil, false
147905}
147906
147907// AsPhoenixLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService.
147908func (sscls SalesforceServiceCloudLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
147909	return nil, false
147910}
147911
147912// AsPaypalLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService.
147913func (sscls SalesforceServiceCloudLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
147914	return nil, false
147915}
147916
147917// AsMarketoLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService.
147918func (sscls SalesforceServiceCloudLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
147919	return nil, false
147920}
147921
147922// AsMariaDBLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService.
147923func (sscls SalesforceServiceCloudLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
147924	return nil, false
147925}
147926
147927// AsMagentoLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService.
147928func (sscls SalesforceServiceCloudLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
147929	return nil, false
147930}
147931
147932// AsJiraLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService.
147933func (sscls SalesforceServiceCloudLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
147934	return nil, false
147935}
147936
147937// AsImpalaLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService.
147938func (sscls SalesforceServiceCloudLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
147939	return nil, false
147940}
147941
147942// AsHubspotLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService.
147943func (sscls SalesforceServiceCloudLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
147944	return nil, false
147945}
147946
147947// AsHiveLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService.
147948func (sscls SalesforceServiceCloudLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
147949	return nil, false
147950}
147951
147952// AsHBaseLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService.
147953func (sscls SalesforceServiceCloudLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
147954	return nil, false
147955}
147956
147957// AsGreenplumLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService.
147958func (sscls SalesforceServiceCloudLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
147959	return nil, false
147960}
147961
147962// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService.
147963func (sscls SalesforceServiceCloudLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
147964	return nil, false
147965}
147966
147967// AsEloquaLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService.
147968func (sscls SalesforceServiceCloudLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
147969	return nil, false
147970}
147971
147972// AsDrillLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService.
147973func (sscls SalesforceServiceCloudLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
147974	return nil, false
147975}
147976
147977// AsCouchbaseLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService.
147978func (sscls SalesforceServiceCloudLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
147979	return nil, false
147980}
147981
147982// AsConcurLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService.
147983func (sscls SalesforceServiceCloudLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
147984	return nil, false
147985}
147986
147987// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService.
147988func (sscls SalesforceServiceCloudLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
147989	return nil, false
147990}
147991
147992// AsAmazonMWSLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService.
147993func (sscls SalesforceServiceCloudLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
147994	return nil, false
147995}
147996
147997// AsSapHanaLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService.
147998func (sscls SalesforceServiceCloudLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
147999	return nil, false
148000}
148001
148002// AsSapBWLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService.
148003func (sscls SalesforceServiceCloudLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
148004	return nil, false
148005}
148006
148007// AsSftpServerLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService.
148008func (sscls SalesforceServiceCloudLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
148009	return nil, false
148010}
148011
148012// AsFtpServerLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService.
148013func (sscls SalesforceServiceCloudLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
148014	return nil, false
148015}
148016
148017// AsHTTPLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService.
148018func (sscls SalesforceServiceCloudLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
148019	return nil, false
148020}
148021
148022// AsAzureSearchLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService.
148023func (sscls SalesforceServiceCloudLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
148024	return nil, false
148025}
148026
148027// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService.
148028func (sscls SalesforceServiceCloudLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
148029	return nil, false
148030}
148031
148032// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService.
148033func (sscls SalesforceServiceCloudLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
148034	return nil, false
148035}
148036
148037// AsAmazonS3LinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService.
148038func (sscls SalesforceServiceCloudLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
148039	return nil, false
148040}
148041
148042// AsRestServiceLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService.
148043func (sscls SalesforceServiceCloudLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) {
148044	return nil, false
148045}
148046
148047// AsSapOpenHubLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService.
148048func (sscls SalesforceServiceCloudLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) {
148049	return nil, false
148050}
148051
148052// AsSapEccLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService.
148053func (sscls SalesforceServiceCloudLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
148054	return nil, false
148055}
148056
148057// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService.
148058func (sscls SalesforceServiceCloudLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
148059	return nil, false
148060}
148061
148062// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService.
148063func (sscls SalesforceServiceCloudLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) {
148064	return &sscls, true
148065}
148066
148067// AsSalesforceLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService.
148068func (sscls SalesforceServiceCloudLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
148069	return nil, false
148070}
148071
148072// AsOffice365LinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService.
148073func (sscls SalesforceServiceCloudLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) {
148074	return nil, false
148075}
148076
148077// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService.
148078func (sscls SalesforceServiceCloudLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) {
148079	return nil, false
148080}
148081
148082// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService.
148083func (sscls SalesforceServiceCloudLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
148084	return nil, false
148085}
148086
148087// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService.
148088func (sscls SalesforceServiceCloudLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) {
148089	return nil, false
148090}
148091
148092// AsMongoDbV2LinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService.
148093func (sscls SalesforceServiceCloudLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) {
148094	return nil, false
148095}
148096
148097// AsMongoDbLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService.
148098func (sscls SalesforceServiceCloudLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
148099	return nil, false
148100}
148101
148102// AsCassandraLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService.
148103func (sscls SalesforceServiceCloudLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
148104	return nil, false
148105}
148106
148107// AsWebLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService.
148108func (sscls SalesforceServiceCloudLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
148109	return nil, false
148110}
148111
148112// AsODataLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService.
148113func (sscls SalesforceServiceCloudLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
148114	return nil, false
148115}
148116
148117// AsHdfsLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService.
148118func (sscls SalesforceServiceCloudLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
148119	return nil, false
148120}
148121
148122// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService.
148123func (sscls SalesforceServiceCloudLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) {
148124	return nil, false
148125}
148126
148127// AsInformixLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService.
148128func (sscls SalesforceServiceCloudLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) {
148129	return nil, false
148130}
148131
148132// AsOdbcLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService.
148133func (sscls SalesforceServiceCloudLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
148134	return nil, false
148135}
148136
148137// AsAzureMLLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService.
148138func (sscls SalesforceServiceCloudLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
148139	return nil, false
148140}
148141
148142// AsTeradataLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService.
148143func (sscls SalesforceServiceCloudLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
148144	return nil, false
148145}
148146
148147// AsDb2LinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService.
148148func (sscls SalesforceServiceCloudLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
148149	return nil, false
148150}
148151
148152// AsSybaseLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService.
148153func (sscls SalesforceServiceCloudLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
148154	return nil, false
148155}
148156
148157// AsPostgreSQLLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService.
148158func (sscls SalesforceServiceCloudLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
148159	return nil, false
148160}
148161
148162// AsMySQLLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService.
148163func (sscls SalesforceServiceCloudLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
148164	return nil, false
148165}
148166
148167// AsAzureMySQLLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService.
148168func (sscls SalesforceServiceCloudLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
148169	return nil, false
148170}
148171
148172// AsOracleLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService.
148173func (sscls SalesforceServiceCloudLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
148174	return nil, false
148175}
148176
148177// AsFileServerLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService.
148178func (sscls SalesforceServiceCloudLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
148179	return nil, false
148180}
148181
148182// AsHDInsightLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService.
148183func (sscls SalesforceServiceCloudLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
148184	return nil, false
148185}
148186
148187// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService.
148188func (sscls SalesforceServiceCloudLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) {
148189	return nil, false
148190}
148191
148192// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService.
148193func (sscls SalesforceServiceCloudLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) {
148194	return nil, false
148195}
148196
148197// AsDynamicsLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService.
148198func (sscls SalesforceServiceCloudLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
148199	return nil, false
148200}
148201
148202// AsCosmosDbLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService.
148203func (sscls SalesforceServiceCloudLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
148204	return nil, false
148205}
148206
148207// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService.
148208func (sscls SalesforceServiceCloudLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
148209	return nil, false
148210}
148211
148212// AsAzureBatchLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService.
148213func (sscls SalesforceServiceCloudLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
148214	return nil, false
148215}
148216
148217// AsAzureSQLMILinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService.
148218func (sscls SalesforceServiceCloudLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) {
148219	return nil, false
148220}
148221
148222// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService.
148223func (sscls SalesforceServiceCloudLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
148224	return nil, false
148225}
148226
148227// AsSQLServerLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService.
148228func (sscls SalesforceServiceCloudLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
148229	return nil, false
148230}
148231
148232// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService.
148233func (sscls SalesforceServiceCloudLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
148234	return nil, false
148235}
148236
148237// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService.
148238func (sscls SalesforceServiceCloudLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) {
148239	return nil, false
148240}
148241
148242// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService.
148243func (sscls SalesforceServiceCloudLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) {
148244	return nil, false
148245}
148246
148247// AsAzureStorageLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService.
148248func (sscls SalesforceServiceCloudLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
148249	return nil, false
148250}
148251
148252// AsLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService.
148253func (sscls SalesforceServiceCloudLinkedService) AsLinkedService() (*LinkedService, bool) {
148254	return nil, false
148255}
148256
148257// AsBasicLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService.
148258func (sscls SalesforceServiceCloudLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
148259	return &sscls, true
148260}
148261
148262// UnmarshalJSON is the custom unmarshaler for SalesforceServiceCloudLinkedService struct.
148263func (sscls *SalesforceServiceCloudLinkedService) UnmarshalJSON(body []byte) error {
148264	var m map[string]*json.RawMessage
148265	err := json.Unmarshal(body, &m)
148266	if err != nil {
148267		return err
148268	}
148269	for k, v := range m {
148270		switch k {
148271		case "typeProperties":
148272			if v != nil {
148273				var salesforceServiceCloudLinkedServiceTypeProperties SalesforceServiceCloudLinkedServiceTypeProperties
148274				err = json.Unmarshal(*v, &salesforceServiceCloudLinkedServiceTypeProperties)
148275				if err != nil {
148276					return err
148277				}
148278				sscls.SalesforceServiceCloudLinkedServiceTypeProperties = &salesforceServiceCloudLinkedServiceTypeProperties
148279			}
148280		default:
148281			if v != nil {
148282				var additionalProperties interface{}
148283				err = json.Unmarshal(*v, &additionalProperties)
148284				if err != nil {
148285					return err
148286				}
148287				if sscls.AdditionalProperties == nil {
148288					sscls.AdditionalProperties = make(map[string]interface{})
148289				}
148290				sscls.AdditionalProperties[k] = additionalProperties
148291			}
148292		case "connectVia":
148293			if v != nil {
148294				var connectVia IntegrationRuntimeReference
148295				err = json.Unmarshal(*v, &connectVia)
148296				if err != nil {
148297					return err
148298				}
148299				sscls.ConnectVia = &connectVia
148300			}
148301		case "description":
148302			if v != nil {
148303				var description string
148304				err = json.Unmarshal(*v, &description)
148305				if err != nil {
148306					return err
148307				}
148308				sscls.Description = &description
148309			}
148310		case "parameters":
148311			if v != nil {
148312				var parameters map[string]*ParameterSpecification
148313				err = json.Unmarshal(*v, &parameters)
148314				if err != nil {
148315					return err
148316				}
148317				sscls.Parameters = parameters
148318			}
148319		case "annotations":
148320			if v != nil {
148321				var annotations []interface{}
148322				err = json.Unmarshal(*v, &annotations)
148323				if err != nil {
148324					return err
148325				}
148326				sscls.Annotations = &annotations
148327			}
148328		case "type":
148329			if v != nil {
148330				var typeVar TypeBasicLinkedService
148331				err = json.Unmarshal(*v, &typeVar)
148332				if err != nil {
148333					return err
148334				}
148335				sscls.Type = typeVar
148336			}
148337		}
148338	}
148339
148340	return nil
148341}
148342
148343// SalesforceServiceCloudLinkedServiceTypeProperties salesforce Service Cloud linked service properties.
148344type SalesforceServiceCloudLinkedServiceTypeProperties struct {
148345	// EnvironmentURL - The URL of Salesforce Service Cloud 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).
148346	EnvironmentURL interface{} `json:"environmentUrl,omitempty"`
148347	// Username - The username for Basic authentication of the Salesforce instance. Type: string (or Expression with resultType string).
148348	Username interface{} `json:"username,omitempty"`
148349	// Password - The password for Basic authentication of the Salesforce instance.
148350	Password BasicSecretBase `json:"password,omitempty"`
148351	// SecurityToken - The security token is required to remotely access Salesforce instance.
148352	SecurityToken BasicSecretBase `json:"securityToken,omitempty"`
148353	// ExtendedProperties - Extended properties appended to the connection string. Type: string (or Expression with resultType string).
148354	ExtendedProperties interface{} `json:"extendedProperties,omitempty"`
148355	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
148356	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
148357}
148358
148359// UnmarshalJSON is the custom unmarshaler for SalesforceServiceCloudLinkedServiceTypeProperties struct.
148360func (ssclstp *SalesforceServiceCloudLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
148361	var m map[string]*json.RawMessage
148362	err := json.Unmarshal(body, &m)
148363	if err != nil {
148364		return err
148365	}
148366	for k, v := range m {
148367		switch k {
148368		case "environmentUrl":
148369			if v != nil {
148370				var environmentURL interface{}
148371				err = json.Unmarshal(*v, &environmentURL)
148372				if err != nil {
148373					return err
148374				}
148375				ssclstp.EnvironmentURL = environmentURL
148376			}
148377		case "username":
148378			if v != nil {
148379				var username interface{}
148380				err = json.Unmarshal(*v, &username)
148381				if err != nil {
148382					return err
148383				}
148384				ssclstp.Username = username
148385			}
148386		case "password":
148387			if v != nil {
148388				password, err := unmarshalBasicSecretBase(*v)
148389				if err != nil {
148390					return err
148391				}
148392				ssclstp.Password = password
148393			}
148394		case "securityToken":
148395			if v != nil {
148396				securityToken, err := unmarshalBasicSecretBase(*v)
148397				if err != nil {
148398					return err
148399				}
148400				ssclstp.SecurityToken = securityToken
148401			}
148402		case "extendedProperties":
148403			if v != nil {
148404				var extendedProperties interface{}
148405				err = json.Unmarshal(*v, &extendedProperties)
148406				if err != nil {
148407					return err
148408				}
148409				ssclstp.ExtendedProperties = extendedProperties
148410			}
148411		case "encryptedCredential":
148412			if v != nil {
148413				var encryptedCredential interface{}
148414				err = json.Unmarshal(*v, &encryptedCredential)
148415				if err != nil {
148416					return err
148417				}
148418				ssclstp.EncryptedCredential = encryptedCredential
148419			}
148420		}
148421	}
148422
148423	return nil
148424}
148425
148426// SalesforceServiceCloudObjectDataset the Salesforce Service Cloud object dataset.
148427type SalesforceServiceCloudObjectDataset struct {
148428	// SalesforceServiceCloudObjectDatasetTypeProperties - Salesforce Service Cloud object dataset properties.
148429	*SalesforceServiceCloudObjectDatasetTypeProperties `json:"typeProperties,omitempty"`
148430	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
148431	AdditionalProperties map[string]interface{} `json:""`
148432	// Description - Dataset description.
148433	Description *string `json:"description,omitempty"`
148434	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
148435	Structure interface{} `json:"structure,omitempty"`
148436	// Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement.
148437	Schema interface{} `json:"schema,omitempty"`
148438	// LinkedServiceName - Linked service reference.
148439	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
148440	// Parameters - Parameters for dataset.
148441	Parameters map[string]*ParameterSpecification `json:"parameters"`
148442	// Annotations - List of tags that can be used for describing the Dataset.
148443	Annotations *[]interface{} `json:"annotations,omitempty"`
148444	// Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level.
148445	Folder *DatasetFolder `json:"folder,omitempty"`
148446	// Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', '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', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeDelimitedText', 'TypeParquet', 'TypeAmazonS3Object'
148447	Type TypeBasicDataset `json:"type,omitempty"`
148448}
148449
148450// MarshalJSON is the custom marshaler for SalesforceServiceCloudObjectDataset.
148451func (sscod SalesforceServiceCloudObjectDataset) MarshalJSON() ([]byte, error) {
148452	sscod.Type = TypeSalesforceServiceCloudObject
148453	objectMap := make(map[string]interface{})
148454	if sscod.SalesforceServiceCloudObjectDatasetTypeProperties != nil {
148455		objectMap["typeProperties"] = sscod.SalesforceServiceCloudObjectDatasetTypeProperties
148456	}
148457	if sscod.Description != nil {
148458		objectMap["description"] = sscod.Description
148459	}
148460	if sscod.Structure != nil {
148461		objectMap["structure"] = sscod.Structure
148462	}
148463	if sscod.Schema != nil {
148464		objectMap["schema"] = sscod.Schema
148465	}
148466	if sscod.LinkedServiceName != nil {
148467		objectMap["linkedServiceName"] = sscod.LinkedServiceName
148468	}
148469	if sscod.Parameters != nil {
148470		objectMap["parameters"] = sscod.Parameters
148471	}
148472	if sscod.Annotations != nil {
148473		objectMap["annotations"] = sscod.Annotations
148474	}
148475	if sscod.Folder != nil {
148476		objectMap["folder"] = sscod.Folder
148477	}
148478	if sscod.Type != "" {
148479		objectMap["type"] = sscod.Type
148480	}
148481	for k, v := range sscod.AdditionalProperties {
148482		objectMap[k] = v
148483	}
148484	return json.Marshal(objectMap)
148485}
148486
148487// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset.
148488func (sscod SalesforceServiceCloudObjectDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) {
148489	return nil, false
148490}
148491
148492// AsAzureDataExplorerTableDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset.
148493func (sscod SalesforceServiceCloudObjectDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) {
148494	return nil, false
148495}
148496
148497// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset.
148498func (sscod SalesforceServiceCloudObjectDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) {
148499	return nil, false
148500}
148501
148502// AsDynamicsAXResourceDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset.
148503func (sscod SalesforceServiceCloudObjectDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) {
148504	return nil, false
148505}
148506
148507// AsResponsysObjectDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset.
148508func (sscod SalesforceServiceCloudObjectDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
148509	return nil, false
148510}
148511
148512// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset.
148513func (sscod SalesforceServiceCloudObjectDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
148514	return nil, false
148515}
148516
148517// AsVerticaTableDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset.
148518func (sscod SalesforceServiceCloudObjectDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
148519	return nil, false
148520}
148521
148522// AsNetezzaTableDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset.
148523func (sscod SalesforceServiceCloudObjectDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
148524	return nil, false
148525}
148526
148527// AsZohoObjectDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset.
148528func (sscod SalesforceServiceCloudObjectDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
148529	return nil, false
148530}
148531
148532// AsXeroObjectDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset.
148533func (sscod SalesforceServiceCloudObjectDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
148534	return nil, false
148535}
148536
148537// AsSquareObjectDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset.
148538func (sscod SalesforceServiceCloudObjectDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
148539	return nil, false
148540}
148541
148542// AsSparkObjectDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset.
148543func (sscod SalesforceServiceCloudObjectDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
148544	return nil, false
148545}
148546
148547// AsShopifyObjectDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset.
148548func (sscod SalesforceServiceCloudObjectDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
148549	return nil, false
148550}
148551
148552// AsServiceNowObjectDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset.
148553func (sscod SalesforceServiceCloudObjectDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
148554	return nil, false
148555}
148556
148557// AsQuickBooksObjectDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset.
148558func (sscod SalesforceServiceCloudObjectDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
148559	return nil, false
148560}
148561
148562// AsPrestoObjectDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset.
148563func (sscod SalesforceServiceCloudObjectDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
148564	return nil, false
148565}
148566
148567// AsPhoenixObjectDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset.
148568func (sscod SalesforceServiceCloudObjectDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
148569	return nil, false
148570}
148571
148572// AsPaypalObjectDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset.
148573func (sscod SalesforceServiceCloudObjectDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
148574	return nil, false
148575}
148576
148577// AsMarketoObjectDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset.
148578func (sscod SalesforceServiceCloudObjectDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
148579	return nil, false
148580}
148581
148582// AsMariaDBTableDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset.
148583func (sscod SalesforceServiceCloudObjectDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
148584	return nil, false
148585}
148586
148587// AsMagentoObjectDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset.
148588func (sscod SalesforceServiceCloudObjectDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
148589	return nil, false
148590}
148591
148592// AsJiraObjectDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset.
148593func (sscod SalesforceServiceCloudObjectDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
148594	return nil, false
148595}
148596
148597// AsImpalaObjectDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset.
148598func (sscod SalesforceServiceCloudObjectDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
148599	return nil, false
148600}
148601
148602// AsHubspotObjectDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset.
148603func (sscod SalesforceServiceCloudObjectDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
148604	return nil, false
148605}
148606
148607// AsHiveObjectDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset.
148608func (sscod SalesforceServiceCloudObjectDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
148609	return nil, false
148610}
148611
148612// AsHBaseObjectDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset.
148613func (sscod SalesforceServiceCloudObjectDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
148614	return nil, false
148615}
148616
148617// AsGreenplumTableDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset.
148618func (sscod SalesforceServiceCloudObjectDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
148619	return nil, false
148620}
148621
148622// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset.
148623func (sscod SalesforceServiceCloudObjectDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
148624	return nil, false
148625}
148626
148627// AsEloquaObjectDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset.
148628func (sscod SalesforceServiceCloudObjectDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
148629	return nil, false
148630}
148631
148632// AsDrillTableDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset.
148633func (sscod SalesforceServiceCloudObjectDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
148634	return nil, false
148635}
148636
148637// AsCouchbaseTableDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset.
148638func (sscod SalesforceServiceCloudObjectDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
148639	return nil, false
148640}
148641
148642// AsConcurObjectDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset.
148643func (sscod SalesforceServiceCloudObjectDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
148644	return nil, false
148645}
148646
148647// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset.
148648func (sscod SalesforceServiceCloudObjectDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
148649	return nil, false
148650}
148651
148652// AsAmazonMWSObjectDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset.
148653func (sscod SalesforceServiceCloudObjectDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
148654	return nil, false
148655}
148656
148657// AsHTTPDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset.
148658func (sscod SalesforceServiceCloudObjectDataset) AsHTTPDataset() (*HTTPDataset, bool) {
148659	return nil, false
148660}
148661
148662// AsAzureSearchIndexDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset.
148663func (sscod SalesforceServiceCloudObjectDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
148664	return nil, false
148665}
148666
148667// AsWebTableDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset.
148668func (sscod SalesforceServiceCloudObjectDataset) AsWebTableDataset() (*WebTableDataset, bool) {
148669	return nil, false
148670}
148671
148672// AsSapTableResourceDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset.
148673func (sscod SalesforceServiceCloudObjectDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) {
148674	return nil, false
148675}
148676
148677// AsRestResourceDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset.
148678func (sscod SalesforceServiceCloudObjectDataset) AsRestResourceDataset() (*RestResourceDataset, bool) {
148679	return nil, false
148680}
148681
148682// AsSQLServerTableDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset.
148683func (sscod SalesforceServiceCloudObjectDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
148684	return nil, false
148685}
148686
148687// AsSapOpenHubTableDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset.
148688func (sscod SalesforceServiceCloudObjectDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) {
148689	return nil, false
148690}
148691
148692// AsSapHanaTableDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset.
148693func (sscod SalesforceServiceCloudObjectDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) {
148694	return nil, false
148695}
148696
148697// AsSapEccResourceDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset.
148698func (sscod SalesforceServiceCloudObjectDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
148699	return nil, false
148700}
148701
148702// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset.
148703func (sscod SalesforceServiceCloudObjectDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
148704	return nil, false
148705}
148706
148707// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset.
148708func (sscod SalesforceServiceCloudObjectDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) {
148709	return &sscod, true
148710}
148711
148712// AsSalesforceObjectDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset.
148713func (sscod SalesforceServiceCloudObjectDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
148714	return nil, false
148715}
148716
148717// AsMicrosoftAccessTableDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset.
148718func (sscod SalesforceServiceCloudObjectDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) {
148719	return nil, false
148720}
148721
148722// AsPostgreSQLTableDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset.
148723func (sscod SalesforceServiceCloudObjectDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) {
148724	return nil, false
148725}
148726
148727// AsMySQLTableDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset.
148728func (sscod SalesforceServiceCloudObjectDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) {
148729	return nil, false
148730}
148731
148732// AsOdbcTableDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset.
148733func (sscod SalesforceServiceCloudObjectDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) {
148734	return nil, false
148735}
148736
148737// AsInformixTableDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset.
148738func (sscod SalesforceServiceCloudObjectDataset) AsInformixTableDataset() (*InformixTableDataset, bool) {
148739	return nil, false
148740}
148741
148742// AsRelationalTableDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset.
148743func (sscod SalesforceServiceCloudObjectDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
148744	return nil, false
148745}
148746
148747// AsAzureMySQLTableDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset.
148748func (sscod SalesforceServiceCloudObjectDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
148749	return nil, false
148750}
148751
148752// AsTeradataTableDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset.
148753func (sscod SalesforceServiceCloudObjectDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) {
148754	return nil, false
148755}
148756
148757// AsOracleTableDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset.
148758func (sscod SalesforceServiceCloudObjectDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
148759	return nil, false
148760}
148761
148762// AsODataResourceDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset.
148763func (sscod SalesforceServiceCloudObjectDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
148764	return nil, false
148765}
148766
148767// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset.
148768func (sscod SalesforceServiceCloudObjectDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) {
148769	return nil, false
148770}
148771
148772// AsMongoDbV2CollectionDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset.
148773func (sscod SalesforceServiceCloudObjectDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) {
148774	return nil, false
148775}
148776
148777// AsMongoDbCollectionDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset.
148778func (sscod SalesforceServiceCloudObjectDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
148779	return nil, false
148780}
148781
148782// AsFileShareDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset.
148783func (sscod SalesforceServiceCloudObjectDataset) AsFileShareDataset() (*FileShareDataset, bool) {
148784	return nil, false
148785}
148786
148787// AsOffice365Dataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset.
148788func (sscod SalesforceServiceCloudObjectDataset) AsOffice365Dataset() (*Office365Dataset, bool) {
148789	return nil, false
148790}
148791
148792// AsAzureBlobFSDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset.
148793func (sscod SalesforceServiceCloudObjectDataset) AsAzureBlobFSDataset() (*AzureBlobFSDataset, bool) {
148794	return nil, false
148795}
148796
148797// AsAzureDataLakeStoreDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset.
148798func (sscod SalesforceServiceCloudObjectDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) {
148799	return nil, false
148800}
148801
148802// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset.
148803func (sscod SalesforceServiceCloudObjectDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) {
148804	return nil, false
148805}
148806
148807// AsDynamicsCrmEntityDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset.
148808func (sscod SalesforceServiceCloudObjectDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) {
148809	return nil, false
148810}
148811
148812// AsDynamicsEntityDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset.
148813func (sscod SalesforceServiceCloudObjectDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
148814	return nil, false
148815}
148816
148817// AsDocumentDbCollectionDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset.
148818func (sscod SalesforceServiceCloudObjectDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
148819	return nil, false
148820}
148821
148822// AsCustomDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset.
148823func (sscod SalesforceServiceCloudObjectDataset) AsCustomDataset() (*CustomDataset, bool) {
148824	return nil, false
148825}
148826
148827// AsCassandraTableDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset.
148828func (sscod SalesforceServiceCloudObjectDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
148829	return nil, false
148830}
148831
148832// AsAzureSQLDWTableDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset.
148833func (sscod SalesforceServiceCloudObjectDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
148834	return nil, false
148835}
148836
148837// AsAzureSQLMITableDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset.
148838func (sscod SalesforceServiceCloudObjectDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) {
148839	return nil, false
148840}
148841
148842// AsAzureSQLTableDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset.
148843func (sscod SalesforceServiceCloudObjectDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
148844	return nil, false
148845}
148846
148847// AsAzureTableDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset.
148848func (sscod SalesforceServiceCloudObjectDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
148849	return nil, false
148850}
148851
148852// AsAzureBlobDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset.
148853func (sscod SalesforceServiceCloudObjectDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) {
148854	return nil, false
148855}
148856
148857// AsBinaryDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset.
148858func (sscod SalesforceServiceCloudObjectDataset) AsBinaryDataset() (*BinaryDataset, bool) {
148859	return nil, false
148860}
148861
148862// AsDelimitedTextDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset.
148863func (sscod SalesforceServiceCloudObjectDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) {
148864	return nil, false
148865}
148866
148867// AsParquetDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset.
148868func (sscod SalesforceServiceCloudObjectDataset) AsParquetDataset() (*ParquetDataset, bool) {
148869	return nil, false
148870}
148871
148872// AsAmazonS3Dataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset.
148873func (sscod SalesforceServiceCloudObjectDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) {
148874	return nil, false
148875}
148876
148877// AsDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset.
148878func (sscod SalesforceServiceCloudObjectDataset) AsDataset() (*Dataset, bool) {
148879	return nil, false
148880}
148881
148882// AsBasicDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset.
148883func (sscod SalesforceServiceCloudObjectDataset) AsBasicDataset() (BasicDataset, bool) {
148884	return &sscod, true
148885}
148886
148887// UnmarshalJSON is the custom unmarshaler for SalesforceServiceCloudObjectDataset struct.
148888func (sscod *SalesforceServiceCloudObjectDataset) UnmarshalJSON(body []byte) error {
148889	var m map[string]*json.RawMessage
148890	err := json.Unmarshal(body, &m)
148891	if err != nil {
148892		return err
148893	}
148894	for k, v := range m {
148895		switch k {
148896		case "typeProperties":
148897			if v != nil {
148898				var salesforceServiceCloudObjectDatasetTypeProperties SalesforceServiceCloudObjectDatasetTypeProperties
148899				err = json.Unmarshal(*v, &salesforceServiceCloudObjectDatasetTypeProperties)
148900				if err != nil {
148901					return err
148902				}
148903				sscod.SalesforceServiceCloudObjectDatasetTypeProperties = &salesforceServiceCloudObjectDatasetTypeProperties
148904			}
148905		default:
148906			if v != nil {
148907				var additionalProperties interface{}
148908				err = json.Unmarshal(*v, &additionalProperties)
148909				if err != nil {
148910					return err
148911				}
148912				if sscod.AdditionalProperties == nil {
148913					sscod.AdditionalProperties = make(map[string]interface{})
148914				}
148915				sscod.AdditionalProperties[k] = additionalProperties
148916			}
148917		case "description":
148918			if v != nil {
148919				var description string
148920				err = json.Unmarshal(*v, &description)
148921				if err != nil {
148922					return err
148923				}
148924				sscod.Description = &description
148925			}
148926		case "structure":
148927			if v != nil {
148928				var structure interface{}
148929				err = json.Unmarshal(*v, &structure)
148930				if err != nil {
148931					return err
148932				}
148933				sscod.Structure = structure
148934			}
148935		case "schema":
148936			if v != nil {
148937				var schema interface{}
148938				err = json.Unmarshal(*v, &schema)
148939				if err != nil {
148940					return err
148941				}
148942				sscod.Schema = schema
148943			}
148944		case "linkedServiceName":
148945			if v != nil {
148946				var linkedServiceName LinkedServiceReference
148947				err = json.Unmarshal(*v, &linkedServiceName)
148948				if err != nil {
148949					return err
148950				}
148951				sscod.LinkedServiceName = &linkedServiceName
148952			}
148953		case "parameters":
148954			if v != nil {
148955				var parameters map[string]*ParameterSpecification
148956				err = json.Unmarshal(*v, &parameters)
148957				if err != nil {
148958					return err
148959				}
148960				sscod.Parameters = parameters
148961			}
148962		case "annotations":
148963			if v != nil {
148964				var annotations []interface{}
148965				err = json.Unmarshal(*v, &annotations)
148966				if err != nil {
148967					return err
148968				}
148969				sscod.Annotations = &annotations
148970			}
148971		case "folder":
148972			if v != nil {
148973				var folder DatasetFolder
148974				err = json.Unmarshal(*v, &folder)
148975				if err != nil {
148976					return err
148977				}
148978				sscod.Folder = &folder
148979			}
148980		case "type":
148981			if v != nil {
148982				var typeVar TypeBasicDataset
148983				err = json.Unmarshal(*v, &typeVar)
148984				if err != nil {
148985					return err
148986				}
148987				sscod.Type = typeVar
148988			}
148989		}
148990	}
148991
148992	return nil
148993}
148994
148995// SalesforceServiceCloudObjectDatasetTypeProperties salesforce Service Cloud object dataset properties.
148996type SalesforceServiceCloudObjectDatasetTypeProperties struct {
148997	// ObjectAPIName - The Salesforce Service Cloud object API name. Type: string (or Expression with resultType string).
148998	ObjectAPIName interface{} `json:"objectApiName,omitempty"`
148999}
149000
149001// SalesforceServiceCloudSink a copy activity Salesforce Service Cloud sink.
149002type SalesforceServiceCloudSink struct {
149003	// WriteBehavior - The write behavior for the operation. Default is Insert. Possible values include: 'Insert', 'Upsert'
149004	WriteBehavior SalesforceSinkWriteBehavior `json:"writeBehavior,omitempty"`
149005	// ExternalIDFieldName - The name of the external ID field for upsert operation. Default value is 'Id' column. Type: string (or Expression with resultType string).
149006	ExternalIDFieldName interface{} `json:"externalIdFieldName,omitempty"`
149007	// 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).
149008	IgnoreNullValues interface{} `json:"ignoreNullValues,omitempty"`
149009	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
149010	AdditionalProperties map[string]interface{} `json:""`
149011	// WriteBatchSize - Write batch size. Type: integer (or Expression with resultType integer), minimum: 0.
149012	WriteBatchSize interface{} `json:"writeBatchSize,omitempty"`
149013	// 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])).
149014	WriteBatchTimeout interface{} `json:"writeBatchTimeout,omitempty"`
149015	// SinkRetryCount - Sink retry count. Type: integer (or Expression with resultType integer).
149016	SinkRetryCount interface{} `json:"sinkRetryCount,omitempty"`
149017	// 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])).
149018	SinkRetryWait interface{} `json:"sinkRetryWait,omitempty"`
149019	// MaxConcurrentConnections - The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer).
149020	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
149021	// Type - Possible values include: 'TypeCopySink', 'TypeCosmosDbMongoDbAPISink', 'TypeSalesforceServiceCloudSink', 'TypeSalesforceSink', 'TypeAzureDataExplorerSink', 'TypeCommonDataServiceForAppsSink', 'TypeDynamicsCrmSink', 'TypeDynamicsSink', 'TypeMicrosoftAccessSink', 'TypeInformixSink', 'TypeOdbcSink', 'TypeAzureSearchIndexSink', 'TypeAzureBlobFSSink', 'TypeAzureDataLakeStoreSink', 'TypeOracleSink', 'TypeSQLDWSink', 'TypeSQLMISink', 'TypeAzureSQLSink', 'TypeSQLServerSink', 'TypeSQLSink', 'TypeDocumentDbCollectionSink', 'TypeFileSystemSink', 'TypeBlobSink', 'TypeBinarySink', 'TypeParquetSink', 'TypeAzureTableSink', 'TypeAzureQueueSink', 'TypeSapCloudForCustomerSink', 'TypeAzurePostgreSQLSink', 'TypeDelimitedTextSink'
149022	Type TypeBasicCopySink `json:"type,omitempty"`
149023}
149024
149025// MarshalJSON is the custom marshaler for SalesforceServiceCloudSink.
149026func (sscs SalesforceServiceCloudSink) MarshalJSON() ([]byte, error) {
149027	sscs.Type = TypeSalesforceServiceCloudSink
149028	objectMap := make(map[string]interface{})
149029	if sscs.WriteBehavior != "" {
149030		objectMap["writeBehavior"] = sscs.WriteBehavior
149031	}
149032	if sscs.ExternalIDFieldName != nil {
149033		objectMap["externalIdFieldName"] = sscs.ExternalIDFieldName
149034	}
149035	if sscs.IgnoreNullValues != nil {
149036		objectMap["ignoreNullValues"] = sscs.IgnoreNullValues
149037	}
149038	if sscs.WriteBatchSize != nil {
149039		objectMap["writeBatchSize"] = sscs.WriteBatchSize
149040	}
149041	if sscs.WriteBatchTimeout != nil {
149042		objectMap["writeBatchTimeout"] = sscs.WriteBatchTimeout
149043	}
149044	if sscs.SinkRetryCount != nil {
149045		objectMap["sinkRetryCount"] = sscs.SinkRetryCount
149046	}
149047	if sscs.SinkRetryWait != nil {
149048		objectMap["sinkRetryWait"] = sscs.SinkRetryWait
149049	}
149050	if sscs.MaxConcurrentConnections != nil {
149051		objectMap["maxConcurrentConnections"] = sscs.MaxConcurrentConnections
149052	}
149053	if sscs.Type != "" {
149054		objectMap["type"] = sscs.Type
149055	}
149056	for k, v := range sscs.AdditionalProperties {
149057		objectMap[k] = v
149058	}
149059	return json.Marshal(objectMap)
149060}
149061
149062// AsCosmosDbMongoDbAPISink is the BasicCopySink implementation for SalesforceServiceCloudSink.
149063func (sscs SalesforceServiceCloudSink) AsCosmosDbMongoDbAPISink() (*CosmosDbMongoDbAPISink, bool) {
149064	return nil, false
149065}
149066
149067// AsSalesforceServiceCloudSink is the BasicCopySink implementation for SalesforceServiceCloudSink.
149068func (sscs SalesforceServiceCloudSink) AsSalesforceServiceCloudSink() (*SalesforceServiceCloudSink, bool) {
149069	return &sscs, true
149070}
149071
149072// AsSalesforceSink is the BasicCopySink implementation for SalesforceServiceCloudSink.
149073func (sscs SalesforceServiceCloudSink) AsSalesforceSink() (*SalesforceSink, bool) {
149074	return nil, false
149075}
149076
149077// AsAzureDataExplorerSink is the BasicCopySink implementation for SalesforceServiceCloudSink.
149078func (sscs SalesforceServiceCloudSink) AsAzureDataExplorerSink() (*AzureDataExplorerSink, bool) {
149079	return nil, false
149080}
149081
149082// AsCommonDataServiceForAppsSink is the BasicCopySink implementation for SalesforceServiceCloudSink.
149083func (sscs SalesforceServiceCloudSink) AsCommonDataServiceForAppsSink() (*CommonDataServiceForAppsSink, bool) {
149084	return nil, false
149085}
149086
149087// AsDynamicsCrmSink is the BasicCopySink implementation for SalesforceServiceCloudSink.
149088func (sscs SalesforceServiceCloudSink) AsDynamicsCrmSink() (*DynamicsCrmSink, bool) {
149089	return nil, false
149090}
149091
149092// AsDynamicsSink is the BasicCopySink implementation for SalesforceServiceCloudSink.
149093func (sscs SalesforceServiceCloudSink) AsDynamicsSink() (*DynamicsSink, bool) {
149094	return nil, false
149095}
149096
149097// AsMicrosoftAccessSink is the BasicCopySink implementation for SalesforceServiceCloudSink.
149098func (sscs SalesforceServiceCloudSink) AsMicrosoftAccessSink() (*MicrosoftAccessSink, bool) {
149099	return nil, false
149100}
149101
149102// AsInformixSink is the BasicCopySink implementation for SalesforceServiceCloudSink.
149103func (sscs SalesforceServiceCloudSink) AsInformixSink() (*InformixSink, bool) {
149104	return nil, false
149105}
149106
149107// AsOdbcSink is the BasicCopySink implementation for SalesforceServiceCloudSink.
149108func (sscs SalesforceServiceCloudSink) AsOdbcSink() (*OdbcSink, bool) {
149109	return nil, false
149110}
149111
149112// AsAzureSearchIndexSink is the BasicCopySink implementation for SalesforceServiceCloudSink.
149113func (sscs SalesforceServiceCloudSink) AsAzureSearchIndexSink() (*AzureSearchIndexSink, bool) {
149114	return nil, false
149115}
149116
149117// AsAzureBlobFSSink is the BasicCopySink implementation for SalesforceServiceCloudSink.
149118func (sscs SalesforceServiceCloudSink) AsAzureBlobFSSink() (*AzureBlobFSSink, bool) {
149119	return nil, false
149120}
149121
149122// AsAzureDataLakeStoreSink is the BasicCopySink implementation for SalesforceServiceCloudSink.
149123func (sscs SalesforceServiceCloudSink) AsAzureDataLakeStoreSink() (*AzureDataLakeStoreSink, bool) {
149124	return nil, false
149125}
149126
149127// AsOracleSink is the BasicCopySink implementation for SalesforceServiceCloudSink.
149128func (sscs SalesforceServiceCloudSink) AsOracleSink() (*OracleSink, bool) {
149129	return nil, false
149130}
149131
149132// AsSQLDWSink is the BasicCopySink implementation for SalesforceServiceCloudSink.
149133func (sscs SalesforceServiceCloudSink) AsSQLDWSink() (*SQLDWSink, bool) {
149134	return nil, false
149135}
149136
149137// AsSQLMISink is the BasicCopySink implementation for SalesforceServiceCloudSink.
149138func (sscs SalesforceServiceCloudSink) AsSQLMISink() (*SQLMISink, bool) {
149139	return nil, false
149140}
149141
149142// AsAzureSQLSink is the BasicCopySink implementation for SalesforceServiceCloudSink.
149143func (sscs SalesforceServiceCloudSink) AsAzureSQLSink() (*AzureSQLSink, bool) {
149144	return nil, false
149145}
149146
149147// AsSQLServerSink is the BasicCopySink implementation for SalesforceServiceCloudSink.
149148func (sscs SalesforceServiceCloudSink) AsSQLServerSink() (*SQLServerSink, bool) {
149149	return nil, false
149150}
149151
149152// AsSQLSink is the BasicCopySink implementation for SalesforceServiceCloudSink.
149153func (sscs SalesforceServiceCloudSink) AsSQLSink() (*SQLSink, bool) {
149154	return nil, false
149155}
149156
149157// AsDocumentDbCollectionSink is the BasicCopySink implementation for SalesforceServiceCloudSink.
149158func (sscs SalesforceServiceCloudSink) AsDocumentDbCollectionSink() (*DocumentDbCollectionSink, bool) {
149159	return nil, false
149160}
149161
149162// AsFileSystemSink is the BasicCopySink implementation for SalesforceServiceCloudSink.
149163func (sscs SalesforceServiceCloudSink) AsFileSystemSink() (*FileSystemSink, bool) {
149164	return nil, false
149165}
149166
149167// AsBlobSink is the BasicCopySink implementation for SalesforceServiceCloudSink.
149168func (sscs SalesforceServiceCloudSink) AsBlobSink() (*BlobSink, bool) {
149169	return nil, false
149170}
149171
149172// AsBinarySink is the BasicCopySink implementation for SalesforceServiceCloudSink.
149173func (sscs SalesforceServiceCloudSink) AsBinarySink() (*BinarySink, bool) {
149174	return nil, false
149175}
149176
149177// AsParquetSink is the BasicCopySink implementation for SalesforceServiceCloudSink.
149178func (sscs SalesforceServiceCloudSink) AsParquetSink() (*ParquetSink, bool) {
149179	return nil, false
149180}
149181
149182// AsAzureTableSink is the BasicCopySink implementation for SalesforceServiceCloudSink.
149183func (sscs SalesforceServiceCloudSink) AsAzureTableSink() (*AzureTableSink, bool) {
149184	return nil, false
149185}
149186
149187// AsAzureQueueSink is the BasicCopySink implementation for SalesforceServiceCloudSink.
149188func (sscs SalesforceServiceCloudSink) AsAzureQueueSink() (*AzureQueueSink, bool) {
149189	return nil, false
149190}
149191
149192// AsSapCloudForCustomerSink is the BasicCopySink implementation for SalesforceServiceCloudSink.
149193func (sscs SalesforceServiceCloudSink) AsSapCloudForCustomerSink() (*SapCloudForCustomerSink, bool) {
149194	return nil, false
149195}
149196
149197// AsAzurePostgreSQLSink is the BasicCopySink implementation for SalesforceServiceCloudSink.
149198func (sscs SalesforceServiceCloudSink) AsAzurePostgreSQLSink() (*AzurePostgreSQLSink, bool) {
149199	return nil, false
149200}
149201
149202// AsDelimitedTextSink is the BasicCopySink implementation for SalesforceServiceCloudSink.
149203func (sscs SalesforceServiceCloudSink) AsDelimitedTextSink() (*DelimitedTextSink, bool) {
149204	return nil, false
149205}
149206
149207// AsCopySink is the BasicCopySink implementation for SalesforceServiceCloudSink.
149208func (sscs SalesforceServiceCloudSink) AsCopySink() (*CopySink, bool) {
149209	return nil, false
149210}
149211
149212// AsBasicCopySink is the BasicCopySink implementation for SalesforceServiceCloudSink.
149213func (sscs SalesforceServiceCloudSink) AsBasicCopySink() (BasicCopySink, bool) {
149214	return &sscs, true
149215}
149216
149217// UnmarshalJSON is the custom unmarshaler for SalesforceServiceCloudSink struct.
149218func (sscs *SalesforceServiceCloudSink) UnmarshalJSON(body []byte) error {
149219	var m map[string]*json.RawMessage
149220	err := json.Unmarshal(body, &m)
149221	if err != nil {
149222		return err
149223	}
149224	for k, v := range m {
149225		switch k {
149226		case "writeBehavior":
149227			if v != nil {
149228				var writeBehavior SalesforceSinkWriteBehavior
149229				err = json.Unmarshal(*v, &writeBehavior)
149230				if err != nil {
149231					return err
149232				}
149233				sscs.WriteBehavior = writeBehavior
149234			}
149235		case "externalIdFieldName":
149236			if v != nil {
149237				var externalIDFieldName interface{}
149238				err = json.Unmarshal(*v, &externalIDFieldName)
149239				if err != nil {
149240					return err
149241				}
149242				sscs.ExternalIDFieldName = externalIDFieldName
149243			}
149244		case "ignoreNullValues":
149245			if v != nil {
149246				var ignoreNullValues interface{}
149247				err = json.Unmarshal(*v, &ignoreNullValues)
149248				if err != nil {
149249					return err
149250				}
149251				sscs.IgnoreNullValues = ignoreNullValues
149252			}
149253		default:
149254			if v != nil {
149255				var additionalProperties interface{}
149256				err = json.Unmarshal(*v, &additionalProperties)
149257				if err != nil {
149258					return err
149259				}
149260				if sscs.AdditionalProperties == nil {
149261					sscs.AdditionalProperties = make(map[string]interface{})
149262				}
149263				sscs.AdditionalProperties[k] = additionalProperties
149264			}
149265		case "writeBatchSize":
149266			if v != nil {
149267				var writeBatchSize interface{}
149268				err = json.Unmarshal(*v, &writeBatchSize)
149269				if err != nil {
149270					return err
149271				}
149272				sscs.WriteBatchSize = writeBatchSize
149273			}
149274		case "writeBatchTimeout":
149275			if v != nil {
149276				var writeBatchTimeout interface{}
149277				err = json.Unmarshal(*v, &writeBatchTimeout)
149278				if err != nil {
149279					return err
149280				}
149281				sscs.WriteBatchTimeout = writeBatchTimeout
149282			}
149283		case "sinkRetryCount":
149284			if v != nil {
149285				var sinkRetryCount interface{}
149286				err = json.Unmarshal(*v, &sinkRetryCount)
149287				if err != nil {
149288					return err
149289				}
149290				sscs.SinkRetryCount = sinkRetryCount
149291			}
149292		case "sinkRetryWait":
149293			if v != nil {
149294				var sinkRetryWait interface{}
149295				err = json.Unmarshal(*v, &sinkRetryWait)
149296				if err != nil {
149297					return err
149298				}
149299				sscs.SinkRetryWait = sinkRetryWait
149300			}
149301		case "maxConcurrentConnections":
149302			if v != nil {
149303				var maxConcurrentConnections interface{}
149304				err = json.Unmarshal(*v, &maxConcurrentConnections)
149305				if err != nil {
149306					return err
149307				}
149308				sscs.MaxConcurrentConnections = maxConcurrentConnections
149309			}
149310		case "type":
149311			if v != nil {
149312				var typeVar TypeBasicCopySink
149313				err = json.Unmarshal(*v, &typeVar)
149314				if err != nil {
149315					return err
149316				}
149317				sscs.Type = typeVar
149318			}
149319		}
149320	}
149321
149322	return nil
149323}
149324
149325// SalesforceServiceCloudSource a copy activity Salesforce Service Cloud source.
149326type SalesforceServiceCloudSource struct {
149327	// Query - Database query. Type: string (or Expression with resultType string).
149328	Query interface{} `json:"query,omitempty"`
149329	// ReadBehavior - The read behavior for the operation. Default is Query. Possible values include: 'Query', 'QueryAll'
149330	ReadBehavior SalesforceSourceReadBehavior `json:"readBehavior,omitempty"`
149331	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
149332	AdditionalProperties map[string]interface{} `json:""`
149333	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
149334	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
149335	// 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])).
149336	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
149337	// MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer).
149338	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
149339	// Type - Possible values include: 'TypeCopySource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', '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', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeCassandraSource', 'TypeWebSource', 'TypeTeradataSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeAzureMySQLSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeRestSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceServiceCloudSource', 'TypeSalesforceSource', 'TypeODataSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeMicrosoftAccessSource', 'TypeInformixSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAzureTableSource', 'TypeBinarySource', 'TypeDelimitedTextSource', 'TypeParquetSource'
149340	Type TypeBasicCopySource `json:"type,omitempty"`
149341}
149342
149343// MarshalJSON is the custom marshaler for SalesforceServiceCloudSource.
149344func (sscs SalesforceServiceCloudSource) MarshalJSON() ([]byte, error) {
149345	sscs.Type = TypeSalesforceServiceCloudSource
149346	objectMap := make(map[string]interface{})
149347	if sscs.Query != nil {
149348		objectMap["query"] = sscs.Query
149349	}
149350	if sscs.ReadBehavior != "" {
149351		objectMap["readBehavior"] = sscs.ReadBehavior
149352	}
149353	if sscs.SourceRetryCount != nil {
149354		objectMap["sourceRetryCount"] = sscs.SourceRetryCount
149355	}
149356	if sscs.SourceRetryWait != nil {
149357		objectMap["sourceRetryWait"] = sscs.SourceRetryWait
149358	}
149359	if sscs.MaxConcurrentConnections != nil {
149360		objectMap["maxConcurrentConnections"] = sscs.MaxConcurrentConnections
149361	}
149362	if sscs.Type != "" {
149363		objectMap["type"] = sscs.Type
149364	}
149365	for k, v := range sscs.AdditionalProperties {
149366		objectMap[k] = v
149367	}
149368	return json.Marshal(objectMap)
149369}
149370
149371// AsAmazonRedshiftSource is the BasicCopySource implementation for SalesforceServiceCloudSource.
149372func (sscs SalesforceServiceCloudSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
149373	return nil, false
149374}
149375
149376// AsGoogleAdWordsSource is the BasicCopySource implementation for SalesforceServiceCloudSource.
149377func (sscs SalesforceServiceCloudSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) {
149378	return nil, false
149379}
149380
149381// AsOracleServiceCloudSource is the BasicCopySource implementation for SalesforceServiceCloudSource.
149382func (sscs SalesforceServiceCloudSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) {
149383	return nil, false
149384}
149385
149386// AsDynamicsAXSource is the BasicCopySource implementation for SalesforceServiceCloudSource.
149387func (sscs SalesforceServiceCloudSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) {
149388	return nil, false
149389}
149390
149391// AsResponsysSource is the BasicCopySource implementation for SalesforceServiceCloudSource.
149392func (sscs SalesforceServiceCloudSource) AsResponsysSource() (*ResponsysSource, bool) {
149393	return nil, false
149394}
149395
149396// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for SalesforceServiceCloudSource.
149397func (sscs SalesforceServiceCloudSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
149398	return nil, false
149399}
149400
149401// AsVerticaSource is the BasicCopySource implementation for SalesforceServiceCloudSource.
149402func (sscs SalesforceServiceCloudSource) AsVerticaSource() (*VerticaSource, bool) {
149403	return nil, false
149404}
149405
149406// AsNetezzaSource is the BasicCopySource implementation for SalesforceServiceCloudSource.
149407func (sscs SalesforceServiceCloudSource) AsNetezzaSource() (*NetezzaSource, bool) {
149408	return nil, false
149409}
149410
149411// AsZohoSource is the BasicCopySource implementation for SalesforceServiceCloudSource.
149412func (sscs SalesforceServiceCloudSource) AsZohoSource() (*ZohoSource, bool) {
149413	return nil, false
149414}
149415
149416// AsXeroSource is the BasicCopySource implementation for SalesforceServiceCloudSource.
149417func (sscs SalesforceServiceCloudSource) AsXeroSource() (*XeroSource, bool) {
149418	return nil, false
149419}
149420
149421// AsSquareSource is the BasicCopySource implementation for SalesforceServiceCloudSource.
149422func (sscs SalesforceServiceCloudSource) AsSquareSource() (*SquareSource, bool) {
149423	return nil, false
149424}
149425
149426// AsSparkSource is the BasicCopySource implementation for SalesforceServiceCloudSource.
149427func (sscs SalesforceServiceCloudSource) AsSparkSource() (*SparkSource, bool) {
149428	return nil, false
149429}
149430
149431// AsShopifySource is the BasicCopySource implementation for SalesforceServiceCloudSource.
149432func (sscs SalesforceServiceCloudSource) AsShopifySource() (*ShopifySource, bool) {
149433	return nil, false
149434}
149435
149436// AsServiceNowSource is the BasicCopySource implementation for SalesforceServiceCloudSource.
149437func (sscs SalesforceServiceCloudSource) AsServiceNowSource() (*ServiceNowSource, bool) {
149438	return nil, false
149439}
149440
149441// AsQuickBooksSource is the BasicCopySource implementation for SalesforceServiceCloudSource.
149442func (sscs SalesforceServiceCloudSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
149443	return nil, false
149444}
149445
149446// AsPrestoSource is the BasicCopySource implementation for SalesforceServiceCloudSource.
149447func (sscs SalesforceServiceCloudSource) AsPrestoSource() (*PrestoSource, bool) {
149448	return nil, false
149449}
149450
149451// AsPhoenixSource is the BasicCopySource implementation for SalesforceServiceCloudSource.
149452func (sscs SalesforceServiceCloudSource) AsPhoenixSource() (*PhoenixSource, bool) {
149453	return nil, false
149454}
149455
149456// AsPaypalSource is the BasicCopySource implementation for SalesforceServiceCloudSource.
149457func (sscs SalesforceServiceCloudSource) AsPaypalSource() (*PaypalSource, bool) {
149458	return nil, false
149459}
149460
149461// AsMarketoSource is the BasicCopySource implementation for SalesforceServiceCloudSource.
149462func (sscs SalesforceServiceCloudSource) AsMarketoSource() (*MarketoSource, bool) {
149463	return nil, false
149464}
149465
149466// AsMariaDBSource is the BasicCopySource implementation for SalesforceServiceCloudSource.
149467func (sscs SalesforceServiceCloudSource) AsMariaDBSource() (*MariaDBSource, bool) {
149468	return nil, false
149469}
149470
149471// AsMagentoSource is the BasicCopySource implementation for SalesforceServiceCloudSource.
149472func (sscs SalesforceServiceCloudSource) AsMagentoSource() (*MagentoSource, bool) {
149473	return nil, false
149474}
149475
149476// AsJiraSource is the BasicCopySource implementation for SalesforceServiceCloudSource.
149477func (sscs SalesforceServiceCloudSource) AsJiraSource() (*JiraSource, bool) {
149478	return nil, false
149479}
149480
149481// AsImpalaSource is the BasicCopySource implementation for SalesforceServiceCloudSource.
149482func (sscs SalesforceServiceCloudSource) AsImpalaSource() (*ImpalaSource, bool) {
149483	return nil, false
149484}
149485
149486// AsHubspotSource is the BasicCopySource implementation for SalesforceServiceCloudSource.
149487func (sscs SalesforceServiceCloudSource) AsHubspotSource() (*HubspotSource, bool) {
149488	return nil, false
149489}
149490
149491// AsHiveSource is the BasicCopySource implementation for SalesforceServiceCloudSource.
149492func (sscs SalesforceServiceCloudSource) AsHiveSource() (*HiveSource, bool) {
149493	return nil, false
149494}
149495
149496// AsHBaseSource is the BasicCopySource implementation for SalesforceServiceCloudSource.
149497func (sscs SalesforceServiceCloudSource) AsHBaseSource() (*HBaseSource, bool) {
149498	return nil, false
149499}
149500
149501// AsGreenplumSource is the BasicCopySource implementation for SalesforceServiceCloudSource.
149502func (sscs SalesforceServiceCloudSource) AsGreenplumSource() (*GreenplumSource, bool) {
149503	return nil, false
149504}
149505
149506// AsGoogleBigQuerySource is the BasicCopySource implementation for SalesforceServiceCloudSource.
149507func (sscs SalesforceServiceCloudSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
149508	return nil, false
149509}
149510
149511// AsEloquaSource is the BasicCopySource implementation for SalesforceServiceCloudSource.
149512func (sscs SalesforceServiceCloudSource) AsEloquaSource() (*EloquaSource, bool) {
149513	return nil, false
149514}
149515
149516// AsDrillSource is the BasicCopySource implementation for SalesforceServiceCloudSource.
149517func (sscs SalesforceServiceCloudSource) AsDrillSource() (*DrillSource, bool) {
149518	return nil, false
149519}
149520
149521// AsCouchbaseSource is the BasicCopySource implementation for SalesforceServiceCloudSource.
149522func (sscs SalesforceServiceCloudSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
149523	return nil, false
149524}
149525
149526// AsConcurSource is the BasicCopySource implementation for SalesforceServiceCloudSource.
149527func (sscs SalesforceServiceCloudSource) AsConcurSource() (*ConcurSource, bool) {
149528	return nil, false
149529}
149530
149531// AsAzurePostgreSQLSource is the BasicCopySource implementation for SalesforceServiceCloudSource.
149532func (sscs SalesforceServiceCloudSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
149533	return nil, false
149534}
149535
149536// AsAmazonMWSSource is the BasicCopySource implementation for SalesforceServiceCloudSource.
149537func (sscs SalesforceServiceCloudSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
149538	return nil, false
149539}
149540
149541// AsHTTPSource is the BasicCopySource implementation for SalesforceServiceCloudSource.
149542func (sscs SalesforceServiceCloudSource) AsHTTPSource() (*HTTPSource, bool) {
149543	return nil, false
149544}
149545
149546// AsAzureBlobFSSource is the BasicCopySource implementation for SalesforceServiceCloudSource.
149547func (sscs SalesforceServiceCloudSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) {
149548	return nil, false
149549}
149550
149551// AsAzureDataLakeStoreSource is the BasicCopySource implementation for SalesforceServiceCloudSource.
149552func (sscs SalesforceServiceCloudSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
149553	return nil, false
149554}
149555
149556// AsOffice365Source is the BasicCopySource implementation for SalesforceServiceCloudSource.
149557func (sscs SalesforceServiceCloudSource) AsOffice365Source() (*Office365Source, bool) {
149558	return nil, false
149559}
149560
149561// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for SalesforceServiceCloudSource.
149562func (sscs SalesforceServiceCloudSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) {
149563	return nil, false
149564}
149565
149566// AsMongoDbV2Source is the BasicCopySource implementation for SalesforceServiceCloudSource.
149567func (sscs SalesforceServiceCloudSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) {
149568	return nil, false
149569}
149570
149571// AsMongoDbSource is the BasicCopySource implementation for SalesforceServiceCloudSource.
149572func (sscs SalesforceServiceCloudSource) AsMongoDbSource() (*MongoDbSource, bool) {
149573	return nil, false
149574}
149575
149576// AsCassandraSource is the BasicCopySource implementation for SalesforceServiceCloudSource.
149577func (sscs SalesforceServiceCloudSource) AsCassandraSource() (*CassandraSource, bool) {
149578	return nil, false
149579}
149580
149581// AsWebSource is the BasicCopySource implementation for SalesforceServiceCloudSource.
149582func (sscs SalesforceServiceCloudSource) AsWebSource() (*WebSource, bool) {
149583	return nil, false
149584}
149585
149586// AsTeradataSource is the BasicCopySource implementation for SalesforceServiceCloudSource.
149587func (sscs SalesforceServiceCloudSource) AsTeradataSource() (*TeradataSource, bool) {
149588	return nil, false
149589}
149590
149591// AsOracleSource is the BasicCopySource implementation for SalesforceServiceCloudSource.
149592func (sscs SalesforceServiceCloudSource) AsOracleSource() (*OracleSource, bool) {
149593	return nil, false
149594}
149595
149596// AsAzureDataExplorerSource is the BasicCopySource implementation for SalesforceServiceCloudSource.
149597func (sscs SalesforceServiceCloudSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) {
149598	return nil, false
149599}
149600
149601// AsAzureMySQLSource is the BasicCopySource implementation for SalesforceServiceCloudSource.
149602func (sscs SalesforceServiceCloudSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
149603	return nil, false
149604}
149605
149606// AsHdfsSource is the BasicCopySource implementation for SalesforceServiceCloudSource.
149607func (sscs SalesforceServiceCloudSource) AsHdfsSource() (*HdfsSource, bool) {
149608	return nil, false
149609}
149610
149611// AsFileSystemSource is the BasicCopySource implementation for SalesforceServiceCloudSource.
149612func (sscs SalesforceServiceCloudSource) AsFileSystemSource() (*FileSystemSource, bool) {
149613	return nil, false
149614}
149615
149616// AsSQLDWSource is the BasicCopySource implementation for SalesforceServiceCloudSource.
149617func (sscs SalesforceServiceCloudSource) AsSQLDWSource() (*SQLDWSource, bool) {
149618	return nil, false
149619}
149620
149621// AsSQLMISource is the BasicCopySource implementation for SalesforceServiceCloudSource.
149622func (sscs SalesforceServiceCloudSource) AsSQLMISource() (*SQLMISource, bool) {
149623	return nil, false
149624}
149625
149626// AsAzureSQLSource is the BasicCopySource implementation for SalesforceServiceCloudSource.
149627func (sscs SalesforceServiceCloudSource) AsAzureSQLSource() (*AzureSQLSource, bool) {
149628	return nil, false
149629}
149630
149631// AsSQLServerSource is the BasicCopySource implementation for SalesforceServiceCloudSource.
149632func (sscs SalesforceServiceCloudSource) AsSQLServerSource() (*SQLServerSource, bool) {
149633	return nil, false
149634}
149635
149636// AsSQLSource is the BasicCopySource implementation for SalesforceServiceCloudSource.
149637func (sscs SalesforceServiceCloudSource) AsSQLSource() (*SQLSource, bool) {
149638	return nil, false
149639}
149640
149641// AsRestSource is the BasicCopySource implementation for SalesforceServiceCloudSource.
149642func (sscs SalesforceServiceCloudSource) AsRestSource() (*RestSource, bool) {
149643	return nil, false
149644}
149645
149646// AsSapTableSource is the BasicCopySource implementation for SalesforceServiceCloudSource.
149647func (sscs SalesforceServiceCloudSource) AsSapTableSource() (*SapTableSource, bool) {
149648	return nil, false
149649}
149650
149651// AsSapOpenHubSource is the BasicCopySource implementation for SalesforceServiceCloudSource.
149652func (sscs SalesforceServiceCloudSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) {
149653	return nil, false
149654}
149655
149656// AsSapHanaSource is the BasicCopySource implementation for SalesforceServiceCloudSource.
149657func (sscs SalesforceServiceCloudSource) AsSapHanaSource() (*SapHanaSource, bool) {
149658	return nil, false
149659}
149660
149661// AsSapEccSource is the BasicCopySource implementation for SalesforceServiceCloudSource.
149662func (sscs SalesforceServiceCloudSource) AsSapEccSource() (*SapEccSource, bool) {
149663	return nil, false
149664}
149665
149666// AsSapCloudForCustomerSource is the BasicCopySource implementation for SalesforceServiceCloudSource.
149667func (sscs SalesforceServiceCloudSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
149668	return nil, false
149669}
149670
149671// AsSalesforceServiceCloudSource is the BasicCopySource implementation for SalesforceServiceCloudSource.
149672func (sscs SalesforceServiceCloudSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) {
149673	return &sscs, true
149674}
149675
149676// AsSalesforceSource is the BasicCopySource implementation for SalesforceServiceCloudSource.
149677func (sscs SalesforceServiceCloudSource) AsSalesforceSource() (*SalesforceSource, bool) {
149678	return nil, false
149679}
149680
149681// AsODataSource is the BasicCopySource implementation for SalesforceServiceCloudSource.
149682func (sscs SalesforceServiceCloudSource) AsODataSource() (*ODataSource, bool) {
149683	return nil, false
149684}
149685
149686// AsSybaseSource is the BasicCopySource implementation for SalesforceServiceCloudSource.
149687func (sscs SalesforceServiceCloudSource) AsSybaseSource() (*SybaseSource, bool) {
149688	return nil, false
149689}
149690
149691// AsPostgreSQLSource is the BasicCopySource implementation for SalesforceServiceCloudSource.
149692func (sscs SalesforceServiceCloudSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) {
149693	return nil, false
149694}
149695
149696// AsMySQLSource is the BasicCopySource implementation for SalesforceServiceCloudSource.
149697func (sscs SalesforceServiceCloudSource) AsMySQLSource() (*MySQLSource, bool) {
149698	return nil, false
149699}
149700
149701// AsOdbcSource is the BasicCopySource implementation for SalesforceServiceCloudSource.
149702func (sscs SalesforceServiceCloudSource) AsOdbcSource() (*OdbcSource, bool) {
149703	return nil, false
149704}
149705
149706// AsDb2Source is the BasicCopySource implementation for SalesforceServiceCloudSource.
149707func (sscs SalesforceServiceCloudSource) AsDb2Source() (*Db2Source, bool) {
149708	return nil, false
149709}
149710
149711// AsMicrosoftAccessSource is the BasicCopySource implementation for SalesforceServiceCloudSource.
149712func (sscs SalesforceServiceCloudSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) {
149713	return nil, false
149714}
149715
149716// AsInformixSource is the BasicCopySource implementation for SalesforceServiceCloudSource.
149717func (sscs SalesforceServiceCloudSource) AsInformixSource() (*InformixSource, bool) {
149718	return nil, false
149719}
149720
149721// AsRelationalSource is the BasicCopySource implementation for SalesforceServiceCloudSource.
149722func (sscs SalesforceServiceCloudSource) AsRelationalSource() (*RelationalSource, bool) {
149723	return nil, false
149724}
149725
149726// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for SalesforceServiceCloudSource.
149727func (sscs SalesforceServiceCloudSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) {
149728	return nil, false
149729}
149730
149731// AsDynamicsCrmSource is the BasicCopySource implementation for SalesforceServiceCloudSource.
149732func (sscs SalesforceServiceCloudSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) {
149733	return nil, false
149734}
149735
149736// AsDynamicsSource is the BasicCopySource implementation for SalesforceServiceCloudSource.
149737func (sscs SalesforceServiceCloudSource) AsDynamicsSource() (*DynamicsSource, bool) {
149738	return nil, false
149739}
149740
149741// AsDocumentDbCollectionSource is the BasicCopySource implementation for SalesforceServiceCloudSource.
149742func (sscs SalesforceServiceCloudSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
149743	return nil, false
149744}
149745
149746// AsBlobSource is the BasicCopySource implementation for SalesforceServiceCloudSource.
149747func (sscs SalesforceServiceCloudSource) AsBlobSource() (*BlobSource, bool) {
149748	return nil, false
149749}
149750
149751// AsAzureTableSource is the BasicCopySource implementation for SalesforceServiceCloudSource.
149752func (sscs SalesforceServiceCloudSource) AsAzureTableSource() (*AzureTableSource, bool) {
149753	return nil, false
149754}
149755
149756// AsBinarySource is the BasicCopySource implementation for SalesforceServiceCloudSource.
149757func (sscs SalesforceServiceCloudSource) AsBinarySource() (*BinarySource, bool) {
149758	return nil, false
149759}
149760
149761// AsDelimitedTextSource is the BasicCopySource implementation for SalesforceServiceCloudSource.
149762func (sscs SalesforceServiceCloudSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) {
149763	return nil, false
149764}
149765
149766// AsParquetSource is the BasicCopySource implementation for SalesforceServiceCloudSource.
149767func (sscs SalesforceServiceCloudSource) AsParquetSource() (*ParquetSource, bool) {
149768	return nil, false
149769}
149770
149771// AsCopySource is the BasicCopySource implementation for SalesforceServiceCloudSource.
149772func (sscs SalesforceServiceCloudSource) AsCopySource() (*CopySource, bool) {
149773	return nil, false
149774}
149775
149776// AsBasicCopySource is the BasicCopySource implementation for SalesforceServiceCloudSource.
149777func (sscs SalesforceServiceCloudSource) AsBasicCopySource() (BasicCopySource, bool) {
149778	return &sscs, true
149779}
149780
149781// UnmarshalJSON is the custom unmarshaler for SalesforceServiceCloudSource struct.
149782func (sscs *SalesforceServiceCloudSource) UnmarshalJSON(body []byte) error {
149783	var m map[string]*json.RawMessage
149784	err := json.Unmarshal(body, &m)
149785	if err != nil {
149786		return err
149787	}
149788	for k, v := range m {
149789		switch k {
149790		case "query":
149791			if v != nil {
149792				var query interface{}
149793				err = json.Unmarshal(*v, &query)
149794				if err != nil {
149795					return err
149796				}
149797				sscs.Query = query
149798			}
149799		case "readBehavior":
149800			if v != nil {
149801				var readBehavior SalesforceSourceReadBehavior
149802				err = json.Unmarshal(*v, &readBehavior)
149803				if err != nil {
149804					return err
149805				}
149806				sscs.ReadBehavior = readBehavior
149807			}
149808		default:
149809			if v != nil {
149810				var additionalProperties interface{}
149811				err = json.Unmarshal(*v, &additionalProperties)
149812				if err != nil {
149813					return err
149814				}
149815				if sscs.AdditionalProperties == nil {
149816					sscs.AdditionalProperties = make(map[string]interface{})
149817				}
149818				sscs.AdditionalProperties[k] = additionalProperties
149819			}
149820		case "sourceRetryCount":
149821			if v != nil {
149822				var sourceRetryCount interface{}
149823				err = json.Unmarshal(*v, &sourceRetryCount)
149824				if err != nil {
149825					return err
149826				}
149827				sscs.SourceRetryCount = sourceRetryCount
149828			}
149829		case "sourceRetryWait":
149830			if v != nil {
149831				var sourceRetryWait interface{}
149832				err = json.Unmarshal(*v, &sourceRetryWait)
149833				if err != nil {
149834					return err
149835				}
149836				sscs.SourceRetryWait = sourceRetryWait
149837			}
149838		case "maxConcurrentConnections":
149839			if v != nil {
149840				var maxConcurrentConnections interface{}
149841				err = json.Unmarshal(*v, &maxConcurrentConnections)
149842				if err != nil {
149843					return err
149844				}
149845				sscs.MaxConcurrentConnections = maxConcurrentConnections
149846			}
149847		case "type":
149848			if v != nil {
149849				var typeVar TypeBasicCopySource
149850				err = json.Unmarshal(*v, &typeVar)
149851				if err != nil {
149852					return err
149853				}
149854				sscs.Type = typeVar
149855			}
149856		}
149857	}
149858
149859	return nil
149860}
149861
149862// SalesforceSink a copy activity Salesforce sink.
149863type SalesforceSink struct {
149864	// WriteBehavior - The write behavior for the operation. Default is Insert. Possible values include: 'Insert', 'Upsert'
149865	WriteBehavior SalesforceSinkWriteBehavior `json:"writeBehavior,omitempty"`
149866	// ExternalIDFieldName - The name of the external ID field for upsert operation. Default value is 'Id' column. Type: string (or Expression with resultType string).
149867	ExternalIDFieldName interface{} `json:"externalIdFieldName,omitempty"`
149868	// 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).
149869	IgnoreNullValues interface{} `json:"ignoreNullValues,omitempty"`
149870	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
149871	AdditionalProperties map[string]interface{} `json:""`
149872	// WriteBatchSize - Write batch size. Type: integer (or Expression with resultType integer), minimum: 0.
149873	WriteBatchSize interface{} `json:"writeBatchSize,omitempty"`
149874	// 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])).
149875	WriteBatchTimeout interface{} `json:"writeBatchTimeout,omitempty"`
149876	// SinkRetryCount - Sink retry count. Type: integer (or Expression with resultType integer).
149877	SinkRetryCount interface{} `json:"sinkRetryCount,omitempty"`
149878	// 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])).
149879	SinkRetryWait interface{} `json:"sinkRetryWait,omitempty"`
149880	// MaxConcurrentConnections - The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer).
149881	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
149882	// Type - Possible values include: 'TypeCopySink', 'TypeCosmosDbMongoDbAPISink', 'TypeSalesforceServiceCloudSink', 'TypeSalesforceSink', 'TypeAzureDataExplorerSink', 'TypeCommonDataServiceForAppsSink', 'TypeDynamicsCrmSink', 'TypeDynamicsSink', 'TypeMicrosoftAccessSink', 'TypeInformixSink', 'TypeOdbcSink', 'TypeAzureSearchIndexSink', 'TypeAzureBlobFSSink', 'TypeAzureDataLakeStoreSink', 'TypeOracleSink', 'TypeSQLDWSink', 'TypeSQLMISink', 'TypeAzureSQLSink', 'TypeSQLServerSink', 'TypeSQLSink', 'TypeDocumentDbCollectionSink', 'TypeFileSystemSink', 'TypeBlobSink', 'TypeBinarySink', 'TypeParquetSink', 'TypeAzureTableSink', 'TypeAzureQueueSink', 'TypeSapCloudForCustomerSink', 'TypeAzurePostgreSQLSink', 'TypeDelimitedTextSink'
149883	Type TypeBasicCopySink `json:"type,omitempty"`
149884}
149885
149886// MarshalJSON is the custom marshaler for SalesforceSink.
149887func (ss SalesforceSink) MarshalJSON() ([]byte, error) {
149888	ss.Type = TypeSalesforceSink
149889	objectMap := make(map[string]interface{})
149890	if ss.WriteBehavior != "" {
149891		objectMap["writeBehavior"] = ss.WriteBehavior
149892	}
149893	if ss.ExternalIDFieldName != nil {
149894		objectMap["externalIdFieldName"] = ss.ExternalIDFieldName
149895	}
149896	if ss.IgnoreNullValues != nil {
149897		objectMap["ignoreNullValues"] = ss.IgnoreNullValues
149898	}
149899	if ss.WriteBatchSize != nil {
149900		objectMap["writeBatchSize"] = ss.WriteBatchSize
149901	}
149902	if ss.WriteBatchTimeout != nil {
149903		objectMap["writeBatchTimeout"] = ss.WriteBatchTimeout
149904	}
149905	if ss.SinkRetryCount != nil {
149906		objectMap["sinkRetryCount"] = ss.SinkRetryCount
149907	}
149908	if ss.SinkRetryWait != nil {
149909		objectMap["sinkRetryWait"] = ss.SinkRetryWait
149910	}
149911	if ss.MaxConcurrentConnections != nil {
149912		objectMap["maxConcurrentConnections"] = ss.MaxConcurrentConnections
149913	}
149914	if ss.Type != "" {
149915		objectMap["type"] = ss.Type
149916	}
149917	for k, v := range ss.AdditionalProperties {
149918		objectMap[k] = v
149919	}
149920	return json.Marshal(objectMap)
149921}
149922
149923// AsCosmosDbMongoDbAPISink is the BasicCopySink implementation for SalesforceSink.
149924func (ss SalesforceSink) AsCosmosDbMongoDbAPISink() (*CosmosDbMongoDbAPISink, bool) {
149925	return nil, false
149926}
149927
149928// AsSalesforceServiceCloudSink is the BasicCopySink implementation for SalesforceSink.
149929func (ss SalesforceSink) AsSalesforceServiceCloudSink() (*SalesforceServiceCloudSink, bool) {
149930	return nil, false
149931}
149932
149933// AsSalesforceSink is the BasicCopySink implementation for SalesforceSink.
149934func (ss SalesforceSink) AsSalesforceSink() (*SalesforceSink, bool) {
149935	return &ss, true
149936}
149937
149938// AsAzureDataExplorerSink is the BasicCopySink implementation for SalesforceSink.
149939func (ss SalesforceSink) AsAzureDataExplorerSink() (*AzureDataExplorerSink, bool) {
149940	return nil, false
149941}
149942
149943// AsCommonDataServiceForAppsSink is the BasicCopySink implementation for SalesforceSink.
149944func (ss SalesforceSink) AsCommonDataServiceForAppsSink() (*CommonDataServiceForAppsSink, bool) {
149945	return nil, false
149946}
149947
149948// AsDynamicsCrmSink is the BasicCopySink implementation for SalesforceSink.
149949func (ss SalesforceSink) AsDynamicsCrmSink() (*DynamicsCrmSink, bool) {
149950	return nil, false
149951}
149952
149953// AsDynamicsSink is the BasicCopySink implementation for SalesforceSink.
149954func (ss SalesforceSink) AsDynamicsSink() (*DynamicsSink, bool) {
149955	return nil, false
149956}
149957
149958// AsMicrosoftAccessSink is the BasicCopySink implementation for SalesforceSink.
149959func (ss SalesforceSink) AsMicrosoftAccessSink() (*MicrosoftAccessSink, bool) {
149960	return nil, false
149961}
149962
149963// AsInformixSink is the BasicCopySink implementation for SalesforceSink.
149964func (ss SalesforceSink) AsInformixSink() (*InformixSink, bool) {
149965	return nil, false
149966}
149967
149968// AsOdbcSink is the BasicCopySink implementation for SalesforceSink.
149969func (ss SalesforceSink) AsOdbcSink() (*OdbcSink, bool) {
149970	return nil, false
149971}
149972
149973// AsAzureSearchIndexSink is the BasicCopySink implementation for SalesforceSink.
149974func (ss SalesforceSink) AsAzureSearchIndexSink() (*AzureSearchIndexSink, bool) {
149975	return nil, false
149976}
149977
149978// AsAzureBlobFSSink is the BasicCopySink implementation for SalesforceSink.
149979func (ss SalesforceSink) AsAzureBlobFSSink() (*AzureBlobFSSink, bool) {
149980	return nil, false
149981}
149982
149983// AsAzureDataLakeStoreSink is the BasicCopySink implementation for SalesforceSink.
149984func (ss SalesforceSink) AsAzureDataLakeStoreSink() (*AzureDataLakeStoreSink, bool) {
149985	return nil, false
149986}
149987
149988// AsOracleSink is the BasicCopySink implementation for SalesforceSink.
149989func (ss SalesforceSink) AsOracleSink() (*OracleSink, bool) {
149990	return nil, false
149991}
149992
149993// AsSQLDWSink is the BasicCopySink implementation for SalesforceSink.
149994func (ss SalesforceSink) AsSQLDWSink() (*SQLDWSink, bool) {
149995	return nil, false
149996}
149997
149998// AsSQLMISink is the BasicCopySink implementation for SalesforceSink.
149999func (ss SalesforceSink) AsSQLMISink() (*SQLMISink, bool) {
150000	return nil, false
150001}
150002
150003// AsAzureSQLSink is the BasicCopySink implementation for SalesforceSink.
150004func (ss SalesforceSink) AsAzureSQLSink() (*AzureSQLSink, bool) {
150005	return nil, false
150006}
150007
150008// AsSQLServerSink is the BasicCopySink implementation for SalesforceSink.
150009func (ss SalesforceSink) AsSQLServerSink() (*SQLServerSink, bool) {
150010	return nil, false
150011}
150012
150013// AsSQLSink is the BasicCopySink implementation for SalesforceSink.
150014func (ss SalesforceSink) AsSQLSink() (*SQLSink, bool) {
150015	return nil, false
150016}
150017
150018// AsDocumentDbCollectionSink is the BasicCopySink implementation for SalesforceSink.
150019func (ss SalesforceSink) AsDocumentDbCollectionSink() (*DocumentDbCollectionSink, bool) {
150020	return nil, false
150021}
150022
150023// AsFileSystemSink is the BasicCopySink implementation for SalesforceSink.
150024func (ss SalesforceSink) AsFileSystemSink() (*FileSystemSink, bool) {
150025	return nil, false
150026}
150027
150028// AsBlobSink is the BasicCopySink implementation for SalesforceSink.
150029func (ss SalesforceSink) AsBlobSink() (*BlobSink, bool) {
150030	return nil, false
150031}
150032
150033// AsBinarySink is the BasicCopySink implementation for SalesforceSink.
150034func (ss SalesforceSink) AsBinarySink() (*BinarySink, bool) {
150035	return nil, false
150036}
150037
150038// AsParquetSink is the BasicCopySink implementation for SalesforceSink.
150039func (ss SalesforceSink) AsParquetSink() (*ParquetSink, bool) {
150040	return nil, false
150041}
150042
150043// AsAzureTableSink is the BasicCopySink implementation for SalesforceSink.
150044func (ss SalesforceSink) AsAzureTableSink() (*AzureTableSink, bool) {
150045	return nil, false
150046}
150047
150048// AsAzureQueueSink is the BasicCopySink implementation for SalesforceSink.
150049func (ss SalesforceSink) AsAzureQueueSink() (*AzureQueueSink, bool) {
150050	return nil, false
150051}
150052
150053// AsSapCloudForCustomerSink is the BasicCopySink implementation for SalesforceSink.
150054func (ss SalesforceSink) AsSapCloudForCustomerSink() (*SapCloudForCustomerSink, bool) {
150055	return nil, false
150056}
150057
150058// AsAzurePostgreSQLSink is the BasicCopySink implementation for SalesforceSink.
150059func (ss SalesforceSink) AsAzurePostgreSQLSink() (*AzurePostgreSQLSink, bool) {
150060	return nil, false
150061}
150062
150063// AsDelimitedTextSink is the BasicCopySink implementation for SalesforceSink.
150064func (ss SalesforceSink) AsDelimitedTextSink() (*DelimitedTextSink, bool) {
150065	return nil, false
150066}
150067
150068// AsCopySink is the BasicCopySink implementation for SalesforceSink.
150069func (ss SalesforceSink) AsCopySink() (*CopySink, bool) {
150070	return nil, false
150071}
150072
150073// AsBasicCopySink is the BasicCopySink implementation for SalesforceSink.
150074func (ss SalesforceSink) AsBasicCopySink() (BasicCopySink, bool) {
150075	return &ss, true
150076}
150077
150078// UnmarshalJSON is the custom unmarshaler for SalesforceSink struct.
150079func (ss *SalesforceSink) UnmarshalJSON(body []byte) error {
150080	var m map[string]*json.RawMessage
150081	err := json.Unmarshal(body, &m)
150082	if err != nil {
150083		return err
150084	}
150085	for k, v := range m {
150086		switch k {
150087		case "writeBehavior":
150088			if v != nil {
150089				var writeBehavior SalesforceSinkWriteBehavior
150090				err = json.Unmarshal(*v, &writeBehavior)
150091				if err != nil {
150092					return err
150093				}
150094				ss.WriteBehavior = writeBehavior
150095			}
150096		case "externalIdFieldName":
150097			if v != nil {
150098				var externalIDFieldName interface{}
150099				err = json.Unmarshal(*v, &externalIDFieldName)
150100				if err != nil {
150101					return err
150102				}
150103				ss.ExternalIDFieldName = externalIDFieldName
150104			}
150105		case "ignoreNullValues":
150106			if v != nil {
150107				var ignoreNullValues interface{}
150108				err = json.Unmarshal(*v, &ignoreNullValues)
150109				if err != nil {
150110					return err
150111				}
150112				ss.IgnoreNullValues = ignoreNullValues
150113			}
150114		default:
150115			if v != nil {
150116				var additionalProperties interface{}
150117				err = json.Unmarshal(*v, &additionalProperties)
150118				if err != nil {
150119					return err
150120				}
150121				if ss.AdditionalProperties == nil {
150122					ss.AdditionalProperties = make(map[string]interface{})
150123				}
150124				ss.AdditionalProperties[k] = additionalProperties
150125			}
150126		case "writeBatchSize":
150127			if v != nil {
150128				var writeBatchSize interface{}
150129				err = json.Unmarshal(*v, &writeBatchSize)
150130				if err != nil {
150131					return err
150132				}
150133				ss.WriteBatchSize = writeBatchSize
150134			}
150135		case "writeBatchTimeout":
150136			if v != nil {
150137				var writeBatchTimeout interface{}
150138				err = json.Unmarshal(*v, &writeBatchTimeout)
150139				if err != nil {
150140					return err
150141				}
150142				ss.WriteBatchTimeout = writeBatchTimeout
150143			}
150144		case "sinkRetryCount":
150145			if v != nil {
150146				var sinkRetryCount interface{}
150147				err = json.Unmarshal(*v, &sinkRetryCount)
150148				if err != nil {
150149					return err
150150				}
150151				ss.SinkRetryCount = sinkRetryCount
150152			}
150153		case "sinkRetryWait":
150154			if v != nil {
150155				var sinkRetryWait interface{}
150156				err = json.Unmarshal(*v, &sinkRetryWait)
150157				if err != nil {
150158					return err
150159				}
150160				ss.SinkRetryWait = sinkRetryWait
150161			}
150162		case "maxConcurrentConnections":
150163			if v != nil {
150164				var maxConcurrentConnections interface{}
150165				err = json.Unmarshal(*v, &maxConcurrentConnections)
150166				if err != nil {
150167					return err
150168				}
150169				ss.MaxConcurrentConnections = maxConcurrentConnections
150170			}
150171		case "type":
150172			if v != nil {
150173				var typeVar TypeBasicCopySink
150174				err = json.Unmarshal(*v, &typeVar)
150175				if err != nil {
150176					return err
150177				}
150178				ss.Type = typeVar
150179			}
150180		}
150181	}
150182
150183	return nil
150184}
150185
150186// SalesforceSource a copy activity Salesforce source.
150187type SalesforceSource struct {
150188	// Query - Database query. Type: string (or Expression with resultType string).
150189	Query interface{} `json:"query,omitempty"`
150190	// ReadBehavior - The read behavior for the operation. Default is Query. Possible values include: 'Query', 'QueryAll'
150191	ReadBehavior SalesforceSourceReadBehavior `json:"readBehavior,omitempty"`
150192	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
150193	AdditionalProperties map[string]interface{} `json:""`
150194	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
150195	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
150196	// 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])).
150197	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
150198	// MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer).
150199	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
150200	// Type - Possible values include: 'TypeCopySource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', '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', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeCassandraSource', 'TypeWebSource', 'TypeTeradataSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeAzureMySQLSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeRestSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceServiceCloudSource', 'TypeSalesforceSource', 'TypeODataSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeMicrosoftAccessSource', 'TypeInformixSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAzureTableSource', 'TypeBinarySource', 'TypeDelimitedTextSource', 'TypeParquetSource'
150201	Type TypeBasicCopySource `json:"type,omitempty"`
150202}
150203
150204// MarshalJSON is the custom marshaler for SalesforceSource.
150205func (ss SalesforceSource) MarshalJSON() ([]byte, error) {
150206	ss.Type = TypeSalesforceSource
150207	objectMap := make(map[string]interface{})
150208	if ss.Query != nil {
150209		objectMap["query"] = ss.Query
150210	}
150211	if ss.ReadBehavior != "" {
150212		objectMap["readBehavior"] = ss.ReadBehavior
150213	}
150214	if ss.SourceRetryCount != nil {
150215		objectMap["sourceRetryCount"] = ss.SourceRetryCount
150216	}
150217	if ss.SourceRetryWait != nil {
150218		objectMap["sourceRetryWait"] = ss.SourceRetryWait
150219	}
150220	if ss.MaxConcurrentConnections != nil {
150221		objectMap["maxConcurrentConnections"] = ss.MaxConcurrentConnections
150222	}
150223	if ss.Type != "" {
150224		objectMap["type"] = ss.Type
150225	}
150226	for k, v := range ss.AdditionalProperties {
150227		objectMap[k] = v
150228	}
150229	return json.Marshal(objectMap)
150230}
150231
150232// AsAmazonRedshiftSource is the BasicCopySource implementation for SalesforceSource.
150233func (ss SalesforceSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
150234	return nil, false
150235}
150236
150237// AsGoogleAdWordsSource is the BasicCopySource implementation for SalesforceSource.
150238func (ss SalesforceSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) {
150239	return nil, false
150240}
150241
150242// AsOracleServiceCloudSource is the BasicCopySource implementation for SalesforceSource.
150243func (ss SalesforceSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) {
150244	return nil, false
150245}
150246
150247// AsDynamicsAXSource is the BasicCopySource implementation for SalesforceSource.
150248func (ss SalesforceSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) {
150249	return nil, false
150250}
150251
150252// AsResponsysSource is the BasicCopySource implementation for SalesforceSource.
150253func (ss SalesforceSource) AsResponsysSource() (*ResponsysSource, bool) {
150254	return nil, false
150255}
150256
150257// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for SalesforceSource.
150258func (ss SalesforceSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
150259	return nil, false
150260}
150261
150262// AsVerticaSource is the BasicCopySource implementation for SalesforceSource.
150263func (ss SalesforceSource) AsVerticaSource() (*VerticaSource, bool) {
150264	return nil, false
150265}
150266
150267// AsNetezzaSource is the BasicCopySource implementation for SalesforceSource.
150268func (ss SalesforceSource) AsNetezzaSource() (*NetezzaSource, bool) {
150269	return nil, false
150270}
150271
150272// AsZohoSource is the BasicCopySource implementation for SalesforceSource.
150273func (ss SalesforceSource) AsZohoSource() (*ZohoSource, bool) {
150274	return nil, false
150275}
150276
150277// AsXeroSource is the BasicCopySource implementation for SalesforceSource.
150278func (ss SalesforceSource) AsXeroSource() (*XeroSource, bool) {
150279	return nil, false
150280}
150281
150282// AsSquareSource is the BasicCopySource implementation for SalesforceSource.
150283func (ss SalesforceSource) AsSquareSource() (*SquareSource, bool) {
150284	return nil, false
150285}
150286
150287// AsSparkSource is the BasicCopySource implementation for SalesforceSource.
150288func (ss SalesforceSource) AsSparkSource() (*SparkSource, bool) {
150289	return nil, false
150290}
150291
150292// AsShopifySource is the BasicCopySource implementation for SalesforceSource.
150293func (ss SalesforceSource) AsShopifySource() (*ShopifySource, bool) {
150294	return nil, false
150295}
150296
150297// AsServiceNowSource is the BasicCopySource implementation for SalesforceSource.
150298func (ss SalesforceSource) AsServiceNowSource() (*ServiceNowSource, bool) {
150299	return nil, false
150300}
150301
150302// AsQuickBooksSource is the BasicCopySource implementation for SalesforceSource.
150303func (ss SalesforceSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
150304	return nil, false
150305}
150306
150307// AsPrestoSource is the BasicCopySource implementation for SalesforceSource.
150308func (ss SalesforceSource) AsPrestoSource() (*PrestoSource, bool) {
150309	return nil, false
150310}
150311
150312// AsPhoenixSource is the BasicCopySource implementation for SalesforceSource.
150313func (ss SalesforceSource) AsPhoenixSource() (*PhoenixSource, bool) {
150314	return nil, false
150315}
150316
150317// AsPaypalSource is the BasicCopySource implementation for SalesforceSource.
150318func (ss SalesforceSource) AsPaypalSource() (*PaypalSource, bool) {
150319	return nil, false
150320}
150321
150322// AsMarketoSource is the BasicCopySource implementation for SalesforceSource.
150323func (ss SalesforceSource) AsMarketoSource() (*MarketoSource, bool) {
150324	return nil, false
150325}
150326
150327// AsMariaDBSource is the BasicCopySource implementation for SalesforceSource.
150328func (ss SalesforceSource) AsMariaDBSource() (*MariaDBSource, bool) {
150329	return nil, false
150330}
150331
150332// AsMagentoSource is the BasicCopySource implementation for SalesforceSource.
150333func (ss SalesforceSource) AsMagentoSource() (*MagentoSource, bool) {
150334	return nil, false
150335}
150336
150337// AsJiraSource is the BasicCopySource implementation for SalesforceSource.
150338func (ss SalesforceSource) AsJiraSource() (*JiraSource, bool) {
150339	return nil, false
150340}
150341
150342// AsImpalaSource is the BasicCopySource implementation for SalesforceSource.
150343func (ss SalesforceSource) AsImpalaSource() (*ImpalaSource, bool) {
150344	return nil, false
150345}
150346
150347// AsHubspotSource is the BasicCopySource implementation for SalesforceSource.
150348func (ss SalesforceSource) AsHubspotSource() (*HubspotSource, bool) {
150349	return nil, false
150350}
150351
150352// AsHiveSource is the BasicCopySource implementation for SalesforceSource.
150353func (ss SalesforceSource) AsHiveSource() (*HiveSource, bool) {
150354	return nil, false
150355}
150356
150357// AsHBaseSource is the BasicCopySource implementation for SalesforceSource.
150358func (ss SalesforceSource) AsHBaseSource() (*HBaseSource, bool) {
150359	return nil, false
150360}
150361
150362// AsGreenplumSource is the BasicCopySource implementation for SalesforceSource.
150363func (ss SalesforceSource) AsGreenplumSource() (*GreenplumSource, bool) {
150364	return nil, false
150365}
150366
150367// AsGoogleBigQuerySource is the BasicCopySource implementation for SalesforceSource.
150368func (ss SalesforceSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
150369	return nil, false
150370}
150371
150372// AsEloquaSource is the BasicCopySource implementation for SalesforceSource.
150373func (ss SalesforceSource) AsEloquaSource() (*EloquaSource, bool) {
150374	return nil, false
150375}
150376
150377// AsDrillSource is the BasicCopySource implementation for SalesforceSource.
150378func (ss SalesforceSource) AsDrillSource() (*DrillSource, bool) {
150379	return nil, false
150380}
150381
150382// AsCouchbaseSource is the BasicCopySource implementation for SalesforceSource.
150383func (ss SalesforceSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
150384	return nil, false
150385}
150386
150387// AsConcurSource is the BasicCopySource implementation for SalesforceSource.
150388func (ss SalesforceSource) AsConcurSource() (*ConcurSource, bool) {
150389	return nil, false
150390}
150391
150392// AsAzurePostgreSQLSource is the BasicCopySource implementation for SalesforceSource.
150393func (ss SalesforceSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
150394	return nil, false
150395}
150396
150397// AsAmazonMWSSource is the BasicCopySource implementation for SalesforceSource.
150398func (ss SalesforceSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
150399	return nil, false
150400}
150401
150402// AsHTTPSource is the BasicCopySource implementation for SalesforceSource.
150403func (ss SalesforceSource) AsHTTPSource() (*HTTPSource, bool) {
150404	return nil, false
150405}
150406
150407// AsAzureBlobFSSource is the BasicCopySource implementation for SalesforceSource.
150408func (ss SalesforceSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) {
150409	return nil, false
150410}
150411
150412// AsAzureDataLakeStoreSource is the BasicCopySource implementation for SalesforceSource.
150413func (ss SalesforceSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
150414	return nil, false
150415}
150416
150417// AsOffice365Source is the BasicCopySource implementation for SalesforceSource.
150418func (ss SalesforceSource) AsOffice365Source() (*Office365Source, bool) {
150419	return nil, false
150420}
150421
150422// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for SalesforceSource.
150423func (ss SalesforceSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) {
150424	return nil, false
150425}
150426
150427// AsMongoDbV2Source is the BasicCopySource implementation for SalesforceSource.
150428func (ss SalesforceSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) {
150429	return nil, false
150430}
150431
150432// AsMongoDbSource is the BasicCopySource implementation for SalesforceSource.
150433func (ss SalesforceSource) AsMongoDbSource() (*MongoDbSource, bool) {
150434	return nil, false
150435}
150436
150437// AsCassandraSource is the BasicCopySource implementation for SalesforceSource.
150438func (ss SalesforceSource) AsCassandraSource() (*CassandraSource, bool) {
150439	return nil, false
150440}
150441
150442// AsWebSource is the BasicCopySource implementation for SalesforceSource.
150443func (ss SalesforceSource) AsWebSource() (*WebSource, bool) {
150444	return nil, false
150445}
150446
150447// AsTeradataSource is the BasicCopySource implementation for SalesforceSource.
150448func (ss SalesforceSource) AsTeradataSource() (*TeradataSource, bool) {
150449	return nil, false
150450}
150451
150452// AsOracleSource is the BasicCopySource implementation for SalesforceSource.
150453func (ss SalesforceSource) AsOracleSource() (*OracleSource, bool) {
150454	return nil, false
150455}
150456
150457// AsAzureDataExplorerSource is the BasicCopySource implementation for SalesforceSource.
150458func (ss SalesforceSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) {
150459	return nil, false
150460}
150461
150462// AsAzureMySQLSource is the BasicCopySource implementation for SalesforceSource.
150463func (ss SalesforceSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
150464	return nil, false
150465}
150466
150467// AsHdfsSource is the BasicCopySource implementation for SalesforceSource.
150468func (ss SalesforceSource) AsHdfsSource() (*HdfsSource, bool) {
150469	return nil, false
150470}
150471
150472// AsFileSystemSource is the BasicCopySource implementation for SalesforceSource.
150473func (ss SalesforceSource) AsFileSystemSource() (*FileSystemSource, bool) {
150474	return nil, false
150475}
150476
150477// AsSQLDWSource is the BasicCopySource implementation for SalesforceSource.
150478func (ss SalesforceSource) AsSQLDWSource() (*SQLDWSource, bool) {
150479	return nil, false
150480}
150481
150482// AsSQLMISource is the BasicCopySource implementation for SalesforceSource.
150483func (ss SalesforceSource) AsSQLMISource() (*SQLMISource, bool) {
150484	return nil, false
150485}
150486
150487// AsAzureSQLSource is the BasicCopySource implementation for SalesforceSource.
150488func (ss SalesforceSource) AsAzureSQLSource() (*AzureSQLSource, bool) {
150489	return nil, false
150490}
150491
150492// AsSQLServerSource is the BasicCopySource implementation for SalesforceSource.
150493func (ss SalesforceSource) AsSQLServerSource() (*SQLServerSource, bool) {
150494	return nil, false
150495}
150496
150497// AsSQLSource is the BasicCopySource implementation for SalesforceSource.
150498func (ss SalesforceSource) AsSQLSource() (*SQLSource, bool) {
150499	return nil, false
150500}
150501
150502// AsRestSource is the BasicCopySource implementation for SalesforceSource.
150503func (ss SalesforceSource) AsRestSource() (*RestSource, bool) {
150504	return nil, false
150505}
150506
150507// AsSapTableSource is the BasicCopySource implementation for SalesforceSource.
150508func (ss SalesforceSource) AsSapTableSource() (*SapTableSource, bool) {
150509	return nil, false
150510}
150511
150512// AsSapOpenHubSource is the BasicCopySource implementation for SalesforceSource.
150513func (ss SalesforceSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) {
150514	return nil, false
150515}
150516
150517// AsSapHanaSource is the BasicCopySource implementation for SalesforceSource.
150518func (ss SalesforceSource) AsSapHanaSource() (*SapHanaSource, bool) {
150519	return nil, false
150520}
150521
150522// AsSapEccSource is the BasicCopySource implementation for SalesforceSource.
150523func (ss SalesforceSource) AsSapEccSource() (*SapEccSource, bool) {
150524	return nil, false
150525}
150526
150527// AsSapCloudForCustomerSource is the BasicCopySource implementation for SalesforceSource.
150528func (ss SalesforceSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
150529	return nil, false
150530}
150531
150532// AsSalesforceServiceCloudSource is the BasicCopySource implementation for SalesforceSource.
150533func (ss SalesforceSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) {
150534	return nil, false
150535}
150536
150537// AsSalesforceSource is the BasicCopySource implementation for SalesforceSource.
150538func (ss SalesforceSource) AsSalesforceSource() (*SalesforceSource, bool) {
150539	return &ss, true
150540}
150541
150542// AsODataSource is the BasicCopySource implementation for SalesforceSource.
150543func (ss SalesforceSource) AsODataSource() (*ODataSource, bool) {
150544	return nil, false
150545}
150546
150547// AsSybaseSource is the BasicCopySource implementation for SalesforceSource.
150548func (ss SalesforceSource) AsSybaseSource() (*SybaseSource, bool) {
150549	return nil, false
150550}
150551
150552// AsPostgreSQLSource is the BasicCopySource implementation for SalesforceSource.
150553func (ss SalesforceSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) {
150554	return nil, false
150555}
150556
150557// AsMySQLSource is the BasicCopySource implementation for SalesforceSource.
150558func (ss SalesforceSource) AsMySQLSource() (*MySQLSource, bool) {
150559	return nil, false
150560}
150561
150562// AsOdbcSource is the BasicCopySource implementation for SalesforceSource.
150563func (ss SalesforceSource) AsOdbcSource() (*OdbcSource, bool) {
150564	return nil, false
150565}
150566
150567// AsDb2Source is the BasicCopySource implementation for SalesforceSource.
150568func (ss SalesforceSource) AsDb2Source() (*Db2Source, bool) {
150569	return nil, false
150570}
150571
150572// AsMicrosoftAccessSource is the BasicCopySource implementation for SalesforceSource.
150573func (ss SalesforceSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) {
150574	return nil, false
150575}
150576
150577// AsInformixSource is the BasicCopySource implementation for SalesforceSource.
150578func (ss SalesforceSource) AsInformixSource() (*InformixSource, bool) {
150579	return nil, false
150580}
150581
150582// AsRelationalSource is the BasicCopySource implementation for SalesforceSource.
150583func (ss SalesforceSource) AsRelationalSource() (*RelationalSource, bool) {
150584	return nil, false
150585}
150586
150587// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for SalesforceSource.
150588func (ss SalesforceSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) {
150589	return nil, false
150590}
150591
150592// AsDynamicsCrmSource is the BasicCopySource implementation for SalesforceSource.
150593func (ss SalesforceSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) {
150594	return nil, false
150595}
150596
150597// AsDynamicsSource is the BasicCopySource implementation for SalesforceSource.
150598func (ss SalesforceSource) AsDynamicsSource() (*DynamicsSource, bool) {
150599	return nil, false
150600}
150601
150602// AsDocumentDbCollectionSource is the BasicCopySource implementation for SalesforceSource.
150603func (ss SalesforceSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
150604	return nil, false
150605}
150606
150607// AsBlobSource is the BasicCopySource implementation for SalesforceSource.
150608func (ss SalesforceSource) AsBlobSource() (*BlobSource, bool) {
150609	return nil, false
150610}
150611
150612// AsAzureTableSource is the BasicCopySource implementation for SalesforceSource.
150613func (ss SalesforceSource) AsAzureTableSource() (*AzureTableSource, bool) {
150614	return nil, false
150615}
150616
150617// AsBinarySource is the BasicCopySource implementation for SalesforceSource.
150618func (ss SalesforceSource) AsBinarySource() (*BinarySource, bool) {
150619	return nil, false
150620}
150621
150622// AsDelimitedTextSource is the BasicCopySource implementation for SalesforceSource.
150623func (ss SalesforceSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) {
150624	return nil, false
150625}
150626
150627// AsParquetSource is the BasicCopySource implementation for SalesforceSource.
150628func (ss SalesforceSource) AsParquetSource() (*ParquetSource, bool) {
150629	return nil, false
150630}
150631
150632// AsCopySource is the BasicCopySource implementation for SalesforceSource.
150633func (ss SalesforceSource) AsCopySource() (*CopySource, bool) {
150634	return nil, false
150635}
150636
150637// AsBasicCopySource is the BasicCopySource implementation for SalesforceSource.
150638func (ss SalesforceSource) AsBasicCopySource() (BasicCopySource, bool) {
150639	return &ss, true
150640}
150641
150642// UnmarshalJSON is the custom unmarshaler for SalesforceSource struct.
150643func (ss *SalesforceSource) UnmarshalJSON(body []byte) error {
150644	var m map[string]*json.RawMessage
150645	err := json.Unmarshal(body, &m)
150646	if err != nil {
150647		return err
150648	}
150649	for k, v := range m {
150650		switch k {
150651		case "query":
150652			if v != nil {
150653				var query interface{}
150654				err = json.Unmarshal(*v, &query)
150655				if err != nil {
150656					return err
150657				}
150658				ss.Query = query
150659			}
150660		case "readBehavior":
150661			if v != nil {
150662				var readBehavior SalesforceSourceReadBehavior
150663				err = json.Unmarshal(*v, &readBehavior)
150664				if err != nil {
150665					return err
150666				}
150667				ss.ReadBehavior = readBehavior
150668			}
150669		default:
150670			if v != nil {
150671				var additionalProperties interface{}
150672				err = json.Unmarshal(*v, &additionalProperties)
150673				if err != nil {
150674					return err
150675				}
150676				if ss.AdditionalProperties == nil {
150677					ss.AdditionalProperties = make(map[string]interface{})
150678				}
150679				ss.AdditionalProperties[k] = additionalProperties
150680			}
150681		case "sourceRetryCount":
150682			if v != nil {
150683				var sourceRetryCount interface{}
150684				err = json.Unmarshal(*v, &sourceRetryCount)
150685				if err != nil {
150686					return err
150687				}
150688				ss.SourceRetryCount = sourceRetryCount
150689			}
150690		case "sourceRetryWait":
150691			if v != nil {
150692				var sourceRetryWait interface{}
150693				err = json.Unmarshal(*v, &sourceRetryWait)
150694				if err != nil {
150695					return err
150696				}
150697				ss.SourceRetryWait = sourceRetryWait
150698			}
150699		case "maxConcurrentConnections":
150700			if v != nil {
150701				var maxConcurrentConnections interface{}
150702				err = json.Unmarshal(*v, &maxConcurrentConnections)
150703				if err != nil {
150704					return err
150705				}
150706				ss.MaxConcurrentConnections = maxConcurrentConnections
150707			}
150708		case "type":
150709			if v != nil {
150710				var typeVar TypeBasicCopySource
150711				err = json.Unmarshal(*v, &typeVar)
150712				if err != nil {
150713					return err
150714				}
150715				ss.Type = typeVar
150716			}
150717		}
150718	}
150719
150720	return nil
150721}
150722
150723// SapBWLinkedService SAP Business Warehouse Linked Service.
150724type SapBWLinkedService struct {
150725	// SapBWLinkedServiceTypeProperties - Properties specific to this linked service type.
150726	*SapBWLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
150727	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
150728	AdditionalProperties map[string]interface{} `json:""`
150729	// ConnectVia - The integration runtime reference.
150730	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
150731	// Description - Linked service description.
150732	Description *string `json:"description,omitempty"`
150733	// Parameters - Parameters for linked service.
150734	Parameters map[string]*ParameterSpecification `json:"parameters"`
150735	// Annotations - List of tags that can be used for describing the linked service.
150736	Annotations *[]interface{} `json:"annotations,omitempty"`
150737	// Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', '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', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage'
150738	Type TypeBasicLinkedService `json:"type,omitempty"`
150739}
150740
150741// MarshalJSON is the custom marshaler for SapBWLinkedService.
150742func (sbls SapBWLinkedService) MarshalJSON() ([]byte, error) {
150743	sbls.Type = TypeSapBW
150744	objectMap := make(map[string]interface{})
150745	if sbls.SapBWLinkedServiceTypeProperties != nil {
150746		objectMap["typeProperties"] = sbls.SapBWLinkedServiceTypeProperties
150747	}
150748	if sbls.ConnectVia != nil {
150749		objectMap["connectVia"] = sbls.ConnectVia
150750	}
150751	if sbls.Description != nil {
150752		objectMap["description"] = sbls.Description
150753	}
150754	if sbls.Parameters != nil {
150755		objectMap["parameters"] = sbls.Parameters
150756	}
150757	if sbls.Annotations != nil {
150758		objectMap["annotations"] = sbls.Annotations
150759	}
150760	if sbls.Type != "" {
150761		objectMap["type"] = sbls.Type
150762	}
150763	for k, v := range sbls.AdditionalProperties {
150764		objectMap[k] = v
150765	}
150766	return json.Marshal(objectMap)
150767}
150768
150769// AsAzureFunctionLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
150770func (sbls SapBWLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) {
150771	return nil, false
150772}
150773
150774// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
150775func (sbls SapBWLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) {
150776	return nil, false
150777}
150778
150779// AsSapTableLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
150780func (sbls SapBWLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) {
150781	return nil, false
150782}
150783
150784// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
150785func (sbls SapBWLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) {
150786	return nil, false
150787}
150788
150789// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
150790func (sbls SapBWLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) {
150791	return nil, false
150792}
150793
150794// AsDynamicsAXLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
150795func (sbls SapBWLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) {
150796	return nil, false
150797}
150798
150799// AsResponsysLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
150800func (sbls SapBWLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
150801	return nil, false
150802}
150803
150804// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
150805func (sbls SapBWLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
150806	return nil, false
150807}
150808
150809// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
150810func (sbls SapBWLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
150811	return nil, false
150812}
150813
150814// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
150815func (sbls SapBWLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
150816	return nil, false
150817}
150818
150819// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
150820func (sbls SapBWLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
150821	return nil, false
150822}
150823
150824// AsNetezzaLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
150825func (sbls SapBWLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
150826	return nil, false
150827}
150828
150829// AsVerticaLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
150830func (sbls SapBWLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
150831	return nil, false
150832}
150833
150834// AsZohoLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
150835func (sbls SapBWLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
150836	return nil, false
150837}
150838
150839// AsXeroLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
150840func (sbls SapBWLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
150841	return nil, false
150842}
150843
150844// AsSquareLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
150845func (sbls SapBWLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
150846	return nil, false
150847}
150848
150849// AsSparkLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
150850func (sbls SapBWLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
150851	return nil, false
150852}
150853
150854// AsShopifyLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
150855func (sbls SapBWLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
150856	return nil, false
150857}
150858
150859// AsServiceNowLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
150860func (sbls SapBWLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
150861	return nil, false
150862}
150863
150864// AsQuickBooksLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
150865func (sbls SapBWLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
150866	return nil, false
150867}
150868
150869// AsPrestoLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
150870func (sbls SapBWLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
150871	return nil, false
150872}
150873
150874// AsPhoenixLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
150875func (sbls SapBWLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
150876	return nil, false
150877}
150878
150879// AsPaypalLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
150880func (sbls SapBWLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
150881	return nil, false
150882}
150883
150884// AsMarketoLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
150885func (sbls SapBWLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
150886	return nil, false
150887}
150888
150889// AsMariaDBLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
150890func (sbls SapBWLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
150891	return nil, false
150892}
150893
150894// AsMagentoLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
150895func (sbls SapBWLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
150896	return nil, false
150897}
150898
150899// AsJiraLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
150900func (sbls SapBWLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
150901	return nil, false
150902}
150903
150904// AsImpalaLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
150905func (sbls SapBWLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
150906	return nil, false
150907}
150908
150909// AsHubspotLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
150910func (sbls SapBWLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
150911	return nil, false
150912}
150913
150914// AsHiveLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
150915func (sbls SapBWLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
150916	return nil, false
150917}
150918
150919// AsHBaseLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
150920func (sbls SapBWLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
150921	return nil, false
150922}
150923
150924// AsGreenplumLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
150925func (sbls SapBWLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
150926	return nil, false
150927}
150928
150929// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
150930func (sbls SapBWLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
150931	return nil, false
150932}
150933
150934// AsEloquaLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
150935func (sbls SapBWLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
150936	return nil, false
150937}
150938
150939// AsDrillLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
150940func (sbls SapBWLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
150941	return nil, false
150942}
150943
150944// AsCouchbaseLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
150945func (sbls SapBWLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
150946	return nil, false
150947}
150948
150949// AsConcurLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
150950func (sbls SapBWLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
150951	return nil, false
150952}
150953
150954// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
150955func (sbls SapBWLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
150956	return nil, false
150957}
150958
150959// AsAmazonMWSLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
150960func (sbls SapBWLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
150961	return nil, false
150962}
150963
150964// AsSapHanaLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
150965func (sbls SapBWLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
150966	return nil, false
150967}
150968
150969// AsSapBWLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
150970func (sbls SapBWLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
150971	return &sbls, true
150972}
150973
150974// AsSftpServerLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
150975func (sbls SapBWLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
150976	return nil, false
150977}
150978
150979// AsFtpServerLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
150980func (sbls SapBWLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
150981	return nil, false
150982}
150983
150984// AsHTTPLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
150985func (sbls SapBWLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
150986	return nil, false
150987}
150988
150989// AsAzureSearchLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
150990func (sbls SapBWLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
150991	return nil, false
150992}
150993
150994// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
150995func (sbls SapBWLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
150996	return nil, false
150997}
150998
150999// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
151000func (sbls SapBWLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
151001	return nil, false
151002}
151003
151004// AsAmazonS3LinkedService is the BasicLinkedService implementation for SapBWLinkedService.
151005func (sbls SapBWLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
151006	return nil, false
151007}
151008
151009// AsRestServiceLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
151010func (sbls SapBWLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) {
151011	return nil, false
151012}
151013
151014// AsSapOpenHubLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
151015func (sbls SapBWLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) {
151016	return nil, false
151017}
151018
151019// AsSapEccLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
151020func (sbls SapBWLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
151021	return nil, false
151022}
151023
151024// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
151025func (sbls SapBWLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
151026	return nil, false
151027}
151028
151029// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
151030func (sbls SapBWLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) {
151031	return nil, false
151032}
151033
151034// AsSalesforceLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
151035func (sbls SapBWLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
151036	return nil, false
151037}
151038
151039// AsOffice365LinkedService is the BasicLinkedService implementation for SapBWLinkedService.
151040func (sbls SapBWLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) {
151041	return nil, false
151042}
151043
151044// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
151045func (sbls SapBWLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) {
151046	return nil, false
151047}
151048
151049// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
151050func (sbls SapBWLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
151051	return nil, false
151052}
151053
151054// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for SapBWLinkedService.
151055func (sbls SapBWLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) {
151056	return nil, false
151057}
151058
151059// AsMongoDbV2LinkedService is the BasicLinkedService implementation for SapBWLinkedService.
151060func (sbls SapBWLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) {
151061	return nil, false
151062}
151063
151064// AsMongoDbLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
151065func (sbls SapBWLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
151066	return nil, false
151067}
151068
151069// AsCassandraLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
151070func (sbls SapBWLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
151071	return nil, false
151072}
151073
151074// AsWebLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
151075func (sbls SapBWLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
151076	return nil, false
151077}
151078
151079// AsODataLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
151080func (sbls SapBWLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
151081	return nil, false
151082}
151083
151084// AsHdfsLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
151085func (sbls SapBWLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
151086	return nil, false
151087}
151088
151089// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
151090func (sbls SapBWLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) {
151091	return nil, false
151092}
151093
151094// AsInformixLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
151095func (sbls SapBWLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) {
151096	return nil, false
151097}
151098
151099// AsOdbcLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
151100func (sbls SapBWLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
151101	return nil, false
151102}
151103
151104// AsAzureMLLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
151105func (sbls SapBWLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
151106	return nil, false
151107}
151108
151109// AsTeradataLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
151110func (sbls SapBWLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
151111	return nil, false
151112}
151113
151114// AsDb2LinkedService is the BasicLinkedService implementation for SapBWLinkedService.
151115func (sbls SapBWLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
151116	return nil, false
151117}
151118
151119// AsSybaseLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
151120func (sbls SapBWLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
151121	return nil, false
151122}
151123
151124// AsPostgreSQLLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
151125func (sbls SapBWLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
151126	return nil, false
151127}
151128
151129// AsMySQLLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
151130func (sbls SapBWLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
151131	return nil, false
151132}
151133
151134// AsAzureMySQLLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
151135func (sbls SapBWLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
151136	return nil, false
151137}
151138
151139// AsOracleLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
151140func (sbls SapBWLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
151141	return nil, false
151142}
151143
151144// AsFileServerLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
151145func (sbls SapBWLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
151146	return nil, false
151147}
151148
151149// AsHDInsightLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
151150func (sbls SapBWLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
151151	return nil, false
151152}
151153
151154// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
151155func (sbls SapBWLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) {
151156	return nil, false
151157}
151158
151159// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
151160func (sbls SapBWLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) {
151161	return nil, false
151162}
151163
151164// AsDynamicsLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
151165func (sbls SapBWLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
151166	return nil, false
151167}
151168
151169// AsCosmosDbLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
151170func (sbls SapBWLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
151171	return nil, false
151172}
151173
151174// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
151175func (sbls SapBWLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
151176	return nil, false
151177}
151178
151179// AsAzureBatchLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
151180func (sbls SapBWLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
151181	return nil, false
151182}
151183
151184// AsAzureSQLMILinkedService is the BasicLinkedService implementation for SapBWLinkedService.
151185func (sbls SapBWLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) {
151186	return nil, false
151187}
151188
151189// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
151190func (sbls SapBWLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
151191	return nil, false
151192}
151193
151194// AsSQLServerLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
151195func (sbls SapBWLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
151196	return nil, false
151197}
151198
151199// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
151200func (sbls SapBWLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
151201	return nil, false
151202}
151203
151204// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
151205func (sbls SapBWLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) {
151206	return nil, false
151207}
151208
151209// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
151210func (sbls SapBWLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) {
151211	return nil, false
151212}
151213
151214// AsAzureStorageLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
151215func (sbls SapBWLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
151216	return nil, false
151217}
151218
151219// AsLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
151220func (sbls SapBWLinkedService) AsLinkedService() (*LinkedService, bool) {
151221	return nil, false
151222}
151223
151224// AsBasicLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
151225func (sbls SapBWLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
151226	return &sbls, true
151227}
151228
151229// UnmarshalJSON is the custom unmarshaler for SapBWLinkedService struct.
151230func (sbls *SapBWLinkedService) UnmarshalJSON(body []byte) error {
151231	var m map[string]*json.RawMessage
151232	err := json.Unmarshal(body, &m)
151233	if err != nil {
151234		return err
151235	}
151236	for k, v := range m {
151237		switch k {
151238		case "typeProperties":
151239			if v != nil {
151240				var sapBWLinkedServiceTypeProperties SapBWLinkedServiceTypeProperties
151241				err = json.Unmarshal(*v, &sapBWLinkedServiceTypeProperties)
151242				if err != nil {
151243					return err
151244				}
151245				sbls.SapBWLinkedServiceTypeProperties = &sapBWLinkedServiceTypeProperties
151246			}
151247		default:
151248			if v != nil {
151249				var additionalProperties interface{}
151250				err = json.Unmarshal(*v, &additionalProperties)
151251				if err != nil {
151252					return err
151253				}
151254				if sbls.AdditionalProperties == nil {
151255					sbls.AdditionalProperties = make(map[string]interface{})
151256				}
151257				sbls.AdditionalProperties[k] = additionalProperties
151258			}
151259		case "connectVia":
151260			if v != nil {
151261				var connectVia IntegrationRuntimeReference
151262				err = json.Unmarshal(*v, &connectVia)
151263				if err != nil {
151264					return err
151265				}
151266				sbls.ConnectVia = &connectVia
151267			}
151268		case "description":
151269			if v != nil {
151270				var description string
151271				err = json.Unmarshal(*v, &description)
151272				if err != nil {
151273					return err
151274				}
151275				sbls.Description = &description
151276			}
151277		case "parameters":
151278			if v != nil {
151279				var parameters map[string]*ParameterSpecification
151280				err = json.Unmarshal(*v, &parameters)
151281				if err != nil {
151282					return err
151283				}
151284				sbls.Parameters = parameters
151285			}
151286		case "annotations":
151287			if v != nil {
151288				var annotations []interface{}
151289				err = json.Unmarshal(*v, &annotations)
151290				if err != nil {
151291					return err
151292				}
151293				sbls.Annotations = &annotations
151294			}
151295		case "type":
151296			if v != nil {
151297				var typeVar TypeBasicLinkedService
151298				err = json.Unmarshal(*v, &typeVar)
151299				if err != nil {
151300					return err
151301				}
151302				sbls.Type = typeVar
151303			}
151304		}
151305	}
151306
151307	return nil
151308}
151309
151310// SapBWLinkedServiceTypeProperties properties specific to this linked service type.
151311type SapBWLinkedServiceTypeProperties struct {
151312	// Server - Host name of the SAP BW instance. Type: string (or Expression with resultType string).
151313	Server interface{} `json:"server,omitempty"`
151314	// SystemNumber - System number of the BW system. (Usually a two-digit decimal number represented as a string.) Type: string (or Expression with resultType string).
151315	SystemNumber interface{} `json:"systemNumber,omitempty"`
151316	// 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).
151317	ClientID interface{} `json:"clientId,omitempty"`
151318	// UserName - Username to access the SAP BW server. Type: string (or Expression with resultType string).
151319	UserName interface{} `json:"userName,omitempty"`
151320	// Password - Password to access the SAP BW server.
151321	Password BasicSecretBase `json:"password,omitempty"`
151322	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
151323	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
151324}
151325
151326// UnmarshalJSON is the custom unmarshaler for SapBWLinkedServiceTypeProperties struct.
151327func (sblstp *SapBWLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
151328	var m map[string]*json.RawMessage
151329	err := json.Unmarshal(body, &m)
151330	if err != nil {
151331		return err
151332	}
151333	for k, v := range m {
151334		switch k {
151335		case "server":
151336			if v != nil {
151337				var server interface{}
151338				err = json.Unmarshal(*v, &server)
151339				if err != nil {
151340					return err
151341				}
151342				sblstp.Server = server
151343			}
151344		case "systemNumber":
151345			if v != nil {
151346				var systemNumber interface{}
151347				err = json.Unmarshal(*v, &systemNumber)
151348				if err != nil {
151349					return err
151350				}
151351				sblstp.SystemNumber = systemNumber
151352			}
151353		case "clientId":
151354			if v != nil {
151355				var clientID interface{}
151356				err = json.Unmarshal(*v, &clientID)
151357				if err != nil {
151358					return err
151359				}
151360				sblstp.ClientID = clientID
151361			}
151362		case "userName":
151363			if v != nil {
151364				var userName interface{}
151365				err = json.Unmarshal(*v, &userName)
151366				if err != nil {
151367					return err
151368				}
151369				sblstp.UserName = userName
151370			}
151371		case "password":
151372			if v != nil {
151373				password, err := unmarshalBasicSecretBase(*v)
151374				if err != nil {
151375					return err
151376				}
151377				sblstp.Password = password
151378			}
151379		case "encryptedCredential":
151380			if v != nil {
151381				var encryptedCredential interface{}
151382				err = json.Unmarshal(*v, &encryptedCredential)
151383				if err != nil {
151384					return err
151385				}
151386				sblstp.EncryptedCredential = encryptedCredential
151387			}
151388		}
151389	}
151390
151391	return nil
151392}
151393
151394// SapCloudForCustomerLinkedService linked service for SAP Cloud for Customer.
151395type SapCloudForCustomerLinkedService struct {
151396	// SapCloudForCustomerLinkedServiceTypeProperties - SAP Cloud for Customer linked service properties.
151397	*SapCloudForCustomerLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
151398	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
151399	AdditionalProperties map[string]interface{} `json:""`
151400	// ConnectVia - The integration runtime reference.
151401	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
151402	// Description - Linked service description.
151403	Description *string `json:"description,omitempty"`
151404	// Parameters - Parameters for linked service.
151405	Parameters map[string]*ParameterSpecification `json:"parameters"`
151406	// Annotations - List of tags that can be used for describing the linked service.
151407	Annotations *[]interface{} `json:"annotations,omitempty"`
151408	// Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', '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', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage'
151409	Type TypeBasicLinkedService `json:"type,omitempty"`
151410}
151411
151412// MarshalJSON is the custom marshaler for SapCloudForCustomerLinkedService.
151413func (scfcls SapCloudForCustomerLinkedService) MarshalJSON() ([]byte, error) {
151414	scfcls.Type = TypeSapCloudForCustomer
151415	objectMap := make(map[string]interface{})
151416	if scfcls.SapCloudForCustomerLinkedServiceTypeProperties != nil {
151417		objectMap["typeProperties"] = scfcls.SapCloudForCustomerLinkedServiceTypeProperties
151418	}
151419	if scfcls.ConnectVia != nil {
151420		objectMap["connectVia"] = scfcls.ConnectVia
151421	}
151422	if scfcls.Description != nil {
151423		objectMap["description"] = scfcls.Description
151424	}
151425	if scfcls.Parameters != nil {
151426		objectMap["parameters"] = scfcls.Parameters
151427	}
151428	if scfcls.Annotations != nil {
151429		objectMap["annotations"] = scfcls.Annotations
151430	}
151431	if scfcls.Type != "" {
151432		objectMap["type"] = scfcls.Type
151433	}
151434	for k, v := range scfcls.AdditionalProperties {
151435		objectMap[k] = v
151436	}
151437	return json.Marshal(objectMap)
151438}
151439
151440// AsAzureFunctionLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
151441func (scfcls SapCloudForCustomerLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) {
151442	return nil, false
151443}
151444
151445// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
151446func (scfcls SapCloudForCustomerLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) {
151447	return nil, false
151448}
151449
151450// AsSapTableLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
151451func (scfcls SapCloudForCustomerLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) {
151452	return nil, false
151453}
151454
151455// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
151456func (scfcls SapCloudForCustomerLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) {
151457	return nil, false
151458}
151459
151460// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
151461func (scfcls SapCloudForCustomerLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) {
151462	return nil, false
151463}
151464
151465// AsDynamicsAXLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
151466func (scfcls SapCloudForCustomerLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) {
151467	return nil, false
151468}
151469
151470// AsResponsysLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
151471func (scfcls SapCloudForCustomerLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
151472	return nil, false
151473}
151474
151475// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
151476func (scfcls SapCloudForCustomerLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
151477	return nil, false
151478}
151479
151480// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
151481func (scfcls SapCloudForCustomerLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
151482	return nil, false
151483}
151484
151485// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
151486func (scfcls SapCloudForCustomerLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
151487	return nil, false
151488}
151489
151490// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
151491func (scfcls SapCloudForCustomerLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
151492	return nil, false
151493}
151494
151495// AsNetezzaLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
151496func (scfcls SapCloudForCustomerLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
151497	return nil, false
151498}
151499
151500// AsVerticaLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
151501func (scfcls SapCloudForCustomerLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
151502	return nil, false
151503}
151504
151505// AsZohoLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
151506func (scfcls SapCloudForCustomerLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
151507	return nil, false
151508}
151509
151510// AsXeroLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
151511func (scfcls SapCloudForCustomerLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
151512	return nil, false
151513}
151514
151515// AsSquareLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
151516func (scfcls SapCloudForCustomerLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
151517	return nil, false
151518}
151519
151520// AsSparkLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
151521func (scfcls SapCloudForCustomerLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
151522	return nil, false
151523}
151524
151525// AsShopifyLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
151526func (scfcls SapCloudForCustomerLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
151527	return nil, false
151528}
151529
151530// AsServiceNowLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
151531func (scfcls SapCloudForCustomerLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
151532	return nil, false
151533}
151534
151535// AsQuickBooksLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
151536func (scfcls SapCloudForCustomerLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
151537	return nil, false
151538}
151539
151540// AsPrestoLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
151541func (scfcls SapCloudForCustomerLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
151542	return nil, false
151543}
151544
151545// AsPhoenixLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
151546func (scfcls SapCloudForCustomerLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
151547	return nil, false
151548}
151549
151550// AsPaypalLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
151551func (scfcls SapCloudForCustomerLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
151552	return nil, false
151553}
151554
151555// AsMarketoLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
151556func (scfcls SapCloudForCustomerLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
151557	return nil, false
151558}
151559
151560// AsMariaDBLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
151561func (scfcls SapCloudForCustomerLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
151562	return nil, false
151563}
151564
151565// AsMagentoLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
151566func (scfcls SapCloudForCustomerLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
151567	return nil, false
151568}
151569
151570// AsJiraLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
151571func (scfcls SapCloudForCustomerLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
151572	return nil, false
151573}
151574
151575// AsImpalaLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
151576func (scfcls SapCloudForCustomerLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
151577	return nil, false
151578}
151579
151580// AsHubspotLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
151581func (scfcls SapCloudForCustomerLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
151582	return nil, false
151583}
151584
151585// AsHiveLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
151586func (scfcls SapCloudForCustomerLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
151587	return nil, false
151588}
151589
151590// AsHBaseLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
151591func (scfcls SapCloudForCustomerLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
151592	return nil, false
151593}
151594
151595// AsGreenplumLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
151596func (scfcls SapCloudForCustomerLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
151597	return nil, false
151598}
151599
151600// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
151601func (scfcls SapCloudForCustomerLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
151602	return nil, false
151603}
151604
151605// AsEloquaLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
151606func (scfcls SapCloudForCustomerLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
151607	return nil, false
151608}
151609
151610// AsDrillLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
151611func (scfcls SapCloudForCustomerLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
151612	return nil, false
151613}
151614
151615// AsCouchbaseLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
151616func (scfcls SapCloudForCustomerLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
151617	return nil, false
151618}
151619
151620// AsConcurLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
151621func (scfcls SapCloudForCustomerLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
151622	return nil, false
151623}
151624
151625// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
151626func (scfcls SapCloudForCustomerLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
151627	return nil, false
151628}
151629
151630// AsAmazonMWSLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
151631func (scfcls SapCloudForCustomerLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
151632	return nil, false
151633}
151634
151635// AsSapHanaLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
151636func (scfcls SapCloudForCustomerLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
151637	return nil, false
151638}
151639
151640// AsSapBWLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
151641func (scfcls SapCloudForCustomerLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
151642	return nil, false
151643}
151644
151645// AsSftpServerLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
151646func (scfcls SapCloudForCustomerLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
151647	return nil, false
151648}
151649
151650// AsFtpServerLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
151651func (scfcls SapCloudForCustomerLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
151652	return nil, false
151653}
151654
151655// AsHTTPLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
151656func (scfcls SapCloudForCustomerLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
151657	return nil, false
151658}
151659
151660// AsAzureSearchLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
151661func (scfcls SapCloudForCustomerLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
151662	return nil, false
151663}
151664
151665// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
151666func (scfcls SapCloudForCustomerLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
151667	return nil, false
151668}
151669
151670// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
151671func (scfcls SapCloudForCustomerLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
151672	return nil, false
151673}
151674
151675// AsAmazonS3LinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
151676func (scfcls SapCloudForCustomerLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
151677	return nil, false
151678}
151679
151680// AsRestServiceLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
151681func (scfcls SapCloudForCustomerLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) {
151682	return nil, false
151683}
151684
151685// AsSapOpenHubLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
151686func (scfcls SapCloudForCustomerLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) {
151687	return nil, false
151688}
151689
151690// AsSapEccLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
151691func (scfcls SapCloudForCustomerLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
151692	return nil, false
151693}
151694
151695// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
151696func (scfcls SapCloudForCustomerLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
151697	return &scfcls, true
151698}
151699
151700// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
151701func (scfcls SapCloudForCustomerLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) {
151702	return nil, false
151703}
151704
151705// AsSalesforceLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
151706func (scfcls SapCloudForCustomerLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
151707	return nil, false
151708}
151709
151710// AsOffice365LinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
151711func (scfcls SapCloudForCustomerLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) {
151712	return nil, false
151713}
151714
151715// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
151716func (scfcls SapCloudForCustomerLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) {
151717	return nil, false
151718}
151719
151720// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
151721func (scfcls SapCloudForCustomerLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
151722	return nil, false
151723}
151724
151725// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
151726func (scfcls SapCloudForCustomerLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) {
151727	return nil, false
151728}
151729
151730// AsMongoDbV2LinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
151731func (scfcls SapCloudForCustomerLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) {
151732	return nil, false
151733}
151734
151735// AsMongoDbLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
151736func (scfcls SapCloudForCustomerLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
151737	return nil, false
151738}
151739
151740// AsCassandraLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
151741func (scfcls SapCloudForCustomerLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
151742	return nil, false
151743}
151744
151745// AsWebLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
151746func (scfcls SapCloudForCustomerLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
151747	return nil, false
151748}
151749
151750// AsODataLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
151751func (scfcls SapCloudForCustomerLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
151752	return nil, false
151753}
151754
151755// AsHdfsLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
151756func (scfcls SapCloudForCustomerLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
151757	return nil, false
151758}
151759
151760// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
151761func (scfcls SapCloudForCustomerLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) {
151762	return nil, false
151763}
151764
151765// AsInformixLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
151766func (scfcls SapCloudForCustomerLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) {
151767	return nil, false
151768}
151769
151770// AsOdbcLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
151771func (scfcls SapCloudForCustomerLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
151772	return nil, false
151773}
151774
151775// AsAzureMLLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
151776func (scfcls SapCloudForCustomerLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
151777	return nil, false
151778}
151779
151780// AsTeradataLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
151781func (scfcls SapCloudForCustomerLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
151782	return nil, false
151783}
151784
151785// AsDb2LinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
151786func (scfcls SapCloudForCustomerLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
151787	return nil, false
151788}
151789
151790// AsSybaseLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
151791func (scfcls SapCloudForCustomerLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
151792	return nil, false
151793}
151794
151795// AsPostgreSQLLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
151796func (scfcls SapCloudForCustomerLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
151797	return nil, false
151798}
151799
151800// AsMySQLLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
151801func (scfcls SapCloudForCustomerLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
151802	return nil, false
151803}
151804
151805// AsAzureMySQLLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
151806func (scfcls SapCloudForCustomerLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
151807	return nil, false
151808}
151809
151810// AsOracleLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
151811func (scfcls SapCloudForCustomerLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
151812	return nil, false
151813}
151814
151815// AsFileServerLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
151816func (scfcls SapCloudForCustomerLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
151817	return nil, false
151818}
151819
151820// AsHDInsightLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
151821func (scfcls SapCloudForCustomerLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
151822	return nil, false
151823}
151824
151825// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
151826func (scfcls SapCloudForCustomerLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) {
151827	return nil, false
151828}
151829
151830// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
151831func (scfcls SapCloudForCustomerLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) {
151832	return nil, false
151833}
151834
151835// AsDynamicsLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
151836func (scfcls SapCloudForCustomerLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
151837	return nil, false
151838}
151839
151840// AsCosmosDbLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
151841func (scfcls SapCloudForCustomerLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
151842	return nil, false
151843}
151844
151845// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
151846func (scfcls SapCloudForCustomerLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
151847	return nil, false
151848}
151849
151850// AsAzureBatchLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
151851func (scfcls SapCloudForCustomerLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
151852	return nil, false
151853}
151854
151855// AsAzureSQLMILinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
151856func (scfcls SapCloudForCustomerLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) {
151857	return nil, false
151858}
151859
151860// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
151861func (scfcls SapCloudForCustomerLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
151862	return nil, false
151863}
151864
151865// AsSQLServerLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
151866func (scfcls SapCloudForCustomerLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
151867	return nil, false
151868}
151869
151870// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
151871func (scfcls SapCloudForCustomerLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
151872	return nil, false
151873}
151874
151875// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
151876func (scfcls SapCloudForCustomerLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) {
151877	return nil, false
151878}
151879
151880// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
151881func (scfcls SapCloudForCustomerLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) {
151882	return nil, false
151883}
151884
151885// AsAzureStorageLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
151886func (scfcls SapCloudForCustomerLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
151887	return nil, false
151888}
151889
151890// AsLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
151891func (scfcls SapCloudForCustomerLinkedService) AsLinkedService() (*LinkedService, bool) {
151892	return nil, false
151893}
151894
151895// AsBasicLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
151896func (scfcls SapCloudForCustomerLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
151897	return &scfcls, true
151898}
151899
151900// UnmarshalJSON is the custom unmarshaler for SapCloudForCustomerLinkedService struct.
151901func (scfcls *SapCloudForCustomerLinkedService) UnmarshalJSON(body []byte) error {
151902	var m map[string]*json.RawMessage
151903	err := json.Unmarshal(body, &m)
151904	if err != nil {
151905		return err
151906	}
151907	for k, v := range m {
151908		switch k {
151909		case "typeProperties":
151910			if v != nil {
151911				var sapCloudForCustomerLinkedServiceTypeProperties SapCloudForCustomerLinkedServiceTypeProperties
151912				err = json.Unmarshal(*v, &sapCloudForCustomerLinkedServiceTypeProperties)
151913				if err != nil {
151914					return err
151915				}
151916				scfcls.SapCloudForCustomerLinkedServiceTypeProperties = &sapCloudForCustomerLinkedServiceTypeProperties
151917			}
151918		default:
151919			if v != nil {
151920				var additionalProperties interface{}
151921				err = json.Unmarshal(*v, &additionalProperties)
151922				if err != nil {
151923					return err
151924				}
151925				if scfcls.AdditionalProperties == nil {
151926					scfcls.AdditionalProperties = make(map[string]interface{})
151927				}
151928				scfcls.AdditionalProperties[k] = additionalProperties
151929			}
151930		case "connectVia":
151931			if v != nil {
151932				var connectVia IntegrationRuntimeReference
151933				err = json.Unmarshal(*v, &connectVia)
151934				if err != nil {
151935					return err
151936				}
151937				scfcls.ConnectVia = &connectVia
151938			}
151939		case "description":
151940			if v != nil {
151941				var description string
151942				err = json.Unmarshal(*v, &description)
151943				if err != nil {
151944					return err
151945				}
151946				scfcls.Description = &description
151947			}
151948		case "parameters":
151949			if v != nil {
151950				var parameters map[string]*ParameterSpecification
151951				err = json.Unmarshal(*v, &parameters)
151952				if err != nil {
151953					return err
151954				}
151955				scfcls.Parameters = parameters
151956			}
151957		case "annotations":
151958			if v != nil {
151959				var annotations []interface{}
151960				err = json.Unmarshal(*v, &annotations)
151961				if err != nil {
151962					return err
151963				}
151964				scfcls.Annotations = &annotations
151965			}
151966		case "type":
151967			if v != nil {
151968				var typeVar TypeBasicLinkedService
151969				err = json.Unmarshal(*v, &typeVar)
151970				if err != nil {
151971					return err
151972				}
151973				scfcls.Type = typeVar
151974			}
151975		}
151976	}
151977
151978	return nil
151979}
151980
151981// SapCloudForCustomerLinkedServiceTypeProperties SAP Cloud for Customer linked service properties.
151982type SapCloudForCustomerLinkedServiceTypeProperties struct {
151983	// 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).
151984	URL interface{} `json:"url,omitempty"`
151985	// Username - The username for Basic authentication. Type: string (or Expression with resultType string).
151986	Username interface{} `json:"username,omitempty"`
151987	// Password - The password for Basic authentication.
151988	Password BasicSecretBase `json:"password,omitempty"`
151989	// 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).
151990	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
151991}
151992
151993// UnmarshalJSON is the custom unmarshaler for SapCloudForCustomerLinkedServiceTypeProperties struct.
151994func (scfclstp *SapCloudForCustomerLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
151995	var m map[string]*json.RawMessage
151996	err := json.Unmarshal(body, &m)
151997	if err != nil {
151998		return err
151999	}
152000	for k, v := range m {
152001		switch k {
152002		case "url":
152003			if v != nil {
152004				var URL interface{}
152005				err = json.Unmarshal(*v, &URL)
152006				if err != nil {
152007					return err
152008				}
152009				scfclstp.URL = URL
152010			}
152011		case "username":
152012			if v != nil {
152013				var username interface{}
152014				err = json.Unmarshal(*v, &username)
152015				if err != nil {
152016					return err
152017				}
152018				scfclstp.Username = username
152019			}
152020		case "password":
152021			if v != nil {
152022				password, err := unmarshalBasicSecretBase(*v)
152023				if err != nil {
152024					return err
152025				}
152026				scfclstp.Password = password
152027			}
152028		case "encryptedCredential":
152029			if v != nil {
152030				var encryptedCredential interface{}
152031				err = json.Unmarshal(*v, &encryptedCredential)
152032				if err != nil {
152033					return err
152034				}
152035				scfclstp.EncryptedCredential = encryptedCredential
152036			}
152037		}
152038	}
152039
152040	return nil
152041}
152042
152043// SapCloudForCustomerResourceDataset the path of the SAP Cloud for Customer OData entity.
152044type SapCloudForCustomerResourceDataset struct {
152045	// SapCloudForCustomerResourceDatasetTypeProperties - SAP Cloud For Customer OData resource dataset properties.
152046	*SapCloudForCustomerResourceDatasetTypeProperties `json:"typeProperties,omitempty"`
152047	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
152048	AdditionalProperties map[string]interface{} `json:""`
152049	// Description - Dataset description.
152050	Description *string `json:"description,omitempty"`
152051	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
152052	Structure interface{} `json:"structure,omitempty"`
152053	// Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement.
152054	Schema interface{} `json:"schema,omitempty"`
152055	// LinkedServiceName - Linked service reference.
152056	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
152057	// Parameters - Parameters for dataset.
152058	Parameters map[string]*ParameterSpecification `json:"parameters"`
152059	// Annotations - List of tags that can be used for describing the Dataset.
152060	Annotations *[]interface{} `json:"annotations,omitempty"`
152061	// Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level.
152062	Folder *DatasetFolder `json:"folder,omitempty"`
152063	// Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', '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', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeDelimitedText', 'TypeParquet', 'TypeAmazonS3Object'
152064	Type TypeBasicDataset `json:"type,omitempty"`
152065}
152066
152067// MarshalJSON is the custom marshaler for SapCloudForCustomerResourceDataset.
152068func (scfcrd SapCloudForCustomerResourceDataset) MarshalJSON() ([]byte, error) {
152069	scfcrd.Type = TypeSapCloudForCustomerResource
152070	objectMap := make(map[string]interface{})
152071	if scfcrd.SapCloudForCustomerResourceDatasetTypeProperties != nil {
152072		objectMap["typeProperties"] = scfcrd.SapCloudForCustomerResourceDatasetTypeProperties
152073	}
152074	if scfcrd.Description != nil {
152075		objectMap["description"] = scfcrd.Description
152076	}
152077	if scfcrd.Structure != nil {
152078		objectMap["structure"] = scfcrd.Structure
152079	}
152080	if scfcrd.Schema != nil {
152081		objectMap["schema"] = scfcrd.Schema
152082	}
152083	if scfcrd.LinkedServiceName != nil {
152084		objectMap["linkedServiceName"] = scfcrd.LinkedServiceName
152085	}
152086	if scfcrd.Parameters != nil {
152087		objectMap["parameters"] = scfcrd.Parameters
152088	}
152089	if scfcrd.Annotations != nil {
152090		objectMap["annotations"] = scfcrd.Annotations
152091	}
152092	if scfcrd.Folder != nil {
152093		objectMap["folder"] = scfcrd.Folder
152094	}
152095	if scfcrd.Type != "" {
152096		objectMap["type"] = scfcrd.Type
152097	}
152098	for k, v := range scfcrd.AdditionalProperties {
152099		objectMap[k] = v
152100	}
152101	return json.Marshal(objectMap)
152102}
152103
152104// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
152105func (scfcrd SapCloudForCustomerResourceDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) {
152106	return nil, false
152107}
152108
152109// AsAzureDataExplorerTableDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
152110func (scfcrd SapCloudForCustomerResourceDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) {
152111	return nil, false
152112}
152113
152114// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
152115func (scfcrd SapCloudForCustomerResourceDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) {
152116	return nil, false
152117}
152118
152119// AsDynamicsAXResourceDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
152120func (scfcrd SapCloudForCustomerResourceDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) {
152121	return nil, false
152122}
152123
152124// AsResponsysObjectDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
152125func (scfcrd SapCloudForCustomerResourceDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
152126	return nil, false
152127}
152128
152129// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
152130func (scfcrd SapCloudForCustomerResourceDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
152131	return nil, false
152132}
152133
152134// AsVerticaTableDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
152135func (scfcrd SapCloudForCustomerResourceDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
152136	return nil, false
152137}
152138
152139// AsNetezzaTableDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
152140func (scfcrd SapCloudForCustomerResourceDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
152141	return nil, false
152142}
152143
152144// AsZohoObjectDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
152145func (scfcrd SapCloudForCustomerResourceDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
152146	return nil, false
152147}
152148
152149// AsXeroObjectDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
152150func (scfcrd SapCloudForCustomerResourceDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
152151	return nil, false
152152}
152153
152154// AsSquareObjectDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
152155func (scfcrd SapCloudForCustomerResourceDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
152156	return nil, false
152157}
152158
152159// AsSparkObjectDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
152160func (scfcrd SapCloudForCustomerResourceDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
152161	return nil, false
152162}
152163
152164// AsShopifyObjectDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
152165func (scfcrd SapCloudForCustomerResourceDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
152166	return nil, false
152167}
152168
152169// AsServiceNowObjectDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
152170func (scfcrd SapCloudForCustomerResourceDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
152171	return nil, false
152172}
152173
152174// AsQuickBooksObjectDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
152175func (scfcrd SapCloudForCustomerResourceDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
152176	return nil, false
152177}
152178
152179// AsPrestoObjectDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
152180func (scfcrd SapCloudForCustomerResourceDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
152181	return nil, false
152182}
152183
152184// AsPhoenixObjectDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
152185func (scfcrd SapCloudForCustomerResourceDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
152186	return nil, false
152187}
152188
152189// AsPaypalObjectDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
152190func (scfcrd SapCloudForCustomerResourceDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
152191	return nil, false
152192}
152193
152194// AsMarketoObjectDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
152195func (scfcrd SapCloudForCustomerResourceDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
152196	return nil, false
152197}
152198
152199// AsMariaDBTableDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
152200func (scfcrd SapCloudForCustomerResourceDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
152201	return nil, false
152202}
152203
152204// AsMagentoObjectDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
152205func (scfcrd SapCloudForCustomerResourceDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
152206	return nil, false
152207}
152208
152209// AsJiraObjectDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
152210func (scfcrd SapCloudForCustomerResourceDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
152211	return nil, false
152212}
152213
152214// AsImpalaObjectDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
152215func (scfcrd SapCloudForCustomerResourceDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
152216	return nil, false
152217}
152218
152219// AsHubspotObjectDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
152220func (scfcrd SapCloudForCustomerResourceDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
152221	return nil, false
152222}
152223
152224// AsHiveObjectDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
152225func (scfcrd SapCloudForCustomerResourceDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
152226	return nil, false
152227}
152228
152229// AsHBaseObjectDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
152230func (scfcrd SapCloudForCustomerResourceDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
152231	return nil, false
152232}
152233
152234// AsGreenplumTableDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
152235func (scfcrd SapCloudForCustomerResourceDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
152236	return nil, false
152237}
152238
152239// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
152240func (scfcrd SapCloudForCustomerResourceDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
152241	return nil, false
152242}
152243
152244// AsEloquaObjectDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
152245func (scfcrd SapCloudForCustomerResourceDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
152246	return nil, false
152247}
152248
152249// AsDrillTableDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
152250func (scfcrd SapCloudForCustomerResourceDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
152251	return nil, false
152252}
152253
152254// AsCouchbaseTableDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
152255func (scfcrd SapCloudForCustomerResourceDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
152256	return nil, false
152257}
152258
152259// AsConcurObjectDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
152260func (scfcrd SapCloudForCustomerResourceDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
152261	return nil, false
152262}
152263
152264// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
152265func (scfcrd SapCloudForCustomerResourceDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
152266	return nil, false
152267}
152268
152269// AsAmazonMWSObjectDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
152270func (scfcrd SapCloudForCustomerResourceDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
152271	return nil, false
152272}
152273
152274// AsHTTPDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
152275func (scfcrd SapCloudForCustomerResourceDataset) AsHTTPDataset() (*HTTPDataset, bool) {
152276	return nil, false
152277}
152278
152279// AsAzureSearchIndexDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
152280func (scfcrd SapCloudForCustomerResourceDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
152281	return nil, false
152282}
152283
152284// AsWebTableDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
152285func (scfcrd SapCloudForCustomerResourceDataset) AsWebTableDataset() (*WebTableDataset, bool) {
152286	return nil, false
152287}
152288
152289// AsSapTableResourceDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
152290func (scfcrd SapCloudForCustomerResourceDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) {
152291	return nil, false
152292}
152293
152294// AsRestResourceDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
152295func (scfcrd SapCloudForCustomerResourceDataset) AsRestResourceDataset() (*RestResourceDataset, bool) {
152296	return nil, false
152297}
152298
152299// AsSQLServerTableDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
152300func (scfcrd SapCloudForCustomerResourceDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
152301	return nil, false
152302}
152303
152304// AsSapOpenHubTableDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
152305func (scfcrd SapCloudForCustomerResourceDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) {
152306	return nil, false
152307}
152308
152309// AsSapHanaTableDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
152310func (scfcrd SapCloudForCustomerResourceDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) {
152311	return nil, false
152312}
152313
152314// AsSapEccResourceDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
152315func (scfcrd SapCloudForCustomerResourceDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
152316	return nil, false
152317}
152318
152319// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
152320func (scfcrd SapCloudForCustomerResourceDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
152321	return &scfcrd, true
152322}
152323
152324// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
152325func (scfcrd SapCloudForCustomerResourceDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) {
152326	return nil, false
152327}
152328
152329// AsSalesforceObjectDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
152330func (scfcrd SapCloudForCustomerResourceDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
152331	return nil, false
152332}
152333
152334// AsMicrosoftAccessTableDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
152335func (scfcrd SapCloudForCustomerResourceDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) {
152336	return nil, false
152337}
152338
152339// AsPostgreSQLTableDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
152340func (scfcrd SapCloudForCustomerResourceDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) {
152341	return nil, false
152342}
152343
152344// AsMySQLTableDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
152345func (scfcrd SapCloudForCustomerResourceDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) {
152346	return nil, false
152347}
152348
152349// AsOdbcTableDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
152350func (scfcrd SapCloudForCustomerResourceDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) {
152351	return nil, false
152352}
152353
152354// AsInformixTableDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
152355func (scfcrd SapCloudForCustomerResourceDataset) AsInformixTableDataset() (*InformixTableDataset, bool) {
152356	return nil, false
152357}
152358
152359// AsRelationalTableDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
152360func (scfcrd SapCloudForCustomerResourceDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
152361	return nil, false
152362}
152363
152364// AsAzureMySQLTableDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
152365func (scfcrd SapCloudForCustomerResourceDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
152366	return nil, false
152367}
152368
152369// AsTeradataTableDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
152370func (scfcrd SapCloudForCustomerResourceDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) {
152371	return nil, false
152372}
152373
152374// AsOracleTableDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
152375func (scfcrd SapCloudForCustomerResourceDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
152376	return nil, false
152377}
152378
152379// AsODataResourceDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
152380func (scfcrd SapCloudForCustomerResourceDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
152381	return nil, false
152382}
152383
152384// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
152385func (scfcrd SapCloudForCustomerResourceDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) {
152386	return nil, false
152387}
152388
152389// AsMongoDbV2CollectionDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
152390func (scfcrd SapCloudForCustomerResourceDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) {
152391	return nil, false
152392}
152393
152394// AsMongoDbCollectionDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
152395func (scfcrd SapCloudForCustomerResourceDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
152396	return nil, false
152397}
152398
152399// AsFileShareDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
152400func (scfcrd SapCloudForCustomerResourceDataset) AsFileShareDataset() (*FileShareDataset, bool) {
152401	return nil, false
152402}
152403
152404// AsOffice365Dataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
152405func (scfcrd SapCloudForCustomerResourceDataset) AsOffice365Dataset() (*Office365Dataset, bool) {
152406	return nil, false
152407}
152408
152409// AsAzureBlobFSDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
152410func (scfcrd SapCloudForCustomerResourceDataset) AsAzureBlobFSDataset() (*AzureBlobFSDataset, bool) {
152411	return nil, false
152412}
152413
152414// AsAzureDataLakeStoreDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
152415func (scfcrd SapCloudForCustomerResourceDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) {
152416	return nil, false
152417}
152418
152419// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
152420func (scfcrd SapCloudForCustomerResourceDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) {
152421	return nil, false
152422}
152423
152424// AsDynamicsCrmEntityDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
152425func (scfcrd SapCloudForCustomerResourceDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) {
152426	return nil, false
152427}
152428
152429// AsDynamicsEntityDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
152430func (scfcrd SapCloudForCustomerResourceDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
152431	return nil, false
152432}
152433
152434// AsDocumentDbCollectionDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
152435func (scfcrd SapCloudForCustomerResourceDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
152436	return nil, false
152437}
152438
152439// AsCustomDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
152440func (scfcrd SapCloudForCustomerResourceDataset) AsCustomDataset() (*CustomDataset, bool) {
152441	return nil, false
152442}
152443
152444// AsCassandraTableDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
152445func (scfcrd SapCloudForCustomerResourceDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
152446	return nil, false
152447}
152448
152449// AsAzureSQLDWTableDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
152450func (scfcrd SapCloudForCustomerResourceDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
152451	return nil, false
152452}
152453
152454// AsAzureSQLMITableDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
152455func (scfcrd SapCloudForCustomerResourceDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) {
152456	return nil, false
152457}
152458
152459// AsAzureSQLTableDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
152460func (scfcrd SapCloudForCustomerResourceDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
152461	return nil, false
152462}
152463
152464// AsAzureTableDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
152465func (scfcrd SapCloudForCustomerResourceDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
152466	return nil, false
152467}
152468
152469// AsAzureBlobDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
152470func (scfcrd SapCloudForCustomerResourceDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) {
152471	return nil, false
152472}
152473
152474// AsBinaryDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
152475func (scfcrd SapCloudForCustomerResourceDataset) AsBinaryDataset() (*BinaryDataset, bool) {
152476	return nil, false
152477}
152478
152479// AsDelimitedTextDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
152480func (scfcrd SapCloudForCustomerResourceDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) {
152481	return nil, false
152482}
152483
152484// AsParquetDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
152485func (scfcrd SapCloudForCustomerResourceDataset) AsParquetDataset() (*ParquetDataset, bool) {
152486	return nil, false
152487}
152488
152489// AsAmazonS3Dataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
152490func (scfcrd SapCloudForCustomerResourceDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) {
152491	return nil, false
152492}
152493
152494// AsDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
152495func (scfcrd SapCloudForCustomerResourceDataset) AsDataset() (*Dataset, bool) {
152496	return nil, false
152497}
152498
152499// AsBasicDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
152500func (scfcrd SapCloudForCustomerResourceDataset) AsBasicDataset() (BasicDataset, bool) {
152501	return &scfcrd, true
152502}
152503
152504// UnmarshalJSON is the custom unmarshaler for SapCloudForCustomerResourceDataset struct.
152505func (scfcrd *SapCloudForCustomerResourceDataset) UnmarshalJSON(body []byte) error {
152506	var m map[string]*json.RawMessage
152507	err := json.Unmarshal(body, &m)
152508	if err != nil {
152509		return err
152510	}
152511	for k, v := range m {
152512		switch k {
152513		case "typeProperties":
152514			if v != nil {
152515				var sapCloudForCustomerResourceDatasetTypeProperties SapCloudForCustomerResourceDatasetTypeProperties
152516				err = json.Unmarshal(*v, &sapCloudForCustomerResourceDatasetTypeProperties)
152517				if err != nil {
152518					return err
152519				}
152520				scfcrd.SapCloudForCustomerResourceDatasetTypeProperties = &sapCloudForCustomerResourceDatasetTypeProperties
152521			}
152522		default:
152523			if v != nil {
152524				var additionalProperties interface{}
152525				err = json.Unmarshal(*v, &additionalProperties)
152526				if err != nil {
152527					return err
152528				}
152529				if scfcrd.AdditionalProperties == nil {
152530					scfcrd.AdditionalProperties = make(map[string]interface{})
152531				}
152532				scfcrd.AdditionalProperties[k] = additionalProperties
152533			}
152534		case "description":
152535			if v != nil {
152536				var description string
152537				err = json.Unmarshal(*v, &description)
152538				if err != nil {
152539					return err
152540				}
152541				scfcrd.Description = &description
152542			}
152543		case "structure":
152544			if v != nil {
152545				var structure interface{}
152546				err = json.Unmarshal(*v, &structure)
152547				if err != nil {
152548					return err
152549				}
152550				scfcrd.Structure = structure
152551			}
152552		case "schema":
152553			if v != nil {
152554				var schema interface{}
152555				err = json.Unmarshal(*v, &schema)
152556				if err != nil {
152557					return err
152558				}
152559				scfcrd.Schema = schema
152560			}
152561		case "linkedServiceName":
152562			if v != nil {
152563				var linkedServiceName LinkedServiceReference
152564				err = json.Unmarshal(*v, &linkedServiceName)
152565				if err != nil {
152566					return err
152567				}
152568				scfcrd.LinkedServiceName = &linkedServiceName
152569			}
152570		case "parameters":
152571			if v != nil {
152572				var parameters map[string]*ParameterSpecification
152573				err = json.Unmarshal(*v, &parameters)
152574				if err != nil {
152575					return err
152576				}
152577				scfcrd.Parameters = parameters
152578			}
152579		case "annotations":
152580			if v != nil {
152581				var annotations []interface{}
152582				err = json.Unmarshal(*v, &annotations)
152583				if err != nil {
152584					return err
152585				}
152586				scfcrd.Annotations = &annotations
152587			}
152588		case "folder":
152589			if v != nil {
152590				var folder DatasetFolder
152591				err = json.Unmarshal(*v, &folder)
152592				if err != nil {
152593					return err
152594				}
152595				scfcrd.Folder = &folder
152596			}
152597		case "type":
152598			if v != nil {
152599				var typeVar TypeBasicDataset
152600				err = json.Unmarshal(*v, &typeVar)
152601				if err != nil {
152602					return err
152603				}
152604				scfcrd.Type = typeVar
152605			}
152606		}
152607	}
152608
152609	return nil
152610}
152611
152612// SapCloudForCustomerResourceDatasetTypeProperties sap Cloud For Customer OData resource dataset
152613// properties.
152614type SapCloudForCustomerResourceDatasetTypeProperties struct {
152615	// Path - The path of the SAP Cloud for Customer OData entity. Type: string (or Expression with resultType string).
152616	Path interface{} `json:"path,omitempty"`
152617}
152618
152619// SapCloudForCustomerSink a copy activity SAP Cloud for Customer sink.
152620type SapCloudForCustomerSink struct {
152621	// WriteBehavior - The write behavior for the operation. Default is 'Insert'. Possible values include: 'SapCloudForCustomerSinkWriteBehaviorInsert', 'SapCloudForCustomerSinkWriteBehaviorUpdate'
152622	WriteBehavior SapCloudForCustomerSinkWriteBehavior `json:"writeBehavior,omitempty"`
152623	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
152624	AdditionalProperties map[string]interface{} `json:""`
152625	// WriteBatchSize - Write batch size. Type: integer (or Expression with resultType integer), minimum: 0.
152626	WriteBatchSize interface{} `json:"writeBatchSize,omitempty"`
152627	// 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])).
152628	WriteBatchTimeout interface{} `json:"writeBatchTimeout,omitempty"`
152629	// SinkRetryCount - Sink retry count. Type: integer (or Expression with resultType integer).
152630	SinkRetryCount interface{} `json:"sinkRetryCount,omitempty"`
152631	// 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])).
152632	SinkRetryWait interface{} `json:"sinkRetryWait,omitempty"`
152633	// MaxConcurrentConnections - The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer).
152634	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
152635	// Type - Possible values include: 'TypeCopySink', 'TypeCosmosDbMongoDbAPISink', 'TypeSalesforceServiceCloudSink', 'TypeSalesforceSink', 'TypeAzureDataExplorerSink', 'TypeCommonDataServiceForAppsSink', 'TypeDynamicsCrmSink', 'TypeDynamicsSink', 'TypeMicrosoftAccessSink', 'TypeInformixSink', 'TypeOdbcSink', 'TypeAzureSearchIndexSink', 'TypeAzureBlobFSSink', 'TypeAzureDataLakeStoreSink', 'TypeOracleSink', 'TypeSQLDWSink', 'TypeSQLMISink', 'TypeAzureSQLSink', 'TypeSQLServerSink', 'TypeSQLSink', 'TypeDocumentDbCollectionSink', 'TypeFileSystemSink', 'TypeBlobSink', 'TypeBinarySink', 'TypeParquetSink', 'TypeAzureTableSink', 'TypeAzureQueueSink', 'TypeSapCloudForCustomerSink', 'TypeAzurePostgreSQLSink', 'TypeDelimitedTextSink'
152636	Type TypeBasicCopySink `json:"type,omitempty"`
152637}
152638
152639// MarshalJSON is the custom marshaler for SapCloudForCustomerSink.
152640func (scfcs SapCloudForCustomerSink) MarshalJSON() ([]byte, error) {
152641	scfcs.Type = TypeSapCloudForCustomerSink
152642	objectMap := make(map[string]interface{})
152643	if scfcs.WriteBehavior != "" {
152644		objectMap["writeBehavior"] = scfcs.WriteBehavior
152645	}
152646	if scfcs.WriteBatchSize != nil {
152647		objectMap["writeBatchSize"] = scfcs.WriteBatchSize
152648	}
152649	if scfcs.WriteBatchTimeout != nil {
152650		objectMap["writeBatchTimeout"] = scfcs.WriteBatchTimeout
152651	}
152652	if scfcs.SinkRetryCount != nil {
152653		objectMap["sinkRetryCount"] = scfcs.SinkRetryCount
152654	}
152655	if scfcs.SinkRetryWait != nil {
152656		objectMap["sinkRetryWait"] = scfcs.SinkRetryWait
152657	}
152658	if scfcs.MaxConcurrentConnections != nil {
152659		objectMap["maxConcurrentConnections"] = scfcs.MaxConcurrentConnections
152660	}
152661	if scfcs.Type != "" {
152662		objectMap["type"] = scfcs.Type
152663	}
152664	for k, v := range scfcs.AdditionalProperties {
152665		objectMap[k] = v
152666	}
152667	return json.Marshal(objectMap)
152668}
152669
152670// AsCosmosDbMongoDbAPISink is the BasicCopySink implementation for SapCloudForCustomerSink.
152671func (scfcs SapCloudForCustomerSink) AsCosmosDbMongoDbAPISink() (*CosmosDbMongoDbAPISink, bool) {
152672	return nil, false
152673}
152674
152675// AsSalesforceServiceCloudSink is the BasicCopySink implementation for SapCloudForCustomerSink.
152676func (scfcs SapCloudForCustomerSink) AsSalesforceServiceCloudSink() (*SalesforceServiceCloudSink, bool) {
152677	return nil, false
152678}
152679
152680// AsSalesforceSink is the BasicCopySink implementation for SapCloudForCustomerSink.
152681func (scfcs SapCloudForCustomerSink) AsSalesforceSink() (*SalesforceSink, bool) {
152682	return nil, false
152683}
152684
152685// AsAzureDataExplorerSink is the BasicCopySink implementation for SapCloudForCustomerSink.
152686func (scfcs SapCloudForCustomerSink) AsAzureDataExplorerSink() (*AzureDataExplorerSink, bool) {
152687	return nil, false
152688}
152689
152690// AsCommonDataServiceForAppsSink is the BasicCopySink implementation for SapCloudForCustomerSink.
152691func (scfcs SapCloudForCustomerSink) AsCommonDataServiceForAppsSink() (*CommonDataServiceForAppsSink, bool) {
152692	return nil, false
152693}
152694
152695// AsDynamicsCrmSink is the BasicCopySink implementation for SapCloudForCustomerSink.
152696func (scfcs SapCloudForCustomerSink) AsDynamicsCrmSink() (*DynamicsCrmSink, bool) {
152697	return nil, false
152698}
152699
152700// AsDynamicsSink is the BasicCopySink implementation for SapCloudForCustomerSink.
152701func (scfcs SapCloudForCustomerSink) AsDynamicsSink() (*DynamicsSink, bool) {
152702	return nil, false
152703}
152704
152705// AsMicrosoftAccessSink is the BasicCopySink implementation for SapCloudForCustomerSink.
152706func (scfcs SapCloudForCustomerSink) AsMicrosoftAccessSink() (*MicrosoftAccessSink, bool) {
152707	return nil, false
152708}
152709
152710// AsInformixSink is the BasicCopySink implementation for SapCloudForCustomerSink.
152711func (scfcs SapCloudForCustomerSink) AsInformixSink() (*InformixSink, bool) {
152712	return nil, false
152713}
152714
152715// AsOdbcSink is the BasicCopySink implementation for SapCloudForCustomerSink.
152716func (scfcs SapCloudForCustomerSink) AsOdbcSink() (*OdbcSink, bool) {
152717	return nil, false
152718}
152719
152720// AsAzureSearchIndexSink is the BasicCopySink implementation for SapCloudForCustomerSink.
152721func (scfcs SapCloudForCustomerSink) AsAzureSearchIndexSink() (*AzureSearchIndexSink, bool) {
152722	return nil, false
152723}
152724
152725// AsAzureBlobFSSink is the BasicCopySink implementation for SapCloudForCustomerSink.
152726func (scfcs SapCloudForCustomerSink) AsAzureBlobFSSink() (*AzureBlobFSSink, bool) {
152727	return nil, false
152728}
152729
152730// AsAzureDataLakeStoreSink is the BasicCopySink implementation for SapCloudForCustomerSink.
152731func (scfcs SapCloudForCustomerSink) AsAzureDataLakeStoreSink() (*AzureDataLakeStoreSink, bool) {
152732	return nil, false
152733}
152734
152735// AsOracleSink is the BasicCopySink implementation for SapCloudForCustomerSink.
152736func (scfcs SapCloudForCustomerSink) AsOracleSink() (*OracleSink, bool) {
152737	return nil, false
152738}
152739
152740// AsSQLDWSink is the BasicCopySink implementation for SapCloudForCustomerSink.
152741func (scfcs SapCloudForCustomerSink) AsSQLDWSink() (*SQLDWSink, bool) {
152742	return nil, false
152743}
152744
152745// AsSQLMISink is the BasicCopySink implementation for SapCloudForCustomerSink.
152746func (scfcs SapCloudForCustomerSink) AsSQLMISink() (*SQLMISink, bool) {
152747	return nil, false
152748}
152749
152750// AsAzureSQLSink is the BasicCopySink implementation for SapCloudForCustomerSink.
152751func (scfcs SapCloudForCustomerSink) AsAzureSQLSink() (*AzureSQLSink, bool) {
152752	return nil, false
152753}
152754
152755// AsSQLServerSink is the BasicCopySink implementation for SapCloudForCustomerSink.
152756func (scfcs SapCloudForCustomerSink) AsSQLServerSink() (*SQLServerSink, bool) {
152757	return nil, false
152758}
152759
152760// AsSQLSink is the BasicCopySink implementation for SapCloudForCustomerSink.
152761func (scfcs SapCloudForCustomerSink) AsSQLSink() (*SQLSink, bool) {
152762	return nil, false
152763}
152764
152765// AsDocumentDbCollectionSink is the BasicCopySink implementation for SapCloudForCustomerSink.
152766func (scfcs SapCloudForCustomerSink) AsDocumentDbCollectionSink() (*DocumentDbCollectionSink, bool) {
152767	return nil, false
152768}
152769
152770// AsFileSystemSink is the BasicCopySink implementation for SapCloudForCustomerSink.
152771func (scfcs SapCloudForCustomerSink) AsFileSystemSink() (*FileSystemSink, bool) {
152772	return nil, false
152773}
152774
152775// AsBlobSink is the BasicCopySink implementation for SapCloudForCustomerSink.
152776func (scfcs SapCloudForCustomerSink) AsBlobSink() (*BlobSink, bool) {
152777	return nil, false
152778}
152779
152780// AsBinarySink is the BasicCopySink implementation for SapCloudForCustomerSink.
152781func (scfcs SapCloudForCustomerSink) AsBinarySink() (*BinarySink, bool) {
152782	return nil, false
152783}
152784
152785// AsParquetSink is the BasicCopySink implementation for SapCloudForCustomerSink.
152786func (scfcs SapCloudForCustomerSink) AsParquetSink() (*ParquetSink, bool) {
152787	return nil, false
152788}
152789
152790// AsAzureTableSink is the BasicCopySink implementation for SapCloudForCustomerSink.
152791func (scfcs SapCloudForCustomerSink) AsAzureTableSink() (*AzureTableSink, bool) {
152792	return nil, false
152793}
152794
152795// AsAzureQueueSink is the BasicCopySink implementation for SapCloudForCustomerSink.
152796func (scfcs SapCloudForCustomerSink) AsAzureQueueSink() (*AzureQueueSink, bool) {
152797	return nil, false
152798}
152799
152800// AsSapCloudForCustomerSink is the BasicCopySink implementation for SapCloudForCustomerSink.
152801func (scfcs SapCloudForCustomerSink) AsSapCloudForCustomerSink() (*SapCloudForCustomerSink, bool) {
152802	return &scfcs, true
152803}
152804
152805// AsAzurePostgreSQLSink is the BasicCopySink implementation for SapCloudForCustomerSink.
152806func (scfcs SapCloudForCustomerSink) AsAzurePostgreSQLSink() (*AzurePostgreSQLSink, bool) {
152807	return nil, false
152808}
152809
152810// AsDelimitedTextSink is the BasicCopySink implementation for SapCloudForCustomerSink.
152811func (scfcs SapCloudForCustomerSink) AsDelimitedTextSink() (*DelimitedTextSink, bool) {
152812	return nil, false
152813}
152814
152815// AsCopySink is the BasicCopySink implementation for SapCloudForCustomerSink.
152816func (scfcs SapCloudForCustomerSink) AsCopySink() (*CopySink, bool) {
152817	return nil, false
152818}
152819
152820// AsBasicCopySink is the BasicCopySink implementation for SapCloudForCustomerSink.
152821func (scfcs SapCloudForCustomerSink) AsBasicCopySink() (BasicCopySink, bool) {
152822	return &scfcs, true
152823}
152824
152825// UnmarshalJSON is the custom unmarshaler for SapCloudForCustomerSink struct.
152826func (scfcs *SapCloudForCustomerSink) UnmarshalJSON(body []byte) error {
152827	var m map[string]*json.RawMessage
152828	err := json.Unmarshal(body, &m)
152829	if err != nil {
152830		return err
152831	}
152832	for k, v := range m {
152833		switch k {
152834		case "writeBehavior":
152835			if v != nil {
152836				var writeBehavior SapCloudForCustomerSinkWriteBehavior
152837				err = json.Unmarshal(*v, &writeBehavior)
152838				if err != nil {
152839					return err
152840				}
152841				scfcs.WriteBehavior = writeBehavior
152842			}
152843		default:
152844			if v != nil {
152845				var additionalProperties interface{}
152846				err = json.Unmarshal(*v, &additionalProperties)
152847				if err != nil {
152848					return err
152849				}
152850				if scfcs.AdditionalProperties == nil {
152851					scfcs.AdditionalProperties = make(map[string]interface{})
152852				}
152853				scfcs.AdditionalProperties[k] = additionalProperties
152854			}
152855		case "writeBatchSize":
152856			if v != nil {
152857				var writeBatchSize interface{}
152858				err = json.Unmarshal(*v, &writeBatchSize)
152859				if err != nil {
152860					return err
152861				}
152862				scfcs.WriteBatchSize = writeBatchSize
152863			}
152864		case "writeBatchTimeout":
152865			if v != nil {
152866				var writeBatchTimeout interface{}
152867				err = json.Unmarshal(*v, &writeBatchTimeout)
152868				if err != nil {
152869					return err
152870				}
152871				scfcs.WriteBatchTimeout = writeBatchTimeout
152872			}
152873		case "sinkRetryCount":
152874			if v != nil {
152875				var sinkRetryCount interface{}
152876				err = json.Unmarshal(*v, &sinkRetryCount)
152877				if err != nil {
152878					return err
152879				}
152880				scfcs.SinkRetryCount = sinkRetryCount
152881			}
152882		case "sinkRetryWait":
152883			if v != nil {
152884				var sinkRetryWait interface{}
152885				err = json.Unmarshal(*v, &sinkRetryWait)
152886				if err != nil {
152887					return err
152888				}
152889				scfcs.SinkRetryWait = sinkRetryWait
152890			}
152891		case "maxConcurrentConnections":
152892			if v != nil {
152893				var maxConcurrentConnections interface{}
152894				err = json.Unmarshal(*v, &maxConcurrentConnections)
152895				if err != nil {
152896					return err
152897				}
152898				scfcs.MaxConcurrentConnections = maxConcurrentConnections
152899			}
152900		case "type":
152901			if v != nil {
152902				var typeVar TypeBasicCopySink
152903				err = json.Unmarshal(*v, &typeVar)
152904				if err != nil {
152905					return err
152906				}
152907				scfcs.Type = typeVar
152908			}
152909		}
152910	}
152911
152912	return nil
152913}
152914
152915// SapCloudForCustomerSource a copy activity source for SAP Cloud for Customer source.
152916type SapCloudForCustomerSource struct {
152917	// Query - SAP Cloud for Customer OData query. For example, "$top=1". Type: string (or Expression with resultType string).
152918	Query interface{} `json:"query,omitempty"`
152919	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
152920	AdditionalProperties map[string]interface{} `json:""`
152921	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
152922	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
152923	// 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])).
152924	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
152925	// MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer).
152926	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
152927	// Type - Possible values include: 'TypeCopySource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', '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', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeCassandraSource', 'TypeWebSource', 'TypeTeradataSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeAzureMySQLSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeRestSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceServiceCloudSource', 'TypeSalesforceSource', 'TypeODataSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeMicrosoftAccessSource', 'TypeInformixSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAzureTableSource', 'TypeBinarySource', 'TypeDelimitedTextSource', 'TypeParquetSource'
152928	Type TypeBasicCopySource `json:"type,omitempty"`
152929}
152930
152931// MarshalJSON is the custom marshaler for SapCloudForCustomerSource.
152932func (scfcs SapCloudForCustomerSource) MarshalJSON() ([]byte, error) {
152933	scfcs.Type = TypeSapCloudForCustomerSource
152934	objectMap := make(map[string]interface{})
152935	if scfcs.Query != nil {
152936		objectMap["query"] = scfcs.Query
152937	}
152938	if scfcs.SourceRetryCount != nil {
152939		objectMap["sourceRetryCount"] = scfcs.SourceRetryCount
152940	}
152941	if scfcs.SourceRetryWait != nil {
152942		objectMap["sourceRetryWait"] = scfcs.SourceRetryWait
152943	}
152944	if scfcs.MaxConcurrentConnections != nil {
152945		objectMap["maxConcurrentConnections"] = scfcs.MaxConcurrentConnections
152946	}
152947	if scfcs.Type != "" {
152948		objectMap["type"] = scfcs.Type
152949	}
152950	for k, v := range scfcs.AdditionalProperties {
152951		objectMap[k] = v
152952	}
152953	return json.Marshal(objectMap)
152954}
152955
152956// AsAmazonRedshiftSource is the BasicCopySource implementation for SapCloudForCustomerSource.
152957func (scfcs SapCloudForCustomerSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
152958	return nil, false
152959}
152960
152961// AsGoogleAdWordsSource is the BasicCopySource implementation for SapCloudForCustomerSource.
152962func (scfcs SapCloudForCustomerSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) {
152963	return nil, false
152964}
152965
152966// AsOracleServiceCloudSource is the BasicCopySource implementation for SapCloudForCustomerSource.
152967func (scfcs SapCloudForCustomerSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) {
152968	return nil, false
152969}
152970
152971// AsDynamicsAXSource is the BasicCopySource implementation for SapCloudForCustomerSource.
152972func (scfcs SapCloudForCustomerSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) {
152973	return nil, false
152974}
152975
152976// AsResponsysSource is the BasicCopySource implementation for SapCloudForCustomerSource.
152977func (scfcs SapCloudForCustomerSource) AsResponsysSource() (*ResponsysSource, bool) {
152978	return nil, false
152979}
152980
152981// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for SapCloudForCustomerSource.
152982func (scfcs SapCloudForCustomerSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
152983	return nil, false
152984}
152985
152986// AsVerticaSource is the BasicCopySource implementation for SapCloudForCustomerSource.
152987func (scfcs SapCloudForCustomerSource) AsVerticaSource() (*VerticaSource, bool) {
152988	return nil, false
152989}
152990
152991// AsNetezzaSource is the BasicCopySource implementation for SapCloudForCustomerSource.
152992func (scfcs SapCloudForCustomerSource) AsNetezzaSource() (*NetezzaSource, bool) {
152993	return nil, false
152994}
152995
152996// AsZohoSource is the BasicCopySource implementation for SapCloudForCustomerSource.
152997func (scfcs SapCloudForCustomerSource) AsZohoSource() (*ZohoSource, bool) {
152998	return nil, false
152999}
153000
153001// AsXeroSource is the BasicCopySource implementation for SapCloudForCustomerSource.
153002func (scfcs SapCloudForCustomerSource) AsXeroSource() (*XeroSource, bool) {
153003	return nil, false
153004}
153005
153006// AsSquareSource is the BasicCopySource implementation for SapCloudForCustomerSource.
153007func (scfcs SapCloudForCustomerSource) AsSquareSource() (*SquareSource, bool) {
153008	return nil, false
153009}
153010
153011// AsSparkSource is the BasicCopySource implementation for SapCloudForCustomerSource.
153012func (scfcs SapCloudForCustomerSource) AsSparkSource() (*SparkSource, bool) {
153013	return nil, false
153014}
153015
153016// AsShopifySource is the BasicCopySource implementation for SapCloudForCustomerSource.
153017func (scfcs SapCloudForCustomerSource) AsShopifySource() (*ShopifySource, bool) {
153018	return nil, false
153019}
153020
153021// AsServiceNowSource is the BasicCopySource implementation for SapCloudForCustomerSource.
153022func (scfcs SapCloudForCustomerSource) AsServiceNowSource() (*ServiceNowSource, bool) {
153023	return nil, false
153024}
153025
153026// AsQuickBooksSource is the BasicCopySource implementation for SapCloudForCustomerSource.
153027func (scfcs SapCloudForCustomerSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
153028	return nil, false
153029}
153030
153031// AsPrestoSource is the BasicCopySource implementation for SapCloudForCustomerSource.
153032func (scfcs SapCloudForCustomerSource) AsPrestoSource() (*PrestoSource, bool) {
153033	return nil, false
153034}
153035
153036// AsPhoenixSource is the BasicCopySource implementation for SapCloudForCustomerSource.
153037func (scfcs SapCloudForCustomerSource) AsPhoenixSource() (*PhoenixSource, bool) {
153038	return nil, false
153039}
153040
153041// AsPaypalSource is the BasicCopySource implementation for SapCloudForCustomerSource.
153042func (scfcs SapCloudForCustomerSource) AsPaypalSource() (*PaypalSource, bool) {
153043	return nil, false
153044}
153045
153046// AsMarketoSource is the BasicCopySource implementation for SapCloudForCustomerSource.
153047func (scfcs SapCloudForCustomerSource) AsMarketoSource() (*MarketoSource, bool) {
153048	return nil, false
153049}
153050
153051// AsMariaDBSource is the BasicCopySource implementation for SapCloudForCustomerSource.
153052func (scfcs SapCloudForCustomerSource) AsMariaDBSource() (*MariaDBSource, bool) {
153053	return nil, false
153054}
153055
153056// AsMagentoSource is the BasicCopySource implementation for SapCloudForCustomerSource.
153057func (scfcs SapCloudForCustomerSource) AsMagentoSource() (*MagentoSource, bool) {
153058	return nil, false
153059}
153060
153061// AsJiraSource is the BasicCopySource implementation for SapCloudForCustomerSource.
153062func (scfcs SapCloudForCustomerSource) AsJiraSource() (*JiraSource, bool) {
153063	return nil, false
153064}
153065
153066// AsImpalaSource is the BasicCopySource implementation for SapCloudForCustomerSource.
153067func (scfcs SapCloudForCustomerSource) AsImpalaSource() (*ImpalaSource, bool) {
153068	return nil, false
153069}
153070
153071// AsHubspotSource is the BasicCopySource implementation for SapCloudForCustomerSource.
153072func (scfcs SapCloudForCustomerSource) AsHubspotSource() (*HubspotSource, bool) {
153073	return nil, false
153074}
153075
153076// AsHiveSource is the BasicCopySource implementation for SapCloudForCustomerSource.
153077func (scfcs SapCloudForCustomerSource) AsHiveSource() (*HiveSource, bool) {
153078	return nil, false
153079}
153080
153081// AsHBaseSource is the BasicCopySource implementation for SapCloudForCustomerSource.
153082func (scfcs SapCloudForCustomerSource) AsHBaseSource() (*HBaseSource, bool) {
153083	return nil, false
153084}
153085
153086// AsGreenplumSource is the BasicCopySource implementation for SapCloudForCustomerSource.
153087func (scfcs SapCloudForCustomerSource) AsGreenplumSource() (*GreenplumSource, bool) {
153088	return nil, false
153089}
153090
153091// AsGoogleBigQuerySource is the BasicCopySource implementation for SapCloudForCustomerSource.
153092func (scfcs SapCloudForCustomerSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
153093	return nil, false
153094}
153095
153096// AsEloquaSource is the BasicCopySource implementation for SapCloudForCustomerSource.
153097func (scfcs SapCloudForCustomerSource) AsEloquaSource() (*EloquaSource, bool) {
153098	return nil, false
153099}
153100
153101// AsDrillSource is the BasicCopySource implementation for SapCloudForCustomerSource.
153102func (scfcs SapCloudForCustomerSource) AsDrillSource() (*DrillSource, bool) {
153103	return nil, false
153104}
153105
153106// AsCouchbaseSource is the BasicCopySource implementation for SapCloudForCustomerSource.
153107func (scfcs SapCloudForCustomerSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
153108	return nil, false
153109}
153110
153111// AsConcurSource is the BasicCopySource implementation for SapCloudForCustomerSource.
153112func (scfcs SapCloudForCustomerSource) AsConcurSource() (*ConcurSource, bool) {
153113	return nil, false
153114}
153115
153116// AsAzurePostgreSQLSource is the BasicCopySource implementation for SapCloudForCustomerSource.
153117func (scfcs SapCloudForCustomerSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
153118	return nil, false
153119}
153120
153121// AsAmazonMWSSource is the BasicCopySource implementation for SapCloudForCustomerSource.
153122func (scfcs SapCloudForCustomerSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
153123	return nil, false
153124}
153125
153126// AsHTTPSource is the BasicCopySource implementation for SapCloudForCustomerSource.
153127func (scfcs SapCloudForCustomerSource) AsHTTPSource() (*HTTPSource, bool) {
153128	return nil, false
153129}
153130
153131// AsAzureBlobFSSource is the BasicCopySource implementation for SapCloudForCustomerSource.
153132func (scfcs SapCloudForCustomerSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) {
153133	return nil, false
153134}
153135
153136// AsAzureDataLakeStoreSource is the BasicCopySource implementation for SapCloudForCustomerSource.
153137func (scfcs SapCloudForCustomerSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
153138	return nil, false
153139}
153140
153141// AsOffice365Source is the BasicCopySource implementation for SapCloudForCustomerSource.
153142func (scfcs SapCloudForCustomerSource) AsOffice365Source() (*Office365Source, bool) {
153143	return nil, false
153144}
153145
153146// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for SapCloudForCustomerSource.
153147func (scfcs SapCloudForCustomerSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) {
153148	return nil, false
153149}
153150
153151// AsMongoDbV2Source is the BasicCopySource implementation for SapCloudForCustomerSource.
153152func (scfcs SapCloudForCustomerSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) {
153153	return nil, false
153154}
153155
153156// AsMongoDbSource is the BasicCopySource implementation for SapCloudForCustomerSource.
153157func (scfcs SapCloudForCustomerSource) AsMongoDbSource() (*MongoDbSource, bool) {
153158	return nil, false
153159}
153160
153161// AsCassandraSource is the BasicCopySource implementation for SapCloudForCustomerSource.
153162func (scfcs SapCloudForCustomerSource) AsCassandraSource() (*CassandraSource, bool) {
153163	return nil, false
153164}
153165
153166// AsWebSource is the BasicCopySource implementation for SapCloudForCustomerSource.
153167func (scfcs SapCloudForCustomerSource) AsWebSource() (*WebSource, bool) {
153168	return nil, false
153169}
153170
153171// AsTeradataSource is the BasicCopySource implementation for SapCloudForCustomerSource.
153172func (scfcs SapCloudForCustomerSource) AsTeradataSource() (*TeradataSource, bool) {
153173	return nil, false
153174}
153175
153176// AsOracleSource is the BasicCopySource implementation for SapCloudForCustomerSource.
153177func (scfcs SapCloudForCustomerSource) AsOracleSource() (*OracleSource, bool) {
153178	return nil, false
153179}
153180
153181// AsAzureDataExplorerSource is the BasicCopySource implementation for SapCloudForCustomerSource.
153182func (scfcs SapCloudForCustomerSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) {
153183	return nil, false
153184}
153185
153186// AsAzureMySQLSource is the BasicCopySource implementation for SapCloudForCustomerSource.
153187func (scfcs SapCloudForCustomerSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
153188	return nil, false
153189}
153190
153191// AsHdfsSource is the BasicCopySource implementation for SapCloudForCustomerSource.
153192func (scfcs SapCloudForCustomerSource) AsHdfsSource() (*HdfsSource, bool) {
153193	return nil, false
153194}
153195
153196// AsFileSystemSource is the BasicCopySource implementation for SapCloudForCustomerSource.
153197func (scfcs SapCloudForCustomerSource) AsFileSystemSource() (*FileSystemSource, bool) {
153198	return nil, false
153199}
153200
153201// AsSQLDWSource is the BasicCopySource implementation for SapCloudForCustomerSource.
153202func (scfcs SapCloudForCustomerSource) AsSQLDWSource() (*SQLDWSource, bool) {
153203	return nil, false
153204}
153205
153206// AsSQLMISource is the BasicCopySource implementation for SapCloudForCustomerSource.
153207func (scfcs SapCloudForCustomerSource) AsSQLMISource() (*SQLMISource, bool) {
153208	return nil, false
153209}
153210
153211// AsAzureSQLSource is the BasicCopySource implementation for SapCloudForCustomerSource.
153212func (scfcs SapCloudForCustomerSource) AsAzureSQLSource() (*AzureSQLSource, bool) {
153213	return nil, false
153214}
153215
153216// AsSQLServerSource is the BasicCopySource implementation for SapCloudForCustomerSource.
153217func (scfcs SapCloudForCustomerSource) AsSQLServerSource() (*SQLServerSource, bool) {
153218	return nil, false
153219}
153220
153221// AsSQLSource is the BasicCopySource implementation for SapCloudForCustomerSource.
153222func (scfcs SapCloudForCustomerSource) AsSQLSource() (*SQLSource, bool) {
153223	return nil, false
153224}
153225
153226// AsRestSource is the BasicCopySource implementation for SapCloudForCustomerSource.
153227func (scfcs SapCloudForCustomerSource) AsRestSource() (*RestSource, bool) {
153228	return nil, false
153229}
153230
153231// AsSapTableSource is the BasicCopySource implementation for SapCloudForCustomerSource.
153232func (scfcs SapCloudForCustomerSource) AsSapTableSource() (*SapTableSource, bool) {
153233	return nil, false
153234}
153235
153236// AsSapOpenHubSource is the BasicCopySource implementation for SapCloudForCustomerSource.
153237func (scfcs SapCloudForCustomerSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) {
153238	return nil, false
153239}
153240
153241// AsSapHanaSource is the BasicCopySource implementation for SapCloudForCustomerSource.
153242func (scfcs SapCloudForCustomerSource) AsSapHanaSource() (*SapHanaSource, bool) {
153243	return nil, false
153244}
153245
153246// AsSapEccSource is the BasicCopySource implementation for SapCloudForCustomerSource.
153247func (scfcs SapCloudForCustomerSource) AsSapEccSource() (*SapEccSource, bool) {
153248	return nil, false
153249}
153250
153251// AsSapCloudForCustomerSource is the BasicCopySource implementation for SapCloudForCustomerSource.
153252func (scfcs SapCloudForCustomerSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
153253	return &scfcs, true
153254}
153255
153256// AsSalesforceServiceCloudSource is the BasicCopySource implementation for SapCloudForCustomerSource.
153257func (scfcs SapCloudForCustomerSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) {
153258	return nil, false
153259}
153260
153261// AsSalesforceSource is the BasicCopySource implementation for SapCloudForCustomerSource.
153262func (scfcs SapCloudForCustomerSource) AsSalesforceSource() (*SalesforceSource, bool) {
153263	return nil, false
153264}
153265
153266// AsODataSource is the BasicCopySource implementation for SapCloudForCustomerSource.
153267func (scfcs SapCloudForCustomerSource) AsODataSource() (*ODataSource, bool) {
153268	return nil, false
153269}
153270
153271// AsSybaseSource is the BasicCopySource implementation for SapCloudForCustomerSource.
153272func (scfcs SapCloudForCustomerSource) AsSybaseSource() (*SybaseSource, bool) {
153273	return nil, false
153274}
153275
153276// AsPostgreSQLSource is the BasicCopySource implementation for SapCloudForCustomerSource.
153277func (scfcs SapCloudForCustomerSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) {
153278	return nil, false
153279}
153280
153281// AsMySQLSource is the BasicCopySource implementation for SapCloudForCustomerSource.
153282func (scfcs SapCloudForCustomerSource) AsMySQLSource() (*MySQLSource, bool) {
153283	return nil, false
153284}
153285
153286// AsOdbcSource is the BasicCopySource implementation for SapCloudForCustomerSource.
153287func (scfcs SapCloudForCustomerSource) AsOdbcSource() (*OdbcSource, bool) {
153288	return nil, false
153289}
153290
153291// AsDb2Source is the BasicCopySource implementation for SapCloudForCustomerSource.
153292func (scfcs SapCloudForCustomerSource) AsDb2Source() (*Db2Source, bool) {
153293	return nil, false
153294}
153295
153296// AsMicrosoftAccessSource is the BasicCopySource implementation for SapCloudForCustomerSource.
153297func (scfcs SapCloudForCustomerSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) {
153298	return nil, false
153299}
153300
153301// AsInformixSource is the BasicCopySource implementation for SapCloudForCustomerSource.
153302func (scfcs SapCloudForCustomerSource) AsInformixSource() (*InformixSource, bool) {
153303	return nil, false
153304}
153305
153306// AsRelationalSource is the BasicCopySource implementation for SapCloudForCustomerSource.
153307func (scfcs SapCloudForCustomerSource) AsRelationalSource() (*RelationalSource, bool) {
153308	return nil, false
153309}
153310
153311// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for SapCloudForCustomerSource.
153312func (scfcs SapCloudForCustomerSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) {
153313	return nil, false
153314}
153315
153316// AsDynamicsCrmSource is the BasicCopySource implementation for SapCloudForCustomerSource.
153317func (scfcs SapCloudForCustomerSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) {
153318	return nil, false
153319}
153320
153321// AsDynamicsSource is the BasicCopySource implementation for SapCloudForCustomerSource.
153322func (scfcs SapCloudForCustomerSource) AsDynamicsSource() (*DynamicsSource, bool) {
153323	return nil, false
153324}
153325
153326// AsDocumentDbCollectionSource is the BasicCopySource implementation for SapCloudForCustomerSource.
153327func (scfcs SapCloudForCustomerSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
153328	return nil, false
153329}
153330
153331// AsBlobSource is the BasicCopySource implementation for SapCloudForCustomerSource.
153332func (scfcs SapCloudForCustomerSource) AsBlobSource() (*BlobSource, bool) {
153333	return nil, false
153334}
153335
153336// AsAzureTableSource is the BasicCopySource implementation for SapCloudForCustomerSource.
153337func (scfcs SapCloudForCustomerSource) AsAzureTableSource() (*AzureTableSource, bool) {
153338	return nil, false
153339}
153340
153341// AsBinarySource is the BasicCopySource implementation for SapCloudForCustomerSource.
153342func (scfcs SapCloudForCustomerSource) AsBinarySource() (*BinarySource, bool) {
153343	return nil, false
153344}
153345
153346// AsDelimitedTextSource is the BasicCopySource implementation for SapCloudForCustomerSource.
153347func (scfcs SapCloudForCustomerSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) {
153348	return nil, false
153349}
153350
153351// AsParquetSource is the BasicCopySource implementation for SapCloudForCustomerSource.
153352func (scfcs SapCloudForCustomerSource) AsParquetSource() (*ParquetSource, bool) {
153353	return nil, false
153354}
153355
153356// AsCopySource is the BasicCopySource implementation for SapCloudForCustomerSource.
153357func (scfcs SapCloudForCustomerSource) AsCopySource() (*CopySource, bool) {
153358	return nil, false
153359}
153360
153361// AsBasicCopySource is the BasicCopySource implementation for SapCloudForCustomerSource.
153362func (scfcs SapCloudForCustomerSource) AsBasicCopySource() (BasicCopySource, bool) {
153363	return &scfcs, true
153364}
153365
153366// UnmarshalJSON is the custom unmarshaler for SapCloudForCustomerSource struct.
153367func (scfcs *SapCloudForCustomerSource) UnmarshalJSON(body []byte) error {
153368	var m map[string]*json.RawMessage
153369	err := json.Unmarshal(body, &m)
153370	if err != nil {
153371		return err
153372	}
153373	for k, v := range m {
153374		switch k {
153375		case "query":
153376			if v != nil {
153377				var query interface{}
153378				err = json.Unmarshal(*v, &query)
153379				if err != nil {
153380					return err
153381				}
153382				scfcs.Query = query
153383			}
153384		default:
153385			if v != nil {
153386				var additionalProperties interface{}
153387				err = json.Unmarshal(*v, &additionalProperties)
153388				if err != nil {
153389					return err
153390				}
153391				if scfcs.AdditionalProperties == nil {
153392					scfcs.AdditionalProperties = make(map[string]interface{})
153393				}
153394				scfcs.AdditionalProperties[k] = additionalProperties
153395			}
153396		case "sourceRetryCount":
153397			if v != nil {
153398				var sourceRetryCount interface{}
153399				err = json.Unmarshal(*v, &sourceRetryCount)
153400				if err != nil {
153401					return err
153402				}
153403				scfcs.SourceRetryCount = sourceRetryCount
153404			}
153405		case "sourceRetryWait":
153406			if v != nil {
153407				var sourceRetryWait interface{}
153408				err = json.Unmarshal(*v, &sourceRetryWait)
153409				if err != nil {
153410					return err
153411				}
153412				scfcs.SourceRetryWait = sourceRetryWait
153413			}
153414		case "maxConcurrentConnections":
153415			if v != nil {
153416				var maxConcurrentConnections interface{}
153417				err = json.Unmarshal(*v, &maxConcurrentConnections)
153418				if err != nil {
153419					return err
153420				}
153421				scfcs.MaxConcurrentConnections = maxConcurrentConnections
153422			}
153423		case "type":
153424			if v != nil {
153425				var typeVar TypeBasicCopySource
153426				err = json.Unmarshal(*v, &typeVar)
153427				if err != nil {
153428					return err
153429				}
153430				scfcs.Type = typeVar
153431			}
153432		}
153433	}
153434
153435	return nil
153436}
153437
153438// SapEccLinkedService linked service for SAP ERP Central Component(SAP ECC).
153439type SapEccLinkedService struct {
153440	// SapEccLinkedServiceTypeProperties - SAP ECC linked service properties.
153441	*SapEccLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
153442	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
153443	AdditionalProperties map[string]interface{} `json:""`
153444	// ConnectVia - The integration runtime reference.
153445	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
153446	// Description - Linked service description.
153447	Description *string `json:"description,omitempty"`
153448	// Parameters - Parameters for linked service.
153449	Parameters map[string]*ParameterSpecification `json:"parameters"`
153450	// Annotations - List of tags that can be used for describing the linked service.
153451	Annotations *[]interface{} `json:"annotations,omitempty"`
153452	// Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', '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', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage'
153453	Type TypeBasicLinkedService `json:"type,omitempty"`
153454}
153455
153456// MarshalJSON is the custom marshaler for SapEccLinkedService.
153457func (sels SapEccLinkedService) MarshalJSON() ([]byte, error) {
153458	sels.Type = TypeSapEcc
153459	objectMap := make(map[string]interface{})
153460	if sels.SapEccLinkedServiceTypeProperties != nil {
153461		objectMap["typeProperties"] = sels.SapEccLinkedServiceTypeProperties
153462	}
153463	if sels.ConnectVia != nil {
153464		objectMap["connectVia"] = sels.ConnectVia
153465	}
153466	if sels.Description != nil {
153467		objectMap["description"] = sels.Description
153468	}
153469	if sels.Parameters != nil {
153470		objectMap["parameters"] = sels.Parameters
153471	}
153472	if sels.Annotations != nil {
153473		objectMap["annotations"] = sels.Annotations
153474	}
153475	if sels.Type != "" {
153476		objectMap["type"] = sels.Type
153477	}
153478	for k, v := range sels.AdditionalProperties {
153479		objectMap[k] = v
153480	}
153481	return json.Marshal(objectMap)
153482}
153483
153484// AsAzureFunctionLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
153485func (sels SapEccLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) {
153486	return nil, false
153487}
153488
153489// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
153490func (sels SapEccLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) {
153491	return nil, false
153492}
153493
153494// AsSapTableLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
153495func (sels SapEccLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) {
153496	return nil, false
153497}
153498
153499// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
153500func (sels SapEccLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) {
153501	return nil, false
153502}
153503
153504// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
153505func (sels SapEccLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) {
153506	return nil, false
153507}
153508
153509// AsDynamicsAXLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
153510func (sels SapEccLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) {
153511	return nil, false
153512}
153513
153514// AsResponsysLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
153515func (sels SapEccLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
153516	return nil, false
153517}
153518
153519// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
153520func (sels SapEccLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
153521	return nil, false
153522}
153523
153524// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
153525func (sels SapEccLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
153526	return nil, false
153527}
153528
153529// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
153530func (sels SapEccLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
153531	return nil, false
153532}
153533
153534// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
153535func (sels SapEccLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
153536	return nil, false
153537}
153538
153539// AsNetezzaLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
153540func (sels SapEccLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
153541	return nil, false
153542}
153543
153544// AsVerticaLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
153545func (sels SapEccLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
153546	return nil, false
153547}
153548
153549// AsZohoLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
153550func (sels SapEccLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
153551	return nil, false
153552}
153553
153554// AsXeroLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
153555func (sels SapEccLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
153556	return nil, false
153557}
153558
153559// AsSquareLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
153560func (sels SapEccLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
153561	return nil, false
153562}
153563
153564// AsSparkLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
153565func (sels SapEccLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
153566	return nil, false
153567}
153568
153569// AsShopifyLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
153570func (sels SapEccLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
153571	return nil, false
153572}
153573
153574// AsServiceNowLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
153575func (sels SapEccLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
153576	return nil, false
153577}
153578
153579// AsQuickBooksLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
153580func (sels SapEccLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
153581	return nil, false
153582}
153583
153584// AsPrestoLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
153585func (sels SapEccLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
153586	return nil, false
153587}
153588
153589// AsPhoenixLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
153590func (sels SapEccLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
153591	return nil, false
153592}
153593
153594// AsPaypalLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
153595func (sels SapEccLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
153596	return nil, false
153597}
153598
153599// AsMarketoLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
153600func (sels SapEccLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
153601	return nil, false
153602}
153603
153604// AsMariaDBLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
153605func (sels SapEccLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
153606	return nil, false
153607}
153608
153609// AsMagentoLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
153610func (sels SapEccLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
153611	return nil, false
153612}
153613
153614// AsJiraLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
153615func (sels SapEccLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
153616	return nil, false
153617}
153618
153619// AsImpalaLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
153620func (sels SapEccLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
153621	return nil, false
153622}
153623
153624// AsHubspotLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
153625func (sels SapEccLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
153626	return nil, false
153627}
153628
153629// AsHiveLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
153630func (sels SapEccLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
153631	return nil, false
153632}
153633
153634// AsHBaseLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
153635func (sels SapEccLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
153636	return nil, false
153637}
153638
153639// AsGreenplumLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
153640func (sels SapEccLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
153641	return nil, false
153642}
153643
153644// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
153645func (sels SapEccLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
153646	return nil, false
153647}
153648
153649// AsEloquaLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
153650func (sels SapEccLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
153651	return nil, false
153652}
153653
153654// AsDrillLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
153655func (sels SapEccLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
153656	return nil, false
153657}
153658
153659// AsCouchbaseLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
153660func (sels SapEccLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
153661	return nil, false
153662}
153663
153664// AsConcurLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
153665func (sels SapEccLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
153666	return nil, false
153667}
153668
153669// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
153670func (sels SapEccLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
153671	return nil, false
153672}
153673
153674// AsAmazonMWSLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
153675func (sels SapEccLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
153676	return nil, false
153677}
153678
153679// AsSapHanaLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
153680func (sels SapEccLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
153681	return nil, false
153682}
153683
153684// AsSapBWLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
153685func (sels SapEccLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
153686	return nil, false
153687}
153688
153689// AsSftpServerLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
153690func (sels SapEccLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
153691	return nil, false
153692}
153693
153694// AsFtpServerLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
153695func (sels SapEccLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
153696	return nil, false
153697}
153698
153699// AsHTTPLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
153700func (sels SapEccLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
153701	return nil, false
153702}
153703
153704// AsAzureSearchLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
153705func (sels SapEccLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
153706	return nil, false
153707}
153708
153709// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
153710func (sels SapEccLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
153711	return nil, false
153712}
153713
153714// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
153715func (sels SapEccLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
153716	return nil, false
153717}
153718
153719// AsAmazonS3LinkedService is the BasicLinkedService implementation for SapEccLinkedService.
153720func (sels SapEccLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
153721	return nil, false
153722}
153723
153724// AsRestServiceLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
153725func (sels SapEccLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) {
153726	return nil, false
153727}
153728
153729// AsSapOpenHubLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
153730func (sels SapEccLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) {
153731	return nil, false
153732}
153733
153734// AsSapEccLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
153735func (sels SapEccLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
153736	return &sels, true
153737}
153738
153739// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
153740func (sels SapEccLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
153741	return nil, false
153742}
153743
153744// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
153745func (sels SapEccLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) {
153746	return nil, false
153747}
153748
153749// AsSalesforceLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
153750func (sels SapEccLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
153751	return nil, false
153752}
153753
153754// AsOffice365LinkedService is the BasicLinkedService implementation for SapEccLinkedService.
153755func (sels SapEccLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) {
153756	return nil, false
153757}
153758
153759// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
153760func (sels SapEccLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) {
153761	return nil, false
153762}
153763
153764// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
153765func (sels SapEccLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
153766	return nil, false
153767}
153768
153769// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for SapEccLinkedService.
153770func (sels SapEccLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) {
153771	return nil, false
153772}
153773
153774// AsMongoDbV2LinkedService is the BasicLinkedService implementation for SapEccLinkedService.
153775func (sels SapEccLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) {
153776	return nil, false
153777}
153778
153779// AsMongoDbLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
153780func (sels SapEccLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
153781	return nil, false
153782}
153783
153784// AsCassandraLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
153785func (sels SapEccLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
153786	return nil, false
153787}
153788
153789// AsWebLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
153790func (sels SapEccLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
153791	return nil, false
153792}
153793
153794// AsODataLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
153795func (sels SapEccLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
153796	return nil, false
153797}
153798
153799// AsHdfsLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
153800func (sels SapEccLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
153801	return nil, false
153802}
153803
153804// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
153805func (sels SapEccLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) {
153806	return nil, false
153807}
153808
153809// AsInformixLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
153810func (sels SapEccLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) {
153811	return nil, false
153812}
153813
153814// AsOdbcLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
153815func (sels SapEccLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
153816	return nil, false
153817}
153818
153819// AsAzureMLLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
153820func (sels SapEccLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
153821	return nil, false
153822}
153823
153824// AsTeradataLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
153825func (sels SapEccLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
153826	return nil, false
153827}
153828
153829// AsDb2LinkedService is the BasicLinkedService implementation for SapEccLinkedService.
153830func (sels SapEccLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
153831	return nil, false
153832}
153833
153834// AsSybaseLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
153835func (sels SapEccLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
153836	return nil, false
153837}
153838
153839// AsPostgreSQLLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
153840func (sels SapEccLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
153841	return nil, false
153842}
153843
153844// AsMySQLLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
153845func (sels SapEccLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
153846	return nil, false
153847}
153848
153849// AsAzureMySQLLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
153850func (sels SapEccLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
153851	return nil, false
153852}
153853
153854// AsOracleLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
153855func (sels SapEccLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
153856	return nil, false
153857}
153858
153859// AsFileServerLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
153860func (sels SapEccLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
153861	return nil, false
153862}
153863
153864// AsHDInsightLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
153865func (sels SapEccLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
153866	return nil, false
153867}
153868
153869// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
153870func (sels SapEccLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) {
153871	return nil, false
153872}
153873
153874// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
153875func (sels SapEccLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) {
153876	return nil, false
153877}
153878
153879// AsDynamicsLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
153880func (sels SapEccLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
153881	return nil, false
153882}
153883
153884// AsCosmosDbLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
153885func (sels SapEccLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
153886	return nil, false
153887}
153888
153889// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
153890func (sels SapEccLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
153891	return nil, false
153892}
153893
153894// AsAzureBatchLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
153895func (sels SapEccLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
153896	return nil, false
153897}
153898
153899// AsAzureSQLMILinkedService is the BasicLinkedService implementation for SapEccLinkedService.
153900func (sels SapEccLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) {
153901	return nil, false
153902}
153903
153904// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
153905func (sels SapEccLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
153906	return nil, false
153907}
153908
153909// AsSQLServerLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
153910func (sels SapEccLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
153911	return nil, false
153912}
153913
153914// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
153915func (sels SapEccLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
153916	return nil, false
153917}
153918
153919// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
153920func (sels SapEccLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) {
153921	return nil, false
153922}
153923
153924// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
153925func (sels SapEccLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) {
153926	return nil, false
153927}
153928
153929// AsAzureStorageLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
153930func (sels SapEccLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
153931	return nil, false
153932}
153933
153934// AsLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
153935func (sels SapEccLinkedService) AsLinkedService() (*LinkedService, bool) {
153936	return nil, false
153937}
153938
153939// AsBasicLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
153940func (sels SapEccLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
153941	return &sels, true
153942}
153943
153944// UnmarshalJSON is the custom unmarshaler for SapEccLinkedService struct.
153945func (sels *SapEccLinkedService) UnmarshalJSON(body []byte) error {
153946	var m map[string]*json.RawMessage
153947	err := json.Unmarshal(body, &m)
153948	if err != nil {
153949		return err
153950	}
153951	for k, v := range m {
153952		switch k {
153953		case "typeProperties":
153954			if v != nil {
153955				var sapEccLinkedServiceTypeProperties SapEccLinkedServiceTypeProperties
153956				err = json.Unmarshal(*v, &sapEccLinkedServiceTypeProperties)
153957				if err != nil {
153958					return err
153959				}
153960				sels.SapEccLinkedServiceTypeProperties = &sapEccLinkedServiceTypeProperties
153961			}
153962		default:
153963			if v != nil {
153964				var additionalProperties interface{}
153965				err = json.Unmarshal(*v, &additionalProperties)
153966				if err != nil {
153967					return err
153968				}
153969				if sels.AdditionalProperties == nil {
153970					sels.AdditionalProperties = make(map[string]interface{})
153971				}
153972				sels.AdditionalProperties[k] = additionalProperties
153973			}
153974		case "connectVia":
153975			if v != nil {
153976				var connectVia IntegrationRuntimeReference
153977				err = json.Unmarshal(*v, &connectVia)
153978				if err != nil {
153979					return err
153980				}
153981				sels.ConnectVia = &connectVia
153982			}
153983		case "description":
153984			if v != nil {
153985				var description string
153986				err = json.Unmarshal(*v, &description)
153987				if err != nil {
153988					return err
153989				}
153990				sels.Description = &description
153991			}
153992		case "parameters":
153993			if v != nil {
153994				var parameters map[string]*ParameterSpecification
153995				err = json.Unmarshal(*v, &parameters)
153996				if err != nil {
153997					return err
153998				}
153999				sels.Parameters = parameters
154000			}
154001		case "annotations":
154002			if v != nil {
154003				var annotations []interface{}
154004				err = json.Unmarshal(*v, &annotations)
154005				if err != nil {
154006					return err
154007				}
154008				sels.Annotations = &annotations
154009			}
154010		case "type":
154011			if v != nil {
154012				var typeVar TypeBasicLinkedService
154013				err = json.Unmarshal(*v, &typeVar)
154014				if err != nil {
154015					return err
154016				}
154017				sels.Type = typeVar
154018			}
154019		}
154020	}
154021
154022	return nil
154023}
154024
154025// SapEccLinkedServiceTypeProperties SAP ECC linked service properties.
154026type SapEccLinkedServiceTypeProperties struct {
154027	// 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).
154028	URL *string `json:"url,omitempty"`
154029	// Username - The username for Basic authentication. Type: string (or Expression with resultType string).
154030	Username *string `json:"username,omitempty"`
154031	// Password - The password for Basic authentication.
154032	Password BasicSecretBase `json:"password,omitempty"`
154033	// 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).
154034	EncryptedCredential *string `json:"encryptedCredential,omitempty"`
154035}
154036
154037// UnmarshalJSON is the custom unmarshaler for SapEccLinkedServiceTypeProperties struct.
154038func (selstp *SapEccLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
154039	var m map[string]*json.RawMessage
154040	err := json.Unmarshal(body, &m)
154041	if err != nil {
154042		return err
154043	}
154044	for k, v := range m {
154045		switch k {
154046		case "url":
154047			if v != nil {
154048				var URL string
154049				err = json.Unmarshal(*v, &URL)
154050				if err != nil {
154051					return err
154052				}
154053				selstp.URL = &URL
154054			}
154055		case "username":
154056			if v != nil {
154057				var username string
154058				err = json.Unmarshal(*v, &username)
154059				if err != nil {
154060					return err
154061				}
154062				selstp.Username = &username
154063			}
154064		case "password":
154065			if v != nil {
154066				password, err := unmarshalBasicSecretBase(*v)
154067				if err != nil {
154068					return err
154069				}
154070				selstp.Password = password
154071			}
154072		case "encryptedCredential":
154073			if v != nil {
154074				var encryptedCredential string
154075				err = json.Unmarshal(*v, &encryptedCredential)
154076				if err != nil {
154077					return err
154078				}
154079				selstp.EncryptedCredential = &encryptedCredential
154080			}
154081		}
154082	}
154083
154084	return nil
154085}
154086
154087// SapEccResourceDataset the path of the SAP ECC OData entity.
154088type SapEccResourceDataset struct {
154089	// SapEccResourceDatasetTypeProperties - SAP ECC OData resource dataset properties.
154090	*SapEccResourceDatasetTypeProperties `json:"typeProperties,omitempty"`
154091	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
154092	AdditionalProperties map[string]interface{} `json:""`
154093	// Description - Dataset description.
154094	Description *string `json:"description,omitempty"`
154095	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
154096	Structure interface{} `json:"structure,omitempty"`
154097	// Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement.
154098	Schema interface{} `json:"schema,omitempty"`
154099	// LinkedServiceName - Linked service reference.
154100	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
154101	// Parameters - Parameters for dataset.
154102	Parameters map[string]*ParameterSpecification `json:"parameters"`
154103	// Annotations - List of tags that can be used for describing the Dataset.
154104	Annotations *[]interface{} `json:"annotations,omitempty"`
154105	// Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level.
154106	Folder *DatasetFolder `json:"folder,omitempty"`
154107	// Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', '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', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeDelimitedText', 'TypeParquet', 'TypeAmazonS3Object'
154108	Type TypeBasicDataset `json:"type,omitempty"`
154109}
154110
154111// MarshalJSON is the custom marshaler for SapEccResourceDataset.
154112func (serd SapEccResourceDataset) MarshalJSON() ([]byte, error) {
154113	serd.Type = TypeSapEccResource
154114	objectMap := make(map[string]interface{})
154115	if serd.SapEccResourceDatasetTypeProperties != nil {
154116		objectMap["typeProperties"] = serd.SapEccResourceDatasetTypeProperties
154117	}
154118	if serd.Description != nil {
154119		objectMap["description"] = serd.Description
154120	}
154121	if serd.Structure != nil {
154122		objectMap["structure"] = serd.Structure
154123	}
154124	if serd.Schema != nil {
154125		objectMap["schema"] = serd.Schema
154126	}
154127	if serd.LinkedServiceName != nil {
154128		objectMap["linkedServiceName"] = serd.LinkedServiceName
154129	}
154130	if serd.Parameters != nil {
154131		objectMap["parameters"] = serd.Parameters
154132	}
154133	if serd.Annotations != nil {
154134		objectMap["annotations"] = serd.Annotations
154135	}
154136	if serd.Folder != nil {
154137		objectMap["folder"] = serd.Folder
154138	}
154139	if serd.Type != "" {
154140		objectMap["type"] = serd.Type
154141	}
154142	for k, v := range serd.AdditionalProperties {
154143		objectMap[k] = v
154144	}
154145	return json.Marshal(objectMap)
154146}
154147
154148// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for SapEccResourceDataset.
154149func (serd SapEccResourceDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) {
154150	return nil, false
154151}
154152
154153// AsAzureDataExplorerTableDataset is the BasicDataset implementation for SapEccResourceDataset.
154154func (serd SapEccResourceDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) {
154155	return nil, false
154156}
154157
154158// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for SapEccResourceDataset.
154159func (serd SapEccResourceDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) {
154160	return nil, false
154161}
154162
154163// AsDynamicsAXResourceDataset is the BasicDataset implementation for SapEccResourceDataset.
154164func (serd SapEccResourceDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) {
154165	return nil, false
154166}
154167
154168// AsResponsysObjectDataset is the BasicDataset implementation for SapEccResourceDataset.
154169func (serd SapEccResourceDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
154170	return nil, false
154171}
154172
154173// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for SapEccResourceDataset.
154174func (serd SapEccResourceDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
154175	return nil, false
154176}
154177
154178// AsVerticaTableDataset is the BasicDataset implementation for SapEccResourceDataset.
154179func (serd SapEccResourceDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
154180	return nil, false
154181}
154182
154183// AsNetezzaTableDataset is the BasicDataset implementation for SapEccResourceDataset.
154184func (serd SapEccResourceDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
154185	return nil, false
154186}
154187
154188// AsZohoObjectDataset is the BasicDataset implementation for SapEccResourceDataset.
154189func (serd SapEccResourceDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
154190	return nil, false
154191}
154192
154193// AsXeroObjectDataset is the BasicDataset implementation for SapEccResourceDataset.
154194func (serd SapEccResourceDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
154195	return nil, false
154196}
154197
154198// AsSquareObjectDataset is the BasicDataset implementation for SapEccResourceDataset.
154199func (serd SapEccResourceDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
154200	return nil, false
154201}
154202
154203// AsSparkObjectDataset is the BasicDataset implementation for SapEccResourceDataset.
154204func (serd SapEccResourceDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
154205	return nil, false
154206}
154207
154208// AsShopifyObjectDataset is the BasicDataset implementation for SapEccResourceDataset.
154209func (serd SapEccResourceDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
154210	return nil, false
154211}
154212
154213// AsServiceNowObjectDataset is the BasicDataset implementation for SapEccResourceDataset.
154214func (serd SapEccResourceDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
154215	return nil, false
154216}
154217
154218// AsQuickBooksObjectDataset is the BasicDataset implementation for SapEccResourceDataset.
154219func (serd SapEccResourceDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
154220	return nil, false
154221}
154222
154223// AsPrestoObjectDataset is the BasicDataset implementation for SapEccResourceDataset.
154224func (serd SapEccResourceDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
154225	return nil, false
154226}
154227
154228// AsPhoenixObjectDataset is the BasicDataset implementation for SapEccResourceDataset.
154229func (serd SapEccResourceDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
154230	return nil, false
154231}
154232
154233// AsPaypalObjectDataset is the BasicDataset implementation for SapEccResourceDataset.
154234func (serd SapEccResourceDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
154235	return nil, false
154236}
154237
154238// AsMarketoObjectDataset is the BasicDataset implementation for SapEccResourceDataset.
154239func (serd SapEccResourceDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
154240	return nil, false
154241}
154242
154243// AsMariaDBTableDataset is the BasicDataset implementation for SapEccResourceDataset.
154244func (serd SapEccResourceDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
154245	return nil, false
154246}
154247
154248// AsMagentoObjectDataset is the BasicDataset implementation for SapEccResourceDataset.
154249func (serd SapEccResourceDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
154250	return nil, false
154251}
154252
154253// AsJiraObjectDataset is the BasicDataset implementation for SapEccResourceDataset.
154254func (serd SapEccResourceDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
154255	return nil, false
154256}
154257
154258// AsImpalaObjectDataset is the BasicDataset implementation for SapEccResourceDataset.
154259func (serd SapEccResourceDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
154260	return nil, false
154261}
154262
154263// AsHubspotObjectDataset is the BasicDataset implementation for SapEccResourceDataset.
154264func (serd SapEccResourceDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
154265	return nil, false
154266}
154267
154268// AsHiveObjectDataset is the BasicDataset implementation for SapEccResourceDataset.
154269func (serd SapEccResourceDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
154270	return nil, false
154271}
154272
154273// AsHBaseObjectDataset is the BasicDataset implementation for SapEccResourceDataset.
154274func (serd SapEccResourceDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
154275	return nil, false
154276}
154277
154278// AsGreenplumTableDataset is the BasicDataset implementation for SapEccResourceDataset.
154279func (serd SapEccResourceDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
154280	return nil, false
154281}
154282
154283// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for SapEccResourceDataset.
154284func (serd SapEccResourceDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
154285	return nil, false
154286}
154287
154288// AsEloquaObjectDataset is the BasicDataset implementation for SapEccResourceDataset.
154289func (serd SapEccResourceDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
154290	return nil, false
154291}
154292
154293// AsDrillTableDataset is the BasicDataset implementation for SapEccResourceDataset.
154294func (serd SapEccResourceDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
154295	return nil, false
154296}
154297
154298// AsCouchbaseTableDataset is the BasicDataset implementation for SapEccResourceDataset.
154299func (serd SapEccResourceDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
154300	return nil, false
154301}
154302
154303// AsConcurObjectDataset is the BasicDataset implementation for SapEccResourceDataset.
154304func (serd SapEccResourceDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
154305	return nil, false
154306}
154307
154308// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for SapEccResourceDataset.
154309func (serd SapEccResourceDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
154310	return nil, false
154311}
154312
154313// AsAmazonMWSObjectDataset is the BasicDataset implementation for SapEccResourceDataset.
154314func (serd SapEccResourceDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
154315	return nil, false
154316}
154317
154318// AsHTTPDataset is the BasicDataset implementation for SapEccResourceDataset.
154319func (serd SapEccResourceDataset) AsHTTPDataset() (*HTTPDataset, bool) {
154320	return nil, false
154321}
154322
154323// AsAzureSearchIndexDataset is the BasicDataset implementation for SapEccResourceDataset.
154324func (serd SapEccResourceDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
154325	return nil, false
154326}
154327
154328// AsWebTableDataset is the BasicDataset implementation for SapEccResourceDataset.
154329func (serd SapEccResourceDataset) AsWebTableDataset() (*WebTableDataset, bool) {
154330	return nil, false
154331}
154332
154333// AsSapTableResourceDataset is the BasicDataset implementation for SapEccResourceDataset.
154334func (serd SapEccResourceDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) {
154335	return nil, false
154336}
154337
154338// AsRestResourceDataset is the BasicDataset implementation for SapEccResourceDataset.
154339func (serd SapEccResourceDataset) AsRestResourceDataset() (*RestResourceDataset, bool) {
154340	return nil, false
154341}
154342
154343// AsSQLServerTableDataset is the BasicDataset implementation for SapEccResourceDataset.
154344func (serd SapEccResourceDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
154345	return nil, false
154346}
154347
154348// AsSapOpenHubTableDataset is the BasicDataset implementation for SapEccResourceDataset.
154349func (serd SapEccResourceDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) {
154350	return nil, false
154351}
154352
154353// AsSapHanaTableDataset is the BasicDataset implementation for SapEccResourceDataset.
154354func (serd SapEccResourceDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) {
154355	return nil, false
154356}
154357
154358// AsSapEccResourceDataset is the BasicDataset implementation for SapEccResourceDataset.
154359func (serd SapEccResourceDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
154360	return &serd, true
154361}
154362
154363// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for SapEccResourceDataset.
154364func (serd SapEccResourceDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
154365	return nil, false
154366}
154367
154368// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for SapEccResourceDataset.
154369func (serd SapEccResourceDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) {
154370	return nil, false
154371}
154372
154373// AsSalesforceObjectDataset is the BasicDataset implementation for SapEccResourceDataset.
154374func (serd SapEccResourceDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
154375	return nil, false
154376}
154377
154378// AsMicrosoftAccessTableDataset is the BasicDataset implementation for SapEccResourceDataset.
154379func (serd SapEccResourceDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) {
154380	return nil, false
154381}
154382
154383// AsPostgreSQLTableDataset is the BasicDataset implementation for SapEccResourceDataset.
154384func (serd SapEccResourceDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) {
154385	return nil, false
154386}
154387
154388// AsMySQLTableDataset is the BasicDataset implementation for SapEccResourceDataset.
154389func (serd SapEccResourceDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) {
154390	return nil, false
154391}
154392
154393// AsOdbcTableDataset is the BasicDataset implementation for SapEccResourceDataset.
154394func (serd SapEccResourceDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) {
154395	return nil, false
154396}
154397
154398// AsInformixTableDataset is the BasicDataset implementation for SapEccResourceDataset.
154399func (serd SapEccResourceDataset) AsInformixTableDataset() (*InformixTableDataset, bool) {
154400	return nil, false
154401}
154402
154403// AsRelationalTableDataset is the BasicDataset implementation for SapEccResourceDataset.
154404func (serd SapEccResourceDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
154405	return nil, false
154406}
154407
154408// AsAzureMySQLTableDataset is the BasicDataset implementation for SapEccResourceDataset.
154409func (serd SapEccResourceDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
154410	return nil, false
154411}
154412
154413// AsTeradataTableDataset is the BasicDataset implementation for SapEccResourceDataset.
154414func (serd SapEccResourceDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) {
154415	return nil, false
154416}
154417
154418// AsOracleTableDataset is the BasicDataset implementation for SapEccResourceDataset.
154419func (serd SapEccResourceDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
154420	return nil, false
154421}
154422
154423// AsODataResourceDataset is the BasicDataset implementation for SapEccResourceDataset.
154424func (serd SapEccResourceDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
154425	return nil, false
154426}
154427
154428// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for SapEccResourceDataset.
154429func (serd SapEccResourceDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) {
154430	return nil, false
154431}
154432
154433// AsMongoDbV2CollectionDataset is the BasicDataset implementation for SapEccResourceDataset.
154434func (serd SapEccResourceDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) {
154435	return nil, false
154436}
154437
154438// AsMongoDbCollectionDataset is the BasicDataset implementation for SapEccResourceDataset.
154439func (serd SapEccResourceDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
154440	return nil, false
154441}
154442
154443// AsFileShareDataset is the BasicDataset implementation for SapEccResourceDataset.
154444func (serd SapEccResourceDataset) AsFileShareDataset() (*FileShareDataset, bool) {
154445	return nil, false
154446}
154447
154448// AsOffice365Dataset is the BasicDataset implementation for SapEccResourceDataset.
154449func (serd SapEccResourceDataset) AsOffice365Dataset() (*Office365Dataset, bool) {
154450	return nil, false
154451}
154452
154453// AsAzureBlobFSDataset is the BasicDataset implementation for SapEccResourceDataset.
154454func (serd SapEccResourceDataset) AsAzureBlobFSDataset() (*AzureBlobFSDataset, bool) {
154455	return nil, false
154456}
154457
154458// AsAzureDataLakeStoreDataset is the BasicDataset implementation for SapEccResourceDataset.
154459func (serd SapEccResourceDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) {
154460	return nil, false
154461}
154462
154463// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for SapEccResourceDataset.
154464func (serd SapEccResourceDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) {
154465	return nil, false
154466}
154467
154468// AsDynamicsCrmEntityDataset is the BasicDataset implementation for SapEccResourceDataset.
154469func (serd SapEccResourceDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) {
154470	return nil, false
154471}
154472
154473// AsDynamicsEntityDataset is the BasicDataset implementation for SapEccResourceDataset.
154474func (serd SapEccResourceDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
154475	return nil, false
154476}
154477
154478// AsDocumentDbCollectionDataset is the BasicDataset implementation for SapEccResourceDataset.
154479func (serd SapEccResourceDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
154480	return nil, false
154481}
154482
154483// AsCustomDataset is the BasicDataset implementation for SapEccResourceDataset.
154484func (serd SapEccResourceDataset) AsCustomDataset() (*CustomDataset, bool) {
154485	return nil, false
154486}
154487
154488// AsCassandraTableDataset is the BasicDataset implementation for SapEccResourceDataset.
154489func (serd SapEccResourceDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
154490	return nil, false
154491}
154492
154493// AsAzureSQLDWTableDataset is the BasicDataset implementation for SapEccResourceDataset.
154494func (serd SapEccResourceDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
154495	return nil, false
154496}
154497
154498// AsAzureSQLMITableDataset is the BasicDataset implementation for SapEccResourceDataset.
154499func (serd SapEccResourceDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) {
154500	return nil, false
154501}
154502
154503// AsAzureSQLTableDataset is the BasicDataset implementation for SapEccResourceDataset.
154504func (serd SapEccResourceDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
154505	return nil, false
154506}
154507
154508// AsAzureTableDataset is the BasicDataset implementation for SapEccResourceDataset.
154509func (serd SapEccResourceDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
154510	return nil, false
154511}
154512
154513// AsAzureBlobDataset is the BasicDataset implementation for SapEccResourceDataset.
154514func (serd SapEccResourceDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) {
154515	return nil, false
154516}
154517
154518// AsBinaryDataset is the BasicDataset implementation for SapEccResourceDataset.
154519func (serd SapEccResourceDataset) AsBinaryDataset() (*BinaryDataset, bool) {
154520	return nil, false
154521}
154522
154523// AsDelimitedTextDataset is the BasicDataset implementation for SapEccResourceDataset.
154524func (serd SapEccResourceDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) {
154525	return nil, false
154526}
154527
154528// AsParquetDataset is the BasicDataset implementation for SapEccResourceDataset.
154529func (serd SapEccResourceDataset) AsParquetDataset() (*ParquetDataset, bool) {
154530	return nil, false
154531}
154532
154533// AsAmazonS3Dataset is the BasicDataset implementation for SapEccResourceDataset.
154534func (serd SapEccResourceDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) {
154535	return nil, false
154536}
154537
154538// AsDataset is the BasicDataset implementation for SapEccResourceDataset.
154539func (serd SapEccResourceDataset) AsDataset() (*Dataset, bool) {
154540	return nil, false
154541}
154542
154543// AsBasicDataset is the BasicDataset implementation for SapEccResourceDataset.
154544func (serd SapEccResourceDataset) AsBasicDataset() (BasicDataset, bool) {
154545	return &serd, true
154546}
154547
154548// UnmarshalJSON is the custom unmarshaler for SapEccResourceDataset struct.
154549func (serd *SapEccResourceDataset) UnmarshalJSON(body []byte) error {
154550	var m map[string]*json.RawMessage
154551	err := json.Unmarshal(body, &m)
154552	if err != nil {
154553		return err
154554	}
154555	for k, v := range m {
154556		switch k {
154557		case "typeProperties":
154558			if v != nil {
154559				var sapEccResourceDatasetTypeProperties SapEccResourceDatasetTypeProperties
154560				err = json.Unmarshal(*v, &sapEccResourceDatasetTypeProperties)
154561				if err != nil {
154562					return err
154563				}
154564				serd.SapEccResourceDatasetTypeProperties = &sapEccResourceDatasetTypeProperties
154565			}
154566		default:
154567			if v != nil {
154568				var additionalProperties interface{}
154569				err = json.Unmarshal(*v, &additionalProperties)
154570				if err != nil {
154571					return err
154572				}
154573				if serd.AdditionalProperties == nil {
154574					serd.AdditionalProperties = make(map[string]interface{})
154575				}
154576				serd.AdditionalProperties[k] = additionalProperties
154577			}
154578		case "description":
154579			if v != nil {
154580				var description string
154581				err = json.Unmarshal(*v, &description)
154582				if err != nil {
154583					return err
154584				}
154585				serd.Description = &description
154586			}
154587		case "structure":
154588			if v != nil {
154589				var structure interface{}
154590				err = json.Unmarshal(*v, &structure)
154591				if err != nil {
154592					return err
154593				}
154594				serd.Structure = structure
154595			}
154596		case "schema":
154597			if v != nil {
154598				var schema interface{}
154599				err = json.Unmarshal(*v, &schema)
154600				if err != nil {
154601					return err
154602				}
154603				serd.Schema = schema
154604			}
154605		case "linkedServiceName":
154606			if v != nil {
154607				var linkedServiceName LinkedServiceReference
154608				err = json.Unmarshal(*v, &linkedServiceName)
154609				if err != nil {
154610					return err
154611				}
154612				serd.LinkedServiceName = &linkedServiceName
154613			}
154614		case "parameters":
154615			if v != nil {
154616				var parameters map[string]*ParameterSpecification
154617				err = json.Unmarshal(*v, &parameters)
154618				if err != nil {
154619					return err
154620				}
154621				serd.Parameters = parameters
154622			}
154623		case "annotations":
154624			if v != nil {
154625				var annotations []interface{}
154626				err = json.Unmarshal(*v, &annotations)
154627				if err != nil {
154628					return err
154629				}
154630				serd.Annotations = &annotations
154631			}
154632		case "folder":
154633			if v != nil {
154634				var folder DatasetFolder
154635				err = json.Unmarshal(*v, &folder)
154636				if err != nil {
154637					return err
154638				}
154639				serd.Folder = &folder
154640			}
154641		case "type":
154642			if v != nil {
154643				var typeVar TypeBasicDataset
154644				err = json.Unmarshal(*v, &typeVar)
154645				if err != nil {
154646					return err
154647				}
154648				serd.Type = typeVar
154649			}
154650		}
154651	}
154652
154653	return nil
154654}
154655
154656// SapEccResourceDatasetTypeProperties sap ECC OData resource dataset properties.
154657type SapEccResourceDatasetTypeProperties struct {
154658	// Path - The path of the SAP ECC OData entity. Type: string (or Expression with resultType string).
154659	Path interface{} `json:"path,omitempty"`
154660}
154661
154662// SapEccSource a copy activity source for SAP ECC source.
154663type SapEccSource struct {
154664	// Query - SAP ECC OData query. For example, "$top=1". Type: string (or Expression with resultType string).
154665	Query interface{} `json:"query,omitempty"`
154666	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
154667	AdditionalProperties map[string]interface{} `json:""`
154668	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
154669	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
154670	// 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])).
154671	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
154672	// MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer).
154673	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
154674	// Type - Possible values include: 'TypeCopySource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', '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', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeCassandraSource', 'TypeWebSource', 'TypeTeradataSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeAzureMySQLSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeRestSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceServiceCloudSource', 'TypeSalesforceSource', 'TypeODataSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeMicrosoftAccessSource', 'TypeInformixSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAzureTableSource', 'TypeBinarySource', 'TypeDelimitedTextSource', 'TypeParquetSource'
154675	Type TypeBasicCopySource `json:"type,omitempty"`
154676}
154677
154678// MarshalJSON is the custom marshaler for SapEccSource.
154679func (ses SapEccSource) MarshalJSON() ([]byte, error) {
154680	ses.Type = TypeSapEccSource
154681	objectMap := make(map[string]interface{})
154682	if ses.Query != nil {
154683		objectMap["query"] = ses.Query
154684	}
154685	if ses.SourceRetryCount != nil {
154686		objectMap["sourceRetryCount"] = ses.SourceRetryCount
154687	}
154688	if ses.SourceRetryWait != nil {
154689		objectMap["sourceRetryWait"] = ses.SourceRetryWait
154690	}
154691	if ses.MaxConcurrentConnections != nil {
154692		objectMap["maxConcurrentConnections"] = ses.MaxConcurrentConnections
154693	}
154694	if ses.Type != "" {
154695		objectMap["type"] = ses.Type
154696	}
154697	for k, v := range ses.AdditionalProperties {
154698		objectMap[k] = v
154699	}
154700	return json.Marshal(objectMap)
154701}
154702
154703// AsAmazonRedshiftSource is the BasicCopySource implementation for SapEccSource.
154704func (ses SapEccSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
154705	return nil, false
154706}
154707
154708// AsGoogleAdWordsSource is the BasicCopySource implementation for SapEccSource.
154709func (ses SapEccSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) {
154710	return nil, false
154711}
154712
154713// AsOracleServiceCloudSource is the BasicCopySource implementation for SapEccSource.
154714func (ses SapEccSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) {
154715	return nil, false
154716}
154717
154718// AsDynamicsAXSource is the BasicCopySource implementation for SapEccSource.
154719func (ses SapEccSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) {
154720	return nil, false
154721}
154722
154723// AsResponsysSource is the BasicCopySource implementation for SapEccSource.
154724func (ses SapEccSource) AsResponsysSource() (*ResponsysSource, bool) {
154725	return nil, false
154726}
154727
154728// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for SapEccSource.
154729func (ses SapEccSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
154730	return nil, false
154731}
154732
154733// AsVerticaSource is the BasicCopySource implementation for SapEccSource.
154734func (ses SapEccSource) AsVerticaSource() (*VerticaSource, bool) {
154735	return nil, false
154736}
154737
154738// AsNetezzaSource is the BasicCopySource implementation for SapEccSource.
154739func (ses SapEccSource) AsNetezzaSource() (*NetezzaSource, bool) {
154740	return nil, false
154741}
154742
154743// AsZohoSource is the BasicCopySource implementation for SapEccSource.
154744func (ses SapEccSource) AsZohoSource() (*ZohoSource, bool) {
154745	return nil, false
154746}
154747
154748// AsXeroSource is the BasicCopySource implementation for SapEccSource.
154749func (ses SapEccSource) AsXeroSource() (*XeroSource, bool) {
154750	return nil, false
154751}
154752
154753// AsSquareSource is the BasicCopySource implementation for SapEccSource.
154754func (ses SapEccSource) AsSquareSource() (*SquareSource, bool) {
154755	return nil, false
154756}
154757
154758// AsSparkSource is the BasicCopySource implementation for SapEccSource.
154759func (ses SapEccSource) AsSparkSource() (*SparkSource, bool) {
154760	return nil, false
154761}
154762
154763// AsShopifySource is the BasicCopySource implementation for SapEccSource.
154764func (ses SapEccSource) AsShopifySource() (*ShopifySource, bool) {
154765	return nil, false
154766}
154767
154768// AsServiceNowSource is the BasicCopySource implementation for SapEccSource.
154769func (ses SapEccSource) AsServiceNowSource() (*ServiceNowSource, bool) {
154770	return nil, false
154771}
154772
154773// AsQuickBooksSource is the BasicCopySource implementation for SapEccSource.
154774func (ses SapEccSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
154775	return nil, false
154776}
154777
154778// AsPrestoSource is the BasicCopySource implementation for SapEccSource.
154779func (ses SapEccSource) AsPrestoSource() (*PrestoSource, bool) {
154780	return nil, false
154781}
154782
154783// AsPhoenixSource is the BasicCopySource implementation for SapEccSource.
154784func (ses SapEccSource) AsPhoenixSource() (*PhoenixSource, bool) {
154785	return nil, false
154786}
154787
154788// AsPaypalSource is the BasicCopySource implementation for SapEccSource.
154789func (ses SapEccSource) AsPaypalSource() (*PaypalSource, bool) {
154790	return nil, false
154791}
154792
154793// AsMarketoSource is the BasicCopySource implementation for SapEccSource.
154794func (ses SapEccSource) AsMarketoSource() (*MarketoSource, bool) {
154795	return nil, false
154796}
154797
154798// AsMariaDBSource is the BasicCopySource implementation for SapEccSource.
154799func (ses SapEccSource) AsMariaDBSource() (*MariaDBSource, bool) {
154800	return nil, false
154801}
154802
154803// AsMagentoSource is the BasicCopySource implementation for SapEccSource.
154804func (ses SapEccSource) AsMagentoSource() (*MagentoSource, bool) {
154805	return nil, false
154806}
154807
154808// AsJiraSource is the BasicCopySource implementation for SapEccSource.
154809func (ses SapEccSource) AsJiraSource() (*JiraSource, bool) {
154810	return nil, false
154811}
154812
154813// AsImpalaSource is the BasicCopySource implementation for SapEccSource.
154814func (ses SapEccSource) AsImpalaSource() (*ImpalaSource, bool) {
154815	return nil, false
154816}
154817
154818// AsHubspotSource is the BasicCopySource implementation for SapEccSource.
154819func (ses SapEccSource) AsHubspotSource() (*HubspotSource, bool) {
154820	return nil, false
154821}
154822
154823// AsHiveSource is the BasicCopySource implementation for SapEccSource.
154824func (ses SapEccSource) AsHiveSource() (*HiveSource, bool) {
154825	return nil, false
154826}
154827
154828// AsHBaseSource is the BasicCopySource implementation for SapEccSource.
154829func (ses SapEccSource) AsHBaseSource() (*HBaseSource, bool) {
154830	return nil, false
154831}
154832
154833// AsGreenplumSource is the BasicCopySource implementation for SapEccSource.
154834func (ses SapEccSource) AsGreenplumSource() (*GreenplumSource, bool) {
154835	return nil, false
154836}
154837
154838// AsGoogleBigQuerySource is the BasicCopySource implementation for SapEccSource.
154839func (ses SapEccSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
154840	return nil, false
154841}
154842
154843// AsEloquaSource is the BasicCopySource implementation for SapEccSource.
154844func (ses SapEccSource) AsEloquaSource() (*EloquaSource, bool) {
154845	return nil, false
154846}
154847
154848// AsDrillSource is the BasicCopySource implementation for SapEccSource.
154849func (ses SapEccSource) AsDrillSource() (*DrillSource, bool) {
154850	return nil, false
154851}
154852
154853// AsCouchbaseSource is the BasicCopySource implementation for SapEccSource.
154854func (ses SapEccSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
154855	return nil, false
154856}
154857
154858// AsConcurSource is the BasicCopySource implementation for SapEccSource.
154859func (ses SapEccSource) AsConcurSource() (*ConcurSource, bool) {
154860	return nil, false
154861}
154862
154863// AsAzurePostgreSQLSource is the BasicCopySource implementation for SapEccSource.
154864func (ses SapEccSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
154865	return nil, false
154866}
154867
154868// AsAmazonMWSSource is the BasicCopySource implementation for SapEccSource.
154869func (ses SapEccSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
154870	return nil, false
154871}
154872
154873// AsHTTPSource is the BasicCopySource implementation for SapEccSource.
154874func (ses SapEccSource) AsHTTPSource() (*HTTPSource, bool) {
154875	return nil, false
154876}
154877
154878// AsAzureBlobFSSource is the BasicCopySource implementation for SapEccSource.
154879func (ses SapEccSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) {
154880	return nil, false
154881}
154882
154883// AsAzureDataLakeStoreSource is the BasicCopySource implementation for SapEccSource.
154884func (ses SapEccSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
154885	return nil, false
154886}
154887
154888// AsOffice365Source is the BasicCopySource implementation for SapEccSource.
154889func (ses SapEccSource) AsOffice365Source() (*Office365Source, bool) {
154890	return nil, false
154891}
154892
154893// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for SapEccSource.
154894func (ses SapEccSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) {
154895	return nil, false
154896}
154897
154898// AsMongoDbV2Source is the BasicCopySource implementation for SapEccSource.
154899func (ses SapEccSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) {
154900	return nil, false
154901}
154902
154903// AsMongoDbSource is the BasicCopySource implementation for SapEccSource.
154904func (ses SapEccSource) AsMongoDbSource() (*MongoDbSource, bool) {
154905	return nil, false
154906}
154907
154908// AsCassandraSource is the BasicCopySource implementation for SapEccSource.
154909func (ses SapEccSource) AsCassandraSource() (*CassandraSource, bool) {
154910	return nil, false
154911}
154912
154913// AsWebSource is the BasicCopySource implementation for SapEccSource.
154914func (ses SapEccSource) AsWebSource() (*WebSource, bool) {
154915	return nil, false
154916}
154917
154918// AsTeradataSource is the BasicCopySource implementation for SapEccSource.
154919func (ses SapEccSource) AsTeradataSource() (*TeradataSource, bool) {
154920	return nil, false
154921}
154922
154923// AsOracleSource is the BasicCopySource implementation for SapEccSource.
154924func (ses SapEccSource) AsOracleSource() (*OracleSource, bool) {
154925	return nil, false
154926}
154927
154928// AsAzureDataExplorerSource is the BasicCopySource implementation for SapEccSource.
154929func (ses SapEccSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) {
154930	return nil, false
154931}
154932
154933// AsAzureMySQLSource is the BasicCopySource implementation for SapEccSource.
154934func (ses SapEccSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
154935	return nil, false
154936}
154937
154938// AsHdfsSource is the BasicCopySource implementation for SapEccSource.
154939func (ses SapEccSource) AsHdfsSource() (*HdfsSource, bool) {
154940	return nil, false
154941}
154942
154943// AsFileSystemSource is the BasicCopySource implementation for SapEccSource.
154944func (ses SapEccSource) AsFileSystemSource() (*FileSystemSource, bool) {
154945	return nil, false
154946}
154947
154948// AsSQLDWSource is the BasicCopySource implementation for SapEccSource.
154949func (ses SapEccSource) AsSQLDWSource() (*SQLDWSource, bool) {
154950	return nil, false
154951}
154952
154953// AsSQLMISource is the BasicCopySource implementation for SapEccSource.
154954func (ses SapEccSource) AsSQLMISource() (*SQLMISource, bool) {
154955	return nil, false
154956}
154957
154958// AsAzureSQLSource is the BasicCopySource implementation for SapEccSource.
154959func (ses SapEccSource) AsAzureSQLSource() (*AzureSQLSource, bool) {
154960	return nil, false
154961}
154962
154963// AsSQLServerSource is the BasicCopySource implementation for SapEccSource.
154964func (ses SapEccSource) AsSQLServerSource() (*SQLServerSource, bool) {
154965	return nil, false
154966}
154967
154968// AsSQLSource is the BasicCopySource implementation for SapEccSource.
154969func (ses SapEccSource) AsSQLSource() (*SQLSource, bool) {
154970	return nil, false
154971}
154972
154973// AsRestSource is the BasicCopySource implementation for SapEccSource.
154974func (ses SapEccSource) AsRestSource() (*RestSource, bool) {
154975	return nil, false
154976}
154977
154978// AsSapTableSource is the BasicCopySource implementation for SapEccSource.
154979func (ses SapEccSource) AsSapTableSource() (*SapTableSource, bool) {
154980	return nil, false
154981}
154982
154983// AsSapOpenHubSource is the BasicCopySource implementation for SapEccSource.
154984func (ses SapEccSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) {
154985	return nil, false
154986}
154987
154988// AsSapHanaSource is the BasicCopySource implementation for SapEccSource.
154989func (ses SapEccSource) AsSapHanaSource() (*SapHanaSource, bool) {
154990	return nil, false
154991}
154992
154993// AsSapEccSource is the BasicCopySource implementation for SapEccSource.
154994func (ses SapEccSource) AsSapEccSource() (*SapEccSource, bool) {
154995	return &ses, true
154996}
154997
154998// AsSapCloudForCustomerSource is the BasicCopySource implementation for SapEccSource.
154999func (ses SapEccSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
155000	return nil, false
155001}
155002
155003// AsSalesforceServiceCloudSource is the BasicCopySource implementation for SapEccSource.
155004func (ses SapEccSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) {
155005	return nil, false
155006}
155007
155008// AsSalesforceSource is the BasicCopySource implementation for SapEccSource.
155009func (ses SapEccSource) AsSalesforceSource() (*SalesforceSource, bool) {
155010	return nil, false
155011}
155012
155013// AsODataSource is the BasicCopySource implementation for SapEccSource.
155014func (ses SapEccSource) AsODataSource() (*ODataSource, bool) {
155015	return nil, false
155016}
155017
155018// AsSybaseSource is the BasicCopySource implementation for SapEccSource.
155019func (ses SapEccSource) AsSybaseSource() (*SybaseSource, bool) {
155020	return nil, false
155021}
155022
155023// AsPostgreSQLSource is the BasicCopySource implementation for SapEccSource.
155024func (ses SapEccSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) {
155025	return nil, false
155026}
155027
155028// AsMySQLSource is the BasicCopySource implementation for SapEccSource.
155029func (ses SapEccSource) AsMySQLSource() (*MySQLSource, bool) {
155030	return nil, false
155031}
155032
155033// AsOdbcSource is the BasicCopySource implementation for SapEccSource.
155034func (ses SapEccSource) AsOdbcSource() (*OdbcSource, bool) {
155035	return nil, false
155036}
155037
155038// AsDb2Source is the BasicCopySource implementation for SapEccSource.
155039func (ses SapEccSource) AsDb2Source() (*Db2Source, bool) {
155040	return nil, false
155041}
155042
155043// AsMicrosoftAccessSource is the BasicCopySource implementation for SapEccSource.
155044func (ses SapEccSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) {
155045	return nil, false
155046}
155047
155048// AsInformixSource is the BasicCopySource implementation for SapEccSource.
155049func (ses SapEccSource) AsInformixSource() (*InformixSource, bool) {
155050	return nil, false
155051}
155052
155053// AsRelationalSource is the BasicCopySource implementation for SapEccSource.
155054func (ses SapEccSource) AsRelationalSource() (*RelationalSource, bool) {
155055	return nil, false
155056}
155057
155058// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for SapEccSource.
155059func (ses SapEccSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) {
155060	return nil, false
155061}
155062
155063// AsDynamicsCrmSource is the BasicCopySource implementation for SapEccSource.
155064func (ses SapEccSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) {
155065	return nil, false
155066}
155067
155068// AsDynamicsSource is the BasicCopySource implementation for SapEccSource.
155069func (ses SapEccSource) AsDynamicsSource() (*DynamicsSource, bool) {
155070	return nil, false
155071}
155072
155073// AsDocumentDbCollectionSource is the BasicCopySource implementation for SapEccSource.
155074func (ses SapEccSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
155075	return nil, false
155076}
155077
155078// AsBlobSource is the BasicCopySource implementation for SapEccSource.
155079func (ses SapEccSource) AsBlobSource() (*BlobSource, bool) {
155080	return nil, false
155081}
155082
155083// AsAzureTableSource is the BasicCopySource implementation for SapEccSource.
155084func (ses SapEccSource) AsAzureTableSource() (*AzureTableSource, bool) {
155085	return nil, false
155086}
155087
155088// AsBinarySource is the BasicCopySource implementation for SapEccSource.
155089func (ses SapEccSource) AsBinarySource() (*BinarySource, bool) {
155090	return nil, false
155091}
155092
155093// AsDelimitedTextSource is the BasicCopySource implementation for SapEccSource.
155094func (ses SapEccSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) {
155095	return nil, false
155096}
155097
155098// AsParquetSource is the BasicCopySource implementation for SapEccSource.
155099func (ses SapEccSource) AsParquetSource() (*ParquetSource, bool) {
155100	return nil, false
155101}
155102
155103// AsCopySource is the BasicCopySource implementation for SapEccSource.
155104func (ses SapEccSource) AsCopySource() (*CopySource, bool) {
155105	return nil, false
155106}
155107
155108// AsBasicCopySource is the BasicCopySource implementation for SapEccSource.
155109func (ses SapEccSource) AsBasicCopySource() (BasicCopySource, bool) {
155110	return &ses, true
155111}
155112
155113// UnmarshalJSON is the custom unmarshaler for SapEccSource struct.
155114func (ses *SapEccSource) UnmarshalJSON(body []byte) error {
155115	var m map[string]*json.RawMessage
155116	err := json.Unmarshal(body, &m)
155117	if err != nil {
155118		return err
155119	}
155120	for k, v := range m {
155121		switch k {
155122		case "query":
155123			if v != nil {
155124				var query interface{}
155125				err = json.Unmarshal(*v, &query)
155126				if err != nil {
155127					return err
155128				}
155129				ses.Query = query
155130			}
155131		default:
155132			if v != nil {
155133				var additionalProperties interface{}
155134				err = json.Unmarshal(*v, &additionalProperties)
155135				if err != nil {
155136					return err
155137				}
155138				if ses.AdditionalProperties == nil {
155139					ses.AdditionalProperties = make(map[string]interface{})
155140				}
155141				ses.AdditionalProperties[k] = additionalProperties
155142			}
155143		case "sourceRetryCount":
155144			if v != nil {
155145				var sourceRetryCount interface{}
155146				err = json.Unmarshal(*v, &sourceRetryCount)
155147				if err != nil {
155148					return err
155149				}
155150				ses.SourceRetryCount = sourceRetryCount
155151			}
155152		case "sourceRetryWait":
155153			if v != nil {
155154				var sourceRetryWait interface{}
155155				err = json.Unmarshal(*v, &sourceRetryWait)
155156				if err != nil {
155157					return err
155158				}
155159				ses.SourceRetryWait = sourceRetryWait
155160			}
155161		case "maxConcurrentConnections":
155162			if v != nil {
155163				var maxConcurrentConnections interface{}
155164				err = json.Unmarshal(*v, &maxConcurrentConnections)
155165				if err != nil {
155166					return err
155167				}
155168				ses.MaxConcurrentConnections = maxConcurrentConnections
155169			}
155170		case "type":
155171			if v != nil {
155172				var typeVar TypeBasicCopySource
155173				err = json.Unmarshal(*v, &typeVar)
155174				if err != nil {
155175					return err
155176				}
155177				ses.Type = typeVar
155178			}
155179		}
155180	}
155181
155182	return nil
155183}
155184
155185// SapHanaLinkedService SAP HANA Linked Service.
155186type SapHanaLinkedService struct {
155187	// SapHanaLinkedServiceProperties - Properties specific to this linked service type.
155188	*SapHanaLinkedServiceProperties `json:"typeProperties,omitempty"`
155189	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
155190	AdditionalProperties map[string]interface{} `json:""`
155191	// ConnectVia - The integration runtime reference.
155192	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
155193	// Description - Linked service description.
155194	Description *string `json:"description,omitempty"`
155195	// Parameters - Parameters for linked service.
155196	Parameters map[string]*ParameterSpecification `json:"parameters"`
155197	// Annotations - List of tags that can be used for describing the linked service.
155198	Annotations *[]interface{} `json:"annotations,omitempty"`
155199	// Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', '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', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage'
155200	Type TypeBasicLinkedService `json:"type,omitempty"`
155201}
155202
155203// MarshalJSON is the custom marshaler for SapHanaLinkedService.
155204func (shls SapHanaLinkedService) MarshalJSON() ([]byte, error) {
155205	shls.Type = TypeSapHana
155206	objectMap := make(map[string]interface{})
155207	if shls.SapHanaLinkedServiceProperties != nil {
155208		objectMap["typeProperties"] = shls.SapHanaLinkedServiceProperties
155209	}
155210	if shls.ConnectVia != nil {
155211		objectMap["connectVia"] = shls.ConnectVia
155212	}
155213	if shls.Description != nil {
155214		objectMap["description"] = shls.Description
155215	}
155216	if shls.Parameters != nil {
155217		objectMap["parameters"] = shls.Parameters
155218	}
155219	if shls.Annotations != nil {
155220		objectMap["annotations"] = shls.Annotations
155221	}
155222	if shls.Type != "" {
155223		objectMap["type"] = shls.Type
155224	}
155225	for k, v := range shls.AdditionalProperties {
155226		objectMap[k] = v
155227	}
155228	return json.Marshal(objectMap)
155229}
155230
155231// AsAzureFunctionLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
155232func (shls SapHanaLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) {
155233	return nil, false
155234}
155235
155236// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
155237func (shls SapHanaLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) {
155238	return nil, false
155239}
155240
155241// AsSapTableLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
155242func (shls SapHanaLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) {
155243	return nil, false
155244}
155245
155246// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
155247func (shls SapHanaLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) {
155248	return nil, false
155249}
155250
155251// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
155252func (shls SapHanaLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) {
155253	return nil, false
155254}
155255
155256// AsDynamicsAXLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
155257func (shls SapHanaLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) {
155258	return nil, false
155259}
155260
155261// AsResponsysLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
155262func (shls SapHanaLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
155263	return nil, false
155264}
155265
155266// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
155267func (shls SapHanaLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
155268	return nil, false
155269}
155270
155271// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
155272func (shls SapHanaLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
155273	return nil, false
155274}
155275
155276// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
155277func (shls SapHanaLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
155278	return nil, false
155279}
155280
155281// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
155282func (shls SapHanaLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
155283	return nil, false
155284}
155285
155286// AsNetezzaLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
155287func (shls SapHanaLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
155288	return nil, false
155289}
155290
155291// AsVerticaLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
155292func (shls SapHanaLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
155293	return nil, false
155294}
155295
155296// AsZohoLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
155297func (shls SapHanaLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
155298	return nil, false
155299}
155300
155301// AsXeroLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
155302func (shls SapHanaLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
155303	return nil, false
155304}
155305
155306// AsSquareLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
155307func (shls SapHanaLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
155308	return nil, false
155309}
155310
155311// AsSparkLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
155312func (shls SapHanaLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
155313	return nil, false
155314}
155315
155316// AsShopifyLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
155317func (shls SapHanaLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
155318	return nil, false
155319}
155320
155321// AsServiceNowLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
155322func (shls SapHanaLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
155323	return nil, false
155324}
155325
155326// AsQuickBooksLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
155327func (shls SapHanaLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
155328	return nil, false
155329}
155330
155331// AsPrestoLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
155332func (shls SapHanaLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
155333	return nil, false
155334}
155335
155336// AsPhoenixLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
155337func (shls SapHanaLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
155338	return nil, false
155339}
155340
155341// AsPaypalLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
155342func (shls SapHanaLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
155343	return nil, false
155344}
155345
155346// AsMarketoLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
155347func (shls SapHanaLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
155348	return nil, false
155349}
155350
155351// AsMariaDBLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
155352func (shls SapHanaLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
155353	return nil, false
155354}
155355
155356// AsMagentoLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
155357func (shls SapHanaLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
155358	return nil, false
155359}
155360
155361// AsJiraLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
155362func (shls SapHanaLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
155363	return nil, false
155364}
155365
155366// AsImpalaLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
155367func (shls SapHanaLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
155368	return nil, false
155369}
155370
155371// AsHubspotLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
155372func (shls SapHanaLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
155373	return nil, false
155374}
155375
155376// AsHiveLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
155377func (shls SapHanaLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
155378	return nil, false
155379}
155380
155381// AsHBaseLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
155382func (shls SapHanaLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
155383	return nil, false
155384}
155385
155386// AsGreenplumLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
155387func (shls SapHanaLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
155388	return nil, false
155389}
155390
155391// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
155392func (shls SapHanaLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
155393	return nil, false
155394}
155395
155396// AsEloquaLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
155397func (shls SapHanaLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
155398	return nil, false
155399}
155400
155401// AsDrillLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
155402func (shls SapHanaLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
155403	return nil, false
155404}
155405
155406// AsCouchbaseLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
155407func (shls SapHanaLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
155408	return nil, false
155409}
155410
155411// AsConcurLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
155412func (shls SapHanaLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
155413	return nil, false
155414}
155415
155416// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
155417func (shls SapHanaLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
155418	return nil, false
155419}
155420
155421// AsAmazonMWSLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
155422func (shls SapHanaLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
155423	return nil, false
155424}
155425
155426// AsSapHanaLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
155427func (shls SapHanaLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
155428	return &shls, true
155429}
155430
155431// AsSapBWLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
155432func (shls SapHanaLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
155433	return nil, false
155434}
155435
155436// AsSftpServerLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
155437func (shls SapHanaLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
155438	return nil, false
155439}
155440
155441// AsFtpServerLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
155442func (shls SapHanaLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
155443	return nil, false
155444}
155445
155446// AsHTTPLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
155447func (shls SapHanaLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
155448	return nil, false
155449}
155450
155451// AsAzureSearchLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
155452func (shls SapHanaLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
155453	return nil, false
155454}
155455
155456// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
155457func (shls SapHanaLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
155458	return nil, false
155459}
155460
155461// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
155462func (shls SapHanaLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
155463	return nil, false
155464}
155465
155466// AsAmazonS3LinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
155467func (shls SapHanaLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
155468	return nil, false
155469}
155470
155471// AsRestServiceLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
155472func (shls SapHanaLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) {
155473	return nil, false
155474}
155475
155476// AsSapOpenHubLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
155477func (shls SapHanaLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) {
155478	return nil, false
155479}
155480
155481// AsSapEccLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
155482func (shls SapHanaLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
155483	return nil, false
155484}
155485
155486// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
155487func (shls SapHanaLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
155488	return nil, false
155489}
155490
155491// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
155492func (shls SapHanaLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) {
155493	return nil, false
155494}
155495
155496// AsSalesforceLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
155497func (shls SapHanaLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
155498	return nil, false
155499}
155500
155501// AsOffice365LinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
155502func (shls SapHanaLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) {
155503	return nil, false
155504}
155505
155506// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
155507func (shls SapHanaLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) {
155508	return nil, false
155509}
155510
155511// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
155512func (shls SapHanaLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
155513	return nil, false
155514}
155515
155516// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
155517func (shls SapHanaLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) {
155518	return nil, false
155519}
155520
155521// AsMongoDbV2LinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
155522func (shls SapHanaLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) {
155523	return nil, false
155524}
155525
155526// AsMongoDbLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
155527func (shls SapHanaLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
155528	return nil, false
155529}
155530
155531// AsCassandraLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
155532func (shls SapHanaLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
155533	return nil, false
155534}
155535
155536// AsWebLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
155537func (shls SapHanaLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
155538	return nil, false
155539}
155540
155541// AsODataLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
155542func (shls SapHanaLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
155543	return nil, false
155544}
155545
155546// AsHdfsLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
155547func (shls SapHanaLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
155548	return nil, false
155549}
155550
155551// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
155552func (shls SapHanaLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) {
155553	return nil, false
155554}
155555
155556// AsInformixLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
155557func (shls SapHanaLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) {
155558	return nil, false
155559}
155560
155561// AsOdbcLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
155562func (shls SapHanaLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
155563	return nil, false
155564}
155565
155566// AsAzureMLLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
155567func (shls SapHanaLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
155568	return nil, false
155569}
155570
155571// AsTeradataLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
155572func (shls SapHanaLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
155573	return nil, false
155574}
155575
155576// AsDb2LinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
155577func (shls SapHanaLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
155578	return nil, false
155579}
155580
155581// AsSybaseLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
155582func (shls SapHanaLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
155583	return nil, false
155584}
155585
155586// AsPostgreSQLLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
155587func (shls SapHanaLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
155588	return nil, false
155589}
155590
155591// AsMySQLLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
155592func (shls SapHanaLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
155593	return nil, false
155594}
155595
155596// AsAzureMySQLLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
155597func (shls SapHanaLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
155598	return nil, false
155599}
155600
155601// AsOracleLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
155602func (shls SapHanaLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
155603	return nil, false
155604}
155605
155606// AsFileServerLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
155607func (shls SapHanaLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
155608	return nil, false
155609}
155610
155611// AsHDInsightLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
155612func (shls SapHanaLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
155613	return nil, false
155614}
155615
155616// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
155617func (shls SapHanaLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) {
155618	return nil, false
155619}
155620
155621// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
155622func (shls SapHanaLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) {
155623	return nil, false
155624}
155625
155626// AsDynamicsLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
155627func (shls SapHanaLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
155628	return nil, false
155629}
155630
155631// AsCosmosDbLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
155632func (shls SapHanaLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
155633	return nil, false
155634}
155635
155636// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
155637func (shls SapHanaLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
155638	return nil, false
155639}
155640
155641// AsAzureBatchLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
155642func (shls SapHanaLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
155643	return nil, false
155644}
155645
155646// AsAzureSQLMILinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
155647func (shls SapHanaLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) {
155648	return nil, false
155649}
155650
155651// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
155652func (shls SapHanaLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
155653	return nil, false
155654}
155655
155656// AsSQLServerLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
155657func (shls SapHanaLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
155658	return nil, false
155659}
155660
155661// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
155662func (shls SapHanaLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
155663	return nil, false
155664}
155665
155666// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
155667func (shls SapHanaLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) {
155668	return nil, false
155669}
155670
155671// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
155672func (shls SapHanaLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) {
155673	return nil, false
155674}
155675
155676// AsAzureStorageLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
155677func (shls SapHanaLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
155678	return nil, false
155679}
155680
155681// AsLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
155682func (shls SapHanaLinkedService) AsLinkedService() (*LinkedService, bool) {
155683	return nil, false
155684}
155685
155686// AsBasicLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
155687func (shls SapHanaLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
155688	return &shls, true
155689}
155690
155691// UnmarshalJSON is the custom unmarshaler for SapHanaLinkedService struct.
155692func (shls *SapHanaLinkedService) UnmarshalJSON(body []byte) error {
155693	var m map[string]*json.RawMessage
155694	err := json.Unmarshal(body, &m)
155695	if err != nil {
155696		return err
155697	}
155698	for k, v := range m {
155699		switch k {
155700		case "typeProperties":
155701			if v != nil {
155702				var sapHanaLinkedServiceProperties SapHanaLinkedServiceProperties
155703				err = json.Unmarshal(*v, &sapHanaLinkedServiceProperties)
155704				if err != nil {
155705					return err
155706				}
155707				shls.SapHanaLinkedServiceProperties = &sapHanaLinkedServiceProperties
155708			}
155709		default:
155710			if v != nil {
155711				var additionalProperties interface{}
155712				err = json.Unmarshal(*v, &additionalProperties)
155713				if err != nil {
155714					return err
155715				}
155716				if shls.AdditionalProperties == nil {
155717					shls.AdditionalProperties = make(map[string]interface{})
155718				}
155719				shls.AdditionalProperties[k] = additionalProperties
155720			}
155721		case "connectVia":
155722			if v != nil {
155723				var connectVia IntegrationRuntimeReference
155724				err = json.Unmarshal(*v, &connectVia)
155725				if err != nil {
155726					return err
155727				}
155728				shls.ConnectVia = &connectVia
155729			}
155730		case "description":
155731			if v != nil {
155732				var description string
155733				err = json.Unmarshal(*v, &description)
155734				if err != nil {
155735					return err
155736				}
155737				shls.Description = &description
155738			}
155739		case "parameters":
155740			if v != nil {
155741				var parameters map[string]*ParameterSpecification
155742				err = json.Unmarshal(*v, &parameters)
155743				if err != nil {
155744					return err
155745				}
155746				shls.Parameters = parameters
155747			}
155748		case "annotations":
155749			if v != nil {
155750				var annotations []interface{}
155751				err = json.Unmarshal(*v, &annotations)
155752				if err != nil {
155753					return err
155754				}
155755				shls.Annotations = &annotations
155756			}
155757		case "type":
155758			if v != nil {
155759				var typeVar TypeBasicLinkedService
155760				err = json.Unmarshal(*v, &typeVar)
155761				if err != nil {
155762					return err
155763				}
155764				shls.Type = typeVar
155765			}
155766		}
155767	}
155768
155769	return nil
155770}
155771
155772// SapHanaLinkedServiceProperties properties specific to this linked service type.
155773type SapHanaLinkedServiceProperties struct {
155774	// ConnectionString - SAP HANA ODBC connection string. Type: string, SecureString or AzureKeyVaultSecretReference.
155775	ConnectionString interface{} `json:"connectionString,omitempty"`
155776	// Server - Host name of the SAP HANA server. Type: string (or Expression with resultType string).
155777	Server interface{} `json:"server,omitempty"`
155778	// AuthenticationType - The authentication type to be used to connect to the SAP HANA server. Possible values include: 'SapHanaAuthenticationTypeBasic', 'SapHanaAuthenticationTypeWindows'
155779	AuthenticationType SapHanaAuthenticationType `json:"authenticationType,omitempty"`
155780	// UserName - Username to access the SAP HANA server. Type: string (or Expression with resultType string).
155781	UserName interface{} `json:"userName,omitempty"`
155782	// Password - Password to access the SAP HANA server.
155783	Password BasicSecretBase `json:"password,omitempty"`
155784	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
155785	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
155786}
155787
155788// UnmarshalJSON is the custom unmarshaler for SapHanaLinkedServiceProperties struct.
155789func (shlsp *SapHanaLinkedServiceProperties) UnmarshalJSON(body []byte) error {
155790	var m map[string]*json.RawMessage
155791	err := json.Unmarshal(body, &m)
155792	if err != nil {
155793		return err
155794	}
155795	for k, v := range m {
155796		switch k {
155797		case "connectionString":
155798			if v != nil {
155799				var connectionString interface{}
155800				err = json.Unmarshal(*v, &connectionString)
155801				if err != nil {
155802					return err
155803				}
155804				shlsp.ConnectionString = connectionString
155805			}
155806		case "server":
155807			if v != nil {
155808				var server interface{}
155809				err = json.Unmarshal(*v, &server)
155810				if err != nil {
155811					return err
155812				}
155813				shlsp.Server = server
155814			}
155815		case "authenticationType":
155816			if v != nil {
155817				var authenticationType SapHanaAuthenticationType
155818				err = json.Unmarshal(*v, &authenticationType)
155819				if err != nil {
155820					return err
155821				}
155822				shlsp.AuthenticationType = authenticationType
155823			}
155824		case "userName":
155825			if v != nil {
155826				var userName interface{}
155827				err = json.Unmarshal(*v, &userName)
155828				if err != nil {
155829					return err
155830				}
155831				shlsp.UserName = userName
155832			}
155833		case "password":
155834			if v != nil {
155835				password, err := unmarshalBasicSecretBase(*v)
155836				if err != nil {
155837					return err
155838				}
155839				shlsp.Password = password
155840			}
155841		case "encryptedCredential":
155842			if v != nil {
155843				var encryptedCredential interface{}
155844				err = json.Unmarshal(*v, &encryptedCredential)
155845				if err != nil {
155846					return err
155847				}
155848				shlsp.EncryptedCredential = encryptedCredential
155849			}
155850		}
155851	}
155852
155853	return nil
155854}
155855
155856// SapHanaSource a copy activity source for SAP HANA source.
155857type SapHanaSource struct {
155858	// Query - SAP HANA Sql query. Type: string (or Expression with resultType string).
155859	Query interface{} `json:"query,omitempty"`
155860	// PacketSize - The packet size of data read from SAP HANA. Type: integer(or Expression with resultType integer).
155861	PacketSize interface{} `json:"packetSize,omitempty"`
155862	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
155863	AdditionalProperties map[string]interface{} `json:""`
155864	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
155865	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
155866	// 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])).
155867	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
155868	// MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer).
155869	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
155870	// Type - Possible values include: 'TypeCopySource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', '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', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeCassandraSource', 'TypeWebSource', 'TypeTeradataSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeAzureMySQLSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeRestSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceServiceCloudSource', 'TypeSalesforceSource', 'TypeODataSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeMicrosoftAccessSource', 'TypeInformixSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAzureTableSource', 'TypeBinarySource', 'TypeDelimitedTextSource', 'TypeParquetSource'
155871	Type TypeBasicCopySource `json:"type,omitempty"`
155872}
155873
155874// MarshalJSON is the custom marshaler for SapHanaSource.
155875func (shs SapHanaSource) MarshalJSON() ([]byte, error) {
155876	shs.Type = TypeSapHanaSource
155877	objectMap := make(map[string]interface{})
155878	if shs.Query != nil {
155879		objectMap["query"] = shs.Query
155880	}
155881	if shs.PacketSize != nil {
155882		objectMap["packetSize"] = shs.PacketSize
155883	}
155884	if shs.SourceRetryCount != nil {
155885		objectMap["sourceRetryCount"] = shs.SourceRetryCount
155886	}
155887	if shs.SourceRetryWait != nil {
155888		objectMap["sourceRetryWait"] = shs.SourceRetryWait
155889	}
155890	if shs.MaxConcurrentConnections != nil {
155891		objectMap["maxConcurrentConnections"] = shs.MaxConcurrentConnections
155892	}
155893	if shs.Type != "" {
155894		objectMap["type"] = shs.Type
155895	}
155896	for k, v := range shs.AdditionalProperties {
155897		objectMap[k] = v
155898	}
155899	return json.Marshal(objectMap)
155900}
155901
155902// AsAmazonRedshiftSource is the BasicCopySource implementation for SapHanaSource.
155903func (shs SapHanaSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
155904	return nil, false
155905}
155906
155907// AsGoogleAdWordsSource is the BasicCopySource implementation for SapHanaSource.
155908func (shs SapHanaSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) {
155909	return nil, false
155910}
155911
155912// AsOracleServiceCloudSource is the BasicCopySource implementation for SapHanaSource.
155913func (shs SapHanaSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) {
155914	return nil, false
155915}
155916
155917// AsDynamicsAXSource is the BasicCopySource implementation for SapHanaSource.
155918func (shs SapHanaSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) {
155919	return nil, false
155920}
155921
155922// AsResponsysSource is the BasicCopySource implementation for SapHanaSource.
155923func (shs SapHanaSource) AsResponsysSource() (*ResponsysSource, bool) {
155924	return nil, false
155925}
155926
155927// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for SapHanaSource.
155928func (shs SapHanaSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
155929	return nil, false
155930}
155931
155932// AsVerticaSource is the BasicCopySource implementation for SapHanaSource.
155933func (shs SapHanaSource) AsVerticaSource() (*VerticaSource, bool) {
155934	return nil, false
155935}
155936
155937// AsNetezzaSource is the BasicCopySource implementation for SapHanaSource.
155938func (shs SapHanaSource) AsNetezzaSource() (*NetezzaSource, bool) {
155939	return nil, false
155940}
155941
155942// AsZohoSource is the BasicCopySource implementation for SapHanaSource.
155943func (shs SapHanaSource) AsZohoSource() (*ZohoSource, bool) {
155944	return nil, false
155945}
155946
155947// AsXeroSource is the BasicCopySource implementation for SapHanaSource.
155948func (shs SapHanaSource) AsXeroSource() (*XeroSource, bool) {
155949	return nil, false
155950}
155951
155952// AsSquareSource is the BasicCopySource implementation for SapHanaSource.
155953func (shs SapHanaSource) AsSquareSource() (*SquareSource, bool) {
155954	return nil, false
155955}
155956
155957// AsSparkSource is the BasicCopySource implementation for SapHanaSource.
155958func (shs SapHanaSource) AsSparkSource() (*SparkSource, bool) {
155959	return nil, false
155960}
155961
155962// AsShopifySource is the BasicCopySource implementation for SapHanaSource.
155963func (shs SapHanaSource) AsShopifySource() (*ShopifySource, bool) {
155964	return nil, false
155965}
155966
155967// AsServiceNowSource is the BasicCopySource implementation for SapHanaSource.
155968func (shs SapHanaSource) AsServiceNowSource() (*ServiceNowSource, bool) {
155969	return nil, false
155970}
155971
155972// AsQuickBooksSource is the BasicCopySource implementation for SapHanaSource.
155973func (shs SapHanaSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
155974	return nil, false
155975}
155976
155977// AsPrestoSource is the BasicCopySource implementation for SapHanaSource.
155978func (shs SapHanaSource) AsPrestoSource() (*PrestoSource, bool) {
155979	return nil, false
155980}
155981
155982// AsPhoenixSource is the BasicCopySource implementation for SapHanaSource.
155983func (shs SapHanaSource) AsPhoenixSource() (*PhoenixSource, bool) {
155984	return nil, false
155985}
155986
155987// AsPaypalSource is the BasicCopySource implementation for SapHanaSource.
155988func (shs SapHanaSource) AsPaypalSource() (*PaypalSource, bool) {
155989	return nil, false
155990}
155991
155992// AsMarketoSource is the BasicCopySource implementation for SapHanaSource.
155993func (shs SapHanaSource) AsMarketoSource() (*MarketoSource, bool) {
155994	return nil, false
155995}
155996
155997// AsMariaDBSource is the BasicCopySource implementation for SapHanaSource.
155998func (shs SapHanaSource) AsMariaDBSource() (*MariaDBSource, bool) {
155999	return nil, false
156000}
156001
156002// AsMagentoSource is the BasicCopySource implementation for SapHanaSource.
156003func (shs SapHanaSource) AsMagentoSource() (*MagentoSource, bool) {
156004	return nil, false
156005}
156006
156007// AsJiraSource is the BasicCopySource implementation for SapHanaSource.
156008func (shs SapHanaSource) AsJiraSource() (*JiraSource, bool) {
156009	return nil, false
156010}
156011
156012// AsImpalaSource is the BasicCopySource implementation for SapHanaSource.
156013func (shs SapHanaSource) AsImpalaSource() (*ImpalaSource, bool) {
156014	return nil, false
156015}
156016
156017// AsHubspotSource is the BasicCopySource implementation for SapHanaSource.
156018func (shs SapHanaSource) AsHubspotSource() (*HubspotSource, bool) {
156019	return nil, false
156020}
156021
156022// AsHiveSource is the BasicCopySource implementation for SapHanaSource.
156023func (shs SapHanaSource) AsHiveSource() (*HiveSource, bool) {
156024	return nil, false
156025}
156026
156027// AsHBaseSource is the BasicCopySource implementation for SapHanaSource.
156028func (shs SapHanaSource) AsHBaseSource() (*HBaseSource, bool) {
156029	return nil, false
156030}
156031
156032// AsGreenplumSource is the BasicCopySource implementation for SapHanaSource.
156033func (shs SapHanaSource) AsGreenplumSource() (*GreenplumSource, bool) {
156034	return nil, false
156035}
156036
156037// AsGoogleBigQuerySource is the BasicCopySource implementation for SapHanaSource.
156038func (shs SapHanaSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
156039	return nil, false
156040}
156041
156042// AsEloquaSource is the BasicCopySource implementation for SapHanaSource.
156043func (shs SapHanaSource) AsEloquaSource() (*EloquaSource, bool) {
156044	return nil, false
156045}
156046
156047// AsDrillSource is the BasicCopySource implementation for SapHanaSource.
156048func (shs SapHanaSource) AsDrillSource() (*DrillSource, bool) {
156049	return nil, false
156050}
156051
156052// AsCouchbaseSource is the BasicCopySource implementation for SapHanaSource.
156053func (shs SapHanaSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
156054	return nil, false
156055}
156056
156057// AsConcurSource is the BasicCopySource implementation for SapHanaSource.
156058func (shs SapHanaSource) AsConcurSource() (*ConcurSource, bool) {
156059	return nil, false
156060}
156061
156062// AsAzurePostgreSQLSource is the BasicCopySource implementation for SapHanaSource.
156063func (shs SapHanaSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
156064	return nil, false
156065}
156066
156067// AsAmazonMWSSource is the BasicCopySource implementation for SapHanaSource.
156068func (shs SapHanaSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
156069	return nil, false
156070}
156071
156072// AsHTTPSource is the BasicCopySource implementation for SapHanaSource.
156073func (shs SapHanaSource) AsHTTPSource() (*HTTPSource, bool) {
156074	return nil, false
156075}
156076
156077// AsAzureBlobFSSource is the BasicCopySource implementation for SapHanaSource.
156078func (shs SapHanaSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) {
156079	return nil, false
156080}
156081
156082// AsAzureDataLakeStoreSource is the BasicCopySource implementation for SapHanaSource.
156083func (shs SapHanaSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
156084	return nil, false
156085}
156086
156087// AsOffice365Source is the BasicCopySource implementation for SapHanaSource.
156088func (shs SapHanaSource) AsOffice365Source() (*Office365Source, bool) {
156089	return nil, false
156090}
156091
156092// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for SapHanaSource.
156093func (shs SapHanaSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) {
156094	return nil, false
156095}
156096
156097// AsMongoDbV2Source is the BasicCopySource implementation for SapHanaSource.
156098func (shs SapHanaSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) {
156099	return nil, false
156100}
156101
156102// AsMongoDbSource is the BasicCopySource implementation for SapHanaSource.
156103func (shs SapHanaSource) AsMongoDbSource() (*MongoDbSource, bool) {
156104	return nil, false
156105}
156106
156107// AsCassandraSource is the BasicCopySource implementation for SapHanaSource.
156108func (shs SapHanaSource) AsCassandraSource() (*CassandraSource, bool) {
156109	return nil, false
156110}
156111
156112// AsWebSource is the BasicCopySource implementation for SapHanaSource.
156113func (shs SapHanaSource) AsWebSource() (*WebSource, bool) {
156114	return nil, false
156115}
156116
156117// AsTeradataSource is the BasicCopySource implementation for SapHanaSource.
156118func (shs SapHanaSource) AsTeradataSource() (*TeradataSource, bool) {
156119	return nil, false
156120}
156121
156122// AsOracleSource is the BasicCopySource implementation for SapHanaSource.
156123func (shs SapHanaSource) AsOracleSource() (*OracleSource, bool) {
156124	return nil, false
156125}
156126
156127// AsAzureDataExplorerSource is the BasicCopySource implementation for SapHanaSource.
156128func (shs SapHanaSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) {
156129	return nil, false
156130}
156131
156132// AsAzureMySQLSource is the BasicCopySource implementation for SapHanaSource.
156133func (shs SapHanaSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
156134	return nil, false
156135}
156136
156137// AsHdfsSource is the BasicCopySource implementation for SapHanaSource.
156138func (shs SapHanaSource) AsHdfsSource() (*HdfsSource, bool) {
156139	return nil, false
156140}
156141
156142// AsFileSystemSource is the BasicCopySource implementation for SapHanaSource.
156143func (shs SapHanaSource) AsFileSystemSource() (*FileSystemSource, bool) {
156144	return nil, false
156145}
156146
156147// AsSQLDWSource is the BasicCopySource implementation for SapHanaSource.
156148func (shs SapHanaSource) AsSQLDWSource() (*SQLDWSource, bool) {
156149	return nil, false
156150}
156151
156152// AsSQLMISource is the BasicCopySource implementation for SapHanaSource.
156153func (shs SapHanaSource) AsSQLMISource() (*SQLMISource, bool) {
156154	return nil, false
156155}
156156
156157// AsAzureSQLSource is the BasicCopySource implementation for SapHanaSource.
156158func (shs SapHanaSource) AsAzureSQLSource() (*AzureSQLSource, bool) {
156159	return nil, false
156160}
156161
156162// AsSQLServerSource is the BasicCopySource implementation for SapHanaSource.
156163func (shs SapHanaSource) AsSQLServerSource() (*SQLServerSource, bool) {
156164	return nil, false
156165}
156166
156167// AsSQLSource is the BasicCopySource implementation for SapHanaSource.
156168func (shs SapHanaSource) AsSQLSource() (*SQLSource, bool) {
156169	return nil, false
156170}
156171
156172// AsRestSource is the BasicCopySource implementation for SapHanaSource.
156173func (shs SapHanaSource) AsRestSource() (*RestSource, bool) {
156174	return nil, false
156175}
156176
156177// AsSapTableSource is the BasicCopySource implementation for SapHanaSource.
156178func (shs SapHanaSource) AsSapTableSource() (*SapTableSource, bool) {
156179	return nil, false
156180}
156181
156182// AsSapOpenHubSource is the BasicCopySource implementation for SapHanaSource.
156183func (shs SapHanaSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) {
156184	return nil, false
156185}
156186
156187// AsSapHanaSource is the BasicCopySource implementation for SapHanaSource.
156188func (shs SapHanaSource) AsSapHanaSource() (*SapHanaSource, bool) {
156189	return &shs, true
156190}
156191
156192// AsSapEccSource is the BasicCopySource implementation for SapHanaSource.
156193func (shs SapHanaSource) AsSapEccSource() (*SapEccSource, bool) {
156194	return nil, false
156195}
156196
156197// AsSapCloudForCustomerSource is the BasicCopySource implementation for SapHanaSource.
156198func (shs SapHanaSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
156199	return nil, false
156200}
156201
156202// AsSalesforceServiceCloudSource is the BasicCopySource implementation for SapHanaSource.
156203func (shs SapHanaSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) {
156204	return nil, false
156205}
156206
156207// AsSalesforceSource is the BasicCopySource implementation for SapHanaSource.
156208func (shs SapHanaSource) AsSalesforceSource() (*SalesforceSource, bool) {
156209	return nil, false
156210}
156211
156212// AsODataSource is the BasicCopySource implementation for SapHanaSource.
156213func (shs SapHanaSource) AsODataSource() (*ODataSource, bool) {
156214	return nil, false
156215}
156216
156217// AsSybaseSource is the BasicCopySource implementation for SapHanaSource.
156218func (shs SapHanaSource) AsSybaseSource() (*SybaseSource, bool) {
156219	return nil, false
156220}
156221
156222// AsPostgreSQLSource is the BasicCopySource implementation for SapHanaSource.
156223func (shs SapHanaSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) {
156224	return nil, false
156225}
156226
156227// AsMySQLSource is the BasicCopySource implementation for SapHanaSource.
156228func (shs SapHanaSource) AsMySQLSource() (*MySQLSource, bool) {
156229	return nil, false
156230}
156231
156232// AsOdbcSource is the BasicCopySource implementation for SapHanaSource.
156233func (shs SapHanaSource) AsOdbcSource() (*OdbcSource, bool) {
156234	return nil, false
156235}
156236
156237// AsDb2Source is the BasicCopySource implementation for SapHanaSource.
156238func (shs SapHanaSource) AsDb2Source() (*Db2Source, bool) {
156239	return nil, false
156240}
156241
156242// AsMicrosoftAccessSource is the BasicCopySource implementation for SapHanaSource.
156243func (shs SapHanaSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) {
156244	return nil, false
156245}
156246
156247// AsInformixSource is the BasicCopySource implementation for SapHanaSource.
156248func (shs SapHanaSource) AsInformixSource() (*InformixSource, bool) {
156249	return nil, false
156250}
156251
156252// AsRelationalSource is the BasicCopySource implementation for SapHanaSource.
156253func (shs SapHanaSource) AsRelationalSource() (*RelationalSource, bool) {
156254	return nil, false
156255}
156256
156257// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for SapHanaSource.
156258func (shs SapHanaSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) {
156259	return nil, false
156260}
156261
156262// AsDynamicsCrmSource is the BasicCopySource implementation for SapHanaSource.
156263func (shs SapHanaSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) {
156264	return nil, false
156265}
156266
156267// AsDynamicsSource is the BasicCopySource implementation for SapHanaSource.
156268func (shs SapHanaSource) AsDynamicsSource() (*DynamicsSource, bool) {
156269	return nil, false
156270}
156271
156272// AsDocumentDbCollectionSource is the BasicCopySource implementation for SapHanaSource.
156273func (shs SapHanaSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
156274	return nil, false
156275}
156276
156277// AsBlobSource is the BasicCopySource implementation for SapHanaSource.
156278func (shs SapHanaSource) AsBlobSource() (*BlobSource, bool) {
156279	return nil, false
156280}
156281
156282// AsAzureTableSource is the BasicCopySource implementation for SapHanaSource.
156283func (shs SapHanaSource) AsAzureTableSource() (*AzureTableSource, bool) {
156284	return nil, false
156285}
156286
156287// AsBinarySource is the BasicCopySource implementation for SapHanaSource.
156288func (shs SapHanaSource) AsBinarySource() (*BinarySource, bool) {
156289	return nil, false
156290}
156291
156292// AsDelimitedTextSource is the BasicCopySource implementation for SapHanaSource.
156293func (shs SapHanaSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) {
156294	return nil, false
156295}
156296
156297// AsParquetSource is the BasicCopySource implementation for SapHanaSource.
156298func (shs SapHanaSource) AsParquetSource() (*ParquetSource, bool) {
156299	return nil, false
156300}
156301
156302// AsCopySource is the BasicCopySource implementation for SapHanaSource.
156303func (shs SapHanaSource) AsCopySource() (*CopySource, bool) {
156304	return nil, false
156305}
156306
156307// AsBasicCopySource is the BasicCopySource implementation for SapHanaSource.
156308func (shs SapHanaSource) AsBasicCopySource() (BasicCopySource, bool) {
156309	return &shs, true
156310}
156311
156312// UnmarshalJSON is the custom unmarshaler for SapHanaSource struct.
156313func (shs *SapHanaSource) UnmarshalJSON(body []byte) error {
156314	var m map[string]*json.RawMessage
156315	err := json.Unmarshal(body, &m)
156316	if err != nil {
156317		return err
156318	}
156319	for k, v := range m {
156320		switch k {
156321		case "query":
156322			if v != nil {
156323				var query interface{}
156324				err = json.Unmarshal(*v, &query)
156325				if err != nil {
156326					return err
156327				}
156328				shs.Query = query
156329			}
156330		case "packetSize":
156331			if v != nil {
156332				var packetSize interface{}
156333				err = json.Unmarshal(*v, &packetSize)
156334				if err != nil {
156335					return err
156336				}
156337				shs.PacketSize = packetSize
156338			}
156339		default:
156340			if v != nil {
156341				var additionalProperties interface{}
156342				err = json.Unmarshal(*v, &additionalProperties)
156343				if err != nil {
156344					return err
156345				}
156346				if shs.AdditionalProperties == nil {
156347					shs.AdditionalProperties = make(map[string]interface{})
156348				}
156349				shs.AdditionalProperties[k] = additionalProperties
156350			}
156351		case "sourceRetryCount":
156352			if v != nil {
156353				var sourceRetryCount interface{}
156354				err = json.Unmarshal(*v, &sourceRetryCount)
156355				if err != nil {
156356					return err
156357				}
156358				shs.SourceRetryCount = sourceRetryCount
156359			}
156360		case "sourceRetryWait":
156361			if v != nil {
156362				var sourceRetryWait interface{}
156363				err = json.Unmarshal(*v, &sourceRetryWait)
156364				if err != nil {
156365					return err
156366				}
156367				shs.SourceRetryWait = sourceRetryWait
156368			}
156369		case "maxConcurrentConnections":
156370			if v != nil {
156371				var maxConcurrentConnections interface{}
156372				err = json.Unmarshal(*v, &maxConcurrentConnections)
156373				if err != nil {
156374					return err
156375				}
156376				shs.MaxConcurrentConnections = maxConcurrentConnections
156377			}
156378		case "type":
156379			if v != nil {
156380				var typeVar TypeBasicCopySource
156381				err = json.Unmarshal(*v, &typeVar)
156382				if err != nil {
156383					return err
156384				}
156385				shs.Type = typeVar
156386			}
156387		}
156388	}
156389
156390	return nil
156391}
156392
156393// SapHanaTableDataset SAP HANA Table properties.
156394type SapHanaTableDataset struct {
156395	// SapHanaTableDatasetTypeProperties - SAP HANA Table properties.
156396	*SapHanaTableDatasetTypeProperties `json:"typeProperties,omitempty"`
156397	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
156398	AdditionalProperties map[string]interface{} `json:""`
156399	// Description - Dataset description.
156400	Description *string `json:"description,omitempty"`
156401	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
156402	Structure interface{} `json:"structure,omitempty"`
156403	// Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement.
156404	Schema interface{} `json:"schema,omitempty"`
156405	// LinkedServiceName - Linked service reference.
156406	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
156407	// Parameters - Parameters for dataset.
156408	Parameters map[string]*ParameterSpecification `json:"parameters"`
156409	// Annotations - List of tags that can be used for describing the Dataset.
156410	Annotations *[]interface{} `json:"annotations,omitempty"`
156411	// Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level.
156412	Folder *DatasetFolder `json:"folder,omitempty"`
156413	// Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', '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', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeDelimitedText', 'TypeParquet', 'TypeAmazonS3Object'
156414	Type TypeBasicDataset `json:"type,omitempty"`
156415}
156416
156417// MarshalJSON is the custom marshaler for SapHanaTableDataset.
156418func (shtd SapHanaTableDataset) MarshalJSON() ([]byte, error) {
156419	shtd.Type = TypeSapHanaTable
156420	objectMap := make(map[string]interface{})
156421	if shtd.SapHanaTableDatasetTypeProperties != nil {
156422		objectMap["typeProperties"] = shtd.SapHanaTableDatasetTypeProperties
156423	}
156424	if shtd.Description != nil {
156425		objectMap["description"] = shtd.Description
156426	}
156427	if shtd.Structure != nil {
156428		objectMap["structure"] = shtd.Structure
156429	}
156430	if shtd.Schema != nil {
156431		objectMap["schema"] = shtd.Schema
156432	}
156433	if shtd.LinkedServiceName != nil {
156434		objectMap["linkedServiceName"] = shtd.LinkedServiceName
156435	}
156436	if shtd.Parameters != nil {
156437		objectMap["parameters"] = shtd.Parameters
156438	}
156439	if shtd.Annotations != nil {
156440		objectMap["annotations"] = shtd.Annotations
156441	}
156442	if shtd.Folder != nil {
156443		objectMap["folder"] = shtd.Folder
156444	}
156445	if shtd.Type != "" {
156446		objectMap["type"] = shtd.Type
156447	}
156448	for k, v := range shtd.AdditionalProperties {
156449		objectMap[k] = v
156450	}
156451	return json.Marshal(objectMap)
156452}
156453
156454// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for SapHanaTableDataset.
156455func (shtd SapHanaTableDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) {
156456	return nil, false
156457}
156458
156459// AsAzureDataExplorerTableDataset is the BasicDataset implementation for SapHanaTableDataset.
156460func (shtd SapHanaTableDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) {
156461	return nil, false
156462}
156463
156464// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for SapHanaTableDataset.
156465func (shtd SapHanaTableDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) {
156466	return nil, false
156467}
156468
156469// AsDynamicsAXResourceDataset is the BasicDataset implementation for SapHanaTableDataset.
156470func (shtd SapHanaTableDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) {
156471	return nil, false
156472}
156473
156474// AsResponsysObjectDataset is the BasicDataset implementation for SapHanaTableDataset.
156475func (shtd SapHanaTableDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
156476	return nil, false
156477}
156478
156479// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for SapHanaTableDataset.
156480func (shtd SapHanaTableDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
156481	return nil, false
156482}
156483
156484// AsVerticaTableDataset is the BasicDataset implementation for SapHanaTableDataset.
156485func (shtd SapHanaTableDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
156486	return nil, false
156487}
156488
156489// AsNetezzaTableDataset is the BasicDataset implementation for SapHanaTableDataset.
156490func (shtd SapHanaTableDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
156491	return nil, false
156492}
156493
156494// AsZohoObjectDataset is the BasicDataset implementation for SapHanaTableDataset.
156495func (shtd SapHanaTableDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
156496	return nil, false
156497}
156498
156499// AsXeroObjectDataset is the BasicDataset implementation for SapHanaTableDataset.
156500func (shtd SapHanaTableDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
156501	return nil, false
156502}
156503
156504// AsSquareObjectDataset is the BasicDataset implementation for SapHanaTableDataset.
156505func (shtd SapHanaTableDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
156506	return nil, false
156507}
156508
156509// AsSparkObjectDataset is the BasicDataset implementation for SapHanaTableDataset.
156510func (shtd SapHanaTableDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
156511	return nil, false
156512}
156513
156514// AsShopifyObjectDataset is the BasicDataset implementation for SapHanaTableDataset.
156515func (shtd SapHanaTableDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
156516	return nil, false
156517}
156518
156519// AsServiceNowObjectDataset is the BasicDataset implementation for SapHanaTableDataset.
156520func (shtd SapHanaTableDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
156521	return nil, false
156522}
156523
156524// AsQuickBooksObjectDataset is the BasicDataset implementation for SapHanaTableDataset.
156525func (shtd SapHanaTableDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
156526	return nil, false
156527}
156528
156529// AsPrestoObjectDataset is the BasicDataset implementation for SapHanaTableDataset.
156530func (shtd SapHanaTableDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
156531	return nil, false
156532}
156533
156534// AsPhoenixObjectDataset is the BasicDataset implementation for SapHanaTableDataset.
156535func (shtd SapHanaTableDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
156536	return nil, false
156537}
156538
156539// AsPaypalObjectDataset is the BasicDataset implementation for SapHanaTableDataset.
156540func (shtd SapHanaTableDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
156541	return nil, false
156542}
156543
156544// AsMarketoObjectDataset is the BasicDataset implementation for SapHanaTableDataset.
156545func (shtd SapHanaTableDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
156546	return nil, false
156547}
156548
156549// AsMariaDBTableDataset is the BasicDataset implementation for SapHanaTableDataset.
156550func (shtd SapHanaTableDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
156551	return nil, false
156552}
156553
156554// AsMagentoObjectDataset is the BasicDataset implementation for SapHanaTableDataset.
156555func (shtd SapHanaTableDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
156556	return nil, false
156557}
156558
156559// AsJiraObjectDataset is the BasicDataset implementation for SapHanaTableDataset.
156560func (shtd SapHanaTableDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
156561	return nil, false
156562}
156563
156564// AsImpalaObjectDataset is the BasicDataset implementation for SapHanaTableDataset.
156565func (shtd SapHanaTableDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
156566	return nil, false
156567}
156568
156569// AsHubspotObjectDataset is the BasicDataset implementation for SapHanaTableDataset.
156570func (shtd SapHanaTableDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
156571	return nil, false
156572}
156573
156574// AsHiveObjectDataset is the BasicDataset implementation for SapHanaTableDataset.
156575func (shtd SapHanaTableDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
156576	return nil, false
156577}
156578
156579// AsHBaseObjectDataset is the BasicDataset implementation for SapHanaTableDataset.
156580func (shtd SapHanaTableDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
156581	return nil, false
156582}
156583
156584// AsGreenplumTableDataset is the BasicDataset implementation for SapHanaTableDataset.
156585func (shtd SapHanaTableDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
156586	return nil, false
156587}
156588
156589// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for SapHanaTableDataset.
156590func (shtd SapHanaTableDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
156591	return nil, false
156592}
156593
156594// AsEloquaObjectDataset is the BasicDataset implementation for SapHanaTableDataset.
156595func (shtd SapHanaTableDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
156596	return nil, false
156597}
156598
156599// AsDrillTableDataset is the BasicDataset implementation for SapHanaTableDataset.
156600func (shtd SapHanaTableDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
156601	return nil, false
156602}
156603
156604// AsCouchbaseTableDataset is the BasicDataset implementation for SapHanaTableDataset.
156605func (shtd SapHanaTableDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
156606	return nil, false
156607}
156608
156609// AsConcurObjectDataset is the BasicDataset implementation for SapHanaTableDataset.
156610func (shtd SapHanaTableDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
156611	return nil, false
156612}
156613
156614// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for SapHanaTableDataset.
156615func (shtd SapHanaTableDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
156616	return nil, false
156617}
156618
156619// AsAmazonMWSObjectDataset is the BasicDataset implementation for SapHanaTableDataset.
156620func (shtd SapHanaTableDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
156621	return nil, false
156622}
156623
156624// AsHTTPDataset is the BasicDataset implementation for SapHanaTableDataset.
156625func (shtd SapHanaTableDataset) AsHTTPDataset() (*HTTPDataset, bool) {
156626	return nil, false
156627}
156628
156629// AsAzureSearchIndexDataset is the BasicDataset implementation for SapHanaTableDataset.
156630func (shtd SapHanaTableDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
156631	return nil, false
156632}
156633
156634// AsWebTableDataset is the BasicDataset implementation for SapHanaTableDataset.
156635func (shtd SapHanaTableDataset) AsWebTableDataset() (*WebTableDataset, bool) {
156636	return nil, false
156637}
156638
156639// AsSapTableResourceDataset is the BasicDataset implementation for SapHanaTableDataset.
156640func (shtd SapHanaTableDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) {
156641	return nil, false
156642}
156643
156644// AsRestResourceDataset is the BasicDataset implementation for SapHanaTableDataset.
156645func (shtd SapHanaTableDataset) AsRestResourceDataset() (*RestResourceDataset, bool) {
156646	return nil, false
156647}
156648
156649// AsSQLServerTableDataset is the BasicDataset implementation for SapHanaTableDataset.
156650func (shtd SapHanaTableDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
156651	return nil, false
156652}
156653
156654// AsSapOpenHubTableDataset is the BasicDataset implementation for SapHanaTableDataset.
156655func (shtd SapHanaTableDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) {
156656	return nil, false
156657}
156658
156659// AsSapHanaTableDataset is the BasicDataset implementation for SapHanaTableDataset.
156660func (shtd SapHanaTableDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) {
156661	return &shtd, true
156662}
156663
156664// AsSapEccResourceDataset is the BasicDataset implementation for SapHanaTableDataset.
156665func (shtd SapHanaTableDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
156666	return nil, false
156667}
156668
156669// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for SapHanaTableDataset.
156670func (shtd SapHanaTableDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
156671	return nil, false
156672}
156673
156674// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for SapHanaTableDataset.
156675func (shtd SapHanaTableDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) {
156676	return nil, false
156677}
156678
156679// AsSalesforceObjectDataset is the BasicDataset implementation for SapHanaTableDataset.
156680func (shtd SapHanaTableDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
156681	return nil, false
156682}
156683
156684// AsMicrosoftAccessTableDataset is the BasicDataset implementation for SapHanaTableDataset.
156685func (shtd SapHanaTableDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) {
156686	return nil, false
156687}
156688
156689// AsPostgreSQLTableDataset is the BasicDataset implementation for SapHanaTableDataset.
156690func (shtd SapHanaTableDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) {
156691	return nil, false
156692}
156693
156694// AsMySQLTableDataset is the BasicDataset implementation for SapHanaTableDataset.
156695func (shtd SapHanaTableDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) {
156696	return nil, false
156697}
156698
156699// AsOdbcTableDataset is the BasicDataset implementation for SapHanaTableDataset.
156700func (shtd SapHanaTableDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) {
156701	return nil, false
156702}
156703
156704// AsInformixTableDataset is the BasicDataset implementation for SapHanaTableDataset.
156705func (shtd SapHanaTableDataset) AsInformixTableDataset() (*InformixTableDataset, bool) {
156706	return nil, false
156707}
156708
156709// AsRelationalTableDataset is the BasicDataset implementation for SapHanaTableDataset.
156710func (shtd SapHanaTableDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
156711	return nil, false
156712}
156713
156714// AsAzureMySQLTableDataset is the BasicDataset implementation for SapHanaTableDataset.
156715func (shtd SapHanaTableDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
156716	return nil, false
156717}
156718
156719// AsTeradataTableDataset is the BasicDataset implementation for SapHanaTableDataset.
156720func (shtd SapHanaTableDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) {
156721	return nil, false
156722}
156723
156724// AsOracleTableDataset is the BasicDataset implementation for SapHanaTableDataset.
156725func (shtd SapHanaTableDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
156726	return nil, false
156727}
156728
156729// AsODataResourceDataset is the BasicDataset implementation for SapHanaTableDataset.
156730func (shtd SapHanaTableDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
156731	return nil, false
156732}
156733
156734// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for SapHanaTableDataset.
156735func (shtd SapHanaTableDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) {
156736	return nil, false
156737}
156738
156739// AsMongoDbV2CollectionDataset is the BasicDataset implementation for SapHanaTableDataset.
156740func (shtd SapHanaTableDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) {
156741	return nil, false
156742}
156743
156744// AsMongoDbCollectionDataset is the BasicDataset implementation for SapHanaTableDataset.
156745func (shtd SapHanaTableDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
156746	return nil, false
156747}
156748
156749// AsFileShareDataset is the BasicDataset implementation for SapHanaTableDataset.
156750func (shtd SapHanaTableDataset) AsFileShareDataset() (*FileShareDataset, bool) {
156751	return nil, false
156752}
156753
156754// AsOffice365Dataset is the BasicDataset implementation for SapHanaTableDataset.
156755func (shtd SapHanaTableDataset) AsOffice365Dataset() (*Office365Dataset, bool) {
156756	return nil, false
156757}
156758
156759// AsAzureBlobFSDataset is the BasicDataset implementation for SapHanaTableDataset.
156760func (shtd SapHanaTableDataset) AsAzureBlobFSDataset() (*AzureBlobFSDataset, bool) {
156761	return nil, false
156762}
156763
156764// AsAzureDataLakeStoreDataset is the BasicDataset implementation for SapHanaTableDataset.
156765func (shtd SapHanaTableDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) {
156766	return nil, false
156767}
156768
156769// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for SapHanaTableDataset.
156770func (shtd SapHanaTableDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) {
156771	return nil, false
156772}
156773
156774// AsDynamicsCrmEntityDataset is the BasicDataset implementation for SapHanaTableDataset.
156775func (shtd SapHanaTableDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) {
156776	return nil, false
156777}
156778
156779// AsDynamicsEntityDataset is the BasicDataset implementation for SapHanaTableDataset.
156780func (shtd SapHanaTableDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
156781	return nil, false
156782}
156783
156784// AsDocumentDbCollectionDataset is the BasicDataset implementation for SapHanaTableDataset.
156785func (shtd SapHanaTableDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
156786	return nil, false
156787}
156788
156789// AsCustomDataset is the BasicDataset implementation for SapHanaTableDataset.
156790func (shtd SapHanaTableDataset) AsCustomDataset() (*CustomDataset, bool) {
156791	return nil, false
156792}
156793
156794// AsCassandraTableDataset is the BasicDataset implementation for SapHanaTableDataset.
156795func (shtd SapHanaTableDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
156796	return nil, false
156797}
156798
156799// AsAzureSQLDWTableDataset is the BasicDataset implementation for SapHanaTableDataset.
156800func (shtd SapHanaTableDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
156801	return nil, false
156802}
156803
156804// AsAzureSQLMITableDataset is the BasicDataset implementation for SapHanaTableDataset.
156805func (shtd SapHanaTableDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) {
156806	return nil, false
156807}
156808
156809// AsAzureSQLTableDataset is the BasicDataset implementation for SapHanaTableDataset.
156810func (shtd SapHanaTableDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
156811	return nil, false
156812}
156813
156814// AsAzureTableDataset is the BasicDataset implementation for SapHanaTableDataset.
156815func (shtd SapHanaTableDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
156816	return nil, false
156817}
156818
156819// AsAzureBlobDataset is the BasicDataset implementation for SapHanaTableDataset.
156820func (shtd SapHanaTableDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) {
156821	return nil, false
156822}
156823
156824// AsBinaryDataset is the BasicDataset implementation for SapHanaTableDataset.
156825func (shtd SapHanaTableDataset) AsBinaryDataset() (*BinaryDataset, bool) {
156826	return nil, false
156827}
156828
156829// AsDelimitedTextDataset is the BasicDataset implementation for SapHanaTableDataset.
156830func (shtd SapHanaTableDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) {
156831	return nil, false
156832}
156833
156834// AsParquetDataset is the BasicDataset implementation for SapHanaTableDataset.
156835func (shtd SapHanaTableDataset) AsParquetDataset() (*ParquetDataset, bool) {
156836	return nil, false
156837}
156838
156839// AsAmazonS3Dataset is the BasicDataset implementation for SapHanaTableDataset.
156840func (shtd SapHanaTableDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) {
156841	return nil, false
156842}
156843
156844// AsDataset is the BasicDataset implementation for SapHanaTableDataset.
156845func (shtd SapHanaTableDataset) AsDataset() (*Dataset, bool) {
156846	return nil, false
156847}
156848
156849// AsBasicDataset is the BasicDataset implementation for SapHanaTableDataset.
156850func (shtd SapHanaTableDataset) AsBasicDataset() (BasicDataset, bool) {
156851	return &shtd, true
156852}
156853
156854// UnmarshalJSON is the custom unmarshaler for SapHanaTableDataset struct.
156855func (shtd *SapHanaTableDataset) UnmarshalJSON(body []byte) error {
156856	var m map[string]*json.RawMessage
156857	err := json.Unmarshal(body, &m)
156858	if err != nil {
156859		return err
156860	}
156861	for k, v := range m {
156862		switch k {
156863		case "typeProperties":
156864			if v != nil {
156865				var sapHanaTableDatasetTypeProperties SapHanaTableDatasetTypeProperties
156866				err = json.Unmarshal(*v, &sapHanaTableDatasetTypeProperties)
156867				if err != nil {
156868					return err
156869				}
156870				shtd.SapHanaTableDatasetTypeProperties = &sapHanaTableDatasetTypeProperties
156871			}
156872		default:
156873			if v != nil {
156874				var additionalProperties interface{}
156875				err = json.Unmarshal(*v, &additionalProperties)
156876				if err != nil {
156877					return err
156878				}
156879				if shtd.AdditionalProperties == nil {
156880					shtd.AdditionalProperties = make(map[string]interface{})
156881				}
156882				shtd.AdditionalProperties[k] = additionalProperties
156883			}
156884		case "description":
156885			if v != nil {
156886				var description string
156887				err = json.Unmarshal(*v, &description)
156888				if err != nil {
156889					return err
156890				}
156891				shtd.Description = &description
156892			}
156893		case "structure":
156894			if v != nil {
156895				var structure interface{}
156896				err = json.Unmarshal(*v, &structure)
156897				if err != nil {
156898					return err
156899				}
156900				shtd.Structure = structure
156901			}
156902		case "schema":
156903			if v != nil {
156904				var schema interface{}
156905				err = json.Unmarshal(*v, &schema)
156906				if err != nil {
156907					return err
156908				}
156909				shtd.Schema = schema
156910			}
156911		case "linkedServiceName":
156912			if v != nil {
156913				var linkedServiceName LinkedServiceReference
156914				err = json.Unmarshal(*v, &linkedServiceName)
156915				if err != nil {
156916					return err
156917				}
156918				shtd.LinkedServiceName = &linkedServiceName
156919			}
156920		case "parameters":
156921			if v != nil {
156922				var parameters map[string]*ParameterSpecification
156923				err = json.Unmarshal(*v, &parameters)
156924				if err != nil {
156925					return err
156926				}
156927				shtd.Parameters = parameters
156928			}
156929		case "annotations":
156930			if v != nil {
156931				var annotations []interface{}
156932				err = json.Unmarshal(*v, &annotations)
156933				if err != nil {
156934					return err
156935				}
156936				shtd.Annotations = &annotations
156937			}
156938		case "folder":
156939			if v != nil {
156940				var folder DatasetFolder
156941				err = json.Unmarshal(*v, &folder)
156942				if err != nil {
156943					return err
156944				}
156945				shtd.Folder = &folder
156946			}
156947		case "type":
156948			if v != nil {
156949				var typeVar TypeBasicDataset
156950				err = json.Unmarshal(*v, &typeVar)
156951				if err != nil {
156952					return err
156953				}
156954				shtd.Type = typeVar
156955			}
156956		}
156957	}
156958
156959	return nil
156960}
156961
156962// SapHanaTableDatasetTypeProperties SAP HANA Table properties.
156963type SapHanaTableDatasetTypeProperties struct {
156964	// Schema - The schema name of SAP HANA. Type: string (or Expression with resultType string).
156965	Schema interface{} `json:"schema,omitempty"`
156966	// Table - The table name of SAP HANA. Type: string (or Expression with resultType string).
156967	Table interface{} `json:"table,omitempty"`
156968}
156969
156970// SapOpenHubLinkedService SAP Business Warehouse Open Hub Destination Linked Service.
156971type SapOpenHubLinkedService struct {
156972	// SapOpenHubLinkedServiceTypeProperties - Properties specific to SAP Business Warehouse Open Hub Destination linked service type.
156973	*SapOpenHubLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
156974	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
156975	AdditionalProperties map[string]interface{} `json:""`
156976	// ConnectVia - The integration runtime reference.
156977	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
156978	// Description - Linked service description.
156979	Description *string `json:"description,omitempty"`
156980	// Parameters - Parameters for linked service.
156981	Parameters map[string]*ParameterSpecification `json:"parameters"`
156982	// Annotations - List of tags that can be used for describing the linked service.
156983	Annotations *[]interface{} `json:"annotations,omitempty"`
156984	// Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', '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', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage'
156985	Type TypeBasicLinkedService `json:"type,omitempty"`
156986}
156987
156988// MarshalJSON is the custom marshaler for SapOpenHubLinkedService.
156989func (sohls SapOpenHubLinkedService) MarshalJSON() ([]byte, error) {
156990	sohls.Type = TypeSapOpenHub
156991	objectMap := make(map[string]interface{})
156992	if sohls.SapOpenHubLinkedServiceTypeProperties != nil {
156993		objectMap["typeProperties"] = sohls.SapOpenHubLinkedServiceTypeProperties
156994	}
156995	if sohls.ConnectVia != nil {
156996		objectMap["connectVia"] = sohls.ConnectVia
156997	}
156998	if sohls.Description != nil {
156999		objectMap["description"] = sohls.Description
157000	}
157001	if sohls.Parameters != nil {
157002		objectMap["parameters"] = sohls.Parameters
157003	}
157004	if sohls.Annotations != nil {
157005		objectMap["annotations"] = sohls.Annotations
157006	}
157007	if sohls.Type != "" {
157008		objectMap["type"] = sohls.Type
157009	}
157010	for k, v := range sohls.AdditionalProperties {
157011		objectMap[k] = v
157012	}
157013	return json.Marshal(objectMap)
157014}
157015
157016// AsAzureFunctionLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService.
157017func (sohls SapOpenHubLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) {
157018	return nil, false
157019}
157020
157021// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService.
157022func (sohls SapOpenHubLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) {
157023	return nil, false
157024}
157025
157026// AsSapTableLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService.
157027func (sohls SapOpenHubLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) {
157028	return nil, false
157029}
157030
157031// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService.
157032func (sohls SapOpenHubLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) {
157033	return nil, false
157034}
157035
157036// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService.
157037func (sohls SapOpenHubLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) {
157038	return nil, false
157039}
157040
157041// AsDynamicsAXLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService.
157042func (sohls SapOpenHubLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) {
157043	return nil, false
157044}
157045
157046// AsResponsysLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService.
157047func (sohls SapOpenHubLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
157048	return nil, false
157049}
157050
157051// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService.
157052func (sohls SapOpenHubLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
157053	return nil, false
157054}
157055
157056// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService.
157057func (sohls SapOpenHubLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
157058	return nil, false
157059}
157060
157061// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService.
157062func (sohls SapOpenHubLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
157063	return nil, false
157064}
157065
157066// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService.
157067func (sohls SapOpenHubLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
157068	return nil, false
157069}
157070
157071// AsNetezzaLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService.
157072func (sohls SapOpenHubLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
157073	return nil, false
157074}
157075
157076// AsVerticaLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService.
157077func (sohls SapOpenHubLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
157078	return nil, false
157079}
157080
157081// AsZohoLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService.
157082func (sohls SapOpenHubLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
157083	return nil, false
157084}
157085
157086// AsXeroLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService.
157087func (sohls SapOpenHubLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
157088	return nil, false
157089}
157090
157091// AsSquareLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService.
157092func (sohls SapOpenHubLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
157093	return nil, false
157094}
157095
157096// AsSparkLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService.
157097func (sohls SapOpenHubLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
157098	return nil, false
157099}
157100
157101// AsShopifyLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService.
157102func (sohls SapOpenHubLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
157103	return nil, false
157104}
157105
157106// AsServiceNowLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService.
157107func (sohls SapOpenHubLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
157108	return nil, false
157109}
157110
157111// AsQuickBooksLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService.
157112func (sohls SapOpenHubLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
157113	return nil, false
157114}
157115
157116// AsPrestoLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService.
157117func (sohls SapOpenHubLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
157118	return nil, false
157119}
157120
157121// AsPhoenixLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService.
157122func (sohls SapOpenHubLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
157123	return nil, false
157124}
157125
157126// AsPaypalLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService.
157127func (sohls SapOpenHubLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
157128	return nil, false
157129}
157130
157131// AsMarketoLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService.
157132func (sohls SapOpenHubLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
157133	return nil, false
157134}
157135
157136// AsMariaDBLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService.
157137func (sohls SapOpenHubLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
157138	return nil, false
157139}
157140
157141// AsMagentoLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService.
157142func (sohls SapOpenHubLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
157143	return nil, false
157144}
157145
157146// AsJiraLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService.
157147func (sohls SapOpenHubLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
157148	return nil, false
157149}
157150
157151// AsImpalaLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService.
157152func (sohls SapOpenHubLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
157153	return nil, false
157154}
157155
157156// AsHubspotLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService.
157157func (sohls SapOpenHubLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
157158	return nil, false
157159}
157160
157161// AsHiveLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService.
157162func (sohls SapOpenHubLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
157163	return nil, false
157164}
157165
157166// AsHBaseLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService.
157167func (sohls SapOpenHubLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
157168	return nil, false
157169}
157170
157171// AsGreenplumLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService.
157172func (sohls SapOpenHubLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
157173	return nil, false
157174}
157175
157176// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService.
157177func (sohls SapOpenHubLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
157178	return nil, false
157179}
157180
157181// AsEloquaLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService.
157182func (sohls SapOpenHubLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
157183	return nil, false
157184}
157185
157186// AsDrillLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService.
157187func (sohls SapOpenHubLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
157188	return nil, false
157189}
157190
157191// AsCouchbaseLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService.
157192func (sohls SapOpenHubLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
157193	return nil, false
157194}
157195
157196// AsConcurLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService.
157197func (sohls SapOpenHubLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
157198	return nil, false
157199}
157200
157201// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService.
157202func (sohls SapOpenHubLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
157203	return nil, false
157204}
157205
157206// AsAmazonMWSLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService.
157207func (sohls SapOpenHubLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
157208	return nil, false
157209}
157210
157211// AsSapHanaLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService.
157212func (sohls SapOpenHubLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
157213	return nil, false
157214}
157215
157216// AsSapBWLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService.
157217func (sohls SapOpenHubLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
157218	return nil, false
157219}
157220
157221// AsSftpServerLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService.
157222func (sohls SapOpenHubLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
157223	return nil, false
157224}
157225
157226// AsFtpServerLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService.
157227func (sohls SapOpenHubLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
157228	return nil, false
157229}
157230
157231// AsHTTPLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService.
157232func (sohls SapOpenHubLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
157233	return nil, false
157234}
157235
157236// AsAzureSearchLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService.
157237func (sohls SapOpenHubLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
157238	return nil, false
157239}
157240
157241// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService.
157242func (sohls SapOpenHubLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
157243	return nil, false
157244}
157245
157246// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService.
157247func (sohls SapOpenHubLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
157248	return nil, false
157249}
157250
157251// AsAmazonS3LinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService.
157252func (sohls SapOpenHubLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
157253	return nil, false
157254}
157255
157256// AsRestServiceLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService.
157257func (sohls SapOpenHubLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) {
157258	return nil, false
157259}
157260
157261// AsSapOpenHubLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService.
157262func (sohls SapOpenHubLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) {
157263	return &sohls, true
157264}
157265
157266// AsSapEccLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService.
157267func (sohls SapOpenHubLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
157268	return nil, false
157269}
157270
157271// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService.
157272func (sohls SapOpenHubLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
157273	return nil, false
157274}
157275
157276// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService.
157277func (sohls SapOpenHubLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) {
157278	return nil, false
157279}
157280
157281// AsSalesforceLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService.
157282func (sohls SapOpenHubLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
157283	return nil, false
157284}
157285
157286// AsOffice365LinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService.
157287func (sohls SapOpenHubLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) {
157288	return nil, false
157289}
157290
157291// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService.
157292func (sohls SapOpenHubLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) {
157293	return nil, false
157294}
157295
157296// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService.
157297func (sohls SapOpenHubLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
157298	return nil, false
157299}
157300
157301// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService.
157302func (sohls SapOpenHubLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) {
157303	return nil, false
157304}
157305
157306// AsMongoDbV2LinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService.
157307func (sohls SapOpenHubLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) {
157308	return nil, false
157309}
157310
157311// AsMongoDbLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService.
157312func (sohls SapOpenHubLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
157313	return nil, false
157314}
157315
157316// AsCassandraLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService.
157317func (sohls SapOpenHubLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
157318	return nil, false
157319}
157320
157321// AsWebLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService.
157322func (sohls SapOpenHubLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
157323	return nil, false
157324}
157325
157326// AsODataLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService.
157327func (sohls SapOpenHubLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
157328	return nil, false
157329}
157330
157331// AsHdfsLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService.
157332func (sohls SapOpenHubLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
157333	return nil, false
157334}
157335
157336// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService.
157337func (sohls SapOpenHubLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) {
157338	return nil, false
157339}
157340
157341// AsInformixLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService.
157342func (sohls SapOpenHubLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) {
157343	return nil, false
157344}
157345
157346// AsOdbcLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService.
157347func (sohls SapOpenHubLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
157348	return nil, false
157349}
157350
157351// AsAzureMLLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService.
157352func (sohls SapOpenHubLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
157353	return nil, false
157354}
157355
157356// AsTeradataLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService.
157357func (sohls SapOpenHubLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
157358	return nil, false
157359}
157360
157361// AsDb2LinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService.
157362func (sohls SapOpenHubLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
157363	return nil, false
157364}
157365
157366// AsSybaseLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService.
157367func (sohls SapOpenHubLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
157368	return nil, false
157369}
157370
157371// AsPostgreSQLLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService.
157372func (sohls SapOpenHubLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
157373	return nil, false
157374}
157375
157376// AsMySQLLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService.
157377func (sohls SapOpenHubLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
157378	return nil, false
157379}
157380
157381// AsAzureMySQLLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService.
157382func (sohls SapOpenHubLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
157383	return nil, false
157384}
157385
157386// AsOracleLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService.
157387func (sohls SapOpenHubLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
157388	return nil, false
157389}
157390
157391// AsFileServerLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService.
157392func (sohls SapOpenHubLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
157393	return nil, false
157394}
157395
157396// AsHDInsightLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService.
157397func (sohls SapOpenHubLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
157398	return nil, false
157399}
157400
157401// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService.
157402func (sohls SapOpenHubLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) {
157403	return nil, false
157404}
157405
157406// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService.
157407func (sohls SapOpenHubLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) {
157408	return nil, false
157409}
157410
157411// AsDynamicsLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService.
157412func (sohls SapOpenHubLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
157413	return nil, false
157414}
157415
157416// AsCosmosDbLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService.
157417func (sohls SapOpenHubLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
157418	return nil, false
157419}
157420
157421// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService.
157422func (sohls SapOpenHubLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
157423	return nil, false
157424}
157425
157426// AsAzureBatchLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService.
157427func (sohls SapOpenHubLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
157428	return nil, false
157429}
157430
157431// AsAzureSQLMILinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService.
157432func (sohls SapOpenHubLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) {
157433	return nil, false
157434}
157435
157436// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService.
157437func (sohls SapOpenHubLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
157438	return nil, false
157439}
157440
157441// AsSQLServerLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService.
157442func (sohls SapOpenHubLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
157443	return nil, false
157444}
157445
157446// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService.
157447func (sohls SapOpenHubLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
157448	return nil, false
157449}
157450
157451// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService.
157452func (sohls SapOpenHubLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) {
157453	return nil, false
157454}
157455
157456// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService.
157457func (sohls SapOpenHubLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) {
157458	return nil, false
157459}
157460
157461// AsAzureStorageLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService.
157462func (sohls SapOpenHubLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
157463	return nil, false
157464}
157465
157466// AsLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService.
157467func (sohls SapOpenHubLinkedService) AsLinkedService() (*LinkedService, bool) {
157468	return nil, false
157469}
157470
157471// AsBasicLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService.
157472func (sohls SapOpenHubLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
157473	return &sohls, true
157474}
157475
157476// UnmarshalJSON is the custom unmarshaler for SapOpenHubLinkedService struct.
157477func (sohls *SapOpenHubLinkedService) UnmarshalJSON(body []byte) error {
157478	var m map[string]*json.RawMessage
157479	err := json.Unmarshal(body, &m)
157480	if err != nil {
157481		return err
157482	}
157483	for k, v := range m {
157484		switch k {
157485		case "typeProperties":
157486			if v != nil {
157487				var sapOpenHubLinkedServiceTypeProperties SapOpenHubLinkedServiceTypeProperties
157488				err = json.Unmarshal(*v, &sapOpenHubLinkedServiceTypeProperties)
157489				if err != nil {
157490					return err
157491				}
157492				sohls.SapOpenHubLinkedServiceTypeProperties = &sapOpenHubLinkedServiceTypeProperties
157493			}
157494		default:
157495			if v != nil {
157496				var additionalProperties interface{}
157497				err = json.Unmarshal(*v, &additionalProperties)
157498				if err != nil {
157499					return err
157500				}
157501				if sohls.AdditionalProperties == nil {
157502					sohls.AdditionalProperties = make(map[string]interface{})
157503				}
157504				sohls.AdditionalProperties[k] = additionalProperties
157505			}
157506		case "connectVia":
157507			if v != nil {
157508				var connectVia IntegrationRuntimeReference
157509				err = json.Unmarshal(*v, &connectVia)
157510				if err != nil {
157511					return err
157512				}
157513				sohls.ConnectVia = &connectVia
157514			}
157515		case "description":
157516			if v != nil {
157517				var description string
157518				err = json.Unmarshal(*v, &description)
157519				if err != nil {
157520					return err
157521				}
157522				sohls.Description = &description
157523			}
157524		case "parameters":
157525			if v != nil {
157526				var parameters map[string]*ParameterSpecification
157527				err = json.Unmarshal(*v, &parameters)
157528				if err != nil {
157529					return err
157530				}
157531				sohls.Parameters = parameters
157532			}
157533		case "annotations":
157534			if v != nil {
157535				var annotations []interface{}
157536				err = json.Unmarshal(*v, &annotations)
157537				if err != nil {
157538					return err
157539				}
157540				sohls.Annotations = &annotations
157541			}
157542		case "type":
157543			if v != nil {
157544				var typeVar TypeBasicLinkedService
157545				err = json.Unmarshal(*v, &typeVar)
157546				if err != nil {
157547					return err
157548				}
157549				sohls.Type = typeVar
157550			}
157551		}
157552	}
157553
157554	return nil
157555}
157556
157557// SapOpenHubLinkedServiceTypeProperties properties specific to SAP Business Warehouse Open Hub Destination
157558// linked service type.
157559type SapOpenHubLinkedServiceTypeProperties struct {
157560	// Server - Host name of the SAP BW instance where the open hub destination is located. Type: string (or Expression with resultType string).
157561	Server interface{} `json:"server,omitempty"`
157562	// SystemNumber - System number of the BW system where the open hub destination is located. (Usually a two-digit decimal number represented as a string.) Type: string (or Expression with resultType string).
157563	SystemNumber interface{} `json:"systemNumber,omitempty"`
157564	// ClientID - Client ID of the client on the BW system where the open hub destination is located. (Usually a three-digit decimal number represented as a string) Type: string (or Expression with resultType string).
157565	ClientID interface{} `json:"clientId,omitempty"`
157566	// Language - Language of the BW system where the open hub destination is located. The default value is EN. Type: string (or Expression with resultType string).
157567	Language interface{} `json:"language,omitempty"`
157568	// UserName - Username to access the SAP BW server where the open hub destination is located. Type: string (or Expression with resultType string).
157569	UserName interface{} `json:"userName,omitempty"`
157570	// Password - Password to access the SAP BW server where the open hub destination is located.
157571	Password BasicSecretBase `json:"password,omitempty"`
157572	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
157573	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
157574}
157575
157576// UnmarshalJSON is the custom unmarshaler for SapOpenHubLinkedServiceTypeProperties struct.
157577func (sohlstp *SapOpenHubLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
157578	var m map[string]*json.RawMessage
157579	err := json.Unmarshal(body, &m)
157580	if err != nil {
157581		return err
157582	}
157583	for k, v := range m {
157584		switch k {
157585		case "server":
157586			if v != nil {
157587				var server interface{}
157588				err = json.Unmarshal(*v, &server)
157589				if err != nil {
157590					return err
157591				}
157592				sohlstp.Server = server
157593			}
157594		case "systemNumber":
157595			if v != nil {
157596				var systemNumber interface{}
157597				err = json.Unmarshal(*v, &systemNumber)
157598				if err != nil {
157599					return err
157600				}
157601				sohlstp.SystemNumber = systemNumber
157602			}
157603		case "clientId":
157604			if v != nil {
157605				var clientID interface{}
157606				err = json.Unmarshal(*v, &clientID)
157607				if err != nil {
157608					return err
157609				}
157610				sohlstp.ClientID = clientID
157611			}
157612		case "language":
157613			if v != nil {
157614				var language interface{}
157615				err = json.Unmarshal(*v, &language)
157616				if err != nil {
157617					return err
157618				}
157619				sohlstp.Language = language
157620			}
157621		case "userName":
157622			if v != nil {
157623				var userName interface{}
157624				err = json.Unmarshal(*v, &userName)
157625				if err != nil {
157626					return err
157627				}
157628				sohlstp.UserName = userName
157629			}
157630		case "password":
157631			if v != nil {
157632				password, err := unmarshalBasicSecretBase(*v)
157633				if err != nil {
157634					return err
157635				}
157636				sohlstp.Password = password
157637			}
157638		case "encryptedCredential":
157639			if v != nil {
157640				var encryptedCredential interface{}
157641				err = json.Unmarshal(*v, &encryptedCredential)
157642				if err != nil {
157643					return err
157644				}
157645				sohlstp.EncryptedCredential = encryptedCredential
157646			}
157647		}
157648	}
157649
157650	return nil
157651}
157652
157653// SapOpenHubSource a copy activity source for SAP Business Warehouse Open Hub Destination source.
157654type SapOpenHubSource struct {
157655	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
157656	AdditionalProperties map[string]interface{} `json:""`
157657	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
157658	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
157659	// 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])).
157660	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
157661	// MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer).
157662	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
157663	// Type - Possible values include: 'TypeCopySource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', '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', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeCassandraSource', 'TypeWebSource', 'TypeTeradataSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeAzureMySQLSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeRestSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceServiceCloudSource', 'TypeSalesforceSource', 'TypeODataSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeMicrosoftAccessSource', 'TypeInformixSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAzureTableSource', 'TypeBinarySource', 'TypeDelimitedTextSource', 'TypeParquetSource'
157664	Type TypeBasicCopySource `json:"type,omitempty"`
157665}
157666
157667// MarshalJSON is the custom marshaler for SapOpenHubSource.
157668func (sohs SapOpenHubSource) MarshalJSON() ([]byte, error) {
157669	sohs.Type = TypeSapOpenHubSource
157670	objectMap := make(map[string]interface{})
157671	if sohs.SourceRetryCount != nil {
157672		objectMap["sourceRetryCount"] = sohs.SourceRetryCount
157673	}
157674	if sohs.SourceRetryWait != nil {
157675		objectMap["sourceRetryWait"] = sohs.SourceRetryWait
157676	}
157677	if sohs.MaxConcurrentConnections != nil {
157678		objectMap["maxConcurrentConnections"] = sohs.MaxConcurrentConnections
157679	}
157680	if sohs.Type != "" {
157681		objectMap["type"] = sohs.Type
157682	}
157683	for k, v := range sohs.AdditionalProperties {
157684		objectMap[k] = v
157685	}
157686	return json.Marshal(objectMap)
157687}
157688
157689// AsAmazonRedshiftSource is the BasicCopySource implementation for SapOpenHubSource.
157690func (sohs SapOpenHubSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
157691	return nil, false
157692}
157693
157694// AsGoogleAdWordsSource is the BasicCopySource implementation for SapOpenHubSource.
157695func (sohs SapOpenHubSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) {
157696	return nil, false
157697}
157698
157699// AsOracleServiceCloudSource is the BasicCopySource implementation for SapOpenHubSource.
157700func (sohs SapOpenHubSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) {
157701	return nil, false
157702}
157703
157704// AsDynamicsAXSource is the BasicCopySource implementation for SapOpenHubSource.
157705func (sohs SapOpenHubSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) {
157706	return nil, false
157707}
157708
157709// AsResponsysSource is the BasicCopySource implementation for SapOpenHubSource.
157710func (sohs SapOpenHubSource) AsResponsysSource() (*ResponsysSource, bool) {
157711	return nil, false
157712}
157713
157714// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for SapOpenHubSource.
157715func (sohs SapOpenHubSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
157716	return nil, false
157717}
157718
157719// AsVerticaSource is the BasicCopySource implementation for SapOpenHubSource.
157720func (sohs SapOpenHubSource) AsVerticaSource() (*VerticaSource, bool) {
157721	return nil, false
157722}
157723
157724// AsNetezzaSource is the BasicCopySource implementation for SapOpenHubSource.
157725func (sohs SapOpenHubSource) AsNetezzaSource() (*NetezzaSource, bool) {
157726	return nil, false
157727}
157728
157729// AsZohoSource is the BasicCopySource implementation for SapOpenHubSource.
157730func (sohs SapOpenHubSource) AsZohoSource() (*ZohoSource, bool) {
157731	return nil, false
157732}
157733
157734// AsXeroSource is the BasicCopySource implementation for SapOpenHubSource.
157735func (sohs SapOpenHubSource) AsXeroSource() (*XeroSource, bool) {
157736	return nil, false
157737}
157738
157739// AsSquareSource is the BasicCopySource implementation for SapOpenHubSource.
157740func (sohs SapOpenHubSource) AsSquareSource() (*SquareSource, bool) {
157741	return nil, false
157742}
157743
157744// AsSparkSource is the BasicCopySource implementation for SapOpenHubSource.
157745func (sohs SapOpenHubSource) AsSparkSource() (*SparkSource, bool) {
157746	return nil, false
157747}
157748
157749// AsShopifySource is the BasicCopySource implementation for SapOpenHubSource.
157750func (sohs SapOpenHubSource) AsShopifySource() (*ShopifySource, bool) {
157751	return nil, false
157752}
157753
157754// AsServiceNowSource is the BasicCopySource implementation for SapOpenHubSource.
157755func (sohs SapOpenHubSource) AsServiceNowSource() (*ServiceNowSource, bool) {
157756	return nil, false
157757}
157758
157759// AsQuickBooksSource is the BasicCopySource implementation for SapOpenHubSource.
157760func (sohs SapOpenHubSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
157761	return nil, false
157762}
157763
157764// AsPrestoSource is the BasicCopySource implementation for SapOpenHubSource.
157765func (sohs SapOpenHubSource) AsPrestoSource() (*PrestoSource, bool) {
157766	return nil, false
157767}
157768
157769// AsPhoenixSource is the BasicCopySource implementation for SapOpenHubSource.
157770func (sohs SapOpenHubSource) AsPhoenixSource() (*PhoenixSource, bool) {
157771	return nil, false
157772}
157773
157774// AsPaypalSource is the BasicCopySource implementation for SapOpenHubSource.
157775func (sohs SapOpenHubSource) AsPaypalSource() (*PaypalSource, bool) {
157776	return nil, false
157777}
157778
157779// AsMarketoSource is the BasicCopySource implementation for SapOpenHubSource.
157780func (sohs SapOpenHubSource) AsMarketoSource() (*MarketoSource, bool) {
157781	return nil, false
157782}
157783
157784// AsMariaDBSource is the BasicCopySource implementation for SapOpenHubSource.
157785func (sohs SapOpenHubSource) AsMariaDBSource() (*MariaDBSource, bool) {
157786	return nil, false
157787}
157788
157789// AsMagentoSource is the BasicCopySource implementation for SapOpenHubSource.
157790func (sohs SapOpenHubSource) AsMagentoSource() (*MagentoSource, bool) {
157791	return nil, false
157792}
157793
157794// AsJiraSource is the BasicCopySource implementation for SapOpenHubSource.
157795func (sohs SapOpenHubSource) AsJiraSource() (*JiraSource, bool) {
157796	return nil, false
157797}
157798
157799// AsImpalaSource is the BasicCopySource implementation for SapOpenHubSource.
157800func (sohs SapOpenHubSource) AsImpalaSource() (*ImpalaSource, bool) {
157801	return nil, false
157802}
157803
157804// AsHubspotSource is the BasicCopySource implementation for SapOpenHubSource.
157805func (sohs SapOpenHubSource) AsHubspotSource() (*HubspotSource, bool) {
157806	return nil, false
157807}
157808
157809// AsHiveSource is the BasicCopySource implementation for SapOpenHubSource.
157810func (sohs SapOpenHubSource) AsHiveSource() (*HiveSource, bool) {
157811	return nil, false
157812}
157813
157814// AsHBaseSource is the BasicCopySource implementation for SapOpenHubSource.
157815func (sohs SapOpenHubSource) AsHBaseSource() (*HBaseSource, bool) {
157816	return nil, false
157817}
157818
157819// AsGreenplumSource is the BasicCopySource implementation for SapOpenHubSource.
157820func (sohs SapOpenHubSource) AsGreenplumSource() (*GreenplumSource, bool) {
157821	return nil, false
157822}
157823
157824// AsGoogleBigQuerySource is the BasicCopySource implementation for SapOpenHubSource.
157825func (sohs SapOpenHubSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
157826	return nil, false
157827}
157828
157829// AsEloquaSource is the BasicCopySource implementation for SapOpenHubSource.
157830func (sohs SapOpenHubSource) AsEloquaSource() (*EloquaSource, bool) {
157831	return nil, false
157832}
157833
157834// AsDrillSource is the BasicCopySource implementation for SapOpenHubSource.
157835func (sohs SapOpenHubSource) AsDrillSource() (*DrillSource, bool) {
157836	return nil, false
157837}
157838
157839// AsCouchbaseSource is the BasicCopySource implementation for SapOpenHubSource.
157840func (sohs SapOpenHubSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
157841	return nil, false
157842}
157843
157844// AsConcurSource is the BasicCopySource implementation for SapOpenHubSource.
157845func (sohs SapOpenHubSource) AsConcurSource() (*ConcurSource, bool) {
157846	return nil, false
157847}
157848
157849// AsAzurePostgreSQLSource is the BasicCopySource implementation for SapOpenHubSource.
157850func (sohs SapOpenHubSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
157851	return nil, false
157852}
157853
157854// AsAmazonMWSSource is the BasicCopySource implementation for SapOpenHubSource.
157855func (sohs SapOpenHubSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
157856	return nil, false
157857}
157858
157859// AsHTTPSource is the BasicCopySource implementation for SapOpenHubSource.
157860func (sohs SapOpenHubSource) AsHTTPSource() (*HTTPSource, bool) {
157861	return nil, false
157862}
157863
157864// AsAzureBlobFSSource is the BasicCopySource implementation for SapOpenHubSource.
157865func (sohs SapOpenHubSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) {
157866	return nil, false
157867}
157868
157869// AsAzureDataLakeStoreSource is the BasicCopySource implementation for SapOpenHubSource.
157870func (sohs SapOpenHubSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
157871	return nil, false
157872}
157873
157874// AsOffice365Source is the BasicCopySource implementation for SapOpenHubSource.
157875func (sohs SapOpenHubSource) AsOffice365Source() (*Office365Source, bool) {
157876	return nil, false
157877}
157878
157879// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for SapOpenHubSource.
157880func (sohs SapOpenHubSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) {
157881	return nil, false
157882}
157883
157884// AsMongoDbV2Source is the BasicCopySource implementation for SapOpenHubSource.
157885func (sohs SapOpenHubSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) {
157886	return nil, false
157887}
157888
157889// AsMongoDbSource is the BasicCopySource implementation for SapOpenHubSource.
157890func (sohs SapOpenHubSource) AsMongoDbSource() (*MongoDbSource, bool) {
157891	return nil, false
157892}
157893
157894// AsCassandraSource is the BasicCopySource implementation for SapOpenHubSource.
157895func (sohs SapOpenHubSource) AsCassandraSource() (*CassandraSource, bool) {
157896	return nil, false
157897}
157898
157899// AsWebSource is the BasicCopySource implementation for SapOpenHubSource.
157900func (sohs SapOpenHubSource) AsWebSource() (*WebSource, bool) {
157901	return nil, false
157902}
157903
157904// AsTeradataSource is the BasicCopySource implementation for SapOpenHubSource.
157905func (sohs SapOpenHubSource) AsTeradataSource() (*TeradataSource, bool) {
157906	return nil, false
157907}
157908
157909// AsOracleSource is the BasicCopySource implementation for SapOpenHubSource.
157910func (sohs SapOpenHubSource) AsOracleSource() (*OracleSource, bool) {
157911	return nil, false
157912}
157913
157914// AsAzureDataExplorerSource is the BasicCopySource implementation for SapOpenHubSource.
157915func (sohs SapOpenHubSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) {
157916	return nil, false
157917}
157918
157919// AsAzureMySQLSource is the BasicCopySource implementation for SapOpenHubSource.
157920func (sohs SapOpenHubSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
157921	return nil, false
157922}
157923
157924// AsHdfsSource is the BasicCopySource implementation for SapOpenHubSource.
157925func (sohs SapOpenHubSource) AsHdfsSource() (*HdfsSource, bool) {
157926	return nil, false
157927}
157928
157929// AsFileSystemSource is the BasicCopySource implementation for SapOpenHubSource.
157930func (sohs SapOpenHubSource) AsFileSystemSource() (*FileSystemSource, bool) {
157931	return nil, false
157932}
157933
157934// AsSQLDWSource is the BasicCopySource implementation for SapOpenHubSource.
157935func (sohs SapOpenHubSource) AsSQLDWSource() (*SQLDWSource, bool) {
157936	return nil, false
157937}
157938
157939// AsSQLMISource is the BasicCopySource implementation for SapOpenHubSource.
157940func (sohs SapOpenHubSource) AsSQLMISource() (*SQLMISource, bool) {
157941	return nil, false
157942}
157943
157944// AsAzureSQLSource is the BasicCopySource implementation for SapOpenHubSource.
157945func (sohs SapOpenHubSource) AsAzureSQLSource() (*AzureSQLSource, bool) {
157946	return nil, false
157947}
157948
157949// AsSQLServerSource is the BasicCopySource implementation for SapOpenHubSource.
157950func (sohs SapOpenHubSource) AsSQLServerSource() (*SQLServerSource, bool) {
157951	return nil, false
157952}
157953
157954// AsSQLSource is the BasicCopySource implementation for SapOpenHubSource.
157955func (sohs SapOpenHubSource) AsSQLSource() (*SQLSource, bool) {
157956	return nil, false
157957}
157958
157959// AsRestSource is the BasicCopySource implementation for SapOpenHubSource.
157960func (sohs SapOpenHubSource) AsRestSource() (*RestSource, bool) {
157961	return nil, false
157962}
157963
157964// AsSapTableSource is the BasicCopySource implementation for SapOpenHubSource.
157965func (sohs SapOpenHubSource) AsSapTableSource() (*SapTableSource, bool) {
157966	return nil, false
157967}
157968
157969// AsSapOpenHubSource is the BasicCopySource implementation for SapOpenHubSource.
157970func (sohs SapOpenHubSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) {
157971	return &sohs, true
157972}
157973
157974// AsSapHanaSource is the BasicCopySource implementation for SapOpenHubSource.
157975func (sohs SapOpenHubSource) AsSapHanaSource() (*SapHanaSource, bool) {
157976	return nil, false
157977}
157978
157979// AsSapEccSource is the BasicCopySource implementation for SapOpenHubSource.
157980func (sohs SapOpenHubSource) AsSapEccSource() (*SapEccSource, bool) {
157981	return nil, false
157982}
157983
157984// AsSapCloudForCustomerSource is the BasicCopySource implementation for SapOpenHubSource.
157985func (sohs SapOpenHubSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
157986	return nil, false
157987}
157988
157989// AsSalesforceServiceCloudSource is the BasicCopySource implementation for SapOpenHubSource.
157990func (sohs SapOpenHubSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) {
157991	return nil, false
157992}
157993
157994// AsSalesforceSource is the BasicCopySource implementation for SapOpenHubSource.
157995func (sohs SapOpenHubSource) AsSalesforceSource() (*SalesforceSource, bool) {
157996	return nil, false
157997}
157998
157999// AsODataSource is the BasicCopySource implementation for SapOpenHubSource.
158000func (sohs SapOpenHubSource) AsODataSource() (*ODataSource, bool) {
158001	return nil, false
158002}
158003
158004// AsSybaseSource is the BasicCopySource implementation for SapOpenHubSource.
158005func (sohs SapOpenHubSource) AsSybaseSource() (*SybaseSource, bool) {
158006	return nil, false
158007}
158008
158009// AsPostgreSQLSource is the BasicCopySource implementation for SapOpenHubSource.
158010func (sohs SapOpenHubSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) {
158011	return nil, false
158012}
158013
158014// AsMySQLSource is the BasicCopySource implementation for SapOpenHubSource.
158015func (sohs SapOpenHubSource) AsMySQLSource() (*MySQLSource, bool) {
158016	return nil, false
158017}
158018
158019// AsOdbcSource is the BasicCopySource implementation for SapOpenHubSource.
158020func (sohs SapOpenHubSource) AsOdbcSource() (*OdbcSource, bool) {
158021	return nil, false
158022}
158023
158024// AsDb2Source is the BasicCopySource implementation for SapOpenHubSource.
158025func (sohs SapOpenHubSource) AsDb2Source() (*Db2Source, bool) {
158026	return nil, false
158027}
158028
158029// AsMicrosoftAccessSource is the BasicCopySource implementation for SapOpenHubSource.
158030func (sohs SapOpenHubSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) {
158031	return nil, false
158032}
158033
158034// AsInformixSource is the BasicCopySource implementation for SapOpenHubSource.
158035func (sohs SapOpenHubSource) AsInformixSource() (*InformixSource, bool) {
158036	return nil, false
158037}
158038
158039// AsRelationalSource is the BasicCopySource implementation for SapOpenHubSource.
158040func (sohs SapOpenHubSource) AsRelationalSource() (*RelationalSource, bool) {
158041	return nil, false
158042}
158043
158044// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for SapOpenHubSource.
158045func (sohs SapOpenHubSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) {
158046	return nil, false
158047}
158048
158049// AsDynamicsCrmSource is the BasicCopySource implementation for SapOpenHubSource.
158050func (sohs SapOpenHubSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) {
158051	return nil, false
158052}
158053
158054// AsDynamicsSource is the BasicCopySource implementation for SapOpenHubSource.
158055func (sohs SapOpenHubSource) AsDynamicsSource() (*DynamicsSource, bool) {
158056	return nil, false
158057}
158058
158059// AsDocumentDbCollectionSource is the BasicCopySource implementation for SapOpenHubSource.
158060func (sohs SapOpenHubSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
158061	return nil, false
158062}
158063
158064// AsBlobSource is the BasicCopySource implementation for SapOpenHubSource.
158065func (sohs SapOpenHubSource) AsBlobSource() (*BlobSource, bool) {
158066	return nil, false
158067}
158068
158069// AsAzureTableSource is the BasicCopySource implementation for SapOpenHubSource.
158070func (sohs SapOpenHubSource) AsAzureTableSource() (*AzureTableSource, bool) {
158071	return nil, false
158072}
158073
158074// AsBinarySource is the BasicCopySource implementation for SapOpenHubSource.
158075func (sohs SapOpenHubSource) AsBinarySource() (*BinarySource, bool) {
158076	return nil, false
158077}
158078
158079// AsDelimitedTextSource is the BasicCopySource implementation for SapOpenHubSource.
158080func (sohs SapOpenHubSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) {
158081	return nil, false
158082}
158083
158084// AsParquetSource is the BasicCopySource implementation for SapOpenHubSource.
158085func (sohs SapOpenHubSource) AsParquetSource() (*ParquetSource, bool) {
158086	return nil, false
158087}
158088
158089// AsCopySource is the BasicCopySource implementation for SapOpenHubSource.
158090func (sohs SapOpenHubSource) AsCopySource() (*CopySource, bool) {
158091	return nil, false
158092}
158093
158094// AsBasicCopySource is the BasicCopySource implementation for SapOpenHubSource.
158095func (sohs SapOpenHubSource) AsBasicCopySource() (BasicCopySource, bool) {
158096	return &sohs, true
158097}
158098
158099// UnmarshalJSON is the custom unmarshaler for SapOpenHubSource struct.
158100func (sohs *SapOpenHubSource) UnmarshalJSON(body []byte) error {
158101	var m map[string]*json.RawMessage
158102	err := json.Unmarshal(body, &m)
158103	if err != nil {
158104		return err
158105	}
158106	for k, v := range m {
158107		switch k {
158108		default:
158109			if v != nil {
158110				var additionalProperties interface{}
158111				err = json.Unmarshal(*v, &additionalProperties)
158112				if err != nil {
158113					return err
158114				}
158115				if sohs.AdditionalProperties == nil {
158116					sohs.AdditionalProperties = make(map[string]interface{})
158117				}
158118				sohs.AdditionalProperties[k] = additionalProperties
158119			}
158120		case "sourceRetryCount":
158121			if v != nil {
158122				var sourceRetryCount interface{}
158123				err = json.Unmarshal(*v, &sourceRetryCount)
158124				if err != nil {
158125					return err
158126				}
158127				sohs.SourceRetryCount = sourceRetryCount
158128			}
158129		case "sourceRetryWait":
158130			if v != nil {
158131				var sourceRetryWait interface{}
158132				err = json.Unmarshal(*v, &sourceRetryWait)
158133				if err != nil {
158134					return err
158135				}
158136				sohs.SourceRetryWait = sourceRetryWait
158137			}
158138		case "maxConcurrentConnections":
158139			if v != nil {
158140				var maxConcurrentConnections interface{}
158141				err = json.Unmarshal(*v, &maxConcurrentConnections)
158142				if err != nil {
158143					return err
158144				}
158145				sohs.MaxConcurrentConnections = maxConcurrentConnections
158146			}
158147		case "type":
158148			if v != nil {
158149				var typeVar TypeBasicCopySource
158150				err = json.Unmarshal(*v, &typeVar)
158151				if err != nil {
158152					return err
158153				}
158154				sohs.Type = typeVar
158155			}
158156		}
158157	}
158158
158159	return nil
158160}
158161
158162// SapOpenHubTableDataset sap Business Warehouse Open Hub Destination Table properties.
158163type SapOpenHubTableDataset struct {
158164	// SapOpenHubTableDatasetTypeProperties - Sap Business Warehouse Open Hub Destination Table properties.
158165	*SapOpenHubTableDatasetTypeProperties `json:"typeProperties,omitempty"`
158166	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
158167	AdditionalProperties map[string]interface{} `json:""`
158168	// Description - Dataset description.
158169	Description *string `json:"description,omitempty"`
158170	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
158171	Structure interface{} `json:"structure,omitempty"`
158172	// Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement.
158173	Schema interface{} `json:"schema,omitempty"`
158174	// LinkedServiceName - Linked service reference.
158175	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
158176	// Parameters - Parameters for dataset.
158177	Parameters map[string]*ParameterSpecification `json:"parameters"`
158178	// Annotations - List of tags that can be used for describing the Dataset.
158179	Annotations *[]interface{} `json:"annotations,omitempty"`
158180	// Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level.
158181	Folder *DatasetFolder `json:"folder,omitempty"`
158182	// Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', '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', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeDelimitedText', 'TypeParquet', 'TypeAmazonS3Object'
158183	Type TypeBasicDataset `json:"type,omitempty"`
158184}
158185
158186// MarshalJSON is the custom marshaler for SapOpenHubTableDataset.
158187func (sohtd SapOpenHubTableDataset) MarshalJSON() ([]byte, error) {
158188	sohtd.Type = TypeSapOpenHubTable
158189	objectMap := make(map[string]interface{})
158190	if sohtd.SapOpenHubTableDatasetTypeProperties != nil {
158191		objectMap["typeProperties"] = sohtd.SapOpenHubTableDatasetTypeProperties
158192	}
158193	if sohtd.Description != nil {
158194		objectMap["description"] = sohtd.Description
158195	}
158196	if sohtd.Structure != nil {
158197		objectMap["structure"] = sohtd.Structure
158198	}
158199	if sohtd.Schema != nil {
158200		objectMap["schema"] = sohtd.Schema
158201	}
158202	if sohtd.LinkedServiceName != nil {
158203		objectMap["linkedServiceName"] = sohtd.LinkedServiceName
158204	}
158205	if sohtd.Parameters != nil {
158206		objectMap["parameters"] = sohtd.Parameters
158207	}
158208	if sohtd.Annotations != nil {
158209		objectMap["annotations"] = sohtd.Annotations
158210	}
158211	if sohtd.Folder != nil {
158212		objectMap["folder"] = sohtd.Folder
158213	}
158214	if sohtd.Type != "" {
158215		objectMap["type"] = sohtd.Type
158216	}
158217	for k, v := range sohtd.AdditionalProperties {
158218		objectMap[k] = v
158219	}
158220	return json.Marshal(objectMap)
158221}
158222
158223// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for SapOpenHubTableDataset.
158224func (sohtd SapOpenHubTableDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) {
158225	return nil, false
158226}
158227
158228// AsAzureDataExplorerTableDataset is the BasicDataset implementation for SapOpenHubTableDataset.
158229func (sohtd SapOpenHubTableDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) {
158230	return nil, false
158231}
158232
158233// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for SapOpenHubTableDataset.
158234func (sohtd SapOpenHubTableDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) {
158235	return nil, false
158236}
158237
158238// AsDynamicsAXResourceDataset is the BasicDataset implementation for SapOpenHubTableDataset.
158239func (sohtd SapOpenHubTableDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) {
158240	return nil, false
158241}
158242
158243// AsResponsysObjectDataset is the BasicDataset implementation for SapOpenHubTableDataset.
158244func (sohtd SapOpenHubTableDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
158245	return nil, false
158246}
158247
158248// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for SapOpenHubTableDataset.
158249func (sohtd SapOpenHubTableDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
158250	return nil, false
158251}
158252
158253// AsVerticaTableDataset is the BasicDataset implementation for SapOpenHubTableDataset.
158254func (sohtd SapOpenHubTableDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
158255	return nil, false
158256}
158257
158258// AsNetezzaTableDataset is the BasicDataset implementation for SapOpenHubTableDataset.
158259func (sohtd SapOpenHubTableDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
158260	return nil, false
158261}
158262
158263// AsZohoObjectDataset is the BasicDataset implementation for SapOpenHubTableDataset.
158264func (sohtd SapOpenHubTableDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
158265	return nil, false
158266}
158267
158268// AsXeroObjectDataset is the BasicDataset implementation for SapOpenHubTableDataset.
158269func (sohtd SapOpenHubTableDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
158270	return nil, false
158271}
158272
158273// AsSquareObjectDataset is the BasicDataset implementation for SapOpenHubTableDataset.
158274func (sohtd SapOpenHubTableDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
158275	return nil, false
158276}
158277
158278// AsSparkObjectDataset is the BasicDataset implementation for SapOpenHubTableDataset.
158279func (sohtd SapOpenHubTableDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
158280	return nil, false
158281}
158282
158283// AsShopifyObjectDataset is the BasicDataset implementation for SapOpenHubTableDataset.
158284func (sohtd SapOpenHubTableDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
158285	return nil, false
158286}
158287
158288// AsServiceNowObjectDataset is the BasicDataset implementation for SapOpenHubTableDataset.
158289func (sohtd SapOpenHubTableDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
158290	return nil, false
158291}
158292
158293// AsQuickBooksObjectDataset is the BasicDataset implementation for SapOpenHubTableDataset.
158294func (sohtd SapOpenHubTableDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
158295	return nil, false
158296}
158297
158298// AsPrestoObjectDataset is the BasicDataset implementation for SapOpenHubTableDataset.
158299func (sohtd SapOpenHubTableDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
158300	return nil, false
158301}
158302
158303// AsPhoenixObjectDataset is the BasicDataset implementation for SapOpenHubTableDataset.
158304func (sohtd SapOpenHubTableDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
158305	return nil, false
158306}
158307
158308// AsPaypalObjectDataset is the BasicDataset implementation for SapOpenHubTableDataset.
158309func (sohtd SapOpenHubTableDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
158310	return nil, false
158311}
158312
158313// AsMarketoObjectDataset is the BasicDataset implementation for SapOpenHubTableDataset.
158314func (sohtd SapOpenHubTableDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
158315	return nil, false
158316}
158317
158318// AsMariaDBTableDataset is the BasicDataset implementation for SapOpenHubTableDataset.
158319func (sohtd SapOpenHubTableDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
158320	return nil, false
158321}
158322
158323// AsMagentoObjectDataset is the BasicDataset implementation for SapOpenHubTableDataset.
158324func (sohtd SapOpenHubTableDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
158325	return nil, false
158326}
158327
158328// AsJiraObjectDataset is the BasicDataset implementation for SapOpenHubTableDataset.
158329func (sohtd SapOpenHubTableDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
158330	return nil, false
158331}
158332
158333// AsImpalaObjectDataset is the BasicDataset implementation for SapOpenHubTableDataset.
158334func (sohtd SapOpenHubTableDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
158335	return nil, false
158336}
158337
158338// AsHubspotObjectDataset is the BasicDataset implementation for SapOpenHubTableDataset.
158339func (sohtd SapOpenHubTableDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
158340	return nil, false
158341}
158342
158343// AsHiveObjectDataset is the BasicDataset implementation for SapOpenHubTableDataset.
158344func (sohtd SapOpenHubTableDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
158345	return nil, false
158346}
158347
158348// AsHBaseObjectDataset is the BasicDataset implementation for SapOpenHubTableDataset.
158349func (sohtd SapOpenHubTableDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
158350	return nil, false
158351}
158352
158353// AsGreenplumTableDataset is the BasicDataset implementation for SapOpenHubTableDataset.
158354func (sohtd SapOpenHubTableDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
158355	return nil, false
158356}
158357
158358// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for SapOpenHubTableDataset.
158359func (sohtd SapOpenHubTableDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
158360	return nil, false
158361}
158362
158363// AsEloquaObjectDataset is the BasicDataset implementation for SapOpenHubTableDataset.
158364func (sohtd SapOpenHubTableDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
158365	return nil, false
158366}
158367
158368// AsDrillTableDataset is the BasicDataset implementation for SapOpenHubTableDataset.
158369func (sohtd SapOpenHubTableDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
158370	return nil, false
158371}
158372
158373// AsCouchbaseTableDataset is the BasicDataset implementation for SapOpenHubTableDataset.
158374func (sohtd SapOpenHubTableDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
158375	return nil, false
158376}
158377
158378// AsConcurObjectDataset is the BasicDataset implementation for SapOpenHubTableDataset.
158379func (sohtd SapOpenHubTableDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
158380	return nil, false
158381}
158382
158383// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for SapOpenHubTableDataset.
158384func (sohtd SapOpenHubTableDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
158385	return nil, false
158386}
158387
158388// AsAmazonMWSObjectDataset is the BasicDataset implementation for SapOpenHubTableDataset.
158389func (sohtd SapOpenHubTableDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
158390	return nil, false
158391}
158392
158393// AsHTTPDataset is the BasicDataset implementation for SapOpenHubTableDataset.
158394func (sohtd SapOpenHubTableDataset) AsHTTPDataset() (*HTTPDataset, bool) {
158395	return nil, false
158396}
158397
158398// AsAzureSearchIndexDataset is the BasicDataset implementation for SapOpenHubTableDataset.
158399func (sohtd SapOpenHubTableDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
158400	return nil, false
158401}
158402
158403// AsWebTableDataset is the BasicDataset implementation for SapOpenHubTableDataset.
158404func (sohtd SapOpenHubTableDataset) AsWebTableDataset() (*WebTableDataset, bool) {
158405	return nil, false
158406}
158407
158408// AsSapTableResourceDataset is the BasicDataset implementation for SapOpenHubTableDataset.
158409func (sohtd SapOpenHubTableDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) {
158410	return nil, false
158411}
158412
158413// AsRestResourceDataset is the BasicDataset implementation for SapOpenHubTableDataset.
158414func (sohtd SapOpenHubTableDataset) AsRestResourceDataset() (*RestResourceDataset, bool) {
158415	return nil, false
158416}
158417
158418// AsSQLServerTableDataset is the BasicDataset implementation for SapOpenHubTableDataset.
158419func (sohtd SapOpenHubTableDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
158420	return nil, false
158421}
158422
158423// AsSapOpenHubTableDataset is the BasicDataset implementation for SapOpenHubTableDataset.
158424func (sohtd SapOpenHubTableDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) {
158425	return &sohtd, true
158426}
158427
158428// AsSapHanaTableDataset is the BasicDataset implementation for SapOpenHubTableDataset.
158429func (sohtd SapOpenHubTableDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) {
158430	return nil, false
158431}
158432
158433// AsSapEccResourceDataset is the BasicDataset implementation for SapOpenHubTableDataset.
158434func (sohtd SapOpenHubTableDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
158435	return nil, false
158436}
158437
158438// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for SapOpenHubTableDataset.
158439func (sohtd SapOpenHubTableDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
158440	return nil, false
158441}
158442
158443// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for SapOpenHubTableDataset.
158444func (sohtd SapOpenHubTableDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) {
158445	return nil, false
158446}
158447
158448// AsSalesforceObjectDataset is the BasicDataset implementation for SapOpenHubTableDataset.
158449func (sohtd SapOpenHubTableDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
158450	return nil, false
158451}
158452
158453// AsMicrosoftAccessTableDataset is the BasicDataset implementation for SapOpenHubTableDataset.
158454func (sohtd SapOpenHubTableDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) {
158455	return nil, false
158456}
158457
158458// AsPostgreSQLTableDataset is the BasicDataset implementation for SapOpenHubTableDataset.
158459func (sohtd SapOpenHubTableDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) {
158460	return nil, false
158461}
158462
158463// AsMySQLTableDataset is the BasicDataset implementation for SapOpenHubTableDataset.
158464func (sohtd SapOpenHubTableDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) {
158465	return nil, false
158466}
158467
158468// AsOdbcTableDataset is the BasicDataset implementation for SapOpenHubTableDataset.
158469func (sohtd SapOpenHubTableDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) {
158470	return nil, false
158471}
158472
158473// AsInformixTableDataset is the BasicDataset implementation for SapOpenHubTableDataset.
158474func (sohtd SapOpenHubTableDataset) AsInformixTableDataset() (*InformixTableDataset, bool) {
158475	return nil, false
158476}
158477
158478// AsRelationalTableDataset is the BasicDataset implementation for SapOpenHubTableDataset.
158479func (sohtd SapOpenHubTableDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
158480	return nil, false
158481}
158482
158483// AsAzureMySQLTableDataset is the BasicDataset implementation for SapOpenHubTableDataset.
158484func (sohtd SapOpenHubTableDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
158485	return nil, false
158486}
158487
158488// AsTeradataTableDataset is the BasicDataset implementation for SapOpenHubTableDataset.
158489func (sohtd SapOpenHubTableDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) {
158490	return nil, false
158491}
158492
158493// AsOracleTableDataset is the BasicDataset implementation for SapOpenHubTableDataset.
158494func (sohtd SapOpenHubTableDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
158495	return nil, false
158496}
158497
158498// AsODataResourceDataset is the BasicDataset implementation for SapOpenHubTableDataset.
158499func (sohtd SapOpenHubTableDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
158500	return nil, false
158501}
158502
158503// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for SapOpenHubTableDataset.
158504func (sohtd SapOpenHubTableDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) {
158505	return nil, false
158506}
158507
158508// AsMongoDbV2CollectionDataset is the BasicDataset implementation for SapOpenHubTableDataset.
158509func (sohtd SapOpenHubTableDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) {
158510	return nil, false
158511}
158512
158513// AsMongoDbCollectionDataset is the BasicDataset implementation for SapOpenHubTableDataset.
158514func (sohtd SapOpenHubTableDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
158515	return nil, false
158516}
158517
158518// AsFileShareDataset is the BasicDataset implementation for SapOpenHubTableDataset.
158519func (sohtd SapOpenHubTableDataset) AsFileShareDataset() (*FileShareDataset, bool) {
158520	return nil, false
158521}
158522
158523// AsOffice365Dataset is the BasicDataset implementation for SapOpenHubTableDataset.
158524func (sohtd SapOpenHubTableDataset) AsOffice365Dataset() (*Office365Dataset, bool) {
158525	return nil, false
158526}
158527
158528// AsAzureBlobFSDataset is the BasicDataset implementation for SapOpenHubTableDataset.
158529func (sohtd SapOpenHubTableDataset) AsAzureBlobFSDataset() (*AzureBlobFSDataset, bool) {
158530	return nil, false
158531}
158532
158533// AsAzureDataLakeStoreDataset is the BasicDataset implementation for SapOpenHubTableDataset.
158534func (sohtd SapOpenHubTableDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) {
158535	return nil, false
158536}
158537
158538// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for SapOpenHubTableDataset.
158539func (sohtd SapOpenHubTableDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) {
158540	return nil, false
158541}
158542
158543// AsDynamicsCrmEntityDataset is the BasicDataset implementation for SapOpenHubTableDataset.
158544func (sohtd SapOpenHubTableDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) {
158545	return nil, false
158546}
158547
158548// AsDynamicsEntityDataset is the BasicDataset implementation for SapOpenHubTableDataset.
158549func (sohtd SapOpenHubTableDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
158550	return nil, false
158551}
158552
158553// AsDocumentDbCollectionDataset is the BasicDataset implementation for SapOpenHubTableDataset.
158554func (sohtd SapOpenHubTableDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
158555	return nil, false
158556}
158557
158558// AsCustomDataset is the BasicDataset implementation for SapOpenHubTableDataset.
158559func (sohtd SapOpenHubTableDataset) AsCustomDataset() (*CustomDataset, bool) {
158560	return nil, false
158561}
158562
158563// AsCassandraTableDataset is the BasicDataset implementation for SapOpenHubTableDataset.
158564func (sohtd SapOpenHubTableDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
158565	return nil, false
158566}
158567
158568// AsAzureSQLDWTableDataset is the BasicDataset implementation for SapOpenHubTableDataset.
158569func (sohtd SapOpenHubTableDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
158570	return nil, false
158571}
158572
158573// AsAzureSQLMITableDataset is the BasicDataset implementation for SapOpenHubTableDataset.
158574func (sohtd SapOpenHubTableDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) {
158575	return nil, false
158576}
158577
158578// AsAzureSQLTableDataset is the BasicDataset implementation for SapOpenHubTableDataset.
158579func (sohtd SapOpenHubTableDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
158580	return nil, false
158581}
158582
158583// AsAzureTableDataset is the BasicDataset implementation for SapOpenHubTableDataset.
158584func (sohtd SapOpenHubTableDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
158585	return nil, false
158586}
158587
158588// AsAzureBlobDataset is the BasicDataset implementation for SapOpenHubTableDataset.
158589func (sohtd SapOpenHubTableDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) {
158590	return nil, false
158591}
158592
158593// AsBinaryDataset is the BasicDataset implementation for SapOpenHubTableDataset.
158594func (sohtd SapOpenHubTableDataset) AsBinaryDataset() (*BinaryDataset, bool) {
158595	return nil, false
158596}
158597
158598// AsDelimitedTextDataset is the BasicDataset implementation for SapOpenHubTableDataset.
158599func (sohtd SapOpenHubTableDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) {
158600	return nil, false
158601}
158602
158603// AsParquetDataset is the BasicDataset implementation for SapOpenHubTableDataset.
158604func (sohtd SapOpenHubTableDataset) AsParquetDataset() (*ParquetDataset, bool) {
158605	return nil, false
158606}
158607
158608// AsAmazonS3Dataset is the BasicDataset implementation for SapOpenHubTableDataset.
158609func (sohtd SapOpenHubTableDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) {
158610	return nil, false
158611}
158612
158613// AsDataset is the BasicDataset implementation for SapOpenHubTableDataset.
158614func (sohtd SapOpenHubTableDataset) AsDataset() (*Dataset, bool) {
158615	return nil, false
158616}
158617
158618// AsBasicDataset is the BasicDataset implementation for SapOpenHubTableDataset.
158619func (sohtd SapOpenHubTableDataset) AsBasicDataset() (BasicDataset, bool) {
158620	return &sohtd, true
158621}
158622
158623// UnmarshalJSON is the custom unmarshaler for SapOpenHubTableDataset struct.
158624func (sohtd *SapOpenHubTableDataset) UnmarshalJSON(body []byte) error {
158625	var m map[string]*json.RawMessage
158626	err := json.Unmarshal(body, &m)
158627	if err != nil {
158628		return err
158629	}
158630	for k, v := range m {
158631		switch k {
158632		case "typeProperties":
158633			if v != nil {
158634				var sapOpenHubTableDatasetTypeProperties SapOpenHubTableDatasetTypeProperties
158635				err = json.Unmarshal(*v, &sapOpenHubTableDatasetTypeProperties)
158636				if err != nil {
158637					return err
158638				}
158639				sohtd.SapOpenHubTableDatasetTypeProperties = &sapOpenHubTableDatasetTypeProperties
158640			}
158641		default:
158642			if v != nil {
158643				var additionalProperties interface{}
158644				err = json.Unmarshal(*v, &additionalProperties)
158645				if err != nil {
158646					return err
158647				}
158648				if sohtd.AdditionalProperties == nil {
158649					sohtd.AdditionalProperties = make(map[string]interface{})
158650				}
158651				sohtd.AdditionalProperties[k] = additionalProperties
158652			}
158653		case "description":
158654			if v != nil {
158655				var description string
158656				err = json.Unmarshal(*v, &description)
158657				if err != nil {
158658					return err
158659				}
158660				sohtd.Description = &description
158661			}
158662		case "structure":
158663			if v != nil {
158664				var structure interface{}
158665				err = json.Unmarshal(*v, &structure)
158666				if err != nil {
158667					return err
158668				}
158669				sohtd.Structure = structure
158670			}
158671		case "schema":
158672			if v != nil {
158673				var schema interface{}
158674				err = json.Unmarshal(*v, &schema)
158675				if err != nil {
158676					return err
158677				}
158678				sohtd.Schema = schema
158679			}
158680		case "linkedServiceName":
158681			if v != nil {
158682				var linkedServiceName LinkedServiceReference
158683				err = json.Unmarshal(*v, &linkedServiceName)
158684				if err != nil {
158685					return err
158686				}
158687				sohtd.LinkedServiceName = &linkedServiceName
158688			}
158689		case "parameters":
158690			if v != nil {
158691				var parameters map[string]*ParameterSpecification
158692				err = json.Unmarshal(*v, &parameters)
158693				if err != nil {
158694					return err
158695				}
158696				sohtd.Parameters = parameters
158697			}
158698		case "annotations":
158699			if v != nil {
158700				var annotations []interface{}
158701				err = json.Unmarshal(*v, &annotations)
158702				if err != nil {
158703					return err
158704				}
158705				sohtd.Annotations = &annotations
158706			}
158707		case "folder":
158708			if v != nil {
158709				var folder DatasetFolder
158710				err = json.Unmarshal(*v, &folder)
158711				if err != nil {
158712					return err
158713				}
158714				sohtd.Folder = &folder
158715			}
158716		case "type":
158717			if v != nil {
158718				var typeVar TypeBasicDataset
158719				err = json.Unmarshal(*v, &typeVar)
158720				if err != nil {
158721					return err
158722				}
158723				sohtd.Type = typeVar
158724			}
158725		}
158726	}
158727
158728	return nil
158729}
158730
158731// SapOpenHubTableDatasetTypeProperties sap Business Warehouse Open Hub Destination Table properties.
158732type SapOpenHubTableDatasetTypeProperties struct {
158733	// OpenHubDestinationName - The name of the Open Hub Destination with destination type as Database Table. Type: string (or Expression with resultType string).
158734	OpenHubDestinationName interface{} `json:"openHubDestinationName,omitempty"`
158735	// ExcludeLastRequest - Whether to exclude the records of the last request. The default value is true. Type: boolean (or Expression with resultType boolean).
158736	ExcludeLastRequest interface{} `json:"excludeLastRequest,omitempty"`
158737	// BaseRequestID - The ID of request for delta loading. Once it is set, only data with requestId larger than the value of this property will be retrieved. The default value is 0. Type: integer (or Expression with resultType integer ).
158738	BaseRequestID interface{} `json:"baseRequestId,omitempty"`
158739}
158740
158741// SapTableLinkedService SAP Table Linked Service.
158742type SapTableLinkedService struct {
158743	// SapTableLinkedServiceTypeProperties - Properties specific to this linked service type.
158744	*SapTableLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
158745	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
158746	AdditionalProperties map[string]interface{} `json:""`
158747	// ConnectVia - The integration runtime reference.
158748	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
158749	// Description - Linked service description.
158750	Description *string `json:"description,omitempty"`
158751	// Parameters - Parameters for linked service.
158752	Parameters map[string]*ParameterSpecification `json:"parameters"`
158753	// Annotations - List of tags that can be used for describing the linked service.
158754	Annotations *[]interface{} `json:"annotations,omitempty"`
158755	// Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', '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', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage'
158756	Type TypeBasicLinkedService `json:"type,omitempty"`
158757}
158758
158759// MarshalJSON is the custom marshaler for SapTableLinkedService.
158760func (stls SapTableLinkedService) MarshalJSON() ([]byte, error) {
158761	stls.Type = TypeSapTable
158762	objectMap := make(map[string]interface{})
158763	if stls.SapTableLinkedServiceTypeProperties != nil {
158764		objectMap["typeProperties"] = stls.SapTableLinkedServiceTypeProperties
158765	}
158766	if stls.ConnectVia != nil {
158767		objectMap["connectVia"] = stls.ConnectVia
158768	}
158769	if stls.Description != nil {
158770		objectMap["description"] = stls.Description
158771	}
158772	if stls.Parameters != nil {
158773		objectMap["parameters"] = stls.Parameters
158774	}
158775	if stls.Annotations != nil {
158776		objectMap["annotations"] = stls.Annotations
158777	}
158778	if stls.Type != "" {
158779		objectMap["type"] = stls.Type
158780	}
158781	for k, v := range stls.AdditionalProperties {
158782		objectMap[k] = v
158783	}
158784	return json.Marshal(objectMap)
158785}
158786
158787// AsAzureFunctionLinkedService is the BasicLinkedService implementation for SapTableLinkedService.
158788func (stls SapTableLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) {
158789	return nil, false
158790}
158791
158792// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for SapTableLinkedService.
158793func (stls SapTableLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) {
158794	return nil, false
158795}
158796
158797// AsSapTableLinkedService is the BasicLinkedService implementation for SapTableLinkedService.
158798func (stls SapTableLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) {
158799	return &stls, true
158800}
158801
158802// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for SapTableLinkedService.
158803func (stls SapTableLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) {
158804	return nil, false
158805}
158806
158807// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for SapTableLinkedService.
158808func (stls SapTableLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) {
158809	return nil, false
158810}
158811
158812// AsDynamicsAXLinkedService is the BasicLinkedService implementation for SapTableLinkedService.
158813func (stls SapTableLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) {
158814	return nil, false
158815}
158816
158817// AsResponsysLinkedService is the BasicLinkedService implementation for SapTableLinkedService.
158818func (stls SapTableLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
158819	return nil, false
158820}
158821
158822// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for SapTableLinkedService.
158823func (stls SapTableLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
158824	return nil, false
158825}
158826
158827// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for SapTableLinkedService.
158828func (stls SapTableLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
158829	return nil, false
158830}
158831
158832// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for SapTableLinkedService.
158833func (stls SapTableLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
158834	return nil, false
158835}
158836
158837// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for SapTableLinkedService.
158838func (stls SapTableLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
158839	return nil, false
158840}
158841
158842// AsNetezzaLinkedService is the BasicLinkedService implementation for SapTableLinkedService.
158843func (stls SapTableLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
158844	return nil, false
158845}
158846
158847// AsVerticaLinkedService is the BasicLinkedService implementation for SapTableLinkedService.
158848func (stls SapTableLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
158849	return nil, false
158850}
158851
158852// AsZohoLinkedService is the BasicLinkedService implementation for SapTableLinkedService.
158853func (stls SapTableLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
158854	return nil, false
158855}
158856
158857// AsXeroLinkedService is the BasicLinkedService implementation for SapTableLinkedService.
158858func (stls SapTableLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
158859	return nil, false
158860}
158861
158862// AsSquareLinkedService is the BasicLinkedService implementation for SapTableLinkedService.
158863func (stls SapTableLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
158864	return nil, false
158865}
158866
158867// AsSparkLinkedService is the BasicLinkedService implementation for SapTableLinkedService.
158868func (stls SapTableLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
158869	return nil, false
158870}
158871
158872// AsShopifyLinkedService is the BasicLinkedService implementation for SapTableLinkedService.
158873func (stls SapTableLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
158874	return nil, false
158875}
158876
158877// AsServiceNowLinkedService is the BasicLinkedService implementation for SapTableLinkedService.
158878func (stls SapTableLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
158879	return nil, false
158880}
158881
158882// AsQuickBooksLinkedService is the BasicLinkedService implementation for SapTableLinkedService.
158883func (stls SapTableLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
158884	return nil, false
158885}
158886
158887// AsPrestoLinkedService is the BasicLinkedService implementation for SapTableLinkedService.
158888func (stls SapTableLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
158889	return nil, false
158890}
158891
158892// AsPhoenixLinkedService is the BasicLinkedService implementation for SapTableLinkedService.
158893func (stls SapTableLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
158894	return nil, false
158895}
158896
158897// AsPaypalLinkedService is the BasicLinkedService implementation for SapTableLinkedService.
158898func (stls SapTableLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
158899	return nil, false
158900}
158901
158902// AsMarketoLinkedService is the BasicLinkedService implementation for SapTableLinkedService.
158903func (stls SapTableLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
158904	return nil, false
158905}
158906
158907// AsMariaDBLinkedService is the BasicLinkedService implementation for SapTableLinkedService.
158908func (stls SapTableLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
158909	return nil, false
158910}
158911
158912// AsMagentoLinkedService is the BasicLinkedService implementation for SapTableLinkedService.
158913func (stls SapTableLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
158914	return nil, false
158915}
158916
158917// AsJiraLinkedService is the BasicLinkedService implementation for SapTableLinkedService.
158918func (stls SapTableLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
158919	return nil, false
158920}
158921
158922// AsImpalaLinkedService is the BasicLinkedService implementation for SapTableLinkedService.
158923func (stls SapTableLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
158924	return nil, false
158925}
158926
158927// AsHubspotLinkedService is the BasicLinkedService implementation for SapTableLinkedService.
158928func (stls SapTableLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
158929	return nil, false
158930}
158931
158932// AsHiveLinkedService is the BasicLinkedService implementation for SapTableLinkedService.
158933func (stls SapTableLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
158934	return nil, false
158935}
158936
158937// AsHBaseLinkedService is the BasicLinkedService implementation for SapTableLinkedService.
158938func (stls SapTableLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
158939	return nil, false
158940}
158941
158942// AsGreenplumLinkedService is the BasicLinkedService implementation for SapTableLinkedService.
158943func (stls SapTableLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
158944	return nil, false
158945}
158946
158947// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for SapTableLinkedService.
158948func (stls SapTableLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
158949	return nil, false
158950}
158951
158952// AsEloquaLinkedService is the BasicLinkedService implementation for SapTableLinkedService.
158953func (stls SapTableLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
158954	return nil, false
158955}
158956
158957// AsDrillLinkedService is the BasicLinkedService implementation for SapTableLinkedService.
158958func (stls SapTableLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
158959	return nil, false
158960}
158961
158962// AsCouchbaseLinkedService is the BasicLinkedService implementation for SapTableLinkedService.
158963func (stls SapTableLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
158964	return nil, false
158965}
158966
158967// AsConcurLinkedService is the BasicLinkedService implementation for SapTableLinkedService.
158968func (stls SapTableLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
158969	return nil, false
158970}
158971
158972// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for SapTableLinkedService.
158973func (stls SapTableLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
158974	return nil, false
158975}
158976
158977// AsAmazonMWSLinkedService is the BasicLinkedService implementation for SapTableLinkedService.
158978func (stls SapTableLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
158979	return nil, false
158980}
158981
158982// AsSapHanaLinkedService is the BasicLinkedService implementation for SapTableLinkedService.
158983func (stls SapTableLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
158984	return nil, false
158985}
158986
158987// AsSapBWLinkedService is the BasicLinkedService implementation for SapTableLinkedService.
158988func (stls SapTableLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
158989	return nil, false
158990}
158991
158992// AsSftpServerLinkedService is the BasicLinkedService implementation for SapTableLinkedService.
158993func (stls SapTableLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
158994	return nil, false
158995}
158996
158997// AsFtpServerLinkedService is the BasicLinkedService implementation for SapTableLinkedService.
158998func (stls SapTableLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
158999	return nil, false
159000}
159001
159002// AsHTTPLinkedService is the BasicLinkedService implementation for SapTableLinkedService.
159003func (stls SapTableLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
159004	return nil, false
159005}
159006
159007// AsAzureSearchLinkedService is the BasicLinkedService implementation for SapTableLinkedService.
159008func (stls SapTableLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
159009	return nil, false
159010}
159011
159012// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for SapTableLinkedService.
159013func (stls SapTableLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
159014	return nil, false
159015}
159016
159017// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for SapTableLinkedService.
159018func (stls SapTableLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
159019	return nil, false
159020}
159021
159022// AsAmazonS3LinkedService is the BasicLinkedService implementation for SapTableLinkedService.
159023func (stls SapTableLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
159024	return nil, false
159025}
159026
159027// AsRestServiceLinkedService is the BasicLinkedService implementation for SapTableLinkedService.
159028func (stls SapTableLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) {
159029	return nil, false
159030}
159031
159032// AsSapOpenHubLinkedService is the BasicLinkedService implementation for SapTableLinkedService.
159033func (stls SapTableLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) {
159034	return nil, false
159035}
159036
159037// AsSapEccLinkedService is the BasicLinkedService implementation for SapTableLinkedService.
159038func (stls SapTableLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
159039	return nil, false
159040}
159041
159042// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for SapTableLinkedService.
159043func (stls SapTableLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
159044	return nil, false
159045}
159046
159047// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for SapTableLinkedService.
159048func (stls SapTableLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) {
159049	return nil, false
159050}
159051
159052// AsSalesforceLinkedService is the BasicLinkedService implementation for SapTableLinkedService.
159053func (stls SapTableLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
159054	return nil, false
159055}
159056
159057// AsOffice365LinkedService is the BasicLinkedService implementation for SapTableLinkedService.
159058func (stls SapTableLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) {
159059	return nil, false
159060}
159061
159062// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for SapTableLinkedService.
159063func (stls SapTableLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) {
159064	return nil, false
159065}
159066
159067// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for SapTableLinkedService.
159068func (stls SapTableLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
159069	return nil, false
159070}
159071
159072// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for SapTableLinkedService.
159073func (stls SapTableLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) {
159074	return nil, false
159075}
159076
159077// AsMongoDbV2LinkedService is the BasicLinkedService implementation for SapTableLinkedService.
159078func (stls SapTableLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) {
159079	return nil, false
159080}
159081
159082// AsMongoDbLinkedService is the BasicLinkedService implementation for SapTableLinkedService.
159083func (stls SapTableLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
159084	return nil, false
159085}
159086
159087// AsCassandraLinkedService is the BasicLinkedService implementation for SapTableLinkedService.
159088func (stls SapTableLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
159089	return nil, false
159090}
159091
159092// AsWebLinkedService is the BasicLinkedService implementation for SapTableLinkedService.
159093func (stls SapTableLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
159094	return nil, false
159095}
159096
159097// AsODataLinkedService is the BasicLinkedService implementation for SapTableLinkedService.
159098func (stls SapTableLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
159099	return nil, false
159100}
159101
159102// AsHdfsLinkedService is the BasicLinkedService implementation for SapTableLinkedService.
159103func (stls SapTableLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
159104	return nil, false
159105}
159106
159107// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for SapTableLinkedService.
159108func (stls SapTableLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) {
159109	return nil, false
159110}
159111
159112// AsInformixLinkedService is the BasicLinkedService implementation for SapTableLinkedService.
159113func (stls SapTableLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) {
159114	return nil, false
159115}
159116
159117// AsOdbcLinkedService is the BasicLinkedService implementation for SapTableLinkedService.
159118func (stls SapTableLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
159119	return nil, false
159120}
159121
159122// AsAzureMLLinkedService is the BasicLinkedService implementation for SapTableLinkedService.
159123func (stls SapTableLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
159124	return nil, false
159125}
159126
159127// AsTeradataLinkedService is the BasicLinkedService implementation for SapTableLinkedService.
159128func (stls SapTableLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
159129	return nil, false
159130}
159131
159132// AsDb2LinkedService is the BasicLinkedService implementation for SapTableLinkedService.
159133func (stls SapTableLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
159134	return nil, false
159135}
159136
159137// AsSybaseLinkedService is the BasicLinkedService implementation for SapTableLinkedService.
159138func (stls SapTableLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
159139	return nil, false
159140}
159141
159142// AsPostgreSQLLinkedService is the BasicLinkedService implementation for SapTableLinkedService.
159143func (stls SapTableLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
159144	return nil, false
159145}
159146
159147// AsMySQLLinkedService is the BasicLinkedService implementation for SapTableLinkedService.
159148func (stls SapTableLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
159149	return nil, false
159150}
159151
159152// AsAzureMySQLLinkedService is the BasicLinkedService implementation for SapTableLinkedService.
159153func (stls SapTableLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
159154	return nil, false
159155}
159156
159157// AsOracleLinkedService is the BasicLinkedService implementation for SapTableLinkedService.
159158func (stls SapTableLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
159159	return nil, false
159160}
159161
159162// AsFileServerLinkedService is the BasicLinkedService implementation for SapTableLinkedService.
159163func (stls SapTableLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
159164	return nil, false
159165}
159166
159167// AsHDInsightLinkedService is the BasicLinkedService implementation for SapTableLinkedService.
159168func (stls SapTableLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
159169	return nil, false
159170}
159171
159172// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for SapTableLinkedService.
159173func (stls SapTableLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) {
159174	return nil, false
159175}
159176
159177// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for SapTableLinkedService.
159178func (stls SapTableLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) {
159179	return nil, false
159180}
159181
159182// AsDynamicsLinkedService is the BasicLinkedService implementation for SapTableLinkedService.
159183func (stls SapTableLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
159184	return nil, false
159185}
159186
159187// AsCosmosDbLinkedService is the BasicLinkedService implementation for SapTableLinkedService.
159188func (stls SapTableLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
159189	return nil, false
159190}
159191
159192// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for SapTableLinkedService.
159193func (stls SapTableLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
159194	return nil, false
159195}
159196
159197// AsAzureBatchLinkedService is the BasicLinkedService implementation for SapTableLinkedService.
159198func (stls SapTableLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
159199	return nil, false
159200}
159201
159202// AsAzureSQLMILinkedService is the BasicLinkedService implementation for SapTableLinkedService.
159203func (stls SapTableLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) {
159204	return nil, false
159205}
159206
159207// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for SapTableLinkedService.
159208func (stls SapTableLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
159209	return nil, false
159210}
159211
159212// AsSQLServerLinkedService is the BasicLinkedService implementation for SapTableLinkedService.
159213func (stls SapTableLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
159214	return nil, false
159215}
159216
159217// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for SapTableLinkedService.
159218func (stls SapTableLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
159219	return nil, false
159220}
159221
159222// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for SapTableLinkedService.
159223func (stls SapTableLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) {
159224	return nil, false
159225}
159226
159227// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for SapTableLinkedService.
159228func (stls SapTableLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) {
159229	return nil, false
159230}
159231
159232// AsAzureStorageLinkedService is the BasicLinkedService implementation for SapTableLinkedService.
159233func (stls SapTableLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
159234	return nil, false
159235}
159236
159237// AsLinkedService is the BasicLinkedService implementation for SapTableLinkedService.
159238func (stls SapTableLinkedService) AsLinkedService() (*LinkedService, bool) {
159239	return nil, false
159240}
159241
159242// AsBasicLinkedService is the BasicLinkedService implementation for SapTableLinkedService.
159243func (stls SapTableLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
159244	return &stls, true
159245}
159246
159247// UnmarshalJSON is the custom unmarshaler for SapTableLinkedService struct.
159248func (stls *SapTableLinkedService) UnmarshalJSON(body []byte) error {
159249	var m map[string]*json.RawMessage
159250	err := json.Unmarshal(body, &m)
159251	if err != nil {
159252		return err
159253	}
159254	for k, v := range m {
159255		switch k {
159256		case "typeProperties":
159257			if v != nil {
159258				var sapTableLinkedServiceTypeProperties SapTableLinkedServiceTypeProperties
159259				err = json.Unmarshal(*v, &sapTableLinkedServiceTypeProperties)
159260				if err != nil {
159261					return err
159262				}
159263				stls.SapTableLinkedServiceTypeProperties = &sapTableLinkedServiceTypeProperties
159264			}
159265		default:
159266			if v != nil {
159267				var additionalProperties interface{}
159268				err = json.Unmarshal(*v, &additionalProperties)
159269				if err != nil {
159270					return err
159271				}
159272				if stls.AdditionalProperties == nil {
159273					stls.AdditionalProperties = make(map[string]interface{})
159274				}
159275				stls.AdditionalProperties[k] = additionalProperties
159276			}
159277		case "connectVia":
159278			if v != nil {
159279				var connectVia IntegrationRuntimeReference
159280				err = json.Unmarshal(*v, &connectVia)
159281				if err != nil {
159282					return err
159283				}
159284				stls.ConnectVia = &connectVia
159285			}
159286		case "description":
159287			if v != nil {
159288				var description string
159289				err = json.Unmarshal(*v, &description)
159290				if err != nil {
159291					return err
159292				}
159293				stls.Description = &description
159294			}
159295		case "parameters":
159296			if v != nil {
159297				var parameters map[string]*ParameterSpecification
159298				err = json.Unmarshal(*v, &parameters)
159299				if err != nil {
159300					return err
159301				}
159302				stls.Parameters = parameters
159303			}
159304		case "annotations":
159305			if v != nil {
159306				var annotations []interface{}
159307				err = json.Unmarshal(*v, &annotations)
159308				if err != nil {
159309					return err
159310				}
159311				stls.Annotations = &annotations
159312			}
159313		case "type":
159314			if v != nil {
159315				var typeVar TypeBasicLinkedService
159316				err = json.Unmarshal(*v, &typeVar)
159317				if err != nil {
159318					return err
159319				}
159320				stls.Type = typeVar
159321			}
159322		}
159323	}
159324
159325	return nil
159326}
159327
159328// SapTableLinkedServiceTypeProperties properties specific to this linked service type.
159329type SapTableLinkedServiceTypeProperties struct {
159330	// Server - Host name of the SAP instance where the table is located. Type: string (or Expression with resultType string).
159331	Server interface{} `json:"server,omitempty"`
159332	// SystemNumber - System number of the SAP system where the table is located. (Usually a two-digit decimal number represented as a string.) Type: string (or Expression with resultType string).
159333	SystemNumber interface{} `json:"systemNumber,omitempty"`
159334	// ClientID - Client ID of the client on the SAP system where the table is located. (Usually a three-digit decimal number represented as a string) Type: string (or Expression with resultType string).
159335	ClientID interface{} `json:"clientId,omitempty"`
159336	// Language - Language of the SAP system where the table is located. The default value is EN. Type: string (or Expression with resultType string).
159337	Language interface{} `json:"language,omitempty"`
159338	// SystemID - SystemID of the SAP system where the table is located. Type: string (or Expression with resultType string).
159339	SystemID interface{} `json:"systemId,omitempty"`
159340	// UserName - Username to access the SAP server where the table is located. Type: string (or Expression with resultType string).
159341	UserName interface{} `json:"userName,omitempty"`
159342	// Password - Password to access the SAP server where the table is located.
159343	Password BasicSecretBase `json:"password,omitempty"`
159344	// MessageServer - The hostname of the SAP Message Server. Type: string (or Expression with resultType string).
159345	MessageServer interface{} `json:"messageServer,omitempty"`
159346	// MessageServerService - The service name or port number of the Message Server. Type: string (or Expression with resultType string).
159347	MessageServerService interface{} `json:"messageServerService,omitempty"`
159348	// SncMode - SNC activation indicator to access the SAP server where the table is located. Must be either 0 (off) or 1 (on). Type: string (or Expression with resultType string).
159349	SncMode interface{} `json:"sncMode,omitempty"`
159350	// SncMyName - Initiator's SNC name to access the SAP server where the table is located. Type: string (or Expression with resultType string).
159351	SncMyName interface{} `json:"sncMyName,omitempty"`
159352	// SncPartnerName - Communication partner's SNC name to access the SAP server where the table is located. Type: string (or Expression with resultType string).
159353	SncPartnerName interface{} `json:"sncPartnerName,omitempty"`
159354	// SncLibraryPath - External security product's library to access the SAP server where the table is located. Type: string (or Expression with resultType string).
159355	SncLibraryPath interface{} `json:"sncLibraryPath,omitempty"`
159356	// SncQop - SNC Quality of Protection. Allowed value include: 1, 2, 3, 8, 9. Type: string (or Expression with resultType string).
159357	SncQop interface{} `json:"sncQop,omitempty"`
159358	// LogonGroup - The Logon Group for the SAP System. Type: string (or Expression with resultType string).
159359	LogonGroup interface{} `json:"logonGroup,omitempty"`
159360	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
159361	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
159362}
159363
159364// UnmarshalJSON is the custom unmarshaler for SapTableLinkedServiceTypeProperties struct.
159365func (stlstp *SapTableLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
159366	var m map[string]*json.RawMessage
159367	err := json.Unmarshal(body, &m)
159368	if err != nil {
159369		return err
159370	}
159371	for k, v := range m {
159372		switch k {
159373		case "server":
159374			if v != nil {
159375				var server interface{}
159376				err = json.Unmarshal(*v, &server)
159377				if err != nil {
159378					return err
159379				}
159380				stlstp.Server = server
159381			}
159382		case "systemNumber":
159383			if v != nil {
159384				var systemNumber interface{}
159385				err = json.Unmarshal(*v, &systemNumber)
159386				if err != nil {
159387					return err
159388				}
159389				stlstp.SystemNumber = systemNumber
159390			}
159391		case "clientId":
159392			if v != nil {
159393				var clientID interface{}
159394				err = json.Unmarshal(*v, &clientID)
159395				if err != nil {
159396					return err
159397				}
159398				stlstp.ClientID = clientID
159399			}
159400		case "language":
159401			if v != nil {
159402				var language interface{}
159403				err = json.Unmarshal(*v, &language)
159404				if err != nil {
159405					return err
159406				}
159407				stlstp.Language = language
159408			}
159409		case "systemId":
159410			if v != nil {
159411				var systemID interface{}
159412				err = json.Unmarshal(*v, &systemID)
159413				if err != nil {
159414					return err
159415				}
159416				stlstp.SystemID = systemID
159417			}
159418		case "userName":
159419			if v != nil {
159420				var userName interface{}
159421				err = json.Unmarshal(*v, &userName)
159422				if err != nil {
159423					return err
159424				}
159425				stlstp.UserName = userName
159426			}
159427		case "password":
159428			if v != nil {
159429				password, err := unmarshalBasicSecretBase(*v)
159430				if err != nil {
159431					return err
159432				}
159433				stlstp.Password = password
159434			}
159435		case "messageServer":
159436			if v != nil {
159437				var messageServer interface{}
159438				err = json.Unmarshal(*v, &messageServer)
159439				if err != nil {
159440					return err
159441				}
159442				stlstp.MessageServer = messageServer
159443			}
159444		case "messageServerService":
159445			if v != nil {
159446				var messageServerService interface{}
159447				err = json.Unmarshal(*v, &messageServerService)
159448				if err != nil {
159449					return err
159450				}
159451				stlstp.MessageServerService = messageServerService
159452			}
159453		case "sncMode":
159454			if v != nil {
159455				var sncMode interface{}
159456				err = json.Unmarshal(*v, &sncMode)
159457				if err != nil {
159458					return err
159459				}
159460				stlstp.SncMode = sncMode
159461			}
159462		case "sncMyName":
159463			if v != nil {
159464				var sncMyName interface{}
159465				err = json.Unmarshal(*v, &sncMyName)
159466				if err != nil {
159467					return err
159468				}
159469				stlstp.SncMyName = sncMyName
159470			}
159471		case "sncPartnerName":
159472			if v != nil {
159473				var sncPartnerName interface{}
159474				err = json.Unmarshal(*v, &sncPartnerName)
159475				if err != nil {
159476					return err
159477				}
159478				stlstp.SncPartnerName = sncPartnerName
159479			}
159480		case "sncLibraryPath":
159481			if v != nil {
159482				var sncLibraryPath interface{}
159483				err = json.Unmarshal(*v, &sncLibraryPath)
159484				if err != nil {
159485					return err
159486				}
159487				stlstp.SncLibraryPath = sncLibraryPath
159488			}
159489		case "sncQop":
159490			if v != nil {
159491				var sncQop interface{}
159492				err = json.Unmarshal(*v, &sncQop)
159493				if err != nil {
159494					return err
159495				}
159496				stlstp.SncQop = sncQop
159497			}
159498		case "logonGroup":
159499			if v != nil {
159500				var logonGroup interface{}
159501				err = json.Unmarshal(*v, &logonGroup)
159502				if err != nil {
159503					return err
159504				}
159505				stlstp.LogonGroup = logonGroup
159506			}
159507		case "encryptedCredential":
159508			if v != nil {
159509				var encryptedCredential interface{}
159510				err = json.Unmarshal(*v, &encryptedCredential)
159511				if err != nil {
159512					return err
159513				}
159514				stlstp.EncryptedCredential = encryptedCredential
159515			}
159516		}
159517	}
159518
159519	return nil
159520}
159521
159522// SapTablePartitionSettings the settings that will be leveraged for SAP table source partitioning.
159523type SapTablePartitionSettings struct {
159524	// PartitionColumnName - The name of the column that will be used for proceeding range partitioning. Type: string (or Expression with resultType string).
159525	PartitionColumnName interface{} `json:"partitionColumnName,omitempty"`
159526	// PartitionUpperBound - The maximum value of column specified in partitionColumnName that will be used for proceeding range partitioning. Type: string (or Expression with resultType string).
159527	PartitionUpperBound interface{} `json:"partitionUpperBound,omitempty"`
159528	// PartitionLowerBound - The minimum value of column specified in partitionColumnName that will be used for proceeding range partitioning. Type: string (or Expression with resultType string).
159529	PartitionLowerBound interface{} `json:"partitionLowerBound,omitempty"`
159530	// MaxPartitionsNumber - The maximum value of partitions the table will be split into. Type: integer (or Expression with resultType string).
159531	MaxPartitionsNumber interface{} `json:"maxPartitionsNumber,omitempty"`
159532}
159533
159534// SapTableResourceDataset SAP Table Resource properties.
159535type SapTableResourceDataset struct {
159536	// SapTableResourceDatasetTypeProperties - SAP Table Resource properties.
159537	*SapTableResourceDatasetTypeProperties `json:"typeProperties,omitempty"`
159538	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
159539	AdditionalProperties map[string]interface{} `json:""`
159540	// Description - Dataset description.
159541	Description *string `json:"description,omitempty"`
159542	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
159543	Structure interface{} `json:"structure,omitempty"`
159544	// Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement.
159545	Schema interface{} `json:"schema,omitempty"`
159546	// LinkedServiceName - Linked service reference.
159547	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
159548	// Parameters - Parameters for dataset.
159549	Parameters map[string]*ParameterSpecification `json:"parameters"`
159550	// Annotations - List of tags that can be used for describing the Dataset.
159551	Annotations *[]interface{} `json:"annotations,omitempty"`
159552	// Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level.
159553	Folder *DatasetFolder `json:"folder,omitempty"`
159554	// Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', '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', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeDelimitedText', 'TypeParquet', 'TypeAmazonS3Object'
159555	Type TypeBasicDataset `json:"type,omitempty"`
159556}
159557
159558// MarshalJSON is the custom marshaler for SapTableResourceDataset.
159559func (strd SapTableResourceDataset) MarshalJSON() ([]byte, error) {
159560	strd.Type = TypeSapTableResource
159561	objectMap := make(map[string]interface{})
159562	if strd.SapTableResourceDatasetTypeProperties != nil {
159563		objectMap["typeProperties"] = strd.SapTableResourceDatasetTypeProperties
159564	}
159565	if strd.Description != nil {
159566		objectMap["description"] = strd.Description
159567	}
159568	if strd.Structure != nil {
159569		objectMap["structure"] = strd.Structure
159570	}
159571	if strd.Schema != nil {
159572		objectMap["schema"] = strd.Schema
159573	}
159574	if strd.LinkedServiceName != nil {
159575		objectMap["linkedServiceName"] = strd.LinkedServiceName
159576	}
159577	if strd.Parameters != nil {
159578		objectMap["parameters"] = strd.Parameters
159579	}
159580	if strd.Annotations != nil {
159581		objectMap["annotations"] = strd.Annotations
159582	}
159583	if strd.Folder != nil {
159584		objectMap["folder"] = strd.Folder
159585	}
159586	if strd.Type != "" {
159587		objectMap["type"] = strd.Type
159588	}
159589	for k, v := range strd.AdditionalProperties {
159590		objectMap[k] = v
159591	}
159592	return json.Marshal(objectMap)
159593}
159594
159595// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for SapTableResourceDataset.
159596func (strd SapTableResourceDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) {
159597	return nil, false
159598}
159599
159600// AsAzureDataExplorerTableDataset is the BasicDataset implementation for SapTableResourceDataset.
159601func (strd SapTableResourceDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) {
159602	return nil, false
159603}
159604
159605// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for SapTableResourceDataset.
159606func (strd SapTableResourceDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) {
159607	return nil, false
159608}
159609
159610// AsDynamicsAXResourceDataset is the BasicDataset implementation for SapTableResourceDataset.
159611func (strd SapTableResourceDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) {
159612	return nil, false
159613}
159614
159615// AsResponsysObjectDataset is the BasicDataset implementation for SapTableResourceDataset.
159616func (strd SapTableResourceDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
159617	return nil, false
159618}
159619
159620// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for SapTableResourceDataset.
159621func (strd SapTableResourceDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
159622	return nil, false
159623}
159624
159625// AsVerticaTableDataset is the BasicDataset implementation for SapTableResourceDataset.
159626func (strd SapTableResourceDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
159627	return nil, false
159628}
159629
159630// AsNetezzaTableDataset is the BasicDataset implementation for SapTableResourceDataset.
159631func (strd SapTableResourceDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
159632	return nil, false
159633}
159634
159635// AsZohoObjectDataset is the BasicDataset implementation for SapTableResourceDataset.
159636func (strd SapTableResourceDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
159637	return nil, false
159638}
159639
159640// AsXeroObjectDataset is the BasicDataset implementation for SapTableResourceDataset.
159641func (strd SapTableResourceDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
159642	return nil, false
159643}
159644
159645// AsSquareObjectDataset is the BasicDataset implementation for SapTableResourceDataset.
159646func (strd SapTableResourceDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
159647	return nil, false
159648}
159649
159650// AsSparkObjectDataset is the BasicDataset implementation for SapTableResourceDataset.
159651func (strd SapTableResourceDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
159652	return nil, false
159653}
159654
159655// AsShopifyObjectDataset is the BasicDataset implementation for SapTableResourceDataset.
159656func (strd SapTableResourceDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
159657	return nil, false
159658}
159659
159660// AsServiceNowObjectDataset is the BasicDataset implementation for SapTableResourceDataset.
159661func (strd SapTableResourceDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
159662	return nil, false
159663}
159664
159665// AsQuickBooksObjectDataset is the BasicDataset implementation for SapTableResourceDataset.
159666func (strd SapTableResourceDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
159667	return nil, false
159668}
159669
159670// AsPrestoObjectDataset is the BasicDataset implementation for SapTableResourceDataset.
159671func (strd SapTableResourceDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
159672	return nil, false
159673}
159674
159675// AsPhoenixObjectDataset is the BasicDataset implementation for SapTableResourceDataset.
159676func (strd SapTableResourceDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
159677	return nil, false
159678}
159679
159680// AsPaypalObjectDataset is the BasicDataset implementation for SapTableResourceDataset.
159681func (strd SapTableResourceDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
159682	return nil, false
159683}
159684
159685// AsMarketoObjectDataset is the BasicDataset implementation for SapTableResourceDataset.
159686func (strd SapTableResourceDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
159687	return nil, false
159688}
159689
159690// AsMariaDBTableDataset is the BasicDataset implementation for SapTableResourceDataset.
159691func (strd SapTableResourceDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
159692	return nil, false
159693}
159694
159695// AsMagentoObjectDataset is the BasicDataset implementation for SapTableResourceDataset.
159696func (strd SapTableResourceDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
159697	return nil, false
159698}
159699
159700// AsJiraObjectDataset is the BasicDataset implementation for SapTableResourceDataset.
159701func (strd SapTableResourceDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
159702	return nil, false
159703}
159704
159705// AsImpalaObjectDataset is the BasicDataset implementation for SapTableResourceDataset.
159706func (strd SapTableResourceDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
159707	return nil, false
159708}
159709
159710// AsHubspotObjectDataset is the BasicDataset implementation for SapTableResourceDataset.
159711func (strd SapTableResourceDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
159712	return nil, false
159713}
159714
159715// AsHiveObjectDataset is the BasicDataset implementation for SapTableResourceDataset.
159716func (strd SapTableResourceDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
159717	return nil, false
159718}
159719
159720// AsHBaseObjectDataset is the BasicDataset implementation for SapTableResourceDataset.
159721func (strd SapTableResourceDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
159722	return nil, false
159723}
159724
159725// AsGreenplumTableDataset is the BasicDataset implementation for SapTableResourceDataset.
159726func (strd SapTableResourceDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
159727	return nil, false
159728}
159729
159730// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for SapTableResourceDataset.
159731func (strd SapTableResourceDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
159732	return nil, false
159733}
159734
159735// AsEloquaObjectDataset is the BasicDataset implementation for SapTableResourceDataset.
159736func (strd SapTableResourceDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
159737	return nil, false
159738}
159739
159740// AsDrillTableDataset is the BasicDataset implementation for SapTableResourceDataset.
159741func (strd SapTableResourceDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
159742	return nil, false
159743}
159744
159745// AsCouchbaseTableDataset is the BasicDataset implementation for SapTableResourceDataset.
159746func (strd SapTableResourceDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
159747	return nil, false
159748}
159749
159750// AsConcurObjectDataset is the BasicDataset implementation for SapTableResourceDataset.
159751func (strd SapTableResourceDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
159752	return nil, false
159753}
159754
159755// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for SapTableResourceDataset.
159756func (strd SapTableResourceDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
159757	return nil, false
159758}
159759
159760// AsAmazonMWSObjectDataset is the BasicDataset implementation for SapTableResourceDataset.
159761func (strd SapTableResourceDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
159762	return nil, false
159763}
159764
159765// AsHTTPDataset is the BasicDataset implementation for SapTableResourceDataset.
159766func (strd SapTableResourceDataset) AsHTTPDataset() (*HTTPDataset, bool) {
159767	return nil, false
159768}
159769
159770// AsAzureSearchIndexDataset is the BasicDataset implementation for SapTableResourceDataset.
159771func (strd SapTableResourceDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
159772	return nil, false
159773}
159774
159775// AsWebTableDataset is the BasicDataset implementation for SapTableResourceDataset.
159776func (strd SapTableResourceDataset) AsWebTableDataset() (*WebTableDataset, bool) {
159777	return nil, false
159778}
159779
159780// AsSapTableResourceDataset is the BasicDataset implementation for SapTableResourceDataset.
159781func (strd SapTableResourceDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) {
159782	return &strd, true
159783}
159784
159785// AsRestResourceDataset is the BasicDataset implementation for SapTableResourceDataset.
159786func (strd SapTableResourceDataset) AsRestResourceDataset() (*RestResourceDataset, bool) {
159787	return nil, false
159788}
159789
159790// AsSQLServerTableDataset is the BasicDataset implementation for SapTableResourceDataset.
159791func (strd SapTableResourceDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
159792	return nil, false
159793}
159794
159795// AsSapOpenHubTableDataset is the BasicDataset implementation for SapTableResourceDataset.
159796func (strd SapTableResourceDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) {
159797	return nil, false
159798}
159799
159800// AsSapHanaTableDataset is the BasicDataset implementation for SapTableResourceDataset.
159801func (strd SapTableResourceDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) {
159802	return nil, false
159803}
159804
159805// AsSapEccResourceDataset is the BasicDataset implementation for SapTableResourceDataset.
159806func (strd SapTableResourceDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
159807	return nil, false
159808}
159809
159810// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for SapTableResourceDataset.
159811func (strd SapTableResourceDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
159812	return nil, false
159813}
159814
159815// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for SapTableResourceDataset.
159816func (strd SapTableResourceDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) {
159817	return nil, false
159818}
159819
159820// AsSalesforceObjectDataset is the BasicDataset implementation for SapTableResourceDataset.
159821func (strd SapTableResourceDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
159822	return nil, false
159823}
159824
159825// AsMicrosoftAccessTableDataset is the BasicDataset implementation for SapTableResourceDataset.
159826func (strd SapTableResourceDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) {
159827	return nil, false
159828}
159829
159830// AsPostgreSQLTableDataset is the BasicDataset implementation for SapTableResourceDataset.
159831func (strd SapTableResourceDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) {
159832	return nil, false
159833}
159834
159835// AsMySQLTableDataset is the BasicDataset implementation for SapTableResourceDataset.
159836func (strd SapTableResourceDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) {
159837	return nil, false
159838}
159839
159840// AsOdbcTableDataset is the BasicDataset implementation for SapTableResourceDataset.
159841func (strd SapTableResourceDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) {
159842	return nil, false
159843}
159844
159845// AsInformixTableDataset is the BasicDataset implementation for SapTableResourceDataset.
159846func (strd SapTableResourceDataset) AsInformixTableDataset() (*InformixTableDataset, bool) {
159847	return nil, false
159848}
159849
159850// AsRelationalTableDataset is the BasicDataset implementation for SapTableResourceDataset.
159851func (strd SapTableResourceDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
159852	return nil, false
159853}
159854
159855// AsAzureMySQLTableDataset is the BasicDataset implementation for SapTableResourceDataset.
159856func (strd SapTableResourceDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
159857	return nil, false
159858}
159859
159860// AsTeradataTableDataset is the BasicDataset implementation for SapTableResourceDataset.
159861func (strd SapTableResourceDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) {
159862	return nil, false
159863}
159864
159865// AsOracleTableDataset is the BasicDataset implementation for SapTableResourceDataset.
159866func (strd SapTableResourceDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
159867	return nil, false
159868}
159869
159870// AsODataResourceDataset is the BasicDataset implementation for SapTableResourceDataset.
159871func (strd SapTableResourceDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
159872	return nil, false
159873}
159874
159875// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for SapTableResourceDataset.
159876func (strd SapTableResourceDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) {
159877	return nil, false
159878}
159879
159880// AsMongoDbV2CollectionDataset is the BasicDataset implementation for SapTableResourceDataset.
159881func (strd SapTableResourceDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) {
159882	return nil, false
159883}
159884
159885// AsMongoDbCollectionDataset is the BasicDataset implementation for SapTableResourceDataset.
159886func (strd SapTableResourceDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
159887	return nil, false
159888}
159889
159890// AsFileShareDataset is the BasicDataset implementation for SapTableResourceDataset.
159891func (strd SapTableResourceDataset) AsFileShareDataset() (*FileShareDataset, bool) {
159892	return nil, false
159893}
159894
159895// AsOffice365Dataset is the BasicDataset implementation for SapTableResourceDataset.
159896func (strd SapTableResourceDataset) AsOffice365Dataset() (*Office365Dataset, bool) {
159897	return nil, false
159898}
159899
159900// AsAzureBlobFSDataset is the BasicDataset implementation for SapTableResourceDataset.
159901func (strd SapTableResourceDataset) AsAzureBlobFSDataset() (*AzureBlobFSDataset, bool) {
159902	return nil, false
159903}
159904
159905// AsAzureDataLakeStoreDataset is the BasicDataset implementation for SapTableResourceDataset.
159906func (strd SapTableResourceDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) {
159907	return nil, false
159908}
159909
159910// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for SapTableResourceDataset.
159911func (strd SapTableResourceDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) {
159912	return nil, false
159913}
159914
159915// AsDynamicsCrmEntityDataset is the BasicDataset implementation for SapTableResourceDataset.
159916func (strd SapTableResourceDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) {
159917	return nil, false
159918}
159919
159920// AsDynamicsEntityDataset is the BasicDataset implementation for SapTableResourceDataset.
159921func (strd SapTableResourceDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
159922	return nil, false
159923}
159924
159925// AsDocumentDbCollectionDataset is the BasicDataset implementation for SapTableResourceDataset.
159926func (strd SapTableResourceDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
159927	return nil, false
159928}
159929
159930// AsCustomDataset is the BasicDataset implementation for SapTableResourceDataset.
159931func (strd SapTableResourceDataset) AsCustomDataset() (*CustomDataset, bool) {
159932	return nil, false
159933}
159934
159935// AsCassandraTableDataset is the BasicDataset implementation for SapTableResourceDataset.
159936func (strd SapTableResourceDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
159937	return nil, false
159938}
159939
159940// AsAzureSQLDWTableDataset is the BasicDataset implementation for SapTableResourceDataset.
159941func (strd SapTableResourceDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
159942	return nil, false
159943}
159944
159945// AsAzureSQLMITableDataset is the BasicDataset implementation for SapTableResourceDataset.
159946func (strd SapTableResourceDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) {
159947	return nil, false
159948}
159949
159950// AsAzureSQLTableDataset is the BasicDataset implementation for SapTableResourceDataset.
159951func (strd SapTableResourceDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
159952	return nil, false
159953}
159954
159955// AsAzureTableDataset is the BasicDataset implementation for SapTableResourceDataset.
159956func (strd SapTableResourceDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
159957	return nil, false
159958}
159959
159960// AsAzureBlobDataset is the BasicDataset implementation for SapTableResourceDataset.
159961func (strd SapTableResourceDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) {
159962	return nil, false
159963}
159964
159965// AsBinaryDataset is the BasicDataset implementation for SapTableResourceDataset.
159966func (strd SapTableResourceDataset) AsBinaryDataset() (*BinaryDataset, bool) {
159967	return nil, false
159968}
159969
159970// AsDelimitedTextDataset is the BasicDataset implementation for SapTableResourceDataset.
159971func (strd SapTableResourceDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) {
159972	return nil, false
159973}
159974
159975// AsParquetDataset is the BasicDataset implementation for SapTableResourceDataset.
159976func (strd SapTableResourceDataset) AsParquetDataset() (*ParquetDataset, bool) {
159977	return nil, false
159978}
159979
159980// AsAmazonS3Dataset is the BasicDataset implementation for SapTableResourceDataset.
159981func (strd SapTableResourceDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) {
159982	return nil, false
159983}
159984
159985// AsDataset is the BasicDataset implementation for SapTableResourceDataset.
159986func (strd SapTableResourceDataset) AsDataset() (*Dataset, bool) {
159987	return nil, false
159988}
159989
159990// AsBasicDataset is the BasicDataset implementation for SapTableResourceDataset.
159991func (strd SapTableResourceDataset) AsBasicDataset() (BasicDataset, bool) {
159992	return &strd, true
159993}
159994
159995// UnmarshalJSON is the custom unmarshaler for SapTableResourceDataset struct.
159996func (strd *SapTableResourceDataset) UnmarshalJSON(body []byte) error {
159997	var m map[string]*json.RawMessage
159998	err := json.Unmarshal(body, &m)
159999	if err != nil {
160000		return err
160001	}
160002	for k, v := range m {
160003		switch k {
160004		case "typeProperties":
160005			if v != nil {
160006				var sapTableResourceDatasetTypeProperties SapTableResourceDatasetTypeProperties
160007				err = json.Unmarshal(*v, &sapTableResourceDatasetTypeProperties)
160008				if err != nil {
160009					return err
160010				}
160011				strd.SapTableResourceDatasetTypeProperties = &sapTableResourceDatasetTypeProperties
160012			}
160013		default:
160014			if v != nil {
160015				var additionalProperties interface{}
160016				err = json.Unmarshal(*v, &additionalProperties)
160017				if err != nil {
160018					return err
160019				}
160020				if strd.AdditionalProperties == nil {
160021					strd.AdditionalProperties = make(map[string]interface{})
160022				}
160023				strd.AdditionalProperties[k] = additionalProperties
160024			}
160025		case "description":
160026			if v != nil {
160027				var description string
160028				err = json.Unmarshal(*v, &description)
160029				if err != nil {
160030					return err
160031				}
160032				strd.Description = &description
160033			}
160034		case "structure":
160035			if v != nil {
160036				var structure interface{}
160037				err = json.Unmarshal(*v, &structure)
160038				if err != nil {
160039					return err
160040				}
160041				strd.Structure = structure
160042			}
160043		case "schema":
160044			if v != nil {
160045				var schema interface{}
160046				err = json.Unmarshal(*v, &schema)
160047				if err != nil {
160048					return err
160049				}
160050				strd.Schema = schema
160051			}
160052		case "linkedServiceName":
160053			if v != nil {
160054				var linkedServiceName LinkedServiceReference
160055				err = json.Unmarshal(*v, &linkedServiceName)
160056				if err != nil {
160057					return err
160058				}
160059				strd.LinkedServiceName = &linkedServiceName
160060			}
160061		case "parameters":
160062			if v != nil {
160063				var parameters map[string]*ParameterSpecification
160064				err = json.Unmarshal(*v, &parameters)
160065				if err != nil {
160066					return err
160067				}
160068				strd.Parameters = parameters
160069			}
160070		case "annotations":
160071			if v != nil {
160072				var annotations []interface{}
160073				err = json.Unmarshal(*v, &annotations)
160074				if err != nil {
160075					return err
160076				}
160077				strd.Annotations = &annotations
160078			}
160079		case "folder":
160080			if v != nil {
160081				var folder DatasetFolder
160082				err = json.Unmarshal(*v, &folder)
160083				if err != nil {
160084					return err
160085				}
160086				strd.Folder = &folder
160087			}
160088		case "type":
160089			if v != nil {
160090				var typeVar TypeBasicDataset
160091				err = json.Unmarshal(*v, &typeVar)
160092				if err != nil {
160093					return err
160094				}
160095				strd.Type = typeVar
160096			}
160097		}
160098	}
160099
160100	return nil
160101}
160102
160103// SapTableResourceDatasetTypeProperties SAP Table Resource properties.
160104type SapTableResourceDatasetTypeProperties struct {
160105	// TableName - The name of the SAP Table. Type: string (or Expression with resultType string).
160106	TableName interface{} `json:"tableName,omitempty"`
160107}
160108
160109// SapTableSource a copy activity source for SAP Table source.
160110type SapTableSource struct {
160111	// RowCount - The number of rows to be retrieved. Type: integer(or Expression with resultType integer).
160112	RowCount interface{} `json:"rowCount,omitempty"`
160113	// RowSkips - The number of rows that will be skipped. Type: integer (or Expression with resultType integer).
160114	RowSkips interface{} `json:"rowSkips,omitempty"`
160115	// RfcTableFields - The fields of the SAP table that will be retrieved. For example, column0, column1. Type: string (or Expression with resultType string).
160116	RfcTableFields interface{} `json:"rfcTableFields,omitempty"`
160117	// RfcTableOptions - The options for the filtering of the SAP Table. For example, COLUMN0 EQ SOME VALUE. Type: string (or Expression with resultType string).
160118	RfcTableOptions interface{} `json:"rfcTableOptions,omitempty"`
160119	// BatchSize - Specifies the maximum number of rows that will be retrieved at a time when retrieving data from SAP Table. Type: integer (or Expression with resultType integer).
160120	BatchSize interface{} `json:"batchSize,omitempty"`
160121	// CustomRfcReadTableFunctionModule - Specifies the custom RFC function module that will be used to read data from SAP Table. Type: string (or Expression with resultType string).
160122	CustomRfcReadTableFunctionModule interface{} `json:"customRfcReadTableFunctionModule,omitempty"`
160123	// PartitionOption - The partition mechanism that will be used for SAP table read in parallel. Possible values include: 'SapTablePartitionOptionNone', 'SapTablePartitionOptionPartitionOnInt', 'SapTablePartitionOptionPartitionOnCalendarYear', 'SapTablePartitionOptionPartitionOnCalendarMonth', 'SapTablePartitionOptionPartitionOnCalendarDate', 'SapTablePartitionOptionPartitionOnTime'
160124	PartitionOption SapTablePartitionOption `json:"partitionOption,omitempty"`
160125	// PartitionSettings - The settings that will be leveraged for SAP table source partitioning.
160126	PartitionSettings *SapTablePartitionSettings `json:"partitionSettings,omitempty"`
160127	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
160128	AdditionalProperties map[string]interface{} `json:""`
160129	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
160130	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
160131	// 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])).
160132	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
160133	// MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer).
160134	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
160135	// Type - Possible values include: 'TypeCopySource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', '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', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeCassandraSource', 'TypeWebSource', 'TypeTeradataSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeAzureMySQLSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeRestSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceServiceCloudSource', 'TypeSalesforceSource', 'TypeODataSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeMicrosoftAccessSource', 'TypeInformixSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAzureTableSource', 'TypeBinarySource', 'TypeDelimitedTextSource', 'TypeParquetSource'
160136	Type TypeBasicCopySource `json:"type,omitempty"`
160137}
160138
160139// MarshalJSON is the custom marshaler for SapTableSource.
160140func (sts SapTableSource) MarshalJSON() ([]byte, error) {
160141	sts.Type = TypeSapTableSource
160142	objectMap := make(map[string]interface{})
160143	if sts.RowCount != nil {
160144		objectMap["rowCount"] = sts.RowCount
160145	}
160146	if sts.RowSkips != nil {
160147		objectMap["rowSkips"] = sts.RowSkips
160148	}
160149	if sts.RfcTableFields != nil {
160150		objectMap["rfcTableFields"] = sts.RfcTableFields
160151	}
160152	if sts.RfcTableOptions != nil {
160153		objectMap["rfcTableOptions"] = sts.RfcTableOptions
160154	}
160155	if sts.BatchSize != nil {
160156		objectMap["batchSize"] = sts.BatchSize
160157	}
160158	if sts.CustomRfcReadTableFunctionModule != nil {
160159		objectMap["customRfcReadTableFunctionModule"] = sts.CustomRfcReadTableFunctionModule
160160	}
160161	if sts.PartitionOption != "" {
160162		objectMap["partitionOption"] = sts.PartitionOption
160163	}
160164	if sts.PartitionSettings != nil {
160165		objectMap["partitionSettings"] = sts.PartitionSettings
160166	}
160167	if sts.SourceRetryCount != nil {
160168		objectMap["sourceRetryCount"] = sts.SourceRetryCount
160169	}
160170	if sts.SourceRetryWait != nil {
160171		objectMap["sourceRetryWait"] = sts.SourceRetryWait
160172	}
160173	if sts.MaxConcurrentConnections != nil {
160174		objectMap["maxConcurrentConnections"] = sts.MaxConcurrentConnections
160175	}
160176	if sts.Type != "" {
160177		objectMap["type"] = sts.Type
160178	}
160179	for k, v := range sts.AdditionalProperties {
160180		objectMap[k] = v
160181	}
160182	return json.Marshal(objectMap)
160183}
160184
160185// AsAmazonRedshiftSource is the BasicCopySource implementation for SapTableSource.
160186func (sts SapTableSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
160187	return nil, false
160188}
160189
160190// AsGoogleAdWordsSource is the BasicCopySource implementation for SapTableSource.
160191func (sts SapTableSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) {
160192	return nil, false
160193}
160194
160195// AsOracleServiceCloudSource is the BasicCopySource implementation for SapTableSource.
160196func (sts SapTableSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) {
160197	return nil, false
160198}
160199
160200// AsDynamicsAXSource is the BasicCopySource implementation for SapTableSource.
160201func (sts SapTableSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) {
160202	return nil, false
160203}
160204
160205// AsResponsysSource is the BasicCopySource implementation for SapTableSource.
160206func (sts SapTableSource) AsResponsysSource() (*ResponsysSource, bool) {
160207	return nil, false
160208}
160209
160210// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for SapTableSource.
160211func (sts SapTableSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
160212	return nil, false
160213}
160214
160215// AsVerticaSource is the BasicCopySource implementation for SapTableSource.
160216func (sts SapTableSource) AsVerticaSource() (*VerticaSource, bool) {
160217	return nil, false
160218}
160219
160220// AsNetezzaSource is the BasicCopySource implementation for SapTableSource.
160221func (sts SapTableSource) AsNetezzaSource() (*NetezzaSource, bool) {
160222	return nil, false
160223}
160224
160225// AsZohoSource is the BasicCopySource implementation for SapTableSource.
160226func (sts SapTableSource) AsZohoSource() (*ZohoSource, bool) {
160227	return nil, false
160228}
160229
160230// AsXeroSource is the BasicCopySource implementation for SapTableSource.
160231func (sts SapTableSource) AsXeroSource() (*XeroSource, bool) {
160232	return nil, false
160233}
160234
160235// AsSquareSource is the BasicCopySource implementation for SapTableSource.
160236func (sts SapTableSource) AsSquareSource() (*SquareSource, bool) {
160237	return nil, false
160238}
160239
160240// AsSparkSource is the BasicCopySource implementation for SapTableSource.
160241func (sts SapTableSource) AsSparkSource() (*SparkSource, bool) {
160242	return nil, false
160243}
160244
160245// AsShopifySource is the BasicCopySource implementation for SapTableSource.
160246func (sts SapTableSource) AsShopifySource() (*ShopifySource, bool) {
160247	return nil, false
160248}
160249
160250// AsServiceNowSource is the BasicCopySource implementation for SapTableSource.
160251func (sts SapTableSource) AsServiceNowSource() (*ServiceNowSource, bool) {
160252	return nil, false
160253}
160254
160255// AsQuickBooksSource is the BasicCopySource implementation for SapTableSource.
160256func (sts SapTableSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
160257	return nil, false
160258}
160259
160260// AsPrestoSource is the BasicCopySource implementation for SapTableSource.
160261func (sts SapTableSource) AsPrestoSource() (*PrestoSource, bool) {
160262	return nil, false
160263}
160264
160265// AsPhoenixSource is the BasicCopySource implementation for SapTableSource.
160266func (sts SapTableSource) AsPhoenixSource() (*PhoenixSource, bool) {
160267	return nil, false
160268}
160269
160270// AsPaypalSource is the BasicCopySource implementation for SapTableSource.
160271func (sts SapTableSource) AsPaypalSource() (*PaypalSource, bool) {
160272	return nil, false
160273}
160274
160275// AsMarketoSource is the BasicCopySource implementation for SapTableSource.
160276func (sts SapTableSource) AsMarketoSource() (*MarketoSource, bool) {
160277	return nil, false
160278}
160279
160280// AsMariaDBSource is the BasicCopySource implementation for SapTableSource.
160281func (sts SapTableSource) AsMariaDBSource() (*MariaDBSource, bool) {
160282	return nil, false
160283}
160284
160285// AsMagentoSource is the BasicCopySource implementation for SapTableSource.
160286func (sts SapTableSource) AsMagentoSource() (*MagentoSource, bool) {
160287	return nil, false
160288}
160289
160290// AsJiraSource is the BasicCopySource implementation for SapTableSource.
160291func (sts SapTableSource) AsJiraSource() (*JiraSource, bool) {
160292	return nil, false
160293}
160294
160295// AsImpalaSource is the BasicCopySource implementation for SapTableSource.
160296func (sts SapTableSource) AsImpalaSource() (*ImpalaSource, bool) {
160297	return nil, false
160298}
160299
160300// AsHubspotSource is the BasicCopySource implementation for SapTableSource.
160301func (sts SapTableSource) AsHubspotSource() (*HubspotSource, bool) {
160302	return nil, false
160303}
160304
160305// AsHiveSource is the BasicCopySource implementation for SapTableSource.
160306func (sts SapTableSource) AsHiveSource() (*HiveSource, bool) {
160307	return nil, false
160308}
160309
160310// AsHBaseSource is the BasicCopySource implementation for SapTableSource.
160311func (sts SapTableSource) AsHBaseSource() (*HBaseSource, bool) {
160312	return nil, false
160313}
160314
160315// AsGreenplumSource is the BasicCopySource implementation for SapTableSource.
160316func (sts SapTableSource) AsGreenplumSource() (*GreenplumSource, bool) {
160317	return nil, false
160318}
160319
160320// AsGoogleBigQuerySource is the BasicCopySource implementation for SapTableSource.
160321func (sts SapTableSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
160322	return nil, false
160323}
160324
160325// AsEloquaSource is the BasicCopySource implementation for SapTableSource.
160326func (sts SapTableSource) AsEloquaSource() (*EloquaSource, bool) {
160327	return nil, false
160328}
160329
160330// AsDrillSource is the BasicCopySource implementation for SapTableSource.
160331func (sts SapTableSource) AsDrillSource() (*DrillSource, bool) {
160332	return nil, false
160333}
160334
160335// AsCouchbaseSource is the BasicCopySource implementation for SapTableSource.
160336func (sts SapTableSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
160337	return nil, false
160338}
160339
160340// AsConcurSource is the BasicCopySource implementation for SapTableSource.
160341func (sts SapTableSource) AsConcurSource() (*ConcurSource, bool) {
160342	return nil, false
160343}
160344
160345// AsAzurePostgreSQLSource is the BasicCopySource implementation for SapTableSource.
160346func (sts SapTableSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
160347	return nil, false
160348}
160349
160350// AsAmazonMWSSource is the BasicCopySource implementation for SapTableSource.
160351func (sts SapTableSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
160352	return nil, false
160353}
160354
160355// AsHTTPSource is the BasicCopySource implementation for SapTableSource.
160356func (sts SapTableSource) AsHTTPSource() (*HTTPSource, bool) {
160357	return nil, false
160358}
160359
160360// AsAzureBlobFSSource is the BasicCopySource implementation for SapTableSource.
160361func (sts SapTableSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) {
160362	return nil, false
160363}
160364
160365// AsAzureDataLakeStoreSource is the BasicCopySource implementation for SapTableSource.
160366func (sts SapTableSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
160367	return nil, false
160368}
160369
160370// AsOffice365Source is the BasicCopySource implementation for SapTableSource.
160371func (sts SapTableSource) AsOffice365Source() (*Office365Source, bool) {
160372	return nil, false
160373}
160374
160375// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for SapTableSource.
160376func (sts SapTableSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) {
160377	return nil, false
160378}
160379
160380// AsMongoDbV2Source is the BasicCopySource implementation for SapTableSource.
160381func (sts SapTableSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) {
160382	return nil, false
160383}
160384
160385// AsMongoDbSource is the BasicCopySource implementation for SapTableSource.
160386func (sts SapTableSource) AsMongoDbSource() (*MongoDbSource, bool) {
160387	return nil, false
160388}
160389
160390// AsCassandraSource is the BasicCopySource implementation for SapTableSource.
160391func (sts SapTableSource) AsCassandraSource() (*CassandraSource, bool) {
160392	return nil, false
160393}
160394
160395// AsWebSource is the BasicCopySource implementation for SapTableSource.
160396func (sts SapTableSource) AsWebSource() (*WebSource, bool) {
160397	return nil, false
160398}
160399
160400// AsTeradataSource is the BasicCopySource implementation for SapTableSource.
160401func (sts SapTableSource) AsTeradataSource() (*TeradataSource, bool) {
160402	return nil, false
160403}
160404
160405// AsOracleSource is the BasicCopySource implementation for SapTableSource.
160406func (sts SapTableSource) AsOracleSource() (*OracleSource, bool) {
160407	return nil, false
160408}
160409
160410// AsAzureDataExplorerSource is the BasicCopySource implementation for SapTableSource.
160411func (sts SapTableSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) {
160412	return nil, false
160413}
160414
160415// AsAzureMySQLSource is the BasicCopySource implementation for SapTableSource.
160416func (sts SapTableSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
160417	return nil, false
160418}
160419
160420// AsHdfsSource is the BasicCopySource implementation for SapTableSource.
160421func (sts SapTableSource) AsHdfsSource() (*HdfsSource, bool) {
160422	return nil, false
160423}
160424
160425// AsFileSystemSource is the BasicCopySource implementation for SapTableSource.
160426func (sts SapTableSource) AsFileSystemSource() (*FileSystemSource, bool) {
160427	return nil, false
160428}
160429
160430// AsSQLDWSource is the BasicCopySource implementation for SapTableSource.
160431func (sts SapTableSource) AsSQLDWSource() (*SQLDWSource, bool) {
160432	return nil, false
160433}
160434
160435// AsSQLMISource is the BasicCopySource implementation for SapTableSource.
160436func (sts SapTableSource) AsSQLMISource() (*SQLMISource, bool) {
160437	return nil, false
160438}
160439
160440// AsAzureSQLSource is the BasicCopySource implementation for SapTableSource.
160441func (sts SapTableSource) AsAzureSQLSource() (*AzureSQLSource, bool) {
160442	return nil, false
160443}
160444
160445// AsSQLServerSource is the BasicCopySource implementation for SapTableSource.
160446func (sts SapTableSource) AsSQLServerSource() (*SQLServerSource, bool) {
160447	return nil, false
160448}
160449
160450// AsSQLSource is the BasicCopySource implementation for SapTableSource.
160451func (sts SapTableSource) AsSQLSource() (*SQLSource, bool) {
160452	return nil, false
160453}
160454
160455// AsRestSource is the BasicCopySource implementation for SapTableSource.
160456func (sts SapTableSource) AsRestSource() (*RestSource, bool) {
160457	return nil, false
160458}
160459
160460// AsSapTableSource is the BasicCopySource implementation for SapTableSource.
160461func (sts SapTableSource) AsSapTableSource() (*SapTableSource, bool) {
160462	return &sts, true
160463}
160464
160465// AsSapOpenHubSource is the BasicCopySource implementation for SapTableSource.
160466func (sts SapTableSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) {
160467	return nil, false
160468}
160469
160470// AsSapHanaSource is the BasicCopySource implementation for SapTableSource.
160471func (sts SapTableSource) AsSapHanaSource() (*SapHanaSource, bool) {
160472	return nil, false
160473}
160474
160475// AsSapEccSource is the BasicCopySource implementation for SapTableSource.
160476func (sts SapTableSource) AsSapEccSource() (*SapEccSource, bool) {
160477	return nil, false
160478}
160479
160480// AsSapCloudForCustomerSource is the BasicCopySource implementation for SapTableSource.
160481func (sts SapTableSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
160482	return nil, false
160483}
160484
160485// AsSalesforceServiceCloudSource is the BasicCopySource implementation for SapTableSource.
160486func (sts SapTableSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) {
160487	return nil, false
160488}
160489
160490// AsSalesforceSource is the BasicCopySource implementation for SapTableSource.
160491func (sts SapTableSource) AsSalesforceSource() (*SalesforceSource, bool) {
160492	return nil, false
160493}
160494
160495// AsODataSource is the BasicCopySource implementation for SapTableSource.
160496func (sts SapTableSource) AsODataSource() (*ODataSource, bool) {
160497	return nil, false
160498}
160499
160500// AsSybaseSource is the BasicCopySource implementation for SapTableSource.
160501func (sts SapTableSource) AsSybaseSource() (*SybaseSource, bool) {
160502	return nil, false
160503}
160504
160505// AsPostgreSQLSource is the BasicCopySource implementation for SapTableSource.
160506func (sts SapTableSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) {
160507	return nil, false
160508}
160509
160510// AsMySQLSource is the BasicCopySource implementation for SapTableSource.
160511func (sts SapTableSource) AsMySQLSource() (*MySQLSource, bool) {
160512	return nil, false
160513}
160514
160515// AsOdbcSource is the BasicCopySource implementation for SapTableSource.
160516func (sts SapTableSource) AsOdbcSource() (*OdbcSource, bool) {
160517	return nil, false
160518}
160519
160520// AsDb2Source is the BasicCopySource implementation for SapTableSource.
160521func (sts SapTableSource) AsDb2Source() (*Db2Source, bool) {
160522	return nil, false
160523}
160524
160525// AsMicrosoftAccessSource is the BasicCopySource implementation for SapTableSource.
160526func (sts SapTableSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) {
160527	return nil, false
160528}
160529
160530// AsInformixSource is the BasicCopySource implementation for SapTableSource.
160531func (sts SapTableSource) AsInformixSource() (*InformixSource, bool) {
160532	return nil, false
160533}
160534
160535// AsRelationalSource is the BasicCopySource implementation for SapTableSource.
160536func (sts SapTableSource) AsRelationalSource() (*RelationalSource, bool) {
160537	return nil, false
160538}
160539
160540// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for SapTableSource.
160541func (sts SapTableSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) {
160542	return nil, false
160543}
160544
160545// AsDynamicsCrmSource is the BasicCopySource implementation for SapTableSource.
160546func (sts SapTableSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) {
160547	return nil, false
160548}
160549
160550// AsDynamicsSource is the BasicCopySource implementation for SapTableSource.
160551func (sts SapTableSource) AsDynamicsSource() (*DynamicsSource, bool) {
160552	return nil, false
160553}
160554
160555// AsDocumentDbCollectionSource is the BasicCopySource implementation for SapTableSource.
160556func (sts SapTableSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
160557	return nil, false
160558}
160559
160560// AsBlobSource is the BasicCopySource implementation for SapTableSource.
160561func (sts SapTableSource) AsBlobSource() (*BlobSource, bool) {
160562	return nil, false
160563}
160564
160565// AsAzureTableSource is the BasicCopySource implementation for SapTableSource.
160566func (sts SapTableSource) AsAzureTableSource() (*AzureTableSource, bool) {
160567	return nil, false
160568}
160569
160570// AsBinarySource is the BasicCopySource implementation for SapTableSource.
160571func (sts SapTableSource) AsBinarySource() (*BinarySource, bool) {
160572	return nil, false
160573}
160574
160575// AsDelimitedTextSource is the BasicCopySource implementation for SapTableSource.
160576func (sts SapTableSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) {
160577	return nil, false
160578}
160579
160580// AsParquetSource is the BasicCopySource implementation for SapTableSource.
160581func (sts SapTableSource) AsParquetSource() (*ParquetSource, bool) {
160582	return nil, false
160583}
160584
160585// AsCopySource is the BasicCopySource implementation for SapTableSource.
160586func (sts SapTableSource) AsCopySource() (*CopySource, bool) {
160587	return nil, false
160588}
160589
160590// AsBasicCopySource is the BasicCopySource implementation for SapTableSource.
160591func (sts SapTableSource) AsBasicCopySource() (BasicCopySource, bool) {
160592	return &sts, true
160593}
160594
160595// UnmarshalJSON is the custom unmarshaler for SapTableSource struct.
160596func (sts *SapTableSource) UnmarshalJSON(body []byte) error {
160597	var m map[string]*json.RawMessage
160598	err := json.Unmarshal(body, &m)
160599	if err != nil {
160600		return err
160601	}
160602	for k, v := range m {
160603		switch k {
160604		case "rowCount":
160605			if v != nil {
160606				var rowCount interface{}
160607				err = json.Unmarshal(*v, &rowCount)
160608				if err != nil {
160609					return err
160610				}
160611				sts.RowCount = rowCount
160612			}
160613		case "rowSkips":
160614			if v != nil {
160615				var rowSkips interface{}
160616				err = json.Unmarshal(*v, &rowSkips)
160617				if err != nil {
160618					return err
160619				}
160620				sts.RowSkips = rowSkips
160621			}
160622		case "rfcTableFields":
160623			if v != nil {
160624				var rfcTableFields interface{}
160625				err = json.Unmarshal(*v, &rfcTableFields)
160626				if err != nil {
160627					return err
160628				}
160629				sts.RfcTableFields = rfcTableFields
160630			}
160631		case "rfcTableOptions":
160632			if v != nil {
160633				var rfcTableOptions interface{}
160634				err = json.Unmarshal(*v, &rfcTableOptions)
160635				if err != nil {
160636					return err
160637				}
160638				sts.RfcTableOptions = rfcTableOptions
160639			}
160640		case "batchSize":
160641			if v != nil {
160642				var batchSize interface{}
160643				err = json.Unmarshal(*v, &batchSize)
160644				if err != nil {
160645					return err
160646				}
160647				sts.BatchSize = batchSize
160648			}
160649		case "customRfcReadTableFunctionModule":
160650			if v != nil {
160651				var customRfcReadTableFunctionModule interface{}
160652				err = json.Unmarshal(*v, &customRfcReadTableFunctionModule)
160653				if err != nil {
160654					return err
160655				}
160656				sts.CustomRfcReadTableFunctionModule = customRfcReadTableFunctionModule
160657			}
160658		case "partitionOption":
160659			if v != nil {
160660				var partitionOption SapTablePartitionOption
160661				err = json.Unmarshal(*v, &partitionOption)
160662				if err != nil {
160663					return err
160664				}
160665				sts.PartitionOption = partitionOption
160666			}
160667		case "partitionSettings":
160668			if v != nil {
160669				var partitionSettings SapTablePartitionSettings
160670				err = json.Unmarshal(*v, &partitionSettings)
160671				if err != nil {
160672					return err
160673				}
160674				sts.PartitionSettings = &partitionSettings
160675			}
160676		default:
160677			if v != nil {
160678				var additionalProperties interface{}
160679				err = json.Unmarshal(*v, &additionalProperties)
160680				if err != nil {
160681					return err
160682				}
160683				if sts.AdditionalProperties == nil {
160684					sts.AdditionalProperties = make(map[string]interface{})
160685				}
160686				sts.AdditionalProperties[k] = additionalProperties
160687			}
160688		case "sourceRetryCount":
160689			if v != nil {
160690				var sourceRetryCount interface{}
160691				err = json.Unmarshal(*v, &sourceRetryCount)
160692				if err != nil {
160693					return err
160694				}
160695				sts.SourceRetryCount = sourceRetryCount
160696			}
160697		case "sourceRetryWait":
160698			if v != nil {
160699				var sourceRetryWait interface{}
160700				err = json.Unmarshal(*v, &sourceRetryWait)
160701				if err != nil {
160702					return err
160703				}
160704				sts.SourceRetryWait = sourceRetryWait
160705			}
160706		case "maxConcurrentConnections":
160707			if v != nil {
160708				var maxConcurrentConnections interface{}
160709				err = json.Unmarshal(*v, &maxConcurrentConnections)
160710				if err != nil {
160711					return err
160712				}
160713				sts.MaxConcurrentConnections = maxConcurrentConnections
160714			}
160715		case "type":
160716			if v != nil {
160717				var typeVar TypeBasicCopySource
160718				err = json.Unmarshal(*v, &typeVar)
160719				if err != nil {
160720					return err
160721				}
160722				sts.Type = typeVar
160723			}
160724		}
160725	}
160726
160727	return nil
160728}
160729
160730// ScheduleTrigger trigger that creates pipeline runs periodically, on schedule.
160731type ScheduleTrigger struct {
160732	// ScheduleTriggerTypeProperties - Schedule Trigger properties.
160733	*ScheduleTriggerTypeProperties `json:"typeProperties,omitempty"`
160734	// Pipelines - Pipelines that need to be started.
160735	Pipelines *[]TriggerPipelineReference `json:"pipelines,omitempty"`
160736	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
160737	AdditionalProperties map[string]interface{} `json:""`
160738	// Description - Trigger description.
160739	Description *string `json:"description,omitempty"`
160740	// RuntimeState - READ-ONLY; Indicates if trigger is running or not. Updated when Start/Stop APIs are called on the Trigger. Possible values include: 'Started', 'Stopped', 'Disabled'
160741	RuntimeState TriggerRuntimeState `json:"runtimeState,omitempty"`
160742	// Annotations - List of tags that can be used for describing the trigger.
160743	Annotations *[]interface{} `json:"annotations,omitempty"`
160744	// Type - Possible values include: 'TypeTrigger', 'TypeRerunTumblingWindowTrigger', 'TypeTumblingWindowTrigger', 'TypeBlobEventsTrigger', 'TypeBlobTrigger', 'TypeScheduleTrigger', 'TypeMultiplePipelineTrigger'
160745	Type TypeBasicTrigger `json:"type,omitempty"`
160746}
160747
160748// MarshalJSON is the custom marshaler for ScheduleTrigger.
160749func (st ScheduleTrigger) MarshalJSON() ([]byte, error) {
160750	st.Type = TypeScheduleTrigger
160751	objectMap := make(map[string]interface{})
160752	if st.ScheduleTriggerTypeProperties != nil {
160753		objectMap["typeProperties"] = st.ScheduleTriggerTypeProperties
160754	}
160755	if st.Pipelines != nil {
160756		objectMap["pipelines"] = st.Pipelines
160757	}
160758	if st.Description != nil {
160759		objectMap["description"] = st.Description
160760	}
160761	if st.Annotations != nil {
160762		objectMap["annotations"] = st.Annotations
160763	}
160764	if st.Type != "" {
160765		objectMap["type"] = st.Type
160766	}
160767	for k, v := range st.AdditionalProperties {
160768		objectMap[k] = v
160769	}
160770	return json.Marshal(objectMap)
160771}
160772
160773// AsRerunTumblingWindowTrigger is the BasicTrigger implementation for ScheduleTrigger.
160774func (st ScheduleTrigger) AsRerunTumblingWindowTrigger() (*RerunTumblingWindowTrigger, bool) {
160775	return nil, false
160776}
160777
160778// AsTumblingWindowTrigger is the BasicTrigger implementation for ScheduleTrigger.
160779func (st ScheduleTrigger) AsTumblingWindowTrigger() (*TumblingWindowTrigger, bool) {
160780	return nil, false
160781}
160782
160783// AsBlobEventsTrigger is the BasicTrigger implementation for ScheduleTrigger.
160784func (st ScheduleTrigger) AsBlobEventsTrigger() (*BlobEventsTrigger, bool) {
160785	return nil, false
160786}
160787
160788// AsBlobTrigger is the BasicTrigger implementation for ScheduleTrigger.
160789func (st ScheduleTrigger) AsBlobTrigger() (*BlobTrigger, bool) {
160790	return nil, false
160791}
160792
160793// AsScheduleTrigger is the BasicTrigger implementation for ScheduleTrigger.
160794func (st ScheduleTrigger) AsScheduleTrigger() (*ScheduleTrigger, bool) {
160795	return &st, true
160796}
160797
160798// AsMultiplePipelineTrigger is the BasicTrigger implementation for ScheduleTrigger.
160799func (st ScheduleTrigger) AsMultiplePipelineTrigger() (*MultiplePipelineTrigger, bool) {
160800	return nil, false
160801}
160802
160803// AsBasicMultiplePipelineTrigger is the BasicTrigger implementation for ScheduleTrigger.
160804func (st ScheduleTrigger) AsBasicMultiplePipelineTrigger() (BasicMultiplePipelineTrigger, bool) {
160805	return &st, true
160806}
160807
160808// AsTrigger is the BasicTrigger implementation for ScheduleTrigger.
160809func (st ScheduleTrigger) AsTrigger() (*Trigger, bool) {
160810	return nil, false
160811}
160812
160813// AsBasicTrigger is the BasicTrigger implementation for ScheduleTrigger.
160814func (st ScheduleTrigger) AsBasicTrigger() (BasicTrigger, bool) {
160815	return &st, true
160816}
160817
160818// UnmarshalJSON is the custom unmarshaler for ScheduleTrigger struct.
160819func (st *ScheduleTrigger) UnmarshalJSON(body []byte) error {
160820	var m map[string]*json.RawMessage
160821	err := json.Unmarshal(body, &m)
160822	if err != nil {
160823		return err
160824	}
160825	for k, v := range m {
160826		switch k {
160827		case "typeProperties":
160828			if v != nil {
160829				var scheduleTriggerTypeProperties ScheduleTriggerTypeProperties
160830				err = json.Unmarshal(*v, &scheduleTriggerTypeProperties)
160831				if err != nil {
160832					return err
160833				}
160834				st.ScheduleTriggerTypeProperties = &scheduleTriggerTypeProperties
160835			}
160836		case "pipelines":
160837			if v != nil {
160838				var pipelines []TriggerPipelineReference
160839				err = json.Unmarshal(*v, &pipelines)
160840				if err != nil {
160841					return err
160842				}
160843				st.Pipelines = &pipelines
160844			}
160845		default:
160846			if v != nil {
160847				var additionalProperties interface{}
160848				err = json.Unmarshal(*v, &additionalProperties)
160849				if err != nil {
160850					return err
160851				}
160852				if st.AdditionalProperties == nil {
160853					st.AdditionalProperties = make(map[string]interface{})
160854				}
160855				st.AdditionalProperties[k] = additionalProperties
160856			}
160857		case "description":
160858			if v != nil {
160859				var description string
160860				err = json.Unmarshal(*v, &description)
160861				if err != nil {
160862					return err
160863				}
160864				st.Description = &description
160865			}
160866		case "runtimeState":
160867			if v != nil {
160868				var runtimeState TriggerRuntimeState
160869				err = json.Unmarshal(*v, &runtimeState)
160870				if err != nil {
160871					return err
160872				}
160873				st.RuntimeState = runtimeState
160874			}
160875		case "annotations":
160876			if v != nil {
160877				var annotations []interface{}
160878				err = json.Unmarshal(*v, &annotations)
160879				if err != nil {
160880					return err
160881				}
160882				st.Annotations = &annotations
160883			}
160884		case "type":
160885			if v != nil {
160886				var typeVar TypeBasicTrigger
160887				err = json.Unmarshal(*v, &typeVar)
160888				if err != nil {
160889					return err
160890				}
160891				st.Type = typeVar
160892			}
160893		}
160894	}
160895
160896	return nil
160897}
160898
160899// ScheduleTriggerRecurrence the workflow trigger recurrence.
160900type ScheduleTriggerRecurrence struct {
160901	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
160902	AdditionalProperties map[string]interface{} `json:""`
160903	// Frequency - The frequency. Possible values include: 'NotSpecified', 'Minute', 'Hour', 'Day', 'Week', 'Month', 'Year'
160904	Frequency RecurrenceFrequency `json:"frequency,omitempty"`
160905	// Interval - The interval.
160906	Interval *int32 `json:"interval,omitempty"`
160907	// StartTime - The start time.
160908	StartTime *date.Time `json:"startTime,omitempty"`
160909	// EndTime - The end time.
160910	EndTime *date.Time `json:"endTime,omitempty"`
160911	// TimeZone - The time zone.
160912	TimeZone *string `json:"timeZone,omitempty"`
160913	// Schedule - The recurrence schedule.
160914	Schedule *RecurrenceSchedule `json:"schedule,omitempty"`
160915}
160916
160917// MarshalJSON is the custom marshaler for ScheduleTriggerRecurrence.
160918func (str ScheduleTriggerRecurrence) MarshalJSON() ([]byte, error) {
160919	objectMap := make(map[string]interface{})
160920	if str.Frequency != "" {
160921		objectMap["frequency"] = str.Frequency
160922	}
160923	if str.Interval != nil {
160924		objectMap["interval"] = str.Interval
160925	}
160926	if str.StartTime != nil {
160927		objectMap["startTime"] = str.StartTime
160928	}
160929	if str.EndTime != nil {
160930		objectMap["endTime"] = str.EndTime
160931	}
160932	if str.TimeZone != nil {
160933		objectMap["timeZone"] = str.TimeZone
160934	}
160935	if str.Schedule != nil {
160936		objectMap["schedule"] = str.Schedule
160937	}
160938	for k, v := range str.AdditionalProperties {
160939		objectMap[k] = v
160940	}
160941	return json.Marshal(objectMap)
160942}
160943
160944// UnmarshalJSON is the custom unmarshaler for ScheduleTriggerRecurrence struct.
160945func (str *ScheduleTriggerRecurrence) UnmarshalJSON(body []byte) error {
160946	var m map[string]*json.RawMessage
160947	err := json.Unmarshal(body, &m)
160948	if err != nil {
160949		return err
160950	}
160951	for k, v := range m {
160952		switch k {
160953		default:
160954			if v != nil {
160955				var additionalProperties interface{}
160956				err = json.Unmarshal(*v, &additionalProperties)
160957				if err != nil {
160958					return err
160959				}
160960				if str.AdditionalProperties == nil {
160961					str.AdditionalProperties = make(map[string]interface{})
160962				}
160963				str.AdditionalProperties[k] = additionalProperties
160964			}
160965		case "frequency":
160966			if v != nil {
160967				var frequency RecurrenceFrequency
160968				err = json.Unmarshal(*v, &frequency)
160969				if err != nil {
160970					return err
160971				}
160972				str.Frequency = frequency
160973			}
160974		case "interval":
160975			if v != nil {
160976				var interval int32
160977				err = json.Unmarshal(*v, &interval)
160978				if err != nil {
160979					return err
160980				}
160981				str.Interval = &interval
160982			}
160983		case "startTime":
160984			if v != nil {
160985				var startTime date.Time
160986				err = json.Unmarshal(*v, &startTime)
160987				if err != nil {
160988					return err
160989				}
160990				str.StartTime = &startTime
160991			}
160992		case "endTime":
160993			if v != nil {
160994				var endTime date.Time
160995				err = json.Unmarshal(*v, &endTime)
160996				if err != nil {
160997					return err
160998				}
160999				str.EndTime = &endTime
161000			}
161001		case "timeZone":
161002			if v != nil {
161003				var timeZone string
161004				err = json.Unmarshal(*v, &timeZone)
161005				if err != nil {
161006					return err
161007				}
161008				str.TimeZone = &timeZone
161009			}
161010		case "schedule":
161011			if v != nil {
161012				var schedule RecurrenceSchedule
161013				err = json.Unmarshal(*v, &schedule)
161014				if err != nil {
161015					return err
161016				}
161017				str.Schedule = &schedule
161018			}
161019		}
161020	}
161021
161022	return nil
161023}
161024
161025// ScheduleTriggerTypeProperties schedule Trigger properties.
161026type ScheduleTriggerTypeProperties struct {
161027	// Recurrence - Recurrence schedule configuration.
161028	Recurrence *ScheduleTriggerRecurrence `json:"recurrence,omitempty"`
161029}
161030
161031// ScriptAction custom script action to run on HDI ondemand cluster once it's up.
161032type ScriptAction struct {
161033	// Name - The user provided name of the script action.
161034	Name *string `json:"name,omitempty"`
161035	// URI - The URI for the script action.
161036	URI *string `json:"uri,omitempty"`
161037	// Roles - The node types on which the script action should be executed.
161038	Roles interface{} `json:"roles,omitempty"`
161039	// Parameters - The parameters for the script action.
161040	Parameters *string `json:"parameters,omitempty"`
161041}
161042
161043// BasicSecretBase the base definition of a secret type.
161044type BasicSecretBase interface {
161045	AsSecureString() (*SecureString, bool)
161046	AsAzureKeyVaultSecretReference() (*AzureKeyVaultSecretReference, bool)
161047	AsSecretBase() (*SecretBase, bool)
161048}
161049
161050// SecretBase the base definition of a secret type.
161051type SecretBase struct {
161052	// Type - Possible values include: 'TypeSecretBase', 'TypeSecureString', 'TypeAzureKeyVaultSecret'
161053	Type Type `json:"type,omitempty"`
161054}
161055
161056func unmarshalBasicSecretBase(body []byte) (BasicSecretBase, error) {
161057	var m map[string]interface{}
161058	err := json.Unmarshal(body, &m)
161059	if err != nil {
161060		return nil, err
161061	}
161062
161063	switch m["type"] {
161064	case string(TypeSecureString):
161065		var ss SecureString
161066		err := json.Unmarshal(body, &ss)
161067		return ss, err
161068	case string(TypeAzureKeyVaultSecret):
161069		var akvsr AzureKeyVaultSecretReference
161070		err := json.Unmarshal(body, &akvsr)
161071		return akvsr, err
161072	default:
161073		var sb SecretBase
161074		err := json.Unmarshal(body, &sb)
161075		return sb, err
161076	}
161077}
161078func unmarshalBasicSecretBaseArray(body []byte) ([]BasicSecretBase, error) {
161079	var rawMessages []*json.RawMessage
161080	err := json.Unmarshal(body, &rawMessages)
161081	if err != nil {
161082		return nil, err
161083	}
161084
161085	sbArray := make([]BasicSecretBase, len(rawMessages))
161086
161087	for index, rawMessage := range rawMessages {
161088		sb, err := unmarshalBasicSecretBase(*rawMessage)
161089		if err != nil {
161090			return nil, err
161091		}
161092		sbArray[index] = sb
161093	}
161094	return sbArray, nil
161095}
161096
161097// MarshalJSON is the custom marshaler for SecretBase.
161098func (sb SecretBase) MarshalJSON() ([]byte, error) {
161099	sb.Type = TypeSecretBase
161100	objectMap := make(map[string]interface{})
161101	if sb.Type != "" {
161102		objectMap["type"] = sb.Type
161103	}
161104	return json.Marshal(objectMap)
161105}
161106
161107// AsSecureString is the BasicSecretBase implementation for SecretBase.
161108func (sb SecretBase) AsSecureString() (*SecureString, bool) {
161109	return nil, false
161110}
161111
161112// AsAzureKeyVaultSecretReference is the BasicSecretBase implementation for SecretBase.
161113func (sb SecretBase) AsAzureKeyVaultSecretReference() (*AzureKeyVaultSecretReference, bool) {
161114	return nil, false
161115}
161116
161117// AsSecretBase is the BasicSecretBase implementation for SecretBase.
161118func (sb SecretBase) AsSecretBase() (*SecretBase, bool) {
161119	return &sb, true
161120}
161121
161122// AsBasicSecretBase is the BasicSecretBase implementation for SecretBase.
161123func (sb SecretBase) AsBasicSecretBase() (BasicSecretBase, bool) {
161124	return &sb, true
161125}
161126
161127// SecureString azure Data Factory secure string definition. The string value will be masked with asterisks
161128// '*' during Get or List API calls.
161129type SecureString struct {
161130	// Value - Value of secure string.
161131	Value *string `json:"value,omitempty"`
161132	// Type - Possible values include: 'TypeSecretBase', 'TypeSecureString', 'TypeAzureKeyVaultSecret'
161133	Type Type `json:"type,omitempty"`
161134}
161135
161136// MarshalJSON is the custom marshaler for SecureString.
161137func (ss SecureString) MarshalJSON() ([]byte, error) {
161138	ss.Type = TypeSecureString
161139	objectMap := make(map[string]interface{})
161140	if ss.Value != nil {
161141		objectMap["value"] = ss.Value
161142	}
161143	if ss.Type != "" {
161144		objectMap["type"] = ss.Type
161145	}
161146	return json.Marshal(objectMap)
161147}
161148
161149// AsSecureString is the BasicSecretBase implementation for SecureString.
161150func (ss SecureString) AsSecureString() (*SecureString, bool) {
161151	return &ss, true
161152}
161153
161154// AsAzureKeyVaultSecretReference is the BasicSecretBase implementation for SecureString.
161155func (ss SecureString) AsAzureKeyVaultSecretReference() (*AzureKeyVaultSecretReference, bool) {
161156	return nil, false
161157}
161158
161159// AsSecretBase is the BasicSecretBase implementation for SecureString.
161160func (ss SecureString) AsSecretBase() (*SecretBase, bool) {
161161	return nil, false
161162}
161163
161164// AsBasicSecretBase is the BasicSecretBase implementation for SecureString.
161165func (ss SecureString) AsBasicSecretBase() (BasicSecretBase, bool) {
161166	return &ss, true
161167}
161168
161169// SelfDependencyTumblingWindowTriggerReference self referenced tumbling window trigger dependency.
161170type SelfDependencyTumblingWindowTriggerReference struct {
161171	// Offset - Timespan applied to the start time of a tumbling window when evaluating dependency.
161172	Offset *string `json:"offset,omitempty"`
161173	// Size - The size of the window when evaluating the dependency. If undefined the frequency of the tumbling window will be used.
161174	Size *string `json:"size,omitempty"`
161175	// Type - Possible values include: 'TypeDependencyReference', 'TypeSelfDependencyTumblingWindowTriggerReference', 'TypeTumblingWindowTriggerDependencyReference', 'TypeTriggerDependencyReference'
161176	Type TypeBasicDependencyReference `json:"type,omitempty"`
161177}
161178
161179// MarshalJSON is the custom marshaler for SelfDependencyTumblingWindowTriggerReference.
161180func (sdtwtr SelfDependencyTumblingWindowTriggerReference) MarshalJSON() ([]byte, error) {
161181	sdtwtr.Type = TypeSelfDependencyTumblingWindowTriggerReference
161182	objectMap := make(map[string]interface{})
161183	if sdtwtr.Offset != nil {
161184		objectMap["offset"] = sdtwtr.Offset
161185	}
161186	if sdtwtr.Size != nil {
161187		objectMap["size"] = sdtwtr.Size
161188	}
161189	if sdtwtr.Type != "" {
161190		objectMap["type"] = sdtwtr.Type
161191	}
161192	return json.Marshal(objectMap)
161193}
161194
161195// AsSelfDependencyTumblingWindowTriggerReference is the BasicDependencyReference implementation for SelfDependencyTumblingWindowTriggerReference.
161196func (sdtwtr SelfDependencyTumblingWindowTriggerReference) AsSelfDependencyTumblingWindowTriggerReference() (*SelfDependencyTumblingWindowTriggerReference, bool) {
161197	return &sdtwtr, true
161198}
161199
161200// AsTumblingWindowTriggerDependencyReference is the BasicDependencyReference implementation for SelfDependencyTumblingWindowTriggerReference.
161201func (sdtwtr SelfDependencyTumblingWindowTriggerReference) AsTumblingWindowTriggerDependencyReference() (*TumblingWindowTriggerDependencyReference, bool) {
161202	return nil, false
161203}
161204
161205// AsTriggerDependencyReference is the BasicDependencyReference implementation for SelfDependencyTumblingWindowTriggerReference.
161206func (sdtwtr SelfDependencyTumblingWindowTriggerReference) AsTriggerDependencyReference() (*TriggerDependencyReference, bool) {
161207	return nil, false
161208}
161209
161210// AsBasicTriggerDependencyReference is the BasicDependencyReference implementation for SelfDependencyTumblingWindowTriggerReference.
161211func (sdtwtr SelfDependencyTumblingWindowTriggerReference) AsBasicTriggerDependencyReference() (BasicTriggerDependencyReference, bool) {
161212	return nil, false
161213}
161214
161215// AsDependencyReference is the BasicDependencyReference implementation for SelfDependencyTumblingWindowTriggerReference.
161216func (sdtwtr SelfDependencyTumblingWindowTriggerReference) AsDependencyReference() (*DependencyReference, bool) {
161217	return nil, false
161218}
161219
161220// AsBasicDependencyReference is the BasicDependencyReference implementation for SelfDependencyTumblingWindowTriggerReference.
161221func (sdtwtr SelfDependencyTumblingWindowTriggerReference) AsBasicDependencyReference() (BasicDependencyReference, bool) {
161222	return &sdtwtr, true
161223}
161224
161225// SelfHostedIntegrationRuntime self-hosted integration runtime.
161226type SelfHostedIntegrationRuntime struct {
161227	// SelfHostedIntegrationRuntimeTypeProperties - When this property is not null, means this is a linked integration runtime. The property is used to access original integration runtime.
161228	*SelfHostedIntegrationRuntimeTypeProperties `json:"typeProperties,omitempty"`
161229	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
161230	AdditionalProperties map[string]interface{} `json:""`
161231	// Description - Integration runtime description.
161232	Description *string `json:"description,omitempty"`
161233	// Type - Possible values include: 'TypeIntegrationRuntime', 'TypeSelfHosted', 'TypeManaged'
161234	Type TypeBasicIntegrationRuntime `json:"type,omitempty"`
161235}
161236
161237// MarshalJSON is the custom marshaler for SelfHostedIntegrationRuntime.
161238func (shir SelfHostedIntegrationRuntime) MarshalJSON() ([]byte, error) {
161239	shir.Type = TypeSelfHosted
161240	objectMap := make(map[string]interface{})
161241	if shir.SelfHostedIntegrationRuntimeTypeProperties != nil {
161242		objectMap["typeProperties"] = shir.SelfHostedIntegrationRuntimeTypeProperties
161243	}
161244	if shir.Description != nil {
161245		objectMap["description"] = shir.Description
161246	}
161247	if shir.Type != "" {
161248		objectMap["type"] = shir.Type
161249	}
161250	for k, v := range shir.AdditionalProperties {
161251		objectMap[k] = v
161252	}
161253	return json.Marshal(objectMap)
161254}
161255
161256// AsSelfHostedIntegrationRuntime is the BasicIntegrationRuntime implementation for SelfHostedIntegrationRuntime.
161257func (shir SelfHostedIntegrationRuntime) AsSelfHostedIntegrationRuntime() (*SelfHostedIntegrationRuntime, bool) {
161258	return &shir, true
161259}
161260
161261// AsManagedIntegrationRuntime is the BasicIntegrationRuntime implementation for SelfHostedIntegrationRuntime.
161262func (shir SelfHostedIntegrationRuntime) AsManagedIntegrationRuntime() (*ManagedIntegrationRuntime, bool) {
161263	return nil, false
161264}
161265
161266// AsIntegrationRuntime is the BasicIntegrationRuntime implementation for SelfHostedIntegrationRuntime.
161267func (shir SelfHostedIntegrationRuntime) AsIntegrationRuntime() (*IntegrationRuntime, bool) {
161268	return nil, false
161269}
161270
161271// AsBasicIntegrationRuntime is the BasicIntegrationRuntime implementation for SelfHostedIntegrationRuntime.
161272func (shir SelfHostedIntegrationRuntime) AsBasicIntegrationRuntime() (BasicIntegrationRuntime, bool) {
161273	return &shir, true
161274}
161275
161276// UnmarshalJSON is the custom unmarshaler for SelfHostedIntegrationRuntime struct.
161277func (shir *SelfHostedIntegrationRuntime) UnmarshalJSON(body []byte) error {
161278	var m map[string]*json.RawMessage
161279	err := json.Unmarshal(body, &m)
161280	if err != nil {
161281		return err
161282	}
161283	for k, v := range m {
161284		switch k {
161285		case "typeProperties":
161286			if v != nil {
161287				var selfHostedIntegrationRuntimeTypeProperties SelfHostedIntegrationRuntimeTypeProperties
161288				err = json.Unmarshal(*v, &selfHostedIntegrationRuntimeTypeProperties)
161289				if err != nil {
161290					return err
161291				}
161292				shir.SelfHostedIntegrationRuntimeTypeProperties = &selfHostedIntegrationRuntimeTypeProperties
161293			}
161294		default:
161295			if v != nil {
161296				var additionalProperties interface{}
161297				err = json.Unmarshal(*v, &additionalProperties)
161298				if err != nil {
161299					return err
161300				}
161301				if shir.AdditionalProperties == nil {
161302					shir.AdditionalProperties = make(map[string]interface{})
161303				}
161304				shir.AdditionalProperties[k] = additionalProperties
161305			}
161306		case "description":
161307			if v != nil {
161308				var description string
161309				err = json.Unmarshal(*v, &description)
161310				if err != nil {
161311					return err
161312				}
161313				shir.Description = &description
161314			}
161315		case "type":
161316			if v != nil {
161317				var typeVar TypeBasicIntegrationRuntime
161318				err = json.Unmarshal(*v, &typeVar)
161319				if err != nil {
161320					return err
161321				}
161322				shir.Type = typeVar
161323			}
161324		}
161325	}
161326
161327	return nil
161328}
161329
161330// SelfHostedIntegrationRuntimeNode properties of Self-hosted integration runtime node.
161331type SelfHostedIntegrationRuntimeNode struct {
161332	autorest.Response `json:"-"`
161333	// NodeName - READ-ONLY; Name of the integration runtime node.
161334	NodeName *string `json:"nodeName,omitempty"`
161335	// MachineName - READ-ONLY; Machine name of the integration runtime node.
161336	MachineName *string `json:"machineName,omitempty"`
161337	// HostServiceURI - READ-ONLY; URI for the host machine of the integration runtime.
161338	HostServiceURI *string `json:"hostServiceUri,omitempty"`
161339	// Status - READ-ONLY; Status of the integration runtime node. Possible values include: 'SelfHostedIntegrationRuntimeNodeStatusNeedRegistration', 'SelfHostedIntegrationRuntimeNodeStatusOnline', 'SelfHostedIntegrationRuntimeNodeStatusLimited', 'SelfHostedIntegrationRuntimeNodeStatusOffline', 'SelfHostedIntegrationRuntimeNodeStatusUpgrading', 'SelfHostedIntegrationRuntimeNodeStatusInitializing', 'SelfHostedIntegrationRuntimeNodeStatusInitializeFailed'
161340	Status SelfHostedIntegrationRuntimeNodeStatus `json:"status,omitempty"`
161341	// Capabilities - READ-ONLY; The integration runtime capabilities dictionary
161342	Capabilities map[string]*string `json:"capabilities"`
161343	// VersionStatus - READ-ONLY; Status of the integration runtime node version.
161344	VersionStatus *string `json:"versionStatus,omitempty"`
161345	// Version - READ-ONLY; Version of the integration runtime node.
161346	Version *string `json:"version,omitempty"`
161347	// RegisterTime - READ-ONLY; The time at which the integration runtime node was registered in ISO8601 format.
161348	RegisterTime *date.Time `json:"registerTime,omitempty"`
161349	// LastConnectTime - READ-ONLY; The most recent time at which the integration runtime was connected in ISO8601 format.
161350	LastConnectTime *date.Time `json:"lastConnectTime,omitempty"`
161351	// ExpiryTime - READ-ONLY; The time at which the integration runtime will expire in ISO8601 format.
161352	ExpiryTime *date.Time `json:"expiryTime,omitempty"`
161353	// LastStartTime - READ-ONLY; The time the node last started up.
161354	LastStartTime *date.Time `json:"lastStartTime,omitempty"`
161355	// LastStopTime - READ-ONLY; The integration runtime node last stop time.
161356	LastStopTime *date.Time `json:"lastStopTime,omitempty"`
161357	// LastUpdateResult - READ-ONLY; The result of the last integration runtime node update. Possible values include: 'IntegrationRuntimeUpdateResultNone', 'IntegrationRuntimeUpdateResultSucceed', 'IntegrationRuntimeUpdateResultFail'
161358	LastUpdateResult IntegrationRuntimeUpdateResult `json:"lastUpdateResult,omitempty"`
161359	// LastStartUpdateTime - READ-ONLY; The last time for the integration runtime node update start.
161360	LastStartUpdateTime *date.Time `json:"lastStartUpdateTime,omitempty"`
161361	// LastEndUpdateTime - READ-ONLY; The last time for the integration runtime node update end.
161362	LastEndUpdateTime *date.Time `json:"lastEndUpdateTime,omitempty"`
161363	// IsActiveDispatcher - READ-ONLY; Indicates whether this node is the active dispatcher for integration runtime requests.
161364	IsActiveDispatcher *bool `json:"isActiveDispatcher,omitempty"`
161365	// ConcurrentJobsLimit - READ-ONLY; Maximum concurrent jobs on the integration runtime node.
161366	ConcurrentJobsLimit *int32 `json:"concurrentJobsLimit,omitempty"`
161367	// MaxConcurrentJobs - READ-ONLY; The maximum concurrent jobs in this integration runtime.
161368	MaxConcurrentJobs *int32 `json:"maxConcurrentJobs,omitempty"`
161369}
161370
161371// MarshalJSON is the custom marshaler for SelfHostedIntegrationRuntimeNode.
161372func (shirn SelfHostedIntegrationRuntimeNode) MarshalJSON() ([]byte, error) {
161373	objectMap := make(map[string]interface{})
161374	return json.Marshal(objectMap)
161375}
161376
161377// SelfHostedIntegrationRuntimeStatus self-hosted integration runtime status.
161378type SelfHostedIntegrationRuntimeStatus struct {
161379	// SelfHostedIntegrationRuntimeStatusTypeProperties - Self-hosted integration runtime status type properties.
161380	*SelfHostedIntegrationRuntimeStatusTypeProperties `json:"typeProperties,omitempty"`
161381	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
161382	AdditionalProperties map[string]interface{} `json:""`
161383	// DataFactoryName - READ-ONLY; The data factory name which the integration runtime belong to.
161384	DataFactoryName *string `json:"dataFactoryName,omitempty"`
161385	// State - READ-ONLY; The state of integration runtime. Possible values include: 'IntegrationRuntimeStateInitial', 'IntegrationRuntimeStateStopped', 'IntegrationRuntimeStateStarted', 'IntegrationRuntimeStateStarting', 'IntegrationRuntimeStateStopping', 'IntegrationRuntimeStateNeedRegistration', 'IntegrationRuntimeStateOnline', 'IntegrationRuntimeStateLimited', 'IntegrationRuntimeStateOffline', 'IntegrationRuntimeStateAccessDenied'
161386	State IntegrationRuntimeState `json:"state,omitempty"`
161387	// Type - Possible values include: 'TypeBasicIntegrationRuntimeStatusTypeIntegrationRuntimeStatus', 'TypeBasicIntegrationRuntimeStatusTypeSelfHosted', 'TypeBasicIntegrationRuntimeStatusTypeManaged'
161388	Type TypeBasicIntegrationRuntimeStatus `json:"type,omitempty"`
161389}
161390
161391// MarshalJSON is the custom marshaler for SelfHostedIntegrationRuntimeStatus.
161392func (shirs SelfHostedIntegrationRuntimeStatus) MarshalJSON() ([]byte, error) {
161393	shirs.Type = TypeBasicIntegrationRuntimeStatusTypeSelfHosted
161394	objectMap := make(map[string]interface{})
161395	if shirs.SelfHostedIntegrationRuntimeStatusTypeProperties != nil {
161396		objectMap["typeProperties"] = shirs.SelfHostedIntegrationRuntimeStatusTypeProperties
161397	}
161398	if shirs.Type != "" {
161399		objectMap["type"] = shirs.Type
161400	}
161401	for k, v := range shirs.AdditionalProperties {
161402		objectMap[k] = v
161403	}
161404	return json.Marshal(objectMap)
161405}
161406
161407// AsSelfHostedIntegrationRuntimeStatus is the BasicIntegrationRuntimeStatus implementation for SelfHostedIntegrationRuntimeStatus.
161408func (shirs SelfHostedIntegrationRuntimeStatus) AsSelfHostedIntegrationRuntimeStatus() (*SelfHostedIntegrationRuntimeStatus, bool) {
161409	return &shirs, true
161410}
161411
161412// AsManagedIntegrationRuntimeStatus is the BasicIntegrationRuntimeStatus implementation for SelfHostedIntegrationRuntimeStatus.
161413func (shirs SelfHostedIntegrationRuntimeStatus) AsManagedIntegrationRuntimeStatus() (*ManagedIntegrationRuntimeStatus, bool) {
161414	return nil, false
161415}
161416
161417// AsIntegrationRuntimeStatus is the BasicIntegrationRuntimeStatus implementation for SelfHostedIntegrationRuntimeStatus.
161418func (shirs SelfHostedIntegrationRuntimeStatus) AsIntegrationRuntimeStatus() (*IntegrationRuntimeStatus, bool) {
161419	return nil, false
161420}
161421
161422// AsBasicIntegrationRuntimeStatus is the BasicIntegrationRuntimeStatus implementation for SelfHostedIntegrationRuntimeStatus.
161423func (shirs SelfHostedIntegrationRuntimeStatus) AsBasicIntegrationRuntimeStatus() (BasicIntegrationRuntimeStatus, bool) {
161424	return &shirs, true
161425}
161426
161427// UnmarshalJSON is the custom unmarshaler for SelfHostedIntegrationRuntimeStatus struct.
161428func (shirs *SelfHostedIntegrationRuntimeStatus) UnmarshalJSON(body []byte) error {
161429	var m map[string]*json.RawMessage
161430	err := json.Unmarshal(body, &m)
161431	if err != nil {
161432		return err
161433	}
161434	for k, v := range m {
161435		switch k {
161436		case "typeProperties":
161437			if v != nil {
161438				var selfHostedIntegrationRuntimeStatusTypeProperties SelfHostedIntegrationRuntimeStatusTypeProperties
161439				err = json.Unmarshal(*v, &selfHostedIntegrationRuntimeStatusTypeProperties)
161440				if err != nil {
161441					return err
161442				}
161443				shirs.SelfHostedIntegrationRuntimeStatusTypeProperties = &selfHostedIntegrationRuntimeStatusTypeProperties
161444			}
161445		default:
161446			if v != nil {
161447				var additionalProperties interface{}
161448				err = json.Unmarshal(*v, &additionalProperties)
161449				if err != nil {
161450					return err
161451				}
161452				if shirs.AdditionalProperties == nil {
161453					shirs.AdditionalProperties = make(map[string]interface{})
161454				}
161455				shirs.AdditionalProperties[k] = additionalProperties
161456			}
161457		case "dataFactoryName":
161458			if v != nil {
161459				var dataFactoryName string
161460				err = json.Unmarshal(*v, &dataFactoryName)
161461				if err != nil {
161462					return err
161463				}
161464				shirs.DataFactoryName = &dataFactoryName
161465			}
161466		case "state":
161467			if v != nil {
161468				var state IntegrationRuntimeState
161469				err = json.Unmarshal(*v, &state)
161470				if err != nil {
161471					return err
161472				}
161473				shirs.State = state
161474			}
161475		case "type":
161476			if v != nil {
161477				var typeVar TypeBasicIntegrationRuntimeStatus
161478				err = json.Unmarshal(*v, &typeVar)
161479				if err != nil {
161480					return err
161481				}
161482				shirs.Type = typeVar
161483			}
161484		}
161485	}
161486
161487	return nil
161488}
161489
161490// SelfHostedIntegrationRuntimeStatusTypeProperties self-hosted integration runtime status type properties.
161491type SelfHostedIntegrationRuntimeStatusTypeProperties struct {
161492	// CreateTime - READ-ONLY; The time at which the integration runtime was created, in ISO8601 format.
161493	CreateTime *date.Time `json:"createTime,omitempty"`
161494	// TaskQueueID - READ-ONLY; The task queue id of the integration runtime.
161495	TaskQueueID *string `json:"taskQueueId,omitempty"`
161496	// 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'
161497	InternalChannelEncryption IntegrationRuntimeInternalChannelEncryptionMode `json:"internalChannelEncryption,omitempty"`
161498	// Version - READ-ONLY; Version of the integration runtime.
161499	Version *string `json:"version,omitempty"`
161500	// Nodes - The list of nodes for this integration runtime.
161501	Nodes *[]SelfHostedIntegrationRuntimeNode `json:"nodes,omitempty"`
161502	// ScheduledUpdateDate - READ-ONLY; The date at which the integration runtime will be scheduled to update, in ISO8601 format.
161503	ScheduledUpdateDate *date.Time `json:"scheduledUpdateDate,omitempty"`
161504	// UpdateDelayOffset - READ-ONLY; The time in the date scheduled by service to update the integration runtime, e.g., PT03H is 3 hours
161505	UpdateDelayOffset *string `json:"updateDelayOffset,omitempty"`
161506	// LocalTimeZoneOffset - READ-ONLY; The local time zone offset in hours.
161507	LocalTimeZoneOffset *string `json:"localTimeZoneOffset,omitempty"`
161508	// Capabilities - READ-ONLY; Object with additional information about integration runtime capabilities.
161509	Capabilities map[string]*string `json:"capabilities"`
161510	// ServiceUrls - READ-ONLY; The URLs for the services used in integration runtime backend service.
161511	ServiceUrls *[]string `json:"serviceUrls,omitempty"`
161512	// AutoUpdate - READ-ONLY; Whether Self-hosted integration runtime auto update has been turned on. Possible values include: 'On', 'Off'
161513	AutoUpdate IntegrationRuntimeAutoUpdate `json:"autoUpdate,omitempty"`
161514	// VersionStatus - READ-ONLY; Status of the integration runtime version.
161515	VersionStatus *string `json:"versionStatus,omitempty"`
161516	// Links - The list of linked integration runtimes that are created to share with this integration runtime.
161517	Links *[]LinkedIntegrationRuntime `json:"links,omitempty"`
161518	// PushedVersion - READ-ONLY; The version that the integration runtime is going to update to.
161519	PushedVersion *string `json:"pushedVersion,omitempty"`
161520	// LatestVersion - READ-ONLY; The latest version on download center.
161521	LatestVersion *string `json:"latestVersion,omitempty"`
161522	// AutoUpdateETA - READ-ONLY; The estimated time when the self-hosted integration runtime will be updated.
161523	AutoUpdateETA *date.Time `json:"autoUpdateETA,omitempty"`
161524}
161525
161526// MarshalJSON is the custom marshaler for SelfHostedIntegrationRuntimeStatusTypeProperties.
161527func (shirstp SelfHostedIntegrationRuntimeStatusTypeProperties) MarshalJSON() ([]byte, error) {
161528	objectMap := make(map[string]interface{})
161529	if shirstp.Nodes != nil {
161530		objectMap["nodes"] = shirstp.Nodes
161531	}
161532	if shirstp.Links != nil {
161533		objectMap["links"] = shirstp.Links
161534	}
161535	return json.Marshal(objectMap)
161536}
161537
161538// SelfHostedIntegrationRuntimeTypeProperties the self-hosted integration runtime properties.
161539type SelfHostedIntegrationRuntimeTypeProperties struct {
161540	LinkedInfo BasicLinkedIntegrationRuntimeType `json:"linkedInfo,omitempty"`
161541}
161542
161543// UnmarshalJSON is the custom unmarshaler for SelfHostedIntegrationRuntimeTypeProperties struct.
161544func (shirtp *SelfHostedIntegrationRuntimeTypeProperties) UnmarshalJSON(body []byte) error {
161545	var m map[string]*json.RawMessage
161546	err := json.Unmarshal(body, &m)
161547	if err != nil {
161548		return err
161549	}
161550	for k, v := range m {
161551		switch k {
161552		case "linkedInfo":
161553			if v != nil {
161554				linkedInfo, err := unmarshalBasicLinkedIntegrationRuntimeType(*v)
161555				if err != nil {
161556					return err
161557				}
161558				shirtp.LinkedInfo = linkedInfo
161559			}
161560		}
161561	}
161562
161563	return nil
161564}
161565
161566// ServiceNowLinkedService serviceNow server linked service.
161567type ServiceNowLinkedService struct {
161568	// ServiceNowLinkedServiceTypeProperties - ServiceNow server linked service properties.
161569	*ServiceNowLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
161570	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
161571	AdditionalProperties map[string]interface{} `json:""`
161572	// ConnectVia - The integration runtime reference.
161573	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
161574	// Description - Linked service description.
161575	Description *string `json:"description,omitempty"`
161576	// Parameters - Parameters for linked service.
161577	Parameters map[string]*ParameterSpecification `json:"parameters"`
161578	// Annotations - List of tags that can be used for describing the linked service.
161579	Annotations *[]interface{} `json:"annotations,omitempty"`
161580	// Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', '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', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage'
161581	Type TypeBasicLinkedService `json:"type,omitempty"`
161582}
161583
161584// MarshalJSON is the custom marshaler for ServiceNowLinkedService.
161585func (snls ServiceNowLinkedService) MarshalJSON() ([]byte, error) {
161586	snls.Type = TypeServiceNow
161587	objectMap := make(map[string]interface{})
161588	if snls.ServiceNowLinkedServiceTypeProperties != nil {
161589		objectMap["typeProperties"] = snls.ServiceNowLinkedServiceTypeProperties
161590	}
161591	if snls.ConnectVia != nil {
161592		objectMap["connectVia"] = snls.ConnectVia
161593	}
161594	if snls.Description != nil {
161595		objectMap["description"] = snls.Description
161596	}
161597	if snls.Parameters != nil {
161598		objectMap["parameters"] = snls.Parameters
161599	}
161600	if snls.Annotations != nil {
161601		objectMap["annotations"] = snls.Annotations
161602	}
161603	if snls.Type != "" {
161604		objectMap["type"] = snls.Type
161605	}
161606	for k, v := range snls.AdditionalProperties {
161607		objectMap[k] = v
161608	}
161609	return json.Marshal(objectMap)
161610}
161611
161612// AsAzureFunctionLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
161613func (snls ServiceNowLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) {
161614	return nil, false
161615}
161616
161617// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
161618func (snls ServiceNowLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) {
161619	return nil, false
161620}
161621
161622// AsSapTableLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
161623func (snls ServiceNowLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) {
161624	return nil, false
161625}
161626
161627// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
161628func (snls ServiceNowLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) {
161629	return nil, false
161630}
161631
161632// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
161633func (snls ServiceNowLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) {
161634	return nil, false
161635}
161636
161637// AsDynamicsAXLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
161638func (snls ServiceNowLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) {
161639	return nil, false
161640}
161641
161642// AsResponsysLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
161643func (snls ServiceNowLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
161644	return nil, false
161645}
161646
161647// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
161648func (snls ServiceNowLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
161649	return nil, false
161650}
161651
161652// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
161653func (snls ServiceNowLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
161654	return nil, false
161655}
161656
161657// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
161658func (snls ServiceNowLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
161659	return nil, false
161660}
161661
161662// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
161663func (snls ServiceNowLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
161664	return nil, false
161665}
161666
161667// AsNetezzaLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
161668func (snls ServiceNowLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
161669	return nil, false
161670}
161671
161672// AsVerticaLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
161673func (snls ServiceNowLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
161674	return nil, false
161675}
161676
161677// AsZohoLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
161678func (snls ServiceNowLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
161679	return nil, false
161680}
161681
161682// AsXeroLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
161683func (snls ServiceNowLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
161684	return nil, false
161685}
161686
161687// AsSquareLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
161688func (snls ServiceNowLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
161689	return nil, false
161690}
161691
161692// AsSparkLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
161693func (snls ServiceNowLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
161694	return nil, false
161695}
161696
161697// AsShopifyLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
161698func (snls ServiceNowLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
161699	return nil, false
161700}
161701
161702// AsServiceNowLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
161703func (snls ServiceNowLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
161704	return &snls, true
161705}
161706
161707// AsQuickBooksLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
161708func (snls ServiceNowLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
161709	return nil, false
161710}
161711
161712// AsPrestoLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
161713func (snls ServiceNowLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
161714	return nil, false
161715}
161716
161717// AsPhoenixLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
161718func (snls ServiceNowLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
161719	return nil, false
161720}
161721
161722// AsPaypalLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
161723func (snls ServiceNowLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
161724	return nil, false
161725}
161726
161727// AsMarketoLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
161728func (snls ServiceNowLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
161729	return nil, false
161730}
161731
161732// AsMariaDBLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
161733func (snls ServiceNowLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
161734	return nil, false
161735}
161736
161737// AsMagentoLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
161738func (snls ServiceNowLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
161739	return nil, false
161740}
161741
161742// AsJiraLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
161743func (snls ServiceNowLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
161744	return nil, false
161745}
161746
161747// AsImpalaLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
161748func (snls ServiceNowLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
161749	return nil, false
161750}
161751
161752// AsHubspotLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
161753func (snls ServiceNowLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
161754	return nil, false
161755}
161756
161757// AsHiveLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
161758func (snls ServiceNowLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
161759	return nil, false
161760}
161761
161762// AsHBaseLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
161763func (snls ServiceNowLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
161764	return nil, false
161765}
161766
161767// AsGreenplumLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
161768func (snls ServiceNowLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
161769	return nil, false
161770}
161771
161772// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
161773func (snls ServiceNowLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
161774	return nil, false
161775}
161776
161777// AsEloquaLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
161778func (snls ServiceNowLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
161779	return nil, false
161780}
161781
161782// AsDrillLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
161783func (snls ServiceNowLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
161784	return nil, false
161785}
161786
161787// AsCouchbaseLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
161788func (snls ServiceNowLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
161789	return nil, false
161790}
161791
161792// AsConcurLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
161793func (snls ServiceNowLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
161794	return nil, false
161795}
161796
161797// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
161798func (snls ServiceNowLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
161799	return nil, false
161800}
161801
161802// AsAmazonMWSLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
161803func (snls ServiceNowLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
161804	return nil, false
161805}
161806
161807// AsSapHanaLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
161808func (snls ServiceNowLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
161809	return nil, false
161810}
161811
161812// AsSapBWLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
161813func (snls ServiceNowLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
161814	return nil, false
161815}
161816
161817// AsSftpServerLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
161818func (snls ServiceNowLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
161819	return nil, false
161820}
161821
161822// AsFtpServerLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
161823func (snls ServiceNowLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
161824	return nil, false
161825}
161826
161827// AsHTTPLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
161828func (snls ServiceNowLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
161829	return nil, false
161830}
161831
161832// AsAzureSearchLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
161833func (snls ServiceNowLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
161834	return nil, false
161835}
161836
161837// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
161838func (snls ServiceNowLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
161839	return nil, false
161840}
161841
161842// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
161843func (snls ServiceNowLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
161844	return nil, false
161845}
161846
161847// AsAmazonS3LinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
161848func (snls ServiceNowLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
161849	return nil, false
161850}
161851
161852// AsRestServiceLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
161853func (snls ServiceNowLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) {
161854	return nil, false
161855}
161856
161857// AsSapOpenHubLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
161858func (snls ServiceNowLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) {
161859	return nil, false
161860}
161861
161862// AsSapEccLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
161863func (snls ServiceNowLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
161864	return nil, false
161865}
161866
161867// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
161868func (snls ServiceNowLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
161869	return nil, false
161870}
161871
161872// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
161873func (snls ServiceNowLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) {
161874	return nil, false
161875}
161876
161877// AsSalesforceLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
161878func (snls ServiceNowLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
161879	return nil, false
161880}
161881
161882// AsOffice365LinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
161883func (snls ServiceNowLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) {
161884	return nil, false
161885}
161886
161887// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
161888func (snls ServiceNowLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) {
161889	return nil, false
161890}
161891
161892// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
161893func (snls ServiceNowLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
161894	return nil, false
161895}
161896
161897// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
161898func (snls ServiceNowLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) {
161899	return nil, false
161900}
161901
161902// AsMongoDbV2LinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
161903func (snls ServiceNowLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) {
161904	return nil, false
161905}
161906
161907// AsMongoDbLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
161908func (snls ServiceNowLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
161909	return nil, false
161910}
161911
161912// AsCassandraLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
161913func (snls ServiceNowLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
161914	return nil, false
161915}
161916
161917// AsWebLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
161918func (snls ServiceNowLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
161919	return nil, false
161920}
161921
161922// AsODataLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
161923func (snls ServiceNowLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
161924	return nil, false
161925}
161926
161927// AsHdfsLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
161928func (snls ServiceNowLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
161929	return nil, false
161930}
161931
161932// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
161933func (snls ServiceNowLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) {
161934	return nil, false
161935}
161936
161937// AsInformixLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
161938func (snls ServiceNowLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) {
161939	return nil, false
161940}
161941
161942// AsOdbcLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
161943func (snls ServiceNowLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
161944	return nil, false
161945}
161946
161947// AsAzureMLLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
161948func (snls ServiceNowLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
161949	return nil, false
161950}
161951
161952// AsTeradataLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
161953func (snls ServiceNowLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
161954	return nil, false
161955}
161956
161957// AsDb2LinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
161958func (snls ServiceNowLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
161959	return nil, false
161960}
161961
161962// AsSybaseLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
161963func (snls ServiceNowLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
161964	return nil, false
161965}
161966
161967// AsPostgreSQLLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
161968func (snls ServiceNowLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
161969	return nil, false
161970}
161971
161972// AsMySQLLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
161973func (snls ServiceNowLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
161974	return nil, false
161975}
161976
161977// AsAzureMySQLLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
161978func (snls ServiceNowLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
161979	return nil, false
161980}
161981
161982// AsOracleLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
161983func (snls ServiceNowLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
161984	return nil, false
161985}
161986
161987// AsFileServerLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
161988func (snls ServiceNowLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
161989	return nil, false
161990}
161991
161992// AsHDInsightLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
161993func (snls ServiceNowLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
161994	return nil, false
161995}
161996
161997// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
161998func (snls ServiceNowLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) {
161999	return nil, false
162000}
162001
162002// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
162003func (snls ServiceNowLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) {
162004	return nil, false
162005}
162006
162007// AsDynamicsLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
162008func (snls ServiceNowLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
162009	return nil, false
162010}
162011
162012// AsCosmosDbLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
162013func (snls ServiceNowLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
162014	return nil, false
162015}
162016
162017// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
162018func (snls ServiceNowLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
162019	return nil, false
162020}
162021
162022// AsAzureBatchLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
162023func (snls ServiceNowLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
162024	return nil, false
162025}
162026
162027// AsAzureSQLMILinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
162028func (snls ServiceNowLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) {
162029	return nil, false
162030}
162031
162032// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
162033func (snls ServiceNowLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
162034	return nil, false
162035}
162036
162037// AsSQLServerLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
162038func (snls ServiceNowLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
162039	return nil, false
162040}
162041
162042// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
162043func (snls ServiceNowLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
162044	return nil, false
162045}
162046
162047// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
162048func (snls ServiceNowLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) {
162049	return nil, false
162050}
162051
162052// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
162053func (snls ServiceNowLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) {
162054	return nil, false
162055}
162056
162057// AsAzureStorageLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
162058func (snls ServiceNowLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
162059	return nil, false
162060}
162061
162062// AsLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
162063func (snls ServiceNowLinkedService) AsLinkedService() (*LinkedService, bool) {
162064	return nil, false
162065}
162066
162067// AsBasicLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
162068func (snls ServiceNowLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
162069	return &snls, true
162070}
162071
162072// UnmarshalJSON is the custom unmarshaler for ServiceNowLinkedService struct.
162073func (snls *ServiceNowLinkedService) UnmarshalJSON(body []byte) error {
162074	var m map[string]*json.RawMessage
162075	err := json.Unmarshal(body, &m)
162076	if err != nil {
162077		return err
162078	}
162079	for k, v := range m {
162080		switch k {
162081		case "typeProperties":
162082			if v != nil {
162083				var serviceNowLinkedServiceTypeProperties ServiceNowLinkedServiceTypeProperties
162084				err = json.Unmarshal(*v, &serviceNowLinkedServiceTypeProperties)
162085				if err != nil {
162086					return err
162087				}
162088				snls.ServiceNowLinkedServiceTypeProperties = &serviceNowLinkedServiceTypeProperties
162089			}
162090		default:
162091			if v != nil {
162092				var additionalProperties interface{}
162093				err = json.Unmarshal(*v, &additionalProperties)
162094				if err != nil {
162095					return err
162096				}
162097				if snls.AdditionalProperties == nil {
162098					snls.AdditionalProperties = make(map[string]interface{})
162099				}
162100				snls.AdditionalProperties[k] = additionalProperties
162101			}
162102		case "connectVia":
162103			if v != nil {
162104				var connectVia IntegrationRuntimeReference
162105				err = json.Unmarshal(*v, &connectVia)
162106				if err != nil {
162107					return err
162108				}
162109				snls.ConnectVia = &connectVia
162110			}
162111		case "description":
162112			if v != nil {
162113				var description string
162114				err = json.Unmarshal(*v, &description)
162115				if err != nil {
162116					return err
162117				}
162118				snls.Description = &description
162119			}
162120		case "parameters":
162121			if v != nil {
162122				var parameters map[string]*ParameterSpecification
162123				err = json.Unmarshal(*v, &parameters)
162124				if err != nil {
162125					return err
162126				}
162127				snls.Parameters = parameters
162128			}
162129		case "annotations":
162130			if v != nil {
162131				var annotations []interface{}
162132				err = json.Unmarshal(*v, &annotations)
162133				if err != nil {
162134					return err
162135				}
162136				snls.Annotations = &annotations
162137			}
162138		case "type":
162139			if v != nil {
162140				var typeVar TypeBasicLinkedService
162141				err = json.Unmarshal(*v, &typeVar)
162142				if err != nil {
162143					return err
162144				}
162145				snls.Type = typeVar
162146			}
162147		}
162148	}
162149
162150	return nil
162151}
162152
162153// ServiceNowLinkedServiceTypeProperties serviceNow server linked service properties.
162154type ServiceNowLinkedServiceTypeProperties struct {
162155	// Endpoint - The endpoint of the ServiceNow server. (i.e. <instance>.service-now.com)
162156	Endpoint interface{} `json:"endpoint,omitempty"`
162157	// AuthenticationType - The authentication type to use. Possible values include: 'ServiceNowAuthenticationTypeBasic', 'ServiceNowAuthenticationTypeOAuth2'
162158	AuthenticationType ServiceNowAuthenticationType `json:"authenticationType,omitempty"`
162159	// Username - The user name used to connect to the ServiceNow server for Basic and OAuth2 authentication.
162160	Username interface{} `json:"username,omitempty"`
162161	// Password - The password corresponding to the user name for Basic and OAuth2 authentication.
162162	Password BasicSecretBase `json:"password,omitempty"`
162163	// ClientID - The client id for OAuth2 authentication.
162164	ClientID interface{} `json:"clientId,omitempty"`
162165	// ClientSecret - The client secret for OAuth2 authentication.
162166	ClientSecret BasicSecretBase `json:"clientSecret,omitempty"`
162167	// UseEncryptedEndpoints - Specifies whether the data source endpoints are encrypted using HTTPS. The default value is true.
162168	UseEncryptedEndpoints interface{} `json:"useEncryptedEndpoints,omitempty"`
162169	// 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.
162170	UseHostVerification interface{} `json:"useHostVerification,omitempty"`
162171	// UsePeerVerification - Specifies whether to verify the identity of the server when connecting over SSL. The default value is true.
162172	UsePeerVerification interface{} `json:"usePeerVerification,omitempty"`
162173	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
162174	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
162175}
162176
162177// UnmarshalJSON is the custom unmarshaler for ServiceNowLinkedServiceTypeProperties struct.
162178func (snlstp *ServiceNowLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
162179	var m map[string]*json.RawMessage
162180	err := json.Unmarshal(body, &m)
162181	if err != nil {
162182		return err
162183	}
162184	for k, v := range m {
162185		switch k {
162186		case "endpoint":
162187			if v != nil {
162188				var endpoint interface{}
162189				err = json.Unmarshal(*v, &endpoint)
162190				if err != nil {
162191					return err
162192				}
162193				snlstp.Endpoint = endpoint
162194			}
162195		case "authenticationType":
162196			if v != nil {
162197				var authenticationType ServiceNowAuthenticationType
162198				err = json.Unmarshal(*v, &authenticationType)
162199				if err != nil {
162200					return err
162201				}
162202				snlstp.AuthenticationType = authenticationType
162203			}
162204		case "username":
162205			if v != nil {
162206				var username interface{}
162207				err = json.Unmarshal(*v, &username)
162208				if err != nil {
162209					return err
162210				}
162211				snlstp.Username = username
162212			}
162213		case "password":
162214			if v != nil {
162215				password, err := unmarshalBasicSecretBase(*v)
162216				if err != nil {
162217					return err
162218				}
162219				snlstp.Password = password
162220			}
162221		case "clientId":
162222			if v != nil {
162223				var clientID interface{}
162224				err = json.Unmarshal(*v, &clientID)
162225				if err != nil {
162226					return err
162227				}
162228				snlstp.ClientID = clientID
162229			}
162230		case "clientSecret":
162231			if v != nil {
162232				clientSecret, err := unmarshalBasicSecretBase(*v)
162233				if err != nil {
162234					return err
162235				}
162236				snlstp.ClientSecret = clientSecret
162237			}
162238		case "useEncryptedEndpoints":
162239			if v != nil {
162240				var useEncryptedEndpoints interface{}
162241				err = json.Unmarshal(*v, &useEncryptedEndpoints)
162242				if err != nil {
162243					return err
162244				}
162245				snlstp.UseEncryptedEndpoints = useEncryptedEndpoints
162246			}
162247		case "useHostVerification":
162248			if v != nil {
162249				var useHostVerification interface{}
162250				err = json.Unmarshal(*v, &useHostVerification)
162251				if err != nil {
162252					return err
162253				}
162254				snlstp.UseHostVerification = useHostVerification
162255			}
162256		case "usePeerVerification":
162257			if v != nil {
162258				var usePeerVerification interface{}
162259				err = json.Unmarshal(*v, &usePeerVerification)
162260				if err != nil {
162261					return err
162262				}
162263				snlstp.UsePeerVerification = usePeerVerification
162264			}
162265		case "encryptedCredential":
162266			if v != nil {
162267				var encryptedCredential interface{}
162268				err = json.Unmarshal(*v, &encryptedCredential)
162269				if err != nil {
162270					return err
162271				}
162272				snlstp.EncryptedCredential = encryptedCredential
162273			}
162274		}
162275	}
162276
162277	return nil
162278}
162279
162280// ServiceNowObjectDataset serviceNow server dataset.
162281type ServiceNowObjectDataset struct {
162282	// GenericDatasetTypeProperties - Properties specific to this dataset type.
162283	*GenericDatasetTypeProperties `json:"typeProperties,omitempty"`
162284	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
162285	AdditionalProperties map[string]interface{} `json:""`
162286	// Description - Dataset description.
162287	Description *string `json:"description,omitempty"`
162288	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
162289	Structure interface{} `json:"structure,omitempty"`
162290	// Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement.
162291	Schema interface{} `json:"schema,omitempty"`
162292	// LinkedServiceName - Linked service reference.
162293	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
162294	// Parameters - Parameters for dataset.
162295	Parameters map[string]*ParameterSpecification `json:"parameters"`
162296	// Annotations - List of tags that can be used for describing the Dataset.
162297	Annotations *[]interface{} `json:"annotations,omitempty"`
162298	// Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level.
162299	Folder *DatasetFolder `json:"folder,omitempty"`
162300	// Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', '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', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeDelimitedText', 'TypeParquet', 'TypeAmazonS3Object'
162301	Type TypeBasicDataset `json:"type,omitempty"`
162302}
162303
162304// MarshalJSON is the custom marshaler for ServiceNowObjectDataset.
162305func (snod ServiceNowObjectDataset) MarshalJSON() ([]byte, error) {
162306	snod.Type = TypeServiceNowObject
162307	objectMap := make(map[string]interface{})
162308	if snod.GenericDatasetTypeProperties != nil {
162309		objectMap["typeProperties"] = snod.GenericDatasetTypeProperties
162310	}
162311	if snod.Description != nil {
162312		objectMap["description"] = snod.Description
162313	}
162314	if snod.Structure != nil {
162315		objectMap["structure"] = snod.Structure
162316	}
162317	if snod.Schema != nil {
162318		objectMap["schema"] = snod.Schema
162319	}
162320	if snod.LinkedServiceName != nil {
162321		objectMap["linkedServiceName"] = snod.LinkedServiceName
162322	}
162323	if snod.Parameters != nil {
162324		objectMap["parameters"] = snod.Parameters
162325	}
162326	if snod.Annotations != nil {
162327		objectMap["annotations"] = snod.Annotations
162328	}
162329	if snod.Folder != nil {
162330		objectMap["folder"] = snod.Folder
162331	}
162332	if snod.Type != "" {
162333		objectMap["type"] = snod.Type
162334	}
162335	for k, v := range snod.AdditionalProperties {
162336		objectMap[k] = v
162337	}
162338	return json.Marshal(objectMap)
162339}
162340
162341// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for ServiceNowObjectDataset.
162342func (snod ServiceNowObjectDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) {
162343	return nil, false
162344}
162345
162346// AsAzureDataExplorerTableDataset is the BasicDataset implementation for ServiceNowObjectDataset.
162347func (snod ServiceNowObjectDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) {
162348	return nil, false
162349}
162350
162351// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for ServiceNowObjectDataset.
162352func (snod ServiceNowObjectDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) {
162353	return nil, false
162354}
162355
162356// AsDynamicsAXResourceDataset is the BasicDataset implementation for ServiceNowObjectDataset.
162357func (snod ServiceNowObjectDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) {
162358	return nil, false
162359}
162360
162361// AsResponsysObjectDataset is the BasicDataset implementation for ServiceNowObjectDataset.
162362func (snod ServiceNowObjectDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
162363	return nil, false
162364}
162365
162366// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for ServiceNowObjectDataset.
162367func (snod ServiceNowObjectDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
162368	return nil, false
162369}
162370
162371// AsVerticaTableDataset is the BasicDataset implementation for ServiceNowObjectDataset.
162372func (snod ServiceNowObjectDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
162373	return nil, false
162374}
162375
162376// AsNetezzaTableDataset is the BasicDataset implementation for ServiceNowObjectDataset.
162377func (snod ServiceNowObjectDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
162378	return nil, false
162379}
162380
162381// AsZohoObjectDataset is the BasicDataset implementation for ServiceNowObjectDataset.
162382func (snod ServiceNowObjectDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
162383	return nil, false
162384}
162385
162386// AsXeroObjectDataset is the BasicDataset implementation for ServiceNowObjectDataset.
162387func (snod ServiceNowObjectDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
162388	return nil, false
162389}
162390
162391// AsSquareObjectDataset is the BasicDataset implementation for ServiceNowObjectDataset.
162392func (snod ServiceNowObjectDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
162393	return nil, false
162394}
162395
162396// AsSparkObjectDataset is the BasicDataset implementation for ServiceNowObjectDataset.
162397func (snod ServiceNowObjectDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
162398	return nil, false
162399}
162400
162401// AsShopifyObjectDataset is the BasicDataset implementation for ServiceNowObjectDataset.
162402func (snod ServiceNowObjectDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
162403	return nil, false
162404}
162405
162406// AsServiceNowObjectDataset is the BasicDataset implementation for ServiceNowObjectDataset.
162407func (snod ServiceNowObjectDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
162408	return &snod, true
162409}
162410
162411// AsQuickBooksObjectDataset is the BasicDataset implementation for ServiceNowObjectDataset.
162412func (snod ServiceNowObjectDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
162413	return nil, false
162414}
162415
162416// AsPrestoObjectDataset is the BasicDataset implementation for ServiceNowObjectDataset.
162417func (snod ServiceNowObjectDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
162418	return nil, false
162419}
162420
162421// AsPhoenixObjectDataset is the BasicDataset implementation for ServiceNowObjectDataset.
162422func (snod ServiceNowObjectDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
162423	return nil, false
162424}
162425
162426// AsPaypalObjectDataset is the BasicDataset implementation for ServiceNowObjectDataset.
162427func (snod ServiceNowObjectDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
162428	return nil, false
162429}
162430
162431// AsMarketoObjectDataset is the BasicDataset implementation for ServiceNowObjectDataset.
162432func (snod ServiceNowObjectDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
162433	return nil, false
162434}
162435
162436// AsMariaDBTableDataset is the BasicDataset implementation for ServiceNowObjectDataset.
162437func (snod ServiceNowObjectDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
162438	return nil, false
162439}
162440
162441// AsMagentoObjectDataset is the BasicDataset implementation for ServiceNowObjectDataset.
162442func (snod ServiceNowObjectDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
162443	return nil, false
162444}
162445
162446// AsJiraObjectDataset is the BasicDataset implementation for ServiceNowObjectDataset.
162447func (snod ServiceNowObjectDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
162448	return nil, false
162449}
162450
162451// AsImpalaObjectDataset is the BasicDataset implementation for ServiceNowObjectDataset.
162452func (snod ServiceNowObjectDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
162453	return nil, false
162454}
162455
162456// AsHubspotObjectDataset is the BasicDataset implementation for ServiceNowObjectDataset.
162457func (snod ServiceNowObjectDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
162458	return nil, false
162459}
162460
162461// AsHiveObjectDataset is the BasicDataset implementation for ServiceNowObjectDataset.
162462func (snod ServiceNowObjectDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
162463	return nil, false
162464}
162465
162466// AsHBaseObjectDataset is the BasicDataset implementation for ServiceNowObjectDataset.
162467func (snod ServiceNowObjectDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
162468	return nil, false
162469}
162470
162471// AsGreenplumTableDataset is the BasicDataset implementation for ServiceNowObjectDataset.
162472func (snod ServiceNowObjectDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
162473	return nil, false
162474}
162475
162476// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for ServiceNowObjectDataset.
162477func (snod ServiceNowObjectDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
162478	return nil, false
162479}
162480
162481// AsEloquaObjectDataset is the BasicDataset implementation for ServiceNowObjectDataset.
162482func (snod ServiceNowObjectDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
162483	return nil, false
162484}
162485
162486// AsDrillTableDataset is the BasicDataset implementation for ServiceNowObjectDataset.
162487func (snod ServiceNowObjectDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
162488	return nil, false
162489}
162490
162491// AsCouchbaseTableDataset is the BasicDataset implementation for ServiceNowObjectDataset.
162492func (snod ServiceNowObjectDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
162493	return nil, false
162494}
162495
162496// AsConcurObjectDataset is the BasicDataset implementation for ServiceNowObjectDataset.
162497func (snod ServiceNowObjectDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
162498	return nil, false
162499}
162500
162501// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for ServiceNowObjectDataset.
162502func (snod ServiceNowObjectDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
162503	return nil, false
162504}
162505
162506// AsAmazonMWSObjectDataset is the BasicDataset implementation for ServiceNowObjectDataset.
162507func (snod ServiceNowObjectDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
162508	return nil, false
162509}
162510
162511// AsHTTPDataset is the BasicDataset implementation for ServiceNowObjectDataset.
162512func (snod ServiceNowObjectDataset) AsHTTPDataset() (*HTTPDataset, bool) {
162513	return nil, false
162514}
162515
162516// AsAzureSearchIndexDataset is the BasicDataset implementation for ServiceNowObjectDataset.
162517func (snod ServiceNowObjectDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
162518	return nil, false
162519}
162520
162521// AsWebTableDataset is the BasicDataset implementation for ServiceNowObjectDataset.
162522func (snod ServiceNowObjectDataset) AsWebTableDataset() (*WebTableDataset, bool) {
162523	return nil, false
162524}
162525
162526// AsSapTableResourceDataset is the BasicDataset implementation for ServiceNowObjectDataset.
162527func (snod ServiceNowObjectDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) {
162528	return nil, false
162529}
162530
162531// AsRestResourceDataset is the BasicDataset implementation for ServiceNowObjectDataset.
162532func (snod ServiceNowObjectDataset) AsRestResourceDataset() (*RestResourceDataset, bool) {
162533	return nil, false
162534}
162535
162536// AsSQLServerTableDataset is the BasicDataset implementation for ServiceNowObjectDataset.
162537func (snod ServiceNowObjectDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
162538	return nil, false
162539}
162540
162541// AsSapOpenHubTableDataset is the BasicDataset implementation for ServiceNowObjectDataset.
162542func (snod ServiceNowObjectDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) {
162543	return nil, false
162544}
162545
162546// AsSapHanaTableDataset is the BasicDataset implementation for ServiceNowObjectDataset.
162547func (snod ServiceNowObjectDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) {
162548	return nil, false
162549}
162550
162551// AsSapEccResourceDataset is the BasicDataset implementation for ServiceNowObjectDataset.
162552func (snod ServiceNowObjectDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
162553	return nil, false
162554}
162555
162556// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for ServiceNowObjectDataset.
162557func (snod ServiceNowObjectDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
162558	return nil, false
162559}
162560
162561// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for ServiceNowObjectDataset.
162562func (snod ServiceNowObjectDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) {
162563	return nil, false
162564}
162565
162566// AsSalesforceObjectDataset is the BasicDataset implementation for ServiceNowObjectDataset.
162567func (snod ServiceNowObjectDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
162568	return nil, false
162569}
162570
162571// AsMicrosoftAccessTableDataset is the BasicDataset implementation for ServiceNowObjectDataset.
162572func (snod ServiceNowObjectDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) {
162573	return nil, false
162574}
162575
162576// AsPostgreSQLTableDataset is the BasicDataset implementation for ServiceNowObjectDataset.
162577func (snod ServiceNowObjectDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) {
162578	return nil, false
162579}
162580
162581// AsMySQLTableDataset is the BasicDataset implementation for ServiceNowObjectDataset.
162582func (snod ServiceNowObjectDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) {
162583	return nil, false
162584}
162585
162586// AsOdbcTableDataset is the BasicDataset implementation for ServiceNowObjectDataset.
162587func (snod ServiceNowObjectDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) {
162588	return nil, false
162589}
162590
162591// AsInformixTableDataset is the BasicDataset implementation for ServiceNowObjectDataset.
162592func (snod ServiceNowObjectDataset) AsInformixTableDataset() (*InformixTableDataset, bool) {
162593	return nil, false
162594}
162595
162596// AsRelationalTableDataset is the BasicDataset implementation for ServiceNowObjectDataset.
162597func (snod ServiceNowObjectDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
162598	return nil, false
162599}
162600
162601// AsAzureMySQLTableDataset is the BasicDataset implementation for ServiceNowObjectDataset.
162602func (snod ServiceNowObjectDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
162603	return nil, false
162604}
162605
162606// AsTeradataTableDataset is the BasicDataset implementation for ServiceNowObjectDataset.
162607func (snod ServiceNowObjectDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) {
162608	return nil, false
162609}
162610
162611// AsOracleTableDataset is the BasicDataset implementation for ServiceNowObjectDataset.
162612func (snod ServiceNowObjectDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
162613	return nil, false
162614}
162615
162616// AsODataResourceDataset is the BasicDataset implementation for ServiceNowObjectDataset.
162617func (snod ServiceNowObjectDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
162618	return nil, false
162619}
162620
162621// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for ServiceNowObjectDataset.
162622func (snod ServiceNowObjectDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) {
162623	return nil, false
162624}
162625
162626// AsMongoDbV2CollectionDataset is the BasicDataset implementation for ServiceNowObjectDataset.
162627func (snod ServiceNowObjectDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) {
162628	return nil, false
162629}
162630
162631// AsMongoDbCollectionDataset is the BasicDataset implementation for ServiceNowObjectDataset.
162632func (snod ServiceNowObjectDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
162633	return nil, false
162634}
162635
162636// AsFileShareDataset is the BasicDataset implementation for ServiceNowObjectDataset.
162637func (snod ServiceNowObjectDataset) AsFileShareDataset() (*FileShareDataset, bool) {
162638	return nil, false
162639}
162640
162641// AsOffice365Dataset is the BasicDataset implementation for ServiceNowObjectDataset.
162642func (snod ServiceNowObjectDataset) AsOffice365Dataset() (*Office365Dataset, bool) {
162643	return nil, false
162644}
162645
162646// AsAzureBlobFSDataset is the BasicDataset implementation for ServiceNowObjectDataset.
162647func (snod ServiceNowObjectDataset) AsAzureBlobFSDataset() (*AzureBlobFSDataset, bool) {
162648	return nil, false
162649}
162650
162651// AsAzureDataLakeStoreDataset is the BasicDataset implementation for ServiceNowObjectDataset.
162652func (snod ServiceNowObjectDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) {
162653	return nil, false
162654}
162655
162656// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for ServiceNowObjectDataset.
162657func (snod ServiceNowObjectDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) {
162658	return nil, false
162659}
162660
162661// AsDynamicsCrmEntityDataset is the BasicDataset implementation for ServiceNowObjectDataset.
162662func (snod ServiceNowObjectDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) {
162663	return nil, false
162664}
162665
162666// AsDynamicsEntityDataset is the BasicDataset implementation for ServiceNowObjectDataset.
162667func (snod ServiceNowObjectDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
162668	return nil, false
162669}
162670
162671// AsDocumentDbCollectionDataset is the BasicDataset implementation for ServiceNowObjectDataset.
162672func (snod ServiceNowObjectDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
162673	return nil, false
162674}
162675
162676// AsCustomDataset is the BasicDataset implementation for ServiceNowObjectDataset.
162677func (snod ServiceNowObjectDataset) AsCustomDataset() (*CustomDataset, bool) {
162678	return nil, false
162679}
162680
162681// AsCassandraTableDataset is the BasicDataset implementation for ServiceNowObjectDataset.
162682func (snod ServiceNowObjectDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
162683	return nil, false
162684}
162685
162686// AsAzureSQLDWTableDataset is the BasicDataset implementation for ServiceNowObjectDataset.
162687func (snod ServiceNowObjectDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
162688	return nil, false
162689}
162690
162691// AsAzureSQLMITableDataset is the BasicDataset implementation for ServiceNowObjectDataset.
162692func (snod ServiceNowObjectDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) {
162693	return nil, false
162694}
162695
162696// AsAzureSQLTableDataset is the BasicDataset implementation for ServiceNowObjectDataset.
162697func (snod ServiceNowObjectDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
162698	return nil, false
162699}
162700
162701// AsAzureTableDataset is the BasicDataset implementation for ServiceNowObjectDataset.
162702func (snod ServiceNowObjectDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
162703	return nil, false
162704}
162705
162706// AsAzureBlobDataset is the BasicDataset implementation for ServiceNowObjectDataset.
162707func (snod ServiceNowObjectDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) {
162708	return nil, false
162709}
162710
162711// AsBinaryDataset is the BasicDataset implementation for ServiceNowObjectDataset.
162712func (snod ServiceNowObjectDataset) AsBinaryDataset() (*BinaryDataset, bool) {
162713	return nil, false
162714}
162715
162716// AsDelimitedTextDataset is the BasicDataset implementation for ServiceNowObjectDataset.
162717func (snod ServiceNowObjectDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) {
162718	return nil, false
162719}
162720
162721// AsParquetDataset is the BasicDataset implementation for ServiceNowObjectDataset.
162722func (snod ServiceNowObjectDataset) AsParquetDataset() (*ParquetDataset, bool) {
162723	return nil, false
162724}
162725
162726// AsAmazonS3Dataset is the BasicDataset implementation for ServiceNowObjectDataset.
162727func (snod ServiceNowObjectDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) {
162728	return nil, false
162729}
162730
162731// AsDataset is the BasicDataset implementation for ServiceNowObjectDataset.
162732func (snod ServiceNowObjectDataset) AsDataset() (*Dataset, bool) {
162733	return nil, false
162734}
162735
162736// AsBasicDataset is the BasicDataset implementation for ServiceNowObjectDataset.
162737func (snod ServiceNowObjectDataset) AsBasicDataset() (BasicDataset, bool) {
162738	return &snod, true
162739}
162740
162741// UnmarshalJSON is the custom unmarshaler for ServiceNowObjectDataset struct.
162742func (snod *ServiceNowObjectDataset) UnmarshalJSON(body []byte) error {
162743	var m map[string]*json.RawMessage
162744	err := json.Unmarshal(body, &m)
162745	if err != nil {
162746		return err
162747	}
162748	for k, v := range m {
162749		switch k {
162750		case "typeProperties":
162751			if v != nil {
162752				var genericDatasetTypeProperties GenericDatasetTypeProperties
162753				err = json.Unmarshal(*v, &genericDatasetTypeProperties)
162754				if err != nil {
162755					return err
162756				}
162757				snod.GenericDatasetTypeProperties = &genericDatasetTypeProperties
162758			}
162759		default:
162760			if v != nil {
162761				var additionalProperties interface{}
162762				err = json.Unmarshal(*v, &additionalProperties)
162763				if err != nil {
162764					return err
162765				}
162766				if snod.AdditionalProperties == nil {
162767					snod.AdditionalProperties = make(map[string]interface{})
162768				}
162769				snod.AdditionalProperties[k] = additionalProperties
162770			}
162771		case "description":
162772			if v != nil {
162773				var description string
162774				err = json.Unmarshal(*v, &description)
162775				if err != nil {
162776					return err
162777				}
162778				snod.Description = &description
162779			}
162780		case "structure":
162781			if v != nil {
162782				var structure interface{}
162783				err = json.Unmarshal(*v, &structure)
162784				if err != nil {
162785					return err
162786				}
162787				snod.Structure = structure
162788			}
162789		case "schema":
162790			if v != nil {
162791				var schema interface{}
162792				err = json.Unmarshal(*v, &schema)
162793				if err != nil {
162794					return err
162795				}
162796				snod.Schema = schema
162797			}
162798		case "linkedServiceName":
162799			if v != nil {
162800				var linkedServiceName LinkedServiceReference
162801				err = json.Unmarshal(*v, &linkedServiceName)
162802				if err != nil {
162803					return err
162804				}
162805				snod.LinkedServiceName = &linkedServiceName
162806			}
162807		case "parameters":
162808			if v != nil {
162809				var parameters map[string]*ParameterSpecification
162810				err = json.Unmarshal(*v, &parameters)
162811				if err != nil {
162812					return err
162813				}
162814				snod.Parameters = parameters
162815			}
162816		case "annotations":
162817			if v != nil {
162818				var annotations []interface{}
162819				err = json.Unmarshal(*v, &annotations)
162820				if err != nil {
162821					return err
162822				}
162823				snod.Annotations = &annotations
162824			}
162825		case "folder":
162826			if v != nil {
162827				var folder DatasetFolder
162828				err = json.Unmarshal(*v, &folder)
162829				if err != nil {
162830					return err
162831				}
162832				snod.Folder = &folder
162833			}
162834		case "type":
162835			if v != nil {
162836				var typeVar TypeBasicDataset
162837				err = json.Unmarshal(*v, &typeVar)
162838				if err != nil {
162839					return err
162840				}
162841				snod.Type = typeVar
162842			}
162843		}
162844	}
162845
162846	return nil
162847}
162848
162849// ServiceNowSource a copy activity ServiceNow server source.
162850type ServiceNowSource struct {
162851	// Query - A query to retrieve data from source. Type: string (or Expression with resultType string).
162852	Query interface{} `json:"query,omitempty"`
162853	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
162854	AdditionalProperties map[string]interface{} `json:""`
162855	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
162856	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
162857	// 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])).
162858	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
162859	// MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer).
162860	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
162861	// Type - Possible values include: 'TypeCopySource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', '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', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeCassandraSource', 'TypeWebSource', 'TypeTeradataSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeAzureMySQLSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeRestSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceServiceCloudSource', 'TypeSalesforceSource', 'TypeODataSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeMicrosoftAccessSource', 'TypeInformixSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAzureTableSource', 'TypeBinarySource', 'TypeDelimitedTextSource', 'TypeParquetSource'
162862	Type TypeBasicCopySource `json:"type,omitempty"`
162863}
162864
162865// MarshalJSON is the custom marshaler for ServiceNowSource.
162866func (sns ServiceNowSource) MarshalJSON() ([]byte, error) {
162867	sns.Type = TypeServiceNowSource
162868	objectMap := make(map[string]interface{})
162869	if sns.Query != nil {
162870		objectMap["query"] = sns.Query
162871	}
162872	if sns.SourceRetryCount != nil {
162873		objectMap["sourceRetryCount"] = sns.SourceRetryCount
162874	}
162875	if sns.SourceRetryWait != nil {
162876		objectMap["sourceRetryWait"] = sns.SourceRetryWait
162877	}
162878	if sns.MaxConcurrentConnections != nil {
162879		objectMap["maxConcurrentConnections"] = sns.MaxConcurrentConnections
162880	}
162881	if sns.Type != "" {
162882		objectMap["type"] = sns.Type
162883	}
162884	for k, v := range sns.AdditionalProperties {
162885		objectMap[k] = v
162886	}
162887	return json.Marshal(objectMap)
162888}
162889
162890// AsAmazonRedshiftSource is the BasicCopySource implementation for ServiceNowSource.
162891func (sns ServiceNowSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
162892	return nil, false
162893}
162894
162895// AsGoogleAdWordsSource is the BasicCopySource implementation for ServiceNowSource.
162896func (sns ServiceNowSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) {
162897	return nil, false
162898}
162899
162900// AsOracleServiceCloudSource is the BasicCopySource implementation for ServiceNowSource.
162901func (sns ServiceNowSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) {
162902	return nil, false
162903}
162904
162905// AsDynamicsAXSource is the BasicCopySource implementation for ServiceNowSource.
162906func (sns ServiceNowSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) {
162907	return nil, false
162908}
162909
162910// AsResponsysSource is the BasicCopySource implementation for ServiceNowSource.
162911func (sns ServiceNowSource) AsResponsysSource() (*ResponsysSource, bool) {
162912	return nil, false
162913}
162914
162915// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for ServiceNowSource.
162916func (sns ServiceNowSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
162917	return nil, false
162918}
162919
162920// AsVerticaSource is the BasicCopySource implementation for ServiceNowSource.
162921func (sns ServiceNowSource) AsVerticaSource() (*VerticaSource, bool) {
162922	return nil, false
162923}
162924
162925// AsNetezzaSource is the BasicCopySource implementation for ServiceNowSource.
162926func (sns ServiceNowSource) AsNetezzaSource() (*NetezzaSource, bool) {
162927	return nil, false
162928}
162929
162930// AsZohoSource is the BasicCopySource implementation for ServiceNowSource.
162931func (sns ServiceNowSource) AsZohoSource() (*ZohoSource, bool) {
162932	return nil, false
162933}
162934
162935// AsXeroSource is the BasicCopySource implementation for ServiceNowSource.
162936func (sns ServiceNowSource) AsXeroSource() (*XeroSource, bool) {
162937	return nil, false
162938}
162939
162940// AsSquareSource is the BasicCopySource implementation for ServiceNowSource.
162941func (sns ServiceNowSource) AsSquareSource() (*SquareSource, bool) {
162942	return nil, false
162943}
162944
162945// AsSparkSource is the BasicCopySource implementation for ServiceNowSource.
162946func (sns ServiceNowSource) AsSparkSource() (*SparkSource, bool) {
162947	return nil, false
162948}
162949
162950// AsShopifySource is the BasicCopySource implementation for ServiceNowSource.
162951func (sns ServiceNowSource) AsShopifySource() (*ShopifySource, bool) {
162952	return nil, false
162953}
162954
162955// AsServiceNowSource is the BasicCopySource implementation for ServiceNowSource.
162956func (sns ServiceNowSource) AsServiceNowSource() (*ServiceNowSource, bool) {
162957	return &sns, true
162958}
162959
162960// AsQuickBooksSource is the BasicCopySource implementation for ServiceNowSource.
162961func (sns ServiceNowSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
162962	return nil, false
162963}
162964
162965// AsPrestoSource is the BasicCopySource implementation for ServiceNowSource.
162966func (sns ServiceNowSource) AsPrestoSource() (*PrestoSource, bool) {
162967	return nil, false
162968}
162969
162970// AsPhoenixSource is the BasicCopySource implementation for ServiceNowSource.
162971func (sns ServiceNowSource) AsPhoenixSource() (*PhoenixSource, bool) {
162972	return nil, false
162973}
162974
162975// AsPaypalSource is the BasicCopySource implementation for ServiceNowSource.
162976func (sns ServiceNowSource) AsPaypalSource() (*PaypalSource, bool) {
162977	return nil, false
162978}
162979
162980// AsMarketoSource is the BasicCopySource implementation for ServiceNowSource.
162981func (sns ServiceNowSource) AsMarketoSource() (*MarketoSource, bool) {
162982	return nil, false
162983}
162984
162985// AsMariaDBSource is the BasicCopySource implementation for ServiceNowSource.
162986func (sns ServiceNowSource) AsMariaDBSource() (*MariaDBSource, bool) {
162987	return nil, false
162988}
162989
162990// AsMagentoSource is the BasicCopySource implementation for ServiceNowSource.
162991func (sns ServiceNowSource) AsMagentoSource() (*MagentoSource, bool) {
162992	return nil, false
162993}
162994
162995// AsJiraSource is the BasicCopySource implementation for ServiceNowSource.
162996func (sns ServiceNowSource) AsJiraSource() (*JiraSource, bool) {
162997	return nil, false
162998}
162999
163000// AsImpalaSource is the BasicCopySource implementation for ServiceNowSource.
163001func (sns ServiceNowSource) AsImpalaSource() (*ImpalaSource, bool) {
163002	return nil, false
163003}
163004
163005// AsHubspotSource is the BasicCopySource implementation for ServiceNowSource.
163006func (sns ServiceNowSource) AsHubspotSource() (*HubspotSource, bool) {
163007	return nil, false
163008}
163009
163010// AsHiveSource is the BasicCopySource implementation for ServiceNowSource.
163011func (sns ServiceNowSource) AsHiveSource() (*HiveSource, bool) {
163012	return nil, false
163013}
163014
163015// AsHBaseSource is the BasicCopySource implementation for ServiceNowSource.
163016func (sns ServiceNowSource) AsHBaseSource() (*HBaseSource, bool) {
163017	return nil, false
163018}
163019
163020// AsGreenplumSource is the BasicCopySource implementation for ServiceNowSource.
163021func (sns ServiceNowSource) AsGreenplumSource() (*GreenplumSource, bool) {
163022	return nil, false
163023}
163024
163025// AsGoogleBigQuerySource is the BasicCopySource implementation for ServiceNowSource.
163026func (sns ServiceNowSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
163027	return nil, false
163028}
163029
163030// AsEloquaSource is the BasicCopySource implementation for ServiceNowSource.
163031func (sns ServiceNowSource) AsEloquaSource() (*EloquaSource, bool) {
163032	return nil, false
163033}
163034
163035// AsDrillSource is the BasicCopySource implementation for ServiceNowSource.
163036func (sns ServiceNowSource) AsDrillSource() (*DrillSource, bool) {
163037	return nil, false
163038}
163039
163040// AsCouchbaseSource is the BasicCopySource implementation for ServiceNowSource.
163041func (sns ServiceNowSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
163042	return nil, false
163043}
163044
163045// AsConcurSource is the BasicCopySource implementation for ServiceNowSource.
163046func (sns ServiceNowSource) AsConcurSource() (*ConcurSource, bool) {
163047	return nil, false
163048}
163049
163050// AsAzurePostgreSQLSource is the BasicCopySource implementation for ServiceNowSource.
163051func (sns ServiceNowSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
163052	return nil, false
163053}
163054
163055// AsAmazonMWSSource is the BasicCopySource implementation for ServiceNowSource.
163056func (sns ServiceNowSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
163057	return nil, false
163058}
163059
163060// AsHTTPSource is the BasicCopySource implementation for ServiceNowSource.
163061func (sns ServiceNowSource) AsHTTPSource() (*HTTPSource, bool) {
163062	return nil, false
163063}
163064
163065// AsAzureBlobFSSource is the BasicCopySource implementation for ServiceNowSource.
163066func (sns ServiceNowSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) {
163067	return nil, false
163068}
163069
163070// AsAzureDataLakeStoreSource is the BasicCopySource implementation for ServiceNowSource.
163071func (sns ServiceNowSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
163072	return nil, false
163073}
163074
163075// AsOffice365Source is the BasicCopySource implementation for ServiceNowSource.
163076func (sns ServiceNowSource) AsOffice365Source() (*Office365Source, bool) {
163077	return nil, false
163078}
163079
163080// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for ServiceNowSource.
163081func (sns ServiceNowSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) {
163082	return nil, false
163083}
163084
163085// AsMongoDbV2Source is the BasicCopySource implementation for ServiceNowSource.
163086func (sns ServiceNowSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) {
163087	return nil, false
163088}
163089
163090// AsMongoDbSource is the BasicCopySource implementation for ServiceNowSource.
163091func (sns ServiceNowSource) AsMongoDbSource() (*MongoDbSource, bool) {
163092	return nil, false
163093}
163094
163095// AsCassandraSource is the BasicCopySource implementation for ServiceNowSource.
163096func (sns ServiceNowSource) AsCassandraSource() (*CassandraSource, bool) {
163097	return nil, false
163098}
163099
163100// AsWebSource is the BasicCopySource implementation for ServiceNowSource.
163101func (sns ServiceNowSource) AsWebSource() (*WebSource, bool) {
163102	return nil, false
163103}
163104
163105// AsTeradataSource is the BasicCopySource implementation for ServiceNowSource.
163106func (sns ServiceNowSource) AsTeradataSource() (*TeradataSource, bool) {
163107	return nil, false
163108}
163109
163110// AsOracleSource is the BasicCopySource implementation for ServiceNowSource.
163111func (sns ServiceNowSource) AsOracleSource() (*OracleSource, bool) {
163112	return nil, false
163113}
163114
163115// AsAzureDataExplorerSource is the BasicCopySource implementation for ServiceNowSource.
163116func (sns ServiceNowSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) {
163117	return nil, false
163118}
163119
163120// AsAzureMySQLSource is the BasicCopySource implementation for ServiceNowSource.
163121func (sns ServiceNowSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
163122	return nil, false
163123}
163124
163125// AsHdfsSource is the BasicCopySource implementation for ServiceNowSource.
163126func (sns ServiceNowSource) AsHdfsSource() (*HdfsSource, bool) {
163127	return nil, false
163128}
163129
163130// AsFileSystemSource is the BasicCopySource implementation for ServiceNowSource.
163131func (sns ServiceNowSource) AsFileSystemSource() (*FileSystemSource, bool) {
163132	return nil, false
163133}
163134
163135// AsSQLDWSource is the BasicCopySource implementation for ServiceNowSource.
163136func (sns ServiceNowSource) AsSQLDWSource() (*SQLDWSource, bool) {
163137	return nil, false
163138}
163139
163140// AsSQLMISource is the BasicCopySource implementation for ServiceNowSource.
163141func (sns ServiceNowSource) AsSQLMISource() (*SQLMISource, bool) {
163142	return nil, false
163143}
163144
163145// AsAzureSQLSource is the BasicCopySource implementation for ServiceNowSource.
163146func (sns ServiceNowSource) AsAzureSQLSource() (*AzureSQLSource, bool) {
163147	return nil, false
163148}
163149
163150// AsSQLServerSource is the BasicCopySource implementation for ServiceNowSource.
163151func (sns ServiceNowSource) AsSQLServerSource() (*SQLServerSource, bool) {
163152	return nil, false
163153}
163154
163155// AsSQLSource is the BasicCopySource implementation for ServiceNowSource.
163156func (sns ServiceNowSource) AsSQLSource() (*SQLSource, bool) {
163157	return nil, false
163158}
163159
163160// AsRestSource is the BasicCopySource implementation for ServiceNowSource.
163161func (sns ServiceNowSource) AsRestSource() (*RestSource, bool) {
163162	return nil, false
163163}
163164
163165// AsSapTableSource is the BasicCopySource implementation for ServiceNowSource.
163166func (sns ServiceNowSource) AsSapTableSource() (*SapTableSource, bool) {
163167	return nil, false
163168}
163169
163170// AsSapOpenHubSource is the BasicCopySource implementation for ServiceNowSource.
163171func (sns ServiceNowSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) {
163172	return nil, false
163173}
163174
163175// AsSapHanaSource is the BasicCopySource implementation for ServiceNowSource.
163176func (sns ServiceNowSource) AsSapHanaSource() (*SapHanaSource, bool) {
163177	return nil, false
163178}
163179
163180// AsSapEccSource is the BasicCopySource implementation for ServiceNowSource.
163181func (sns ServiceNowSource) AsSapEccSource() (*SapEccSource, bool) {
163182	return nil, false
163183}
163184
163185// AsSapCloudForCustomerSource is the BasicCopySource implementation for ServiceNowSource.
163186func (sns ServiceNowSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
163187	return nil, false
163188}
163189
163190// AsSalesforceServiceCloudSource is the BasicCopySource implementation for ServiceNowSource.
163191func (sns ServiceNowSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) {
163192	return nil, false
163193}
163194
163195// AsSalesforceSource is the BasicCopySource implementation for ServiceNowSource.
163196func (sns ServiceNowSource) AsSalesforceSource() (*SalesforceSource, bool) {
163197	return nil, false
163198}
163199
163200// AsODataSource is the BasicCopySource implementation for ServiceNowSource.
163201func (sns ServiceNowSource) AsODataSource() (*ODataSource, bool) {
163202	return nil, false
163203}
163204
163205// AsSybaseSource is the BasicCopySource implementation for ServiceNowSource.
163206func (sns ServiceNowSource) AsSybaseSource() (*SybaseSource, bool) {
163207	return nil, false
163208}
163209
163210// AsPostgreSQLSource is the BasicCopySource implementation for ServiceNowSource.
163211func (sns ServiceNowSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) {
163212	return nil, false
163213}
163214
163215// AsMySQLSource is the BasicCopySource implementation for ServiceNowSource.
163216func (sns ServiceNowSource) AsMySQLSource() (*MySQLSource, bool) {
163217	return nil, false
163218}
163219
163220// AsOdbcSource is the BasicCopySource implementation for ServiceNowSource.
163221func (sns ServiceNowSource) AsOdbcSource() (*OdbcSource, bool) {
163222	return nil, false
163223}
163224
163225// AsDb2Source is the BasicCopySource implementation for ServiceNowSource.
163226func (sns ServiceNowSource) AsDb2Source() (*Db2Source, bool) {
163227	return nil, false
163228}
163229
163230// AsMicrosoftAccessSource is the BasicCopySource implementation for ServiceNowSource.
163231func (sns ServiceNowSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) {
163232	return nil, false
163233}
163234
163235// AsInformixSource is the BasicCopySource implementation for ServiceNowSource.
163236func (sns ServiceNowSource) AsInformixSource() (*InformixSource, bool) {
163237	return nil, false
163238}
163239
163240// AsRelationalSource is the BasicCopySource implementation for ServiceNowSource.
163241func (sns ServiceNowSource) AsRelationalSource() (*RelationalSource, bool) {
163242	return nil, false
163243}
163244
163245// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for ServiceNowSource.
163246func (sns ServiceNowSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) {
163247	return nil, false
163248}
163249
163250// AsDynamicsCrmSource is the BasicCopySource implementation for ServiceNowSource.
163251func (sns ServiceNowSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) {
163252	return nil, false
163253}
163254
163255// AsDynamicsSource is the BasicCopySource implementation for ServiceNowSource.
163256func (sns ServiceNowSource) AsDynamicsSource() (*DynamicsSource, bool) {
163257	return nil, false
163258}
163259
163260// AsDocumentDbCollectionSource is the BasicCopySource implementation for ServiceNowSource.
163261func (sns ServiceNowSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
163262	return nil, false
163263}
163264
163265// AsBlobSource is the BasicCopySource implementation for ServiceNowSource.
163266func (sns ServiceNowSource) AsBlobSource() (*BlobSource, bool) {
163267	return nil, false
163268}
163269
163270// AsAzureTableSource is the BasicCopySource implementation for ServiceNowSource.
163271func (sns ServiceNowSource) AsAzureTableSource() (*AzureTableSource, bool) {
163272	return nil, false
163273}
163274
163275// AsBinarySource is the BasicCopySource implementation for ServiceNowSource.
163276func (sns ServiceNowSource) AsBinarySource() (*BinarySource, bool) {
163277	return nil, false
163278}
163279
163280// AsDelimitedTextSource is the BasicCopySource implementation for ServiceNowSource.
163281func (sns ServiceNowSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) {
163282	return nil, false
163283}
163284
163285// AsParquetSource is the BasicCopySource implementation for ServiceNowSource.
163286func (sns ServiceNowSource) AsParquetSource() (*ParquetSource, bool) {
163287	return nil, false
163288}
163289
163290// AsCopySource is the BasicCopySource implementation for ServiceNowSource.
163291func (sns ServiceNowSource) AsCopySource() (*CopySource, bool) {
163292	return nil, false
163293}
163294
163295// AsBasicCopySource is the BasicCopySource implementation for ServiceNowSource.
163296func (sns ServiceNowSource) AsBasicCopySource() (BasicCopySource, bool) {
163297	return &sns, true
163298}
163299
163300// UnmarshalJSON is the custom unmarshaler for ServiceNowSource struct.
163301func (sns *ServiceNowSource) UnmarshalJSON(body []byte) error {
163302	var m map[string]*json.RawMessage
163303	err := json.Unmarshal(body, &m)
163304	if err != nil {
163305		return err
163306	}
163307	for k, v := range m {
163308		switch k {
163309		case "query":
163310			if v != nil {
163311				var query interface{}
163312				err = json.Unmarshal(*v, &query)
163313				if err != nil {
163314					return err
163315				}
163316				sns.Query = query
163317			}
163318		default:
163319			if v != nil {
163320				var additionalProperties interface{}
163321				err = json.Unmarshal(*v, &additionalProperties)
163322				if err != nil {
163323					return err
163324				}
163325				if sns.AdditionalProperties == nil {
163326					sns.AdditionalProperties = make(map[string]interface{})
163327				}
163328				sns.AdditionalProperties[k] = additionalProperties
163329			}
163330		case "sourceRetryCount":
163331			if v != nil {
163332				var sourceRetryCount interface{}
163333				err = json.Unmarshal(*v, &sourceRetryCount)
163334				if err != nil {
163335					return err
163336				}
163337				sns.SourceRetryCount = sourceRetryCount
163338			}
163339		case "sourceRetryWait":
163340			if v != nil {
163341				var sourceRetryWait interface{}
163342				err = json.Unmarshal(*v, &sourceRetryWait)
163343				if err != nil {
163344					return err
163345				}
163346				sns.SourceRetryWait = sourceRetryWait
163347			}
163348		case "maxConcurrentConnections":
163349			if v != nil {
163350				var maxConcurrentConnections interface{}
163351				err = json.Unmarshal(*v, &maxConcurrentConnections)
163352				if err != nil {
163353					return err
163354				}
163355				sns.MaxConcurrentConnections = maxConcurrentConnections
163356			}
163357		case "type":
163358			if v != nil {
163359				var typeVar TypeBasicCopySource
163360				err = json.Unmarshal(*v, &typeVar)
163361				if err != nil {
163362					return err
163363				}
163364				sns.Type = typeVar
163365			}
163366		}
163367	}
163368
163369	return nil
163370}
163371
163372// SetVariableActivity set value for a Variable.
163373type SetVariableActivity struct {
163374	// SetVariableActivityTypeProperties - Set Variable activity properties.
163375	*SetVariableActivityTypeProperties `json:"typeProperties,omitempty"`
163376	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
163377	AdditionalProperties map[string]interface{} `json:""`
163378	// Name - Activity name.
163379	Name *string `json:"name,omitempty"`
163380	// Description - Activity description.
163381	Description *string `json:"description,omitempty"`
163382	// DependsOn - Activity depends on condition.
163383	DependsOn *[]ActivityDependency `json:"dependsOn,omitempty"`
163384	// UserProperties - Activity user properties.
163385	UserProperties *[]UserProperty `json:"userProperties,omitempty"`
163386	// Type - Possible values include: 'TypeActivity', 'TypeAzureFunctionActivity', 'TypeDatabricksSparkPython', 'TypeDatabricksSparkJar', 'TypeDatabricksNotebook', 'TypeDataLakeAnalyticsUSQL', 'TypeAzureMLUpdateResource', 'TypeAzureMLBatchExecution', 'TypeGetMetadata', 'TypeWebActivity', 'TypeLookup', 'TypeAzureDataExplorerCommand', 'TypeDelete', 'TypeSQLServerStoredProcedure', 'TypeCustom', 'TypeExecuteSSISPackage', 'TypeHDInsightSpark', 'TypeHDInsightStreaming', 'TypeHDInsightMapReduce', 'TypeHDInsightPig', 'TypeHDInsightHive', 'TypeCopy', 'TypeExecution', 'TypeWebHook', 'TypeAppendVariable', 'TypeSetVariable', 'TypeFilter', 'TypeValidation', 'TypeUntil', 'TypeWait', 'TypeForEach', 'TypeIfCondition', 'TypeExecutePipeline', 'TypeContainer'
163387	Type TypeBasicActivity `json:"type,omitempty"`
163388}
163389
163390// MarshalJSON is the custom marshaler for SetVariableActivity.
163391func (sva SetVariableActivity) MarshalJSON() ([]byte, error) {
163392	sva.Type = TypeSetVariable
163393	objectMap := make(map[string]interface{})
163394	if sva.SetVariableActivityTypeProperties != nil {
163395		objectMap["typeProperties"] = sva.SetVariableActivityTypeProperties
163396	}
163397	if sva.Name != nil {
163398		objectMap["name"] = sva.Name
163399	}
163400	if sva.Description != nil {
163401		objectMap["description"] = sva.Description
163402	}
163403	if sva.DependsOn != nil {
163404		objectMap["dependsOn"] = sva.DependsOn
163405	}
163406	if sva.UserProperties != nil {
163407		objectMap["userProperties"] = sva.UserProperties
163408	}
163409	if sva.Type != "" {
163410		objectMap["type"] = sva.Type
163411	}
163412	for k, v := range sva.AdditionalProperties {
163413		objectMap[k] = v
163414	}
163415	return json.Marshal(objectMap)
163416}
163417
163418// AsAzureFunctionActivity is the BasicActivity implementation for SetVariableActivity.
163419func (sva SetVariableActivity) AsAzureFunctionActivity() (*AzureFunctionActivity, bool) {
163420	return nil, false
163421}
163422
163423// AsDatabricksSparkPythonActivity is the BasicActivity implementation for SetVariableActivity.
163424func (sva SetVariableActivity) AsDatabricksSparkPythonActivity() (*DatabricksSparkPythonActivity, bool) {
163425	return nil, false
163426}
163427
163428// AsDatabricksSparkJarActivity is the BasicActivity implementation for SetVariableActivity.
163429func (sva SetVariableActivity) AsDatabricksSparkJarActivity() (*DatabricksSparkJarActivity, bool) {
163430	return nil, false
163431}
163432
163433// AsDatabricksNotebookActivity is the BasicActivity implementation for SetVariableActivity.
163434func (sva SetVariableActivity) AsDatabricksNotebookActivity() (*DatabricksNotebookActivity, bool) {
163435	return nil, false
163436}
163437
163438// AsDataLakeAnalyticsUSQLActivity is the BasicActivity implementation for SetVariableActivity.
163439func (sva SetVariableActivity) AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalyticsUSQLActivity, bool) {
163440	return nil, false
163441}
163442
163443// AsAzureMLUpdateResourceActivity is the BasicActivity implementation for SetVariableActivity.
163444func (sva SetVariableActivity) AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool) {
163445	return nil, false
163446}
163447
163448// AsAzureMLBatchExecutionActivity is the BasicActivity implementation for SetVariableActivity.
163449func (sva SetVariableActivity) AsAzureMLBatchExecutionActivity() (*AzureMLBatchExecutionActivity, bool) {
163450	return nil, false
163451}
163452
163453// AsGetMetadataActivity is the BasicActivity implementation for SetVariableActivity.
163454func (sva SetVariableActivity) AsGetMetadataActivity() (*GetMetadataActivity, bool) {
163455	return nil, false
163456}
163457
163458// AsWebActivity is the BasicActivity implementation for SetVariableActivity.
163459func (sva SetVariableActivity) AsWebActivity() (*WebActivity, bool) {
163460	return nil, false
163461}
163462
163463// AsLookupActivity is the BasicActivity implementation for SetVariableActivity.
163464func (sva SetVariableActivity) AsLookupActivity() (*LookupActivity, bool) {
163465	return nil, false
163466}
163467
163468// AsAzureDataExplorerCommandActivity is the BasicActivity implementation for SetVariableActivity.
163469func (sva SetVariableActivity) AsAzureDataExplorerCommandActivity() (*AzureDataExplorerCommandActivity, bool) {
163470	return nil, false
163471}
163472
163473// AsDeleteActivity is the BasicActivity implementation for SetVariableActivity.
163474func (sva SetVariableActivity) AsDeleteActivity() (*DeleteActivity, bool) {
163475	return nil, false
163476}
163477
163478// AsSQLServerStoredProcedureActivity is the BasicActivity implementation for SetVariableActivity.
163479func (sva SetVariableActivity) AsSQLServerStoredProcedureActivity() (*SQLServerStoredProcedureActivity, bool) {
163480	return nil, false
163481}
163482
163483// AsCustomActivity is the BasicActivity implementation for SetVariableActivity.
163484func (sva SetVariableActivity) AsCustomActivity() (*CustomActivity, bool) {
163485	return nil, false
163486}
163487
163488// AsExecuteSSISPackageActivity is the BasicActivity implementation for SetVariableActivity.
163489func (sva SetVariableActivity) AsExecuteSSISPackageActivity() (*ExecuteSSISPackageActivity, bool) {
163490	return nil, false
163491}
163492
163493// AsHDInsightSparkActivity is the BasicActivity implementation for SetVariableActivity.
163494func (sva SetVariableActivity) AsHDInsightSparkActivity() (*HDInsightSparkActivity, bool) {
163495	return nil, false
163496}
163497
163498// AsHDInsightStreamingActivity is the BasicActivity implementation for SetVariableActivity.
163499func (sva SetVariableActivity) AsHDInsightStreamingActivity() (*HDInsightStreamingActivity, bool) {
163500	return nil, false
163501}
163502
163503// AsHDInsightMapReduceActivity is the BasicActivity implementation for SetVariableActivity.
163504func (sva SetVariableActivity) AsHDInsightMapReduceActivity() (*HDInsightMapReduceActivity, bool) {
163505	return nil, false
163506}
163507
163508// AsHDInsightPigActivity is the BasicActivity implementation for SetVariableActivity.
163509func (sva SetVariableActivity) AsHDInsightPigActivity() (*HDInsightPigActivity, bool) {
163510	return nil, false
163511}
163512
163513// AsHDInsightHiveActivity is the BasicActivity implementation for SetVariableActivity.
163514func (sva SetVariableActivity) AsHDInsightHiveActivity() (*HDInsightHiveActivity, bool) {
163515	return nil, false
163516}
163517
163518// AsCopyActivity is the BasicActivity implementation for SetVariableActivity.
163519func (sva SetVariableActivity) AsCopyActivity() (*CopyActivity, bool) {
163520	return nil, false
163521}
163522
163523// AsExecutionActivity is the BasicActivity implementation for SetVariableActivity.
163524func (sva SetVariableActivity) AsExecutionActivity() (*ExecutionActivity, bool) {
163525	return nil, false
163526}
163527
163528// AsBasicExecutionActivity is the BasicActivity implementation for SetVariableActivity.
163529func (sva SetVariableActivity) AsBasicExecutionActivity() (BasicExecutionActivity, bool) {
163530	return nil, false
163531}
163532
163533// AsWebHookActivity is the BasicActivity implementation for SetVariableActivity.
163534func (sva SetVariableActivity) AsWebHookActivity() (*WebHookActivity, bool) {
163535	return nil, false
163536}
163537
163538// AsAppendVariableActivity is the BasicActivity implementation for SetVariableActivity.
163539func (sva SetVariableActivity) AsAppendVariableActivity() (*AppendVariableActivity, bool) {
163540	return nil, false
163541}
163542
163543// AsSetVariableActivity is the BasicActivity implementation for SetVariableActivity.
163544func (sva SetVariableActivity) AsSetVariableActivity() (*SetVariableActivity, bool) {
163545	return &sva, true
163546}
163547
163548// AsFilterActivity is the BasicActivity implementation for SetVariableActivity.
163549func (sva SetVariableActivity) AsFilterActivity() (*FilterActivity, bool) {
163550	return nil, false
163551}
163552
163553// AsValidationActivity is the BasicActivity implementation for SetVariableActivity.
163554func (sva SetVariableActivity) AsValidationActivity() (*ValidationActivity, bool) {
163555	return nil, false
163556}
163557
163558// AsUntilActivity is the BasicActivity implementation for SetVariableActivity.
163559func (sva SetVariableActivity) AsUntilActivity() (*UntilActivity, bool) {
163560	return nil, false
163561}
163562
163563// AsWaitActivity is the BasicActivity implementation for SetVariableActivity.
163564func (sva SetVariableActivity) AsWaitActivity() (*WaitActivity, bool) {
163565	return nil, false
163566}
163567
163568// AsForEachActivity is the BasicActivity implementation for SetVariableActivity.
163569func (sva SetVariableActivity) AsForEachActivity() (*ForEachActivity, bool) {
163570	return nil, false
163571}
163572
163573// AsIfConditionActivity is the BasicActivity implementation for SetVariableActivity.
163574func (sva SetVariableActivity) AsIfConditionActivity() (*IfConditionActivity, bool) {
163575	return nil, false
163576}
163577
163578// AsExecutePipelineActivity is the BasicActivity implementation for SetVariableActivity.
163579func (sva SetVariableActivity) AsExecutePipelineActivity() (*ExecutePipelineActivity, bool) {
163580	return nil, false
163581}
163582
163583// AsControlActivity is the BasicActivity implementation for SetVariableActivity.
163584func (sva SetVariableActivity) AsControlActivity() (*ControlActivity, bool) {
163585	return nil, false
163586}
163587
163588// AsBasicControlActivity is the BasicActivity implementation for SetVariableActivity.
163589func (sva SetVariableActivity) AsBasicControlActivity() (BasicControlActivity, bool) {
163590	return &sva, true
163591}
163592
163593// AsActivity is the BasicActivity implementation for SetVariableActivity.
163594func (sva SetVariableActivity) AsActivity() (*Activity, bool) {
163595	return nil, false
163596}
163597
163598// AsBasicActivity is the BasicActivity implementation for SetVariableActivity.
163599func (sva SetVariableActivity) AsBasicActivity() (BasicActivity, bool) {
163600	return &sva, true
163601}
163602
163603// UnmarshalJSON is the custom unmarshaler for SetVariableActivity struct.
163604func (sva *SetVariableActivity) UnmarshalJSON(body []byte) error {
163605	var m map[string]*json.RawMessage
163606	err := json.Unmarshal(body, &m)
163607	if err != nil {
163608		return err
163609	}
163610	for k, v := range m {
163611		switch k {
163612		case "typeProperties":
163613			if v != nil {
163614				var setVariableActivityTypeProperties SetVariableActivityTypeProperties
163615				err = json.Unmarshal(*v, &setVariableActivityTypeProperties)
163616				if err != nil {
163617					return err
163618				}
163619				sva.SetVariableActivityTypeProperties = &setVariableActivityTypeProperties
163620			}
163621		default:
163622			if v != nil {
163623				var additionalProperties interface{}
163624				err = json.Unmarshal(*v, &additionalProperties)
163625				if err != nil {
163626					return err
163627				}
163628				if sva.AdditionalProperties == nil {
163629					sva.AdditionalProperties = make(map[string]interface{})
163630				}
163631				sva.AdditionalProperties[k] = additionalProperties
163632			}
163633		case "name":
163634			if v != nil {
163635				var name string
163636				err = json.Unmarshal(*v, &name)
163637				if err != nil {
163638					return err
163639				}
163640				sva.Name = &name
163641			}
163642		case "description":
163643			if v != nil {
163644				var description string
163645				err = json.Unmarshal(*v, &description)
163646				if err != nil {
163647					return err
163648				}
163649				sva.Description = &description
163650			}
163651		case "dependsOn":
163652			if v != nil {
163653				var dependsOn []ActivityDependency
163654				err = json.Unmarshal(*v, &dependsOn)
163655				if err != nil {
163656					return err
163657				}
163658				sva.DependsOn = &dependsOn
163659			}
163660		case "userProperties":
163661			if v != nil {
163662				var userProperties []UserProperty
163663				err = json.Unmarshal(*v, &userProperties)
163664				if err != nil {
163665					return err
163666				}
163667				sva.UserProperties = &userProperties
163668			}
163669		case "type":
163670			if v != nil {
163671				var typeVar TypeBasicActivity
163672				err = json.Unmarshal(*v, &typeVar)
163673				if err != nil {
163674					return err
163675				}
163676				sva.Type = typeVar
163677			}
163678		}
163679	}
163680
163681	return nil
163682}
163683
163684// SetVariableActivityTypeProperties setVariable activity properties.
163685type SetVariableActivityTypeProperties struct {
163686	// VariableName - Name of the variable whose value needs to be set.
163687	VariableName *string `json:"variableName,omitempty"`
163688	// Value - Value to be set. Could be a static value or Expression
163689	Value interface{} `json:"value,omitempty"`
163690}
163691
163692// SftpLocation the location of SFTP dataset.
163693type SftpLocation struct {
163694	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
163695	AdditionalProperties map[string]interface{} `json:""`
163696	// Type - Type of dataset storage location.
163697	Type *string `json:"type,omitempty"`
163698	// FolderPath - Specify the folder path of dataset. Type: string (or Expression with resultType string)
163699	FolderPath interface{} `json:"folderPath,omitempty"`
163700	// FileName - Specify the file name of dataset. Type: string (or Expression with resultType string).
163701	FileName interface{} `json:"fileName,omitempty"`
163702}
163703
163704// MarshalJSON is the custom marshaler for SftpLocation.
163705func (sl SftpLocation) MarshalJSON() ([]byte, error) {
163706	objectMap := make(map[string]interface{})
163707	if sl.Type != nil {
163708		objectMap["type"] = sl.Type
163709	}
163710	if sl.FolderPath != nil {
163711		objectMap["folderPath"] = sl.FolderPath
163712	}
163713	if sl.FileName != nil {
163714		objectMap["fileName"] = sl.FileName
163715	}
163716	for k, v := range sl.AdditionalProperties {
163717		objectMap[k] = v
163718	}
163719	return json.Marshal(objectMap)
163720}
163721
163722// UnmarshalJSON is the custom unmarshaler for SftpLocation struct.
163723func (sl *SftpLocation) UnmarshalJSON(body []byte) error {
163724	var m map[string]*json.RawMessage
163725	err := json.Unmarshal(body, &m)
163726	if err != nil {
163727		return err
163728	}
163729	for k, v := range m {
163730		switch k {
163731		default:
163732			if v != nil {
163733				var additionalProperties interface{}
163734				err = json.Unmarshal(*v, &additionalProperties)
163735				if err != nil {
163736					return err
163737				}
163738				if sl.AdditionalProperties == nil {
163739					sl.AdditionalProperties = make(map[string]interface{})
163740				}
163741				sl.AdditionalProperties[k] = additionalProperties
163742			}
163743		case "type":
163744			if v != nil {
163745				var typeVar string
163746				err = json.Unmarshal(*v, &typeVar)
163747				if err != nil {
163748					return err
163749				}
163750				sl.Type = &typeVar
163751			}
163752		case "folderPath":
163753			if v != nil {
163754				var folderPath interface{}
163755				err = json.Unmarshal(*v, &folderPath)
163756				if err != nil {
163757					return err
163758				}
163759				sl.FolderPath = folderPath
163760			}
163761		case "fileName":
163762			if v != nil {
163763				var fileName interface{}
163764				err = json.Unmarshal(*v, &fileName)
163765				if err != nil {
163766					return err
163767				}
163768				sl.FileName = fileName
163769			}
163770		}
163771	}
163772
163773	return nil
163774}
163775
163776// SftpReadSettings sftp read settings.
163777type SftpReadSettings struct {
163778	// Recursive - If true, files under the folder path will be read recursively. Default is true. Type: boolean (or Expression with resultType boolean).
163779	Recursive interface{} `json:"recursive,omitempty"`
163780	// WildcardFolderPath - Sftp wildcardFolderPath. Type: string (or Expression with resultType string).
163781	WildcardFolderPath interface{} `json:"wildcardFolderPath,omitempty"`
163782	// WildcardFileName - Sftp wildcardFileName. Type: string (or Expression with resultType string).
163783	WildcardFileName interface{} `json:"wildcardFileName,omitempty"`
163784	// ModifiedDatetimeStart - The start of file's modified datetime. Type: string (or Expression with resultType string).
163785	ModifiedDatetimeStart interface{} `json:"modifiedDatetimeStart,omitempty"`
163786	// ModifiedDatetimeEnd - The end of file's modified datetime. Type: string (or Expression with resultType string).
163787	ModifiedDatetimeEnd interface{} `json:"modifiedDatetimeEnd,omitempty"`
163788	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
163789	AdditionalProperties map[string]interface{} `json:""`
163790	// Type - The read setting type.
163791	Type *string `json:"type,omitempty"`
163792	// MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer).
163793	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
163794}
163795
163796// MarshalJSON is the custom marshaler for SftpReadSettings.
163797func (srs SftpReadSettings) MarshalJSON() ([]byte, error) {
163798	objectMap := make(map[string]interface{})
163799	if srs.Recursive != nil {
163800		objectMap["recursive"] = srs.Recursive
163801	}
163802	if srs.WildcardFolderPath != nil {
163803		objectMap["wildcardFolderPath"] = srs.WildcardFolderPath
163804	}
163805	if srs.WildcardFileName != nil {
163806		objectMap["wildcardFileName"] = srs.WildcardFileName
163807	}
163808	if srs.ModifiedDatetimeStart != nil {
163809		objectMap["modifiedDatetimeStart"] = srs.ModifiedDatetimeStart
163810	}
163811	if srs.ModifiedDatetimeEnd != nil {
163812		objectMap["modifiedDatetimeEnd"] = srs.ModifiedDatetimeEnd
163813	}
163814	if srs.Type != nil {
163815		objectMap["type"] = srs.Type
163816	}
163817	if srs.MaxConcurrentConnections != nil {
163818		objectMap["maxConcurrentConnections"] = srs.MaxConcurrentConnections
163819	}
163820	for k, v := range srs.AdditionalProperties {
163821		objectMap[k] = v
163822	}
163823	return json.Marshal(objectMap)
163824}
163825
163826// UnmarshalJSON is the custom unmarshaler for SftpReadSettings struct.
163827func (srs *SftpReadSettings) UnmarshalJSON(body []byte) error {
163828	var m map[string]*json.RawMessage
163829	err := json.Unmarshal(body, &m)
163830	if err != nil {
163831		return err
163832	}
163833	for k, v := range m {
163834		switch k {
163835		case "recursive":
163836			if v != nil {
163837				var recursive interface{}
163838				err = json.Unmarshal(*v, &recursive)
163839				if err != nil {
163840					return err
163841				}
163842				srs.Recursive = recursive
163843			}
163844		case "wildcardFolderPath":
163845			if v != nil {
163846				var wildcardFolderPath interface{}
163847				err = json.Unmarshal(*v, &wildcardFolderPath)
163848				if err != nil {
163849					return err
163850				}
163851				srs.WildcardFolderPath = wildcardFolderPath
163852			}
163853		case "wildcardFileName":
163854			if v != nil {
163855				var wildcardFileName interface{}
163856				err = json.Unmarshal(*v, &wildcardFileName)
163857				if err != nil {
163858					return err
163859				}
163860				srs.WildcardFileName = wildcardFileName
163861			}
163862		case "modifiedDatetimeStart":
163863			if v != nil {
163864				var modifiedDatetimeStart interface{}
163865				err = json.Unmarshal(*v, &modifiedDatetimeStart)
163866				if err != nil {
163867					return err
163868				}
163869				srs.ModifiedDatetimeStart = modifiedDatetimeStart
163870			}
163871		case "modifiedDatetimeEnd":
163872			if v != nil {
163873				var modifiedDatetimeEnd interface{}
163874				err = json.Unmarshal(*v, &modifiedDatetimeEnd)
163875				if err != nil {
163876					return err
163877				}
163878				srs.ModifiedDatetimeEnd = modifiedDatetimeEnd
163879			}
163880		default:
163881			if v != nil {
163882				var additionalProperties interface{}
163883				err = json.Unmarshal(*v, &additionalProperties)
163884				if err != nil {
163885					return err
163886				}
163887				if srs.AdditionalProperties == nil {
163888					srs.AdditionalProperties = make(map[string]interface{})
163889				}
163890				srs.AdditionalProperties[k] = additionalProperties
163891			}
163892		case "type":
163893			if v != nil {
163894				var typeVar string
163895				err = json.Unmarshal(*v, &typeVar)
163896				if err != nil {
163897					return err
163898				}
163899				srs.Type = &typeVar
163900			}
163901		case "maxConcurrentConnections":
163902			if v != nil {
163903				var maxConcurrentConnections interface{}
163904				err = json.Unmarshal(*v, &maxConcurrentConnections)
163905				if err != nil {
163906					return err
163907				}
163908				srs.MaxConcurrentConnections = maxConcurrentConnections
163909			}
163910		}
163911	}
163912
163913	return nil
163914}
163915
163916// SftpServerLinkedService a linked service for an SSH File Transfer Protocol (SFTP) server.
163917type SftpServerLinkedService struct {
163918	// SftpServerLinkedServiceTypeProperties - Properties specific to this linked service type.
163919	*SftpServerLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
163920	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
163921	AdditionalProperties map[string]interface{} `json:""`
163922	// ConnectVia - The integration runtime reference.
163923	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
163924	// Description - Linked service description.
163925	Description *string `json:"description,omitempty"`
163926	// Parameters - Parameters for linked service.
163927	Parameters map[string]*ParameterSpecification `json:"parameters"`
163928	// Annotations - List of tags that can be used for describing the linked service.
163929	Annotations *[]interface{} `json:"annotations,omitempty"`
163930	// Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', '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', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage'
163931	Type TypeBasicLinkedService `json:"type,omitempty"`
163932}
163933
163934// MarshalJSON is the custom marshaler for SftpServerLinkedService.
163935func (ssls SftpServerLinkedService) MarshalJSON() ([]byte, error) {
163936	ssls.Type = TypeSftp
163937	objectMap := make(map[string]interface{})
163938	if ssls.SftpServerLinkedServiceTypeProperties != nil {
163939		objectMap["typeProperties"] = ssls.SftpServerLinkedServiceTypeProperties
163940	}
163941	if ssls.ConnectVia != nil {
163942		objectMap["connectVia"] = ssls.ConnectVia
163943	}
163944	if ssls.Description != nil {
163945		objectMap["description"] = ssls.Description
163946	}
163947	if ssls.Parameters != nil {
163948		objectMap["parameters"] = ssls.Parameters
163949	}
163950	if ssls.Annotations != nil {
163951		objectMap["annotations"] = ssls.Annotations
163952	}
163953	if ssls.Type != "" {
163954		objectMap["type"] = ssls.Type
163955	}
163956	for k, v := range ssls.AdditionalProperties {
163957		objectMap[k] = v
163958	}
163959	return json.Marshal(objectMap)
163960}
163961
163962// AsAzureFunctionLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
163963func (ssls SftpServerLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) {
163964	return nil, false
163965}
163966
163967// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
163968func (ssls SftpServerLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) {
163969	return nil, false
163970}
163971
163972// AsSapTableLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
163973func (ssls SftpServerLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) {
163974	return nil, false
163975}
163976
163977// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
163978func (ssls SftpServerLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) {
163979	return nil, false
163980}
163981
163982// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
163983func (ssls SftpServerLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) {
163984	return nil, false
163985}
163986
163987// AsDynamicsAXLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
163988func (ssls SftpServerLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) {
163989	return nil, false
163990}
163991
163992// AsResponsysLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
163993func (ssls SftpServerLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
163994	return nil, false
163995}
163996
163997// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
163998func (ssls SftpServerLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
163999	return nil, false
164000}
164001
164002// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
164003func (ssls SftpServerLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
164004	return nil, false
164005}
164006
164007// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
164008func (ssls SftpServerLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
164009	return nil, false
164010}
164011
164012// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
164013func (ssls SftpServerLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
164014	return nil, false
164015}
164016
164017// AsNetezzaLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
164018func (ssls SftpServerLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
164019	return nil, false
164020}
164021
164022// AsVerticaLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
164023func (ssls SftpServerLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
164024	return nil, false
164025}
164026
164027// AsZohoLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
164028func (ssls SftpServerLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
164029	return nil, false
164030}
164031
164032// AsXeroLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
164033func (ssls SftpServerLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
164034	return nil, false
164035}
164036
164037// AsSquareLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
164038func (ssls SftpServerLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
164039	return nil, false
164040}
164041
164042// AsSparkLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
164043func (ssls SftpServerLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
164044	return nil, false
164045}
164046
164047// AsShopifyLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
164048func (ssls SftpServerLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
164049	return nil, false
164050}
164051
164052// AsServiceNowLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
164053func (ssls SftpServerLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
164054	return nil, false
164055}
164056
164057// AsQuickBooksLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
164058func (ssls SftpServerLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
164059	return nil, false
164060}
164061
164062// AsPrestoLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
164063func (ssls SftpServerLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
164064	return nil, false
164065}
164066
164067// AsPhoenixLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
164068func (ssls SftpServerLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
164069	return nil, false
164070}
164071
164072// AsPaypalLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
164073func (ssls SftpServerLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
164074	return nil, false
164075}
164076
164077// AsMarketoLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
164078func (ssls SftpServerLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
164079	return nil, false
164080}
164081
164082// AsMariaDBLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
164083func (ssls SftpServerLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
164084	return nil, false
164085}
164086
164087// AsMagentoLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
164088func (ssls SftpServerLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
164089	return nil, false
164090}
164091
164092// AsJiraLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
164093func (ssls SftpServerLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
164094	return nil, false
164095}
164096
164097// AsImpalaLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
164098func (ssls SftpServerLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
164099	return nil, false
164100}
164101
164102// AsHubspotLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
164103func (ssls SftpServerLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
164104	return nil, false
164105}
164106
164107// AsHiveLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
164108func (ssls SftpServerLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
164109	return nil, false
164110}
164111
164112// AsHBaseLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
164113func (ssls SftpServerLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
164114	return nil, false
164115}
164116
164117// AsGreenplumLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
164118func (ssls SftpServerLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
164119	return nil, false
164120}
164121
164122// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
164123func (ssls SftpServerLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
164124	return nil, false
164125}
164126
164127// AsEloquaLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
164128func (ssls SftpServerLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
164129	return nil, false
164130}
164131
164132// AsDrillLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
164133func (ssls SftpServerLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
164134	return nil, false
164135}
164136
164137// AsCouchbaseLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
164138func (ssls SftpServerLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
164139	return nil, false
164140}
164141
164142// AsConcurLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
164143func (ssls SftpServerLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
164144	return nil, false
164145}
164146
164147// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
164148func (ssls SftpServerLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
164149	return nil, false
164150}
164151
164152// AsAmazonMWSLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
164153func (ssls SftpServerLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
164154	return nil, false
164155}
164156
164157// AsSapHanaLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
164158func (ssls SftpServerLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
164159	return nil, false
164160}
164161
164162// AsSapBWLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
164163func (ssls SftpServerLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
164164	return nil, false
164165}
164166
164167// AsSftpServerLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
164168func (ssls SftpServerLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
164169	return &ssls, true
164170}
164171
164172// AsFtpServerLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
164173func (ssls SftpServerLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
164174	return nil, false
164175}
164176
164177// AsHTTPLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
164178func (ssls SftpServerLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
164179	return nil, false
164180}
164181
164182// AsAzureSearchLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
164183func (ssls SftpServerLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
164184	return nil, false
164185}
164186
164187// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
164188func (ssls SftpServerLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
164189	return nil, false
164190}
164191
164192// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
164193func (ssls SftpServerLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
164194	return nil, false
164195}
164196
164197// AsAmazonS3LinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
164198func (ssls SftpServerLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
164199	return nil, false
164200}
164201
164202// AsRestServiceLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
164203func (ssls SftpServerLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) {
164204	return nil, false
164205}
164206
164207// AsSapOpenHubLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
164208func (ssls SftpServerLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) {
164209	return nil, false
164210}
164211
164212// AsSapEccLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
164213func (ssls SftpServerLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
164214	return nil, false
164215}
164216
164217// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
164218func (ssls SftpServerLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
164219	return nil, false
164220}
164221
164222// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
164223func (ssls SftpServerLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) {
164224	return nil, false
164225}
164226
164227// AsSalesforceLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
164228func (ssls SftpServerLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
164229	return nil, false
164230}
164231
164232// AsOffice365LinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
164233func (ssls SftpServerLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) {
164234	return nil, false
164235}
164236
164237// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
164238func (ssls SftpServerLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) {
164239	return nil, false
164240}
164241
164242// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
164243func (ssls SftpServerLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
164244	return nil, false
164245}
164246
164247// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
164248func (ssls SftpServerLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) {
164249	return nil, false
164250}
164251
164252// AsMongoDbV2LinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
164253func (ssls SftpServerLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) {
164254	return nil, false
164255}
164256
164257// AsMongoDbLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
164258func (ssls SftpServerLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
164259	return nil, false
164260}
164261
164262// AsCassandraLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
164263func (ssls SftpServerLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
164264	return nil, false
164265}
164266
164267// AsWebLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
164268func (ssls SftpServerLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
164269	return nil, false
164270}
164271
164272// AsODataLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
164273func (ssls SftpServerLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
164274	return nil, false
164275}
164276
164277// AsHdfsLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
164278func (ssls SftpServerLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
164279	return nil, false
164280}
164281
164282// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
164283func (ssls SftpServerLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) {
164284	return nil, false
164285}
164286
164287// AsInformixLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
164288func (ssls SftpServerLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) {
164289	return nil, false
164290}
164291
164292// AsOdbcLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
164293func (ssls SftpServerLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
164294	return nil, false
164295}
164296
164297// AsAzureMLLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
164298func (ssls SftpServerLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
164299	return nil, false
164300}
164301
164302// AsTeradataLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
164303func (ssls SftpServerLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
164304	return nil, false
164305}
164306
164307// AsDb2LinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
164308func (ssls SftpServerLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
164309	return nil, false
164310}
164311
164312// AsSybaseLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
164313func (ssls SftpServerLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
164314	return nil, false
164315}
164316
164317// AsPostgreSQLLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
164318func (ssls SftpServerLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
164319	return nil, false
164320}
164321
164322// AsMySQLLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
164323func (ssls SftpServerLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
164324	return nil, false
164325}
164326
164327// AsAzureMySQLLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
164328func (ssls SftpServerLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
164329	return nil, false
164330}
164331
164332// AsOracleLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
164333func (ssls SftpServerLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
164334	return nil, false
164335}
164336
164337// AsFileServerLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
164338func (ssls SftpServerLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
164339	return nil, false
164340}
164341
164342// AsHDInsightLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
164343func (ssls SftpServerLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
164344	return nil, false
164345}
164346
164347// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
164348func (ssls SftpServerLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) {
164349	return nil, false
164350}
164351
164352// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
164353func (ssls SftpServerLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) {
164354	return nil, false
164355}
164356
164357// AsDynamicsLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
164358func (ssls SftpServerLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
164359	return nil, false
164360}
164361
164362// AsCosmosDbLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
164363func (ssls SftpServerLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
164364	return nil, false
164365}
164366
164367// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
164368func (ssls SftpServerLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
164369	return nil, false
164370}
164371
164372// AsAzureBatchLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
164373func (ssls SftpServerLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
164374	return nil, false
164375}
164376
164377// AsAzureSQLMILinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
164378func (ssls SftpServerLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) {
164379	return nil, false
164380}
164381
164382// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
164383func (ssls SftpServerLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
164384	return nil, false
164385}
164386
164387// AsSQLServerLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
164388func (ssls SftpServerLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
164389	return nil, false
164390}
164391
164392// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
164393func (ssls SftpServerLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
164394	return nil, false
164395}
164396
164397// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
164398func (ssls SftpServerLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) {
164399	return nil, false
164400}
164401
164402// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
164403func (ssls SftpServerLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) {
164404	return nil, false
164405}
164406
164407// AsAzureStorageLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
164408func (ssls SftpServerLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
164409	return nil, false
164410}
164411
164412// AsLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
164413func (ssls SftpServerLinkedService) AsLinkedService() (*LinkedService, bool) {
164414	return nil, false
164415}
164416
164417// AsBasicLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
164418func (ssls SftpServerLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
164419	return &ssls, true
164420}
164421
164422// UnmarshalJSON is the custom unmarshaler for SftpServerLinkedService struct.
164423func (ssls *SftpServerLinkedService) UnmarshalJSON(body []byte) error {
164424	var m map[string]*json.RawMessage
164425	err := json.Unmarshal(body, &m)
164426	if err != nil {
164427		return err
164428	}
164429	for k, v := range m {
164430		switch k {
164431		case "typeProperties":
164432			if v != nil {
164433				var sftpServerLinkedServiceTypeProperties SftpServerLinkedServiceTypeProperties
164434				err = json.Unmarshal(*v, &sftpServerLinkedServiceTypeProperties)
164435				if err != nil {
164436					return err
164437				}
164438				ssls.SftpServerLinkedServiceTypeProperties = &sftpServerLinkedServiceTypeProperties
164439			}
164440		default:
164441			if v != nil {
164442				var additionalProperties interface{}
164443				err = json.Unmarshal(*v, &additionalProperties)
164444				if err != nil {
164445					return err
164446				}
164447				if ssls.AdditionalProperties == nil {
164448					ssls.AdditionalProperties = make(map[string]interface{})
164449				}
164450				ssls.AdditionalProperties[k] = additionalProperties
164451			}
164452		case "connectVia":
164453			if v != nil {
164454				var connectVia IntegrationRuntimeReference
164455				err = json.Unmarshal(*v, &connectVia)
164456				if err != nil {
164457					return err
164458				}
164459				ssls.ConnectVia = &connectVia
164460			}
164461		case "description":
164462			if v != nil {
164463				var description string
164464				err = json.Unmarshal(*v, &description)
164465				if err != nil {
164466					return err
164467				}
164468				ssls.Description = &description
164469			}
164470		case "parameters":
164471			if v != nil {
164472				var parameters map[string]*ParameterSpecification
164473				err = json.Unmarshal(*v, &parameters)
164474				if err != nil {
164475					return err
164476				}
164477				ssls.Parameters = parameters
164478			}
164479		case "annotations":
164480			if v != nil {
164481				var annotations []interface{}
164482				err = json.Unmarshal(*v, &annotations)
164483				if err != nil {
164484					return err
164485				}
164486				ssls.Annotations = &annotations
164487			}
164488		case "type":
164489			if v != nil {
164490				var typeVar TypeBasicLinkedService
164491				err = json.Unmarshal(*v, &typeVar)
164492				if err != nil {
164493					return err
164494				}
164495				ssls.Type = typeVar
164496			}
164497		}
164498	}
164499
164500	return nil
164501}
164502
164503// SftpServerLinkedServiceTypeProperties properties specific to this linked service type.
164504type SftpServerLinkedServiceTypeProperties struct {
164505	// Host - The SFTP server host name. Type: string (or Expression with resultType string).
164506	Host interface{} `json:"host,omitempty"`
164507	// 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.
164508	Port interface{} `json:"port,omitempty"`
164509	// AuthenticationType - The authentication type to be used to connect to the FTP server. Possible values include: 'SftpAuthenticationTypeBasic', 'SftpAuthenticationTypeSSHPublicKey'
164510	AuthenticationType SftpAuthenticationType `json:"authenticationType,omitempty"`
164511	// UserName - The username used to log on to the SFTP server. Type: string (or Expression with resultType string).
164512	UserName interface{} `json:"userName,omitempty"`
164513	// Password - Password to logon the SFTP server for Basic authentication.
164514	Password BasicSecretBase `json:"password,omitempty"`
164515	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
164516	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
164517	// 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).
164518	PrivateKeyPath interface{} `json:"privateKeyPath,omitempty"`
164519	// 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.
164520	PrivateKeyContent BasicSecretBase `json:"privateKeyContent,omitempty"`
164521	// PassPhrase - The password to decrypt the SSH private key if the SSH private key is encrypted.
164522	PassPhrase BasicSecretBase `json:"passPhrase,omitempty"`
164523	// SkipHostKeyValidation - If true, skip the SSH host key validation. Default value is false. Type: boolean (or Expression with resultType boolean).
164524	SkipHostKeyValidation interface{} `json:"skipHostKeyValidation,omitempty"`
164525	// 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).
164526	HostKeyFingerprint interface{} `json:"hostKeyFingerprint,omitempty"`
164527}
164528
164529// UnmarshalJSON is the custom unmarshaler for SftpServerLinkedServiceTypeProperties struct.
164530func (sslstp *SftpServerLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
164531	var m map[string]*json.RawMessage
164532	err := json.Unmarshal(body, &m)
164533	if err != nil {
164534		return err
164535	}
164536	for k, v := range m {
164537		switch k {
164538		case "host":
164539			if v != nil {
164540				var host interface{}
164541				err = json.Unmarshal(*v, &host)
164542				if err != nil {
164543					return err
164544				}
164545				sslstp.Host = host
164546			}
164547		case "port":
164548			if v != nil {
164549				var port interface{}
164550				err = json.Unmarshal(*v, &port)
164551				if err != nil {
164552					return err
164553				}
164554				sslstp.Port = port
164555			}
164556		case "authenticationType":
164557			if v != nil {
164558				var authenticationType SftpAuthenticationType
164559				err = json.Unmarshal(*v, &authenticationType)
164560				if err != nil {
164561					return err
164562				}
164563				sslstp.AuthenticationType = authenticationType
164564			}
164565		case "userName":
164566			if v != nil {
164567				var userName interface{}
164568				err = json.Unmarshal(*v, &userName)
164569				if err != nil {
164570					return err
164571				}
164572				sslstp.UserName = userName
164573			}
164574		case "password":
164575			if v != nil {
164576				password, err := unmarshalBasicSecretBase(*v)
164577				if err != nil {
164578					return err
164579				}
164580				sslstp.Password = password
164581			}
164582		case "encryptedCredential":
164583			if v != nil {
164584				var encryptedCredential interface{}
164585				err = json.Unmarshal(*v, &encryptedCredential)
164586				if err != nil {
164587					return err
164588				}
164589				sslstp.EncryptedCredential = encryptedCredential
164590			}
164591		case "privateKeyPath":
164592			if v != nil {
164593				var privateKeyPath interface{}
164594				err = json.Unmarshal(*v, &privateKeyPath)
164595				if err != nil {
164596					return err
164597				}
164598				sslstp.PrivateKeyPath = privateKeyPath
164599			}
164600		case "privateKeyContent":
164601			if v != nil {
164602				privateKeyContent, err := unmarshalBasicSecretBase(*v)
164603				if err != nil {
164604					return err
164605				}
164606				sslstp.PrivateKeyContent = privateKeyContent
164607			}
164608		case "passPhrase":
164609			if v != nil {
164610				passPhrase, err := unmarshalBasicSecretBase(*v)
164611				if err != nil {
164612					return err
164613				}
164614				sslstp.PassPhrase = passPhrase
164615			}
164616		case "skipHostKeyValidation":
164617			if v != nil {
164618				var skipHostKeyValidation interface{}
164619				err = json.Unmarshal(*v, &skipHostKeyValidation)
164620				if err != nil {
164621					return err
164622				}
164623				sslstp.SkipHostKeyValidation = skipHostKeyValidation
164624			}
164625		case "hostKeyFingerprint":
164626			if v != nil {
164627				var hostKeyFingerprint interface{}
164628				err = json.Unmarshal(*v, &hostKeyFingerprint)
164629				if err != nil {
164630					return err
164631				}
164632				sslstp.HostKeyFingerprint = hostKeyFingerprint
164633			}
164634		}
164635	}
164636
164637	return nil
164638}
164639
164640// ShopifyLinkedService shopify Service linked service.
164641type ShopifyLinkedService struct {
164642	// ShopifyLinkedServiceTypeProperties - Shopify Service linked service properties.
164643	*ShopifyLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
164644	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
164645	AdditionalProperties map[string]interface{} `json:""`
164646	// ConnectVia - The integration runtime reference.
164647	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
164648	// Description - Linked service description.
164649	Description *string `json:"description,omitempty"`
164650	// Parameters - Parameters for linked service.
164651	Parameters map[string]*ParameterSpecification `json:"parameters"`
164652	// Annotations - List of tags that can be used for describing the linked service.
164653	Annotations *[]interface{} `json:"annotations,omitempty"`
164654	// Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', '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', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage'
164655	Type TypeBasicLinkedService `json:"type,omitempty"`
164656}
164657
164658// MarshalJSON is the custom marshaler for ShopifyLinkedService.
164659func (sls ShopifyLinkedService) MarshalJSON() ([]byte, error) {
164660	sls.Type = TypeShopify
164661	objectMap := make(map[string]interface{})
164662	if sls.ShopifyLinkedServiceTypeProperties != nil {
164663		objectMap["typeProperties"] = sls.ShopifyLinkedServiceTypeProperties
164664	}
164665	if sls.ConnectVia != nil {
164666		objectMap["connectVia"] = sls.ConnectVia
164667	}
164668	if sls.Description != nil {
164669		objectMap["description"] = sls.Description
164670	}
164671	if sls.Parameters != nil {
164672		objectMap["parameters"] = sls.Parameters
164673	}
164674	if sls.Annotations != nil {
164675		objectMap["annotations"] = sls.Annotations
164676	}
164677	if sls.Type != "" {
164678		objectMap["type"] = sls.Type
164679	}
164680	for k, v := range sls.AdditionalProperties {
164681		objectMap[k] = v
164682	}
164683	return json.Marshal(objectMap)
164684}
164685
164686// AsAzureFunctionLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
164687func (sls ShopifyLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) {
164688	return nil, false
164689}
164690
164691// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
164692func (sls ShopifyLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) {
164693	return nil, false
164694}
164695
164696// AsSapTableLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
164697func (sls ShopifyLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) {
164698	return nil, false
164699}
164700
164701// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
164702func (sls ShopifyLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) {
164703	return nil, false
164704}
164705
164706// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
164707func (sls ShopifyLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) {
164708	return nil, false
164709}
164710
164711// AsDynamicsAXLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
164712func (sls ShopifyLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) {
164713	return nil, false
164714}
164715
164716// AsResponsysLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
164717func (sls ShopifyLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
164718	return nil, false
164719}
164720
164721// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
164722func (sls ShopifyLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
164723	return nil, false
164724}
164725
164726// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
164727func (sls ShopifyLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
164728	return nil, false
164729}
164730
164731// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
164732func (sls ShopifyLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
164733	return nil, false
164734}
164735
164736// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
164737func (sls ShopifyLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
164738	return nil, false
164739}
164740
164741// AsNetezzaLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
164742func (sls ShopifyLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
164743	return nil, false
164744}
164745
164746// AsVerticaLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
164747func (sls ShopifyLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
164748	return nil, false
164749}
164750
164751// AsZohoLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
164752func (sls ShopifyLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
164753	return nil, false
164754}
164755
164756// AsXeroLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
164757func (sls ShopifyLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
164758	return nil, false
164759}
164760
164761// AsSquareLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
164762func (sls ShopifyLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
164763	return nil, false
164764}
164765
164766// AsSparkLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
164767func (sls ShopifyLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
164768	return nil, false
164769}
164770
164771// AsShopifyLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
164772func (sls ShopifyLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
164773	return &sls, true
164774}
164775
164776// AsServiceNowLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
164777func (sls ShopifyLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
164778	return nil, false
164779}
164780
164781// AsQuickBooksLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
164782func (sls ShopifyLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
164783	return nil, false
164784}
164785
164786// AsPrestoLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
164787func (sls ShopifyLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
164788	return nil, false
164789}
164790
164791// AsPhoenixLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
164792func (sls ShopifyLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
164793	return nil, false
164794}
164795
164796// AsPaypalLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
164797func (sls ShopifyLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
164798	return nil, false
164799}
164800
164801// AsMarketoLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
164802func (sls ShopifyLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
164803	return nil, false
164804}
164805
164806// AsMariaDBLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
164807func (sls ShopifyLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
164808	return nil, false
164809}
164810
164811// AsMagentoLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
164812func (sls ShopifyLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
164813	return nil, false
164814}
164815
164816// AsJiraLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
164817func (sls ShopifyLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
164818	return nil, false
164819}
164820
164821// AsImpalaLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
164822func (sls ShopifyLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
164823	return nil, false
164824}
164825
164826// AsHubspotLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
164827func (sls ShopifyLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
164828	return nil, false
164829}
164830
164831// AsHiveLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
164832func (sls ShopifyLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
164833	return nil, false
164834}
164835
164836// AsHBaseLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
164837func (sls ShopifyLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
164838	return nil, false
164839}
164840
164841// AsGreenplumLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
164842func (sls ShopifyLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
164843	return nil, false
164844}
164845
164846// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
164847func (sls ShopifyLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
164848	return nil, false
164849}
164850
164851// AsEloquaLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
164852func (sls ShopifyLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
164853	return nil, false
164854}
164855
164856// AsDrillLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
164857func (sls ShopifyLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
164858	return nil, false
164859}
164860
164861// AsCouchbaseLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
164862func (sls ShopifyLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
164863	return nil, false
164864}
164865
164866// AsConcurLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
164867func (sls ShopifyLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
164868	return nil, false
164869}
164870
164871// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
164872func (sls ShopifyLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
164873	return nil, false
164874}
164875
164876// AsAmazonMWSLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
164877func (sls ShopifyLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
164878	return nil, false
164879}
164880
164881// AsSapHanaLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
164882func (sls ShopifyLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
164883	return nil, false
164884}
164885
164886// AsSapBWLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
164887func (sls ShopifyLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
164888	return nil, false
164889}
164890
164891// AsSftpServerLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
164892func (sls ShopifyLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
164893	return nil, false
164894}
164895
164896// AsFtpServerLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
164897func (sls ShopifyLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
164898	return nil, false
164899}
164900
164901// AsHTTPLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
164902func (sls ShopifyLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
164903	return nil, false
164904}
164905
164906// AsAzureSearchLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
164907func (sls ShopifyLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
164908	return nil, false
164909}
164910
164911// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
164912func (sls ShopifyLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
164913	return nil, false
164914}
164915
164916// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
164917func (sls ShopifyLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
164918	return nil, false
164919}
164920
164921// AsAmazonS3LinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
164922func (sls ShopifyLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
164923	return nil, false
164924}
164925
164926// AsRestServiceLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
164927func (sls ShopifyLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) {
164928	return nil, false
164929}
164930
164931// AsSapOpenHubLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
164932func (sls ShopifyLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) {
164933	return nil, false
164934}
164935
164936// AsSapEccLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
164937func (sls ShopifyLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
164938	return nil, false
164939}
164940
164941// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
164942func (sls ShopifyLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
164943	return nil, false
164944}
164945
164946// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
164947func (sls ShopifyLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) {
164948	return nil, false
164949}
164950
164951// AsSalesforceLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
164952func (sls ShopifyLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
164953	return nil, false
164954}
164955
164956// AsOffice365LinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
164957func (sls ShopifyLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) {
164958	return nil, false
164959}
164960
164961// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
164962func (sls ShopifyLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) {
164963	return nil, false
164964}
164965
164966// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
164967func (sls ShopifyLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
164968	return nil, false
164969}
164970
164971// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
164972func (sls ShopifyLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) {
164973	return nil, false
164974}
164975
164976// AsMongoDbV2LinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
164977func (sls ShopifyLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) {
164978	return nil, false
164979}
164980
164981// AsMongoDbLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
164982func (sls ShopifyLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
164983	return nil, false
164984}
164985
164986// AsCassandraLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
164987func (sls ShopifyLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
164988	return nil, false
164989}
164990
164991// AsWebLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
164992func (sls ShopifyLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
164993	return nil, false
164994}
164995
164996// AsODataLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
164997func (sls ShopifyLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
164998	return nil, false
164999}
165000
165001// AsHdfsLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
165002func (sls ShopifyLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
165003	return nil, false
165004}
165005
165006// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
165007func (sls ShopifyLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) {
165008	return nil, false
165009}
165010
165011// AsInformixLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
165012func (sls ShopifyLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) {
165013	return nil, false
165014}
165015
165016// AsOdbcLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
165017func (sls ShopifyLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
165018	return nil, false
165019}
165020
165021// AsAzureMLLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
165022func (sls ShopifyLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
165023	return nil, false
165024}
165025
165026// AsTeradataLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
165027func (sls ShopifyLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
165028	return nil, false
165029}
165030
165031// AsDb2LinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
165032func (sls ShopifyLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
165033	return nil, false
165034}
165035
165036// AsSybaseLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
165037func (sls ShopifyLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
165038	return nil, false
165039}
165040
165041// AsPostgreSQLLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
165042func (sls ShopifyLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
165043	return nil, false
165044}
165045
165046// AsMySQLLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
165047func (sls ShopifyLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
165048	return nil, false
165049}
165050
165051// AsAzureMySQLLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
165052func (sls ShopifyLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
165053	return nil, false
165054}
165055
165056// AsOracleLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
165057func (sls ShopifyLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
165058	return nil, false
165059}
165060
165061// AsFileServerLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
165062func (sls ShopifyLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
165063	return nil, false
165064}
165065
165066// AsHDInsightLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
165067func (sls ShopifyLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
165068	return nil, false
165069}
165070
165071// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
165072func (sls ShopifyLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) {
165073	return nil, false
165074}
165075
165076// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
165077func (sls ShopifyLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) {
165078	return nil, false
165079}
165080
165081// AsDynamicsLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
165082func (sls ShopifyLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
165083	return nil, false
165084}
165085
165086// AsCosmosDbLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
165087func (sls ShopifyLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
165088	return nil, false
165089}
165090
165091// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
165092func (sls ShopifyLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
165093	return nil, false
165094}
165095
165096// AsAzureBatchLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
165097func (sls ShopifyLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
165098	return nil, false
165099}
165100
165101// AsAzureSQLMILinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
165102func (sls ShopifyLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) {
165103	return nil, false
165104}
165105
165106// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
165107func (sls ShopifyLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
165108	return nil, false
165109}
165110
165111// AsSQLServerLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
165112func (sls ShopifyLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
165113	return nil, false
165114}
165115
165116// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
165117func (sls ShopifyLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
165118	return nil, false
165119}
165120
165121// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
165122func (sls ShopifyLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) {
165123	return nil, false
165124}
165125
165126// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
165127func (sls ShopifyLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) {
165128	return nil, false
165129}
165130
165131// AsAzureStorageLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
165132func (sls ShopifyLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
165133	return nil, false
165134}
165135
165136// AsLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
165137func (sls ShopifyLinkedService) AsLinkedService() (*LinkedService, bool) {
165138	return nil, false
165139}
165140
165141// AsBasicLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
165142func (sls ShopifyLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
165143	return &sls, true
165144}
165145
165146// UnmarshalJSON is the custom unmarshaler for ShopifyLinkedService struct.
165147func (sls *ShopifyLinkedService) UnmarshalJSON(body []byte) error {
165148	var m map[string]*json.RawMessage
165149	err := json.Unmarshal(body, &m)
165150	if err != nil {
165151		return err
165152	}
165153	for k, v := range m {
165154		switch k {
165155		case "typeProperties":
165156			if v != nil {
165157				var shopifyLinkedServiceTypeProperties ShopifyLinkedServiceTypeProperties
165158				err = json.Unmarshal(*v, &shopifyLinkedServiceTypeProperties)
165159				if err != nil {
165160					return err
165161				}
165162				sls.ShopifyLinkedServiceTypeProperties = &shopifyLinkedServiceTypeProperties
165163			}
165164		default:
165165			if v != nil {
165166				var additionalProperties interface{}
165167				err = json.Unmarshal(*v, &additionalProperties)
165168				if err != nil {
165169					return err
165170				}
165171				if sls.AdditionalProperties == nil {
165172					sls.AdditionalProperties = make(map[string]interface{})
165173				}
165174				sls.AdditionalProperties[k] = additionalProperties
165175			}
165176		case "connectVia":
165177			if v != nil {
165178				var connectVia IntegrationRuntimeReference
165179				err = json.Unmarshal(*v, &connectVia)
165180				if err != nil {
165181					return err
165182				}
165183				sls.ConnectVia = &connectVia
165184			}
165185		case "description":
165186			if v != nil {
165187				var description string
165188				err = json.Unmarshal(*v, &description)
165189				if err != nil {
165190					return err
165191				}
165192				sls.Description = &description
165193			}
165194		case "parameters":
165195			if v != nil {
165196				var parameters map[string]*ParameterSpecification
165197				err = json.Unmarshal(*v, &parameters)
165198				if err != nil {
165199					return err
165200				}
165201				sls.Parameters = parameters
165202			}
165203		case "annotations":
165204			if v != nil {
165205				var annotations []interface{}
165206				err = json.Unmarshal(*v, &annotations)
165207				if err != nil {
165208					return err
165209				}
165210				sls.Annotations = &annotations
165211			}
165212		case "type":
165213			if v != nil {
165214				var typeVar TypeBasicLinkedService
165215				err = json.Unmarshal(*v, &typeVar)
165216				if err != nil {
165217					return err
165218				}
165219				sls.Type = typeVar
165220			}
165221		}
165222	}
165223
165224	return nil
165225}
165226
165227// ShopifyLinkedServiceTypeProperties shopify Service linked service properties.
165228type ShopifyLinkedServiceTypeProperties struct {
165229	// Host - The endpoint of the Shopify server. (i.e. mystore.myshopify.com)
165230	Host interface{} `json:"host,omitempty"`
165231	// AccessToken - The API access token that can be used to access Shopify’s data. The token won't expire if it is offline mode.
165232	AccessToken BasicSecretBase `json:"accessToken,omitempty"`
165233	// UseEncryptedEndpoints - Specifies whether the data source endpoints are encrypted using HTTPS. The default value is true.
165234	UseEncryptedEndpoints interface{} `json:"useEncryptedEndpoints,omitempty"`
165235	// 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.
165236	UseHostVerification interface{} `json:"useHostVerification,omitempty"`
165237	// UsePeerVerification - Specifies whether to verify the identity of the server when connecting over SSL. The default value is true.
165238	UsePeerVerification interface{} `json:"usePeerVerification,omitempty"`
165239	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
165240	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
165241}
165242
165243// UnmarshalJSON is the custom unmarshaler for ShopifyLinkedServiceTypeProperties struct.
165244func (slstp *ShopifyLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
165245	var m map[string]*json.RawMessage
165246	err := json.Unmarshal(body, &m)
165247	if err != nil {
165248		return err
165249	}
165250	for k, v := range m {
165251		switch k {
165252		case "host":
165253			if v != nil {
165254				var host interface{}
165255				err = json.Unmarshal(*v, &host)
165256				if err != nil {
165257					return err
165258				}
165259				slstp.Host = host
165260			}
165261		case "accessToken":
165262			if v != nil {
165263				accessToken, err := unmarshalBasicSecretBase(*v)
165264				if err != nil {
165265					return err
165266				}
165267				slstp.AccessToken = accessToken
165268			}
165269		case "useEncryptedEndpoints":
165270			if v != nil {
165271				var useEncryptedEndpoints interface{}
165272				err = json.Unmarshal(*v, &useEncryptedEndpoints)
165273				if err != nil {
165274					return err
165275				}
165276				slstp.UseEncryptedEndpoints = useEncryptedEndpoints
165277			}
165278		case "useHostVerification":
165279			if v != nil {
165280				var useHostVerification interface{}
165281				err = json.Unmarshal(*v, &useHostVerification)
165282				if err != nil {
165283					return err
165284				}
165285				slstp.UseHostVerification = useHostVerification
165286			}
165287		case "usePeerVerification":
165288			if v != nil {
165289				var usePeerVerification interface{}
165290				err = json.Unmarshal(*v, &usePeerVerification)
165291				if err != nil {
165292					return err
165293				}
165294				slstp.UsePeerVerification = usePeerVerification
165295			}
165296		case "encryptedCredential":
165297			if v != nil {
165298				var encryptedCredential interface{}
165299				err = json.Unmarshal(*v, &encryptedCredential)
165300				if err != nil {
165301					return err
165302				}
165303				slstp.EncryptedCredential = encryptedCredential
165304			}
165305		}
165306	}
165307
165308	return nil
165309}
165310
165311// ShopifyObjectDataset shopify Service dataset.
165312type ShopifyObjectDataset struct {
165313	// GenericDatasetTypeProperties - Properties specific to this dataset type.
165314	*GenericDatasetTypeProperties `json:"typeProperties,omitempty"`
165315	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
165316	AdditionalProperties map[string]interface{} `json:""`
165317	// Description - Dataset description.
165318	Description *string `json:"description,omitempty"`
165319	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
165320	Structure interface{} `json:"structure,omitempty"`
165321	// Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement.
165322	Schema interface{} `json:"schema,omitempty"`
165323	// LinkedServiceName - Linked service reference.
165324	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
165325	// Parameters - Parameters for dataset.
165326	Parameters map[string]*ParameterSpecification `json:"parameters"`
165327	// Annotations - List of tags that can be used for describing the Dataset.
165328	Annotations *[]interface{} `json:"annotations,omitempty"`
165329	// Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level.
165330	Folder *DatasetFolder `json:"folder,omitempty"`
165331	// Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', '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', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeDelimitedText', 'TypeParquet', 'TypeAmazonS3Object'
165332	Type TypeBasicDataset `json:"type,omitempty"`
165333}
165334
165335// MarshalJSON is the custom marshaler for ShopifyObjectDataset.
165336func (sod ShopifyObjectDataset) MarshalJSON() ([]byte, error) {
165337	sod.Type = TypeShopifyObject
165338	objectMap := make(map[string]interface{})
165339	if sod.GenericDatasetTypeProperties != nil {
165340		objectMap["typeProperties"] = sod.GenericDatasetTypeProperties
165341	}
165342	if sod.Description != nil {
165343		objectMap["description"] = sod.Description
165344	}
165345	if sod.Structure != nil {
165346		objectMap["structure"] = sod.Structure
165347	}
165348	if sod.Schema != nil {
165349		objectMap["schema"] = sod.Schema
165350	}
165351	if sod.LinkedServiceName != nil {
165352		objectMap["linkedServiceName"] = sod.LinkedServiceName
165353	}
165354	if sod.Parameters != nil {
165355		objectMap["parameters"] = sod.Parameters
165356	}
165357	if sod.Annotations != nil {
165358		objectMap["annotations"] = sod.Annotations
165359	}
165360	if sod.Folder != nil {
165361		objectMap["folder"] = sod.Folder
165362	}
165363	if sod.Type != "" {
165364		objectMap["type"] = sod.Type
165365	}
165366	for k, v := range sod.AdditionalProperties {
165367		objectMap[k] = v
165368	}
165369	return json.Marshal(objectMap)
165370}
165371
165372// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for ShopifyObjectDataset.
165373func (sod ShopifyObjectDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) {
165374	return nil, false
165375}
165376
165377// AsAzureDataExplorerTableDataset is the BasicDataset implementation for ShopifyObjectDataset.
165378func (sod ShopifyObjectDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) {
165379	return nil, false
165380}
165381
165382// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for ShopifyObjectDataset.
165383func (sod ShopifyObjectDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) {
165384	return nil, false
165385}
165386
165387// AsDynamicsAXResourceDataset is the BasicDataset implementation for ShopifyObjectDataset.
165388func (sod ShopifyObjectDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) {
165389	return nil, false
165390}
165391
165392// AsResponsysObjectDataset is the BasicDataset implementation for ShopifyObjectDataset.
165393func (sod ShopifyObjectDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
165394	return nil, false
165395}
165396
165397// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for ShopifyObjectDataset.
165398func (sod ShopifyObjectDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
165399	return nil, false
165400}
165401
165402// AsVerticaTableDataset is the BasicDataset implementation for ShopifyObjectDataset.
165403func (sod ShopifyObjectDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
165404	return nil, false
165405}
165406
165407// AsNetezzaTableDataset is the BasicDataset implementation for ShopifyObjectDataset.
165408func (sod ShopifyObjectDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
165409	return nil, false
165410}
165411
165412// AsZohoObjectDataset is the BasicDataset implementation for ShopifyObjectDataset.
165413func (sod ShopifyObjectDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
165414	return nil, false
165415}
165416
165417// AsXeroObjectDataset is the BasicDataset implementation for ShopifyObjectDataset.
165418func (sod ShopifyObjectDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
165419	return nil, false
165420}
165421
165422// AsSquareObjectDataset is the BasicDataset implementation for ShopifyObjectDataset.
165423func (sod ShopifyObjectDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
165424	return nil, false
165425}
165426
165427// AsSparkObjectDataset is the BasicDataset implementation for ShopifyObjectDataset.
165428func (sod ShopifyObjectDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
165429	return nil, false
165430}
165431
165432// AsShopifyObjectDataset is the BasicDataset implementation for ShopifyObjectDataset.
165433func (sod ShopifyObjectDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
165434	return &sod, true
165435}
165436
165437// AsServiceNowObjectDataset is the BasicDataset implementation for ShopifyObjectDataset.
165438func (sod ShopifyObjectDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
165439	return nil, false
165440}
165441
165442// AsQuickBooksObjectDataset is the BasicDataset implementation for ShopifyObjectDataset.
165443func (sod ShopifyObjectDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
165444	return nil, false
165445}
165446
165447// AsPrestoObjectDataset is the BasicDataset implementation for ShopifyObjectDataset.
165448func (sod ShopifyObjectDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
165449	return nil, false
165450}
165451
165452// AsPhoenixObjectDataset is the BasicDataset implementation for ShopifyObjectDataset.
165453func (sod ShopifyObjectDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
165454	return nil, false
165455}
165456
165457// AsPaypalObjectDataset is the BasicDataset implementation for ShopifyObjectDataset.
165458func (sod ShopifyObjectDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
165459	return nil, false
165460}
165461
165462// AsMarketoObjectDataset is the BasicDataset implementation for ShopifyObjectDataset.
165463func (sod ShopifyObjectDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
165464	return nil, false
165465}
165466
165467// AsMariaDBTableDataset is the BasicDataset implementation for ShopifyObjectDataset.
165468func (sod ShopifyObjectDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
165469	return nil, false
165470}
165471
165472// AsMagentoObjectDataset is the BasicDataset implementation for ShopifyObjectDataset.
165473func (sod ShopifyObjectDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
165474	return nil, false
165475}
165476
165477// AsJiraObjectDataset is the BasicDataset implementation for ShopifyObjectDataset.
165478func (sod ShopifyObjectDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
165479	return nil, false
165480}
165481
165482// AsImpalaObjectDataset is the BasicDataset implementation for ShopifyObjectDataset.
165483func (sod ShopifyObjectDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
165484	return nil, false
165485}
165486
165487// AsHubspotObjectDataset is the BasicDataset implementation for ShopifyObjectDataset.
165488func (sod ShopifyObjectDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
165489	return nil, false
165490}
165491
165492// AsHiveObjectDataset is the BasicDataset implementation for ShopifyObjectDataset.
165493func (sod ShopifyObjectDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
165494	return nil, false
165495}
165496
165497// AsHBaseObjectDataset is the BasicDataset implementation for ShopifyObjectDataset.
165498func (sod ShopifyObjectDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
165499	return nil, false
165500}
165501
165502// AsGreenplumTableDataset is the BasicDataset implementation for ShopifyObjectDataset.
165503func (sod ShopifyObjectDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
165504	return nil, false
165505}
165506
165507// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for ShopifyObjectDataset.
165508func (sod ShopifyObjectDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
165509	return nil, false
165510}
165511
165512// AsEloquaObjectDataset is the BasicDataset implementation for ShopifyObjectDataset.
165513func (sod ShopifyObjectDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
165514	return nil, false
165515}
165516
165517// AsDrillTableDataset is the BasicDataset implementation for ShopifyObjectDataset.
165518func (sod ShopifyObjectDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
165519	return nil, false
165520}
165521
165522// AsCouchbaseTableDataset is the BasicDataset implementation for ShopifyObjectDataset.
165523func (sod ShopifyObjectDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
165524	return nil, false
165525}
165526
165527// AsConcurObjectDataset is the BasicDataset implementation for ShopifyObjectDataset.
165528func (sod ShopifyObjectDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
165529	return nil, false
165530}
165531
165532// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for ShopifyObjectDataset.
165533func (sod ShopifyObjectDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
165534	return nil, false
165535}
165536
165537// AsAmazonMWSObjectDataset is the BasicDataset implementation for ShopifyObjectDataset.
165538func (sod ShopifyObjectDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
165539	return nil, false
165540}
165541
165542// AsHTTPDataset is the BasicDataset implementation for ShopifyObjectDataset.
165543func (sod ShopifyObjectDataset) AsHTTPDataset() (*HTTPDataset, bool) {
165544	return nil, false
165545}
165546
165547// AsAzureSearchIndexDataset is the BasicDataset implementation for ShopifyObjectDataset.
165548func (sod ShopifyObjectDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
165549	return nil, false
165550}
165551
165552// AsWebTableDataset is the BasicDataset implementation for ShopifyObjectDataset.
165553func (sod ShopifyObjectDataset) AsWebTableDataset() (*WebTableDataset, bool) {
165554	return nil, false
165555}
165556
165557// AsSapTableResourceDataset is the BasicDataset implementation for ShopifyObjectDataset.
165558func (sod ShopifyObjectDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) {
165559	return nil, false
165560}
165561
165562// AsRestResourceDataset is the BasicDataset implementation for ShopifyObjectDataset.
165563func (sod ShopifyObjectDataset) AsRestResourceDataset() (*RestResourceDataset, bool) {
165564	return nil, false
165565}
165566
165567// AsSQLServerTableDataset is the BasicDataset implementation for ShopifyObjectDataset.
165568func (sod ShopifyObjectDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
165569	return nil, false
165570}
165571
165572// AsSapOpenHubTableDataset is the BasicDataset implementation for ShopifyObjectDataset.
165573func (sod ShopifyObjectDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) {
165574	return nil, false
165575}
165576
165577// AsSapHanaTableDataset is the BasicDataset implementation for ShopifyObjectDataset.
165578func (sod ShopifyObjectDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) {
165579	return nil, false
165580}
165581
165582// AsSapEccResourceDataset is the BasicDataset implementation for ShopifyObjectDataset.
165583func (sod ShopifyObjectDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
165584	return nil, false
165585}
165586
165587// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for ShopifyObjectDataset.
165588func (sod ShopifyObjectDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
165589	return nil, false
165590}
165591
165592// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for ShopifyObjectDataset.
165593func (sod ShopifyObjectDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) {
165594	return nil, false
165595}
165596
165597// AsSalesforceObjectDataset is the BasicDataset implementation for ShopifyObjectDataset.
165598func (sod ShopifyObjectDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
165599	return nil, false
165600}
165601
165602// AsMicrosoftAccessTableDataset is the BasicDataset implementation for ShopifyObjectDataset.
165603func (sod ShopifyObjectDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) {
165604	return nil, false
165605}
165606
165607// AsPostgreSQLTableDataset is the BasicDataset implementation for ShopifyObjectDataset.
165608func (sod ShopifyObjectDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) {
165609	return nil, false
165610}
165611
165612// AsMySQLTableDataset is the BasicDataset implementation for ShopifyObjectDataset.
165613func (sod ShopifyObjectDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) {
165614	return nil, false
165615}
165616
165617// AsOdbcTableDataset is the BasicDataset implementation for ShopifyObjectDataset.
165618func (sod ShopifyObjectDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) {
165619	return nil, false
165620}
165621
165622// AsInformixTableDataset is the BasicDataset implementation for ShopifyObjectDataset.
165623func (sod ShopifyObjectDataset) AsInformixTableDataset() (*InformixTableDataset, bool) {
165624	return nil, false
165625}
165626
165627// AsRelationalTableDataset is the BasicDataset implementation for ShopifyObjectDataset.
165628func (sod ShopifyObjectDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
165629	return nil, false
165630}
165631
165632// AsAzureMySQLTableDataset is the BasicDataset implementation for ShopifyObjectDataset.
165633func (sod ShopifyObjectDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
165634	return nil, false
165635}
165636
165637// AsTeradataTableDataset is the BasicDataset implementation for ShopifyObjectDataset.
165638func (sod ShopifyObjectDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) {
165639	return nil, false
165640}
165641
165642// AsOracleTableDataset is the BasicDataset implementation for ShopifyObjectDataset.
165643func (sod ShopifyObjectDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
165644	return nil, false
165645}
165646
165647// AsODataResourceDataset is the BasicDataset implementation for ShopifyObjectDataset.
165648func (sod ShopifyObjectDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
165649	return nil, false
165650}
165651
165652// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for ShopifyObjectDataset.
165653func (sod ShopifyObjectDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) {
165654	return nil, false
165655}
165656
165657// AsMongoDbV2CollectionDataset is the BasicDataset implementation for ShopifyObjectDataset.
165658func (sod ShopifyObjectDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) {
165659	return nil, false
165660}
165661
165662// AsMongoDbCollectionDataset is the BasicDataset implementation for ShopifyObjectDataset.
165663func (sod ShopifyObjectDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
165664	return nil, false
165665}
165666
165667// AsFileShareDataset is the BasicDataset implementation for ShopifyObjectDataset.
165668func (sod ShopifyObjectDataset) AsFileShareDataset() (*FileShareDataset, bool) {
165669	return nil, false
165670}
165671
165672// AsOffice365Dataset is the BasicDataset implementation for ShopifyObjectDataset.
165673func (sod ShopifyObjectDataset) AsOffice365Dataset() (*Office365Dataset, bool) {
165674	return nil, false
165675}
165676
165677// AsAzureBlobFSDataset is the BasicDataset implementation for ShopifyObjectDataset.
165678func (sod ShopifyObjectDataset) AsAzureBlobFSDataset() (*AzureBlobFSDataset, bool) {
165679	return nil, false
165680}
165681
165682// AsAzureDataLakeStoreDataset is the BasicDataset implementation for ShopifyObjectDataset.
165683func (sod ShopifyObjectDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) {
165684	return nil, false
165685}
165686
165687// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for ShopifyObjectDataset.
165688func (sod ShopifyObjectDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) {
165689	return nil, false
165690}
165691
165692// AsDynamicsCrmEntityDataset is the BasicDataset implementation for ShopifyObjectDataset.
165693func (sod ShopifyObjectDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) {
165694	return nil, false
165695}
165696
165697// AsDynamicsEntityDataset is the BasicDataset implementation for ShopifyObjectDataset.
165698func (sod ShopifyObjectDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
165699	return nil, false
165700}
165701
165702// AsDocumentDbCollectionDataset is the BasicDataset implementation for ShopifyObjectDataset.
165703func (sod ShopifyObjectDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
165704	return nil, false
165705}
165706
165707// AsCustomDataset is the BasicDataset implementation for ShopifyObjectDataset.
165708func (sod ShopifyObjectDataset) AsCustomDataset() (*CustomDataset, bool) {
165709	return nil, false
165710}
165711
165712// AsCassandraTableDataset is the BasicDataset implementation for ShopifyObjectDataset.
165713func (sod ShopifyObjectDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
165714	return nil, false
165715}
165716
165717// AsAzureSQLDWTableDataset is the BasicDataset implementation for ShopifyObjectDataset.
165718func (sod ShopifyObjectDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
165719	return nil, false
165720}
165721
165722// AsAzureSQLMITableDataset is the BasicDataset implementation for ShopifyObjectDataset.
165723func (sod ShopifyObjectDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) {
165724	return nil, false
165725}
165726
165727// AsAzureSQLTableDataset is the BasicDataset implementation for ShopifyObjectDataset.
165728func (sod ShopifyObjectDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
165729	return nil, false
165730}
165731
165732// AsAzureTableDataset is the BasicDataset implementation for ShopifyObjectDataset.
165733func (sod ShopifyObjectDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
165734	return nil, false
165735}
165736
165737// AsAzureBlobDataset is the BasicDataset implementation for ShopifyObjectDataset.
165738func (sod ShopifyObjectDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) {
165739	return nil, false
165740}
165741
165742// AsBinaryDataset is the BasicDataset implementation for ShopifyObjectDataset.
165743func (sod ShopifyObjectDataset) AsBinaryDataset() (*BinaryDataset, bool) {
165744	return nil, false
165745}
165746
165747// AsDelimitedTextDataset is the BasicDataset implementation for ShopifyObjectDataset.
165748func (sod ShopifyObjectDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) {
165749	return nil, false
165750}
165751
165752// AsParquetDataset is the BasicDataset implementation for ShopifyObjectDataset.
165753func (sod ShopifyObjectDataset) AsParquetDataset() (*ParquetDataset, bool) {
165754	return nil, false
165755}
165756
165757// AsAmazonS3Dataset is the BasicDataset implementation for ShopifyObjectDataset.
165758func (sod ShopifyObjectDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) {
165759	return nil, false
165760}
165761
165762// AsDataset is the BasicDataset implementation for ShopifyObjectDataset.
165763func (sod ShopifyObjectDataset) AsDataset() (*Dataset, bool) {
165764	return nil, false
165765}
165766
165767// AsBasicDataset is the BasicDataset implementation for ShopifyObjectDataset.
165768func (sod ShopifyObjectDataset) AsBasicDataset() (BasicDataset, bool) {
165769	return &sod, true
165770}
165771
165772// UnmarshalJSON is the custom unmarshaler for ShopifyObjectDataset struct.
165773func (sod *ShopifyObjectDataset) UnmarshalJSON(body []byte) error {
165774	var m map[string]*json.RawMessage
165775	err := json.Unmarshal(body, &m)
165776	if err != nil {
165777		return err
165778	}
165779	for k, v := range m {
165780		switch k {
165781		case "typeProperties":
165782			if v != nil {
165783				var genericDatasetTypeProperties GenericDatasetTypeProperties
165784				err = json.Unmarshal(*v, &genericDatasetTypeProperties)
165785				if err != nil {
165786					return err
165787				}
165788				sod.GenericDatasetTypeProperties = &genericDatasetTypeProperties
165789			}
165790		default:
165791			if v != nil {
165792				var additionalProperties interface{}
165793				err = json.Unmarshal(*v, &additionalProperties)
165794				if err != nil {
165795					return err
165796				}
165797				if sod.AdditionalProperties == nil {
165798					sod.AdditionalProperties = make(map[string]interface{})
165799				}
165800				sod.AdditionalProperties[k] = additionalProperties
165801			}
165802		case "description":
165803			if v != nil {
165804				var description string
165805				err = json.Unmarshal(*v, &description)
165806				if err != nil {
165807					return err
165808				}
165809				sod.Description = &description
165810			}
165811		case "structure":
165812			if v != nil {
165813				var structure interface{}
165814				err = json.Unmarshal(*v, &structure)
165815				if err != nil {
165816					return err
165817				}
165818				sod.Structure = structure
165819			}
165820		case "schema":
165821			if v != nil {
165822				var schema interface{}
165823				err = json.Unmarshal(*v, &schema)
165824				if err != nil {
165825					return err
165826				}
165827				sod.Schema = schema
165828			}
165829		case "linkedServiceName":
165830			if v != nil {
165831				var linkedServiceName LinkedServiceReference
165832				err = json.Unmarshal(*v, &linkedServiceName)
165833				if err != nil {
165834					return err
165835				}
165836				sod.LinkedServiceName = &linkedServiceName
165837			}
165838		case "parameters":
165839			if v != nil {
165840				var parameters map[string]*ParameterSpecification
165841				err = json.Unmarshal(*v, &parameters)
165842				if err != nil {
165843					return err
165844				}
165845				sod.Parameters = parameters
165846			}
165847		case "annotations":
165848			if v != nil {
165849				var annotations []interface{}
165850				err = json.Unmarshal(*v, &annotations)
165851				if err != nil {
165852					return err
165853				}
165854				sod.Annotations = &annotations
165855			}
165856		case "folder":
165857			if v != nil {
165858				var folder DatasetFolder
165859				err = json.Unmarshal(*v, &folder)
165860				if err != nil {
165861					return err
165862				}
165863				sod.Folder = &folder
165864			}
165865		case "type":
165866			if v != nil {
165867				var typeVar TypeBasicDataset
165868				err = json.Unmarshal(*v, &typeVar)
165869				if err != nil {
165870					return err
165871				}
165872				sod.Type = typeVar
165873			}
165874		}
165875	}
165876
165877	return nil
165878}
165879
165880// ShopifySource a copy activity Shopify Service source.
165881type ShopifySource struct {
165882	// Query - A query to retrieve data from source. Type: string (or Expression with resultType string).
165883	Query interface{} `json:"query,omitempty"`
165884	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
165885	AdditionalProperties map[string]interface{} `json:""`
165886	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
165887	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
165888	// 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])).
165889	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
165890	// MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer).
165891	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
165892	// Type - Possible values include: 'TypeCopySource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', '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', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeCassandraSource', 'TypeWebSource', 'TypeTeradataSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeAzureMySQLSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeRestSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceServiceCloudSource', 'TypeSalesforceSource', 'TypeODataSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeMicrosoftAccessSource', 'TypeInformixSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAzureTableSource', 'TypeBinarySource', 'TypeDelimitedTextSource', 'TypeParquetSource'
165893	Type TypeBasicCopySource `json:"type,omitempty"`
165894}
165895
165896// MarshalJSON is the custom marshaler for ShopifySource.
165897func (ss ShopifySource) MarshalJSON() ([]byte, error) {
165898	ss.Type = TypeShopifySource
165899	objectMap := make(map[string]interface{})
165900	if ss.Query != nil {
165901		objectMap["query"] = ss.Query
165902	}
165903	if ss.SourceRetryCount != nil {
165904		objectMap["sourceRetryCount"] = ss.SourceRetryCount
165905	}
165906	if ss.SourceRetryWait != nil {
165907		objectMap["sourceRetryWait"] = ss.SourceRetryWait
165908	}
165909	if ss.MaxConcurrentConnections != nil {
165910		objectMap["maxConcurrentConnections"] = ss.MaxConcurrentConnections
165911	}
165912	if ss.Type != "" {
165913		objectMap["type"] = ss.Type
165914	}
165915	for k, v := range ss.AdditionalProperties {
165916		objectMap[k] = v
165917	}
165918	return json.Marshal(objectMap)
165919}
165920
165921// AsAmazonRedshiftSource is the BasicCopySource implementation for ShopifySource.
165922func (ss ShopifySource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
165923	return nil, false
165924}
165925
165926// AsGoogleAdWordsSource is the BasicCopySource implementation for ShopifySource.
165927func (ss ShopifySource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) {
165928	return nil, false
165929}
165930
165931// AsOracleServiceCloudSource is the BasicCopySource implementation for ShopifySource.
165932func (ss ShopifySource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) {
165933	return nil, false
165934}
165935
165936// AsDynamicsAXSource is the BasicCopySource implementation for ShopifySource.
165937func (ss ShopifySource) AsDynamicsAXSource() (*DynamicsAXSource, bool) {
165938	return nil, false
165939}
165940
165941// AsResponsysSource is the BasicCopySource implementation for ShopifySource.
165942func (ss ShopifySource) AsResponsysSource() (*ResponsysSource, bool) {
165943	return nil, false
165944}
165945
165946// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for ShopifySource.
165947func (ss ShopifySource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
165948	return nil, false
165949}
165950
165951// AsVerticaSource is the BasicCopySource implementation for ShopifySource.
165952func (ss ShopifySource) AsVerticaSource() (*VerticaSource, bool) {
165953	return nil, false
165954}
165955
165956// AsNetezzaSource is the BasicCopySource implementation for ShopifySource.
165957func (ss ShopifySource) AsNetezzaSource() (*NetezzaSource, bool) {
165958	return nil, false
165959}
165960
165961// AsZohoSource is the BasicCopySource implementation for ShopifySource.
165962func (ss ShopifySource) AsZohoSource() (*ZohoSource, bool) {
165963	return nil, false
165964}
165965
165966// AsXeroSource is the BasicCopySource implementation for ShopifySource.
165967func (ss ShopifySource) AsXeroSource() (*XeroSource, bool) {
165968	return nil, false
165969}
165970
165971// AsSquareSource is the BasicCopySource implementation for ShopifySource.
165972func (ss ShopifySource) AsSquareSource() (*SquareSource, bool) {
165973	return nil, false
165974}
165975
165976// AsSparkSource is the BasicCopySource implementation for ShopifySource.
165977func (ss ShopifySource) AsSparkSource() (*SparkSource, bool) {
165978	return nil, false
165979}
165980
165981// AsShopifySource is the BasicCopySource implementation for ShopifySource.
165982func (ss ShopifySource) AsShopifySource() (*ShopifySource, bool) {
165983	return &ss, true
165984}
165985
165986// AsServiceNowSource is the BasicCopySource implementation for ShopifySource.
165987func (ss ShopifySource) AsServiceNowSource() (*ServiceNowSource, bool) {
165988	return nil, false
165989}
165990
165991// AsQuickBooksSource is the BasicCopySource implementation for ShopifySource.
165992func (ss ShopifySource) AsQuickBooksSource() (*QuickBooksSource, bool) {
165993	return nil, false
165994}
165995
165996// AsPrestoSource is the BasicCopySource implementation for ShopifySource.
165997func (ss ShopifySource) AsPrestoSource() (*PrestoSource, bool) {
165998	return nil, false
165999}
166000
166001// AsPhoenixSource is the BasicCopySource implementation for ShopifySource.
166002func (ss ShopifySource) AsPhoenixSource() (*PhoenixSource, bool) {
166003	return nil, false
166004}
166005
166006// AsPaypalSource is the BasicCopySource implementation for ShopifySource.
166007func (ss ShopifySource) AsPaypalSource() (*PaypalSource, bool) {
166008	return nil, false
166009}
166010
166011// AsMarketoSource is the BasicCopySource implementation for ShopifySource.
166012func (ss ShopifySource) AsMarketoSource() (*MarketoSource, bool) {
166013	return nil, false
166014}
166015
166016// AsMariaDBSource is the BasicCopySource implementation for ShopifySource.
166017func (ss ShopifySource) AsMariaDBSource() (*MariaDBSource, bool) {
166018	return nil, false
166019}
166020
166021// AsMagentoSource is the BasicCopySource implementation for ShopifySource.
166022func (ss ShopifySource) AsMagentoSource() (*MagentoSource, bool) {
166023	return nil, false
166024}
166025
166026// AsJiraSource is the BasicCopySource implementation for ShopifySource.
166027func (ss ShopifySource) AsJiraSource() (*JiraSource, bool) {
166028	return nil, false
166029}
166030
166031// AsImpalaSource is the BasicCopySource implementation for ShopifySource.
166032func (ss ShopifySource) AsImpalaSource() (*ImpalaSource, bool) {
166033	return nil, false
166034}
166035
166036// AsHubspotSource is the BasicCopySource implementation for ShopifySource.
166037func (ss ShopifySource) AsHubspotSource() (*HubspotSource, bool) {
166038	return nil, false
166039}
166040
166041// AsHiveSource is the BasicCopySource implementation for ShopifySource.
166042func (ss ShopifySource) AsHiveSource() (*HiveSource, bool) {
166043	return nil, false
166044}
166045
166046// AsHBaseSource is the BasicCopySource implementation for ShopifySource.
166047func (ss ShopifySource) AsHBaseSource() (*HBaseSource, bool) {
166048	return nil, false
166049}
166050
166051// AsGreenplumSource is the BasicCopySource implementation for ShopifySource.
166052func (ss ShopifySource) AsGreenplumSource() (*GreenplumSource, bool) {
166053	return nil, false
166054}
166055
166056// AsGoogleBigQuerySource is the BasicCopySource implementation for ShopifySource.
166057func (ss ShopifySource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
166058	return nil, false
166059}
166060
166061// AsEloquaSource is the BasicCopySource implementation for ShopifySource.
166062func (ss ShopifySource) AsEloquaSource() (*EloquaSource, bool) {
166063	return nil, false
166064}
166065
166066// AsDrillSource is the BasicCopySource implementation for ShopifySource.
166067func (ss ShopifySource) AsDrillSource() (*DrillSource, bool) {
166068	return nil, false
166069}
166070
166071// AsCouchbaseSource is the BasicCopySource implementation for ShopifySource.
166072func (ss ShopifySource) AsCouchbaseSource() (*CouchbaseSource, bool) {
166073	return nil, false
166074}
166075
166076// AsConcurSource is the BasicCopySource implementation for ShopifySource.
166077func (ss ShopifySource) AsConcurSource() (*ConcurSource, bool) {
166078	return nil, false
166079}
166080
166081// AsAzurePostgreSQLSource is the BasicCopySource implementation for ShopifySource.
166082func (ss ShopifySource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
166083	return nil, false
166084}
166085
166086// AsAmazonMWSSource is the BasicCopySource implementation for ShopifySource.
166087func (ss ShopifySource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
166088	return nil, false
166089}
166090
166091// AsHTTPSource is the BasicCopySource implementation for ShopifySource.
166092func (ss ShopifySource) AsHTTPSource() (*HTTPSource, bool) {
166093	return nil, false
166094}
166095
166096// AsAzureBlobFSSource is the BasicCopySource implementation for ShopifySource.
166097func (ss ShopifySource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) {
166098	return nil, false
166099}
166100
166101// AsAzureDataLakeStoreSource is the BasicCopySource implementation for ShopifySource.
166102func (ss ShopifySource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
166103	return nil, false
166104}
166105
166106// AsOffice365Source is the BasicCopySource implementation for ShopifySource.
166107func (ss ShopifySource) AsOffice365Source() (*Office365Source, bool) {
166108	return nil, false
166109}
166110
166111// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for ShopifySource.
166112func (ss ShopifySource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) {
166113	return nil, false
166114}
166115
166116// AsMongoDbV2Source is the BasicCopySource implementation for ShopifySource.
166117func (ss ShopifySource) AsMongoDbV2Source() (*MongoDbV2Source, bool) {
166118	return nil, false
166119}
166120
166121// AsMongoDbSource is the BasicCopySource implementation for ShopifySource.
166122func (ss ShopifySource) AsMongoDbSource() (*MongoDbSource, bool) {
166123	return nil, false
166124}
166125
166126// AsCassandraSource is the BasicCopySource implementation for ShopifySource.
166127func (ss ShopifySource) AsCassandraSource() (*CassandraSource, bool) {
166128	return nil, false
166129}
166130
166131// AsWebSource is the BasicCopySource implementation for ShopifySource.
166132func (ss ShopifySource) AsWebSource() (*WebSource, bool) {
166133	return nil, false
166134}
166135
166136// AsTeradataSource is the BasicCopySource implementation for ShopifySource.
166137func (ss ShopifySource) AsTeradataSource() (*TeradataSource, bool) {
166138	return nil, false
166139}
166140
166141// AsOracleSource is the BasicCopySource implementation for ShopifySource.
166142func (ss ShopifySource) AsOracleSource() (*OracleSource, bool) {
166143	return nil, false
166144}
166145
166146// AsAzureDataExplorerSource is the BasicCopySource implementation for ShopifySource.
166147func (ss ShopifySource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) {
166148	return nil, false
166149}
166150
166151// AsAzureMySQLSource is the BasicCopySource implementation for ShopifySource.
166152func (ss ShopifySource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
166153	return nil, false
166154}
166155
166156// AsHdfsSource is the BasicCopySource implementation for ShopifySource.
166157func (ss ShopifySource) AsHdfsSource() (*HdfsSource, bool) {
166158	return nil, false
166159}
166160
166161// AsFileSystemSource is the BasicCopySource implementation for ShopifySource.
166162func (ss ShopifySource) AsFileSystemSource() (*FileSystemSource, bool) {
166163	return nil, false
166164}
166165
166166// AsSQLDWSource is the BasicCopySource implementation for ShopifySource.
166167func (ss ShopifySource) AsSQLDWSource() (*SQLDWSource, bool) {
166168	return nil, false
166169}
166170
166171// AsSQLMISource is the BasicCopySource implementation for ShopifySource.
166172func (ss ShopifySource) AsSQLMISource() (*SQLMISource, bool) {
166173	return nil, false
166174}
166175
166176// AsAzureSQLSource is the BasicCopySource implementation for ShopifySource.
166177func (ss ShopifySource) AsAzureSQLSource() (*AzureSQLSource, bool) {
166178	return nil, false
166179}
166180
166181// AsSQLServerSource is the BasicCopySource implementation for ShopifySource.
166182func (ss ShopifySource) AsSQLServerSource() (*SQLServerSource, bool) {
166183	return nil, false
166184}
166185
166186// AsSQLSource is the BasicCopySource implementation for ShopifySource.
166187func (ss ShopifySource) AsSQLSource() (*SQLSource, bool) {
166188	return nil, false
166189}
166190
166191// AsRestSource is the BasicCopySource implementation for ShopifySource.
166192func (ss ShopifySource) AsRestSource() (*RestSource, bool) {
166193	return nil, false
166194}
166195
166196// AsSapTableSource is the BasicCopySource implementation for ShopifySource.
166197func (ss ShopifySource) AsSapTableSource() (*SapTableSource, bool) {
166198	return nil, false
166199}
166200
166201// AsSapOpenHubSource is the BasicCopySource implementation for ShopifySource.
166202func (ss ShopifySource) AsSapOpenHubSource() (*SapOpenHubSource, bool) {
166203	return nil, false
166204}
166205
166206// AsSapHanaSource is the BasicCopySource implementation for ShopifySource.
166207func (ss ShopifySource) AsSapHanaSource() (*SapHanaSource, bool) {
166208	return nil, false
166209}
166210
166211// AsSapEccSource is the BasicCopySource implementation for ShopifySource.
166212func (ss ShopifySource) AsSapEccSource() (*SapEccSource, bool) {
166213	return nil, false
166214}
166215
166216// AsSapCloudForCustomerSource is the BasicCopySource implementation for ShopifySource.
166217func (ss ShopifySource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
166218	return nil, false
166219}
166220
166221// AsSalesforceServiceCloudSource is the BasicCopySource implementation for ShopifySource.
166222func (ss ShopifySource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) {
166223	return nil, false
166224}
166225
166226// AsSalesforceSource is the BasicCopySource implementation for ShopifySource.
166227func (ss ShopifySource) AsSalesforceSource() (*SalesforceSource, bool) {
166228	return nil, false
166229}
166230
166231// AsODataSource is the BasicCopySource implementation for ShopifySource.
166232func (ss ShopifySource) AsODataSource() (*ODataSource, bool) {
166233	return nil, false
166234}
166235
166236// AsSybaseSource is the BasicCopySource implementation for ShopifySource.
166237func (ss ShopifySource) AsSybaseSource() (*SybaseSource, bool) {
166238	return nil, false
166239}
166240
166241// AsPostgreSQLSource is the BasicCopySource implementation for ShopifySource.
166242func (ss ShopifySource) AsPostgreSQLSource() (*PostgreSQLSource, bool) {
166243	return nil, false
166244}
166245
166246// AsMySQLSource is the BasicCopySource implementation for ShopifySource.
166247func (ss ShopifySource) AsMySQLSource() (*MySQLSource, bool) {
166248	return nil, false
166249}
166250
166251// AsOdbcSource is the BasicCopySource implementation for ShopifySource.
166252func (ss ShopifySource) AsOdbcSource() (*OdbcSource, bool) {
166253	return nil, false
166254}
166255
166256// AsDb2Source is the BasicCopySource implementation for ShopifySource.
166257func (ss ShopifySource) AsDb2Source() (*Db2Source, bool) {
166258	return nil, false
166259}
166260
166261// AsMicrosoftAccessSource is the BasicCopySource implementation for ShopifySource.
166262func (ss ShopifySource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) {
166263	return nil, false
166264}
166265
166266// AsInformixSource is the BasicCopySource implementation for ShopifySource.
166267func (ss ShopifySource) AsInformixSource() (*InformixSource, bool) {
166268	return nil, false
166269}
166270
166271// AsRelationalSource is the BasicCopySource implementation for ShopifySource.
166272func (ss ShopifySource) AsRelationalSource() (*RelationalSource, bool) {
166273	return nil, false
166274}
166275
166276// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for ShopifySource.
166277func (ss ShopifySource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) {
166278	return nil, false
166279}
166280
166281// AsDynamicsCrmSource is the BasicCopySource implementation for ShopifySource.
166282func (ss ShopifySource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) {
166283	return nil, false
166284}
166285
166286// AsDynamicsSource is the BasicCopySource implementation for ShopifySource.
166287func (ss ShopifySource) AsDynamicsSource() (*DynamicsSource, bool) {
166288	return nil, false
166289}
166290
166291// AsDocumentDbCollectionSource is the BasicCopySource implementation for ShopifySource.
166292func (ss ShopifySource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
166293	return nil, false
166294}
166295
166296// AsBlobSource is the BasicCopySource implementation for ShopifySource.
166297func (ss ShopifySource) AsBlobSource() (*BlobSource, bool) {
166298	return nil, false
166299}
166300
166301// AsAzureTableSource is the BasicCopySource implementation for ShopifySource.
166302func (ss ShopifySource) AsAzureTableSource() (*AzureTableSource, bool) {
166303	return nil, false
166304}
166305
166306// AsBinarySource is the BasicCopySource implementation for ShopifySource.
166307func (ss ShopifySource) AsBinarySource() (*BinarySource, bool) {
166308	return nil, false
166309}
166310
166311// AsDelimitedTextSource is the BasicCopySource implementation for ShopifySource.
166312func (ss ShopifySource) AsDelimitedTextSource() (*DelimitedTextSource, bool) {
166313	return nil, false
166314}
166315
166316// AsParquetSource is the BasicCopySource implementation for ShopifySource.
166317func (ss ShopifySource) AsParquetSource() (*ParquetSource, bool) {
166318	return nil, false
166319}
166320
166321// AsCopySource is the BasicCopySource implementation for ShopifySource.
166322func (ss ShopifySource) AsCopySource() (*CopySource, bool) {
166323	return nil, false
166324}
166325
166326// AsBasicCopySource is the BasicCopySource implementation for ShopifySource.
166327func (ss ShopifySource) AsBasicCopySource() (BasicCopySource, bool) {
166328	return &ss, true
166329}
166330
166331// UnmarshalJSON is the custom unmarshaler for ShopifySource struct.
166332func (ss *ShopifySource) UnmarshalJSON(body []byte) error {
166333	var m map[string]*json.RawMessage
166334	err := json.Unmarshal(body, &m)
166335	if err != nil {
166336		return err
166337	}
166338	for k, v := range m {
166339		switch k {
166340		case "query":
166341			if v != nil {
166342				var query interface{}
166343				err = json.Unmarshal(*v, &query)
166344				if err != nil {
166345					return err
166346				}
166347				ss.Query = query
166348			}
166349		default:
166350			if v != nil {
166351				var additionalProperties interface{}
166352				err = json.Unmarshal(*v, &additionalProperties)
166353				if err != nil {
166354					return err
166355				}
166356				if ss.AdditionalProperties == nil {
166357					ss.AdditionalProperties = make(map[string]interface{})
166358				}
166359				ss.AdditionalProperties[k] = additionalProperties
166360			}
166361		case "sourceRetryCount":
166362			if v != nil {
166363				var sourceRetryCount interface{}
166364				err = json.Unmarshal(*v, &sourceRetryCount)
166365				if err != nil {
166366					return err
166367				}
166368				ss.SourceRetryCount = sourceRetryCount
166369			}
166370		case "sourceRetryWait":
166371			if v != nil {
166372				var sourceRetryWait interface{}
166373				err = json.Unmarshal(*v, &sourceRetryWait)
166374				if err != nil {
166375					return err
166376				}
166377				ss.SourceRetryWait = sourceRetryWait
166378			}
166379		case "maxConcurrentConnections":
166380			if v != nil {
166381				var maxConcurrentConnections interface{}
166382				err = json.Unmarshal(*v, &maxConcurrentConnections)
166383				if err != nil {
166384					return err
166385				}
166386				ss.MaxConcurrentConnections = maxConcurrentConnections
166387			}
166388		case "type":
166389			if v != nil {
166390				var typeVar TypeBasicCopySource
166391				err = json.Unmarshal(*v, &typeVar)
166392				if err != nil {
166393					return err
166394				}
166395				ss.Type = typeVar
166396			}
166397		}
166398	}
166399
166400	return nil
166401}
166402
166403// SparkLinkedService spark Server linked service.
166404type SparkLinkedService struct {
166405	// SparkLinkedServiceTypeProperties - Spark Server linked service properties.
166406	*SparkLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
166407	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
166408	AdditionalProperties map[string]interface{} `json:""`
166409	// ConnectVia - The integration runtime reference.
166410	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
166411	// Description - Linked service description.
166412	Description *string `json:"description,omitempty"`
166413	// Parameters - Parameters for linked service.
166414	Parameters map[string]*ParameterSpecification `json:"parameters"`
166415	// Annotations - List of tags that can be used for describing the linked service.
166416	Annotations *[]interface{} `json:"annotations,omitempty"`
166417	// Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', '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', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage'
166418	Type TypeBasicLinkedService `json:"type,omitempty"`
166419}
166420
166421// MarshalJSON is the custom marshaler for SparkLinkedService.
166422func (sls SparkLinkedService) MarshalJSON() ([]byte, error) {
166423	sls.Type = TypeSpark
166424	objectMap := make(map[string]interface{})
166425	if sls.SparkLinkedServiceTypeProperties != nil {
166426		objectMap["typeProperties"] = sls.SparkLinkedServiceTypeProperties
166427	}
166428	if sls.ConnectVia != nil {
166429		objectMap["connectVia"] = sls.ConnectVia
166430	}
166431	if sls.Description != nil {
166432		objectMap["description"] = sls.Description
166433	}
166434	if sls.Parameters != nil {
166435		objectMap["parameters"] = sls.Parameters
166436	}
166437	if sls.Annotations != nil {
166438		objectMap["annotations"] = sls.Annotations
166439	}
166440	if sls.Type != "" {
166441		objectMap["type"] = sls.Type
166442	}
166443	for k, v := range sls.AdditionalProperties {
166444		objectMap[k] = v
166445	}
166446	return json.Marshal(objectMap)
166447}
166448
166449// AsAzureFunctionLinkedService is the BasicLinkedService implementation for SparkLinkedService.
166450func (sls SparkLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) {
166451	return nil, false
166452}
166453
166454// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for SparkLinkedService.
166455func (sls SparkLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) {
166456	return nil, false
166457}
166458
166459// AsSapTableLinkedService is the BasicLinkedService implementation for SparkLinkedService.
166460func (sls SparkLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) {
166461	return nil, false
166462}
166463
166464// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for SparkLinkedService.
166465func (sls SparkLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) {
166466	return nil, false
166467}
166468
166469// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for SparkLinkedService.
166470func (sls SparkLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) {
166471	return nil, false
166472}
166473
166474// AsDynamicsAXLinkedService is the BasicLinkedService implementation for SparkLinkedService.
166475func (sls SparkLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) {
166476	return nil, false
166477}
166478
166479// AsResponsysLinkedService is the BasicLinkedService implementation for SparkLinkedService.
166480func (sls SparkLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
166481	return nil, false
166482}
166483
166484// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for SparkLinkedService.
166485func (sls SparkLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
166486	return nil, false
166487}
166488
166489// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for SparkLinkedService.
166490func (sls SparkLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
166491	return nil, false
166492}
166493
166494// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for SparkLinkedService.
166495func (sls SparkLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
166496	return nil, false
166497}
166498
166499// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for SparkLinkedService.
166500func (sls SparkLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
166501	return nil, false
166502}
166503
166504// AsNetezzaLinkedService is the BasicLinkedService implementation for SparkLinkedService.
166505func (sls SparkLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
166506	return nil, false
166507}
166508
166509// AsVerticaLinkedService is the BasicLinkedService implementation for SparkLinkedService.
166510func (sls SparkLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
166511	return nil, false
166512}
166513
166514// AsZohoLinkedService is the BasicLinkedService implementation for SparkLinkedService.
166515func (sls SparkLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
166516	return nil, false
166517}
166518
166519// AsXeroLinkedService is the BasicLinkedService implementation for SparkLinkedService.
166520func (sls SparkLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
166521	return nil, false
166522}
166523
166524// AsSquareLinkedService is the BasicLinkedService implementation for SparkLinkedService.
166525func (sls SparkLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
166526	return nil, false
166527}
166528
166529// AsSparkLinkedService is the BasicLinkedService implementation for SparkLinkedService.
166530func (sls SparkLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
166531	return &sls, true
166532}
166533
166534// AsShopifyLinkedService is the BasicLinkedService implementation for SparkLinkedService.
166535func (sls SparkLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
166536	return nil, false
166537}
166538
166539// AsServiceNowLinkedService is the BasicLinkedService implementation for SparkLinkedService.
166540func (sls SparkLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
166541	return nil, false
166542}
166543
166544// AsQuickBooksLinkedService is the BasicLinkedService implementation for SparkLinkedService.
166545func (sls SparkLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
166546	return nil, false
166547}
166548
166549// AsPrestoLinkedService is the BasicLinkedService implementation for SparkLinkedService.
166550func (sls SparkLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
166551	return nil, false
166552}
166553
166554// AsPhoenixLinkedService is the BasicLinkedService implementation for SparkLinkedService.
166555func (sls SparkLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
166556	return nil, false
166557}
166558
166559// AsPaypalLinkedService is the BasicLinkedService implementation for SparkLinkedService.
166560func (sls SparkLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
166561	return nil, false
166562}
166563
166564// AsMarketoLinkedService is the BasicLinkedService implementation for SparkLinkedService.
166565func (sls SparkLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
166566	return nil, false
166567}
166568
166569// AsMariaDBLinkedService is the BasicLinkedService implementation for SparkLinkedService.
166570func (sls SparkLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
166571	return nil, false
166572}
166573
166574// AsMagentoLinkedService is the BasicLinkedService implementation for SparkLinkedService.
166575func (sls SparkLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
166576	return nil, false
166577}
166578
166579// AsJiraLinkedService is the BasicLinkedService implementation for SparkLinkedService.
166580func (sls SparkLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
166581	return nil, false
166582}
166583
166584// AsImpalaLinkedService is the BasicLinkedService implementation for SparkLinkedService.
166585func (sls SparkLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
166586	return nil, false
166587}
166588
166589// AsHubspotLinkedService is the BasicLinkedService implementation for SparkLinkedService.
166590func (sls SparkLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
166591	return nil, false
166592}
166593
166594// AsHiveLinkedService is the BasicLinkedService implementation for SparkLinkedService.
166595func (sls SparkLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
166596	return nil, false
166597}
166598
166599// AsHBaseLinkedService is the BasicLinkedService implementation for SparkLinkedService.
166600func (sls SparkLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
166601	return nil, false
166602}
166603
166604// AsGreenplumLinkedService is the BasicLinkedService implementation for SparkLinkedService.
166605func (sls SparkLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
166606	return nil, false
166607}
166608
166609// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for SparkLinkedService.
166610func (sls SparkLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
166611	return nil, false
166612}
166613
166614// AsEloquaLinkedService is the BasicLinkedService implementation for SparkLinkedService.
166615func (sls SparkLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
166616	return nil, false
166617}
166618
166619// AsDrillLinkedService is the BasicLinkedService implementation for SparkLinkedService.
166620func (sls SparkLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
166621	return nil, false
166622}
166623
166624// AsCouchbaseLinkedService is the BasicLinkedService implementation for SparkLinkedService.
166625func (sls SparkLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
166626	return nil, false
166627}
166628
166629// AsConcurLinkedService is the BasicLinkedService implementation for SparkLinkedService.
166630func (sls SparkLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
166631	return nil, false
166632}
166633
166634// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for SparkLinkedService.
166635func (sls SparkLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
166636	return nil, false
166637}
166638
166639// AsAmazonMWSLinkedService is the BasicLinkedService implementation for SparkLinkedService.
166640func (sls SparkLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
166641	return nil, false
166642}
166643
166644// AsSapHanaLinkedService is the BasicLinkedService implementation for SparkLinkedService.
166645func (sls SparkLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
166646	return nil, false
166647}
166648
166649// AsSapBWLinkedService is the BasicLinkedService implementation for SparkLinkedService.
166650func (sls SparkLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
166651	return nil, false
166652}
166653
166654// AsSftpServerLinkedService is the BasicLinkedService implementation for SparkLinkedService.
166655func (sls SparkLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
166656	return nil, false
166657}
166658
166659// AsFtpServerLinkedService is the BasicLinkedService implementation for SparkLinkedService.
166660func (sls SparkLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
166661	return nil, false
166662}
166663
166664// AsHTTPLinkedService is the BasicLinkedService implementation for SparkLinkedService.
166665func (sls SparkLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
166666	return nil, false
166667}
166668
166669// AsAzureSearchLinkedService is the BasicLinkedService implementation for SparkLinkedService.
166670func (sls SparkLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
166671	return nil, false
166672}
166673
166674// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for SparkLinkedService.
166675func (sls SparkLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
166676	return nil, false
166677}
166678
166679// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for SparkLinkedService.
166680func (sls SparkLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
166681	return nil, false
166682}
166683
166684// AsAmazonS3LinkedService is the BasicLinkedService implementation for SparkLinkedService.
166685func (sls SparkLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
166686	return nil, false
166687}
166688
166689// AsRestServiceLinkedService is the BasicLinkedService implementation for SparkLinkedService.
166690func (sls SparkLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) {
166691	return nil, false
166692}
166693
166694// AsSapOpenHubLinkedService is the BasicLinkedService implementation for SparkLinkedService.
166695func (sls SparkLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) {
166696	return nil, false
166697}
166698
166699// AsSapEccLinkedService is the BasicLinkedService implementation for SparkLinkedService.
166700func (sls SparkLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
166701	return nil, false
166702}
166703
166704// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for SparkLinkedService.
166705func (sls SparkLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
166706	return nil, false
166707}
166708
166709// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for SparkLinkedService.
166710func (sls SparkLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) {
166711	return nil, false
166712}
166713
166714// AsSalesforceLinkedService is the BasicLinkedService implementation for SparkLinkedService.
166715func (sls SparkLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
166716	return nil, false
166717}
166718
166719// AsOffice365LinkedService is the BasicLinkedService implementation for SparkLinkedService.
166720func (sls SparkLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) {
166721	return nil, false
166722}
166723
166724// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for SparkLinkedService.
166725func (sls SparkLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) {
166726	return nil, false
166727}
166728
166729// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for SparkLinkedService.
166730func (sls SparkLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
166731	return nil, false
166732}
166733
166734// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for SparkLinkedService.
166735func (sls SparkLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) {
166736	return nil, false
166737}
166738
166739// AsMongoDbV2LinkedService is the BasicLinkedService implementation for SparkLinkedService.
166740func (sls SparkLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) {
166741	return nil, false
166742}
166743
166744// AsMongoDbLinkedService is the BasicLinkedService implementation for SparkLinkedService.
166745func (sls SparkLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
166746	return nil, false
166747}
166748
166749// AsCassandraLinkedService is the BasicLinkedService implementation for SparkLinkedService.
166750func (sls SparkLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
166751	return nil, false
166752}
166753
166754// AsWebLinkedService is the BasicLinkedService implementation for SparkLinkedService.
166755func (sls SparkLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
166756	return nil, false
166757}
166758
166759// AsODataLinkedService is the BasicLinkedService implementation for SparkLinkedService.
166760func (sls SparkLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
166761	return nil, false
166762}
166763
166764// AsHdfsLinkedService is the BasicLinkedService implementation for SparkLinkedService.
166765func (sls SparkLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
166766	return nil, false
166767}
166768
166769// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for SparkLinkedService.
166770func (sls SparkLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) {
166771	return nil, false
166772}
166773
166774// AsInformixLinkedService is the BasicLinkedService implementation for SparkLinkedService.
166775func (sls SparkLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) {
166776	return nil, false
166777}
166778
166779// AsOdbcLinkedService is the BasicLinkedService implementation for SparkLinkedService.
166780func (sls SparkLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
166781	return nil, false
166782}
166783
166784// AsAzureMLLinkedService is the BasicLinkedService implementation for SparkLinkedService.
166785func (sls SparkLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
166786	return nil, false
166787}
166788
166789// AsTeradataLinkedService is the BasicLinkedService implementation for SparkLinkedService.
166790func (sls SparkLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
166791	return nil, false
166792}
166793
166794// AsDb2LinkedService is the BasicLinkedService implementation for SparkLinkedService.
166795func (sls SparkLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
166796	return nil, false
166797}
166798
166799// AsSybaseLinkedService is the BasicLinkedService implementation for SparkLinkedService.
166800func (sls SparkLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
166801	return nil, false
166802}
166803
166804// AsPostgreSQLLinkedService is the BasicLinkedService implementation for SparkLinkedService.
166805func (sls SparkLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
166806	return nil, false
166807}
166808
166809// AsMySQLLinkedService is the BasicLinkedService implementation for SparkLinkedService.
166810func (sls SparkLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
166811	return nil, false
166812}
166813
166814// AsAzureMySQLLinkedService is the BasicLinkedService implementation for SparkLinkedService.
166815func (sls SparkLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
166816	return nil, false
166817}
166818
166819// AsOracleLinkedService is the BasicLinkedService implementation for SparkLinkedService.
166820func (sls SparkLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
166821	return nil, false
166822}
166823
166824// AsFileServerLinkedService is the BasicLinkedService implementation for SparkLinkedService.
166825func (sls SparkLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
166826	return nil, false
166827}
166828
166829// AsHDInsightLinkedService is the BasicLinkedService implementation for SparkLinkedService.
166830func (sls SparkLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
166831	return nil, false
166832}
166833
166834// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for SparkLinkedService.
166835func (sls SparkLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) {
166836	return nil, false
166837}
166838
166839// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for SparkLinkedService.
166840func (sls SparkLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) {
166841	return nil, false
166842}
166843
166844// AsDynamicsLinkedService is the BasicLinkedService implementation for SparkLinkedService.
166845func (sls SparkLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
166846	return nil, false
166847}
166848
166849// AsCosmosDbLinkedService is the BasicLinkedService implementation for SparkLinkedService.
166850func (sls SparkLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
166851	return nil, false
166852}
166853
166854// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for SparkLinkedService.
166855func (sls SparkLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
166856	return nil, false
166857}
166858
166859// AsAzureBatchLinkedService is the BasicLinkedService implementation for SparkLinkedService.
166860func (sls SparkLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
166861	return nil, false
166862}
166863
166864// AsAzureSQLMILinkedService is the BasicLinkedService implementation for SparkLinkedService.
166865func (sls SparkLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) {
166866	return nil, false
166867}
166868
166869// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for SparkLinkedService.
166870func (sls SparkLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
166871	return nil, false
166872}
166873
166874// AsSQLServerLinkedService is the BasicLinkedService implementation for SparkLinkedService.
166875func (sls SparkLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
166876	return nil, false
166877}
166878
166879// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for SparkLinkedService.
166880func (sls SparkLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
166881	return nil, false
166882}
166883
166884// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for SparkLinkedService.
166885func (sls SparkLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) {
166886	return nil, false
166887}
166888
166889// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for SparkLinkedService.
166890func (sls SparkLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) {
166891	return nil, false
166892}
166893
166894// AsAzureStorageLinkedService is the BasicLinkedService implementation for SparkLinkedService.
166895func (sls SparkLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
166896	return nil, false
166897}
166898
166899// AsLinkedService is the BasicLinkedService implementation for SparkLinkedService.
166900func (sls SparkLinkedService) AsLinkedService() (*LinkedService, bool) {
166901	return nil, false
166902}
166903
166904// AsBasicLinkedService is the BasicLinkedService implementation for SparkLinkedService.
166905func (sls SparkLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
166906	return &sls, true
166907}
166908
166909// UnmarshalJSON is the custom unmarshaler for SparkLinkedService struct.
166910func (sls *SparkLinkedService) UnmarshalJSON(body []byte) error {
166911	var m map[string]*json.RawMessage
166912	err := json.Unmarshal(body, &m)
166913	if err != nil {
166914		return err
166915	}
166916	for k, v := range m {
166917		switch k {
166918		case "typeProperties":
166919			if v != nil {
166920				var sparkLinkedServiceTypeProperties SparkLinkedServiceTypeProperties
166921				err = json.Unmarshal(*v, &sparkLinkedServiceTypeProperties)
166922				if err != nil {
166923					return err
166924				}
166925				sls.SparkLinkedServiceTypeProperties = &sparkLinkedServiceTypeProperties
166926			}
166927		default:
166928			if v != nil {
166929				var additionalProperties interface{}
166930				err = json.Unmarshal(*v, &additionalProperties)
166931				if err != nil {
166932					return err
166933				}
166934				if sls.AdditionalProperties == nil {
166935					sls.AdditionalProperties = make(map[string]interface{})
166936				}
166937				sls.AdditionalProperties[k] = additionalProperties
166938			}
166939		case "connectVia":
166940			if v != nil {
166941				var connectVia IntegrationRuntimeReference
166942				err = json.Unmarshal(*v, &connectVia)
166943				if err != nil {
166944					return err
166945				}
166946				sls.ConnectVia = &connectVia
166947			}
166948		case "description":
166949			if v != nil {
166950				var description string
166951				err = json.Unmarshal(*v, &description)
166952				if err != nil {
166953					return err
166954				}
166955				sls.Description = &description
166956			}
166957		case "parameters":
166958			if v != nil {
166959				var parameters map[string]*ParameterSpecification
166960				err = json.Unmarshal(*v, &parameters)
166961				if err != nil {
166962					return err
166963				}
166964				sls.Parameters = parameters
166965			}
166966		case "annotations":
166967			if v != nil {
166968				var annotations []interface{}
166969				err = json.Unmarshal(*v, &annotations)
166970				if err != nil {
166971					return err
166972				}
166973				sls.Annotations = &annotations
166974			}
166975		case "type":
166976			if v != nil {
166977				var typeVar TypeBasicLinkedService
166978				err = json.Unmarshal(*v, &typeVar)
166979				if err != nil {
166980					return err
166981				}
166982				sls.Type = typeVar
166983			}
166984		}
166985	}
166986
166987	return nil
166988}
166989
166990// SparkLinkedServiceTypeProperties spark Server linked service properties.
166991type SparkLinkedServiceTypeProperties struct {
166992	// Host - IP address or host name of the Spark server
166993	Host interface{} `json:"host,omitempty"`
166994	// Port - The TCP port that the Spark server uses to listen for client connections.
166995	Port interface{} `json:"port,omitempty"`
166996	// ServerType - The type of Spark server. Possible values include: 'SharkServer', 'SharkServer2', 'SparkThriftServer'
166997	ServerType SparkServerType `json:"serverType,omitempty"`
166998	// ThriftTransportProtocol - The transport protocol to use in the Thrift layer. Possible values include: 'SparkThriftTransportProtocolBinary', 'SparkThriftTransportProtocolSASL', 'SparkThriftTransportProtocolHTTP'
166999	ThriftTransportProtocol SparkThriftTransportProtocol `json:"thriftTransportProtocol,omitempty"`
167000	// AuthenticationType - The authentication method used to access the Spark server. Possible values include: 'SparkAuthenticationTypeAnonymous', 'SparkAuthenticationTypeUsername', 'SparkAuthenticationTypeUsernameAndPassword', 'SparkAuthenticationTypeWindowsAzureHDInsightService'
167001	AuthenticationType SparkAuthenticationType `json:"authenticationType,omitempty"`
167002	// Username - The user name that you use to access Spark Server.
167003	Username interface{} `json:"username,omitempty"`
167004	// Password - The password corresponding to the user name that you provided in the Username field
167005	Password BasicSecretBase `json:"password,omitempty"`
167006	// HTTPPath - The partial URL corresponding to the Spark server.
167007	HTTPPath interface{} `json:"httpPath,omitempty"`
167008	// EnableSsl - Specifies whether the connections to the server are encrypted using SSL. The default value is false.
167009	EnableSsl interface{} `json:"enableSsl,omitempty"`
167010	// 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.
167011	TrustedCertPath interface{} `json:"trustedCertPath,omitempty"`
167012	// UseSystemTrustStore - Specifies whether to use a CA certificate from the system trust store or from a specified PEM file. The default value is false.
167013	UseSystemTrustStore interface{} `json:"useSystemTrustStore,omitempty"`
167014	// 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.
167015	AllowHostNameCNMismatch interface{} `json:"allowHostNameCNMismatch,omitempty"`
167016	// AllowSelfSignedServerCert - Specifies whether to allow self-signed certificates from the server. The default value is false.
167017	AllowSelfSignedServerCert interface{} `json:"allowSelfSignedServerCert,omitempty"`
167018	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
167019	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
167020}
167021
167022// UnmarshalJSON is the custom unmarshaler for SparkLinkedServiceTypeProperties struct.
167023func (slstp *SparkLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
167024	var m map[string]*json.RawMessage
167025	err := json.Unmarshal(body, &m)
167026	if err != nil {
167027		return err
167028	}
167029	for k, v := range m {
167030		switch k {
167031		case "host":
167032			if v != nil {
167033				var host interface{}
167034				err = json.Unmarshal(*v, &host)
167035				if err != nil {
167036					return err
167037				}
167038				slstp.Host = host
167039			}
167040		case "port":
167041			if v != nil {
167042				var port interface{}
167043				err = json.Unmarshal(*v, &port)
167044				if err != nil {
167045					return err
167046				}
167047				slstp.Port = port
167048			}
167049		case "serverType":
167050			if v != nil {
167051				var serverType SparkServerType
167052				err = json.Unmarshal(*v, &serverType)
167053				if err != nil {
167054					return err
167055				}
167056				slstp.ServerType = serverType
167057			}
167058		case "thriftTransportProtocol":
167059			if v != nil {
167060				var thriftTransportProtocol SparkThriftTransportProtocol
167061				err = json.Unmarshal(*v, &thriftTransportProtocol)
167062				if err != nil {
167063					return err
167064				}
167065				slstp.ThriftTransportProtocol = thriftTransportProtocol
167066			}
167067		case "authenticationType":
167068			if v != nil {
167069				var authenticationType SparkAuthenticationType
167070				err = json.Unmarshal(*v, &authenticationType)
167071				if err != nil {
167072					return err
167073				}
167074				slstp.AuthenticationType = authenticationType
167075			}
167076		case "username":
167077			if v != nil {
167078				var username interface{}
167079				err = json.Unmarshal(*v, &username)
167080				if err != nil {
167081					return err
167082				}
167083				slstp.Username = username
167084			}
167085		case "password":
167086			if v != nil {
167087				password, err := unmarshalBasicSecretBase(*v)
167088				if err != nil {
167089					return err
167090				}
167091				slstp.Password = password
167092			}
167093		case "httpPath":
167094			if v != nil {
167095				var HTTPPath interface{}
167096				err = json.Unmarshal(*v, &HTTPPath)
167097				if err != nil {
167098					return err
167099				}
167100				slstp.HTTPPath = HTTPPath
167101			}
167102		case "enableSsl":
167103			if v != nil {
167104				var enableSsl interface{}
167105				err = json.Unmarshal(*v, &enableSsl)
167106				if err != nil {
167107					return err
167108				}
167109				slstp.EnableSsl = enableSsl
167110			}
167111		case "trustedCertPath":
167112			if v != nil {
167113				var trustedCertPath interface{}
167114				err = json.Unmarshal(*v, &trustedCertPath)
167115				if err != nil {
167116					return err
167117				}
167118				slstp.TrustedCertPath = trustedCertPath
167119			}
167120		case "useSystemTrustStore":
167121			if v != nil {
167122				var useSystemTrustStore interface{}
167123				err = json.Unmarshal(*v, &useSystemTrustStore)
167124				if err != nil {
167125					return err
167126				}
167127				slstp.UseSystemTrustStore = useSystemTrustStore
167128			}
167129		case "allowHostNameCNMismatch":
167130			if v != nil {
167131				var allowHostNameCNMismatch interface{}
167132				err = json.Unmarshal(*v, &allowHostNameCNMismatch)
167133				if err != nil {
167134					return err
167135				}
167136				slstp.AllowHostNameCNMismatch = allowHostNameCNMismatch
167137			}
167138		case "allowSelfSignedServerCert":
167139			if v != nil {
167140				var allowSelfSignedServerCert interface{}
167141				err = json.Unmarshal(*v, &allowSelfSignedServerCert)
167142				if err != nil {
167143					return err
167144				}
167145				slstp.AllowSelfSignedServerCert = allowSelfSignedServerCert
167146			}
167147		case "encryptedCredential":
167148			if v != nil {
167149				var encryptedCredential interface{}
167150				err = json.Unmarshal(*v, &encryptedCredential)
167151				if err != nil {
167152					return err
167153				}
167154				slstp.EncryptedCredential = encryptedCredential
167155			}
167156		}
167157	}
167158
167159	return nil
167160}
167161
167162// SparkObjectDataset spark Server dataset.
167163type SparkObjectDataset struct {
167164	// GenericDatasetTypeProperties - Properties specific to this dataset type.
167165	*GenericDatasetTypeProperties `json:"typeProperties,omitempty"`
167166	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
167167	AdditionalProperties map[string]interface{} `json:""`
167168	// Description - Dataset description.
167169	Description *string `json:"description,omitempty"`
167170	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
167171	Structure interface{} `json:"structure,omitempty"`
167172	// Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement.
167173	Schema interface{} `json:"schema,omitempty"`
167174	// LinkedServiceName - Linked service reference.
167175	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
167176	// Parameters - Parameters for dataset.
167177	Parameters map[string]*ParameterSpecification `json:"parameters"`
167178	// Annotations - List of tags that can be used for describing the Dataset.
167179	Annotations *[]interface{} `json:"annotations,omitempty"`
167180	// Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level.
167181	Folder *DatasetFolder `json:"folder,omitempty"`
167182	// Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', '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', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeDelimitedText', 'TypeParquet', 'TypeAmazonS3Object'
167183	Type TypeBasicDataset `json:"type,omitempty"`
167184}
167185
167186// MarshalJSON is the custom marshaler for SparkObjectDataset.
167187func (sod SparkObjectDataset) MarshalJSON() ([]byte, error) {
167188	sod.Type = TypeSparkObject
167189	objectMap := make(map[string]interface{})
167190	if sod.GenericDatasetTypeProperties != nil {
167191		objectMap["typeProperties"] = sod.GenericDatasetTypeProperties
167192	}
167193	if sod.Description != nil {
167194		objectMap["description"] = sod.Description
167195	}
167196	if sod.Structure != nil {
167197		objectMap["structure"] = sod.Structure
167198	}
167199	if sod.Schema != nil {
167200		objectMap["schema"] = sod.Schema
167201	}
167202	if sod.LinkedServiceName != nil {
167203		objectMap["linkedServiceName"] = sod.LinkedServiceName
167204	}
167205	if sod.Parameters != nil {
167206		objectMap["parameters"] = sod.Parameters
167207	}
167208	if sod.Annotations != nil {
167209		objectMap["annotations"] = sod.Annotations
167210	}
167211	if sod.Folder != nil {
167212		objectMap["folder"] = sod.Folder
167213	}
167214	if sod.Type != "" {
167215		objectMap["type"] = sod.Type
167216	}
167217	for k, v := range sod.AdditionalProperties {
167218		objectMap[k] = v
167219	}
167220	return json.Marshal(objectMap)
167221}
167222
167223// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for SparkObjectDataset.
167224func (sod SparkObjectDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) {
167225	return nil, false
167226}
167227
167228// AsAzureDataExplorerTableDataset is the BasicDataset implementation for SparkObjectDataset.
167229func (sod SparkObjectDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) {
167230	return nil, false
167231}
167232
167233// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for SparkObjectDataset.
167234func (sod SparkObjectDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) {
167235	return nil, false
167236}
167237
167238// AsDynamicsAXResourceDataset is the BasicDataset implementation for SparkObjectDataset.
167239func (sod SparkObjectDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) {
167240	return nil, false
167241}
167242
167243// AsResponsysObjectDataset is the BasicDataset implementation for SparkObjectDataset.
167244func (sod SparkObjectDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
167245	return nil, false
167246}
167247
167248// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for SparkObjectDataset.
167249func (sod SparkObjectDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
167250	return nil, false
167251}
167252
167253// AsVerticaTableDataset is the BasicDataset implementation for SparkObjectDataset.
167254func (sod SparkObjectDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
167255	return nil, false
167256}
167257
167258// AsNetezzaTableDataset is the BasicDataset implementation for SparkObjectDataset.
167259func (sod SparkObjectDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
167260	return nil, false
167261}
167262
167263// AsZohoObjectDataset is the BasicDataset implementation for SparkObjectDataset.
167264func (sod SparkObjectDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
167265	return nil, false
167266}
167267
167268// AsXeroObjectDataset is the BasicDataset implementation for SparkObjectDataset.
167269func (sod SparkObjectDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
167270	return nil, false
167271}
167272
167273// AsSquareObjectDataset is the BasicDataset implementation for SparkObjectDataset.
167274func (sod SparkObjectDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
167275	return nil, false
167276}
167277
167278// AsSparkObjectDataset is the BasicDataset implementation for SparkObjectDataset.
167279func (sod SparkObjectDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
167280	return &sod, true
167281}
167282
167283// AsShopifyObjectDataset is the BasicDataset implementation for SparkObjectDataset.
167284func (sod SparkObjectDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
167285	return nil, false
167286}
167287
167288// AsServiceNowObjectDataset is the BasicDataset implementation for SparkObjectDataset.
167289func (sod SparkObjectDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
167290	return nil, false
167291}
167292
167293// AsQuickBooksObjectDataset is the BasicDataset implementation for SparkObjectDataset.
167294func (sod SparkObjectDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
167295	return nil, false
167296}
167297
167298// AsPrestoObjectDataset is the BasicDataset implementation for SparkObjectDataset.
167299func (sod SparkObjectDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
167300	return nil, false
167301}
167302
167303// AsPhoenixObjectDataset is the BasicDataset implementation for SparkObjectDataset.
167304func (sod SparkObjectDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
167305	return nil, false
167306}
167307
167308// AsPaypalObjectDataset is the BasicDataset implementation for SparkObjectDataset.
167309func (sod SparkObjectDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
167310	return nil, false
167311}
167312
167313// AsMarketoObjectDataset is the BasicDataset implementation for SparkObjectDataset.
167314func (sod SparkObjectDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
167315	return nil, false
167316}
167317
167318// AsMariaDBTableDataset is the BasicDataset implementation for SparkObjectDataset.
167319func (sod SparkObjectDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
167320	return nil, false
167321}
167322
167323// AsMagentoObjectDataset is the BasicDataset implementation for SparkObjectDataset.
167324func (sod SparkObjectDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
167325	return nil, false
167326}
167327
167328// AsJiraObjectDataset is the BasicDataset implementation for SparkObjectDataset.
167329func (sod SparkObjectDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
167330	return nil, false
167331}
167332
167333// AsImpalaObjectDataset is the BasicDataset implementation for SparkObjectDataset.
167334func (sod SparkObjectDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
167335	return nil, false
167336}
167337
167338// AsHubspotObjectDataset is the BasicDataset implementation for SparkObjectDataset.
167339func (sod SparkObjectDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
167340	return nil, false
167341}
167342
167343// AsHiveObjectDataset is the BasicDataset implementation for SparkObjectDataset.
167344func (sod SparkObjectDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
167345	return nil, false
167346}
167347
167348// AsHBaseObjectDataset is the BasicDataset implementation for SparkObjectDataset.
167349func (sod SparkObjectDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
167350	return nil, false
167351}
167352
167353// AsGreenplumTableDataset is the BasicDataset implementation for SparkObjectDataset.
167354func (sod SparkObjectDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
167355	return nil, false
167356}
167357
167358// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for SparkObjectDataset.
167359func (sod SparkObjectDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
167360	return nil, false
167361}
167362
167363// AsEloquaObjectDataset is the BasicDataset implementation for SparkObjectDataset.
167364func (sod SparkObjectDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
167365	return nil, false
167366}
167367
167368// AsDrillTableDataset is the BasicDataset implementation for SparkObjectDataset.
167369func (sod SparkObjectDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
167370	return nil, false
167371}
167372
167373// AsCouchbaseTableDataset is the BasicDataset implementation for SparkObjectDataset.
167374func (sod SparkObjectDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
167375	return nil, false
167376}
167377
167378// AsConcurObjectDataset is the BasicDataset implementation for SparkObjectDataset.
167379func (sod SparkObjectDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
167380	return nil, false
167381}
167382
167383// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for SparkObjectDataset.
167384func (sod SparkObjectDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
167385	return nil, false
167386}
167387
167388// AsAmazonMWSObjectDataset is the BasicDataset implementation for SparkObjectDataset.
167389func (sod SparkObjectDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
167390	return nil, false
167391}
167392
167393// AsHTTPDataset is the BasicDataset implementation for SparkObjectDataset.
167394func (sod SparkObjectDataset) AsHTTPDataset() (*HTTPDataset, bool) {
167395	return nil, false
167396}
167397
167398// AsAzureSearchIndexDataset is the BasicDataset implementation for SparkObjectDataset.
167399func (sod SparkObjectDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
167400	return nil, false
167401}
167402
167403// AsWebTableDataset is the BasicDataset implementation for SparkObjectDataset.
167404func (sod SparkObjectDataset) AsWebTableDataset() (*WebTableDataset, bool) {
167405	return nil, false
167406}
167407
167408// AsSapTableResourceDataset is the BasicDataset implementation for SparkObjectDataset.
167409func (sod SparkObjectDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) {
167410	return nil, false
167411}
167412
167413// AsRestResourceDataset is the BasicDataset implementation for SparkObjectDataset.
167414func (sod SparkObjectDataset) AsRestResourceDataset() (*RestResourceDataset, bool) {
167415	return nil, false
167416}
167417
167418// AsSQLServerTableDataset is the BasicDataset implementation for SparkObjectDataset.
167419func (sod SparkObjectDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
167420	return nil, false
167421}
167422
167423// AsSapOpenHubTableDataset is the BasicDataset implementation for SparkObjectDataset.
167424func (sod SparkObjectDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) {
167425	return nil, false
167426}
167427
167428// AsSapHanaTableDataset is the BasicDataset implementation for SparkObjectDataset.
167429func (sod SparkObjectDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) {
167430	return nil, false
167431}
167432
167433// AsSapEccResourceDataset is the BasicDataset implementation for SparkObjectDataset.
167434func (sod SparkObjectDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
167435	return nil, false
167436}
167437
167438// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for SparkObjectDataset.
167439func (sod SparkObjectDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
167440	return nil, false
167441}
167442
167443// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for SparkObjectDataset.
167444func (sod SparkObjectDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) {
167445	return nil, false
167446}
167447
167448// AsSalesforceObjectDataset is the BasicDataset implementation for SparkObjectDataset.
167449func (sod SparkObjectDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
167450	return nil, false
167451}
167452
167453// AsMicrosoftAccessTableDataset is the BasicDataset implementation for SparkObjectDataset.
167454func (sod SparkObjectDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) {
167455	return nil, false
167456}
167457
167458// AsPostgreSQLTableDataset is the BasicDataset implementation for SparkObjectDataset.
167459func (sod SparkObjectDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) {
167460	return nil, false
167461}
167462
167463// AsMySQLTableDataset is the BasicDataset implementation for SparkObjectDataset.
167464func (sod SparkObjectDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) {
167465	return nil, false
167466}
167467
167468// AsOdbcTableDataset is the BasicDataset implementation for SparkObjectDataset.
167469func (sod SparkObjectDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) {
167470	return nil, false
167471}
167472
167473// AsInformixTableDataset is the BasicDataset implementation for SparkObjectDataset.
167474func (sod SparkObjectDataset) AsInformixTableDataset() (*InformixTableDataset, bool) {
167475	return nil, false
167476}
167477
167478// AsRelationalTableDataset is the BasicDataset implementation for SparkObjectDataset.
167479func (sod SparkObjectDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
167480	return nil, false
167481}
167482
167483// AsAzureMySQLTableDataset is the BasicDataset implementation for SparkObjectDataset.
167484func (sod SparkObjectDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
167485	return nil, false
167486}
167487
167488// AsTeradataTableDataset is the BasicDataset implementation for SparkObjectDataset.
167489func (sod SparkObjectDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) {
167490	return nil, false
167491}
167492
167493// AsOracleTableDataset is the BasicDataset implementation for SparkObjectDataset.
167494func (sod SparkObjectDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
167495	return nil, false
167496}
167497
167498// AsODataResourceDataset is the BasicDataset implementation for SparkObjectDataset.
167499func (sod SparkObjectDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
167500	return nil, false
167501}
167502
167503// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for SparkObjectDataset.
167504func (sod SparkObjectDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) {
167505	return nil, false
167506}
167507
167508// AsMongoDbV2CollectionDataset is the BasicDataset implementation for SparkObjectDataset.
167509func (sod SparkObjectDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) {
167510	return nil, false
167511}
167512
167513// AsMongoDbCollectionDataset is the BasicDataset implementation for SparkObjectDataset.
167514func (sod SparkObjectDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
167515	return nil, false
167516}
167517
167518// AsFileShareDataset is the BasicDataset implementation for SparkObjectDataset.
167519func (sod SparkObjectDataset) AsFileShareDataset() (*FileShareDataset, bool) {
167520	return nil, false
167521}
167522
167523// AsOffice365Dataset is the BasicDataset implementation for SparkObjectDataset.
167524func (sod SparkObjectDataset) AsOffice365Dataset() (*Office365Dataset, bool) {
167525	return nil, false
167526}
167527
167528// AsAzureBlobFSDataset is the BasicDataset implementation for SparkObjectDataset.
167529func (sod SparkObjectDataset) AsAzureBlobFSDataset() (*AzureBlobFSDataset, bool) {
167530	return nil, false
167531}
167532
167533// AsAzureDataLakeStoreDataset is the BasicDataset implementation for SparkObjectDataset.
167534func (sod SparkObjectDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) {
167535	return nil, false
167536}
167537
167538// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for SparkObjectDataset.
167539func (sod SparkObjectDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) {
167540	return nil, false
167541}
167542
167543// AsDynamicsCrmEntityDataset is the BasicDataset implementation for SparkObjectDataset.
167544func (sod SparkObjectDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) {
167545	return nil, false
167546}
167547
167548// AsDynamicsEntityDataset is the BasicDataset implementation for SparkObjectDataset.
167549func (sod SparkObjectDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
167550	return nil, false
167551}
167552
167553// AsDocumentDbCollectionDataset is the BasicDataset implementation for SparkObjectDataset.
167554func (sod SparkObjectDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
167555	return nil, false
167556}
167557
167558// AsCustomDataset is the BasicDataset implementation for SparkObjectDataset.
167559func (sod SparkObjectDataset) AsCustomDataset() (*CustomDataset, bool) {
167560	return nil, false
167561}
167562
167563// AsCassandraTableDataset is the BasicDataset implementation for SparkObjectDataset.
167564func (sod SparkObjectDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
167565	return nil, false
167566}
167567
167568// AsAzureSQLDWTableDataset is the BasicDataset implementation for SparkObjectDataset.
167569func (sod SparkObjectDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
167570	return nil, false
167571}
167572
167573// AsAzureSQLMITableDataset is the BasicDataset implementation for SparkObjectDataset.
167574func (sod SparkObjectDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) {
167575	return nil, false
167576}
167577
167578// AsAzureSQLTableDataset is the BasicDataset implementation for SparkObjectDataset.
167579func (sod SparkObjectDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
167580	return nil, false
167581}
167582
167583// AsAzureTableDataset is the BasicDataset implementation for SparkObjectDataset.
167584func (sod SparkObjectDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
167585	return nil, false
167586}
167587
167588// AsAzureBlobDataset is the BasicDataset implementation for SparkObjectDataset.
167589func (sod SparkObjectDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) {
167590	return nil, false
167591}
167592
167593// AsBinaryDataset is the BasicDataset implementation for SparkObjectDataset.
167594func (sod SparkObjectDataset) AsBinaryDataset() (*BinaryDataset, bool) {
167595	return nil, false
167596}
167597
167598// AsDelimitedTextDataset is the BasicDataset implementation for SparkObjectDataset.
167599func (sod SparkObjectDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) {
167600	return nil, false
167601}
167602
167603// AsParquetDataset is the BasicDataset implementation for SparkObjectDataset.
167604func (sod SparkObjectDataset) AsParquetDataset() (*ParquetDataset, bool) {
167605	return nil, false
167606}
167607
167608// AsAmazonS3Dataset is the BasicDataset implementation for SparkObjectDataset.
167609func (sod SparkObjectDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) {
167610	return nil, false
167611}
167612
167613// AsDataset is the BasicDataset implementation for SparkObjectDataset.
167614func (sod SparkObjectDataset) AsDataset() (*Dataset, bool) {
167615	return nil, false
167616}
167617
167618// AsBasicDataset is the BasicDataset implementation for SparkObjectDataset.
167619func (sod SparkObjectDataset) AsBasicDataset() (BasicDataset, bool) {
167620	return &sod, true
167621}
167622
167623// UnmarshalJSON is the custom unmarshaler for SparkObjectDataset struct.
167624func (sod *SparkObjectDataset) UnmarshalJSON(body []byte) error {
167625	var m map[string]*json.RawMessage
167626	err := json.Unmarshal(body, &m)
167627	if err != nil {
167628		return err
167629	}
167630	for k, v := range m {
167631		switch k {
167632		case "typeProperties":
167633			if v != nil {
167634				var genericDatasetTypeProperties GenericDatasetTypeProperties
167635				err = json.Unmarshal(*v, &genericDatasetTypeProperties)
167636				if err != nil {
167637					return err
167638				}
167639				sod.GenericDatasetTypeProperties = &genericDatasetTypeProperties
167640			}
167641		default:
167642			if v != nil {
167643				var additionalProperties interface{}
167644				err = json.Unmarshal(*v, &additionalProperties)
167645				if err != nil {
167646					return err
167647				}
167648				if sod.AdditionalProperties == nil {
167649					sod.AdditionalProperties = make(map[string]interface{})
167650				}
167651				sod.AdditionalProperties[k] = additionalProperties
167652			}
167653		case "description":
167654			if v != nil {
167655				var description string
167656				err = json.Unmarshal(*v, &description)
167657				if err != nil {
167658					return err
167659				}
167660				sod.Description = &description
167661			}
167662		case "structure":
167663			if v != nil {
167664				var structure interface{}
167665				err = json.Unmarshal(*v, &structure)
167666				if err != nil {
167667					return err
167668				}
167669				sod.Structure = structure
167670			}
167671		case "schema":
167672			if v != nil {
167673				var schema interface{}
167674				err = json.Unmarshal(*v, &schema)
167675				if err != nil {
167676					return err
167677				}
167678				sod.Schema = schema
167679			}
167680		case "linkedServiceName":
167681			if v != nil {
167682				var linkedServiceName LinkedServiceReference
167683				err = json.Unmarshal(*v, &linkedServiceName)
167684				if err != nil {
167685					return err
167686				}
167687				sod.LinkedServiceName = &linkedServiceName
167688			}
167689		case "parameters":
167690			if v != nil {
167691				var parameters map[string]*ParameterSpecification
167692				err = json.Unmarshal(*v, &parameters)
167693				if err != nil {
167694					return err
167695				}
167696				sod.Parameters = parameters
167697			}
167698		case "annotations":
167699			if v != nil {
167700				var annotations []interface{}
167701				err = json.Unmarshal(*v, &annotations)
167702				if err != nil {
167703					return err
167704				}
167705				sod.Annotations = &annotations
167706			}
167707		case "folder":
167708			if v != nil {
167709				var folder DatasetFolder
167710				err = json.Unmarshal(*v, &folder)
167711				if err != nil {
167712					return err
167713				}
167714				sod.Folder = &folder
167715			}
167716		case "type":
167717			if v != nil {
167718				var typeVar TypeBasicDataset
167719				err = json.Unmarshal(*v, &typeVar)
167720				if err != nil {
167721					return err
167722				}
167723				sod.Type = typeVar
167724			}
167725		}
167726	}
167727
167728	return nil
167729}
167730
167731// SparkSource a copy activity Spark Server source.
167732type SparkSource struct {
167733	// Query - A query to retrieve data from source. Type: string (or Expression with resultType string).
167734	Query interface{} `json:"query,omitempty"`
167735	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
167736	AdditionalProperties map[string]interface{} `json:""`
167737	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
167738	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
167739	// 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])).
167740	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
167741	// MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer).
167742	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
167743	// Type - Possible values include: 'TypeCopySource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', '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', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeCassandraSource', 'TypeWebSource', 'TypeTeradataSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeAzureMySQLSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeRestSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceServiceCloudSource', 'TypeSalesforceSource', 'TypeODataSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeMicrosoftAccessSource', 'TypeInformixSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAzureTableSource', 'TypeBinarySource', 'TypeDelimitedTextSource', 'TypeParquetSource'
167744	Type TypeBasicCopySource `json:"type,omitempty"`
167745}
167746
167747// MarshalJSON is the custom marshaler for SparkSource.
167748func (ss SparkSource) MarshalJSON() ([]byte, error) {
167749	ss.Type = TypeSparkSource
167750	objectMap := make(map[string]interface{})
167751	if ss.Query != nil {
167752		objectMap["query"] = ss.Query
167753	}
167754	if ss.SourceRetryCount != nil {
167755		objectMap["sourceRetryCount"] = ss.SourceRetryCount
167756	}
167757	if ss.SourceRetryWait != nil {
167758		objectMap["sourceRetryWait"] = ss.SourceRetryWait
167759	}
167760	if ss.MaxConcurrentConnections != nil {
167761		objectMap["maxConcurrentConnections"] = ss.MaxConcurrentConnections
167762	}
167763	if ss.Type != "" {
167764		objectMap["type"] = ss.Type
167765	}
167766	for k, v := range ss.AdditionalProperties {
167767		objectMap[k] = v
167768	}
167769	return json.Marshal(objectMap)
167770}
167771
167772// AsAmazonRedshiftSource is the BasicCopySource implementation for SparkSource.
167773func (ss SparkSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
167774	return nil, false
167775}
167776
167777// AsGoogleAdWordsSource is the BasicCopySource implementation for SparkSource.
167778func (ss SparkSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) {
167779	return nil, false
167780}
167781
167782// AsOracleServiceCloudSource is the BasicCopySource implementation for SparkSource.
167783func (ss SparkSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) {
167784	return nil, false
167785}
167786
167787// AsDynamicsAXSource is the BasicCopySource implementation for SparkSource.
167788func (ss SparkSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) {
167789	return nil, false
167790}
167791
167792// AsResponsysSource is the BasicCopySource implementation for SparkSource.
167793func (ss SparkSource) AsResponsysSource() (*ResponsysSource, bool) {
167794	return nil, false
167795}
167796
167797// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for SparkSource.
167798func (ss SparkSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
167799	return nil, false
167800}
167801
167802// AsVerticaSource is the BasicCopySource implementation for SparkSource.
167803func (ss SparkSource) AsVerticaSource() (*VerticaSource, bool) {
167804	return nil, false
167805}
167806
167807// AsNetezzaSource is the BasicCopySource implementation for SparkSource.
167808func (ss SparkSource) AsNetezzaSource() (*NetezzaSource, bool) {
167809	return nil, false
167810}
167811
167812// AsZohoSource is the BasicCopySource implementation for SparkSource.
167813func (ss SparkSource) AsZohoSource() (*ZohoSource, bool) {
167814	return nil, false
167815}
167816
167817// AsXeroSource is the BasicCopySource implementation for SparkSource.
167818func (ss SparkSource) AsXeroSource() (*XeroSource, bool) {
167819	return nil, false
167820}
167821
167822// AsSquareSource is the BasicCopySource implementation for SparkSource.
167823func (ss SparkSource) AsSquareSource() (*SquareSource, bool) {
167824	return nil, false
167825}
167826
167827// AsSparkSource is the BasicCopySource implementation for SparkSource.
167828func (ss SparkSource) AsSparkSource() (*SparkSource, bool) {
167829	return &ss, true
167830}
167831
167832// AsShopifySource is the BasicCopySource implementation for SparkSource.
167833func (ss SparkSource) AsShopifySource() (*ShopifySource, bool) {
167834	return nil, false
167835}
167836
167837// AsServiceNowSource is the BasicCopySource implementation for SparkSource.
167838func (ss SparkSource) AsServiceNowSource() (*ServiceNowSource, bool) {
167839	return nil, false
167840}
167841
167842// AsQuickBooksSource is the BasicCopySource implementation for SparkSource.
167843func (ss SparkSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
167844	return nil, false
167845}
167846
167847// AsPrestoSource is the BasicCopySource implementation for SparkSource.
167848func (ss SparkSource) AsPrestoSource() (*PrestoSource, bool) {
167849	return nil, false
167850}
167851
167852// AsPhoenixSource is the BasicCopySource implementation for SparkSource.
167853func (ss SparkSource) AsPhoenixSource() (*PhoenixSource, bool) {
167854	return nil, false
167855}
167856
167857// AsPaypalSource is the BasicCopySource implementation for SparkSource.
167858func (ss SparkSource) AsPaypalSource() (*PaypalSource, bool) {
167859	return nil, false
167860}
167861
167862// AsMarketoSource is the BasicCopySource implementation for SparkSource.
167863func (ss SparkSource) AsMarketoSource() (*MarketoSource, bool) {
167864	return nil, false
167865}
167866
167867// AsMariaDBSource is the BasicCopySource implementation for SparkSource.
167868func (ss SparkSource) AsMariaDBSource() (*MariaDBSource, bool) {
167869	return nil, false
167870}
167871
167872// AsMagentoSource is the BasicCopySource implementation for SparkSource.
167873func (ss SparkSource) AsMagentoSource() (*MagentoSource, bool) {
167874	return nil, false
167875}
167876
167877// AsJiraSource is the BasicCopySource implementation for SparkSource.
167878func (ss SparkSource) AsJiraSource() (*JiraSource, bool) {
167879	return nil, false
167880}
167881
167882// AsImpalaSource is the BasicCopySource implementation for SparkSource.
167883func (ss SparkSource) AsImpalaSource() (*ImpalaSource, bool) {
167884	return nil, false
167885}
167886
167887// AsHubspotSource is the BasicCopySource implementation for SparkSource.
167888func (ss SparkSource) AsHubspotSource() (*HubspotSource, bool) {
167889	return nil, false
167890}
167891
167892// AsHiveSource is the BasicCopySource implementation for SparkSource.
167893func (ss SparkSource) AsHiveSource() (*HiveSource, bool) {
167894	return nil, false
167895}
167896
167897// AsHBaseSource is the BasicCopySource implementation for SparkSource.
167898func (ss SparkSource) AsHBaseSource() (*HBaseSource, bool) {
167899	return nil, false
167900}
167901
167902// AsGreenplumSource is the BasicCopySource implementation for SparkSource.
167903func (ss SparkSource) AsGreenplumSource() (*GreenplumSource, bool) {
167904	return nil, false
167905}
167906
167907// AsGoogleBigQuerySource is the BasicCopySource implementation for SparkSource.
167908func (ss SparkSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
167909	return nil, false
167910}
167911
167912// AsEloquaSource is the BasicCopySource implementation for SparkSource.
167913func (ss SparkSource) AsEloquaSource() (*EloquaSource, bool) {
167914	return nil, false
167915}
167916
167917// AsDrillSource is the BasicCopySource implementation for SparkSource.
167918func (ss SparkSource) AsDrillSource() (*DrillSource, bool) {
167919	return nil, false
167920}
167921
167922// AsCouchbaseSource is the BasicCopySource implementation for SparkSource.
167923func (ss SparkSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
167924	return nil, false
167925}
167926
167927// AsConcurSource is the BasicCopySource implementation for SparkSource.
167928func (ss SparkSource) AsConcurSource() (*ConcurSource, bool) {
167929	return nil, false
167930}
167931
167932// AsAzurePostgreSQLSource is the BasicCopySource implementation for SparkSource.
167933func (ss SparkSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
167934	return nil, false
167935}
167936
167937// AsAmazonMWSSource is the BasicCopySource implementation for SparkSource.
167938func (ss SparkSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
167939	return nil, false
167940}
167941
167942// AsHTTPSource is the BasicCopySource implementation for SparkSource.
167943func (ss SparkSource) AsHTTPSource() (*HTTPSource, bool) {
167944	return nil, false
167945}
167946
167947// AsAzureBlobFSSource is the BasicCopySource implementation for SparkSource.
167948func (ss SparkSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) {
167949	return nil, false
167950}
167951
167952// AsAzureDataLakeStoreSource is the BasicCopySource implementation for SparkSource.
167953func (ss SparkSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
167954	return nil, false
167955}
167956
167957// AsOffice365Source is the BasicCopySource implementation for SparkSource.
167958func (ss SparkSource) AsOffice365Source() (*Office365Source, bool) {
167959	return nil, false
167960}
167961
167962// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for SparkSource.
167963func (ss SparkSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) {
167964	return nil, false
167965}
167966
167967// AsMongoDbV2Source is the BasicCopySource implementation for SparkSource.
167968func (ss SparkSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) {
167969	return nil, false
167970}
167971
167972// AsMongoDbSource is the BasicCopySource implementation for SparkSource.
167973func (ss SparkSource) AsMongoDbSource() (*MongoDbSource, bool) {
167974	return nil, false
167975}
167976
167977// AsCassandraSource is the BasicCopySource implementation for SparkSource.
167978func (ss SparkSource) AsCassandraSource() (*CassandraSource, bool) {
167979	return nil, false
167980}
167981
167982// AsWebSource is the BasicCopySource implementation for SparkSource.
167983func (ss SparkSource) AsWebSource() (*WebSource, bool) {
167984	return nil, false
167985}
167986
167987// AsTeradataSource is the BasicCopySource implementation for SparkSource.
167988func (ss SparkSource) AsTeradataSource() (*TeradataSource, bool) {
167989	return nil, false
167990}
167991
167992// AsOracleSource is the BasicCopySource implementation for SparkSource.
167993func (ss SparkSource) AsOracleSource() (*OracleSource, bool) {
167994	return nil, false
167995}
167996
167997// AsAzureDataExplorerSource is the BasicCopySource implementation for SparkSource.
167998func (ss SparkSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) {
167999	return nil, false
168000}
168001
168002// AsAzureMySQLSource is the BasicCopySource implementation for SparkSource.
168003func (ss SparkSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
168004	return nil, false
168005}
168006
168007// AsHdfsSource is the BasicCopySource implementation for SparkSource.
168008func (ss SparkSource) AsHdfsSource() (*HdfsSource, bool) {
168009	return nil, false
168010}
168011
168012// AsFileSystemSource is the BasicCopySource implementation for SparkSource.
168013func (ss SparkSource) AsFileSystemSource() (*FileSystemSource, bool) {
168014	return nil, false
168015}
168016
168017// AsSQLDWSource is the BasicCopySource implementation for SparkSource.
168018func (ss SparkSource) AsSQLDWSource() (*SQLDWSource, bool) {
168019	return nil, false
168020}
168021
168022// AsSQLMISource is the BasicCopySource implementation for SparkSource.
168023func (ss SparkSource) AsSQLMISource() (*SQLMISource, bool) {
168024	return nil, false
168025}
168026
168027// AsAzureSQLSource is the BasicCopySource implementation for SparkSource.
168028func (ss SparkSource) AsAzureSQLSource() (*AzureSQLSource, bool) {
168029	return nil, false
168030}
168031
168032// AsSQLServerSource is the BasicCopySource implementation for SparkSource.
168033func (ss SparkSource) AsSQLServerSource() (*SQLServerSource, bool) {
168034	return nil, false
168035}
168036
168037// AsSQLSource is the BasicCopySource implementation for SparkSource.
168038func (ss SparkSource) AsSQLSource() (*SQLSource, bool) {
168039	return nil, false
168040}
168041
168042// AsRestSource is the BasicCopySource implementation for SparkSource.
168043func (ss SparkSource) AsRestSource() (*RestSource, bool) {
168044	return nil, false
168045}
168046
168047// AsSapTableSource is the BasicCopySource implementation for SparkSource.
168048func (ss SparkSource) AsSapTableSource() (*SapTableSource, bool) {
168049	return nil, false
168050}
168051
168052// AsSapOpenHubSource is the BasicCopySource implementation for SparkSource.
168053func (ss SparkSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) {
168054	return nil, false
168055}
168056
168057// AsSapHanaSource is the BasicCopySource implementation for SparkSource.
168058func (ss SparkSource) AsSapHanaSource() (*SapHanaSource, bool) {
168059	return nil, false
168060}
168061
168062// AsSapEccSource is the BasicCopySource implementation for SparkSource.
168063func (ss SparkSource) AsSapEccSource() (*SapEccSource, bool) {
168064	return nil, false
168065}
168066
168067// AsSapCloudForCustomerSource is the BasicCopySource implementation for SparkSource.
168068func (ss SparkSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
168069	return nil, false
168070}
168071
168072// AsSalesforceServiceCloudSource is the BasicCopySource implementation for SparkSource.
168073func (ss SparkSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) {
168074	return nil, false
168075}
168076
168077// AsSalesforceSource is the BasicCopySource implementation for SparkSource.
168078func (ss SparkSource) AsSalesforceSource() (*SalesforceSource, bool) {
168079	return nil, false
168080}
168081
168082// AsODataSource is the BasicCopySource implementation for SparkSource.
168083func (ss SparkSource) AsODataSource() (*ODataSource, bool) {
168084	return nil, false
168085}
168086
168087// AsSybaseSource is the BasicCopySource implementation for SparkSource.
168088func (ss SparkSource) AsSybaseSource() (*SybaseSource, bool) {
168089	return nil, false
168090}
168091
168092// AsPostgreSQLSource is the BasicCopySource implementation for SparkSource.
168093func (ss SparkSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) {
168094	return nil, false
168095}
168096
168097// AsMySQLSource is the BasicCopySource implementation for SparkSource.
168098func (ss SparkSource) AsMySQLSource() (*MySQLSource, bool) {
168099	return nil, false
168100}
168101
168102// AsOdbcSource is the BasicCopySource implementation for SparkSource.
168103func (ss SparkSource) AsOdbcSource() (*OdbcSource, bool) {
168104	return nil, false
168105}
168106
168107// AsDb2Source is the BasicCopySource implementation for SparkSource.
168108func (ss SparkSource) AsDb2Source() (*Db2Source, bool) {
168109	return nil, false
168110}
168111
168112// AsMicrosoftAccessSource is the BasicCopySource implementation for SparkSource.
168113func (ss SparkSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) {
168114	return nil, false
168115}
168116
168117// AsInformixSource is the BasicCopySource implementation for SparkSource.
168118func (ss SparkSource) AsInformixSource() (*InformixSource, bool) {
168119	return nil, false
168120}
168121
168122// AsRelationalSource is the BasicCopySource implementation for SparkSource.
168123func (ss SparkSource) AsRelationalSource() (*RelationalSource, bool) {
168124	return nil, false
168125}
168126
168127// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for SparkSource.
168128func (ss SparkSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) {
168129	return nil, false
168130}
168131
168132// AsDynamicsCrmSource is the BasicCopySource implementation for SparkSource.
168133func (ss SparkSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) {
168134	return nil, false
168135}
168136
168137// AsDynamicsSource is the BasicCopySource implementation for SparkSource.
168138func (ss SparkSource) AsDynamicsSource() (*DynamicsSource, bool) {
168139	return nil, false
168140}
168141
168142// AsDocumentDbCollectionSource is the BasicCopySource implementation for SparkSource.
168143func (ss SparkSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
168144	return nil, false
168145}
168146
168147// AsBlobSource is the BasicCopySource implementation for SparkSource.
168148func (ss SparkSource) AsBlobSource() (*BlobSource, bool) {
168149	return nil, false
168150}
168151
168152// AsAzureTableSource is the BasicCopySource implementation for SparkSource.
168153func (ss SparkSource) AsAzureTableSource() (*AzureTableSource, bool) {
168154	return nil, false
168155}
168156
168157// AsBinarySource is the BasicCopySource implementation for SparkSource.
168158func (ss SparkSource) AsBinarySource() (*BinarySource, bool) {
168159	return nil, false
168160}
168161
168162// AsDelimitedTextSource is the BasicCopySource implementation for SparkSource.
168163func (ss SparkSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) {
168164	return nil, false
168165}
168166
168167// AsParquetSource is the BasicCopySource implementation for SparkSource.
168168func (ss SparkSource) AsParquetSource() (*ParquetSource, bool) {
168169	return nil, false
168170}
168171
168172// AsCopySource is the BasicCopySource implementation for SparkSource.
168173func (ss SparkSource) AsCopySource() (*CopySource, bool) {
168174	return nil, false
168175}
168176
168177// AsBasicCopySource is the BasicCopySource implementation for SparkSource.
168178func (ss SparkSource) AsBasicCopySource() (BasicCopySource, bool) {
168179	return &ss, true
168180}
168181
168182// UnmarshalJSON is the custom unmarshaler for SparkSource struct.
168183func (ss *SparkSource) UnmarshalJSON(body []byte) error {
168184	var m map[string]*json.RawMessage
168185	err := json.Unmarshal(body, &m)
168186	if err != nil {
168187		return err
168188	}
168189	for k, v := range m {
168190		switch k {
168191		case "query":
168192			if v != nil {
168193				var query interface{}
168194				err = json.Unmarshal(*v, &query)
168195				if err != nil {
168196					return err
168197				}
168198				ss.Query = query
168199			}
168200		default:
168201			if v != nil {
168202				var additionalProperties interface{}
168203				err = json.Unmarshal(*v, &additionalProperties)
168204				if err != nil {
168205					return err
168206				}
168207				if ss.AdditionalProperties == nil {
168208					ss.AdditionalProperties = make(map[string]interface{})
168209				}
168210				ss.AdditionalProperties[k] = additionalProperties
168211			}
168212		case "sourceRetryCount":
168213			if v != nil {
168214				var sourceRetryCount interface{}
168215				err = json.Unmarshal(*v, &sourceRetryCount)
168216				if err != nil {
168217					return err
168218				}
168219				ss.SourceRetryCount = sourceRetryCount
168220			}
168221		case "sourceRetryWait":
168222			if v != nil {
168223				var sourceRetryWait interface{}
168224				err = json.Unmarshal(*v, &sourceRetryWait)
168225				if err != nil {
168226					return err
168227				}
168228				ss.SourceRetryWait = sourceRetryWait
168229			}
168230		case "maxConcurrentConnections":
168231			if v != nil {
168232				var maxConcurrentConnections interface{}
168233				err = json.Unmarshal(*v, &maxConcurrentConnections)
168234				if err != nil {
168235					return err
168236				}
168237				ss.MaxConcurrentConnections = maxConcurrentConnections
168238			}
168239		case "type":
168240			if v != nil {
168241				var typeVar TypeBasicCopySource
168242				err = json.Unmarshal(*v, &typeVar)
168243				if err != nil {
168244					return err
168245				}
168246				ss.Type = typeVar
168247			}
168248		}
168249	}
168250
168251	return nil
168252}
168253
168254// SQLDWSink a copy activity SQL Data Warehouse sink.
168255type SQLDWSink struct {
168256	// PreCopyScript - SQL pre-copy script. Type: string (or Expression with resultType string).
168257	PreCopyScript interface{} `json:"preCopyScript,omitempty"`
168258	// AllowPolyBase - Indicates to use PolyBase to copy data into SQL Data Warehouse when applicable. Type: boolean (or Expression with resultType boolean).
168259	AllowPolyBase interface{} `json:"allowPolyBase,omitempty"`
168260	// PolyBaseSettings - Specifies PolyBase-related settings when allowPolyBase is true.
168261	PolyBaseSettings *PolybaseSettings `json:"polyBaseSettings,omitempty"`
168262	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
168263	AdditionalProperties map[string]interface{} `json:""`
168264	// WriteBatchSize - Write batch size. Type: integer (or Expression with resultType integer), minimum: 0.
168265	WriteBatchSize interface{} `json:"writeBatchSize,omitempty"`
168266	// 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])).
168267	WriteBatchTimeout interface{} `json:"writeBatchTimeout,omitempty"`
168268	// SinkRetryCount - Sink retry count. Type: integer (or Expression with resultType integer).
168269	SinkRetryCount interface{} `json:"sinkRetryCount,omitempty"`
168270	// 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])).
168271	SinkRetryWait interface{} `json:"sinkRetryWait,omitempty"`
168272	// MaxConcurrentConnections - The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer).
168273	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
168274	// Type - Possible values include: 'TypeCopySink', 'TypeCosmosDbMongoDbAPISink', 'TypeSalesforceServiceCloudSink', 'TypeSalesforceSink', 'TypeAzureDataExplorerSink', 'TypeCommonDataServiceForAppsSink', 'TypeDynamicsCrmSink', 'TypeDynamicsSink', 'TypeMicrosoftAccessSink', 'TypeInformixSink', 'TypeOdbcSink', 'TypeAzureSearchIndexSink', 'TypeAzureBlobFSSink', 'TypeAzureDataLakeStoreSink', 'TypeOracleSink', 'TypeSQLDWSink', 'TypeSQLMISink', 'TypeAzureSQLSink', 'TypeSQLServerSink', 'TypeSQLSink', 'TypeDocumentDbCollectionSink', 'TypeFileSystemSink', 'TypeBlobSink', 'TypeBinarySink', 'TypeParquetSink', 'TypeAzureTableSink', 'TypeAzureQueueSink', 'TypeSapCloudForCustomerSink', 'TypeAzurePostgreSQLSink', 'TypeDelimitedTextSink'
168275	Type TypeBasicCopySink `json:"type,omitempty"`
168276}
168277
168278// MarshalJSON is the custom marshaler for SQLDWSink.
168279func (sds SQLDWSink) MarshalJSON() ([]byte, error) {
168280	sds.Type = TypeSQLDWSink
168281	objectMap := make(map[string]interface{})
168282	if sds.PreCopyScript != nil {
168283		objectMap["preCopyScript"] = sds.PreCopyScript
168284	}
168285	if sds.AllowPolyBase != nil {
168286		objectMap["allowPolyBase"] = sds.AllowPolyBase
168287	}
168288	if sds.PolyBaseSettings != nil {
168289		objectMap["polyBaseSettings"] = sds.PolyBaseSettings
168290	}
168291	if sds.WriteBatchSize != nil {
168292		objectMap["writeBatchSize"] = sds.WriteBatchSize
168293	}
168294	if sds.WriteBatchTimeout != nil {
168295		objectMap["writeBatchTimeout"] = sds.WriteBatchTimeout
168296	}
168297	if sds.SinkRetryCount != nil {
168298		objectMap["sinkRetryCount"] = sds.SinkRetryCount
168299	}
168300	if sds.SinkRetryWait != nil {
168301		objectMap["sinkRetryWait"] = sds.SinkRetryWait
168302	}
168303	if sds.MaxConcurrentConnections != nil {
168304		objectMap["maxConcurrentConnections"] = sds.MaxConcurrentConnections
168305	}
168306	if sds.Type != "" {
168307		objectMap["type"] = sds.Type
168308	}
168309	for k, v := range sds.AdditionalProperties {
168310		objectMap[k] = v
168311	}
168312	return json.Marshal(objectMap)
168313}
168314
168315// AsCosmosDbMongoDbAPISink is the BasicCopySink implementation for SQLDWSink.
168316func (sds SQLDWSink) AsCosmosDbMongoDbAPISink() (*CosmosDbMongoDbAPISink, bool) {
168317	return nil, false
168318}
168319
168320// AsSalesforceServiceCloudSink is the BasicCopySink implementation for SQLDWSink.
168321func (sds SQLDWSink) AsSalesforceServiceCloudSink() (*SalesforceServiceCloudSink, bool) {
168322	return nil, false
168323}
168324
168325// AsSalesforceSink is the BasicCopySink implementation for SQLDWSink.
168326func (sds SQLDWSink) AsSalesforceSink() (*SalesforceSink, bool) {
168327	return nil, false
168328}
168329
168330// AsAzureDataExplorerSink is the BasicCopySink implementation for SQLDWSink.
168331func (sds SQLDWSink) AsAzureDataExplorerSink() (*AzureDataExplorerSink, bool) {
168332	return nil, false
168333}
168334
168335// AsCommonDataServiceForAppsSink is the BasicCopySink implementation for SQLDWSink.
168336func (sds SQLDWSink) AsCommonDataServiceForAppsSink() (*CommonDataServiceForAppsSink, bool) {
168337	return nil, false
168338}
168339
168340// AsDynamicsCrmSink is the BasicCopySink implementation for SQLDWSink.
168341func (sds SQLDWSink) AsDynamicsCrmSink() (*DynamicsCrmSink, bool) {
168342	return nil, false
168343}
168344
168345// AsDynamicsSink is the BasicCopySink implementation for SQLDWSink.
168346func (sds SQLDWSink) AsDynamicsSink() (*DynamicsSink, bool) {
168347	return nil, false
168348}
168349
168350// AsMicrosoftAccessSink is the BasicCopySink implementation for SQLDWSink.
168351func (sds SQLDWSink) AsMicrosoftAccessSink() (*MicrosoftAccessSink, bool) {
168352	return nil, false
168353}
168354
168355// AsInformixSink is the BasicCopySink implementation for SQLDWSink.
168356func (sds SQLDWSink) AsInformixSink() (*InformixSink, bool) {
168357	return nil, false
168358}
168359
168360// AsOdbcSink is the BasicCopySink implementation for SQLDWSink.
168361func (sds SQLDWSink) AsOdbcSink() (*OdbcSink, bool) {
168362	return nil, false
168363}
168364
168365// AsAzureSearchIndexSink is the BasicCopySink implementation for SQLDWSink.
168366func (sds SQLDWSink) AsAzureSearchIndexSink() (*AzureSearchIndexSink, bool) {
168367	return nil, false
168368}
168369
168370// AsAzureBlobFSSink is the BasicCopySink implementation for SQLDWSink.
168371func (sds SQLDWSink) AsAzureBlobFSSink() (*AzureBlobFSSink, bool) {
168372	return nil, false
168373}
168374
168375// AsAzureDataLakeStoreSink is the BasicCopySink implementation for SQLDWSink.
168376func (sds SQLDWSink) AsAzureDataLakeStoreSink() (*AzureDataLakeStoreSink, bool) {
168377	return nil, false
168378}
168379
168380// AsOracleSink is the BasicCopySink implementation for SQLDWSink.
168381func (sds SQLDWSink) AsOracleSink() (*OracleSink, bool) {
168382	return nil, false
168383}
168384
168385// AsSQLDWSink is the BasicCopySink implementation for SQLDWSink.
168386func (sds SQLDWSink) AsSQLDWSink() (*SQLDWSink, bool) {
168387	return &sds, true
168388}
168389
168390// AsSQLMISink is the BasicCopySink implementation for SQLDWSink.
168391func (sds SQLDWSink) AsSQLMISink() (*SQLMISink, bool) {
168392	return nil, false
168393}
168394
168395// AsAzureSQLSink is the BasicCopySink implementation for SQLDWSink.
168396func (sds SQLDWSink) AsAzureSQLSink() (*AzureSQLSink, bool) {
168397	return nil, false
168398}
168399
168400// AsSQLServerSink is the BasicCopySink implementation for SQLDWSink.
168401func (sds SQLDWSink) AsSQLServerSink() (*SQLServerSink, bool) {
168402	return nil, false
168403}
168404
168405// AsSQLSink is the BasicCopySink implementation for SQLDWSink.
168406func (sds SQLDWSink) AsSQLSink() (*SQLSink, bool) {
168407	return nil, false
168408}
168409
168410// AsDocumentDbCollectionSink is the BasicCopySink implementation for SQLDWSink.
168411func (sds SQLDWSink) AsDocumentDbCollectionSink() (*DocumentDbCollectionSink, bool) {
168412	return nil, false
168413}
168414
168415// AsFileSystemSink is the BasicCopySink implementation for SQLDWSink.
168416func (sds SQLDWSink) AsFileSystemSink() (*FileSystemSink, bool) {
168417	return nil, false
168418}
168419
168420// AsBlobSink is the BasicCopySink implementation for SQLDWSink.
168421func (sds SQLDWSink) AsBlobSink() (*BlobSink, bool) {
168422	return nil, false
168423}
168424
168425// AsBinarySink is the BasicCopySink implementation for SQLDWSink.
168426func (sds SQLDWSink) AsBinarySink() (*BinarySink, bool) {
168427	return nil, false
168428}
168429
168430// AsParquetSink is the BasicCopySink implementation for SQLDWSink.
168431func (sds SQLDWSink) AsParquetSink() (*ParquetSink, bool) {
168432	return nil, false
168433}
168434
168435// AsAzureTableSink is the BasicCopySink implementation for SQLDWSink.
168436func (sds SQLDWSink) AsAzureTableSink() (*AzureTableSink, bool) {
168437	return nil, false
168438}
168439
168440// AsAzureQueueSink is the BasicCopySink implementation for SQLDWSink.
168441func (sds SQLDWSink) AsAzureQueueSink() (*AzureQueueSink, bool) {
168442	return nil, false
168443}
168444
168445// AsSapCloudForCustomerSink is the BasicCopySink implementation for SQLDWSink.
168446func (sds SQLDWSink) AsSapCloudForCustomerSink() (*SapCloudForCustomerSink, bool) {
168447	return nil, false
168448}
168449
168450// AsAzurePostgreSQLSink is the BasicCopySink implementation for SQLDWSink.
168451func (sds SQLDWSink) AsAzurePostgreSQLSink() (*AzurePostgreSQLSink, bool) {
168452	return nil, false
168453}
168454
168455// AsDelimitedTextSink is the BasicCopySink implementation for SQLDWSink.
168456func (sds SQLDWSink) AsDelimitedTextSink() (*DelimitedTextSink, bool) {
168457	return nil, false
168458}
168459
168460// AsCopySink is the BasicCopySink implementation for SQLDWSink.
168461func (sds SQLDWSink) AsCopySink() (*CopySink, bool) {
168462	return nil, false
168463}
168464
168465// AsBasicCopySink is the BasicCopySink implementation for SQLDWSink.
168466func (sds SQLDWSink) AsBasicCopySink() (BasicCopySink, bool) {
168467	return &sds, true
168468}
168469
168470// UnmarshalJSON is the custom unmarshaler for SQLDWSink struct.
168471func (sds *SQLDWSink) UnmarshalJSON(body []byte) error {
168472	var m map[string]*json.RawMessage
168473	err := json.Unmarshal(body, &m)
168474	if err != nil {
168475		return err
168476	}
168477	for k, v := range m {
168478		switch k {
168479		case "preCopyScript":
168480			if v != nil {
168481				var preCopyScript interface{}
168482				err = json.Unmarshal(*v, &preCopyScript)
168483				if err != nil {
168484					return err
168485				}
168486				sds.PreCopyScript = preCopyScript
168487			}
168488		case "allowPolyBase":
168489			if v != nil {
168490				var allowPolyBase interface{}
168491				err = json.Unmarshal(*v, &allowPolyBase)
168492				if err != nil {
168493					return err
168494				}
168495				sds.AllowPolyBase = allowPolyBase
168496			}
168497		case "polyBaseSettings":
168498			if v != nil {
168499				var polyBaseSettings PolybaseSettings
168500				err = json.Unmarshal(*v, &polyBaseSettings)
168501				if err != nil {
168502					return err
168503				}
168504				sds.PolyBaseSettings = &polyBaseSettings
168505			}
168506		default:
168507			if v != nil {
168508				var additionalProperties interface{}
168509				err = json.Unmarshal(*v, &additionalProperties)
168510				if err != nil {
168511					return err
168512				}
168513				if sds.AdditionalProperties == nil {
168514					sds.AdditionalProperties = make(map[string]interface{})
168515				}
168516				sds.AdditionalProperties[k] = additionalProperties
168517			}
168518		case "writeBatchSize":
168519			if v != nil {
168520				var writeBatchSize interface{}
168521				err = json.Unmarshal(*v, &writeBatchSize)
168522				if err != nil {
168523					return err
168524				}
168525				sds.WriteBatchSize = writeBatchSize
168526			}
168527		case "writeBatchTimeout":
168528			if v != nil {
168529				var writeBatchTimeout interface{}
168530				err = json.Unmarshal(*v, &writeBatchTimeout)
168531				if err != nil {
168532					return err
168533				}
168534				sds.WriteBatchTimeout = writeBatchTimeout
168535			}
168536		case "sinkRetryCount":
168537			if v != nil {
168538				var sinkRetryCount interface{}
168539				err = json.Unmarshal(*v, &sinkRetryCount)
168540				if err != nil {
168541					return err
168542				}
168543				sds.SinkRetryCount = sinkRetryCount
168544			}
168545		case "sinkRetryWait":
168546			if v != nil {
168547				var sinkRetryWait interface{}
168548				err = json.Unmarshal(*v, &sinkRetryWait)
168549				if err != nil {
168550					return err
168551				}
168552				sds.SinkRetryWait = sinkRetryWait
168553			}
168554		case "maxConcurrentConnections":
168555			if v != nil {
168556				var maxConcurrentConnections interface{}
168557				err = json.Unmarshal(*v, &maxConcurrentConnections)
168558				if err != nil {
168559					return err
168560				}
168561				sds.MaxConcurrentConnections = maxConcurrentConnections
168562			}
168563		case "type":
168564			if v != nil {
168565				var typeVar TypeBasicCopySink
168566				err = json.Unmarshal(*v, &typeVar)
168567				if err != nil {
168568					return err
168569				}
168570				sds.Type = typeVar
168571			}
168572		}
168573	}
168574
168575	return nil
168576}
168577
168578// SQLDWSource a copy activity SQL Data Warehouse source.
168579type SQLDWSource struct {
168580	// SQLReaderQuery - SQL Data Warehouse reader query. Type: string (or Expression with resultType string).
168581	SQLReaderQuery interface{} `json:"sqlReaderQuery,omitempty"`
168582	// 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).
168583	SQLReaderStoredProcedureName interface{} `json:"sqlReaderStoredProcedureName,omitempty"`
168584	// StoredProcedureParameters - Value and type setting for stored procedure parameters. Example: "{Parameter1: {value: "1", type: "int"}}". Type: object (or Expression with resultType object), itemType: StoredProcedureParameter.
168585	StoredProcedureParameters interface{} `json:"storedProcedureParameters,omitempty"`
168586	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
168587	AdditionalProperties map[string]interface{} `json:""`
168588	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
168589	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
168590	// 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])).
168591	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
168592	// MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer).
168593	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
168594	// Type - Possible values include: 'TypeCopySource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', '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', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeCassandraSource', 'TypeWebSource', 'TypeTeradataSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeAzureMySQLSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeRestSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceServiceCloudSource', 'TypeSalesforceSource', 'TypeODataSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeMicrosoftAccessSource', 'TypeInformixSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAzureTableSource', 'TypeBinarySource', 'TypeDelimitedTextSource', 'TypeParquetSource'
168595	Type TypeBasicCopySource `json:"type,omitempty"`
168596}
168597
168598// MarshalJSON is the custom marshaler for SQLDWSource.
168599func (sds SQLDWSource) MarshalJSON() ([]byte, error) {
168600	sds.Type = TypeSQLDWSource
168601	objectMap := make(map[string]interface{})
168602	if sds.SQLReaderQuery != nil {
168603		objectMap["sqlReaderQuery"] = sds.SQLReaderQuery
168604	}
168605	if sds.SQLReaderStoredProcedureName != nil {
168606		objectMap["sqlReaderStoredProcedureName"] = sds.SQLReaderStoredProcedureName
168607	}
168608	if sds.StoredProcedureParameters != nil {
168609		objectMap["storedProcedureParameters"] = sds.StoredProcedureParameters
168610	}
168611	if sds.SourceRetryCount != nil {
168612		objectMap["sourceRetryCount"] = sds.SourceRetryCount
168613	}
168614	if sds.SourceRetryWait != nil {
168615		objectMap["sourceRetryWait"] = sds.SourceRetryWait
168616	}
168617	if sds.MaxConcurrentConnections != nil {
168618		objectMap["maxConcurrentConnections"] = sds.MaxConcurrentConnections
168619	}
168620	if sds.Type != "" {
168621		objectMap["type"] = sds.Type
168622	}
168623	for k, v := range sds.AdditionalProperties {
168624		objectMap[k] = v
168625	}
168626	return json.Marshal(objectMap)
168627}
168628
168629// AsAmazonRedshiftSource is the BasicCopySource implementation for SQLDWSource.
168630func (sds SQLDWSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
168631	return nil, false
168632}
168633
168634// AsGoogleAdWordsSource is the BasicCopySource implementation for SQLDWSource.
168635func (sds SQLDWSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) {
168636	return nil, false
168637}
168638
168639// AsOracleServiceCloudSource is the BasicCopySource implementation for SQLDWSource.
168640func (sds SQLDWSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) {
168641	return nil, false
168642}
168643
168644// AsDynamicsAXSource is the BasicCopySource implementation for SQLDWSource.
168645func (sds SQLDWSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) {
168646	return nil, false
168647}
168648
168649// AsResponsysSource is the BasicCopySource implementation for SQLDWSource.
168650func (sds SQLDWSource) AsResponsysSource() (*ResponsysSource, bool) {
168651	return nil, false
168652}
168653
168654// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for SQLDWSource.
168655func (sds SQLDWSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
168656	return nil, false
168657}
168658
168659// AsVerticaSource is the BasicCopySource implementation for SQLDWSource.
168660func (sds SQLDWSource) AsVerticaSource() (*VerticaSource, bool) {
168661	return nil, false
168662}
168663
168664// AsNetezzaSource is the BasicCopySource implementation for SQLDWSource.
168665func (sds SQLDWSource) AsNetezzaSource() (*NetezzaSource, bool) {
168666	return nil, false
168667}
168668
168669// AsZohoSource is the BasicCopySource implementation for SQLDWSource.
168670func (sds SQLDWSource) AsZohoSource() (*ZohoSource, bool) {
168671	return nil, false
168672}
168673
168674// AsXeroSource is the BasicCopySource implementation for SQLDWSource.
168675func (sds SQLDWSource) AsXeroSource() (*XeroSource, bool) {
168676	return nil, false
168677}
168678
168679// AsSquareSource is the BasicCopySource implementation for SQLDWSource.
168680func (sds SQLDWSource) AsSquareSource() (*SquareSource, bool) {
168681	return nil, false
168682}
168683
168684// AsSparkSource is the BasicCopySource implementation for SQLDWSource.
168685func (sds SQLDWSource) AsSparkSource() (*SparkSource, bool) {
168686	return nil, false
168687}
168688
168689// AsShopifySource is the BasicCopySource implementation for SQLDWSource.
168690func (sds SQLDWSource) AsShopifySource() (*ShopifySource, bool) {
168691	return nil, false
168692}
168693
168694// AsServiceNowSource is the BasicCopySource implementation for SQLDWSource.
168695func (sds SQLDWSource) AsServiceNowSource() (*ServiceNowSource, bool) {
168696	return nil, false
168697}
168698
168699// AsQuickBooksSource is the BasicCopySource implementation for SQLDWSource.
168700func (sds SQLDWSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
168701	return nil, false
168702}
168703
168704// AsPrestoSource is the BasicCopySource implementation for SQLDWSource.
168705func (sds SQLDWSource) AsPrestoSource() (*PrestoSource, bool) {
168706	return nil, false
168707}
168708
168709// AsPhoenixSource is the BasicCopySource implementation for SQLDWSource.
168710func (sds SQLDWSource) AsPhoenixSource() (*PhoenixSource, bool) {
168711	return nil, false
168712}
168713
168714// AsPaypalSource is the BasicCopySource implementation for SQLDWSource.
168715func (sds SQLDWSource) AsPaypalSource() (*PaypalSource, bool) {
168716	return nil, false
168717}
168718
168719// AsMarketoSource is the BasicCopySource implementation for SQLDWSource.
168720func (sds SQLDWSource) AsMarketoSource() (*MarketoSource, bool) {
168721	return nil, false
168722}
168723
168724// AsMariaDBSource is the BasicCopySource implementation for SQLDWSource.
168725func (sds SQLDWSource) AsMariaDBSource() (*MariaDBSource, bool) {
168726	return nil, false
168727}
168728
168729// AsMagentoSource is the BasicCopySource implementation for SQLDWSource.
168730func (sds SQLDWSource) AsMagentoSource() (*MagentoSource, bool) {
168731	return nil, false
168732}
168733
168734// AsJiraSource is the BasicCopySource implementation for SQLDWSource.
168735func (sds SQLDWSource) AsJiraSource() (*JiraSource, bool) {
168736	return nil, false
168737}
168738
168739// AsImpalaSource is the BasicCopySource implementation for SQLDWSource.
168740func (sds SQLDWSource) AsImpalaSource() (*ImpalaSource, bool) {
168741	return nil, false
168742}
168743
168744// AsHubspotSource is the BasicCopySource implementation for SQLDWSource.
168745func (sds SQLDWSource) AsHubspotSource() (*HubspotSource, bool) {
168746	return nil, false
168747}
168748
168749// AsHiveSource is the BasicCopySource implementation for SQLDWSource.
168750func (sds SQLDWSource) AsHiveSource() (*HiveSource, bool) {
168751	return nil, false
168752}
168753
168754// AsHBaseSource is the BasicCopySource implementation for SQLDWSource.
168755func (sds SQLDWSource) AsHBaseSource() (*HBaseSource, bool) {
168756	return nil, false
168757}
168758
168759// AsGreenplumSource is the BasicCopySource implementation for SQLDWSource.
168760func (sds SQLDWSource) AsGreenplumSource() (*GreenplumSource, bool) {
168761	return nil, false
168762}
168763
168764// AsGoogleBigQuerySource is the BasicCopySource implementation for SQLDWSource.
168765func (sds SQLDWSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
168766	return nil, false
168767}
168768
168769// AsEloquaSource is the BasicCopySource implementation for SQLDWSource.
168770func (sds SQLDWSource) AsEloquaSource() (*EloquaSource, bool) {
168771	return nil, false
168772}
168773
168774// AsDrillSource is the BasicCopySource implementation for SQLDWSource.
168775func (sds SQLDWSource) AsDrillSource() (*DrillSource, bool) {
168776	return nil, false
168777}
168778
168779// AsCouchbaseSource is the BasicCopySource implementation for SQLDWSource.
168780func (sds SQLDWSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
168781	return nil, false
168782}
168783
168784// AsConcurSource is the BasicCopySource implementation for SQLDWSource.
168785func (sds SQLDWSource) AsConcurSource() (*ConcurSource, bool) {
168786	return nil, false
168787}
168788
168789// AsAzurePostgreSQLSource is the BasicCopySource implementation for SQLDWSource.
168790func (sds SQLDWSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
168791	return nil, false
168792}
168793
168794// AsAmazonMWSSource is the BasicCopySource implementation for SQLDWSource.
168795func (sds SQLDWSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
168796	return nil, false
168797}
168798
168799// AsHTTPSource is the BasicCopySource implementation for SQLDWSource.
168800func (sds SQLDWSource) AsHTTPSource() (*HTTPSource, bool) {
168801	return nil, false
168802}
168803
168804// AsAzureBlobFSSource is the BasicCopySource implementation for SQLDWSource.
168805func (sds SQLDWSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) {
168806	return nil, false
168807}
168808
168809// AsAzureDataLakeStoreSource is the BasicCopySource implementation for SQLDWSource.
168810func (sds SQLDWSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
168811	return nil, false
168812}
168813
168814// AsOffice365Source is the BasicCopySource implementation for SQLDWSource.
168815func (sds SQLDWSource) AsOffice365Source() (*Office365Source, bool) {
168816	return nil, false
168817}
168818
168819// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for SQLDWSource.
168820func (sds SQLDWSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) {
168821	return nil, false
168822}
168823
168824// AsMongoDbV2Source is the BasicCopySource implementation for SQLDWSource.
168825func (sds SQLDWSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) {
168826	return nil, false
168827}
168828
168829// AsMongoDbSource is the BasicCopySource implementation for SQLDWSource.
168830func (sds SQLDWSource) AsMongoDbSource() (*MongoDbSource, bool) {
168831	return nil, false
168832}
168833
168834// AsCassandraSource is the BasicCopySource implementation for SQLDWSource.
168835func (sds SQLDWSource) AsCassandraSource() (*CassandraSource, bool) {
168836	return nil, false
168837}
168838
168839// AsWebSource is the BasicCopySource implementation for SQLDWSource.
168840func (sds SQLDWSource) AsWebSource() (*WebSource, bool) {
168841	return nil, false
168842}
168843
168844// AsTeradataSource is the BasicCopySource implementation for SQLDWSource.
168845func (sds SQLDWSource) AsTeradataSource() (*TeradataSource, bool) {
168846	return nil, false
168847}
168848
168849// AsOracleSource is the BasicCopySource implementation for SQLDWSource.
168850func (sds SQLDWSource) AsOracleSource() (*OracleSource, bool) {
168851	return nil, false
168852}
168853
168854// AsAzureDataExplorerSource is the BasicCopySource implementation for SQLDWSource.
168855func (sds SQLDWSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) {
168856	return nil, false
168857}
168858
168859// AsAzureMySQLSource is the BasicCopySource implementation for SQLDWSource.
168860func (sds SQLDWSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
168861	return nil, false
168862}
168863
168864// AsHdfsSource is the BasicCopySource implementation for SQLDWSource.
168865func (sds SQLDWSource) AsHdfsSource() (*HdfsSource, bool) {
168866	return nil, false
168867}
168868
168869// AsFileSystemSource is the BasicCopySource implementation for SQLDWSource.
168870func (sds SQLDWSource) AsFileSystemSource() (*FileSystemSource, bool) {
168871	return nil, false
168872}
168873
168874// AsSQLDWSource is the BasicCopySource implementation for SQLDWSource.
168875func (sds SQLDWSource) AsSQLDWSource() (*SQLDWSource, bool) {
168876	return &sds, true
168877}
168878
168879// AsSQLMISource is the BasicCopySource implementation for SQLDWSource.
168880func (sds SQLDWSource) AsSQLMISource() (*SQLMISource, bool) {
168881	return nil, false
168882}
168883
168884// AsAzureSQLSource is the BasicCopySource implementation for SQLDWSource.
168885func (sds SQLDWSource) AsAzureSQLSource() (*AzureSQLSource, bool) {
168886	return nil, false
168887}
168888
168889// AsSQLServerSource is the BasicCopySource implementation for SQLDWSource.
168890func (sds SQLDWSource) AsSQLServerSource() (*SQLServerSource, bool) {
168891	return nil, false
168892}
168893
168894// AsSQLSource is the BasicCopySource implementation for SQLDWSource.
168895func (sds SQLDWSource) AsSQLSource() (*SQLSource, bool) {
168896	return nil, false
168897}
168898
168899// AsRestSource is the BasicCopySource implementation for SQLDWSource.
168900func (sds SQLDWSource) AsRestSource() (*RestSource, bool) {
168901	return nil, false
168902}
168903
168904// AsSapTableSource is the BasicCopySource implementation for SQLDWSource.
168905func (sds SQLDWSource) AsSapTableSource() (*SapTableSource, bool) {
168906	return nil, false
168907}
168908
168909// AsSapOpenHubSource is the BasicCopySource implementation for SQLDWSource.
168910func (sds SQLDWSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) {
168911	return nil, false
168912}
168913
168914// AsSapHanaSource is the BasicCopySource implementation for SQLDWSource.
168915func (sds SQLDWSource) AsSapHanaSource() (*SapHanaSource, bool) {
168916	return nil, false
168917}
168918
168919// AsSapEccSource is the BasicCopySource implementation for SQLDWSource.
168920func (sds SQLDWSource) AsSapEccSource() (*SapEccSource, bool) {
168921	return nil, false
168922}
168923
168924// AsSapCloudForCustomerSource is the BasicCopySource implementation for SQLDWSource.
168925func (sds SQLDWSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
168926	return nil, false
168927}
168928
168929// AsSalesforceServiceCloudSource is the BasicCopySource implementation for SQLDWSource.
168930func (sds SQLDWSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) {
168931	return nil, false
168932}
168933
168934// AsSalesforceSource is the BasicCopySource implementation for SQLDWSource.
168935func (sds SQLDWSource) AsSalesforceSource() (*SalesforceSource, bool) {
168936	return nil, false
168937}
168938
168939// AsODataSource is the BasicCopySource implementation for SQLDWSource.
168940func (sds SQLDWSource) AsODataSource() (*ODataSource, bool) {
168941	return nil, false
168942}
168943
168944// AsSybaseSource is the BasicCopySource implementation for SQLDWSource.
168945func (sds SQLDWSource) AsSybaseSource() (*SybaseSource, bool) {
168946	return nil, false
168947}
168948
168949// AsPostgreSQLSource is the BasicCopySource implementation for SQLDWSource.
168950func (sds SQLDWSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) {
168951	return nil, false
168952}
168953
168954// AsMySQLSource is the BasicCopySource implementation for SQLDWSource.
168955func (sds SQLDWSource) AsMySQLSource() (*MySQLSource, bool) {
168956	return nil, false
168957}
168958
168959// AsOdbcSource is the BasicCopySource implementation for SQLDWSource.
168960func (sds SQLDWSource) AsOdbcSource() (*OdbcSource, bool) {
168961	return nil, false
168962}
168963
168964// AsDb2Source is the BasicCopySource implementation for SQLDWSource.
168965func (sds SQLDWSource) AsDb2Source() (*Db2Source, bool) {
168966	return nil, false
168967}
168968
168969// AsMicrosoftAccessSource is the BasicCopySource implementation for SQLDWSource.
168970func (sds SQLDWSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) {
168971	return nil, false
168972}
168973
168974// AsInformixSource is the BasicCopySource implementation for SQLDWSource.
168975func (sds SQLDWSource) AsInformixSource() (*InformixSource, bool) {
168976	return nil, false
168977}
168978
168979// AsRelationalSource is the BasicCopySource implementation for SQLDWSource.
168980func (sds SQLDWSource) AsRelationalSource() (*RelationalSource, bool) {
168981	return nil, false
168982}
168983
168984// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for SQLDWSource.
168985func (sds SQLDWSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) {
168986	return nil, false
168987}
168988
168989// AsDynamicsCrmSource is the BasicCopySource implementation for SQLDWSource.
168990func (sds SQLDWSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) {
168991	return nil, false
168992}
168993
168994// AsDynamicsSource is the BasicCopySource implementation for SQLDWSource.
168995func (sds SQLDWSource) AsDynamicsSource() (*DynamicsSource, bool) {
168996	return nil, false
168997}
168998
168999// AsDocumentDbCollectionSource is the BasicCopySource implementation for SQLDWSource.
169000func (sds SQLDWSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
169001	return nil, false
169002}
169003
169004// AsBlobSource is the BasicCopySource implementation for SQLDWSource.
169005func (sds SQLDWSource) AsBlobSource() (*BlobSource, bool) {
169006	return nil, false
169007}
169008
169009// AsAzureTableSource is the BasicCopySource implementation for SQLDWSource.
169010func (sds SQLDWSource) AsAzureTableSource() (*AzureTableSource, bool) {
169011	return nil, false
169012}
169013
169014// AsBinarySource is the BasicCopySource implementation for SQLDWSource.
169015func (sds SQLDWSource) AsBinarySource() (*BinarySource, bool) {
169016	return nil, false
169017}
169018
169019// AsDelimitedTextSource is the BasicCopySource implementation for SQLDWSource.
169020func (sds SQLDWSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) {
169021	return nil, false
169022}
169023
169024// AsParquetSource is the BasicCopySource implementation for SQLDWSource.
169025func (sds SQLDWSource) AsParquetSource() (*ParquetSource, bool) {
169026	return nil, false
169027}
169028
169029// AsCopySource is the BasicCopySource implementation for SQLDWSource.
169030func (sds SQLDWSource) AsCopySource() (*CopySource, bool) {
169031	return nil, false
169032}
169033
169034// AsBasicCopySource is the BasicCopySource implementation for SQLDWSource.
169035func (sds SQLDWSource) AsBasicCopySource() (BasicCopySource, bool) {
169036	return &sds, true
169037}
169038
169039// UnmarshalJSON is the custom unmarshaler for SQLDWSource struct.
169040func (sds *SQLDWSource) UnmarshalJSON(body []byte) error {
169041	var m map[string]*json.RawMessage
169042	err := json.Unmarshal(body, &m)
169043	if err != nil {
169044		return err
169045	}
169046	for k, v := range m {
169047		switch k {
169048		case "sqlReaderQuery":
169049			if v != nil {
169050				var SQLReaderQuery interface{}
169051				err = json.Unmarshal(*v, &SQLReaderQuery)
169052				if err != nil {
169053					return err
169054				}
169055				sds.SQLReaderQuery = SQLReaderQuery
169056			}
169057		case "sqlReaderStoredProcedureName":
169058			if v != nil {
169059				var SQLReaderStoredProcedureName interface{}
169060				err = json.Unmarshal(*v, &SQLReaderStoredProcedureName)
169061				if err != nil {
169062					return err
169063				}
169064				sds.SQLReaderStoredProcedureName = SQLReaderStoredProcedureName
169065			}
169066		case "storedProcedureParameters":
169067			if v != nil {
169068				var storedProcedureParameters interface{}
169069				err = json.Unmarshal(*v, &storedProcedureParameters)
169070				if err != nil {
169071					return err
169072				}
169073				sds.StoredProcedureParameters = storedProcedureParameters
169074			}
169075		default:
169076			if v != nil {
169077				var additionalProperties interface{}
169078				err = json.Unmarshal(*v, &additionalProperties)
169079				if err != nil {
169080					return err
169081				}
169082				if sds.AdditionalProperties == nil {
169083					sds.AdditionalProperties = make(map[string]interface{})
169084				}
169085				sds.AdditionalProperties[k] = additionalProperties
169086			}
169087		case "sourceRetryCount":
169088			if v != nil {
169089				var sourceRetryCount interface{}
169090				err = json.Unmarshal(*v, &sourceRetryCount)
169091				if err != nil {
169092					return err
169093				}
169094				sds.SourceRetryCount = sourceRetryCount
169095			}
169096		case "sourceRetryWait":
169097			if v != nil {
169098				var sourceRetryWait interface{}
169099				err = json.Unmarshal(*v, &sourceRetryWait)
169100				if err != nil {
169101					return err
169102				}
169103				sds.SourceRetryWait = sourceRetryWait
169104			}
169105		case "maxConcurrentConnections":
169106			if v != nil {
169107				var maxConcurrentConnections interface{}
169108				err = json.Unmarshal(*v, &maxConcurrentConnections)
169109				if err != nil {
169110					return err
169111				}
169112				sds.MaxConcurrentConnections = maxConcurrentConnections
169113			}
169114		case "type":
169115			if v != nil {
169116				var typeVar TypeBasicCopySource
169117				err = json.Unmarshal(*v, &typeVar)
169118				if err != nil {
169119					return err
169120				}
169121				sds.Type = typeVar
169122			}
169123		}
169124	}
169125
169126	return nil
169127}
169128
169129// SQLMISink a copy activity Azure SQL Managed Instance sink.
169130type SQLMISink struct {
169131	// SQLWriterStoredProcedureName - SQL writer stored procedure name. Type: string (or Expression with resultType string).
169132	SQLWriterStoredProcedureName interface{} `json:"sqlWriterStoredProcedureName,omitempty"`
169133	// SQLWriterTableType - SQL writer table type. Type: string (or Expression with resultType string).
169134	SQLWriterTableType interface{} `json:"sqlWriterTableType,omitempty"`
169135	// PreCopyScript - SQL pre-copy script. Type: string (or Expression with resultType string).
169136	PreCopyScript interface{} `json:"preCopyScript,omitempty"`
169137	// StoredProcedureParameters - SQL stored procedure parameters.
169138	StoredProcedureParameters map[string]*StoredProcedureParameter `json:"storedProcedureParameters"`
169139	// StoredProcedureTableTypeParameterName - The stored procedure parameter name of the table type. Type: string (or Expression with resultType string).
169140	StoredProcedureTableTypeParameterName interface{} `json:"storedProcedureTableTypeParameterName,omitempty"`
169141	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
169142	AdditionalProperties map[string]interface{} `json:""`
169143	// WriteBatchSize - Write batch size. Type: integer (or Expression with resultType integer), minimum: 0.
169144	WriteBatchSize interface{} `json:"writeBatchSize,omitempty"`
169145	// 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])).
169146	WriteBatchTimeout interface{} `json:"writeBatchTimeout,omitempty"`
169147	// SinkRetryCount - Sink retry count. Type: integer (or Expression with resultType integer).
169148	SinkRetryCount interface{} `json:"sinkRetryCount,omitempty"`
169149	// 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])).
169150	SinkRetryWait interface{} `json:"sinkRetryWait,omitempty"`
169151	// MaxConcurrentConnections - The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer).
169152	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
169153	// Type - Possible values include: 'TypeCopySink', 'TypeCosmosDbMongoDbAPISink', 'TypeSalesforceServiceCloudSink', 'TypeSalesforceSink', 'TypeAzureDataExplorerSink', 'TypeCommonDataServiceForAppsSink', 'TypeDynamicsCrmSink', 'TypeDynamicsSink', 'TypeMicrosoftAccessSink', 'TypeInformixSink', 'TypeOdbcSink', 'TypeAzureSearchIndexSink', 'TypeAzureBlobFSSink', 'TypeAzureDataLakeStoreSink', 'TypeOracleSink', 'TypeSQLDWSink', 'TypeSQLMISink', 'TypeAzureSQLSink', 'TypeSQLServerSink', 'TypeSQLSink', 'TypeDocumentDbCollectionSink', 'TypeFileSystemSink', 'TypeBlobSink', 'TypeBinarySink', 'TypeParquetSink', 'TypeAzureTableSink', 'TypeAzureQueueSink', 'TypeSapCloudForCustomerSink', 'TypeAzurePostgreSQLSink', 'TypeDelimitedTextSink'
169154	Type TypeBasicCopySink `json:"type,omitempty"`
169155}
169156
169157// MarshalJSON is the custom marshaler for SQLMISink.
169158func (sms SQLMISink) MarshalJSON() ([]byte, error) {
169159	sms.Type = TypeSQLMISink
169160	objectMap := make(map[string]interface{})
169161	if sms.SQLWriterStoredProcedureName != nil {
169162		objectMap["sqlWriterStoredProcedureName"] = sms.SQLWriterStoredProcedureName
169163	}
169164	if sms.SQLWriterTableType != nil {
169165		objectMap["sqlWriterTableType"] = sms.SQLWriterTableType
169166	}
169167	if sms.PreCopyScript != nil {
169168		objectMap["preCopyScript"] = sms.PreCopyScript
169169	}
169170	if sms.StoredProcedureParameters != nil {
169171		objectMap["storedProcedureParameters"] = sms.StoredProcedureParameters
169172	}
169173	if sms.StoredProcedureTableTypeParameterName != nil {
169174		objectMap["storedProcedureTableTypeParameterName"] = sms.StoredProcedureTableTypeParameterName
169175	}
169176	if sms.WriteBatchSize != nil {
169177		objectMap["writeBatchSize"] = sms.WriteBatchSize
169178	}
169179	if sms.WriteBatchTimeout != nil {
169180		objectMap["writeBatchTimeout"] = sms.WriteBatchTimeout
169181	}
169182	if sms.SinkRetryCount != nil {
169183		objectMap["sinkRetryCount"] = sms.SinkRetryCount
169184	}
169185	if sms.SinkRetryWait != nil {
169186		objectMap["sinkRetryWait"] = sms.SinkRetryWait
169187	}
169188	if sms.MaxConcurrentConnections != nil {
169189		objectMap["maxConcurrentConnections"] = sms.MaxConcurrentConnections
169190	}
169191	if sms.Type != "" {
169192		objectMap["type"] = sms.Type
169193	}
169194	for k, v := range sms.AdditionalProperties {
169195		objectMap[k] = v
169196	}
169197	return json.Marshal(objectMap)
169198}
169199
169200// AsCosmosDbMongoDbAPISink is the BasicCopySink implementation for SQLMISink.
169201func (sms SQLMISink) AsCosmosDbMongoDbAPISink() (*CosmosDbMongoDbAPISink, bool) {
169202	return nil, false
169203}
169204
169205// AsSalesforceServiceCloudSink is the BasicCopySink implementation for SQLMISink.
169206func (sms SQLMISink) AsSalesforceServiceCloudSink() (*SalesforceServiceCloudSink, bool) {
169207	return nil, false
169208}
169209
169210// AsSalesforceSink is the BasicCopySink implementation for SQLMISink.
169211func (sms SQLMISink) AsSalesforceSink() (*SalesforceSink, bool) {
169212	return nil, false
169213}
169214
169215// AsAzureDataExplorerSink is the BasicCopySink implementation for SQLMISink.
169216func (sms SQLMISink) AsAzureDataExplorerSink() (*AzureDataExplorerSink, bool) {
169217	return nil, false
169218}
169219
169220// AsCommonDataServiceForAppsSink is the BasicCopySink implementation for SQLMISink.
169221func (sms SQLMISink) AsCommonDataServiceForAppsSink() (*CommonDataServiceForAppsSink, bool) {
169222	return nil, false
169223}
169224
169225// AsDynamicsCrmSink is the BasicCopySink implementation for SQLMISink.
169226func (sms SQLMISink) AsDynamicsCrmSink() (*DynamicsCrmSink, bool) {
169227	return nil, false
169228}
169229
169230// AsDynamicsSink is the BasicCopySink implementation for SQLMISink.
169231func (sms SQLMISink) AsDynamicsSink() (*DynamicsSink, bool) {
169232	return nil, false
169233}
169234
169235// AsMicrosoftAccessSink is the BasicCopySink implementation for SQLMISink.
169236func (sms SQLMISink) AsMicrosoftAccessSink() (*MicrosoftAccessSink, bool) {
169237	return nil, false
169238}
169239
169240// AsInformixSink is the BasicCopySink implementation for SQLMISink.
169241func (sms SQLMISink) AsInformixSink() (*InformixSink, bool) {
169242	return nil, false
169243}
169244
169245// AsOdbcSink is the BasicCopySink implementation for SQLMISink.
169246func (sms SQLMISink) AsOdbcSink() (*OdbcSink, bool) {
169247	return nil, false
169248}
169249
169250// AsAzureSearchIndexSink is the BasicCopySink implementation for SQLMISink.
169251func (sms SQLMISink) AsAzureSearchIndexSink() (*AzureSearchIndexSink, bool) {
169252	return nil, false
169253}
169254
169255// AsAzureBlobFSSink is the BasicCopySink implementation for SQLMISink.
169256func (sms SQLMISink) AsAzureBlobFSSink() (*AzureBlobFSSink, bool) {
169257	return nil, false
169258}
169259
169260// AsAzureDataLakeStoreSink is the BasicCopySink implementation for SQLMISink.
169261func (sms SQLMISink) AsAzureDataLakeStoreSink() (*AzureDataLakeStoreSink, bool) {
169262	return nil, false
169263}
169264
169265// AsOracleSink is the BasicCopySink implementation for SQLMISink.
169266func (sms SQLMISink) AsOracleSink() (*OracleSink, bool) {
169267	return nil, false
169268}
169269
169270// AsSQLDWSink is the BasicCopySink implementation for SQLMISink.
169271func (sms SQLMISink) AsSQLDWSink() (*SQLDWSink, bool) {
169272	return nil, false
169273}
169274
169275// AsSQLMISink is the BasicCopySink implementation for SQLMISink.
169276func (sms SQLMISink) AsSQLMISink() (*SQLMISink, bool) {
169277	return &sms, true
169278}
169279
169280// AsAzureSQLSink is the BasicCopySink implementation for SQLMISink.
169281func (sms SQLMISink) AsAzureSQLSink() (*AzureSQLSink, bool) {
169282	return nil, false
169283}
169284
169285// AsSQLServerSink is the BasicCopySink implementation for SQLMISink.
169286func (sms SQLMISink) AsSQLServerSink() (*SQLServerSink, bool) {
169287	return nil, false
169288}
169289
169290// AsSQLSink is the BasicCopySink implementation for SQLMISink.
169291func (sms SQLMISink) AsSQLSink() (*SQLSink, bool) {
169292	return nil, false
169293}
169294
169295// AsDocumentDbCollectionSink is the BasicCopySink implementation for SQLMISink.
169296func (sms SQLMISink) AsDocumentDbCollectionSink() (*DocumentDbCollectionSink, bool) {
169297	return nil, false
169298}
169299
169300// AsFileSystemSink is the BasicCopySink implementation for SQLMISink.
169301func (sms SQLMISink) AsFileSystemSink() (*FileSystemSink, bool) {
169302	return nil, false
169303}
169304
169305// AsBlobSink is the BasicCopySink implementation for SQLMISink.
169306func (sms SQLMISink) AsBlobSink() (*BlobSink, bool) {
169307	return nil, false
169308}
169309
169310// AsBinarySink is the BasicCopySink implementation for SQLMISink.
169311func (sms SQLMISink) AsBinarySink() (*BinarySink, bool) {
169312	return nil, false
169313}
169314
169315// AsParquetSink is the BasicCopySink implementation for SQLMISink.
169316func (sms SQLMISink) AsParquetSink() (*ParquetSink, bool) {
169317	return nil, false
169318}
169319
169320// AsAzureTableSink is the BasicCopySink implementation for SQLMISink.
169321func (sms SQLMISink) AsAzureTableSink() (*AzureTableSink, bool) {
169322	return nil, false
169323}
169324
169325// AsAzureQueueSink is the BasicCopySink implementation for SQLMISink.
169326func (sms SQLMISink) AsAzureQueueSink() (*AzureQueueSink, bool) {
169327	return nil, false
169328}
169329
169330// AsSapCloudForCustomerSink is the BasicCopySink implementation for SQLMISink.
169331func (sms SQLMISink) AsSapCloudForCustomerSink() (*SapCloudForCustomerSink, bool) {
169332	return nil, false
169333}
169334
169335// AsAzurePostgreSQLSink is the BasicCopySink implementation for SQLMISink.
169336func (sms SQLMISink) AsAzurePostgreSQLSink() (*AzurePostgreSQLSink, bool) {
169337	return nil, false
169338}
169339
169340// AsDelimitedTextSink is the BasicCopySink implementation for SQLMISink.
169341func (sms SQLMISink) AsDelimitedTextSink() (*DelimitedTextSink, bool) {
169342	return nil, false
169343}
169344
169345// AsCopySink is the BasicCopySink implementation for SQLMISink.
169346func (sms SQLMISink) AsCopySink() (*CopySink, bool) {
169347	return nil, false
169348}
169349
169350// AsBasicCopySink is the BasicCopySink implementation for SQLMISink.
169351func (sms SQLMISink) AsBasicCopySink() (BasicCopySink, bool) {
169352	return &sms, true
169353}
169354
169355// UnmarshalJSON is the custom unmarshaler for SQLMISink struct.
169356func (sms *SQLMISink) UnmarshalJSON(body []byte) error {
169357	var m map[string]*json.RawMessage
169358	err := json.Unmarshal(body, &m)
169359	if err != nil {
169360		return err
169361	}
169362	for k, v := range m {
169363		switch k {
169364		case "sqlWriterStoredProcedureName":
169365			if v != nil {
169366				var SQLWriterStoredProcedureName interface{}
169367				err = json.Unmarshal(*v, &SQLWriterStoredProcedureName)
169368				if err != nil {
169369					return err
169370				}
169371				sms.SQLWriterStoredProcedureName = SQLWriterStoredProcedureName
169372			}
169373		case "sqlWriterTableType":
169374			if v != nil {
169375				var SQLWriterTableType interface{}
169376				err = json.Unmarshal(*v, &SQLWriterTableType)
169377				if err != nil {
169378					return err
169379				}
169380				sms.SQLWriterTableType = SQLWriterTableType
169381			}
169382		case "preCopyScript":
169383			if v != nil {
169384				var preCopyScript interface{}
169385				err = json.Unmarshal(*v, &preCopyScript)
169386				if err != nil {
169387					return err
169388				}
169389				sms.PreCopyScript = preCopyScript
169390			}
169391		case "storedProcedureParameters":
169392			if v != nil {
169393				var storedProcedureParameters map[string]*StoredProcedureParameter
169394				err = json.Unmarshal(*v, &storedProcedureParameters)
169395				if err != nil {
169396					return err
169397				}
169398				sms.StoredProcedureParameters = storedProcedureParameters
169399			}
169400		case "storedProcedureTableTypeParameterName":
169401			if v != nil {
169402				var storedProcedureTableTypeParameterName interface{}
169403				err = json.Unmarshal(*v, &storedProcedureTableTypeParameterName)
169404				if err != nil {
169405					return err
169406				}
169407				sms.StoredProcedureTableTypeParameterName = storedProcedureTableTypeParameterName
169408			}
169409		default:
169410			if v != nil {
169411				var additionalProperties interface{}
169412				err = json.Unmarshal(*v, &additionalProperties)
169413				if err != nil {
169414					return err
169415				}
169416				if sms.AdditionalProperties == nil {
169417					sms.AdditionalProperties = make(map[string]interface{})
169418				}
169419				sms.AdditionalProperties[k] = additionalProperties
169420			}
169421		case "writeBatchSize":
169422			if v != nil {
169423				var writeBatchSize interface{}
169424				err = json.Unmarshal(*v, &writeBatchSize)
169425				if err != nil {
169426					return err
169427				}
169428				sms.WriteBatchSize = writeBatchSize
169429			}
169430		case "writeBatchTimeout":
169431			if v != nil {
169432				var writeBatchTimeout interface{}
169433				err = json.Unmarshal(*v, &writeBatchTimeout)
169434				if err != nil {
169435					return err
169436				}
169437				sms.WriteBatchTimeout = writeBatchTimeout
169438			}
169439		case "sinkRetryCount":
169440			if v != nil {
169441				var sinkRetryCount interface{}
169442				err = json.Unmarshal(*v, &sinkRetryCount)
169443				if err != nil {
169444					return err
169445				}
169446				sms.SinkRetryCount = sinkRetryCount
169447			}
169448		case "sinkRetryWait":
169449			if v != nil {
169450				var sinkRetryWait interface{}
169451				err = json.Unmarshal(*v, &sinkRetryWait)
169452				if err != nil {
169453					return err
169454				}
169455				sms.SinkRetryWait = sinkRetryWait
169456			}
169457		case "maxConcurrentConnections":
169458			if v != nil {
169459				var maxConcurrentConnections interface{}
169460				err = json.Unmarshal(*v, &maxConcurrentConnections)
169461				if err != nil {
169462					return err
169463				}
169464				sms.MaxConcurrentConnections = maxConcurrentConnections
169465			}
169466		case "type":
169467			if v != nil {
169468				var typeVar TypeBasicCopySink
169469				err = json.Unmarshal(*v, &typeVar)
169470				if err != nil {
169471					return err
169472				}
169473				sms.Type = typeVar
169474			}
169475		}
169476	}
169477
169478	return nil
169479}
169480
169481// SQLMISource a copy activity Azure SQL Managed Instance source.
169482type SQLMISource struct {
169483	// SQLReaderQuery - SQL reader query. Type: string (or Expression with resultType string).
169484	SQLReaderQuery interface{} `json:"sqlReaderQuery,omitempty"`
169485	// SQLReaderStoredProcedureName - Name of the stored procedure for a Azure SQL Managed Instance source. This cannot be used at the same time as SqlReaderQuery. Type: string (or Expression with resultType string).
169486	SQLReaderStoredProcedureName interface{} `json:"sqlReaderStoredProcedureName,omitempty"`
169487	// StoredProcedureParameters - Value and type setting for stored procedure parameters. Example: "{Parameter1: {value: "1", type: "int"}}".
169488	StoredProcedureParameters map[string]*StoredProcedureParameter `json:"storedProcedureParameters"`
169489	// ProduceAdditionalTypes - Which additional types to produce.
169490	ProduceAdditionalTypes interface{} `json:"produceAdditionalTypes,omitempty"`
169491	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
169492	AdditionalProperties map[string]interface{} `json:""`
169493	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
169494	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
169495	// 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])).
169496	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
169497	// MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer).
169498	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
169499	// Type - Possible values include: 'TypeCopySource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', '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', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeCassandraSource', 'TypeWebSource', 'TypeTeradataSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeAzureMySQLSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeRestSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceServiceCloudSource', 'TypeSalesforceSource', 'TypeODataSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeMicrosoftAccessSource', 'TypeInformixSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAzureTableSource', 'TypeBinarySource', 'TypeDelimitedTextSource', 'TypeParquetSource'
169500	Type TypeBasicCopySource `json:"type,omitempty"`
169501}
169502
169503// MarshalJSON is the custom marshaler for SQLMISource.
169504func (sms SQLMISource) MarshalJSON() ([]byte, error) {
169505	sms.Type = TypeSQLMISource
169506	objectMap := make(map[string]interface{})
169507	if sms.SQLReaderQuery != nil {
169508		objectMap["sqlReaderQuery"] = sms.SQLReaderQuery
169509	}
169510	if sms.SQLReaderStoredProcedureName != nil {
169511		objectMap["sqlReaderStoredProcedureName"] = sms.SQLReaderStoredProcedureName
169512	}
169513	if sms.StoredProcedureParameters != nil {
169514		objectMap["storedProcedureParameters"] = sms.StoredProcedureParameters
169515	}
169516	if sms.ProduceAdditionalTypes != nil {
169517		objectMap["produceAdditionalTypes"] = sms.ProduceAdditionalTypes
169518	}
169519	if sms.SourceRetryCount != nil {
169520		objectMap["sourceRetryCount"] = sms.SourceRetryCount
169521	}
169522	if sms.SourceRetryWait != nil {
169523		objectMap["sourceRetryWait"] = sms.SourceRetryWait
169524	}
169525	if sms.MaxConcurrentConnections != nil {
169526		objectMap["maxConcurrentConnections"] = sms.MaxConcurrentConnections
169527	}
169528	if sms.Type != "" {
169529		objectMap["type"] = sms.Type
169530	}
169531	for k, v := range sms.AdditionalProperties {
169532		objectMap[k] = v
169533	}
169534	return json.Marshal(objectMap)
169535}
169536
169537// AsAmazonRedshiftSource is the BasicCopySource implementation for SQLMISource.
169538func (sms SQLMISource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
169539	return nil, false
169540}
169541
169542// AsGoogleAdWordsSource is the BasicCopySource implementation for SQLMISource.
169543func (sms SQLMISource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) {
169544	return nil, false
169545}
169546
169547// AsOracleServiceCloudSource is the BasicCopySource implementation for SQLMISource.
169548func (sms SQLMISource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) {
169549	return nil, false
169550}
169551
169552// AsDynamicsAXSource is the BasicCopySource implementation for SQLMISource.
169553func (sms SQLMISource) AsDynamicsAXSource() (*DynamicsAXSource, bool) {
169554	return nil, false
169555}
169556
169557// AsResponsysSource is the BasicCopySource implementation for SQLMISource.
169558func (sms SQLMISource) AsResponsysSource() (*ResponsysSource, bool) {
169559	return nil, false
169560}
169561
169562// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for SQLMISource.
169563func (sms SQLMISource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
169564	return nil, false
169565}
169566
169567// AsVerticaSource is the BasicCopySource implementation for SQLMISource.
169568func (sms SQLMISource) AsVerticaSource() (*VerticaSource, bool) {
169569	return nil, false
169570}
169571
169572// AsNetezzaSource is the BasicCopySource implementation for SQLMISource.
169573func (sms SQLMISource) AsNetezzaSource() (*NetezzaSource, bool) {
169574	return nil, false
169575}
169576
169577// AsZohoSource is the BasicCopySource implementation for SQLMISource.
169578func (sms SQLMISource) AsZohoSource() (*ZohoSource, bool) {
169579	return nil, false
169580}
169581
169582// AsXeroSource is the BasicCopySource implementation for SQLMISource.
169583func (sms SQLMISource) AsXeroSource() (*XeroSource, bool) {
169584	return nil, false
169585}
169586
169587// AsSquareSource is the BasicCopySource implementation for SQLMISource.
169588func (sms SQLMISource) AsSquareSource() (*SquareSource, bool) {
169589	return nil, false
169590}
169591
169592// AsSparkSource is the BasicCopySource implementation for SQLMISource.
169593func (sms SQLMISource) AsSparkSource() (*SparkSource, bool) {
169594	return nil, false
169595}
169596
169597// AsShopifySource is the BasicCopySource implementation for SQLMISource.
169598func (sms SQLMISource) AsShopifySource() (*ShopifySource, bool) {
169599	return nil, false
169600}
169601
169602// AsServiceNowSource is the BasicCopySource implementation for SQLMISource.
169603func (sms SQLMISource) AsServiceNowSource() (*ServiceNowSource, bool) {
169604	return nil, false
169605}
169606
169607// AsQuickBooksSource is the BasicCopySource implementation for SQLMISource.
169608func (sms SQLMISource) AsQuickBooksSource() (*QuickBooksSource, bool) {
169609	return nil, false
169610}
169611
169612// AsPrestoSource is the BasicCopySource implementation for SQLMISource.
169613func (sms SQLMISource) AsPrestoSource() (*PrestoSource, bool) {
169614	return nil, false
169615}
169616
169617// AsPhoenixSource is the BasicCopySource implementation for SQLMISource.
169618func (sms SQLMISource) AsPhoenixSource() (*PhoenixSource, bool) {
169619	return nil, false
169620}
169621
169622// AsPaypalSource is the BasicCopySource implementation for SQLMISource.
169623func (sms SQLMISource) AsPaypalSource() (*PaypalSource, bool) {
169624	return nil, false
169625}
169626
169627// AsMarketoSource is the BasicCopySource implementation for SQLMISource.
169628func (sms SQLMISource) AsMarketoSource() (*MarketoSource, bool) {
169629	return nil, false
169630}
169631
169632// AsMariaDBSource is the BasicCopySource implementation for SQLMISource.
169633func (sms SQLMISource) AsMariaDBSource() (*MariaDBSource, bool) {
169634	return nil, false
169635}
169636
169637// AsMagentoSource is the BasicCopySource implementation for SQLMISource.
169638func (sms SQLMISource) AsMagentoSource() (*MagentoSource, bool) {
169639	return nil, false
169640}
169641
169642// AsJiraSource is the BasicCopySource implementation for SQLMISource.
169643func (sms SQLMISource) AsJiraSource() (*JiraSource, bool) {
169644	return nil, false
169645}
169646
169647// AsImpalaSource is the BasicCopySource implementation for SQLMISource.
169648func (sms SQLMISource) AsImpalaSource() (*ImpalaSource, bool) {
169649	return nil, false
169650}
169651
169652// AsHubspotSource is the BasicCopySource implementation for SQLMISource.
169653func (sms SQLMISource) AsHubspotSource() (*HubspotSource, bool) {
169654	return nil, false
169655}
169656
169657// AsHiveSource is the BasicCopySource implementation for SQLMISource.
169658func (sms SQLMISource) AsHiveSource() (*HiveSource, bool) {
169659	return nil, false
169660}
169661
169662// AsHBaseSource is the BasicCopySource implementation for SQLMISource.
169663func (sms SQLMISource) AsHBaseSource() (*HBaseSource, bool) {
169664	return nil, false
169665}
169666
169667// AsGreenplumSource is the BasicCopySource implementation for SQLMISource.
169668func (sms SQLMISource) AsGreenplumSource() (*GreenplumSource, bool) {
169669	return nil, false
169670}
169671
169672// AsGoogleBigQuerySource is the BasicCopySource implementation for SQLMISource.
169673func (sms SQLMISource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
169674	return nil, false
169675}
169676
169677// AsEloquaSource is the BasicCopySource implementation for SQLMISource.
169678func (sms SQLMISource) AsEloquaSource() (*EloquaSource, bool) {
169679	return nil, false
169680}
169681
169682// AsDrillSource is the BasicCopySource implementation for SQLMISource.
169683func (sms SQLMISource) AsDrillSource() (*DrillSource, bool) {
169684	return nil, false
169685}
169686
169687// AsCouchbaseSource is the BasicCopySource implementation for SQLMISource.
169688func (sms SQLMISource) AsCouchbaseSource() (*CouchbaseSource, bool) {
169689	return nil, false
169690}
169691
169692// AsConcurSource is the BasicCopySource implementation for SQLMISource.
169693func (sms SQLMISource) AsConcurSource() (*ConcurSource, bool) {
169694	return nil, false
169695}
169696
169697// AsAzurePostgreSQLSource is the BasicCopySource implementation for SQLMISource.
169698func (sms SQLMISource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
169699	return nil, false
169700}
169701
169702// AsAmazonMWSSource is the BasicCopySource implementation for SQLMISource.
169703func (sms SQLMISource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
169704	return nil, false
169705}
169706
169707// AsHTTPSource is the BasicCopySource implementation for SQLMISource.
169708func (sms SQLMISource) AsHTTPSource() (*HTTPSource, bool) {
169709	return nil, false
169710}
169711
169712// AsAzureBlobFSSource is the BasicCopySource implementation for SQLMISource.
169713func (sms SQLMISource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) {
169714	return nil, false
169715}
169716
169717// AsAzureDataLakeStoreSource is the BasicCopySource implementation for SQLMISource.
169718func (sms SQLMISource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
169719	return nil, false
169720}
169721
169722// AsOffice365Source is the BasicCopySource implementation for SQLMISource.
169723func (sms SQLMISource) AsOffice365Source() (*Office365Source, bool) {
169724	return nil, false
169725}
169726
169727// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for SQLMISource.
169728func (sms SQLMISource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) {
169729	return nil, false
169730}
169731
169732// AsMongoDbV2Source is the BasicCopySource implementation for SQLMISource.
169733func (sms SQLMISource) AsMongoDbV2Source() (*MongoDbV2Source, bool) {
169734	return nil, false
169735}
169736
169737// AsMongoDbSource is the BasicCopySource implementation for SQLMISource.
169738func (sms SQLMISource) AsMongoDbSource() (*MongoDbSource, bool) {
169739	return nil, false
169740}
169741
169742// AsCassandraSource is the BasicCopySource implementation for SQLMISource.
169743func (sms SQLMISource) AsCassandraSource() (*CassandraSource, bool) {
169744	return nil, false
169745}
169746
169747// AsWebSource is the BasicCopySource implementation for SQLMISource.
169748func (sms SQLMISource) AsWebSource() (*WebSource, bool) {
169749	return nil, false
169750}
169751
169752// AsTeradataSource is the BasicCopySource implementation for SQLMISource.
169753func (sms SQLMISource) AsTeradataSource() (*TeradataSource, bool) {
169754	return nil, false
169755}
169756
169757// AsOracleSource is the BasicCopySource implementation for SQLMISource.
169758func (sms SQLMISource) AsOracleSource() (*OracleSource, bool) {
169759	return nil, false
169760}
169761
169762// AsAzureDataExplorerSource is the BasicCopySource implementation for SQLMISource.
169763func (sms SQLMISource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) {
169764	return nil, false
169765}
169766
169767// AsAzureMySQLSource is the BasicCopySource implementation for SQLMISource.
169768func (sms SQLMISource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
169769	return nil, false
169770}
169771
169772// AsHdfsSource is the BasicCopySource implementation for SQLMISource.
169773func (sms SQLMISource) AsHdfsSource() (*HdfsSource, bool) {
169774	return nil, false
169775}
169776
169777// AsFileSystemSource is the BasicCopySource implementation for SQLMISource.
169778func (sms SQLMISource) AsFileSystemSource() (*FileSystemSource, bool) {
169779	return nil, false
169780}
169781
169782// AsSQLDWSource is the BasicCopySource implementation for SQLMISource.
169783func (sms SQLMISource) AsSQLDWSource() (*SQLDWSource, bool) {
169784	return nil, false
169785}
169786
169787// AsSQLMISource is the BasicCopySource implementation for SQLMISource.
169788func (sms SQLMISource) AsSQLMISource() (*SQLMISource, bool) {
169789	return &sms, true
169790}
169791
169792// AsAzureSQLSource is the BasicCopySource implementation for SQLMISource.
169793func (sms SQLMISource) AsAzureSQLSource() (*AzureSQLSource, bool) {
169794	return nil, false
169795}
169796
169797// AsSQLServerSource is the BasicCopySource implementation for SQLMISource.
169798func (sms SQLMISource) AsSQLServerSource() (*SQLServerSource, bool) {
169799	return nil, false
169800}
169801
169802// AsSQLSource is the BasicCopySource implementation for SQLMISource.
169803func (sms SQLMISource) AsSQLSource() (*SQLSource, bool) {
169804	return nil, false
169805}
169806
169807// AsRestSource is the BasicCopySource implementation for SQLMISource.
169808func (sms SQLMISource) AsRestSource() (*RestSource, bool) {
169809	return nil, false
169810}
169811
169812// AsSapTableSource is the BasicCopySource implementation for SQLMISource.
169813func (sms SQLMISource) AsSapTableSource() (*SapTableSource, bool) {
169814	return nil, false
169815}
169816
169817// AsSapOpenHubSource is the BasicCopySource implementation for SQLMISource.
169818func (sms SQLMISource) AsSapOpenHubSource() (*SapOpenHubSource, bool) {
169819	return nil, false
169820}
169821
169822// AsSapHanaSource is the BasicCopySource implementation for SQLMISource.
169823func (sms SQLMISource) AsSapHanaSource() (*SapHanaSource, bool) {
169824	return nil, false
169825}
169826
169827// AsSapEccSource is the BasicCopySource implementation for SQLMISource.
169828func (sms SQLMISource) AsSapEccSource() (*SapEccSource, bool) {
169829	return nil, false
169830}
169831
169832// AsSapCloudForCustomerSource is the BasicCopySource implementation for SQLMISource.
169833func (sms SQLMISource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
169834	return nil, false
169835}
169836
169837// AsSalesforceServiceCloudSource is the BasicCopySource implementation for SQLMISource.
169838func (sms SQLMISource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) {
169839	return nil, false
169840}
169841
169842// AsSalesforceSource is the BasicCopySource implementation for SQLMISource.
169843func (sms SQLMISource) AsSalesforceSource() (*SalesforceSource, bool) {
169844	return nil, false
169845}
169846
169847// AsODataSource is the BasicCopySource implementation for SQLMISource.
169848func (sms SQLMISource) AsODataSource() (*ODataSource, bool) {
169849	return nil, false
169850}
169851
169852// AsSybaseSource is the BasicCopySource implementation for SQLMISource.
169853func (sms SQLMISource) AsSybaseSource() (*SybaseSource, bool) {
169854	return nil, false
169855}
169856
169857// AsPostgreSQLSource is the BasicCopySource implementation for SQLMISource.
169858func (sms SQLMISource) AsPostgreSQLSource() (*PostgreSQLSource, bool) {
169859	return nil, false
169860}
169861
169862// AsMySQLSource is the BasicCopySource implementation for SQLMISource.
169863func (sms SQLMISource) AsMySQLSource() (*MySQLSource, bool) {
169864	return nil, false
169865}
169866
169867// AsOdbcSource is the BasicCopySource implementation for SQLMISource.
169868func (sms SQLMISource) AsOdbcSource() (*OdbcSource, bool) {
169869	return nil, false
169870}
169871
169872// AsDb2Source is the BasicCopySource implementation for SQLMISource.
169873func (sms SQLMISource) AsDb2Source() (*Db2Source, bool) {
169874	return nil, false
169875}
169876
169877// AsMicrosoftAccessSource is the BasicCopySource implementation for SQLMISource.
169878func (sms SQLMISource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) {
169879	return nil, false
169880}
169881
169882// AsInformixSource is the BasicCopySource implementation for SQLMISource.
169883func (sms SQLMISource) AsInformixSource() (*InformixSource, bool) {
169884	return nil, false
169885}
169886
169887// AsRelationalSource is the BasicCopySource implementation for SQLMISource.
169888func (sms SQLMISource) AsRelationalSource() (*RelationalSource, bool) {
169889	return nil, false
169890}
169891
169892// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for SQLMISource.
169893func (sms SQLMISource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) {
169894	return nil, false
169895}
169896
169897// AsDynamicsCrmSource is the BasicCopySource implementation for SQLMISource.
169898func (sms SQLMISource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) {
169899	return nil, false
169900}
169901
169902// AsDynamicsSource is the BasicCopySource implementation for SQLMISource.
169903func (sms SQLMISource) AsDynamicsSource() (*DynamicsSource, bool) {
169904	return nil, false
169905}
169906
169907// AsDocumentDbCollectionSource is the BasicCopySource implementation for SQLMISource.
169908func (sms SQLMISource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
169909	return nil, false
169910}
169911
169912// AsBlobSource is the BasicCopySource implementation for SQLMISource.
169913func (sms SQLMISource) AsBlobSource() (*BlobSource, bool) {
169914	return nil, false
169915}
169916
169917// AsAzureTableSource is the BasicCopySource implementation for SQLMISource.
169918func (sms SQLMISource) AsAzureTableSource() (*AzureTableSource, bool) {
169919	return nil, false
169920}
169921
169922// AsBinarySource is the BasicCopySource implementation for SQLMISource.
169923func (sms SQLMISource) AsBinarySource() (*BinarySource, bool) {
169924	return nil, false
169925}
169926
169927// AsDelimitedTextSource is the BasicCopySource implementation for SQLMISource.
169928func (sms SQLMISource) AsDelimitedTextSource() (*DelimitedTextSource, bool) {
169929	return nil, false
169930}
169931
169932// AsParquetSource is the BasicCopySource implementation for SQLMISource.
169933func (sms SQLMISource) AsParquetSource() (*ParquetSource, bool) {
169934	return nil, false
169935}
169936
169937// AsCopySource is the BasicCopySource implementation for SQLMISource.
169938func (sms SQLMISource) AsCopySource() (*CopySource, bool) {
169939	return nil, false
169940}
169941
169942// AsBasicCopySource is the BasicCopySource implementation for SQLMISource.
169943func (sms SQLMISource) AsBasicCopySource() (BasicCopySource, bool) {
169944	return &sms, true
169945}
169946
169947// UnmarshalJSON is the custom unmarshaler for SQLMISource struct.
169948func (sms *SQLMISource) UnmarshalJSON(body []byte) error {
169949	var m map[string]*json.RawMessage
169950	err := json.Unmarshal(body, &m)
169951	if err != nil {
169952		return err
169953	}
169954	for k, v := range m {
169955		switch k {
169956		case "sqlReaderQuery":
169957			if v != nil {
169958				var SQLReaderQuery interface{}
169959				err = json.Unmarshal(*v, &SQLReaderQuery)
169960				if err != nil {
169961					return err
169962				}
169963				sms.SQLReaderQuery = SQLReaderQuery
169964			}
169965		case "sqlReaderStoredProcedureName":
169966			if v != nil {
169967				var SQLReaderStoredProcedureName interface{}
169968				err = json.Unmarshal(*v, &SQLReaderStoredProcedureName)
169969				if err != nil {
169970					return err
169971				}
169972				sms.SQLReaderStoredProcedureName = SQLReaderStoredProcedureName
169973			}
169974		case "storedProcedureParameters":
169975			if v != nil {
169976				var storedProcedureParameters map[string]*StoredProcedureParameter
169977				err = json.Unmarshal(*v, &storedProcedureParameters)
169978				if err != nil {
169979					return err
169980				}
169981				sms.StoredProcedureParameters = storedProcedureParameters
169982			}
169983		case "produceAdditionalTypes":
169984			if v != nil {
169985				var produceAdditionalTypes interface{}
169986				err = json.Unmarshal(*v, &produceAdditionalTypes)
169987				if err != nil {
169988					return err
169989				}
169990				sms.ProduceAdditionalTypes = produceAdditionalTypes
169991			}
169992		default:
169993			if v != nil {
169994				var additionalProperties interface{}
169995				err = json.Unmarshal(*v, &additionalProperties)
169996				if err != nil {
169997					return err
169998				}
169999				if sms.AdditionalProperties == nil {
170000					sms.AdditionalProperties = make(map[string]interface{})
170001				}
170002				sms.AdditionalProperties[k] = additionalProperties
170003			}
170004		case "sourceRetryCount":
170005			if v != nil {
170006				var sourceRetryCount interface{}
170007				err = json.Unmarshal(*v, &sourceRetryCount)
170008				if err != nil {
170009					return err
170010				}
170011				sms.SourceRetryCount = sourceRetryCount
170012			}
170013		case "sourceRetryWait":
170014			if v != nil {
170015				var sourceRetryWait interface{}
170016				err = json.Unmarshal(*v, &sourceRetryWait)
170017				if err != nil {
170018					return err
170019				}
170020				sms.SourceRetryWait = sourceRetryWait
170021			}
170022		case "maxConcurrentConnections":
170023			if v != nil {
170024				var maxConcurrentConnections interface{}
170025				err = json.Unmarshal(*v, &maxConcurrentConnections)
170026				if err != nil {
170027					return err
170028				}
170029				sms.MaxConcurrentConnections = maxConcurrentConnections
170030			}
170031		case "type":
170032			if v != nil {
170033				var typeVar TypeBasicCopySource
170034				err = json.Unmarshal(*v, &typeVar)
170035				if err != nil {
170036					return err
170037				}
170038				sms.Type = typeVar
170039			}
170040		}
170041	}
170042
170043	return nil
170044}
170045
170046// SQLServerLinkedService SQL Server linked service.
170047type SQLServerLinkedService struct {
170048	// SQLServerLinkedServiceTypeProperties - SQL Server linked service properties.
170049	*SQLServerLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
170050	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
170051	AdditionalProperties map[string]interface{} `json:""`
170052	// ConnectVia - The integration runtime reference.
170053	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
170054	// Description - Linked service description.
170055	Description *string `json:"description,omitempty"`
170056	// Parameters - Parameters for linked service.
170057	Parameters map[string]*ParameterSpecification `json:"parameters"`
170058	// Annotations - List of tags that can be used for describing the linked service.
170059	Annotations *[]interface{} `json:"annotations,omitempty"`
170060	// Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', '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', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage'
170061	Type TypeBasicLinkedService `json:"type,omitempty"`
170062}
170063
170064// MarshalJSON is the custom marshaler for SQLServerLinkedService.
170065func (ssls SQLServerLinkedService) MarshalJSON() ([]byte, error) {
170066	ssls.Type = TypeSQLServer
170067	objectMap := make(map[string]interface{})
170068	if ssls.SQLServerLinkedServiceTypeProperties != nil {
170069		objectMap["typeProperties"] = ssls.SQLServerLinkedServiceTypeProperties
170070	}
170071	if ssls.ConnectVia != nil {
170072		objectMap["connectVia"] = ssls.ConnectVia
170073	}
170074	if ssls.Description != nil {
170075		objectMap["description"] = ssls.Description
170076	}
170077	if ssls.Parameters != nil {
170078		objectMap["parameters"] = ssls.Parameters
170079	}
170080	if ssls.Annotations != nil {
170081		objectMap["annotations"] = ssls.Annotations
170082	}
170083	if ssls.Type != "" {
170084		objectMap["type"] = ssls.Type
170085	}
170086	for k, v := range ssls.AdditionalProperties {
170087		objectMap[k] = v
170088	}
170089	return json.Marshal(objectMap)
170090}
170091
170092// AsAzureFunctionLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
170093func (ssls SQLServerLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) {
170094	return nil, false
170095}
170096
170097// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
170098func (ssls SQLServerLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) {
170099	return nil, false
170100}
170101
170102// AsSapTableLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
170103func (ssls SQLServerLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) {
170104	return nil, false
170105}
170106
170107// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
170108func (ssls SQLServerLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) {
170109	return nil, false
170110}
170111
170112// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
170113func (ssls SQLServerLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) {
170114	return nil, false
170115}
170116
170117// AsDynamicsAXLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
170118func (ssls SQLServerLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) {
170119	return nil, false
170120}
170121
170122// AsResponsysLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
170123func (ssls SQLServerLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
170124	return nil, false
170125}
170126
170127// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
170128func (ssls SQLServerLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
170129	return nil, false
170130}
170131
170132// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
170133func (ssls SQLServerLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
170134	return nil, false
170135}
170136
170137// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
170138func (ssls SQLServerLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
170139	return nil, false
170140}
170141
170142// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
170143func (ssls SQLServerLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
170144	return nil, false
170145}
170146
170147// AsNetezzaLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
170148func (ssls SQLServerLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
170149	return nil, false
170150}
170151
170152// AsVerticaLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
170153func (ssls SQLServerLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
170154	return nil, false
170155}
170156
170157// AsZohoLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
170158func (ssls SQLServerLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
170159	return nil, false
170160}
170161
170162// AsXeroLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
170163func (ssls SQLServerLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
170164	return nil, false
170165}
170166
170167// AsSquareLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
170168func (ssls SQLServerLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
170169	return nil, false
170170}
170171
170172// AsSparkLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
170173func (ssls SQLServerLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
170174	return nil, false
170175}
170176
170177// AsShopifyLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
170178func (ssls SQLServerLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
170179	return nil, false
170180}
170181
170182// AsServiceNowLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
170183func (ssls SQLServerLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
170184	return nil, false
170185}
170186
170187// AsQuickBooksLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
170188func (ssls SQLServerLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
170189	return nil, false
170190}
170191
170192// AsPrestoLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
170193func (ssls SQLServerLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
170194	return nil, false
170195}
170196
170197// AsPhoenixLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
170198func (ssls SQLServerLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
170199	return nil, false
170200}
170201
170202// AsPaypalLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
170203func (ssls SQLServerLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
170204	return nil, false
170205}
170206
170207// AsMarketoLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
170208func (ssls SQLServerLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
170209	return nil, false
170210}
170211
170212// AsMariaDBLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
170213func (ssls SQLServerLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
170214	return nil, false
170215}
170216
170217// AsMagentoLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
170218func (ssls SQLServerLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
170219	return nil, false
170220}
170221
170222// AsJiraLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
170223func (ssls SQLServerLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
170224	return nil, false
170225}
170226
170227// AsImpalaLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
170228func (ssls SQLServerLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
170229	return nil, false
170230}
170231
170232// AsHubspotLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
170233func (ssls SQLServerLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
170234	return nil, false
170235}
170236
170237// AsHiveLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
170238func (ssls SQLServerLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
170239	return nil, false
170240}
170241
170242// AsHBaseLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
170243func (ssls SQLServerLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
170244	return nil, false
170245}
170246
170247// AsGreenplumLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
170248func (ssls SQLServerLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
170249	return nil, false
170250}
170251
170252// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
170253func (ssls SQLServerLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
170254	return nil, false
170255}
170256
170257// AsEloquaLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
170258func (ssls SQLServerLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
170259	return nil, false
170260}
170261
170262// AsDrillLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
170263func (ssls SQLServerLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
170264	return nil, false
170265}
170266
170267// AsCouchbaseLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
170268func (ssls SQLServerLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
170269	return nil, false
170270}
170271
170272// AsConcurLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
170273func (ssls SQLServerLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
170274	return nil, false
170275}
170276
170277// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
170278func (ssls SQLServerLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
170279	return nil, false
170280}
170281
170282// AsAmazonMWSLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
170283func (ssls SQLServerLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
170284	return nil, false
170285}
170286
170287// AsSapHanaLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
170288func (ssls SQLServerLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
170289	return nil, false
170290}
170291
170292// AsSapBWLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
170293func (ssls SQLServerLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
170294	return nil, false
170295}
170296
170297// AsSftpServerLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
170298func (ssls SQLServerLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
170299	return nil, false
170300}
170301
170302// AsFtpServerLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
170303func (ssls SQLServerLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
170304	return nil, false
170305}
170306
170307// AsHTTPLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
170308func (ssls SQLServerLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
170309	return nil, false
170310}
170311
170312// AsAzureSearchLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
170313func (ssls SQLServerLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
170314	return nil, false
170315}
170316
170317// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
170318func (ssls SQLServerLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
170319	return nil, false
170320}
170321
170322// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
170323func (ssls SQLServerLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
170324	return nil, false
170325}
170326
170327// AsAmazonS3LinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
170328func (ssls SQLServerLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
170329	return nil, false
170330}
170331
170332// AsRestServiceLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
170333func (ssls SQLServerLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) {
170334	return nil, false
170335}
170336
170337// AsSapOpenHubLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
170338func (ssls SQLServerLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) {
170339	return nil, false
170340}
170341
170342// AsSapEccLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
170343func (ssls SQLServerLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
170344	return nil, false
170345}
170346
170347// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
170348func (ssls SQLServerLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
170349	return nil, false
170350}
170351
170352// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
170353func (ssls SQLServerLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) {
170354	return nil, false
170355}
170356
170357// AsSalesforceLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
170358func (ssls SQLServerLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
170359	return nil, false
170360}
170361
170362// AsOffice365LinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
170363func (ssls SQLServerLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) {
170364	return nil, false
170365}
170366
170367// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
170368func (ssls SQLServerLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) {
170369	return nil, false
170370}
170371
170372// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
170373func (ssls SQLServerLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
170374	return nil, false
170375}
170376
170377// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
170378func (ssls SQLServerLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) {
170379	return nil, false
170380}
170381
170382// AsMongoDbV2LinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
170383func (ssls SQLServerLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) {
170384	return nil, false
170385}
170386
170387// AsMongoDbLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
170388func (ssls SQLServerLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
170389	return nil, false
170390}
170391
170392// AsCassandraLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
170393func (ssls SQLServerLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
170394	return nil, false
170395}
170396
170397// AsWebLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
170398func (ssls SQLServerLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
170399	return nil, false
170400}
170401
170402// AsODataLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
170403func (ssls SQLServerLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
170404	return nil, false
170405}
170406
170407// AsHdfsLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
170408func (ssls SQLServerLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
170409	return nil, false
170410}
170411
170412// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
170413func (ssls SQLServerLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) {
170414	return nil, false
170415}
170416
170417// AsInformixLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
170418func (ssls SQLServerLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) {
170419	return nil, false
170420}
170421
170422// AsOdbcLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
170423func (ssls SQLServerLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
170424	return nil, false
170425}
170426
170427// AsAzureMLLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
170428func (ssls SQLServerLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
170429	return nil, false
170430}
170431
170432// AsTeradataLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
170433func (ssls SQLServerLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
170434	return nil, false
170435}
170436
170437// AsDb2LinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
170438func (ssls SQLServerLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
170439	return nil, false
170440}
170441
170442// AsSybaseLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
170443func (ssls SQLServerLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
170444	return nil, false
170445}
170446
170447// AsPostgreSQLLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
170448func (ssls SQLServerLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
170449	return nil, false
170450}
170451
170452// AsMySQLLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
170453func (ssls SQLServerLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
170454	return nil, false
170455}
170456
170457// AsAzureMySQLLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
170458func (ssls SQLServerLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
170459	return nil, false
170460}
170461
170462// AsOracleLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
170463func (ssls SQLServerLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
170464	return nil, false
170465}
170466
170467// AsFileServerLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
170468func (ssls SQLServerLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
170469	return nil, false
170470}
170471
170472// AsHDInsightLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
170473func (ssls SQLServerLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
170474	return nil, false
170475}
170476
170477// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
170478func (ssls SQLServerLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) {
170479	return nil, false
170480}
170481
170482// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
170483func (ssls SQLServerLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) {
170484	return nil, false
170485}
170486
170487// AsDynamicsLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
170488func (ssls SQLServerLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
170489	return nil, false
170490}
170491
170492// AsCosmosDbLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
170493func (ssls SQLServerLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
170494	return nil, false
170495}
170496
170497// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
170498func (ssls SQLServerLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
170499	return nil, false
170500}
170501
170502// AsAzureBatchLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
170503func (ssls SQLServerLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
170504	return nil, false
170505}
170506
170507// AsAzureSQLMILinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
170508func (ssls SQLServerLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) {
170509	return nil, false
170510}
170511
170512// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
170513func (ssls SQLServerLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
170514	return nil, false
170515}
170516
170517// AsSQLServerLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
170518func (ssls SQLServerLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
170519	return &ssls, true
170520}
170521
170522// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
170523func (ssls SQLServerLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
170524	return nil, false
170525}
170526
170527// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
170528func (ssls SQLServerLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) {
170529	return nil, false
170530}
170531
170532// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
170533func (ssls SQLServerLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) {
170534	return nil, false
170535}
170536
170537// AsAzureStorageLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
170538func (ssls SQLServerLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
170539	return nil, false
170540}
170541
170542// AsLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
170543func (ssls SQLServerLinkedService) AsLinkedService() (*LinkedService, bool) {
170544	return nil, false
170545}
170546
170547// AsBasicLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
170548func (ssls SQLServerLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
170549	return &ssls, true
170550}
170551
170552// UnmarshalJSON is the custom unmarshaler for SQLServerLinkedService struct.
170553func (ssls *SQLServerLinkedService) UnmarshalJSON(body []byte) error {
170554	var m map[string]*json.RawMessage
170555	err := json.Unmarshal(body, &m)
170556	if err != nil {
170557		return err
170558	}
170559	for k, v := range m {
170560		switch k {
170561		case "typeProperties":
170562			if v != nil {
170563				var SQLServerLinkedServiceTypeProperties SQLServerLinkedServiceTypeProperties
170564				err = json.Unmarshal(*v, &SQLServerLinkedServiceTypeProperties)
170565				if err != nil {
170566					return err
170567				}
170568				ssls.SQLServerLinkedServiceTypeProperties = &SQLServerLinkedServiceTypeProperties
170569			}
170570		default:
170571			if v != nil {
170572				var additionalProperties interface{}
170573				err = json.Unmarshal(*v, &additionalProperties)
170574				if err != nil {
170575					return err
170576				}
170577				if ssls.AdditionalProperties == nil {
170578					ssls.AdditionalProperties = make(map[string]interface{})
170579				}
170580				ssls.AdditionalProperties[k] = additionalProperties
170581			}
170582		case "connectVia":
170583			if v != nil {
170584				var connectVia IntegrationRuntimeReference
170585				err = json.Unmarshal(*v, &connectVia)
170586				if err != nil {
170587					return err
170588				}
170589				ssls.ConnectVia = &connectVia
170590			}
170591		case "description":
170592			if v != nil {
170593				var description string
170594				err = json.Unmarshal(*v, &description)
170595				if err != nil {
170596					return err
170597				}
170598				ssls.Description = &description
170599			}
170600		case "parameters":
170601			if v != nil {
170602				var parameters map[string]*ParameterSpecification
170603				err = json.Unmarshal(*v, &parameters)
170604				if err != nil {
170605					return err
170606				}
170607				ssls.Parameters = parameters
170608			}
170609		case "annotations":
170610			if v != nil {
170611				var annotations []interface{}
170612				err = json.Unmarshal(*v, &annotations)
170613				if err != nil {
170614					return err
170615				}
170616				ssls.Annotations = &annotations
170617			}
170618		case "type":
170619			if v != nil {
170620				var typeVar TypeBasicLinkedService
170621				err = json.Unmarshal(*v, &typeVar)
170622				if err != nil {
170623					return err
170624				}
170625				ssls.Type = typeVar
170626			}
170627		}
170628	}
170629
170630	return nil
170631}
170632
170633// SQLServerLinkedServiceTypeProperties SQL Server linked service properties.
170634type SQLServerLinkedServiceTypeProperties struct {
170635	// ConnectionString - The connection string. Type: string, SecureString or AzureKeyVaultSecretReference.
170636	ConnectionString interface{} `json:"connectionString,omitempty"`
170637	// UserName - The on-premises Windows authentication user name. Type: string (or Expression with resultType string).
170638	UserName interface{} `json:"userName,omitempty"`
170639	// Password - The on-premises Windows authentication password.
170640	Password BasicSecretBase `json:"password,omitempty"`
170641	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
170642	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
170643}
170644
170645// UnmarshalJSON is the custom unmarshaler for SQLServerLinkedServiceTypeProperties struct.
170646func (sslstp *SQLServerLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
170647	var m map[string]*json.RawMessage
170648	err := json.Unmarshal(body, &m)
170649	if err != nil {
170650		return err
170651	}
170652	for k, v := range m {
170653		switch k {
170654		case "connectionString":
170655			if v != nil {
170656				var connectionString interface{}
170657				err = json.Unmarshal(*v, &connectionString)
170658				if err != nil {
170659					return err
170660				}
170661				sslstp.ConnectionString = connectionString
170662			}
170663		case "userName":
170664			if v != nil {
170665				var userName interface{}
170666				err = json.Unmarshal(*v, &userName)
170667				if err != nil {
170668					return err
170669				}
170670				sslstp.UserName = userName
170671			}
170672		case "password":
170673			if v != nil {
170674				password, err := unmarshalBasicSecretBase(*v)
170675				if err != nil {
170676					return err
170677				}
170678				sslstp.Password = password
170679			}
170680		case "encryptedCredential":
170681			if v != nil {
170682				var encryptedCredential interface{}
170683				err = json.Unmarshal(*v, &encryptedCredential)
170684				if err != nil {
170685					return err
170686				}
170687				sslstp.EncryptedCredential = encryptedCredential
170688			}
170689		}
170690	}
170691
170692	return nil
170693}
170694
170695// SQLServerSink a copy activity SQL server sink.
170696type SQLServerSink struct {
170697	// SQLWriterStoredProcedureName - SQL writer stored procedure name. Type: string (or Expression with resultType string).
170698	SQLWriterStoredProcedureName interface{} `json:"sqlWriterStoredProcedureName,omitempty"`
170699	// SQLWriterTableType - SQL writer table type. Type: string (or Expression with resultType string).
170700	SQLWriterTableType interface{} `json:"sqlWriterTableType,omitempty"`
170701	// PreCopyScript - SQL pre-copy script. Type: string (or Expression with resultType string).
170702	PreCopyScript interface{} `json:"preCopyScript,omitempty"`
170703	// StoredProcedureParameters - SQL stored procedure parameters.
170704	StoredProcedureParameters map[string]*StoredProcedureParameter `json:"storedProcedureParameters"`
170705	// StoredProcedureTableTypeParameterName - The stored procedure parameter name of the table type. Type: string (or Expression with resultType string).
170706	StoredProcedureTableTypeParameterName interface{} `json:"storedProcedureTableTypeParameterName,omitempty"`
170707	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
170708	AdditionalProperties map[string]interface{} `json:""`
170709	// WriteBatchSize - Write batch size. Type: integer (or Expression with resultType integer), minimum: 0.
170710	WriteBatchSize interface{} `json:"writeBatchSize,omitempty"`
170711	// 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])).
170712	WriteBatchTimeout interface{} `json:"writeBatchTimeout,omitempty"`
170713	// SinkRetryCount - Sink retry count. Type: integer (or Expression with resultType integer).
170714	SinkRetryCount interface{} `json:"sinkRetryCount,omitempty"`
170715	// 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])).
170716	SinkRetryWait interface{} `json:"sinkRetryWait,omitempty"`
170717	// MaxConcurrentConnections - The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer).
170718	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
170719	// Type - Possible values include: 'TypeCopySink', 'TypeCosmosDbMongoDbAPISink', 'TypeSalesforceServiceCloudSink', 'TypeSalesforceSink', 'TypeAzureDataExplorerSink', 'TypeCommonDataServiceForAppsSink', 'TypeDynamicsCrmSink', 'TypeDynamicsSink', 'TypeMicrosoftAccessSink', 'TypeInformixSink', 'TypeOdbcSink', 'TypeAzureSearchIndexSink', 'TypeAzureBlobFSSink', 'TypeAzureDataLakeStoreSink', 'TypeOracleSink', 'TypeSQLDWSink', 'TypeSQLMISink', 'TypeAzureSQLSink', 'TypeSQLServerSink', 'TypeSQLSink', 'TypeDocumentDbCollectionSink', 'TypeFileSystemSink', 'TypeBlobSink', 'TypeBinarySink', 'TypeParquetSink', 'TypeAzureTableSink', 'TypeAzureQueueSink', 'TypeSapCloudForCustomerSink', 'TypeAzurePostgreSQLSink', 'TypeDelimitedTextSink'
170720	Type TypeBasicCopySink `json:"type,omitempty"`
170721}
170722
170723// MarshalJSON is the custom marshaler for SQLServerSink.
170724func (sss SQLServerSink) MarshalJSON() ([]byte, error) {
170725	sss.Type = TypeSQLServerSink
170726	objectMap := make(map[string]interface{})
170727	if sss.SQLWriterStoredProcedureName != nil {
170728		objectMap["sqlWriterStoredProcedureName"] = sss.SQLWriterStoredProcedureName
170729	}
170730	if sss.SQLWriterTableType != nil {
170731		objectMap["sqlWriterTableType"] = sss.SQLWriterTableType
170732	}
170733	if sss.PreCopyScript != nil {
170734		objectMap["preCopyScript"] = sss.PreCopyScript
170735	}
170736	if sss.StoredProcedureParameters != nil {
170737		objectMap["storedProcedureParameters"] = sss.StoredProcedureParameters
170738	}
170739	if sss.StoredProcedureTableTypeParameterName != nil {
170740		objectMap["storedProcedureTableTypeParameterName"] = sss.StoredProcedureTableTypeParameterName
170741	}
170742	if sss.WriteBatchSize != nil {
170743		objectMap["writeBatchSize"] = sss.WriteBatchSize
170744	}
170745	if sss.WriteBatchTimeout != nil {
170746		objectMap["writeBatchTimeout"] = sss.WriteBatchTimeout
170747	}
170748	if sss.SinkRetryCount != nil {
170749		objectMap["sinkRetryCount"] = sss.SinkRetryCount
170750	}
170751	if sss.SinkRetryWait != nil {
170752		objectMap["sinkRetryWait"] = sss.SinkRetryWait
170753	}
170754	if sss.MaxConcurrentConnections != nil {
170755		objectMap["maxConcurrentConnections"] = sss.MaxConcurrentConnections
170756	}
170757	if sss.Type != "" {
170758		objectMap["type"] = sss.Type
170759	}
170760	for k, v := range sss.AdditionalProperties {
170761		objectMap[k] = v
170762	}
170763	return json.Marshal(objectMap)
170764}
170765
170766// AsCosmosDbMongoDbAPISink is the BasicCopySink implementation for SQLServerSink.
170767func (sss SQLServerSink) AsCosmosDbMongoDbAPISink() (*CosmosDbMongoDbAPISink, bool) {
170768	return nil, false
170769}
170770
170771// AsSalesforceServiceCloudSink is the BasicCopySink implementation for SQLServerSink.
170772func (sss SQLServerSink) AsSalesforceServiceCloudSink() (*SalesforceServiceCloudSink, bool) {
170773	return nil, false
170774}
170775
170776// AsSalesforceSink is the BasicCopySink implementation for SQLServerSink.
170777func (sss SQLServerSink) AsSalesforceSink() (*SalesforceSink, bool) {
170778	return nil, false
170779}
170780
170781// AsAzureDataExplorerSink is the BasicCopySink implementation for SQLServerSink.
170782func (sss SQLServerSink) AsAzureDataExplorerSink() (*AzureDataExplorerSink, bool) {
170783	return nil, false
170784}
170785
170786// AsCommonDataServiceForAppsSink is the BasicCopySink implementation for SQLServerSink.
170787func (sss SQLServerSink) AsCommonDataServiceForAppsSink() (*CommonDataServiceForAppsSink, bool) {
170788	return nil, false
170789}
170790
170791// AsDynamicsCrmSink is the BasicCopySink implementation for SQLServerSink.
170792func (sss SQLServerSink) AsDynamicsCrmSink() (*DynamicsCrmSink, bool) {
170793	return nil, false
170794}
170795
170796// AsDynamicsSink is the BasicCopySink implementation for SQLServerSink.
170797func (sss SQLServerSink) AsDynamicsSink() (*DynamicsSink, bool) {
170798	return nil, false
170799}
170800
170801// AsMicrosoftAccessSink is the BasicCopySink implementation for SQLServerSink.
170802func (sss SQLServerSink) AsMicrosoftAccessSink() (*MicrosoftAccessSink, bool) {
170803	return nil, false
170804}
170805
170806// AsInformixSink is the BasicCopySink implementation for SQLServerSink.
170807func (sss SQLServerSink) AsInformixSink() (*InformixSink, bool) {
170808	return nil, false
170809}
170810
170811// AsOdbcSink is the BasicCopySink implementation for SQLServerSink.
170812func (sss SQLServerSink) AsOdbcSink() (*OdbcSink, bool) {
170813	return nil, false
170814}
170815
170816// AsAzureSearchIndexSink is the BasicCopySink implementation for SQLServerSink.
170817func (sss SQLServerSink) AsAzureSearchIndexSink() (*AzureSearchIndexSink, bool) {
170818	return nil, false
170819}
170820
170821// AsAzureBlobFSSink is the BasicCopySink implementation for SQLServerSink.
170822func (sss SQLServerSink) AsAzureBlobFSSink() (*AzureBlobFSSink, bool) {
170823	return nil, false
170824}
170825
170826// AsAzureDataLakeStoreSink is the BasicCopySink implementation for SQLServerSink.
170827func (sss SQLServerSink) AsAzureDataLakeStoreSink() (*AzureDataLakeStoreSink, bool) {
170828	return nil, false
170829}
170830
170831// AsOracleSink is the BasicCopySink implementation for SQLServerSink.
170832func (sss SQLServerSink) AsOracleSink() (*OracleSink, bool) {
170833	return nil, false
170834}
170835
170836// AsSQLDWSink is the BasicCopySink implementation for SQLServerSink.
170837func (sss SQLServerSink) AsSQLDWSink() (*SQLDWSink, bool) {
170838	return nil, false
170839}
170840
170841// AsSQLMISink is the BasicCopySink implementation for SQLServerSink.
170842func (sss SQLServerSink) AsSQLMISink() (*SQLMISink, bool) {
170843	return nil, false
170844}
170845
170846// AsAzureSQLSink is the BasicCopySink implementation for SQLServerSink.
170847func (sss SQLServerSink) AsAzureSQLSink() (*AzureSQLSink, bool) {
170848	return nil, false
170849}
170850
170851// AsSQLServerSink is the BasicCopySink implementation for SQLServerSink.
170852func (sss SQLServerSink) AsSQLServerSink() (*SQLServerSink, bool) {
170853	return &sss, true
170854}
170855
170856// AsSQLSink is the BasicCopySink implementation for SQLServerSink.
170857func (sss SQLServerSink) AsSQLSink() (*SQLSink, bool) {
170858	return nil, false
170859}
170860
170861// AsDocumentDbCollectionSink is the BasicCopySink implementation for SQLServerSink.
170862func (sss SQLServerSink) AsDocumentDbCollectionSink() (*DocumentDbCollectionSink, bool) {
170863	return nil, false
170864}
170865
170866// AsFileSystemSink is the BasicCopySink implementation for SQLServerSink.
170867func (sss SQLServerSink) AsFileSystemSink() (*FileSystemSink, bool) {
170868	return nil, false
170869}
170870
170871// AsBlobSink is the BasicCopySink implementation for SQLServerSink.
170872func (sss SQLServerSink) AsBlobSink() (*BlobSink, bool) {
170873	return nil, false
170874}
170875
170876// AsBinarySink is the BasicCopySink implementation for SQLServerSink.
170877func (sss SQLServerSink) AsBinarySink() (*BinarySink, bool) {
170878	return nil, false
170879}
170880
170881// AsParquetSink is the BasicCopySink implementation for SQLServerSink.
170882func (sss SQLServerSink) AsParquetSink() (*ParquetSink, bool) {
170883	return nil, false
170884}
170885
170886// AsAzureTableSink is the BasicCopySink implementation for SQLServerSink.
170887func (sss SQLServerSink) AsAzureTableSink() (*AzureTableSink, bool) {
170888	return nil, false
170889}
170890
170891// AsAzureQueueSink is the BasicCopySink implementation for SQLServerSink.
170892func (sss SQLServerSink) AsAzureQueueSink() (*AzureQueueSink, bool) {
170893	return nil, false
170894}
170895
170896// AsSapCloudForCustomerSink is the BasicCopySink implementation for SQLServerSink.
170897func (sss SQLServerSink) AsSapCloudForCustomerSink() (*SapCloudForCustomerSink, bool) {
170898	return nil, false
170899}
170900
170901// AsAzurePostgreSQLSink is the BasicCopySink implementation for SQLServerSink.
170902func (sss SQLServerSink) AsAzurePostgreSQLSink() (*AzurePostgreSQLSink, bool) {
170903	return nil, false
170904}
170905
170906// AsDelimitedTextSink is the BasicCopySink implementation for SQLServerSink.
170907func (sss SQLServerSink) AsDelimitedTextSink() (*DelimitedTextSink, bool) {
170908	return nil, false
170909}
170910
170911// AsCopySink is the BasicCopySink implementation for SQLServerSink.
170912func (sss SQLServerSink) AsCopySink() (*CopySink, bool) {
170913	return nil, false
170914}
170915
170916// AsBasicCopySink is the BasicCopySink implementation for SQLServerSink.
170917func (sss SQLServerSink) AsBasicCopySink() (BasicCopySink, bool) {
170918	return &sss, true
170919}
170920
170921// UnmarshalJSON is the custom unmarshaler for SQLServerSink struct.
170922func (sss *SQLServerSink) UnmarshalJSON(body []byte) error {
170923	var m map[string]*json.RawMessage
170924	err := json.Unmarshal(body, &m)
170925	if err != nil {
170926		return err
170927	}
170928	for k, v := range m {
170929		switch k {
170930		case "sqlWriterStoredProcedureName":
170931			if v != nil {
170932				var SQLWriterStoredProcedureName interface{}
170933				err = json.Unmarshal(*v, &SQLWriterStoredProcedureName)
170934				if err != nil {
170935					return err
170936				}
170937				sss.SQLWriterStoredProcedureName = SQLWriterStoredProcedureName
170938			}
170939		case "sqlWriterTableType":
170940			if v != nil {
170941				var SQLWriterTableType interface{}
170942				err = json.Unmarshal(*v, &SQLWriterTableType)
170943				if err != nil {
170944					return err
170945				}
170946				sss.SQLWriterTableType = SQLWriterTableType
170947			}
170948		case "preCopyScript":
170949			if v != nil {
170950				var preCopyScript interface{}
170951				err = json.Unmarshal(*v, &preCopyScript)
170952				if err != nil {
170953					return err
170954				}
170955				sss.PreCopyScript = preCopyScript
170956			}
170957		case "storedProcedureParameters":
170958			if v != nil {
170959				var storedProcedureParameters map[string]*StoredProcedureParameter
170960				err = json.Unmarshal(*v, &storedProcedureParameters)
170961				if err != nil {
170962					return err
170963				}
170964				sss.StoredProcedureParameters = storedProcedureParameters
170965			}
170966		case "storedProcedureTableTypeParameterName":
170967			if v != nil {
170968				var storedProcedureTableTypeParameterName interface{}
170969				err = json.Unmarshal(*v, &storedProcedureTableTypeParameterName)
170970				if err != nil {
170971					return err
170972				}
170973				sss.StoredProcedureTableTypeParameterName = storedProcedureTableTypeParameterName
170974			}
170975		default:
170976			if v != nil {
170977				var additionalProperties interface{}
170978				err = json.Unmarshal(*v, &additionalProperties)
170979				if err != nil {
170980					return err
170981				}
170982				if sss.AdditionalProperties == nil {
170983					sss.AdditionalProperties = make(map[string]interface{})
170984				}
170985				sss.AdditionalProperties[k] = additionalProperties
170986			}
170987		case "writeBatchSize":
170988			if v != nil {
170989				var writeBatchSize interface{}
170990				err = json.Unmarshal(*v, &writeBatchSize)
170991				if err != nil {
170992					return err
170993				}
170994				sss.WriteBatchSize = writeBatchSize
170995			}
170996		case "writeBatchTimeout":
170997			if v != nil {
170998				var writeBatchTimeout interface{}
170999				err = json.Unmarshal(*v, &writeBatchTimeout)
171000				if err != nil {
171001					return err
171002				}
171003				sss.WriteBatchTimeout = writeBatchTimeout
171004			}
171005		case "sinkRetryCount":
171006			if v != nil {
171007				var sinkRetryCount interface{}
171008				err = json.Unmarshal(*v, &sinkRetryCount)
171009				if err != nil {
171010					return err
171011				}
171012				sss.SinkRetryCount = sinkRetryCount
171013			}
171014		case "sinkRetryWait":
171015			if v != nil {
171016				var sinkRetryWait interface{}
171017				err = json.Unmarshal(*v, &sinkRetryWait)
171018				if err != nil {
171019					return err
171020				}
171021				sss.SinkRetryWait = sinkRetryWait
171022			}
171023		case "maxConcurrentConnections":
171024			if v != nil {
171025				var maxConcurrentConnections interface{}
171026				err = json.Unmarshal(*v, &maxConcurrentConnections)
171027				if err != nil {
171028					return err
171029				}
171030				sss.MaxConcurrentConnections = maxConcurrentConnections
171031			}
171032		case "type":
171033			if v != nil {
171034				var typeVar TypeBasicCopySink
171035				err = json.Unmarshal(*v, &typeVar)
171036				if err != nil {
171037					return err
171038				}
171039				sss.Type = typeVar
171040			}
171041		}
171042	}
171043
171044	return nil
171045}
171046
171047// SQLServerSource a copy activity SQL server source.
171048type SQLServerSource struct {
171049	// SQLReaderQuery - SQL reader query. Type: string (or Expression with resultType string).
171050	SQLReaderQuery interface{} `json:"sqlReaderQuery,omitempty"`
171051	// 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).
171052	SQLReaderStoredProcedureName interface{} `json:"sqlReaderStoredProcedureName,omitempty"`
171053	// StoredProcedureParameters - Value and type setting for stored procedure parameters. Example: "{Parameter1: {value: "1", type: "int"}}".
171054	StoredProcedureParameters map[string]*StoredProcedureParameter `json:"storedProcedureParameters"`
171055	// ProduceAdditionalTypes - Which additional types to produce.
171056	ProduceAdditionalTypes interface{} `json:"produceAdditionalTypes,omitempty"`
171057	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
171058	AdditionalProperties map[string]interface{} `json:""`
171059	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
171060	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
171061	// 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])).
171062	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
171063	// MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer).
171064	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
171065	// Type - Possible values include: 'TypeCopySource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', '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', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeCassandraSource', 'TypeWebSource', 'TypeTeradataSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeAzureMySQLSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeRestSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceServiceCloudSource', 'TypeSalesforceSource', 'TypeODataSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeMicrosoftAccessSource', 'TypeInformixSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAzureTableSource', 'TypeBinarySource', 'TypeDelimitedTextSource', 'TypeParquetSource'
171066	Type TypeBasicCopySource `json:"type,omitempty"`
171067}
171068
171069// MarshalJSON is the custom marshaler for SQLServerSource.
171070func (sss SQLServerSource) MarshalJSON() ([]byte, error) {
171071	sss.Type = TypeSQLServerSource
171072	objectMap := make(map[string]interface{})
171073	if sss.SQLReaderQuery != nil {
171074		objectMap["sqlReaderQuery"] = sss.SQLReaderQuery
171075	}
171076	if sss.SQLReaderStoredProcedureName != nil {
171077		objectMap["sqlReaderStoredProcedureName"] = sss.SQLReaderStoredProcedureName
171078	}
171079	if sss.StoredProcedureParameters != nil {
171080		objectMap["storedProcedureParameters"] = sss.StoredProcedureParameters
171081	}
171082	if sss.ProduceAdditionalTypes != nil {
171083		objectMap["produceAdditionalTypes"] = sss.ProduceAdditionalTypes
171084	}
171085	if sss.SourceRetryCount != nil {
171086		objectMap["sourceRetryCount"] = sss.SourceRetryCount
171087	}
171088	if sss.SourceRetryWait != nil {
171089		objectMap["sourceRetryWait"] = sss.SourceRetryWait
171090	}
171091	if sss.MaxConcurrentConnections != nil {
171092		objectMap["maxConcurrentConnections"] = sss.MaxConcurrentConnections
171093	}
171094	if sss.Type != "" {
171095		objectMap["type"] = sss.Type
171096	}
171097	for k, v := range sss.AdditionalProperties {
171098		objectMap[k] = v
171099	}
171100	return json.Marshal(objectMap)
171101}
171102
171103// AsAmazonRedshiftSource is the BasicCopySource implementation for SQLServerSource.
171104func (sss SQLServerSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
171105	return nil, false
171106}
171107
171108// AsGoogleAdWordsSource is the BasicCopySource implementation for SQLServerSource.
171109func (sss SQLServerSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) {
171110	return nil, false
171111}
171112
171113// AsOracleServiceCloudSource is the BasicCopySource implementation for SQLServerSource.
171114func (sss SQLServerSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) {
171115	return nil, false
171116}
171117
171118// AsDynamicsAXSource is the BasicCopySource implementation for SQLServerSource.
171119func (sss SQLServerSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) {
171120	return nil, false
171121}
171122
171123// AsResponsysSource is the BasicCopySource implementation for SQLServerSource.
171124func (sss SQLServerSource) AsResponsysSource() (*ResponsysSource, bool) {
171125	return nil, false
171126}
171127
171128// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for SQLServerSource.
171129func (sss SQLServerSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
171130	return nil, false
171131}
171132
171133// AsVerticaSource is the BasicCopySource implementation for SQLServerSource.
171134func (sss SQLServerSource) AsVerticaSource() (*VerticaSource, bool) {
171135	return nil, false
171136}
171137
171138// AsNetezzaSource is the BasicCopySource implementation for SQLServerSource.
171139func (sss SQLServerSource) AsNetezzaSource() (*NetezzaSource, bool) {
171140	return nil, false
171141}
171142
171143// AsZohoSource is the BasicCopySource implementation for SQLServerSource.
171144func (sss SQLServerSource) AsZohoSource() (*ZohoSource, bool) {
171145	return nil, false
171146}
171147
171148// AsXeroSource is the BasicCopySource implementation for SQLServerSource.
171149func (sss SQLServerSource) AsXeroSource() (*XeroSource, bool) {
171150	return nil, false
171151}
171152
171153// AsSquareSource is the BasicCopySource implementation for SQLServerSource.
171154func (sss SQLServerSource) AsSquareSource() (*SquareSource, bool) {
171155	return nil, false
171156}
171157
171158// AsSparkSource is the BasicCopySource implementation for SQLServerSource.
171159func (sss SQLServerSource) AsSparkSource() (*SparkSource, bool) {
171160	return nil, false
171161}
171162
171163// AsShopifySource is the BasicCopySource implementation for SQLServerSource.
171164func (sss SQLServerSource) AsShopifySource() (*ShopifySource, bool) {
171165	return nil, false
171166}
171167
171168// AsServiceNowSource is the BasicCopySource implementation for SQLServerSource.
171169func (sss SQLServerSource) AsServiceNowSource() (*ServiceNowSource, bool) {
171170	return nil, false
171171}
171172
171173// AsQuickBooksSource is the BasicCopySource implementation for SQLServerSource.
171174func (sss SQLServerSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
171175	return nil, false
171176}
171177
171178// AsPrestoSource is the BasicCopySource implementation for SQLServerSource.
171179func (sss SQLServerSource) AsPrestoSource() (*PrestoSource, bool) {
171180	return nil, false
171181}
171182
171183// AsPhoenixSource is the BasicCopySource implementation for SQLServerSource.
171184func (sss SQLServerSource) AsPhoenixSource() (*PhoenixSource, bool) {
171185	return nil, false
171186}
171187
171188// AsPaypalSource is the BasicCopySource implementation for SQLServerSource.
171189func (sss SQLServerSource) AsPaypalSource() (*PaypalSource, bool) {
171190	return nil, false
171191}
171192
171193// AsMarketoSource is the BasicCopySource implementation for SQLServerSource.
171194func (sss SQLServerSource) AsMarketoSource() (*MarketoSource, bool) {
171195	return nil, false
171196}
171197
171198// AsMariaDBSource is the BasicCopySource implementation for SQLServerSource.
171199func (sss SQLServerSource) AsMariaDBSource() (*MariaDBSource, bool) {
171200	return nil, false
171201}
171202
171203// AsMagentoSource is the BasicCopySource implementation for SQLServerSource.
171204func (sss SQLServerSource) AsMagentoSource() (*MagentoSource, bool) {
171205	return nil, false
171206}
171207
171208// AsJiraSource is the BasicCopySource implementation for SQLServerSource.
171209func (sss SQLServerSource) AsJiraSource() (*JiraSource, bool) {
171210	return nil, false
171211}
171212
171213// AsImpalaSource is the BasicCopySource implementation for SQLServerSource.
171214func (sss SQLServerSource) AsImpalaSource() (*ImpalaSource, bool) {
171215	return nil, false
171216}
171217
171218// AsHubspotSource is the BasicCopySource implementation for SQLServerSource.
171219func (sss SQLServerSource) AsHubspotSource() (*HubspotSource, bool) {
171220	return nil, false
171221}
171222
171223// AsHiveSource is the BasicCopySource implementation for SQLServerSource.
171224func (sss SQLServerSource) AsHiveSource() (*HiveSource, bool) {
171225	return nil, false
171226}
171227
171228// AsHBaseSource is the BasicCopySource implementation for SQLServerSource.
171229func (sss SQLServerSource) AsHBaseSource() (*HBaseSource, bool) {
171230	return nil, false
171231}
171232
171233// AsGreenplumSource is the BasicCopySource implementation for SQLServerSource.
171234func (sss SQLServerSource) AsGreenplumSource() (*GreenplumSource, bool) {
171235	return nil, false
171236}
171237
171238// AsGoogleBigQuerySource is the BasicCopySource implementation for SQLServerSource.
171239func (sss SQLServerSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
171240	return nil, false
171241}
171242
171243// AsEloquaSource is the BasicCopySource implementation for SQLServerSource.
171244func (sss SQLServerSource) AsEloquaSource() (*EloquaSource, bool) {
171245	return nil, false
171246}
171247
171248// AsDrillSource is the BasicCopySource implementation for SQLServerSource.
171249func (sss SQLServerSource) AsDrillSource() (*DrillSource, bool) {
171250	return nil, false
171251}
171252
171253// AsCouchbaseSource is the BasicCopySource implementation for SQLServerSource.
171254func (sss SQLServerSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
171255	return nil, false
171256}
171257
171258// AsConcurSource is the BasicCopySource implementation for SQLServerSource.
171259func (sss SQLServerSource) AsConcurSource() (*ConcurSource, bool) {
171260	return nil, false
171261}
171262
171263// AsAzurePostgreSQLSource is the BasicCopySource implementation for SQLServerSource.
171264func (sss SQLServerSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
171265	return nil, false
171266}
171267
171268// AsAmazonMWSSource is the BasicCopySource implementation for SQLServerSource.
171269func (sss SQLServerSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
171270	return nil, false
171271}
171272
171273// AsHTTPSource is the BasicCopySource implementation for SQLServerSource.
171274func (sss SQLServerSource) AsHTTPSource() (*HTTPSource, bool) {
171275	return nil, false
171276}
171277
171278// AsAzureBlobFSSource is the BasicCopySource implementation for SQLServerSource.
171279func (sss SQLServerSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) {
171280	return nil, false
171281}
171282
171283// AsAzureDataLakeStoreSource is the BasicCopySource implementation for SQLServerSource.
171284func (sss SQLServerSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
171285	return nil, false
171286}
171287
171288// AsOffice365Source is the BasicCopySource implementation for SQLServerSource.
171289func (sss SQLServerSource) AsOffice365Source() (*Office365Source, bool) {
171290	return nil, false
171291}
171292
171293// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for SQLServerSource.
171294func (sss SQLServerSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) {
171295	return nil, false
171296}
171297
171298// AsMongoDbV2Source is the BasicCopySource implementation for SQLServerSource.
171299func (sss SQLServerSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) {
171300	return nil, false
171301}
171302
171303// AsMongoDbSource is the BasicCopySource implementation for SQLServerSource.
171304func (sss SQLServerSource) AsMongoDbSource() (*MongoDbSource, bool) {
171305	return nil, false
171306}
171307
171308// AsCassandraSource is the BasicCopySource implementation for SQLServerSource.
171309func (sss SQLServerSource) AsCassandraSource() (*CassandraSource, bool) {
171310	return nil, false
171311}
171312
171313// AsWebSource is the BasicCopySource implementation for SQLServerSource.
171314func (sss SQLServerSource) AsWebSource() (*WebSource, bool) {
171315	return nil, false
171316}
171317
171318// AsTeradataSource is the BasicCopySource implementation for SQLServerSource.
171319func (sss SQLServerSource) AsTeradataSource() (*TeradataSource, bool) {
171320	return nil, false
171321}
171322
171323// AsOracleSource is the BasicCopySource implementation for SQLServerSource.
171324func (sss SQLServerSource) AsOracleSource() (*OracleSource, bool) {
171325	return nil, false
171326}
171327
171328// AsAzureDataExplorerSource is the BasicCopySource implementation for SQLServerSource.
171329func (sss SQLServerSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) {
171330	return nil, false
171331}
171332
171333// AsAzureMySQLSource is the BasicCopySource implementation for SQLServerSource.
171334func (sss SQLServerSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
171335	return nil, false
171336}
171337
171338// AsHdfsSource is the BasicCopySource implementation for SQLServerSource.
171339func (sss SQLServerSource) AsHdfsSource() (*HdfsSource, bool) {
171340	return nil, false
171341}
171342
171343// AsFileSystemSource is the BasicCopySource implementation for SQLServerSource.
171344func (sss SQLServerSource) AsFileSystemSource() (*FileSystemSource, bool) {
171345	return nil, false
171346}
171347
171348// AsSQLDWSource is the BasicCopySource implementation for SQLServerSource.
171349func (sss SQLServerSource) AsSQLDWSource() (*SQLDWSource, bool) {
171350	return nil, false
171351}
171352
171353// AsSQLMISource is the BasicCopySource implementation for SQLServerSource.
171354func (sss SQLServerSource) AsSQLMISource() (*SQLMISource, bool) {
171355	return nil, false
171356}
171357
171358// AsAzureSQLSource is the BasicCopySource implementation for SQLServerSource.
171359func (sss SQLServerSource) AsAzureSQLSource() (*AzureSQLSource, bool) {
171360	return nil, false
171361}
171362
171363// AsSQLServerSource is the BasicCopySource implementation for SQLServerSource.
171364func (sss SQLServerSource) AsSQLServerSource() (*SQLServerSource, bool) {
171365	return &sss, true
171366}
171367
171368// AsSQLSource is the BasicCopySource implementation for SQLServerSource.
171369func (sss SQLServerSource) AsSQLSource() (*SQLSource, bool) {
171370	return nil, false
171371}
171372
171373// AsRestSource is the BasicCopySource implementation for SQLServerSource.
171374func (sss SQLServerSource) AsRestSource() (*RestSource, bool) {
171375	return nil, false
171376}
171377
171378// AsSapTableSource is the BasicCopySource implementation for SQLServerSource.
171379func (sss SQLServerSource) AsSapTableSource() (*SapTableSource, bool) {
171380	return nil, false
171381}
171382
171383// AsSapOpenHubSource is the BasicCopySource implementation for SQLServerSource.
171384func (sss SQLServerSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) {
171385	return nil, false
171386}
171387
171388// AsSapHanaSource is the BasicCopySource implementation for SQLServerSource.
171389func (sss SQLServerSource) AsSapHanaSource() (*SapHanaSource, bool) {
171390	return nil, false
171391}
171392
171393// AsSapEccSource is the BasicCopySource implementation for SQLServerSource.
171394func (sss SQLServerSource) AsSapEccSource() (*SapEccSource, bool) {
171395	return nil, false
171396}
171397
171398// AsSapCloudForCustomerSource is the BasicCopySource implementation for SQLServerSource.
171399func (sss SQLServerSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
171400	return nil, false
171401}
171402
171403// AsSalesforceServiceCloudSource is the BasicCopySource implementation for SQLServerSource.
171404func (sss SQLServerSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) {
171405	return nil, false
171406}
171407
171408// AsSalesforceSource is the BasicCopySource implementation for SQLServerSource.
171409func (sss SQLServerSource) AsSalesforceSource() (*SalesforceSource, bool) {
171410	return nil, false
171411}
171412
171413// AsODataSource is the BasicCopySource implementation for SQLServerSource.
171414func (sss SQLServerSource) AsODataSource() (*ODataSource, bool) {
171415	return nil, false
171416}
171417
171418// AsSybaseSource is the BasicCopySource implementation for SQLServerSource.
171419func (sss SQLServerSource) AsSybaseSource() (*SybaseSource, bool) {
171420	return nil, false
171421}
171422
171423// AsPostgreSQLSource is the BasicCopySource implementation for SQLServerSource.
171424func (sss SQLServerSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) {
171425	return nil, false
171426}
171427
171428// AsMySQLSource is the BasicCopySource implementation for SQLServerSource.
171429func (sss SQLServerSource) AsMySQLSource() (*MySQLSource, bool) {
171430	return nil, false
171431}
171432
171433// AsOdbcSource is the BasicCopySource implementation for SQLServerSource.
171434func (sss SQLServerSource) AsOdbcSource() (*OdbcSource, bool) {
171435	return nil, false
171436}
171437
171438// AsDb2Source is the BasicCopySource implementation for SQLServerSource.
171439func (sss SQLServerSource) AsDb2Source() (*Db2Source, bool) {
171440	return nil, false
171441}
171442
171443// AsMicrosoftAccessSource is the BasicCopySource implementation for SQLServerSource.
171444func (sss SQLServerSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) {
171445	return nil, false
171446}
171447
171448// AsInformixSource is the BasicCopySource implementation for SQLServerSource.
171449func (sss SQLServerSource) AsInformixSource() (*InformixSource, bool) {
171450	return nil, false
171451}
171452
171453// AsRelationalSource is the BasicCopySource implementation for SQLServerSource.
171454func (sss SQLServerSource) AsRelationalSource() (*RelationalSource, bool) {
171455	return nil, false
171456}
171457
171458// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for SQLServerSource.
171459func (sss SQLServerSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) {
171460	return nil, false
171461}
171462
171463// AsDynamicsCrmSource is the BasicCopySource implementation for SQLServerSource.
171464func (sss SQLServerSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) {
171465	return nil, false
171466}
171467
171468// AsDynamicsSource is the BasicCopySource implementation for SQLServerSource.
171469func (sss SQLServerSource) AsDynamicsSource() (*DynamicsSource, bool) {
171470	return nil, false
171471}
171472
171473// AsDocumentDbCollectionSource is the BasicCopySource implementation for SQLServerSource.
171474func (sss SQLServerSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
171475	return nil, false
171476}
171477
171478// AsBlobSource is the BasicCopySource implementation for SQLServerSource.
171479func (sss SQLServerSource) AsBlobSource() (*BlobSource, bool) {
171480	return nil, false
171481}
171482
171483// AsAzureTableSource is the BasicCopySource implementation for SQLServerSource.
171484func (sss SQLServerSource) AsAzureTableSource() (*AzureTableSource, bool) {
171485	return nil, false
171486}
171487
171488// AsBinarySource is the BasicCopySource implementation for SQLServerSource.
171489func (sss SQLServerSource) AsBinarySource() (*BinarySource, bool) {
171490	return nil, false
171491}
171492
171493// AsDelimitedTextSource is the BasicCopySource implementation for SQLServerSource.
171494func (sss SQLServerSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) {
171495	return nil, false
171496}
171497
171498// AsParquetSource is the BasicCopySource implementation for SQLServerSource.
171499func (sss SQLServerSource) AsParquetSource() (*ParquetSource, bool) {
171500	return nil, false
171501}
171502
171503// AsCopySource is the BasicCopySource implementation for SQLServerSource.
171504func (sss SQLServerSource) AsCopySource() (*CopySource, bool) {
171505	return nil, false
171506}
171507
171508// AsBasicCopySource is the BasicCopySource implementation for SQLServerSource.
171509func (sss SQLServerSource) AsBasicCopySource() (BasicCopySource, bool) {
171510	return &sss, true
171511}
171512
171513// UnmarshalJSON is the custom unmarshaler for SQLServerSource struct.
171514func (sss *SQLServerSource) UnmarshalJSON(body []byte) error {
171515	var m map[string]*json.RawMessage
171516	err := json.Unmarshal(body, &m)
171517	if err != nil {
171518		return err
171519	}
171520	for k, v := range m {
171521		switch k {
171522		case "sqlReaderQuery":
171523			if v != nil {
171524				var SQLReaderQuery interface{}
171525				err = json.Unmarshal(*v, &SQLReaderQuery)
171526				if err != nil {
171527					return err
171528				}
171529				sss.SQLReaderQuery = SQLReaderQuery
171530			}
171531		case "sqlReaderStoredProcedureName":
171532			if v != nil {
171533				var SQLReaderStoredProcedureName interface{}
171534				err = json.Unmarshal(*v, &SQLReaderStoredProcedureName)
171535				if err != nil {
171536					return err
171537				}
171538				sss.SQLReaderStoredProcedureName = SQLReaderStoredProcedureName
171539			}
171540		case "storedProcedureParameters":
171541			if v != nil {
171542				var storedProcedureParameters map[string]*StoredProcedureParameter
171543				err = json.Unmarshal(*v, &storedProcedureParameters)
171544				if err != nil {
171545					return err
171546				}
171547				sss.StoredProcedureParameters = storedProcedureParameters
171548			}
171549		case "produceAdditionalTypes":
171550			if v != nil {
171551				var produceAdditionalTypes interface{}
171552				err = json.Unmarshal(*v, &produceAdditionalTypes)
171553				if err != nil {
171554					return err
171555				}
171556				sss.ProduceAdditionalTypes = produceAdditionalTypes
171557			}
171558		default:
171559			if v != nil {
171560				var additionalProperties interface{}
171561				err = json.Unmarshal(*v, &additionalProperties)
171562				if err != nil {
171563					return err
171564				}
171565				if sss.AdditionalProperties == nil {
171566					sss.AdditionalProperties = make(map[string]interface{})
171567				}
171568				sss.AdditionalProperties[k] = additionalProperties
171569			}
171570		case "sourceRetryCount":
171571			if v != nil {
171572				var sourceRetryCount interface{}
171573				err = json.Unmarshal(*v, &sourceRetryCount)
171574				if err != nil {
171575					return err
171576				}
171577				sss.SourceRetryCount = sourceRetryCount
171578			}
171579		case "sourceRetryWait":
171580			if v != nil {
171581				var sourceRetryWait interface{}
171582				err = json.Unmarshal(*v, &sourceRetryWait)
171583				if err != nil {
171584					return err
171585				}
171586				sss.SourceRetryWait = sourceRetryWait
171587			}
171588		case "maxConcurrentConnections":
171589			if v != nil {
171590				var maxConcurrentConnections interface{}
171591				err = json.Unmarshal(*v, &maxConcurrentConnections)
171592				if err != nil {
171593					return err
171594				}
171595				sss.MaxConcurrentConnections = maxConcurrentConnections
171596			}
171597		case "type":
171598			if v != nil {
171599				var typeVar TypeBasicCopySource
171600				err = json.Unmarshal(*v, &typeVar)
171601				if err != nil {
171602					return err
171603				}
171604				sss.Type = typeVar
171605			}
171606		}
171607	}
171608
171609	return nil
171610}
171611
171612// SQLServerStoredProcedureActivity SQL stored procedure activity type.
171613type SQLServerStoredProcedureActivity struct {
171614	// SQLServerStoredProcedureActivityTypeProperties - SQL stored procedure activity properties.
171615	*SQLServerStoredProcedureActivityTypeProperties `json:"typeProperties,omitempty"`
171616	// LinkedServiceName - Linked service reference.
171617	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
171618	// Policy - Activity policy.
171619	Policy *ActivityPolicy `json:"policy,omitempty"`
171620	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
171621	AdditionalProperties map[string]interface{} `json:""`
171622	// Name - Activity name.
171623	Name *string `json:"name,omitempty"`
171624	// Description - Activity description.
171625	Description *string `json:"description,omitempty"`
171626	// DependsOn - Activity depends on condition.
171627	DependsOn *[]ActivityDependency `json:"dependsOn,omitempty"`
171628	// UserProperties - Activity user properties.
171629	UserProperties *[]UserProperty `json:"userProperties,omitempty"`
171630	// Type - Possible values include: 'TypeActivity', 'TypeAzureFunctionActivity', 'TypeDatabricksSparkPython', 'TypeDatabricksSparkJar', 'TypeDatabricksNotebook', 'TypeDataLakeAnalyticsUSQL', 'TypeAzureMLUpdateResource', 'TypeAzureMLBatchExecution', 'TypeGetMetadata', 'TypeWebActivity', 'TypeLookup', 'TypeAzureDataExplorerCommand', 'TypeDelete', 'TypeSQLServerStoredProcedure', 'TypeCustom', 'TypeExecuteSSISPackage', 'TypeHDInsightSpark', 'TypeHDInsightStreaming', 'TypeHDInsightMapReduce', 'TypeHDInsightPig', 'TypeHDInsightHive', 'TypeCopy', 'TypeExecution', 'TypeWebHook', 'TypeAppendVariable', 'TypeSetVariable', 'TypeFilter', 'TypeValidation', 'TypeUntil', 'TypeWait', 'TypeForEach', 'TypeIfCondition', 'TypeExecutePipeline', 'TypeContainer'
171631	Type TypeBasicActivity `json:"type,omitempty"`
171632}
171633
171634// MarshalJSON is the custom marshaler for SQLServerStoredProcedureActivity.
171635func (ssspa SQLServerStoredProcedureActivity) MarshalJSON() ([]byte, error) {
171636	ssspa.Type = TypeSQLServerStoredProcedure
171637	objectMap := make(map[string]interface{})
171638	if ssspa.SQLServerStoredProcedureActivityTypeProperties != nil {
171639		objectMap["typeProperties"] = ssspa.SQLServerStoredProcedureActivityTypeProperties
171640	}
171641	if ssspa.LinkedServiceName != nil {
171642		objectMap["linkedServiceName"] = ssspa.LinkedServiceName
171643	}
171644	if ssspa.Policy != nil {
171645		objectMap["policy"] = ssspa.Policy
171646	}
171647	if ssspa.Name != nil {
171648		objectMap["name"] = ssspa.Name
171649	}
171650	if ssspa.Description != nil {
171651		objectMap["description"] = ssspa.Description
171652	}
171653	if ssspa.DependsOn != nil {
171654		objectMap["dependsOn"] = ssspa.DependsOn
171655	}
171656	if ssspa.UserProperties != nil {
171657		objectMap["userProperties"] = ssspa.UserProperties
171658	}
171659	if ssspa.Type != "" {
171660		objectMap["type"] = ssspa.Type
171661	}
171662	for k, v := range ssspa.AdditionalProperties {
171663		objectMap[k] = v
171664	}
171665	return json.Marshal(objectMap)
171666}
171667
171668// AsAzureFunctionActivity is the BasicActivity implementation for SQLServerStoredProcedureActivity.
171669func (ssspa SQLServerStoredProcedureActivity) AsAzureFunctionActivity() (*AzureFunctionActivity, bool) {
171670	return nil, false
171671}
171672
171673// AsDatabricksSparkPythonActivity is the BasicActivity implementation for SQLServerStoredProcedureActivity.
171674func (ssspa SQLServerStoredProcedureActivity) AsDatabricksSparkPythonActivity() (*DatabricksSparkPythonActivity, bool) {
171675	return nil, false
171676}
171677
171678// AsDatabricksSparkJarActivity is the BasicActivity implementation for SQLServerStoredProcedureActivity.
171679func (ssspa SQLServerStoredProcedureActivity) AsDatabricksSparkJarActivity() (*DatabricksSparkJarActivity, bool) {
171680	return nil, false
171681}
171682
171683// AsDatabricksNotebookActivity is the BasicActivity implementation for SQLServerStoredProcedureActivity.
171684func (ssspa SQLServerStoredProcedureActivity) AsDatabricksNotebookActivity() (*DatabricksNotebookActivity, bool) {
171685	return nil, false
171686}
171687
171688// AsDataLakeAnalyticsUSQLActivity is the BasicActivity implementation for SQLServerStoredProcedureActivity.
171689func (ssspa SQLServerStoredProcedureActivity) AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalyticsUSQLActivity, bool) {
171690	return nil, false
171691}
171692
171693// AsAzureMLUpdateResourceActivity is the BasicActivity implementation for SQLServerStoredProcedureActivity.
171694func (ssspa SQLServerStoredProcedureActivity) AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool) {
171695	return nil, false
171696}
171697
171698// AsAzureMLBatchExecutionActivity is the BasicActivity implementation for SQLServerStoredProcedureActivity.
171699func (ssspa SQLServerStoredProcedureActivity) AsAzureMLBatchExecutionActivity() (*AzureMLBatchExecutionActivity, bool) {
171700	return nil, false
171701}
171702
171703// AsGetMetadataActivity is the BasicActivity implementation for SQLServerStoredProcedureActivity.
171704func (ssspa SQLServerStoredProcedureActivity) AsGetMetadataActivity() (*GetMetadataActivity, bool) {
171705	return nil, false
171706}
171707
171708// AsWebActivity is the BasicActivity implementation for SQLServerStoredProcedureActivity.
171709func (ssspa SQLServerStoredProcedureActivity) AsWebActivity() (*WebActivity, bool) {
171710	return nil, false
171711}
171712
171713// AsLookupActivity is the BasicActivity implementation for SQLServerStoredProcedureActivity.
171714func (ssspa SQLServerStoredProcedureActivity) AsLookupActivity() (*LookupActivity, bool) {
171715	return nil, false
171716}
171717
171718// AsAzureDataExplorerCommandActivity is the BasicActivity implementation for SQLServerStoredProcedureActivity.
171719func (ssspa SQLServerStoredProcedureActivity) AsAzureDataExplorerCommandActivity() (*AzureDataExplorerCommandActivity, bool) {
171720	return nil, false
171721}
171722
171723// AsDeleteActivity is the BasicActivity implementation for SQLServerStoredProcedureActivity.
171724func (ssspa SQLServerStoredProcedureActivity) AsDeleteActivity() (*DeleteActivity, bool) {
171725	return nil, false
171726}
171727
171728// AsSQLServerStoredProcedureActivity is the BasicActivity implementation for SQLServerStoredProcedureActivity.
171729func (ssspa SQLServerStoredProcedureActivity) AsSQLServerStoredProcedureActivity() (*SQLServerStoredProcedureActivity, bool) {
171730	return &ssspa, true
171731}
171732
171733// AsCustomActivity is the BasicActivity implementation for SQLServerStoredProcedureActivity.
171734func (ssspa SQLServerStoredProcedureActivity) AsCustomActivity() (*CustomActivity, bool) {
171735	return nil, false
171736}
171737
171738// AsExecuteSSISPackageActivity is the BasicActivity implementation for SQLServerStoredProcedureActivity.
171739func (ssspa SQLServerStoredProcedureActivity) AsExecuteSSISPackageActivity() (*ExecuteSSISPackageActivity, bool) {
171740	return nil, false
171741}
171742
171743// AsHDInsightSparkActivity is the BasicActivity implementation for SQLServerStoredProcedureActivity.
171744func (ssspa SQLServerStoredProcedureActivity) AsHDInsightSparkActivity() (*HDInsightSparkActivity, bool) {
171745	return nil, false
171746}
171747
171748// AsHDInsightStreamingActivity is the BasicActivity implementation for SQLServerStoredProcedureActivity.
171749func (ssspa SQLServerStoredProcedureActivity) AsHDInsightStreamingActivity() (*HDInsightStreamingActivity, bool) {
171750	return nil, false
171751}
171752
171753// AsHDInsightMapReduceActivity is the BasicActivity implementation for SQLServerStoredProcedureActivity.
171754func (ssspa SQLServerStoredProcedureActivity) AsHDInsightMapReduceActivity() (*HDInsightMapReduceActivity, bool) {
171755	return nil, false
171756}
171757
171758// AsHDInsightPigActivity is the BasicActivity implementation for SQLServerStoredProcedureActivity.
171759func (ssspa SQLServerStoredProcedureActivity) AsHDInsightPigActivity() (*HDInsightPigActivity, bool) {
171760	return nil, false
171761}
171762
171763// AsHDInsightHiveActivity is the BasicActivity implementation for SQLServerStoredProcedureActivity.
171764func (ssspa SQLServerStoredProcedureActivity) AsHDInsightHiveActivity() (*HDInsightHiveActivity, bool) {
171765	return nil, false
171766}
171767
171768// AsCopyActivity is the BasicActivity implementation for SQLServerStoredProcedureActivity.
171769func (ssspa SQLServerStoredProcedureActivity) AsCopyActivity() (*CopyActivity, bool) {
171770	return nil, false
171771}
171772
171773// AsExecutionActivity is the BasicActivity implementation for SQLServerStoredProcedureActivity.
171774func (ssspa SQLServerStoredProcedureActivity) AsExecutionActivity() (*ExecutionActivity, bool) {
171775	return nil, false
171776}
171777
171778// AsBasicExecutionActivity is the BasicActivity implementation for SQLServerStoredProcedureActivity.
171779func (ssspa SQLServerStoredProcedureActivity) AsBasicExecutionActivity() (BasicExecutionActivity, bool) {
171780	return &ssspa, true
171781}
171782
171783// AsWebHookActivity is the BasicActivity implementation for SQLServerStoredProcedureActivity.
171784func (ssspa SQLServerStoredProcedureActivity) AsWebHookActivity() (*WebHookActivity, bool) {
171785	return nil, false
171786}
171787
171788// AsAppendVariableActivity is the BasicActivity implementation for SQLServerStoredProcedureActivity.
171789func (ssspa SQLServerStoredProcedureActivity) AsAppendVariableActivity() (*AppendVariableActivity, bool) {
171790	return nil, false
171791}
171792
171793// AsSetVariableActivity is the BasicActivity implementation for SQLServerStoredProcedureActivity.
171794func (ssspa SQLServerStoredProcedureActivity) AsSetVariableActivity() (*SetVariableActivity, bool) {
171795	return nil, false
171796}
171797
171798// AsFilterActivity is the BasicActivity implementation for SQLServerStoredProcedureActivity.
171799func (ssspa SQLServerStoredProcedureActivity) AsFilterActivity() (*FilterActivity, bool) {
171800	return nil, false
171801}
171802
171803// AsValidationActivity is the BasicActivity implementation for SQLServerStoredProcedureActivity.
171804func (ssspa SQLServerStoredProcedureActivity) AsValidationActivity() (*ValidationActivity, bool) {
171805	return nil, false
171806}
171807
171808// AsUntilActivity is the BasicActivity implementation for SQLServerStoredProcedureActivity.
171809func (ssspa SQLServerStoredProcedureActivity) AsUntilActivity() (*UntilActivity, bool) {
171810	return nil, false
171811}
171812
171813// AsWaitActivity is the BasicActivity implementation for SQLServerStoredProcedureActivity.
171814func (ssspa SQLServerStoredProcedureActivity) AsWaitActivity() (*WaitActivity, bool) {
171815	return nil, false
171816}
171817
171818// AsForEachActivity is the BasicActivity implementation for SQLServerStoredProcedureActivity.
171819func (ssspa SQLServerStoredProcedureActivity) AsForEachActivity() (*ForEachActivity, bool) {
171820	return nil, false
171821}
171822
171823// AsIfConditionActivity is the BasicActivity implementation for SQLServerStoredProcedureActivity.
171824func (ssspa SQLServerStoredProcedureActivity) AsIfConditionActivity() (*IfConditionActivity, bool) {
171825	return nil, false
171826}
171827
171828// AsExecutePipelineActivity is the BasicActivity implementation for SQLServerStoredProcedureActivity.
171829func (ssspa SQLServerStoredProcedureActivity) AsExecutePipelineActivity() (*ExecutePipelineActivity, bool) {
171830	return nil, false
171831}
171832
171833// AsControlActivity is the BasicActivity implementation for SQLServerStoredProcedureActivity.
171834func (ssspa SQLServerStoredProcedureActivity) AsControlActivity() (*ControlActivity, bool) {
171835	return nil, false
171836}
171837
171838// AsBasicControlActivity is the BasicActivity implementation for SQLServerStoredProcedureActivity.
171839func (ssspa SQLServerStoredProcedureActivity) AsBasicControlActivity() (BasicControlActivity, bool) {
171840	return nil, false
171841}
171842
171843// AsActivity is the BasicActivity implementation for SQLServerStoredProcedureActivity.
171844func (ssspa SQLServerStoredProcedureActivity) AsActivity() (*Activity, bool) {
171845	return nil, false
171846}
171847
171848// AsBasicActivity is the BasicActivity implementation for SQLServerStoredProcedureActivity.
171849func (ssspa SQLServerStoredProcedureActivity) AsBasicActivity() (BasicActivity, bool) {
171850	return &ssspa, true
171851}
171852
171853// UnmarshalJSON is the custom unmarshaler for SQLServerStoredProcedureActivity struct.
171854func (ssspa *SQLServerStoredProcedureActivity) UnmarshalJSON(body []byte) error {
171855	var m map[string]*json.RawMessage
171856	err := json.Unmarshal(body, &m)
171857	if err != nil {
171858		return err
171859	}
171860	for k, v := range m {
171861		switch k {
171862		case "typeProperties":
171863			if v != nil {
171864				var SQLServerStoredProcedureActivityTypeProperties SQLServerStoredProcedureActivityTypeProperties
171865				err = json.Unmarshal(*v, &SQLServerStoredProcedureActivityTypeProperties)
171866				if err != nil {
171867					return err
171868				}
171869				ssspa.SQLServerStoredProcedureActivityTypeProperties = &SQLServerStoredProcedureActivityTypeProperties
171870			}
171871		case "linkedServiceName":
171872			if v != nil {
171873				var linkedServiceName LinkedServiceReference
171874				err = json.Unmarshal(*v, &linkedServiceName)
171875				if err != nil {
171876					return err
171877				}
171878				ssspa.LinkedServiceName = &linkedServiceName
171879			}
171880		case "policy":
171881			if v != nil {
171882				var policy ActivityPolicy
171883				err = json.Unmarshal(*v, &policy)
171884				if err != nil {
171885					return err
171886				}
171887				ssspa.Policy = &policy
171888			}
171889		default:
171890			if v != nil {
171891				var additionalProperties interface{}
171892				err = json.Unmarshal(*v, &additionalProperties)
171893				if err != nil {
171894					return err
171895				}
171896				if ssspa.AdditionalProperties == nil {
171897					ssspa.AdditionalProperties = make(map[string]interface{})
171898				}
171899				ssspa.AdditionalProperties[k] = additionalProperties
171900			}
171901		case "name":
171902			if v != nil {
171903				var name string
171904				err = json.Unmarshal(*v, &name)
171905				if err != nil {
171906					return err
171907				}
171908				ssspa.Name = &name
171909			}
171910		case "description":
171911			if v != nil {
171912				var description string
171913				err = json.Unmarshal(*v, &description)
171914				if err != nil {
171915					return err
171916				}
171917				ssspa.Description = &description
171918			}
171919		case "dependsOn":
171920			if v != nil {
171921				var dependsOn []ActivityDependency
171922				err = json.Unmarshal(*v, &dependsOn)
171923				if err != nil {
171924					return err
171925				}
171926				ssspa.DependsOn = &dependsOn
171927			}
171928		case "userProperties":
171929			if v != nil {
171930				var userProperties []UserProperty
171931				err = json.Unmarshal(*v, &userProperties)
171932				if err != nil {
171933					return err
171934				}
171935				ssspa.UserProperties = &userProperties
171936			}
171937		case "type":
171938			if v != nil {
171939				var typeVar TypeBasicActivity
171940				err = json.Unmarshal(*v, &typeVar)
171941				if err != nil {
171942					return err
171943				}
171944				ssspa.Type = typeVar
171945			}
171946		}
171947	}
171948
171949	return nil
171950}
171951
171952// SQLServerStoredProcedureActivityTypeProperties SQL stored procedure activity properties.
171953type SQLServerStoredProcedureActivityTypeProperties struct {
171954	// StoredProcedureName - Stored procedure name. Type: string (or Expression with resultType string).
171955	StoredProcedureName interface{} `json:"storedProcedureName,omitempty"`
171956	// StoredProcedureParameters - Value and type setting for stored procedure parameters. Example: "{Parameter1: {value: "1", type: "int"}}".
171957	StoredProcedureParameters map[string]*StoredProcedureParameter `json:"storedProcedureParameters"`
171958}
171959
171960// MarshalJSON is the custom marshaler for SQLServerStoredProcedureActivityTypeProperties.
171961func (ssspatp SQLServerStoredProcedureActivityTypeProperties) MarshalJSON() ([]byte, error) {
171962	objectMap := make(map[string]interface{})
171963	if ssspatp.StoredProcedureName != nil {
171964		objectMap["storedProcedureName"] = ssspatp.StoredProcedureName
171965	}
171966	if ssspatp.StoredProcedureParameters != nil {
171967		objectMap["storedProcedureParameters"] = ssspatp.StoredProcedureParameters
171968	}
171969	return json.Marshal(objectMap)
171970}
171971
171972// SQLServerTableDataset the on-premises SQL Server dataset.
171973type SQLServerTableDataset struct {
171974	// SQLServerTableDatasetTypeProperties - On-premises SQL Server dataset properties.
171975	*SQLServerTableDatasetTypeProperties `json:"typeProperties,omitempty"`
171976	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
171977	AdditionalProperties map[string]interface{} `json:""`
171978	// Description - Dataset description.
171979	Description *string `json:"description,omitempty"`
171980	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
171981	Structure interface{} `json:"structure,omitempty"`
171982	// Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement.
171983	Schema interface{} `json:"schema,omitempty"`
171984	// LinkedServiceName - Linked service reference.
171985	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
171986	// Parameters - Parameters for dataset.
171987	Parameters map[string]*ParameterSpecification `json:"parameters"`
171988	// Annotations - List of tags that can be used for describing the Dataset.
171989	Annotations *[]interface{} `json:"annotations,omitempty"`
171990	// Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level.
171991	Folder *DatasetFolder `json:"folder,omitempty"`
171992	// Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', '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', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeDelimitedText', 'TypeParquet', 'TypeAmazonS3Object'
171993	Type TypeBasicDataset `json:"type,omitempty"`
171994}
171995
171996// MarshalJSON is the custom marshaler for SQLServerTableDataset.
171997func (sstd SQLServerTableDataset) MarshalJSON() ([]byte, error) {
171998	sstd.Type = TypeSQLServerTable
171999	objectMap := make(map[string]interface{})
172000	if sstd.SQLServerTableDatasetTypeProperties != nil {
172001		objectMap["typeProperties"] = sstd.SQLServerTableDatasetTypeProperties
172002	}
172003	if sstd.Description != nil {
172004		objectMap["description"] = sstd.Description
172005	}
172006	if sstd.Structure != nil {
172007		objectMap["structure"] = sstd.Structure
172008	}
172009	if sstd.Schema != nil {
172010		objectMap["schema"] = sstd.Schema
172011	}
172012	if sstd.LinkedServiceName != nil {
172013		objectMap["linkedServiceName"] = sstd.LinkedServiceName
172014	}
172015	if sstd.Parameters != nil {
172016		objectMap["parameters"] = sstd.Parameters
172017	}
172018	if sstd.Annotations != nil {
172019		objectMap["annotations"] = sstd.Annotations
172020	}
172021	if sstd.Folder != nil {
172022		objectMap["folder"] = sstd.Folder
172023	}
172024	if sstd.Type != "" {
172025		objectMap["type"] = sstd.Type
172026	}
172027	for k, v := range sstd.AdditionalProperties {
172028		objectMap[k] = v
172029	}
172030	return json.Marshal(objectMap)
172031}
172032
172033// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for SQLServerTableDataset.
172034func (sstd SQLServerTableDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) {
172035	return nil, false
172036}
172037
172038// AsAzureDataExplorerTableDataset is the BasicDataset implementation for SQLServerTableDataset.
172039func (sstd SQLServerTableDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) {
172040	return nil, false
172041}
172042
172043// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for SQLServerTableDataset.
172044func (sstd SQLServerTableDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) {
172045	return nil, false
172046}
172047
172048// AsDynamicsAXResourceDataset is the BasicDataset implementation for SQLServerTableDataset.
172049func (sstd SQLServerTableDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) {
172050	return nil, false
172051}
172052
172053// AsResponsysObjectDataset is the BasicDataset implementation for SQLServerTableDataset.
172054func (sstd SQLServerTableDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
172055	return nil, false
172056}
172057
172058// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for SQLServerTableDataset.
172059func (sstd SQLServerTableDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
172060	return nil, false
172061}
172062
172063// AsVerticaTableDataset is the BasicDataset implementation for SQLServerTableDataset.
172064func (sstd SQLServerTableDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
172065	return nil, false
172066}
172067
172068// AsNetezzaTableDataset is the BasicDataset implementation for SQLServerTableDataset.
172069func (sstd SQLServerTableDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
172070	return nil, false
172071}
172072
172073// AsZohoObjectDataset is the BasicDataset implementation for SQLServerTableDataset.
172074func (sstd SQLServerTableDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
172075	return nil, false
172076}
172077
172078// AsXeroObjectDataset is the BasicDataset implementation for SQLServerTableDataset.
172079func (sstd SQLServerTableDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
172080	return nil, false
172081}
172082
172083// AsSquareObjectDataset is the BasicDataset implementation for SQLServerTableDataset.
172084func (sstd SQLServerTableDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
172085	return nil, false
172086}
172087
172088// AsSparkObjectDataset is the BasicDataset implementation for SQLServerTableDataset.
172089func (sstd SQLServerTableDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
172090	return nil, false
172091}
172092
172093// AsShopifyObjectDataset is the BasicDataset implementation for SQLServerTableDataset.
172094func (sstd SQLServerTableDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
172095	return nil, false
172096}
172097
172098// AsServiceNowObjectDataset is the BasicDataset implementation for SQLServerTableDataset.
172099func (sstd SQLServerTableDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
172100	return nil, false
172101}
172102
172103// AsQuickBooksObjectDataset is the BasicDataset implementation for SQLServerTableDataset.
172104func (sstd SQLServerTableDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
172105	return nil, false
172106}
172107
172108// AsPrestoObjectDataset is the BasicDataset implementation for SQLServerTableDataset.
172109func (sstd SQLServerTableDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
172110	return nil, false
172111}
172112
172113// AsPhoenixObjectDataset is the BasicDataset implementation for SQLServerTableDataset.
172114func (sstd SQLServerTableDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
172115	return nil, false
172116}
172117
172118// AsPaypalObjectDataset is the BasicDataset implementation for SQLServerTableDataset.
172119func (sstd SQLServerTableDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
172120	return nil, false
172121}
172122
172123// AsMarketoObjectDataset is the BasicDataset implementation for SQLServerTableDataset.
172124func (sstd SQLServerTableDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
172125	return nil, false
172126}
172127
172128// AsMariaDBTableDataset is the BasicDataset implementation for SQLServerTableDataset.
172129func (sstd SQLServerTableDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
172130	return nil, false
172131}
172132
172133// AsMagentoObjectDataset is the BasicDataset implementation for SQLServerTableDataset.
172134func (sstd SQLServerTableDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
172135	return nil, false
172136}
172137
172138// AsJiraObjectDataset is the BasicDataset implementation for SQLServerTableDataset.
172139func (sstd SQLServerTableDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
172140	return nil, false
172141}
172142
172143// AsImpalaObjectDataset is the BasicDataset implementation for SQLServerTableDataset.
172144func (sstd SQLServerTableDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
172145	return nil, false
172146}
172147
172148// AsHubspotObjectDataset is the BasicDataset implementation for SQLServerTableDataset.
172149func (sstd SQLServerTableDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
172150	return nil, false
172151}
172152
172153// AsHiveObjectDataset is the BasicDataset implementation for SQLServerTableDataset.
172154func (sstd SQLServerTableDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
172155	return nil, false
172156}
172157
172158// AsHBaseObjectDataset is the BasicDataset implementation for SQLServerTableDataset.
172159func (sstd SQLServerTableDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
172160	return nil, false
172161}
172162
172163// AsGreenplumTableDataset is the BasicDataset implementation for SQLServerTableDataset.
172164func (sstd SQLServerTableDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
172165	return nil, false
172166}
172167
172168// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for SQLServerTableDataset.
172169func (sstd SQLServerTableDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
172170	return nil, false
172171}
172172
172173// AsEloquaObjectDataset is the BasicDataset implementation for SQLServerTableDataset.
172174func (sstd SQLServerTableDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
172175	return nil, false
172176}
172177
172178// AsDrillTableDataset is the BasicDataset implementation for SQLServerTableDataset.
172179func (sstd SQLServerTableDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
172180	return nil, false
172181}
172182
172183// AsCouchbaseTableDataset is the BasicDataset implementation for SQLServerTableDataset.
172184func (sstd SQLServerTableDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
172185	return nil, false
172186}
172187
172188// AsConcurObjectDataset is the BasicDataset implementation for SQLServerTableDataset.
172189func (sstd SQLServerTableDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
172190	return nil, false
172191}
172192
172193// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for SQLServerTableDataset.
172194func (sstd SQLServerTableDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
172195	return nil, false
172196}
172197
172198// AsAmazonMWSObjectDataset is the BasicDataset implementation for SQLServerTableDataset.
172199func (sstd SQLServerTableDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
172200	return nil, false
172201}
172202
172203// AsHTTPDataset is the BasicDataset implementation for SQLServerTableDataset.
172204func (sstd SQLServerTableDataset) AsHTTPDataset() (*HTTPDataset, bool) {
172205	return nil, false
172206}
172207
172208// AsAzureSearchIndexDataset is the BasicDataset implementation for SQLServerTableDataset.
172209func (sstd SQLServerTableDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
172210	return nil, false
172211}
172212
172213// AsWebTableDataset is the BasicDataset implementation for SQLServerTableDataset.
172214func (sstd SQLServerTableDataset) AsWebTableDataset() (*WebTableDataset, bool) {
172215	return nil, false
172216}
172217
172218// AsSapTableResourceDataset is the BasicDataset implementation for SQLServerTableDataset.
172219func (sstd SQLServerTableDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) {
172220	return nil, false
172221}
172222
172223// AsRestResourceDataset is the BasicDataset implementation for SQLServerTableDataset.
172224func (sstd SQLServerTableDataset) AsRestResourceDataset() (*RestResourceDataset, bool) {
172225	return nil, false
172226}
172227
172228// AsSQLServerTableDataset is the BasicDataset implementation for SQLServerTableDataset.
172229func (sstd SQLServerTableDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
172230	return &sstd, true
172231}
172232
172233// AsSapOpenHubTableDataset is the BasicDataset implementation for SQLServerTableDataset.
172234func (sstd SQLServerTableDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) {
172235	return nil, false
172236}
172237
172238// AsSapHanaTableDataset is the BasicDataset implementation for SQLServerTableDataset.
172239func (sstd SQLServerTableDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) {
172240	return nil, false
172241}
172242
172243// AsSapEccResourceDataset is the BasicDataset implementation for SQLServerTableDataset.
172244func (sstd SQLServerTableDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
172245	return nil, false
172246}
172247
172248// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for SQLServerTableDataset.
172249func (sstd SQLServerTableDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
172250	return nil, false
172251}
172252
172253// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for SQLServerTableDataset.
172254func (sstd SQLServerTableDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) {
172255	return nil, false
172256}
172257
172258// AsSalesforceObjectDataset is the BasicDataset implementation for SQLServerTableDataset.
172259func (sstd SQLServerTableDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
172260	return nil, false
172261}
172262
172263// AsMicrosoftAccessTableDataset is the BasicDataset implementation for SQLServerTableDataset.
172264func (sstd SQLServerTableDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) {
172265	return nil, false
172266}
172267
172268// AsPostgreSQLTableDataset is the BasicDataset implementation for SQLServerTableDataset.
172269func (sstd SQLServerTableDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) {
172270	return nil, false
172271}
172272
172273// AsMySQLTableDataset is the BasicDataset implementation for SQLServerTableDataset.
172274func (sstd SQLServerTableDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) {
172275	return nil, false
172276}
172277
172278// AsOdbcTableDataset is the BasicDataset implementation for SQLServerTableDataset.
172279func (sstd SQLServerTableDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) {
172280	return nil, false
172281}
172282
172283// AsInformixTableDataset is the BasicDataset implementation for SQLServerTableDataset.
172284func (sstd SQLServerTableDataset) AsInformixTableDataset() (*InformixTableDataset, bool) {
172285	return nil, false
172286}
172287
172288// AsRelationalTableDataset is the BasicDataset implementation for SQLServerTableDataset.
172289func (sstd SQLServerTableDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
172290	return nil, false
172291}
172292
172293// AsAzureMySQLTableDataset is the BasicDataset implementation for SQLServerTableDataset.
172294func (sstd SQLServerTableDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
172295	return nil, false
172296}
172297
172298// AsTeradataTableDataset is the BasicDataset implementation for SQLServerTableDataset.
172299func (sstd SQLServerTableDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) {
172300	return nil, false
172301}
172302
172303// AsOracleTableDataset is the BasicDataset implementation for SQLServerTableDataset.
172304func (sstd SQLServerTableDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
172305	return nil, false
172306}
172307
172308// AsODataResourceDataset is the BasicDataset implementation for SQLServerTableDataset.
172309func (sstd SQLServerTableDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
172310	return nil, false
172311}
172312
172313// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for SQLServerTableDataset.
172314func (sstd SQLServerTableDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) {
172315	return nil, false
172316}
172317
172318// AsMongoDbV2CollectionDataset is the BasicDataset implementation for SQLServerTableDataset.
172319func (sstd SQLServerTableDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) {
172320	return nil, false
172321}
172322
172323// AsMongoDbCollectionDataset is the BasicDataset implementation for SQLServerTableDataset.
172324func (sstd SQLServerTableDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
172325	return nil, false
172326}
172327
172328// AsFileShareDataset is the BasicDataset implementation for SQLServerTableDataset.
172329func (sstd SQLServerTableDataset) AsFileShareDataset() (*FileShareDataset, bool) {
172330	return nil, false
172331}
172332
172333// AsOffice365Dataset is the BasicDataset implementation for SQLServerTableDataset.
172334func (sstd SQLServerTableDataset) AsOffice365Dataset() (*Office365Dataset, bool) {
172335	return nil, false
172336}
172337
172338// AsAzureBlobFSDataset is the BasicDataset implementation for SQLServerTableDataset.
172339func (sstd SQLServerTableDataset) AsAzureBlobFSDataset() (*AzureBlobFSDataset, bool) {
172340	return nil, false
172341}
172342
172343// AsAzureDataLakeStoreDataset is the BasicDataset implementation for SQLServerTableDataset.
172344func (sstd SQLServerTableDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) {
172345	return nil, false
172346}
172347
172348// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for SQLServerTableDataset.
172349func (sstd SQLServerTableDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) {
172350	return nil, false
172351}
172352
172353// AsDynamicsCrmEntityDataset is the BasicDataset implementation for SQLServerTableDataset.
172354func (sstd SQLServerTableDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) {
172355	return nil, false
172356}
172357
172358// AsDynamicsEntityDataset is the BasicDataset implementation for SQLServerTableDataset.
172359func (sstd SQLServerTableDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
172360	return nil, false
172361}
172362
172363// AsDocumentDbCollectionDataset is the BasicDataset implementation for SQLServerTableDataset.
172364func (sstd SQLServerTableDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
172365	return nil, false
172366}
172367
172368// AsCustomDataset is the BasicDataset implementation for SQLServerTableDataset.
172369func (sstd SQLServerTableDataset) AsCustomDataset() (*CustomDataset, bool) {
172370	return nil, false
172371}
172372
172373// AsCassandraTableDataset is the BasicDataset implementation for SQLServerTableDataset.
172374func (sstd SQLServerTableDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
172375	return nil, false
172376}
172377
172378// AsAzureSQLDWTableDataset is the BasicDataset implementation for SQLServerTableDataset.
172379func (sstd SQLServerTableDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
172380	return nil, false
172381}
172382
172383// AsAzureSQLMITableDataset is the BasicDataset implementation for SQLServerTableDataset.
172384func (sstd SQLServerTableDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) {
172385	return nil, false
172386}
172387
172388// AsAzureSQLTableDataset is the BasicDataset implementation for SQLServerTableDataset.
172389func (sstd SQLServerTableDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
172390	return nil, false
172391}
172392
172393// AsAzureTableDataset is the BasicDataset implementation for SQLServerTableDataset.
172394func (sstd SQLServerTableDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
172395	return nil, false
172396}
172397
172398// AsAzureBlobDataset is the BasicDataset implementation for SQLServerTableDataset.
172399func (sstd SQLServerTableDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) {
172400	return nil, false
172401}
172402
172403// AsBinaryDataset is the BasicDataset implementation for SQLServerTableDataset.
172404func (sstd SQLServerTableDataset) AsBinaryDataset() (*BinaryDataset, bool) {
172405	return nil, false
172406}
172407
172408// AsDelimitedTextDataset is the BasicDataset implementation for SQLServerTableDataset.
172409func (sstd SQLServerTableDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) {
172410	return nil, false
172411}
172412
172413// AsParquetDataset is the BasicDataset implementation for SQLServerTableDataset.
172414func (sstd SQLServerTableDataset) AsParquetDataset() (*ParquetDataset, bool) {
172415	return nil, false
172416}
172417
172418// AsAmazonS3Dataset is the BasicDataset implementation for SQLServerTableDataset.
172419func (sstd SQLServerTableDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) {
172420	return nil, false
172421}
172422
172423// AsDataset is the BasicDataset implementation for SQLServerTableDataset.
172424func (sstd SQLServerTableDataset) AsDataset() (*Dataset, bool) {
172425	return nil, false
172426}
172427
172428// AsBasicDataset is the BasicDataset implementation for SQLServerTableDataset.
172429func (sstd SQLServerTableDataset) AsBasicDataset() (BasicDataset, bool) {
172430	return &sstd, true
172431}
172432
172433// UnmarshalJSON is the custom unmarshaler for SQLServerTableDataset struct.
172434func (sstd *SQLServerTableDataset) UnmarshalJSON(body []byte) error {
172435	var m map[string]*json.RawMessage
172436	err := json.Unmarshal(body, &m)
172437	if err != nil {
172438		return err
172439	}
172440	for k, v := range m {
172441		switch k {
172442		case "typeProperties":
172443			if v != nil {
172444				var SQLServerTableDatasetTypeProperties SQLServerTableDatasetTypeProperties
172445				err = json.Unmarshal(*v, &SQLServerTableDatasetTypeProperties)
172446				if err != nil {
172447					return err
172448				}
172449				sstd.SQLServerTableDatasetTypeProperties = &SQLServerTableDatasetTypeProperties
172450			}
172451		default:
172452			if v != nil {
172453				var additionalProperties interface{}
172454				err = json.Unmarshal(*v, &additionalProperties)
172455				if err != nil {
172456					return err
172457				}
172458				if sstd.AdditionalProperties == nil {
172459					sstd.AdditionalProperties = make(map[string]interface{})
172460				}
172461				sstd.AdditionalProperties[k] = additionalProperties
172462			}
172463		case "description":
172464			if v != nil {
172465				var description string
172466				err = json.Unmarshal(*v, &description)
172467				if err != nil {
172468					return err
172469				}
172470				sstd.Description = &description
172471			}
172472		case "structure":
172473			if v != nil {
172474				var structure interface{}
172475				err = json.Unmarshal(*v, &structure)
172476				if err != nil {
172477					return err
172478				}
172479				sstd.Structure = structure
172480			}
172481		case "schema":
172482			if v != nil {
172483				var schema interface{}
172484				err = json.Unmarshal(*v, &schema)
172485				if err != nil {
172486					return err
172487				}
172488				sstd.Schema = schema
172489			}
172490		case "linkedServiceName":
172491			if v != nil {
172492				var linkedServiceName LinkedServiceReference
172493				err = json.Unmarshal(*v, &linkedServiceName)
172494				if err != nil {
172495					return err
172496				}
172497				sstd.LinkedServiceName = &linkedServiceName
172498			}
172499		case "parameters":
172500			if v != nil {
172501				var parameters map[string]*ParameterSpecification
172502				err = json.Unmarshal(*v, &parameters)
172503				if err != nil {
172504					return err
172505				}
172506				sstd.Parameters = parameters
172507			}
172508		case "annotations":
172509			if v != nil {
172510				var annotations []interface{}
172511				err = json.Unmarshal(*v, &annotations)
172512				if err != nil {
172513					return err
172514				}
172515				sstd.Annotations = &annotations
172516			}
172517		case "folder":
172518			if v != nil {
172519				var folder DatasetFolder
172520				err = json.Unmarshal(*v, &folder)
172521				if err != nil {
172522					return err
172523				}
172524				sstd.Folder = &folder
172525			}
172526		case "type":
172527			if v != nil {
172528				var typeVar TypeBasicDataset
172529				err = json.Unmarshal(*v, &typeVar)
172530				if err != nil {
172531					return err
172532				}
172533				sstd.Type = typeVar
172534			}
172535		}
172536	}
172537
172538	return nil
172539}
172540
172541// SQLServerTableDatasetTypeProperties on-premises SQL Server dataset properties.
172542type SQLServerTableDatasetTypeProperties struct {
172543	// TableName - The table name of the SQL Server dataset. Type: string (or Expression with resultType string).
172544	TableName interface{} `json:"tableName,omitempty"`
172545}
172546
172547// SQLSink a copy activity SQL sink.
172548type SQLSink struct {
172549	// SQLWriterStoredProcedureName - SQL writer stored procedure name. Type: string (or Expression with resultType string).
172550	SQLWriterStoredProcedureName interface{} `json:"sqlWriterStoredProcedureName,omitempty"`
172551	// SQLWriterTableType - SQL writer table type. Type: string (or Expression with resultType string).
172552	SQLWriterTableType interface{} `json:"sqlWriterTableType,omitempty"`
172553	// PreCopyScript - SQL pre-copy script. Type: string (or Expression with resultType string).
172554	PreCopyScript interface{} `json:"preCopyScript,omitempty"`
172555	// StoredProcedureParameters - SQL stored procedure parameters.
172556	StoredProcedureParameters map[string]*StoredProcedureParameter `json:"storedProcedureParameters"`
172557	// StoredProcedureTableTypeParameterName - The stored procedure parameter name of the table type. Type: string (or Expression with resultType string).
172558	StoredProcedureTableTypeParameterName interface{} `json:"storedProcedureTableTypeParameterName,omitempty"`
172559	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
172560	AdditionalProperties map[string]interface{} `json:""`
172561	// WriteBatchSize - Write batch size. Type: integer (or Expression with resultType integer), minimum: 0.
172562	WriteBatchSize interface{} `json:"writeBatchSize,omitempty"`
172563	// 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])).
172564	WriteBatchTimeout interface{} `json:"writeBatchTimeout,omitempty"`
172565	// SinkRetryCount - Sink retry count. Type: integer (or Expression with resultType integer).
172566	SinkRetryCount interface{} `json:"sinkRetryCount,omitempty"`
172567	// 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])).
172568	SinkRetryWait interface{} `json:"sinkRetryWait,omitempty"`
172569	// MaxConcurrentConnections - The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer).
172570	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
172571	// Type - Possible values include: 'TypeCopySink', 'TypeCosmosDbMongoDbAPISink', 'TypeSalesforceServiceCloudSink', 'TypeSalesforceSink', 'TypeAzureDataExplorerSink', 'TypeCommonDataServiceForAppsSink', 'TypeDynamicsCrmSink', 'TypeDynamicsSink', 'TypeMicrosoftAccessSink', 'TypeInformixSink', 'TypeOdbcSink', 'TypeAzureSearchIndexSink', 'TypeAzureBlobFSSink', 'TypeAzureDataLakeStoreSink', 'TypeOracleSink', 'TypeSQLDWSink', 'TypeSQLMISink', 'TypeAzureSQLSink', 'TypeSQLServerSink', 'TypeSQLSink', 'TypeDocumentDbCollectionSink', 'TypeFileSystemSink', 'TypeBlobSink', 'TypeBinarySink', 'TypeParquetSink', 'TypeAzureTableSink', 'TypeAzureQueueSink', 'TypeSapCloudForCustomerSink', 'TypeAzurePostgreSQLSink', 'TypeDelimitedTextSink'
172572	Type TypeBasicCopySink `json:"type,omitempty"`
172573}
172574
172575// MarshalJSON is the custom marshaler for SQLSink.
172576func (ss SQLSink) MarshalJSON() ([]byte, error) {
172577	ss.Type = TypeSQLSink
172578	objectMap := make(map[string]interface{})
172579	if ss.SQLWriterStoredProcedureName != nil {
172580		objectMap["sqlWriterStoredProcedureName"] = ss.SQLWriterStoredProcedureName
172581	}
172582	if ss.SQLWriterTableType != nil {
172583		objectMap["sqlWriterTableType"] = ss.SQLWriterTableType
172584	}
172585	if ss.PreCopyScript != nil {
172586		objectMap["preCopyScript"] = ss.PreCopyScript
172587	}
172588	if ss.StoredProcedureParameters != nil {
172589		objectMap["storedProcedureParameters"] = ss.StoredProcedureParameters
172590	}
172591	if ss.StoredProcedureTableTypeParameterName != nil {
172592		objectMap["storedProcedureTableTypeParameterName"] = ss.StoredProcedureTableTypeParameterName
172593	}
172594	if ss.WriteBatchSize != nil {
172595		objectMap["writeBatchSize"] = ss.WriteBatchSize
172596	}
172597	if ss.WriteBatchTimeout != nil {
172598		objectMap["writeBatchTimeout"] = ss.WriteBatchTimeout
172599	}
172600	if ss.SinkRetryCount != nil {
172601		objectMap["sinkRetryCount"] = ss.SinkRetryCount
172602	}
172603	if ss.SinkRetryWait != nil {
172604		objectMap["sinkRetryWait"] = ss.SinkRetryWait
172605	}
172606	if ss.MaxConcurrentConnections != nil {
172607		objectMap["maxConcurrentConnections"] = ss.MaxConcurrentConnections
172608	}
172609	if ss.Type != "" {
172610		objectMap["type"] = ss.Type
172611	}
172612	for k, v := range ss.AdditionalProperties {
172613		objectMap[k] = v
172614	}
172615	return json.Marshal(objectMap)
172616}
172617
172618// AsCosmosDbMongoDbAPISink is the BasicCopySink implementation for SQLSink.
172619func (ss SQLSink) AsCosmosDbMongoDbAPISink() (*CosmosDbMongoDbAPISink, bool) {
172620	return nil, false
172621}
172622
172623// AsSalesforceServiceCloudSink is the BasicCopySink implementation for SQLSink.
172624func (ss SQLSink) AsSalesforceServiceCloudSink() (*SalesforceServiceCloudSink, bool) {
172625	return nil, false
172626}
172627
172628// AsSalesforceSink is the BasicCopySink implementation for SQLSink.
172629func (ss SQLSink) AsSalesforceSink() (*SalesforceSink, bool) {
172630	return nil, false
172631}
172632
172633// AsAzureDataExplorerSink is the BasicCopySink implementation for SQLSink.
172634func (ss SQLSink) AsAzureDataExplorerSink() (*AzureDataExplorerSink, bool) {
172635	return nil, false
172636}
172637
172638// AsCommonDataServiceForAppsSink is the BasicCopySink implementation for SQLSink.
172639func (ss SQLSink) AsCommonDataServiceForAppsSink() (*CommonDataServiceForAppsSink, bool) {
172640	return nil, false
172641}
172642
172643// AsDynamicsCrmSink is the BasicCopySink implementation for SQLSink.
172644func (ss SQLSink) AsDynamicsCrmSink() (*DynamicsCrmSink, bool) {
172645	return nil, false
172646}
172647
172648// AsDynamicsSink is the BasicCopySink implementation for SQLSink.
172649func (ss SQLSink) AsDynamicsSink() (*DynamicsSink, bool) {
172650	return nil, false
172651}
172652
172653// AsMicrosoftAccessSink is the BasicCopySink implementation for SQLSink.
172654func (ss SQLSink) AsMicrosoftAccessSink() (*MicrosoftAccessSink, bool) {
172655	return nil, false
172656}
172657
172658// AsInformixSink is the BasicCopySink implementation for SQLSink.
172659func (ss SQLSink) AsInformixSink() (*InformixSink, bool) {
172660	return nil, false
172661}
172662
172663// AsOdbcSink is the BasicCopySink implementation for SQLSink.
172664func (ss SQLSink) AsOdbcSink() (*OdbcSink, bool) {
172665	return nil, false
172666}
172667
172668// AsAzureSearchIndexSink is the BasicCopySink implementation for SQLSink.
172669func (ss SQLSink) AsAzureSearchIndexSink() (*AzureSearchIndexSink, bool) {
172670	return nil, false
172671}
172672
172673// AsAzureBlobFSSink is the BasicCopySink implementation for SQLSink.
172674func (ss SQLSink) AsAzureBlobFSSink() (*AzureBlobFSSink, bool) {
172675	return nil, false
172676}
172677
172678// AsAzureDataLakeStoreSink is the BasicCopySink implementation for SQLSink.
172679func (ss SQLSink) AsAzureDataLakeStoreSink() (*AzureDataLakeStoreSink, bool) {
172680	return nil, false
172681}
172682
172683// AsOracleSink is the BasicCopySink implementation for SQLSink.
172684func (ss SQLSink) AsOracleSink() (*OracleSink, bool) {
172685	return nil, false
172686}
172687
172688// AsSQLDWSink is the BasicCopySink implementation for SQLSink.
172689func (ss SQLSink) AsSQLDWSink() (*SQLDWSink, bool) {
172690	return nil, false
172691}
172692
172693// AsSQLMISink is the BasicCopySink implementation for SQLSink.
172694func (ss SQLSink) AsSQLMISink() (*SQLMISink, bool) {
172695	return nil, false
172696}
172697
172698// AsAzureSQLSink is the BasicCopySink implementation for SQLSink.
172699func (ss SQLSink) AsAzureSQLSink() (*AzureSQLSink, bool) {
172700	return nil, false
172701}
172702
172703// AsSQLServerSink is the BasicCopySink implementation for SQLSink.
172704func (ss SQLSink) AsSQLServerSink() (*SQLServerSink, bool) {
172705	return nil, false
172706}
172707
172708// AsSQLSink is the BasicCopySink implementation for SQLSink.
172709func (ss SQLSink) AsSQLSink() (*SQLSink, bool) {
172710	return &ss, true
172711}
172712
172713// AsDocumentDbCollectionSink is the BasicCopySink implementation for SQLSink.
172714func (ss SQLSink) AsDocumentDbCollectionSink() (*DocumentDbCollectionSink, bool) {
172715	return nil, false
172716}
172717
172718// AsFileSystemSink is the BasicCopySink implementation for SQLSink.
172719func (ss SQLSink) AsFileSystemSink() (*FileSystemSink, bool) {
172720	return nil, false
172721}
172722
172723// AsBlobSink is the BasicCopySink implementation for SQLSink.
172724func (ss SQLSink) AsBlobSink() (*BlobSink, bool) {
172725	return nil, false
172726}
172727
172728// AsBinarySink is the BasicCopySink implementation for SQLSink.
172729func (ss SQLSink) AsBinarySink() (*BinarySink, bool) {
172730	return nil, false
172731}
172732
172733// AsParquetSink is the BasicCopySink implementation for SQLSink.
172734func (ss SQLSink) AsParquetSink() (*ParquetSink, bool) {
172735	return nil, false
172736}
172737
172738// AsAzureTableSink is the BasicCopySink implementation for SQLSink.
172739func (ss SQLSink) AsAzureTableSink() (*AzureTableSink, bool) {
172740	return nil, false
172741}
172742
172743// AsAzureQueueSink is the BasicCopySink implementation for SQLSink.
172744func (ss SQLSink) AsAzureQueueSink() (*AzureQueueSink, bool) {
172745	return nil, false
172746}
172747
172748// AsSapCloudForCustomerSink is the BasicCopySink implementation for SQLSink.
172749func (ss SQLSink) AsSapCloudForCustomerSink() (*SapCloudForCustomerSink, bool) {
172750	return nil, false
172751}
172752
172753// AsAzurePostgreSQLSink is the BasicCopySink implementation for SQLSink.
172754func (ss SQLSink) AsAzurePostgreSQLSink() (*AzurePostgreSQLSink, bool) {
172755	return nil, false
172756}
172757
172758// AsDelimitedTextSink is the BasicCopySink implementation for SQLSink.
172759func (ss SQLSink) AsDelimitedTextSink() (*DelimitedTextSink, bool) {
172760	return nil, false
172761}
172762
172763// AsCopySink is the BasicCopySink implementation for SQLSink.
172764func (ss SQLSink) AsCopySink() (*CopySink, bool) {
172765	return nil, false
172766}
172767
172768// AsBasicCopySink is the BasicCopySink implementation for SQLSink.
172769func (ss SQLSink) AsBasicCopySink() (BasicCopySink, bool) {
172770	return &ss, true
172771}
172772
172773// UnmarshalJSON is the custom unmarshaler for SQLSink struct.
172774func (ss *SQLSink) UnmarshalJSON(body []byte) error {
172775	var m map[string]*json.RawMessage
172776	err := json.Unmarshal(body, &m)
172777	if err != nil {
172778		return err
172779	}
172780	for k, v := range m {
172781		switch k {
172782		case "sqlWriterStoredProcedureName":
172783			if v != nil {
172784				var SQLWriterStoredProcedureName interface{}
172785				err = json.Unmarshal(*v, &SQLWriterStoredProcedureName)
172786				if err != nil {
172787					return err
172788				}
172789				ss.SQLWriterStoredProcedureName = SQLWriterStoredProcedureName
172790			}
172791		case "sqlWriterTableType":
172792			if v != nil {
172793				var SQLWriterTableType interface{}
172794				err = json.Unmarshal(*v, &SQLWriterTableType)
172795				if err != nil {
172796					return err
172797				}
172798				ss.SQLWriterTableType = SQLWriterTableType
172799			}
172800		case "preCopyScript":
172801			if v != nil {
172802				var preCopyScript interface{}
172803				err = json.Unmarshal(*v, &preCopyScript)
172804				if err != nil {
172805					return err
172806				}
172807				ss.PreCopyScript = preCopyScript
172808			}
172809		case "storedProcedureParameters":
172810			if v != nil {
172811				var storedProcedureParameters map[string]*StoredProcedureParameter
172812				err = json.Unmarshal(*v, &storedProcedureParameters)
172813				if err != nil {
172814					return err
172815				}
172816				ss.StoredProcedureParameters = storedProcedureParameters
172817			}
172818		case "storedProcedureTableTypeParameterName":
172819			if v != nil {
172820				var storedProcedureTableTypeParameterName interface{}
172821				err = json.Unmarshal(*v, &storedProcedureTableTypeParameterName)
172822				if err != nil {
172823					return err
172824				}
172825				ss.StoredProcedureTableTypeParameterName = storedProcedureTableTypeParameterName
172826			}
172827		default:
172828			if v != nil {
172829				var additionalProperties interface{}
172830				err = json.Unmarshal(*v, &additionalProperties)
172831				if err != nil {
172832					return err
172833				}
172834				if ss.AdditionalProperties == nil {
172835					ss.AdditionalProperties = make(map[string]interface{})
172836				}
172837				ss.AdditionalProperties[k] = additionalProperties
172838			}
172839		case "writeBatchSize":
172840			if v != nil {
172841				var writeBatchSize interface{}
172842				err = json.Unmarshal(*v, &writeBatchSize)
172843				if err != nil {
172844					return err
172845				}
172846				ss.WriteBatchSize = writeBatchSize
172847			}
172848		case "writeBatchTimeout":
172849			if v != nil {
172850				var writeBatchTimeout interface{}
172851				err = json.Unmarshal(*v, &writeBatchTimeout)
172852				if err != nil {
172853					return err
172854				}
172855				ss.WriteBatchTimeout = writeBatchTimeout
172856			}
172857		case "sinkRetryCount":
172858			if v != nil {
172859				var sinkRetryCount interface{}
172860				err = json.Unmarshal(*v, &sinkRetryCount)
172861				if err != nil {
172862					return err
172863				}
172864				ss.SinkRetryCount = sinkRetryCount
172865			}
172866		case "sinkRetryWait":
172867			if v != nil {
172868				var sinkRetryWait interface{}
172869				err = json.Unmarshal(*v, &sinkRetryWait)
172870				if err != nil {
172871					return err
172872				}
172873				ss.SinkRetryWait = sinkRetryWait
172874			}
172875		case "maxConcurrentConnections":
172876			if v != nil {
172877				var maxConcurrentConnections interface{}
172878				err = json.Unmarshal(*v, &maxConcurrentConnections)
172879				if err != nil {
172880					return err
172881				}
172882				ss.MaxConcurrentConnections = maxConcurrentConnections
172883			}
172884		case "type":
172885			if v != nil {
172886				var typeVar TypeBasicCopySink
172887				err = json.Unmarshal(*v, &typeVar)
172888				if err != nil {
172889					return err
172890				}
172891				ss.Type = typeVar
172892			}
172893		}
172894	}
172895
172896	return nil
172897}
172898
172899// SQLSource a copy activity SQL source.
172900type SQLSource struct {
172901	// SQLReaderQuery - SQL reader query. Type: string (or Expression with resultType string).
172902	SQLReaderQuery interface{} `json:"sqlReaderQuery,omitempty"`
172903	// 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).
172904	SQLReaderStoredProcedureName interface{} `json:"sqlReaderStoredProcedureName,omitempty"`
172905	// StoredProcedureParameters - Value and type setting for stored procedure parameters. Example: "{Parameter1: {value: "1", type: "int"}}".
172906	StoredProcedureParameters map[string]*StoredProcedureParameter `json:"storedProcedureParameters"`
172907	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
172908	AdditionalProperties map[string]interface{} `json:""`
172909	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
172910	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
172911	// 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])).
172912	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
172913	// MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer).
172914	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
172915	// Type - Possible values include: 'TypeCopySource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', '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', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeCassandraSource', 'TypeWebSource', 'TypeTeradataSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeAzureMySQLSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeRestSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceServiceCloudSource', 'TypeSalesforceSource', 'TypeODataSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeMicrosoftAccessSource', 'TypeInformixSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAzureTableSource', 'TypeBinarySource', 'TypeDelimitedTextSource', 'TypeParquetSource'
172916	Type TypeBasicCopySource `json:"type,omitempty"`
172917}
172918
172919// MarshalJSON is the custom marshaler for SQLSource.
172920func (ss SQLSource) MarshalJSON() ([]byte, error) {
172921	ss.Type = TypeSQLSource
172922	objectMap := make(map[string]interface{})
172923	if ss.SQLReaderQuery != nil {
172924		objectMap["sqlReaderQuery"] = ss.SQLReaderQuery
172925	}
172926	if ss.SQLReaderStoredProcedureName != nil {
172927		objectMap["sqlReaderStoredProcedureName"] = ss.SQLReaderStoredProcedureName
172928	}
172929	if ss.StoredProcedureParameters != nil {
172930		objectMap["storedProcedureParameters"] = ss.StoredProcedureParameters
172931	}
172932	if ss.SourceRetryCount != nil {
172933		objectMap["sourceRetryCount"] = ss.SourceRetryCount
172934	}
172935	if ss.SourceRetryWait != nil {
172936		objectMap["sourceRetryWait"] = ss.SourceRetryWait
172937	}
172938	if ss.MaxConcurrentConnections != nil {
172939		objectMap["maxConcurrentConnections"] = ss.MaxConcurrentConnections
172940	}
172941	if ss.Type != "" {
172942		objectMap["type"] = ss.Type
172943	}
172944	for k, v := range ss.AdditionalProperties {
172945		objectMap[k] = v
172946	}
172947	return json.Marshal(objectMap)
172948}
172949
172950// AsAmazonRedshiftSource is the BasicCopySource implementation for SQLSource.
172951func (ss SQLSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
172952	return nil, false
172953}
172954
172955// AsGoogleAdWordsSource is the BasicCopySource implementation for SQLSource.
172956func (ss SQLSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) {
172957	return nil, false
172958}
172959
172960// AsOracleServiceCloudSource is the BasicCopySource implementation for SQLSource.
172961func (ss SQLSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) {
172962	return nil, false
172963}
172964
172965// AsDynamicsAXSource is the BasicCopySource implementation for SQLSource.
172966func (ss SQLSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) {
172967	return nil, false
172968}
172969
172970// AsResponsysSource is the BasicCopySource implementation for SQLSource.
172971func (ss SQLSource) AsResponsysSource() (*ResponsysSource, bool) {
172972	return nil, false
172973}
172974
172975// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for SQLSource.
172976func (ss SQLSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
172977	return nil, false
172978}
172979
172980// AsVerticaSource is the BasicCopySource implementation for SQLSource.
172981func (ss SQLSource) AsVerticaSource() (*VerticaSource, bool) {
172982	return nil, false
172983}
172984
172985// AsNetezzaSource is the BasicCopySource implementation for SQLSource.
172986func (ss SQLSource) AsNetezzaSource() (*NetezzaSource, bool) {
172987	return nil, false
172988}
172989
172990// AsZohoSource is the BasicCopySource implementation for SQLSource.
172991func (ss SQLSource) AsZohoSource() (*ZohoSource, bool) {
172992	return nil, false
172993}
172994
172995// AsXeroSource is the BasicCopySource implementation for SQLSource.
172996func (ss SQLSource) AsXeroSource() (*XeroSource, bool) {
172997	return nil, false
172998}
172999
173000// AsSquareSource is the BasicCopySource implementation for SQLSource.
173001func (ss SQLSource) AsSquareSource() (*SquareSource, bool) {
173002	return nil, false
173003}
173004
173005// AsSparkSource is the BasicCopySource implementation for SQLSource.
173006func (ss SQLSource) AsSparkSource() (*SparkSource, bool) {
173007	return nil, false
173008}
173009
173010// AsShopifySource is the BasicCopySource implementation for SQLSource.
173011func (ss SQLSource) AsShopifySource() (*ShopifySource, bool) {
173012	return nil, false
173013}
173014
173015// AsServiceNowSource is the BasicCopySource implementation for SQLSource.
173016func (ss SQLSource) AsServiceNowSource() (*ServiceNowSource, bool) {
173017	return nil, false
173018}
173019
173020// AsQuickBooksSource is the BasicCopySource implementation for SQLSource.
173021func (ss SQLSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
173022	return nil, false
173023}
173024
173025// AsPrestoSource is the BasicCopySource implementation for SQLSource.
173026func (ss SQLSource) AsPrestoSource() (*PrestoSource, bool) {
173027	return nil, false
173028}
173029
173030// AsPhoenixSource is the BasicCopySource implementation for SQLSource.
173031func (ss SQLSource) AsPhoenixSource() (*PhoenixSource, bool) {
173032	return nil, false
173033}
173034
173035// AsPaypalSource is the BasicCopySource implementation for SQLSource.
173036func (ss SQLSource) AsPaypalSource() (*PaypalSource, bool) {
173037	return nil, false
173038}
173039
173040// AsMarketoSource is the BasicCopySource implementation for SQLSource.
173041func (ss SQLSource) AsMarketoSource() (*MarketoSource, bool) {
173042	return nil, false
173043}
173044
173045// AsMariaDBSource is the BasicCopySource implementation for SQLSource.
173046func (ss SQLSource) AsMariaDBSource() (*MariaDBSource, bool) {
173047	return nil, false
173048}
173049
173050// AsMagentoSource is the BasicCopySource implementation for SQLSource.
173051func (ss SQLSource) AsMagentoSource() (*MagentoSource, bool) {
173052	return nil, false
173053}
173054
173055// AsJiraSource is the BasicCopySource implementation for SQLSource.
173056func (ss SQLSource) AsJiraSource() (*JiraSource, bool) {
173057	return nil, false
173058}
173059
173060// AsImpalaSource is the BasicCopySource implementation for SQLSource.
173061func (ss SQLSource) AsImpalaSource() (*ImpalaSource, bool) {
173062	return nil, false
173063}
173064
173065// AsHubspotSource is the BasicCopySource implementation for SQLSource.
173066func (ss SQLSource) AsHubspotSource() (*HubspotSource, bool) {
173067	return nil, false
173068}
173069
173070// AsHiveSource is the BasicCopySource implementation for SQLSource.
173071func (ss SQLSource) AsHiveSource() (*HiveSource, bool) {
173072	return nil, false
173073}
173074
173075// AsHBaseSource is the BasicCopySource implementation for SQLSource.
173076func (ss SQLSource) AsHBaseSource() (*HBaseSource, bool) {
173077	return nil, false
173078}
173079
173080// AsGreenplumSource is the BasicCopySource implementation for SQLSource.
173081func (ss SQLSource) AsGreenplumSource() (*GreenplumSource, bool) {
173082	return nil, false
173083}
173084
173085// AsGoogleBigQuerySource is the BasicCopySource implementation for SQLSource.
173086func (ss SQLSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
173087	return nil, false
173088}
173089
173090// AsEloquaSource is the BasicCopySource implementation for SQLSource.
173091func (ss SQLSource) AsEloquaSource() (*EloquaSource, bool) {
173092	return nil, false
173093}
173094
173095// AsDrillSource is the BasicCopySource implementation for SQLSource.
173096func (ss SQLSource) AsDrillSource() (*DrillSource, bool) {
173097	return nil, false
173098}
173099
173100// AsCouchbaseSource is the BasicCopySource implementation for SQLSource.
173101func (ss SQLSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
173102	return nil, false
173103}
173104
173105// AsConcurSource is the BasicCopySource implementation for SQLSource.
173106func (ss SQLSource) AsConcurSource() (*ConcurSource, bool) {
173107	return nil, false
173108}
173109
173110// AsAzurePostgreSQLSource is the BasicCopySource implementation for SQLSource.
173111func (ss SQLSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
173112	return nil, false
173113}
173114
173115// AsAmazonMWSSource is the BasicCopySource implementation for SQLSource.
173116func (ss SQLSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
173117	return nil, false
173118}
173119
173120// AsHTTPSource is the BasicCopySource implementation for SQLSource.
173121func (ss SQLSource) AsHTTPSource() (*HTTPSource, bool) {
173122	return nil, false
173123}
173124
173125// AsAzureBlobFSSource is the BasicCopySource implementation for SQLSource.
173126func (ss SQLSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) {
173127	return nil, false
173128}
173129
173130// AsAzureDataLakeStoreSource is the BasicCopySource implementation for SQLSource.
173131func (ss SQLSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
173132	return nil, false
173133}
173134
173135// AsOffice365Source is the BasicCopySource implementation for SQLSource.
173136func (ss SQLSource) AsOffice365Source() (*Office365Source, bool) {
173137	return nil, false
173138}
173139
173140// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for SQLSource.
173141func (ss SQLSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) {
173142	return nil, false
173143}
173144
173145// AsMongoDbV2Source is the BasicCopySource implementation for SQLSource.
173146func (ss SQLSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) {
173147	return nil, false
173148}
173149
173150// AsMongoDbSource is the BasicCopySource implementation for SQLSource.
173151func (ss SQLSource) AsMongoDbSource() (*MongoDbSource, bool) {
173152	return nil, false
173153}
173154
173155// AsCassandraSource is the BasicCopySource implementation for SQLSource.
173156func (ss SQLSource) AsCassandraSource() (*CassandraSource, bool) {
173157	return nil, false
173158}
173159
173160// AsWebSource is the BasicCopySource implementation for SQLSource.
173161func (ss SQLSource) AsWebSource() (*WebSource, bool) {
173162	return nil, false
173163}
173164
173165// AsTeradataSource is the BasicCopySource implementation for SQLSource.
173166func (ss SQLSource) AsTeradataSource() (*TeradataSource, bool) {
173167	return nil, false
173168}
173169
173170// AsOracleSource is the BasicCopySource implementation for SQLSource.
173171func (ss SQLSource) AsOracleSource() (*OracleSource, bool) {
173172	return nil, false
173173}
173174
173175// AsAzureDataExplorerSource is the BasicCopySource implementation for SQLSource.
173176func (ss SQLSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) {
173177	return nil, false
173178}
173179
173180// AsAzureMySQLSource is the BasicCopySource implementation for SQLSource.
173181func (ss SQLSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
173182	return nil, false
173183}
173184
173185// AsHdfsSource is the BasicCopySource implementation for SQLSource.
173186func (ss SQLSource) AsHdfsSource() (*HdfsSource, bool) {
173187	return nil, false
173188}
173189
173190// AsFileSystemSource is the BasicCopySource implementation for SQLSource.
173191func (ss SQLSource) AsFileSystemSource() (*FileSystemSource, bool) {
173192	return nil, false
173193}
173194
173195// AsSQLDWSource is the BasicCopySource implementation for SQLSource.
173196func (ss SQLSource) AsSQLDWSource() (*SQLDWSource, bool) {
173197	return nil, false
173198}
173199
173200// AsSQLMISource is the BasicCopySource implementation for SQLSource.
173201func (ss SQLSource) AsSQLMISource() (*SQLMISource, bool) {
173202	return nil, false
173203}
173204
173205// AsAzureSQLSource is the BasicCopySource implementation for SQLSource.
173206func (ss SQLSource) AsAzureSQLSource() (*AzureSQLSource, bool) {
173207	return nil, false
173208}
173209
173210// AsSQLServerSource is the BasicCopySource implementation for SQLSource.
173211func (ss SQLSource) AsSQLServerSource() (*SQLServerSource, bool) {
173212	return nil, false
173213}
173214
173215// AsSQLSource is the BasicCopySource implementation for SQLSource.
173216func (ss SQLSource) AsSQLSource() (*SQLSource, bool) {
173217	return &ss, true
173218}
173219
173220// AsRestSource is the BasicCopySource implementation for SQLSource.
173221func (ss SQLSource) AsRestSource() (*RestSource, bool) {
173222	return nil, false
173223}
173224
173225// AsSapTableSource is the BasicCopySource implementation for SQLSource.
173226func (ss SQLSource) AsSapTableSource() (*SapTableSource, bool) {
173227	return nil, false
173228}
173229
173230// AsSapOpenHubSource is the BasicCopySource implementation for SQLSource.
173231func (ss SQLSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) {
173232	return nil, false
173233}
173234
173235// AsSapHanaSource is the BasicCopySource implementation for SQLSource.
173236func (ss SQLSource) AsSapHanaSource() (*SapHanaSource, bool) {
173237	return nil, false
173238}
173239
173240// AsSapEccSource is the BasicCopySource implementation for SQLSource.
173241func (ss SQLSource) AsSapEccSource() (*SapEccSource, bool) {
173242	return nil, false
173243}
173244
173245// AsSapCloudForCustomerSource is the BasicCopySource implementation for SQLSource.
173246func (ss SQLSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
173247	return nil, false
173248}
173249
173250// AsSalesforceServiceCloudSource is the BasicCopySource implementation for SQLSource.
173251func (ss SQLSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) {
173252	return nil, false
173253}
173254
173255// AsSalesforceSource is the BasicCopySource implementation for SQLSource.
173256func (ss SQLSource) AsSalesforceSource() (*SalesforceSource, bool) {
173257	return nil, false
173258}
173259
173260// AsODataSource is the BasicCopySource implementation for SQLSource.
173261func (ss SQLSource) AsODataSource() (*ODataSource, bool) {
173262	return nil, false
173263}
173264
173265// AsSybaseSource is the BasicCopySource implementation for SQLSource.
173266func (ss SQLSource) AsSybaseSource() (*SybaseSource, bool) {
173267	return nil, false
173268}
173269
173270// AsPostgreSQLSource is the BasicCopySource implementation for SQLSource.
173271func (ss SQLSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) {
173272	return nil, false
173273}
173274
173275// AsMySQLSource is the BasicCopySource implementation for SQLSource.
173276func (ss SQLSource) AsMySQLSource() (*MySQLSource, bool) {
173277	return nil, false
173278}
173279
173280// AsOdbcSource is the BasicCopySource implementation for SQLSource.
173281func (ss SQLSource) AsOdbcSource() (*OdbcSource, bool) {
173282	return nil, false
173283}
173284
173285// AsDb2Source is the BasicCopySource implementation for SQLSource.
173286func (ss SQLSource) AsDb2Source() (*Db2Source, bool) {
173287	return nil, false
173288}
173289
173290// AsMicrosoftAccessSource is the BasicCopySource implementation for SQLSource.
173291func (ss SQLSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) {
173292	return nil, false
173293}
173294
173295// AsInformixSource is the BasicCopySource implementation for SQLSource.
173296func (ss SQLSource) AsInformixSource() (*InformixSource, bool) {
173297	return nil, false
173298}
173299
173300// AsRelationalSource is the BasicCopySource implementation for SQLSource.
173301func (ss SQLSource) AsRelationalSource() (*RelationalSource, bool) {
173302	return nil, false
173303}
173304
173305// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for SQLSource.
173306func (ss SQLSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) {
173307	return nil, false
173308}
173309
173310// AsDynamicsCrmSource is the BasicCopySource implementation for SQLSource.
173311func (ss SQLSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) {
173312	return nil, false
173313}
173314
173315// AsDynamicsSource is the BasicCopySource implementation for SQLSource.
173316func (ss SQLSource) AsDynamicsSource() (*DynamicsSource, bool) {
173317	return nil, false
173318}
173319
173320// AsDocumentDbCollectionSource is the BasicCopySource implementation for SQLSource.
173321func (ss SQLSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
173322	return nil, false
173323}
173324
173325// AsBlobSource is the BasicCopySource implementation for SQLSource.
173326func (ss SQLSource) AsBlobSource() (*BlobSource, bool) {
173327	return nil, false
173328}
173329
173330// AsAzureTableSource is the BasicCopySource implementation for SQLSource.
173331func (ss SQLSource) AsAzureTableSource() (*AzureTableSource, bool) {
173332	return nil, false
173333}
173334
173335// AsBinarySource is the BasicCopySource implementation for SQLSource.
173336func (ss SQLSource) AsBinarySource() (*BinarySource, bool) {
173337	return nil, false
173338}
173339
173340// AsDelimitedTextSource is the BasicCopySource implementation for SQLSource.
173341func (ss SQLSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) {
173342	return nil, false
173343}
173344
173345// AsParquetSource is the BasicCopySource implementation for SQLSource.
173346func (ss SQLSource) AsParquetSource() (*ParquetSource, bool) {
173347	return nil, false
173348}
173349
173350// AsCopySource is the BasicCopySource implementation for SQLSource.
173351func (ss SQLSource) AsCopySource() (*CopySource, bool) {
173352	return nil, false
173353}
173354
173355// AsBasicCopySource is the BasicCopySource implementation for SQLSource.
173356func (ss SQLSource) AsBasicCopySource() (BasicCopySource, bool) {
173357	return &ss, true
173358}
173359
173360// UnmarshalJSON is the custom unmarshaler for SQLSource struct.
173361func (ss *SQLSource) UnmarshalJSON(body []byte) error {
173362	var m map[string]*json.RawMessage
173363	err := json.Unmarshal(body, &m)
173364	if err != nil {
173365		return err
173366	}
173367	for k, v := range m {
173368		switch k {
173369		case "sqlReaderQuery":
173370			if v != nil {
173371				var SQLReaderQuery interface{}
173372				err = json.Unmarshal(*v, &SQLReaderQuery)
173373				if err != nil {
173374					return err
173375				}
173376				ss.SQLReaderQuery = SQLReaderQuery
173377			}
173378		case "sqlReaderStoredProcedureName":
173379			if v != nil {
173380				var SQLReaderStoredProcedureName interface{}
173381				err = json.Unmarshal(*v, &SQLReaderStoredProcedureName)
173382				if err != nil {
173383					return err
173384				}
173385				ss.SQLReaderStoredProcedureName = SQLReaderStoredProcedureName
173386			}
173387		case "storedProcedureParameters":
173388			if v != nil {
173389				var storedProcedureParameters map[string]*StoredProcedureParameter
173390				err = json.Unmarshal(*v, &storedProcedureParameters)
173391				if err != nil {
173392					return err
173393				}
173394				ss.StoredProcedureParameters = storedProcedureParameters
173395			}
173396		default:
173397			if v != nil {
173398				var additionalProperties interface{}
173399				err = json.Unmarshal(*v, &additionalProperties)
173400				if err != nil {
173401					return err
173402				}
173403				if ss.AdditionalProperties == nil {
173404					ss.AdditionalProperties = make(map[string]interface{})
173405				}
173406				ss.AdditionalProperties[k] = additionalProperties
173407			}
173408		case "sourceRetryCount":
173409			if v != nil {
173410				var sourceRetryCount interface{}
173411				err = json.Unmarshal(*v, &sourceRetryCount)
173412				if err != nil {
173413					return err
173414				}
173415				ss.SourceRetryCount = sourceRetryCount
173416			}
173417		case "sourceRetryWait":
173418			if v != nil {
173419				var sourceRetryWait interface{}
173420				err = json.Unmarshal(*v, &sourceRetryWait)
173421				if err != nil {
173422					return err
173423				}
173424				ss.SourceRetryWait = sourceRetryWait
173425			}
173426		case "maxConcurrentConnections":
173427			if v != nil {
173428				var maxConcurrentConnections interface{}
173429				err = json.Unmarshal(*v, &maxConcurrentConnections)
173430				if err != nil {
173431					return err
173432				}
173433				ss.MaxConcurrentConnections = maxConcurrentConnections
173434			}
173435		case "type":
173436			if v != nil {
173437				var typeVar TypeBasicCopySource
173438				err = json.Unmarshal(*v, &typeVar)
173439				if err != nil {
173440					return err
173441				}
173442				ss.Type = typeVar
173443			}
173444		}
173445	}
173446
173447	return nil
173448}
173449
173450// SquareLinkedService square Service linked service.
173451type SquareLinkedService struct {
173452	// SquareLinkedServiceTypeProperties - Square Service linked service properties.
173453	*SquareLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
173454	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
173455	AdditionalProperties map[string]interface{} `json:""`
173456	// ConnectVia - The integration runtime reference.
173457	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
173458	// Description - Linked service description.
173459	Description *string `json:"description,omitempty"`
173460	// Parameters - Parameters for linked service.
173461	Parameters map[string]*ParameterSpecification `json:"parameters"`
173462	// Annotations - List of tags that can be used for describing the linked service.
173463	Annotations *[]interface{} `json:"annotations,omitempty"`
173464	// Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', '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', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage'
173465	Type TypeBasicLinkedService `json:"type,omitempty"`
173466}
173467
173468// MarshalJSON is the custom marshaler for SquareLinkedService.
173469func (sls SquareLinkedService) MarshalJSON() ([]byte, error) {
173470	sls.Type = TypeSquare
173471	objectMap := make(map[string]interface{})
173472	if sls.SquareLinkedServiceTypeProperties != nil {
173473		objectMap["typeProperties"] = sls.SquareLinkedServiceTypeProperties
173474	}
173475	if sls.ConnectVia != nil {
173476		objectMap["connectVia"] = sls.ConnectVia
173477	}
173478	if sls.Description != nil {
173479		objectMap["description"] = sls.Description
173480	}
173481	if sls.Parameters != nil {
173482		objectMap["parameters"] = sls.Parameters
173483	}
173484	if sls.Annotations != nil {
173485		objectMap["annotations"] = sls.Annotations
173486	}
173487	if sls.Type != "" {
173488		objectMap["type"] = sls.Type
173489	}
173490	for k, v := range sls.AdditionalProperties {
173491		objectMap[k] = v
173492	}
173493	return json.Marshal(objectMap)
173494}
173495
173496// AsAzureFunctionLinkedService is the BasicLinkedService implementation for SquareLinkedService.
173497func (sls SquareLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) {
173498	return nil, false
173499}
173500
173501// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for SquareLinkedService.
173502func (sls SquareLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) {
173503	return nil, false
173504}
173505
173506// AsSapTableLinkedService is the BasicLinkedService implementation for SquareLinkedService.
173507func (sls SquareLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) {
173508	return nil, false
173509}
173510
173511// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for SquareLinkedService.
173512func (sls SquareLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) {
173513	return nil, false
173514}
173515
173516// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for SquareLinkedService.
173517func (sls SquareLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) {
173518	return nil, false
173519}
173520
173521// AsDynamicsAXLinkedService is the BasicLinkedService implementation for SquareLinkedService.
173522func (sls SquareLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) {
173523	return nil, false
173524}
173525
173526// AsResponsysLinkedService is the BasicLinkedService implementation for SquareLinkedService.
173527func (sls SquareLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
173528	return nil, false
173529}
173530
173531// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for SquareLinkedService.
173532func (sls SquareLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
173533	return nil, false
173534}
173535
173536// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for SquareLinkedService.
173537func (sls SquareLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
173538	return nil, false
173539}
173540
173541// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for SquareLinkedService.
173542func (sls SquareLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
173543	return nil, false
173544}
173545
173546// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for SquareLinkedService.
173547func (sls SquareLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
173548	return nil, false
173549}
173550
173551// AsNetezzaLinkedService is the BasicLinkedService implementation for SquareLinkedService.
173552func (sls SquareLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
173553	return nil, false
173554}
173555
173556// AsVerticaLinkedService is the BasicLinkedService implementation for SquareLinkedService.
173557func (sls SquareLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
173558	return nil, false
173559}
173560
173561// AsZohoLinkedService is the BasicLinkedService implementation for SquareLinkedService.
173562func (sls SquareLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
173563	return nil, false
173564}
173565
173566// AsXeroLinkedService is the BasicLinkedService implementation for SquareLinkedService.
173567func (sls SquareLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
173568	return nil, false
173569}
173570
173571// AsSquareLinkedService is the BasicLinkedService implementation for SquareLinkedService.
173572func (sls SquareLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
173573	return &sls, true
173574}
173575
173576// AsSparkLinkedService is the BasicLinkedService implementation for SquareLinkedService.
173577func (sls SquareLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
173578	return nil, false
173579}
173580
173581// AsShopifyLinkedService is the BasicLinkedService implementation for SquareLinkedService.
173582func (sls SquareLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
173583	return nil, false
173584}
173585
173586// AsServiceNowLinkedService is the BasicLinkedService implementation for SquareLinkedService.
173587func (sls SquareLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
173588	return nil, false
173589}
173590
173591// AsQuickBooksLinkedService is the BasicLinkedService implementation for SquareLinkedService.
173592func (sls SquareLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
173593	return nil, false
173594}
173595
173596// AsPrestoLinkedService is the BasicLinkedService implementation for SquareLinkedService.
173597func (sls SquareLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
173598	return nil, false
173599}
173600
173601// AsPhoenixLinkedService is the BasicLinkedService implementation for SquareLinkedService.
173602func (sls SquareLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
173603	return nil, false
173604}
173605
173606// AsPaypalLinkedService is the BasicLinkedService implementation for SquareLinkedService.
173607func (sls SquareLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
173608	return nil, false
173609}
173610
173611// AsMarketoLinkedService is the BasicLinkedService implementation for SquareLinkedService.
173612func (sls SquareLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
173613	return nil, false
173614}
173615
173616// AsMariaDBLinkedService is the BasicLinkedService implementation for SquareLinkedService.
173617func (sls SquareLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
173618	return nil, false
173619}
173620
173621// AsMagentoLinkedService is the BasicLinkedService implementation for SquareLinkedService.
173622func (sls SquareLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
173623	return nil, false
173624}
173625
173626// AsJiraLinkedService is the BasicLinkedService implementation for SquareLinkedService.
173627func (sls SquareLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
173628	return nil, false
173629}
173630
173631// AsImpalaLinkedService is the BasicLinkedService implementation for SquareLinkedService.
173632func (sls SquareLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
173633	return nil, false
173634}
173635
173636// AsHubspotLinkedService is the BasicLinkedService implementation for SquareLinkedService.
173637func (sls SquareLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
173638	return nil, false
173639}
173640
173641// AsHiveLinkedService is the BasicLinkedService implementation for SquareLinkedService.
173642func (sls SquareLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
173643	return nil, false
173644}
173645
173646// AsHBaseLinkedService is the BasicLinkedService implementation for SquareLinkedService.
173647func (sls SquareLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
173648	return nil, false
173649}
173650
173651// AsGreenplumLinkedService is the BasicLinkedService implementation for SquareLinkedService.
173652func (sls SquareLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
173653	return nil, false
173654}
173655
173656// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for SquareLinkedService.
173657func (sls SquareLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
173658	return nil, false
173659}
173660
173661// AsEloquaLinkedService is the BasicLinkedService implementation for SquareLinkedService.
173662func (sls SquareLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
173663	return nil, false
173664}
173665
173666// AsDrillLinkedService is the BasicLinkedService implementation for SquareLinkedService.
173667func (sls SquareLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
173668	return nil, false
173669}
173670
173671// AsCouchbaseLinkedService is the BasicLinkedService implementation for SquareLinkedService.
173672func (sls SquareLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
173673	return nil, false
173674}
173675
173676// AsConcurLinkedService is the BasicLinkedService implementation for SquareLinkedService.
173677func (sls SquareLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
173678	return nil, false
173679}
173680
173681// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for SquareLinkedService.
173682func (sls SquareLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
173683	return nil, false
173684}
173685
173686// AsAmazonMWSLinkedService is the BasicLinkedService implementation for SquareLinkedService.
173687func (sls SquareLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
173688	return nil, false
173689}
173690
173691// AsSapHanaLinkedService is the BasicLinkedService implementation for SquareLinkedService.
173692func (sls SquareLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
173693	return nil, false
173694}
173695
173696// AsSapBWLinkedService is the BasicLinkedService implementation for SquareLinkedService.
173697func (sls SquareLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
173698	return nil, false
173699}
173700
173701// AsSftpServerLinkedService is the BasicLinkedService implementation for SquareLinkedService.
173702func (sls SquareLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
173703	return nil, false
173704}
173705
173706// AsFtpServerLinkedService is the BasicLinkedService implementation for SquareLinkedService.
173707func (sls SquareLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
173708	return nil, false
173709}
173710
173711// AsHTTPLinkedService is the BasicLinkedService implementation for SquareLinkedService.
173712func (sls SquareLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
173713	return nil, false
173714}
173715
173716// AsAzureSearchLinkedService is the BasicLinkedService implementation for SquareLinkedService.
173717func (sls SquareLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
173718	return nil, false
173719}
173720
173721// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for SquareLinkedService.
173722func (sls SquareLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
173723	return nil, false
173724}
173725
173726// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for SquareLinkedService.
173727func (sls SquareLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
173728	return nil, false
173729}
173730
173731// AsAmazonS3LinkedService is the BasicLinkedService implementation for SquareLinkedService.
173732func (sls SquareLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
173733	return nil, false
173734}
173735
173736// AsRestServiceLinkedService is the BasicLinkedService implementation for SquareLinkedService.
173737func (sls SquareLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) {
173738	return nil, false
173739}
173740
173741// AsSapOpenHubLinkedService is the BasicLinkedService implementation for SquareLinkedService.
173742func (sls SquareLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) {
173743	return nil, false
173744}
173745
173746// AsSapEccLinkedService is the BasicLinkedService implementation for SquareLinkedService.
173747func (sls SquareLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
173748	return nil, false
173749}
173750
173751// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for SquareLinkedService.
173752func (sls SquareLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
173753	return nil, false
173754}
173755
173756// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for SquareLinkedService.
173757func (sls SquareLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) {
173758	return nil, false
173759}
173760
173761// AsSalesforceLinkedService is the BasicLinkedService implementation for SquareLinkedService.
173762func (sls SquareLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
173763	return nil, false
173764}
173765
173766// AsOffice365LinkedService is the BasicLinkedService implementation for SquareLinkedService.
173767func (sls SquareLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) {
173768	return nil, false
173769}
173770
173771// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for SquareLinkedService.
173772func (sls SquareLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) {
173773	return nil, false
173774}
173775
173776// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for SquareLinkedService.
173777func (sls SquareLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
173778	return nil, false
173779}
173780
173781// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for SquareLinkedService.
173782func (sls SquareLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) {
173783	return nil, false
173784}
173785
173786// AsMongoDbV2LinkedService is the BasicLinkedService implementation for SquareLinkedService.
173787func (sls SquareLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) {
173788	return nil, false
173789}
173790
173791// AsMongoDbLinkedService is the BasicLinkedService implementation for SquareLinkedService.
173792func (sls SquareLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
173793	return nil, false
173794}
173795
173796// AsCassandraLinkedService is the BasicLinkedService implementation for SquareLinkedService.
173797func (sls SquareLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
173798	return nil, false
173799}
173800
173801// AsWebLinkedService is the BasicLinkedService implementation for SquareLinkedService.
173802func (sls SquareLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
173803	return nil, false
173804}
173805
173806// AsODataLinkedService is the BasicLinkedService implementation for SquareLinkedService.
173807func (sls SquareLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
173808	return nil, false
173809}
173810
173811// AsHdfsLinkedService is the BasicLinkedService implementation for SquareLinkedService.
173812func (sls SquareLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
173813	return nil, false
173814}
173815
173816// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for SquareLinkedService.
173817func (sls SquareLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) {
173818	return nil, false
173819}
173820
173821// AsInformixLinkedService is the BasicLinkedService implementation for SquareLinkedService.
173822func (sls SquareLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) {
173823	return nil, false
173824}
173825
173826// AsOdbcLinkedService is the BasicLinkedService implementation for SquareLinkedService.
173827func (sls SquareLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
173828	return nil, false
173829}
173830
173831// AsAzureMLLinkedService is the BasicLinkedService implementation for SquareLinkedService.
173832func (sls SquareLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
173833	return nil, false
173834}
173835
173836// AsTeradataLinkedService is the BasicLinkedService implementation for SquareLinkedService.
173837func (sls SquareLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
173838	return nil, false
173839}
173840
173841// AsDb2LinkedService is the BasicLinkedService implementation for SquareLinkedService.
173842func (sls SquareLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
173843	return nil, false
173844}
173845
173846// AsSybaseLinkedService is the BasicLinkedService implementation for SquareLinkedService.
173847func (sls SquareLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
173848	return nil, false
173849}
173850
173851// AsPostgreSQLLinkedService is the BasicLinkedService implementation for SquareLinkedService.
173852func (sls SquareLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
173853	return nil, false
173854}
173855
173856// AsMySQLLinkedService is the BasicLinkedService implementation for SquareLinkedService.
173857func (sls SquareLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
173858	return nil, false
173859}
173860
173861// AsAzureMySQLLinkedService is the BasicLinkedService implementation for SquareLinkedService.
173862func (sls SquareLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
173863	return nil, false
173864}
173865
173866// AsOracleLinkedService is the BasicLinkedService implementation for SquareLinkedService.
173867func (sls SquareLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
173868	return nil, false
173869}
173870
173871// AsFileServerLinkedService is the BasicLinkedService implementation for SquareLinkedService.
173872func (sls SquareLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
173873	return nil, false
173874}
173875
173876// AsHDInsightLinkedService is the BasicLinkedService implementation for SquareLinkedService.
173877func (sls SquareLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
173878	return nil, false
173879}
173880
173881// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for SquareLinkedService.
173882func (sls SquareLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) {
173883	return nil, false
173884}
173885
173886// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for SquareLinkedService.
173887func (sls SquareLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) {
173888	return nil, false
173889}
173890
173891// AsDynamicsLinkedService is the BasicLinkedService implementation for SquareLinkedService.
173892func (sls SquareLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
173893	return nil, false
173894}
173895
173896// AsCosmosDbLinkedService is the BasicLinkedService implementation for SquareLinkedService.
173897func (sls SquareLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
173898	return nil, false
173899}
173900
173901// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for SquareLinkedService.
173902func (sls SquareLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
173903	return nil, false
173904}
173905
173906// AsAzureBatchLinkedService is the BasicLinkedService implementation for SquareLinkedService.
173907func (sls SquareLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
173908	return nil, false
173909}
173910
173911// AsAzureSQLMILinkedService is the BasicLinkedService implementation for SquareLinkedService.
173912func (sls SquareLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) {
173913	return nil, false
173914}
173915
173916// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for SquareLinkedService.
173917func (sls SquareLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
173918	return nil, false
173919}
173920
173921// AsSQLServerLinkedService is the BasicLinkedService implementation for SquareLinkedService.
173922func (sls SquareLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
173923	return nil, false
173924}
173925
173926// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for SquareLinkedService.
173927func (sls SquareLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
173928	return nil, false
173929}
173930
173931// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for SquareLinkedService.
173932func (sls SquareLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) {
173933	return nil, false
173934}
173935
173936// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for SquareLinkedService.
173937func (sls SquareLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) {
173938	return nil, false
173939}
173940
173941// AsAzureStorageLinkedService is the BasicLinkedService implementation for SquareLinkedService.
173942func (sls SquareLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
173943	return nil, false
173944}
173945
173946// AsLinkedService is the BasicLinkedService implementation for SquareLinkedService.
173947func (sls SquareLinkedService) AsLinkedService() (*LinkedService, bool) {
173948	return nil, false
173949}
173950
173951// AsBasicLinkedService is the BasicLinkedService implementation for SquareLinkedService.
173952func (sls SquareLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
173953	return &sls, true
173954}
173955
173956// UnmarshalJSON is the custom unmarshaler for SquareLinkedService struct.
173957func (sls *SquareLinkedService) UnmarshalJSON(body []byte) error {
173958	var m map[string]*json.RawMessage
173959	err := json.Unmarshal(body, &m)
173960	if err != nil {
173961		return err
173962	}
173963	for k, v := range m {
173964		switch k {
173965		case "typeProperties":
173966			if v != nil {
173967				var squareLinkedServiceTypeProperties SquareLinkedServiceTypeProperties
173968				err = json.Unmarshal(*v, &squareLinkedServiceTypeProperties)
173969				if err != nil {
173970					return err
173971				}
173972				sls.SquareLinkedServiceTypeProperties = &squareLinkedServiceTypeProperties
173973			}
173974		default:
173975			if v != nil {
173976				var additionalProperties interface{}
173977				err = json.Unmarshal(*v, &additionalProperties)
173978				if err != nil {
173979					return err
173980				}
173981				if sls.AdditionalProperties == nil {
173982					sls.AdditionalProperties = make(map[string]interface{})
173983				}
173984				sls.AdditionalProperties[k] = additionalProperties
173985			}
173986		case "connectVia":
173987			if v != nil {
173988				var connectVia IntegrationRuntimeReference
173989				err = json.Unmarshal(*v, &connectVia)
173990				if err != nil {
173991					return err
173992				}
173993				sls.ConnectVia = &connectVia
173994			}
173995		case "description":
173996			if v != nil {
173997				var description string
173998				err = json.Unmarshal(*v, &description)
173999				if err != nil {
174000					return err
174001				}
174002				sls.Description = &description
174003			}
174004		case "parameters":
174005			if v != nil {
174006				var parameters map[string]*ParameterSpecification
174007				err = json.Unmarshal(*v, &parameters)
174008				if err != nil {
174009					return err
174010				}
174011				sls.Parameters = parameters
174012			}
174013		case "annotations":
174014			if v != nil {
174015				var annotations []interface{}
174016				err = json.Unmarshal(*v, &annotations)
174017				if err != nil {
174018					return err
174019				}
174020				sls.Annotations = &annotations
174021			}
174022		case "type":
174023			if v != nil {
174024				var typeVar TypeBasicLinkedService
174025				err = json.Unmarshal(*v, &typeVar)
174026				if err != nil {
174027					return err
174028				}
174029				sls.Type = typeVar
174030			}
174031		}
174032	}
174033
174034	return nil
174035}
174036
174037// SquareLinkedServiceTypeProperties square Service linked service properties.
174038type SquareLinkedServiceTypeProperties struct {
174039	// Host - The URL of the Square instance. (i.e. mystore.mysquare.com)
174040	Host interface{} `json:"host,omitempty"`
174041	// ClientID - The client ID associated with your Square application.
174042	ClientID interface{} `json:"clientId,omitempty"`
174043	// ClientSecret - The client secret associated with your Square application.
174044	ClientSecret BasicSecretBase `json:"clientSecret,omitempty"`
174045	// RedirectURI - The redirect URL assigned in the Square application dashboard. (i.e. http://localhost:2500)
174046	RedirectURI interface{} `json:"redirectUri,omitempty"`
174047	// UseEncryptedEndpoints - Specifies whether the data source endpoints are encrypted using HTTPS. The default value is true.
174048	UseEncryptedEndpoints interface{} `json:"useEncryptedEndpoints,omitempty"`
174049	// 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.
174050	UseHostVerification interface{} `json:"useHostVerification,omitempty"`
174051	// UsePeerVerification - Specifies whether to verify the identity of the server when connecting over SSL. The default value is true.
174052	UsePeerVerification interface{} `json:"usePeerVerification,omitempty"`
174053	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
174054	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
174055}
174056
174057// UnmarshalJSON is the custom unmarshaler for SquareLinkedServiceTypeProperties struct.
174058func (slstp *SquareLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
174059	var m map[string]*json.RawMessage
174060	err := json.Unmarshal(body, &m)
174061	if err != nil {
174062		return err
174063	}
174064	for k, v := range m {
174065		switch k {
174066		case "host":
174067			if v != nil {
174068				var host interface{}
174069				err = json.Unmarshal(*v, &host)
174070				if err != nil {
174071					return err
174072				}
174073				slstp.Host = host
174074			}
174075		case "clientId":
174076			if v != nil {
174077				var clientID interface{}
174078				err = json.Unmarshal(*v, &clientID)
174079				if err != nil {
174080					return err
174081				}
174082				slstp.ClientID = clientID
174083			}
174084		case "clientSecret":
174085			if v != nil {
174086				clientSecret, err := unmarshalBasicSecretBase(*v)
174087				if err != nil {
174088					return err
174089				}
174090				slstp.ClientSecret = clientSecret
174091			}
174092		case "redirectUri":
174093			if v != nil {
174094				var redirectURI interface{}
174095				err = json.Unmarshal(*v, &redirectURI)
174096				if err != nil {
174097					return err
174098				}
174099				slstp.RedirectURI = redirectURI
174100			}
174101		case "useEncryptedEndpoints":
174102			if v != nil {
174103				var useEncryptedEndpoints interface{}
174104				err = json.Unmarshal(*v, &useEncryptedEndpoints)
174105				if err != nil {
174106					return err
174107				}
174108				slstp.UseEncryptedEndpoints = useEncryptedEndpoints
174109			}
174110		case "useHostVerification":
174111			if v != nil {
174112				var useHostVerification interface{}
174113				err = json.Unmarshal(*v, &useHostVerification)
174114				if err != nil {
174115					return err
174116				}
174117				slstp.UseHostVerification = useHostVerification
174118			}
174119		case "usePeerVerification":
174120			if v != nil {
174121				var usePeerVerification interface{}
174122				err = json.Unmarshal(*v, &usePeerVerification)
174123				if err != nil {
174124					return err
174125				}
174126				slstp.UsePeerVerification = usePeerVerification
174127			}
174128		case "encryptedCredential":
174129			if v != nil {
174130				var encryptedCredential interface{}
174131				err = json.Unmarshal(*v, &encryptedCredential)
174132				if err != nil {
174133					return err
174134				}
174135				slstp.EncryptedCredential = encryptedCredential
174136			}
174137		}
174138	}
174139
174140	return nil
174141}
174142
174143// SquareObjectDataset square Service dataset.
174144type SquareObjectDataset struct {
174145	// GenericDatasetTypeProperties - Properties specific to this dataset type.
174146	*GenericDatasetTypeProperties `json:"typeProperties,omitempty"`
174147	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
174148	AdditionalProperties map[string]interface{} `json:""`
174149	// Description - Dataset description.
174150	Description *string `json:"description,omitempty"`
174151	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
174152	Structure interface{} `json:"structure,omitempty"`
174153	// Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement.
174154	Schema interface{} `json:"schema,omitempty"`
174155	// LinkedServiceName - Linked service reference.
174156	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
174157	// Parameters - Parameters for dataset.
174158	Parameters map[string]*ParameterSpecification `json:"parameters"`
174159	// Annotations - List of tags that can be used for describing the Dataset.
174160	Annotations *[]interface{} `json:"annotations,omitempty"`
174161	// Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level.
174162	Folder *DatasetFolder `json:"folder,omitempty"`
174163	// Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', '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', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeDelimitedText', 'TypeParquet', 'TypeAmazonS3Object'
174164	Type TypeBasicDataset `json:"type,omitempty"`
174165}
174166
174167// MarshalJSON is the custom marshaler for SquareObjectDataset.
174168func (sod SquareObjectDataset) MarshalJSON() ([]byte, error) {
174169	sod.Type = TypeSquareObject
174170	objectMap := make(map[string]interface{})
174171	if sod.GenericDatasetTypeProperties != nil {
174172		objectMap["typeProperties"] = sod.GenericDatasetTypeProperties
174173	}
174174	if sod.Description != nil {
174175		objectMap["description"] = sod.Description
174176	}
174177	if sod.Structure != nil {
174178		objectMap["structure"] = sod.Structure
174179	}
174180	if sod.Schema != nil {
174181		objectMap["schema"] = sod.Schema
174182	}
174183	if sod.LinkedServiceName != nil {
174184		objectMap["linkedServiceName"] = sod.LinkedServiceName
174185	}
174186	if sod.Parameters != nil {
174187		objectMap["parameters"] = sod.Parameters
174188	}
174189	if sod.Annotations != nil {
174190		objectMap["annotations"] = sod.Annotations
174191	}
174192	if sod.Folder != nil {
174193		objectMap["folder"] = sod.Folder
174194	}
174195	if sod.Type != "" {
174196		objectMap["type"] = sod.Type
174197	}
174198	for k, v := range sod.AdditionalProperties {
174199		objectMap[k] = v
174200	}
174201	return json.Marshal(objectMap)
174202}
174203
174204// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for SquareObjectDataset.
174205func (sod SquareObjectDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) {
174206	return nil, false
174207}
174208
174209// AsAzureDataExplorerTableDataset is the BasicDataset implementation for SquareObjectDataset.
174210func (sod SquareObjectDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) {
174211	return nil, false
174212}
174213
174214// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for SquareObjectDataset.
174215func (sod SquareObjectDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) {
174216	return nil, false
174217}
174218
174219// AsDynamicsAXResourceDataset is the BasicDataset implementation for SquareObjectDataset.
174220func (sod SquareObjectDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) {
174221	return nil, false
174222}
174223
174224// AsResponsysObjectDataset is the BasicDataset implementation for SquareObjectDataset.
174225func (sod SquareObjectDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
174226	return nil, false
174227}
174228
174229// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for SquareObjectDataset.
174230func (sod SquareObjectDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
174231	return nil, false
174232}
174233
174234// AsVerticaTableDataset is the BasicDataset implementation for SquareObjectDataset.
174235func (sod SquareObjectDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
174236	return nil, false
174237}
174238
174239// AsNetezzaTableDataset is the BasicDataset implementation for SquareObjectDataset.
174240func (sod SquareObjectDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
174241	return nil, false
174242}
174243
174244// AsZohoObjectDataset is the BasicDataset implementation for SquareObjectDataset.
174245func (sod SquareObjectDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
174246	return nil, false
174247}
174248
174249// AsXeroObjectDataset is the BasicDataset implementation for SquareObjectDataset.
174250func (sod SquareObjectDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
174251	return nil, false
174252}
174253
174254// AsSquareObjectDataset is the BasicDataset implementation for SquareObjectDataset.
174255func (sod SquareObjectDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
174256	return &sod, true
174257}
174258
174259// AsSparkObjectDataset is the BasicDataset implementation for SquareObjectDataset.
174260func (sod SquareObjectDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
174261	return nil, false
174262}
174263
174264// AsShopifyObjectDataset is the BasicDataset implementation for SquareObjectDataset.
174265func (sod SquareObjectDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
174266	return nil, false
174267}
174268
174269// AsServiceNowObjectDataset is the BasicDataset implementation for SquareObjectDataset.
174270func (sod SquareObjectDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
174271	return nil, false
174272}
174273
174274// AsQuickBooksObjectDataset is the BasicDataset implementation for SquareObjectDataset.
174275func (sod SquareObjectDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
174276	return nil, false
174277}
174278
174279// AsPrestoObjectDataset is the BasicDataset implementation for SquareObjectDataset.
174280func (sod SquareObjectDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
174281	return nil, false
174282}
174283
174284// AsPhoenixObjectDataset is the BasicDataset implementation for SquareObjectDataset.
174285func (sod SquareObjectDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
174286	return nil, false
174287}
174288
174289// AsPaypalObjectDataset is the BasicDataset implementation for SquareObjectDataset.
174290func (sod SquareObjectDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
174291	return nil, false
174292}
174293
174294// AsMarketoObjectDataset is the BasicDataset implementation for SquareObjectDataset.
174295func (sod SquareObjectDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
174296	return nil, false
174297}
174298
174299// AsMariaDBTableDataset is the BasicDataset implementation for SquareObjectDataset.
174300func (sod SquareObjectDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
174301	return nil, false
174302}
174303
174304// AsMagentoObjectDataset is the BasicDataset implementation for SquareObjectDataset.
174305func (sod SquareObjectDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
174306	return nil, false
174307}
174308
174309// AsJiraObjectDataset is the BasicDataset implementation for SquareObjectDataset.
174310func (sod SquareObjectDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
174311	return nil, false
174312}
174313
174314// AsImpalaObjectDataset is the BasicDataset implementation for SquareObjectDataset.
174315func (sod SquareObjectDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
174316	return nil, false
174317}
174318
174319// AsHubspotObjectDataset is the BasicDataset implementation for SquareObjectDataset.
174320func (sod SquareObjectDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
174321	return nil, false
174322}
174323
174324// AsHiveObjectDataset is the BasicDataset implementation for SquareObjectDataset.
174325func (sod SquareObjectDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
174326	return nil, false
174327}
174328
174329// AsHBaseObjectDataset is the BasicDataset implementation for SquareObjectDataset.
174330func (sod SquareObjectDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
174331	return nil, false
174332}
174333
174334// AsGreenplumTableDataset is the BasicDataset implementation for SquareObjectDataset.
174335func (sod SquareObjectDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
174336	return nil, false
174337}
174338
174339// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for SquareObjectDataset.
174340func (sod SquareObjectDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
174341	return nil, false
174342}
174343
174344// AsEloquaObjectDataset is the BasicDataset implementation for SquareObjectDataset.
174345func (sod SquareObjectDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
174346	return nil, false
174347}
174348
174349// AsDrillTableDataset is the BasicDataset implementation for SquareObjectDataset.
174350func (sod SquareObjectDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
174351	return nil, false
174352}
174353
174354// AsCouchbaseTableDataset is the BasicDataset implementation for SquareObjectDataset.
174355func (sod SquareObjectDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
174356	return nil, false
174357}
174358
174359// AsConcurObjectDataset is the BasicDataset implementation for SquareObjectDataset.
174360func (sod SquareObjectDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
174361	return nil, false
174362}
174363
174364// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for SquareObjectDataset.
174365func (sod SquareObjectDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
174366	return nil, false
174367}
174368
174369// AsAmazonMWSObjectDataset is the BasicDataset implementation for SquareObjectDataset.
174370func (sod SquareObjectDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
174371	return nil, false
174372}
174373
174374// AsHTTPDataset is the BasicDataset implementation for SquareObjectDataset.
174375func (sod SquareObjectDataset) AsHTTPDataset() (*HTTPDataset, bool) {
174376	return nil, false
174377}
174378
174379// AsAzureSearchIndexDataset is the BasicDataset implementation for SquareObjectDataset.
174380func (sod SquareObjectDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
174381	return nil, false
174382}
174383
174384// AsWebTableDataset is the BasicDataset implementation for SquareObjectDataset.
174385func (sod SquareObjectDataset) AsWebTableDataset() (*WebTableDataset, bool) {
174386	return nil, false
174387}
174388
174389// AsSapTableResourceDataset is the BasicDataset implementation for SquareObjectDataset.
174390func (sod SquareObjectDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) {
174391	return nil, false
174392}
174393
174394// AsRestResourceDataset is the BasicDataset implementation for SquareObjectDataset.
174395func (sod SquareObjectDataset) AsRestResourceDataset() (*RestResourceDataset, bool) {
174396	return nil, false
174397}
174398
174399// AsSQLServerTableDataset is the BasicDataset implementation for SquareObjectDataset.
174400func (sod SquareObjectDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
174401	return nil, false
174402}
174403
174404// AsSapOpenHubTableDataset is the BasicDataset implementation for SquareObjectDataset.
174405func (sod SquareObjectDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) {
174406	return nil, false
174407}
174408
174409// AsSapHanaTableDataset is the BasicDataset implementation for SquareObjectDataset.
174410func (sod SquareObjectDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) {
174411	return nil, false
174412}
174413
174414// AsSapEccResourceDataset is the BasicDataset implementation for SquareObjectDataset.
174415func (sod SquareObjectDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
174416	return nil, false
174417}
174418
174419// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for SquareObjectDataset.
174420func (sod SquareObjectDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
174421	return nil, false
174422}
174423
174424// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for SquareObjectDataset.
174425func (sod SquareObjectDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) {
174426	return nil, false
174427}
174428
174429// AsSalesforceObjectDataset is the BasicDataset implementation for SquareObjectDataset.
174430func (sod SquareObjectDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
174431	return nil, false
174432}
174433
174434// AsMicrosoftAccessTableDataset is the BasicDataset implementation for SquareObjectDataset.
174435func (sod SquareObjectDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) {
174436	return nil, false
174437}
174438
174439// AsPostgreSQLTableDataset is the BasicDataset implementation for SquareObjectDataset.
174440func (sod SquareObjectDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) {
174441	return nil, false
174442}
174443
174444// AsMySQLTableDataset is the BasicDataset implementation for SquareObjectDataset.
174445func (sod SquareObjectDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) {
174446	return nil, false
174447}
174448
174449// AsOdbcTableDataset is the BasicDataset implementation for SquareObjectDataset.
174450func (sod SquareObjectDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) {
174451	return nil, false
174452}
174453
174454// AsInformixTableDataset is the BasicDataset implementation for SquareObjectDataset.
174455func (sod SquareObjectDataset) AsInformixTableDataset() (*InformixTableDataset, bool) {
174456	return nil, false
174457}
174458
174459// AsRelationalTableDataset is the BasicDataset implementation for SquareObjectDataset.
174460func (sod SquareObjectDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
174461	return nil, false
174462}
174463
174464// AsAzureMySQLTableDataset is the BasicDataset implementation for SquareObjectDataset.
174465func (sod SquareObjectDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
174466	return nil, false
174467}
174468
174469// AsTeradataTableDataset is the BasicDataset implementation for SquareObjectDataset.
174470func (sod SquareObjectDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) {
174471	return nil, false
174472}
174473
174474// AsOracleTableDataset is the BasicDataset implementation for SquareObjectDataset.
174475func (sod SquareObjectDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
174476	return nil, false
174477}
174478
174479// AsODataResourceDataset is the BasicDataset implementation for SquareObjectDataset.
174480func (sod SquareObjectDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
174481	return nil, false
174482}
174483
174484// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for SquareObjectDataset.
174485func (sod SquareObjectDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) {
174486	return nil, false
174487}
174488
174489// AsMongoDbV2CollectionDataset is the BasicDataset implementation for SquareObjectDataset.
174490func (sod SquareObjectDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) {
174491	return nil, false
174492}
174493
174494// AsMongoDbCollectionDataset is the BasicDataset implementation for SquareObjectDataset.
174495func (sod SquareObjectDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
174496	return nil, false
174497}
174498
174499// AsFileShareDataset is the BasicDataset implementation for SquareObjectDataset.
174500func (sod SquareObjectDataset) AsFileShareDataset() (*FileShareDataset, bool) {
174501	return nil, false
174502}
174503
174504// AsOffice365Dataset is the BasicDataset implementation for SquareObjectDataset.
174505func (sod SquareObjectDataset) AsOffice365Dataset() (*Office365Dataset, bool) {
174506	return nil, false
174507}
174508
174509// AsAzureBlobFSDataset is the BasicDataset implementation for SquareObjectDataset.
174510func (sod SquareObjectDataset) AsAzureBlobFSDataset() (*AzureBlobFSDataset, bool) {
174511	return nil, false
174512}
174513
174514// AsAzureDataLakeStoreDataset is the BasicDataset implementation for SquareObjectDataset.
174515func (sod SquareObjectDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) {
174516	return nil, false
174517}
174518
174519// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for SquareObjectDataset.
174520func (sod SquareObjectDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) {
174521	return nil, false
174522}
174523
174524// AsDynamicsCrmEntityDataset is the BasicDataset implementation for SquareObjectDataset.
174525func (sod SquareObjectDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) {
174526	return nil, false
174527}
174528
174529// AsDynamicsEntityDataset is the BasicDataset implementation for SquareObjectDataset.
174530func (sod SquareObjectDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
174531	return nil, false
174532}
174533
174534// AsDocumentDbCollectionDataset is the BasicDataset implementation for SquareObjectDataset.
174535func (sod SquareObjectDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
174536	return nil, false
174537}
174538
174539// AsCustomDataset is the BasicDataset implementation for SquareObjectDataset.
174540func (sod SquareObjectDataset) AsCustomDataset() (*CustomDataset, bool) {
174541	return nil, false
174542}
174543
174544// AsCassandraTableDataset is the BasicDataset implementation for SquareObjectDataset.
174545func (sod SquareObjectDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
174546	return nil, false
174547}
174548
174549// AsAzureSQLDWTableDataset is the BasicDataset implementation for SquareObjectDataset.
174550func (sod SquareObjectDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
174551	return nil, false
174552}
174553
174554// AsAzureSQLMITableDataset is the BasicDataset implementation for SquareObjectDataset.
174555func (sod SquareObjectDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) {
174556	return nil, false
174557}
174558
174559// AsAzureSQLTableDataset is the BasicDataset implementation for SquareObjectDataset.
174560func (sod SquareObjectDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
174561	return nil, false
174562}
174563
174564// AsAzureTableDataset is the BasicDataset implementation for SquareObjectDataset.
174565func (sod SquareObjectDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
174566	return nil, false
174567}
174568
174569// AsAzureBlobDataset is the BasicDataset implementation for SquareObjectDataset.
174570func (sod SquareObjectDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) {
174571	return nil, false
174572}
174573
174574// AsBinaryDataset is the BasicDataset implementation for SquareObjectDataset.
174575func (sod SquareObjectDataset) AsBinaryDataset() (*BinaryDataset, bool) {
174576	return nil, false
174577}
174578
174579// AsDelimitedTextDataset is the BasicDataset implementation for SquareObjectDataset.
174580func (sod SquareObjectDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) {
174581	return nil, false
174582}
174583
174584// AsParquetDataset is the BasicDataset implementation for SquareObjectDataset.
174585func (sod SquareObjectDataset) AsParquetDataset() (*ParquetDataset, bool) {
174586	return nil, false
174587}
174588
174589// AsAmazonS3Dataset is the BasicDataset implementation for SquareObjectDataset.
174590func (sod SquareObjectDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) {
174591	return nil, false
174592}
174593
174594// AsDataset is the BasicDataset implementation for SquareObjectDataset.
174595func (sod SquareObjectDataset) AsDataset() (*Dataset, bool) {
174596	return nil, false
174597}
174598
174599// AsBasicDataset is the BasicDataset implementation for SquareObjectDataset.
174600func (sod SquareObjectDataset) AsBasicDataset() (BasicDataset, bool) {
174601	return &sod, true
174602}
174603
174604// UnmarshalJSON is the custom unmarshaler for SquareObjectDataset struct.
174605func (sod *SquareObjectDataset) UnmarshalJSON(body []byte) error {
174606	var m map[string]*json.RawMessage
174607	err := json.Unmarshal(body, &m)
174608	if err != nil {
174609		return err
174610	}
174611	for k, v := range m {
174612		switch k {
174613		case "typeProperties":
174614			if v != nil {
174615				var genericDatasetTypeProperties GenericDatasetTypeProperties
174616				err = json.Unmarshal(*v, &genericDatasetTypeProperties)
174617				if err != nil {
174618					return err
174619				}
174620				sod.GenericDatasetTypeProperties = &genericDatasetTypeProperties
174621			}
174622		default:
174623			if v != nil {
174624				var additionalProperties interface{}
174625				err = json.Unmarshal(*v, &additionalProperties)
174626				if err != nil {
174627					return err
174628				}
174629				if sod.AdditionalProperties == nil {
174630					sod.AdditionalProperties = make(map[string]interface{})
174631				}
174632				sod.AdditionalProperties[k] = additionalProperties
174633			}
174634		case "description":
174635			if v != nil {
174636				var description string
174637				err = json.Unmarshal(*v, &description)
174638				if err != nil {
174639					return err
174640				}
174641				sod.Description = &description
174642			}
174643		case "structure":
174644			if v != nil {
174645				var structure interface{}
174646				err = json.Unmarshal(*v, &structure)
174647				if err != nil {
174648					return err
174649				}
174650				sod.Structure = structure
174651			}
174652		case "schema":
174653			if v != nil {
174654				var schema interface{}
174655				err = json.Unmarshal(*v, &schema)
174656				if err != nil {
174657					return err
174658				}
174659				sod.Schema = schema
174660			}
174661		case "linkedServiceName":
174662			if v != nil {
174663				var linkedServiceName LinkedServiceReference
174664				err = json.Unmarshal(*v, &linkedServiceName)
174665				if err != nil {
174666					return err
174667				}
174668				sod.LinkedServiceName = &linkedServiceName
174669			}
174670		case "parameters":
174671			if v != nil {
174672				var parameters map[string]*ParameterSpecification
174673				err = json.Unmarshal(*v, &parameters)
174674				if err != nil {
174675					return err
174676				}
174677				sod.Parameters = parameters
174678			}
174679		case "annotations":
174680			if v != nil {
174681				var annotations []interface{}
174682				err = json.Unmarshal(*v, &annotations)
174683				if err != nil {
174684					return err
174685				}
174686				sod.Annotations = &annotations
174687			}
174688		case "folder":
174689			if v != nil {
174690				var folder DatasetFolder
174691				err = json.Unmarshal(*v, &folder)
174692				if err != nil {
174693					return err
174694				}
174695				sod.Folder = &folder
174696			}
174697		case "type":
174698			if v != nil {
174699				var typeVar TypeBasicDataset
174700				err = json.Unmarshal(*v, &typeVar)
174701				if err != nil {
174702					return err
174703				}
174704				sod.Type = typeVar
174705			}
174706		}
174707	}
174708
174709	return nil
174710}
174711
174712// SquareSource a copy activity Square Service source.
174713type SquareSource struct {
174714	// Query - A query to retrieve data from source. Type: string (or Expression with resultType string).
174715	Query interface{} `json:"query,omitempty"`
174716	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
174717	AdditionalProperties map[string]interface{} `json:""`
174718	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
174719	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
174720	// 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])).
174721	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
174722	// MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer).
174723	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
174724	// Type - Possible values include: 'TypeCopySource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', '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', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeCassandraSource', 'TypeWebSource', 'TypeTeradataSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeAzureMySQLSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeRestSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceServiceCloudSource', 'TypeSalesforceSource', 'TypeODataSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeMicrosoftAccessSource', 'TypeInformixSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAzureTableSource', 'TypeBinarySource', 'TypeDelimitedTextSource', 'TypeParquetSource'
174725	Type TypeBasicCopySource `json:"type,omitempty"`
174726}
174727
174728// MarshalJSON is the custom marshaler for SquareSource.
174729func (ss SquareSource) MarshalJSON() ([]byte, error) {
174730	ss.Type = TypeSquareSource
174731	objectMap := make(map[string]interface{})
174732	if ss.Query != nil {
174733		objectMap["query"] = ss.Query
174734	}
174735	if ss.SourceRetryCount != nil {
174736		objectMap["sourceRetryCount"] = ss.SourceRetryCount
174737	}
174738	if ss.SourceRetryWait != nil {
174739		objectMap["sourceRetryWait"] = ss.SourceRetryWait
174740	}
174741	if ss.MaxConcurrentConnections != nil {
174742		objectMap["maxConcurrentConnections"] = ss.MaxConcurrentConnections
174743	}
174744	if ss.Type != "" {
174745		objectMap["type"] = ss.Type
174746	}
174747	for k, v := range ss.AdditionalProperties {
174748		objectMap[k] = v
174749	}
174750	return json.Marshal(objectMap)
174751}
174752
174753// AsAmazonRedshiftSource is the BasicCopySource implementation for SquareSource.
174754func (ss SquareSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
174755	return nil, false
174756}
174757
174758// AsGoogleAdWordsSource is the BasicCopySource implementation for SquareSource.
174759func (ss SquareSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) {
174760	return nil, false
174761}
174762
174763// AsOracleServiceCloudSource is the BasicCopySource implementation for SquareSource.
174764func (ss SquareSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) {
174765	return nil, false
174766}
174767
174768// AsDynamicsAXSource is the BasicCopySource implementation for SquareSource.
174769func (ss SquareSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) {
174770	return nil, false
174771}
174772
174773// AsResponsysSource is the BasicCopySource implementation for SquareSource.
174774func (ss SquareSource) AsResponsysSource() (*ResponsysSource, bool) {
174775	return nil, false
174776}
174777
174778// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for SquareSource.
174779func (ss SquareSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
174780	return nil, false
174781}
174782
174783// AsVerticaSource is the BasicCopySource implementation for SquareSource.
174784func (ss SquareSource) AsVerticaSource() (*VerticaSource, bool) {
174785	return nil, false
174786}
174787
174788// AsNetezzaSource is the BasicCopySource implementation for SquareSource.
174789func (ss SquareSource) AsNetezzaSource() (*NetezzaSource, bool) {
174790	return nil, false
174791}
174792
174793// AsZohoSource is the BasicCopySource implementation for SquareSource.
174794func (ss SquareSource) AsZohoSource() (*ZohoSource, bool) {
174795	return nil, false
174796}
174797
174798// AsXeroSource is the BasicCopySource implementation for SquareSource.
174799func (ss SquareSource) AsXeroSource() (*XeroSource, bool) {
174800	return nil, false
174801}
174802
174803// AsSquareSource is the BasicCopySource implementation for SquareSource.
174804func (ss SquareSource) AsSquareSource() (*SquareSource, bool) {
174805	return &ss, true
174806}
174807
174808// AsSparkSource is the BasicCopySource implementation for SquareSource.
174809func (ss SquareSource) AsSparkSource() (*SparkSource, bool) {
174810	return nil, false
174811}
174812
174813// AsShopifySource is the BasicCopySource implementation for SquareSource.
174814func (ss SquareSource) AsShopifySource() (*ShopifySource, bool) {
174815	return nil, false
174816}
174817
174818// AsServiceNowSource is the BasicCopySource implementation for SquareSource.
174819func (ss SquareSource) AsServiceNowSource() (*ServiceNowSource, bool) {
174820	return nil, false
174821}
174822
174823// AsQuickBooksSource is the BasicCopySource implementation for SquareSource.
174824func (ss SquareSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
174825	return nil, false
174826}
174827
174828// AsPrestoSource is the BasicCopySource implementation for SquareSource.
174829func (ss SquareSource) AsPrestoSource() (*PrestoSource, bool) {
174830	return nil, false
174831}
174832
174833// AsPhoenixSource is the BasicCopySource implementation for SquareSource.
174834func (ss SquareSource) AsPhoenixSource() (*PhoenixSource, bool) {
174835	return nil, false
174836}
174837
174838// AsPaypalSource is the BasicCopySource implementation for SquareSource.
174839func (ss SquareSource) AsPaypalSource() (*PaypalSource, bool) {
174840	return nil, false
174841}
174842
174843// AsMarketoSource is the BasicCopySource implementation for SquareSource.
174844func (ss SquareSource) AsMarketoSource() (*MarketoSource, bool) {
174845	return nil, false
174846}
174847
174848// AsMariaDBSource is the BasicCopySource implementation for SquareSource.
174849func (ss SquareSource) AsMariaDBSource() (*MariaDBSource, bool) {
174850	return nil, false
174851}
174852
174853// AsMagentoSource is the BasicCopySource implementation for SquareSource.
174854func (ss SquareSource) AsMagentoSource() (*MagentoSource, bool) {
174855	return nil, false
174856}
174857
174858// AsJiraSource is the BasicCopySource implementation for SquareSource.
174859func (ss SquareSource) AsJiraSource() (*JiraSource, bool) {
174860	return nil, false
174861}
174862
174863// AsImpalaSource is the BasicCopySource implementation for SquareSource.
174864func (ss SquareSource) AsImpalaSource() (*ImpalaSource, bool) {
174865	return nil, false
174866}
174867
174868// AsHubspotSource is the BasicCopySource implementation for SquareSource.
174869func (ss SquareSource) AsHubspotSource() (*HubspotSource, bool) {
174870	return nil, false
174871}
174872
174873// AsHiveSource is the BasicCopySource implementation for SquareSource.
174874func (ss SquareSource) AsHiveSource() (*HiveSource, bool) {
174875	return nil, false
174876}
174877
174878// AsHBaseSource is the BasicCopySource implementation for SquareSource.
174879func (ss SquareSource) AsHBaseSource() (*HBaseSource, bool) {
174880	return nil, false
174881}
174882
174883// AsGreenplumSource is the BasicCopySource implementation for SquareSource.
174884func (ss SquareSource) AsGreenplumSource() (*GreenplumSource, bool) {
174885	return nil, false
174886}
174887
174888// AsGoogleBigQuerySource is the BasicCopySource implementation for SquareSource.
174889func (ss SquareSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
174890	return nil, false
174891}
174892
174893// AsEloquaSource is the BasicCopySource implementation for SquareSource.
174894func (ss SquareSource) AsEloquaSource() (*EloquaSource, bool) {
174895	return nil, false
174896}
174897
174898// AsDrillSource is the BasicCopySource implementation for SquareSource.
174899func (ss SquareSource) AsDrillSource() (*DrillSource, bool) {
174900	return nil, false
174901}
174902
174903// AsCouchbaseSource is the BasicCopySource implementation for SquareSource.
174904func (ss SquareSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
174905	return nil, false
174906}
174907
174908// AsConcurSource is the BasicCopySource implementation for SquareSource.
174909func (ss SquareSource) AsConcurSource() (*ConcurSource, bool) {
174910	return nil, false
174911}
174912
174913// AsAzurePostgreSQLSource is the BasicCopySource implementation for SquareSource.
174914func (ss SquareSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
174915	return nil, false
174916}
174917
174918// AsAmazonMWSSource is the BasicCopySource implementation for SquareSource.
174919func (ss SquareSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
174920	return nil, false
174921}
174922
174923// AsHTTPSource is the BasicCopySource implementation for SquareSource.
174924func (ss SquareSource) AsHTTPSource() (*HTTPSource, bool) {
174925	return nil, false
174926}
174927
174928// AsAzureBlobFSSource is the BasicCopySource implementation for SquareSource.
174929func (ss SquareSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) {
174930	return nil, false
174931}
174932
174933// AsAzureDataLakeStoreSource is the BasicCopySource implementation for SquareSource.
174934func (ss SquareSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
174935	return nil, false
174936}
174937
174938// AsOffice365Source is the BasicCopySource implementation for SquareSource.
174939func (ss SquareSource) AsOffice365Source() (*Office365Source, bool) {
174940	return nil, false
174941}
174942
174943// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for SquareSource.
174944func (ss SquareSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) {
174945	return nil, false
174946}
174947
174948// AsMongoDbV2Source is the BasicCopySource implementation for SquareSource.
174949func (ss SquareSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) {
174950	return nil, false
174951}
174952
174953// AsMongoDbSource is the BasicCopySource implementation for SquareSource.
174954func (ss SquareSource) AsMongoDbSource() (*MongoDbSource, bool) {
174955	return nil, false
174956}
174957
174958// AsCassandraSource is the BasicCopySource implementation for SquareSource.
174959func (ss SquareSource) AsCassandraSource() (*CassandraSource, bool) {
174960	return nil, false
174961}
174962
174963// AsWebSource is the BasicCopySource implementation for SquareSource.
174964func (ss SquareSource) AsWebSource() (*WebSource, bool) {
174965	return nil, false
174966}
174967
174968// AsTeradataSource is the BasicCopySource implementation for SquareSource.
174969func (ss SquareSource) AsTeradataSource() (*TeradataSource, bool) {
174970	return nil, false
174971}
174972
174973// AsOracleSource is the BasicCopySource implementation for SquareSource.
174974func (ss SquareSource) AsOracleSource() (*OracleSource, bool) {
174975	return nil, false
174976}
174977
174978// AsAzureDataExplorerSource is the BasicCopySource implementation for SquareSource.
174979func (ss SquareSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) {
174980	return nil, false
174981}
174982
174983// AsAzureMySQLSource is the BasicCopySource implementation for SquareSource.
174984func (ss SquareSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
174985	return nil, false
174986}
174987
174988// AsHdfsSource is the BasicCopySource implementation for SquareSource.
174989func (ss SquareSource) AsHdfsSource() (*HdfsSource, bool) {
174990	return nil, false
174991}
174992
174993// AsFileSystemSource is the BasicCopySource implementation for SquareSource.
174994func (ss SquareSource) AsFileSystemSource() (*FileSystemSource, bool) {
174995	return nil, false
174996}
174997
174998// AsSQLDWSource is the BasicCopySource implementation for SquareSource.
174999func (ss SquareSource) AsSQLDWSource() (*SQLDWSource, bool) {
175000	return nil, false
175001}
175002
175003// AsSQLMISource is the BasicCopySource implementation for SquareSource.
175004func (ss SquareSource) AsSQLMISource() (*SQLMISource, bool) {
175005	return nil, false
175006}
175007
175008// AsAzureSQLSource is the BasicCopySource implementation for SquareSource.
175009func (ss SquareSource) AsAzureSQLSource() (*AzureSQLSource, bool) {
175010	return nil, false
175011}
175012
175013// AsSQLServerSource is the BasicCopySource implementation for SquareSource.
175014func (ss SquareSource) AsSQLServerSource() (*SQLServerSource, bool) {
175015	return nil, false
175016}
175017
175018// AsSQLSource is the BasicCopySource implementation for SquareSource.
175019func (ss SquareSource) AsSQLSource() (*SQLSource, bool) {
175020	return nil, false
175021}
175022
175023// AsRestSource is the BasicCopySource implementation for SquareSource.
175024func (ss SquareSource) AsRestSource() (*RestSource, bool) {
175025	return nil, false
175026}
175027
175028// AsSapTableSource is the BasicCopySource implementation for SquareSource.
175029func (ss SquareSource) AsSapTableSource() (*SapTableSource, bool) {
175030	return nil, false
175031}
175032
175033// AsSapOpenHubSource is the BasicCopySource implementation for SquareSource.
175034func (ss SquareSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) {
175035	return nil, false
175036}
175037
175038// AsSapHanaSource is the BasicCopySource implementation for SquareSource.
175039func (ss SquareSource) AsSapHanaSource() (*SapHanaSource, bool) {
175040	return nil, false
175041}
175042
175043// AsSapEccSource is the BasicCopySource implementation for SquareSource.
175044func (ss SquareSource) AsSapEccSource() (*SapEccSource, bool) {
175045	return nil, false
175046}
175047
175048// AsSapCloudForCustomerSource is the BasicCopySource implementation for SquareSource.
175049func (ss SquareSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
175050	return nil, false
175051}
175052
175053// AsSalesforceServiceCloudSource is the BasicCopySource implementation for SquareSource.
175054func (ss SquareSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) {
175055	return nil, false
175056}
175057
175058// AsSalesforceSource is the BasicCopySource implementation for SquareSource.
175059func (ss SquareSource) AsSalesforceSource() (*SalesforceSource, bool) {
175060	return nil, false
175061}
175062
175063// AsODataSource is the BasicCopySource implementation for SquareSource.
175064func (ss SquareSource) AsODataSource() (*ODataSource, bool) {
175065	return nil, false
175066}
175067
175068// AsSybaseSource is the BasicCopySource implementation for SquareSource.
175069func (ss SquareSource) AsSybaseSource() (*SybaseSource, bool) {
175070	return nil, false
175071}
175072
175073// AsPostgreSQLSource is the BasicCopySource implementation for SquareSource.
175074func (ss SquareSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) {
175075	return nil, false
175076}
175077
175078// AsMySQLSource is the BasicCopySource implementation for SquareSource.
175079func (ss SquareSource) AsMySQLSource() (*MySQLSource, bool) {
175080	return nil, false
175081}
175082
175083// AsOdbcSource is the BasicCopySource implementation for SquareSource.
175084func (ss SquareSource) AsOdbcSource() (*OdbcSource, bool) {
175085	return nil, false
175086}
175087
175088// AsDb2Source is the BasicCopySource implementation for SquareSource.
175089func (ss SquareSource) AsDb2Source() (*Db2Source, bool) {
175090	return nil, false
175091}
175092
175093// AsMicrosoftAccessSource is the BasicCopySource implementation for SquareSource.
175094func (ss SquareSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) {
175095	return nil, false
175096}
175097
175098// AsInformixSource is the BasicCopySource implementation for SquareSource.
175099func (ss SquareSource) AsInformixSource() (*InformixSource, bool) {
175100	return nil, false
175101}
175102
175103// AsRelationalSource is the BasicCopySource implementation for SquareSource.
175104func (ss SquareSource) AsRelationalSource() (*RelationalSource, bool) {
175105	return nil, false
175106}
175107
175108// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for SquareSource.
175109func (ss SquareSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) {
175110	return nil, false
175111}
175112
175113// AsDynamicsCrmSource is the BasicCopySource implementation for SquareSource.
175114func (ss SquareSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) {
175115	return nil, false
175116}
175117
175118// AsDynamicsSource is the BasicCopySource implementation for SquareSource.
175119func (ss SquareSource) AsDynamicsSource() (*DynamicsSource, bool) {
175120	return nil, false
175121}
175122
175123// AsDocumentDbCollectionSource is the BasicCopySource implementation for SquareSource.
175124func (ss SquareSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
175125	return nil, false
175126}
175127
175128// AsBlobSource is the BasicCopySource implementation for SquareSource.
175129func (ss SquareSource) AsBlobSource() (*BlobSource, bool) {
175130	return nil, false
175131}
175132
175133// AsAzureTableSource is the BasicCopySource implementation for SquareSource.
175134func (ss SquareSource) AsAzureTableSource() (*AzureTableSource, bool) {
175135	return nil, false
175136}
175137
175138// AsBinarySource is the BasicCopySource implementation for SquareSource.
175139func (ss SquareSource) AsBinarySource() (*BinarySource, bool) {
175140	return nil, false
175141}
175142
175143// AsDelimitedTextSource is the BasicCopySource implementation for SquareSource.
175144func (ss SquareSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) {
175145	return nil, false
175146}
175147
175148// AsParquetSource is the BasicCopySource implementation for SquareSource.
175149func (ss SquareSource) AsParquetSource() (*ParquetSource, bool) {
175150	return nil, false
175151}
175152
175153// AsCopySource is the BasicCopySource implementation for SquareSource.
175154func (ss SquareSource) AsCopySource() (*CopySource, bool) {
175155	return nil, false
175156}
175157
175158// AsBasicCopySource is the BasicCopySource implementation for SquareSource.
175159func (ss SquareSource) AsBasicCopySource() (BasicCopySource, bool) {
175160	return &ss, true
175161}
175162
175163// UnmarshalJSON is the custom unmarshaler for SquareSource struct.
175164func (ss *SquareSource) UnmarshalJSON(body []byte) error {
175165	var m map[string]*json.RawMessage
175166	err := json.Unmarshal(body, &m)
175167	if err != nil {
175168		return err
175169	}
175170	for k, v := range m {
175171		switch k {
175172		case "query":
175173			if v != nil {
175174				var query interface{}
175175				err = json.Unmarshal(*v, &query)
175176				if err != nil {
175177					return err
175178				}
175179				ss.Query = query
175180			}
175181		default:
175182			if v != nil {
175183				var additionalProperties interface{}
175184				err = json.Unmarshal(*v, &additionalProperties)
175185				if err != nil {
175186					return err
175187				}
175188				if ss.AdditionalProperties == nil {
175189					ss.AdditionalProperties = make(map[string]interface{})
175190				}
175191				ss.AdditionalProperties[k] = additionalProperties
175192			}
175193		case "sourceRetryCount":
175194			if v != nil {
175195				var sourceRetryCount interface{}
175196				err = json.Unmarshal(*v, &sourceRetryCount)
175197				if err != nil {
175198					return err
175199				}
175200				ss.SourceRetryCount = sourceRetryCount
175201			}
175202		case "sourceRetryWait":
175203			if v != nil {
175204				var sourceRetryWait interface{}
175205				err = json.Unmarshal(*v, &sourceRetryWait)
175206				if err != nil {
175207					return err
175208				}
175209				ss.SourceRetryWait = sourceRetryWait
175210			}
175211		case "maxConcurrentConnections":
175212			if v != nil {
175213				var maxConcurrentConnections interface{}
175214				err = json.Unmarshal(*v, &maxConcurrentConnections)
175215				if err != nil {
175216					return err
175217				}
175218				ss.MaxConcurrentConnections = maxConcurrentConnections
175219			}
175220		case "type":
175221			if v != nil {
175222				var typeVar TypeBasicCopySource
175223				err = json.Unmarshal(*v, &typeVar)
175224				if err != nil {
175225					return err
175226				}
175227				ss.Type = typeVar
175228			}
175229		}
175230	}
175231
175232	return nil
175233}
175234
175235// SSISAccessCredential SSIS access credential.
175236type SSISAccessCredential struct {
175237	// Domain - Domain for windows authentication.
175238	Domain interface{} `json:"domain,omitempty"`
175239	// UserName - UseName for windows authentication.
175240	UserName interface{} `json:"userName,omitempty"`
175241	// Password - Password for windows authentication.
175242	Password *SecureString `json:"password,omitempty"`
175243}
175244
175245// SsisEnvironment ssis environment.
175246type SsisEnvironment struct {
175247	// FolderID - Folder id which contains environment.
175248	FolderID *int64 `json:"folderId,omitempty"`
175249	// Variables - Variable in environment
175250	Variables *[]SsisVariable `json:"variables,omitempty"`
175251	// ID - Metadata id.
175252	ID *int64 `json:"id,omitempty"`
175253	// Name - Metadata name.
175254	Name *string `json:"name,omitempty"`
175255	// Description - Metadata description.
175256	Description *string `json:"description,omitempty"`
175257	// Type - Possible values include: 'TypeSsisObjectMetadata', 'TypeEnvironment', 'TypePackage', 'TypeProject', 'TypeFolder'
175258	Type TypeBasicSsisObjectMetadata `json:"type,omitempty"`
175259}
175260
175261// MarshalJSON is the custom marshaler for SsisEnvironment.
175262func (se SsisEnvironment) MarshalJSON() ([]byte, error) {
175263	se.Type = TypeEnvironment
175264	objectMap := make(map[string]interface{})
175265	if se.FolderID != nil {
175266		objectMap["folderId"] = se.FolderID
175267	}
175268	if se.Variables != nil {
175269		objectMap["variables"] = se.Variables
175270	}
175271	if se.ID != nil {
175272		objectMap["id"] = se.ID
175273	}
175274	if se.Name != nil {
175275		objectMap["name"] = se.Name
175276	}
175277	if se.Description != nil {
175278		objectMap["description"] = se.Description
175279	}
175280	if se.Type != "" {
175281		objectMap["type"] = se.Type
175282	}
175283	return json.Marshal(objectMap)
175284}
175285
175286// AsSsisEnvironment is the BasicSsisObjectMetadata implementation for SsisEnvironment.
175287func (se SsisEnvironment) AsSsisEnvironment() (*SsisEnvironment, bool) {
175288	return &se, true
175289}
175290
175291// AsSsisPackage is the BasicSsisObjectMetadata implementation for SsisEnvironment.
175292func (se SsisEnvironment) AsSsisPackage() (*SsisPackage, bool) {
175293	return nil, false
175294}
175295
175296// AsSsisProject is the BasicSsisObjectMetadata implementation for SsisEnvironment.
175297func (se SsisEnvironment) AsSsisProject() (*SsisProject, bool) {
175298	return nil, false
175299}
175300
175301// AsSsisFolder is the BasicSsisObjectMetadata implementation for SsisEnvironment.
175302func (se SsisEnvironment) AsSsisFolder() (*SsisFolder, bool) {
175303	return nil, false
175304}
175305
175306// AsSsisObjectMetadata is the BasicSsisObjectMetadata implementation for SsisEnvironment.
175307func (se SsisEnvironment) AsSsisObjectMetadata() (*SsisObjectMetadata, bool) {
175308	return nil, false
175309}
175310
175311// AsBasicSsisObjectMetadata is the BasicSsisObjectMetadata implementation for SsisEnvironment.
175312func (se SsisEnvironment) AsBasicSsisObjectMetadata() (BasicSsisObjectMetadata, bool) {
175313	return &se, true
175314}
175315
175316// SsisEnvironmentReference ssis environment reference.
175317type SsisEnvironmentReference struct {
175318	// ID - Environment reference id.
175319	ID *int64 `json:"id,omitempty"`
175320	// EnvironmentFolderName - Environment folder name.
175321	EnvironmentFolderName *string `json:"environmentFolderName,omitempty"`
175322	// EnvironmentName - Environment name.
175323	EnvironmentName *string `json:"environmentName,omitempty"`
175324	// ReferenceType - Reference type
175325	ReferenceType *string `json:"referenceType,omitempty"`
175326}
175327
175328// SSISExecutionCredential SSIS package execution credential.
175329type SSISExecutionCredential struct {
175330	// Domain - Domain for windows authentication.
175331	Domain interface{} `json:"domain,omitempty"`
175332	// UserName - UseName for windows authentication.
175333	UserName interface{} `json:"userName,omitempty"`
175334	// Password - Password for windows authentication.
175335	Password *SecureString `json:"password,omitempty"`
175336}
175337
175338// SSISExecutionParameter SSIS execution parameter.
175339type SSISExecutionParameter struct {
175340	// Value - SSIS package execution parameter value. Type: string (or Expression with resultType string).
175341	Value interface{} `json:"value,omitempty"`
175342}
175343
175344// SsisFolder ssis folder.
175345type SsisFolder struct {
175346	// ID - Metadata id.
175347	ID *int64 `json:"id,omitempty"`
175348	// Name - Metadata name.
175349	Name *string `json:"name,omitempty"`
175350	// Description - Metadata description.
175351	Description *string `json:"description,omitempty"`
175352	// Type - Possible values include: 'TypeSsisObjectMetadata', 'TypeEnvironment', 'TypePackage', 'TypeProject', 'TypeFolder'
175353	Type TypeBasicSsisObjectMetadata `json:"type,omitempty"`
175354}
175355
175356// MarshalJSON is the custom marshaler for SsisFolder.
175357func (sf SsisFolder) MarshalJSON() ([]byte, error) {
175358	sf.Type = TypeFolder
175359	objectMap := make(map[string]interface{})
175360	if sf.ID != nil {
175361		objectMap["id"] = sf.ID
175362	}
175363	if sf.Name != nil {
175364		objectMap["name"] = sf.Name
175365	}
175366	if sf.Description != nil {
175367		objectMap["description"] = sf.Description
175368	}
175369	if sf.Type != "" {
175370		objectMap["type"] = sf.Type
175371	}
175372	return json.Marshal(objectMap)
175373}
175374
175375// AsSsisEnvironment is the BasicSsisObjectMetadata implementation for SsisFolder.
175376func (sf SsisFolder) AsSsisEnvironment() (*SsisEnvironment, bool) {
175377	return nil, false
175378}
175379
175380// AsSsisPackage is the BasicSsisObjectMetadata implementation for SsisFolder.
175381func (sf SsisFolder) AsSsisPackage() (*SsisPackage, bool) {
175382	return nil, false
175383}
175384
175385// AsSsisProject is the BasicSsisObjectMetadata implementation for SsisFolder.
175386func (sf SsisFolder) AsSsisProject() (*SsisProject, bool) {
175387	return nil, false
175388}
175389
175390// AsSsisFolder is the BasicSsisObjectMetadata implementation for SsisFolder.
175391func (sf SsisFolder) AsSsisFolder() (*SsisFolder, bool) {
175392	return &sf, true
175393}
175394
175395// AsSsisObjectMetadata is the BasicSsisObjectMetadata implementation for SsisFolder.
175396func (sf SsisFolder) AsSsisObjectMetadata() (*SsisObjectMetadata, bool) {
175397	return nil, false
175398}
175399
175400// AsBasicSsisObjectMetadata is the BasicSsisObjectMetadata implementation for SsisFolder.
175401func (sf SsisFolder) AsBasicSsisObjectMetadata() (BasicSsisObjectMetadata, bool) {
175402	return &sf, true
175403}
175404
175405// SSISLogLocation SSIS package execution log location
175406type SSISLogLocation struct {
175407	// LogPath - The SSIS package execution log path. Type: string (or Expression with resultType string).
175408	LogPath interface{} `json:"logPath,omitempty"`
175409	// Type - The type of SSIS log location.
175410	Type *string `json:"type,omitempty"`
175411	// SSISLogLocationTypeProperties - SSIS package execution log location properties.
175412	*SSISLogLocationTypeProperties `json:"typeProperties,omitempty"`
175413}
175414
175415// MarshalJSON is the custom marshaler for SSISLogLocation.
175416func (sll SSISLogLocation) MarshalJSON() ([]byte, error) {
175417	objectMap := make(map[string]interface{})
175418	if sll.LogPath != nil {
175419		objectMap["logPath"] = sll.LogPath
175420	}
175421	if sll.Type != nil {
175422		objectMap["type"] = sll.Type
175423	}
175424	if sll.SSISLogLocationTypeProperties != nil {
175425		objectMap["typeProperties"] = sll.SSISLogLocationTypeProperties
175426	}
175427	return json.Marshal(objectMap)
175428}
175429
175430// UnmarshalJSON is the custom unmarshaler for SSISLogLocation struct.
175431func (sll *SSISLogLocation) UnmarshalJSON(body []byte) error {
175432	var m map[string]*json.RawMessage
175433	err := json.Unmarshal(body, &m)
175434	if err != nil {
175435		return err
175436	}
175437	for k, v := range m {
175438		switch k {
175439		case "logPath":
175440			if v != nil {
175441				var logPath interface{}
175442				err = json.Unmarshal(*v, &logPath)
175443				if err != nil {
175444					return err
175445				}
175446				sll.LogPath = logPath
175447			}
175448		case "type":
175449			if v != nil {
175450				var typeVar string
175451				err = json.Unmarshal(*v, &typeVar)
175452				if err != nil {
175453					return err
175454				}
175455				sll.Type = &typeVar
175456			}
175457		case "typeProperties":
175458			if v != nil {
175459				var sSISLogLocationTypeProperties SSISLogLocationTypeProperties
175460				err = json.Unmarshal(*v, &sSISLogLocationTypeProperties)
175461				if err != nil {
175462					return err
175463				}
175464				sll.SSISLogLocationTypeProperties = &sSISLogLocationTypeProperties
175465			}
175466		}
175467	}
175468
175469	return nil
175470}
175471
175472// SSISLogLocationTypeProperties SSIS package execution log location properties.
175473type SSISLogLocationTypeProperties struct {
175474	// AccessCredential - The package execution log access credential.
175475	AccessCredential *SSISAccessCredential `json:"accessCredential,omitempty"`
175476	// 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])).
175477	LogRefreshInterval interface{} `json:"logRefreshInterval,omitempty"`
175478}
175479
175480// BasicSsisObjectMetadata SSIS object metadata.
175481type BasicSsisObjectMetadata interface {
175482	AsSsisEnvironment() (*SsisEnvironment, bool)
175483	AsSsisPackage() (*SsisPackage, bool)
175484	AsSsisProject() (*SsisProject, bool)
175485	AsSsisFolder() (*SsisFolder, bool)
175486	AsSsisObjectMetadata() (*SsisObjectMetadata, bool)
175487}
175488
175489// SsisObjectMetadata SSIS object metadata.
175490type SsisObjectMetadata struct {
175491	// ID - Metadata id.
175492	ID *int64 `json:"id,omitempty"`
175493	// Name - Metadata name.
175494	Name *string `json:"name,omitempty"`
175495	// Description - Metadata description.
175496	Description *string `json:"description,omitempty"`
175497	// Type - Possible values include: 'TypeSsisObjectMetadata', 'TypeEnvironment', 'TypePackage', 'TypeProject', 'TypeFolder'
175498	Type TypeBasicSsisObjectMetadata `json:"type,omitempty"`
175499}
175500
175501func unmarshalBasicSsisObjectMetadata(body []byte) (BasicSsisObjectMetadata, error) {
175502	var m map[string]interface{}
175503	err := json.Unmarshal(body, &m)
175504	if err != nil {
175505		return nil, err
175506	}
175507
175508	switch m["type"] {
175509	case string(TypeEnvironment):
175510		var se SsisEnvironment
175511		err := json.Unmarshal(body, &se)
175512		return se, err
175513	case string(TypePackage):
175514		var sp SsisPackage
175515		err := json.Unmarshal(body, &sp)
175516		return sp, err
175517	case string(TypeProject):
175518		var sp SsisProject
175519		err := json.Unmarshal(body, &sp)
175520		return sp, err
175521	case string(TypeFolder):
175522		var sf SsisFolder
175523		err := json.Unmarshal(body, &sf)
175524		return sf, err
175525	default:
175526		var som SsisObjectMetadata
175527		err := json.Unmarshal(body, &som)
175528		return som, err
175529	}
175530}
175531func unmarshalBasicSsisObjectMetadataArray(body []byte) ([]BasicSsisObjectMetadata, error) {
175532	var rawMessages []*json.RawMessage
175533	err := json.Unmarshal(body, &rawMessages)
175534	if err != nil {
175535		return nil, err
175536	}
175537
175538	somArray := make([]BasicSsisObjectMetadata, len(rawMessages))
175539
175540	for index, rawMessage := range rawMessages {
175541		som, err := unmarshalBasicSsisObjectMetadata(*rawMessage)
175542		if err != nil {
175543			return nil, err
175544		}
175545		somArray[index] = som
175546	}
175547	return somArray, nil
175548}
175549
175550// MarshalJSON is the custom marshaler for SsisObjectMetadata.
175551func (som SsisObjectMetadata) MarshalJSON() ([]byte, error) {
175552	som.Type = TypeSsisObjectMetadata
175553	objectMap := make(map[string]interface{})
175554	if som.ID != nil {
175555		objectMap["id"] = som.ID
175556	}
175557	if som.Name != nil {
175558		objectMap["name"] = som.Name
175559	}
175560	if som.Description != nil {
175561		objectMap["description"] = som.Description
175562	}
175563	if som.Type != "" {
175564		objectMap["type"] = som.Type
175565	}
175566	return json.Marshal(objectMap)
175567}
175568
175569// AsSsisEnvironment is the BasicSsisObjectMetadata implementation for SsisObjectMetadata.
175570func (som SsisObjectMetadata) AsSsisEnvironment() (*SsisEnvironment, bool) {
175571	return nil, false
175572}
175573
175574// AsSsisPackage is the BasicSsisObjectMetadata implementation for SsisObjectMetadata.
175575func (som SsisObjectMetadata) AsSsisPackage() (*SsisPackage, bool) {
175576	return nil, false
175577}
175578
175579// AsSsisProject is the BasicSsisObjectMetadata implementation for SsisObjectMetadata.
175580func (som SsisObjectMetadata) AsSsisProject() (*SsisProject, bool) {
175581	return nil, false
175582}
175583
175584// AsSsisFolder is the BasicSsisObjectMetadata implementation for SsisObjectMetadata.
175585func (som SsisObjectMetadata) AsSsisFolder() (*SsisFolder, bool) {
175586	return nil, false
175587}
175588
175589// AsSsisObjectMetadata is the BasicSsisObjectMetadata implementation for SsisObjectMetadata.
175590func (som SsisObjectMetadata) AsSsisObjectMetadata() (*SsisObjectMetadata, bool) {
175591	return &som, true
175592}
175593
175594// AsBasicSsisObjectMetadata is the BasicSsisObjectMetadata implementation for SsisObjectMetadata.
175595func (som SsisObjectMetadata) AsBasicSsisObjectMetadata() (BasicSsisObjectMetadata, bool) {
175596	return &som, true
175597}
175598
175599// SsisObjectMetadataListResponse a list of SSIS object metadata.
175600type SsisObjectMetadataListResponse struct {
175601	autorest.Response `json:"-"`
175602	// Value - List of SSIS object metadata.
175603	Value *[]BasicSsisObjectMetadata `json:"value,omitempty"`
175604	// NextLink - The link to the next page of results, if any remaining results exist.
175605	NextLink *string `json:"nextLink,omitempty"`
175606}
175607
175608// UnmarshalJSON is the custom unmarshaler for SsisObjectMetadataListResponse struct.
175609func (somlr *SsisObjectMetadataListResponse) UnmarshalJSON(body []byte) error {
175610	var m map[string]*json.RawMessage
175611	err := json.Unmarshal(body, &m)
175612	if err != nil {
175613		return err
175614	}
175615	for k, v := range m {
175616		switch k {
175617		case "value":
175618			if v != nil {
175619				value, err := unmarshalBasicSsisObjectMetadataArray(*v)
175620				if err != nil {
175621					return err
175622				}
175623				somlr.Value = &value
175624			}
175625		case "nextLink":
175626			if v != nil {
175627				var nextLink string
175628				err = json.Unmarshal(*v, &nextLink)
175629				if err != nil {
175630					return err
175631				}
175632				somlr.NextLink = &nextLink
175633			}
175634		}
175635	}
175636
175637	return nil
175638}
175639
175640// SsisObjectMetadataStatusResponse the status of the operation.
175641type SsisObjectMetadataStatusResponse struct {
175642	autorest.Response `json:"-"`
175643	// Status - The status of the operation.
175644	Status *string `json:"status,omitempty"`
175645	// Name - The operation name.
175646	Name *string `json:"name,omitempty"`
175647	// Properties - The operation properties.
175648	Properties *string `json:"properties,omitempty"`
175649	// Error - The operation error message.
175650	Error *string `json:"error,omitempty"`
175651}
175652
175653// SsisPackage ssis Package.
175654type SsisPackage struct {
175655	// FolderID - Folder id which contains package.
175656	FolderID *int64 `json:"folderId,omitempty"`
175657	// ProjectVersion - Project version which contains package.
175658	ProjectVersion *int64 `json:"projectVersion,omitempty"`
175659	// ProjectID - Project id which contains package.
175660	ProjectID *int64 `json:"projectId,omitempty"`
175661	// Parameters - Parameters in package
175662	Parameters *[]SsisParameter `json:"parameters,omitempty"`
175663	// ID - Metadata id.
175664	ID *int64 `json:"id,omitempty"`
175665	// Name - Metadata name.
175666	Name *string `json:"name,omitempty"`
175667	// Description - Metadata description.
175668	Description *string `json:"description,omitempty"`
175669	// Type - Possible values include: 'TypeSsisObjectMetadata', 'TypeEnvironment', 'TypePackage', 'TypeProject', 'TypeFolder'
175670	Type TypeBasicSsisObjectMetadata `json:"type,omitempty"`
175671}
175672
175673// MarshalJSON is the custom marshaler for SsisPackage.
175674func (sp SsisPackage) MarshalJSON() ([]byte, error) {
175675	sp.Type = TypePackage
175676	objectMap := make(map[string]interface{})
175677	if sp.FolderID != nil {
175678		objectMap["folderId"] = sp.FolderID
175679	}
175680	if sp.ProjectVersion != nil {
175681		objectMap["projectVersion"] = sp.ProjectVersion
175682	}
175683	if sp.ProjectID != nil {
175684		objectMap["projectId"] = sp.ProjectID
175685	}
175686	if sp.Parameters != nil {
175687		objectMap["parameters"] = sp.Parameters
175688	}
175689	if sp.ID != nil {
175690		objectMap["id"] = sp.ID
175691	}
175692	if sp.Name != nil {
175693		objectMap["name"] = sp.Name
175694	}
175695	if sp.Description != nil {
175696		objectMap["description"] = sp.Description
175697	}
175698	if sp.Type != "" {
175699		objectMap["type"] = sp.Type
175700	}
175701	return json.Marshal(objectMap)
175702}
175703
175704// AsSsisEnvironment is the BasicSsisObjectMetadata implementation for SsisPackage.
175705func (sp SsisPackage) AsSsisEnvironment() (*SsisEnvironment, bool) {
175706	return nil, false
175707}
175708
175709// AsSsisPackage is the BasicSsisObjectMetadata implementation for SsisPackage.
175710func (sp SsisPackage) AsSsisPackage() (*SsisPackage, bool) {
175711	return &sp, true
175712}
175713
175714// AsSsisProject is the BasicSsisObjectMetadata implementation for SsisPackage.
175715func (sp SsisPackage) AsSsisProject() (*SsisProject, bool) {
175716	return nil, false
175717}
175718
175719// AsSsisFolder is the BasicSsisObjectMetadata implementation for SsisPackage.
175720func (sp SsisPackage) AsSsisFolder() (*SsisFolder, bool) {
175721	return nil, false
175722}
175723
175724// AsSsisObjectMetadata is the BasicSsisObjectMetadata implementation for SsisPackage.
175725func (sp SsisPackage) AsSsisObjectMetadata() (*SsisObjectMetadata, bool) {
175726	return nil, false
175727}
175728
175729// AsBasicSsisObjectMetadata is the BasicSsisObjectMetadata implementation for SsisPackage.
175730func (sp SsisPackage) AsBasicSsisObjectMetadata() (BasicSsisObjectMetadata, bool) {
175731	return &sp, true
175732}
175733
175734// SSISPackageLocation SSIS package location.
175735type SSISPackageLocation struct {
175736	// PackagePath - The SSIS package path. Type: string (or Expression with resultType string).
175737	PackagePath interface{} `json:"packagePath,omitempty"`
175738	// Type - The type of SSIS package location. Possible values include: 'SSISDB', 'File'
175739	Type SsisPackageLocationType `json:"type,omitempty"`
175740	// SSISPackageLocationTypeProperties - SSIS package location properties.
175741	*SSISPackageLocationTypeProperties `json:"typeProperties,omitempty"`
175742}
175743
175744// MarshalJSON is the custom marshaler for SSISPackageLocation.
175745func (spl SSISPackageLocation) MarshalJSON() ([]byte, error) {
175746	objectMap := make(map[string]interface{})
175747	if spl.PackagePath != nil {
175748		objectMap["packagePath"] = spl.PackagePath
175749	}
175750	if spl.Type != "" {
175751		objectMap["type"] = spl.Type
175752	}
175753	if spl.SSISPackageLocationTypeProperties != nil {
175754		objectMap["typeProperties"] = spl.SSISPackageLocationTypeProperties
175755	}
175756	return json.Marshal(objectMap)
175757}
175758
175759// UnmarshalJSON is the custom unmarshaler for SSISPackageLocation struct.
175760func (spl *SSISPackageLocation) UnmarshalJSON(body []byte) error {
175761	var m map[string]*json.RawMessage
175762	err := json.Unmarshal(body, &m)
175763	if err != nil {
175764		return err
175765	}
175766	for k, v := range m {
175767		switch k {
175768		case "packagePath":
175769			if v != nil {
175770				var packagePath interface{}
175771				err = json.Unmarshal(*v, &packagePath)
175772				if err != nil {
175773					return err
175774				}
175775				spl.PackagePath = packagePath
175776			}
175777		case "type":
175778			if v != nil {
175779				var typeVar SsisPackageLocationType
175780				err = json.Unmarshal(*v, &typeVar)
175781				if err != nil {
175782					return err
175783				}
175784				spl.Type = typeVar
175785			}
175786		case "typeProperties":
175787			if v != nil {
175788				var sSISPackageLocationTypeProperties SSISPackageLocationTypeProperties
175789				err = json.Unmarshal(*v, &sSISPackageLocationTypeProperties)
175790				if err != nil {
175791					return err
175792				}
175793				spl.SSISPackageLocationTypeProperties = &sSISPackageLocationTypeProperties
175794			}
175795		}
175796	}
175797
175798	return nil
175799}
175800
175801// SSISPackageLocationTypeProperties SSIS package location properties.
175802type SSISPackageLocationTypeProperties struct {
175803	// PackagePassword - Password of the package.
175804	PackagePassword *SecureString `json:"packagePassword,omitempty"`
175805	// AccessCredential - The package access credential.
175806	AccessCredential *SSISAccessCredential `json:"accessCredential,omitempty"`
175807	// ConfigurationPath - The configuration file of the package execution. Type: string (or Expression with resultType string).
175808	ConfigurationPath interface{} `json:"configurationPath,omitempty"`
175809}
175810
175811// SsisParameter ssis parameter.
175812type SsisParameter struct {
175813	// ID - Parameter id.
175814	ID *int64 `json:"id,omitempty"`
175815	// Name - Parameter name.
175816	Name *string `json:"name,omitempty"`
175817	// Description - Parameter description.
175818	Description *string `json:"description,omitempty"`
175819	// DataType - Parameter type.
175820	DataType *string `json:"dataType,omitempty"`
175821	// Required - Whether parameter is required.
175822	Required *bool `json:"required,omitempty"`
175823	// Sensitive - Whether parameter is sensitive.
175824	Sensitive *bool `json:"sensitive,omitempty"`
175825	// DesignDefaultValue - Design default value of parameter.
175826	DesignDefaultValue *string `json:"designDefaultValue,omitempty"`
175827	// DefaultValue - Default value of parameter.
175828	DefaultValue *string `json:"defaultValue,omitempty"`
175829	// SensitiveDefaultValue - Default sensitive value of parameter.
175830	SensitiveDefaultValue *string `json:"sensitiveDefaultValue,omitempty"`
175831	// ValueType - Parameter value type.
175832	ValueType *string `json:"valueType,omitempty"`
175833	// ValueSet - Parameter value set.
175834	ValueSet *bool `json:"valueSet,omitempty"`
175835	// Variable - Parameter reference variable.
175836	Variable *string `json:"variable,omitempty"`
175837}
175838
175839// SsisProject ssis project.
175840type SsisProject struct {
175841	// FolderID - Folder id which contains project.
175842	FolderID *int64 `json:"folderId,omitempty"`
175843	// Version - Project version.
175844	Version *int64 `json:"version,omitempty"`
175845	// EnvironmentRefs - Environment reference in project
175846	EnvironmentRefs *[]SsisEnvironmentReference `json:"environmentRefs,omitempty"`
175847	// Parameters - Parameters in project
175848	Parameters *[]SsisParameter `json:"parameters,omitempty"`
175849	// ID - Metadata id.
175850	ID *int64 `json:"id,omitempty"`
175851	// Name - Metadata name.
175852	Name *string `json:"name,omitempty"`
175853	// Description - Metadata description.
175854	Description *string `json:"description,omitempty"`
175855	// Type - Possible values include: 'TypeSsisObjectMetadata', 'TypeEnvironment', 'TypePackage', 'TypeProject', 'TypeFolder'
175856	Type TypeBasicSsisObjectMetadata `json:"type,omitempty"`
175857}
175858
175859// MarshalJSON is the custom marshaler for SsisProject.
175860func (sp SsisProject) MarshalJSON() ([]byte, error) {
175861	sp.Type = TypeProject
175862	objectMap := make(map[string]interface{})
175863	if sp.FolderID != nil {
175864		objectMap["folderId"] = sp.FolderID
175865	}
175866	if sp.Version != nil {
175867		objectMap["version"] = sp.Version
175868	}
175869	if sp.EnvironmentRefs != nil {
175870		objectMap["environmentRefs"] = sp.EnvironmentRefs
175871	}
175872	if sp.Parameters != nil {
175873		objectMap["parameters"] = sp.Parameters
175874	}
175875	if sp.ID != nil {
175876		objectMap["id"] = sp.ID
175877	}
175878	if sp.Name != nil {
175879		objectMap["name"] = sp.Name
175880	}
175881	if sp.Description != nil {
175882		objectMap["description"] = sp.Description
175883	}
175884	if sp.Type != "" {
175885		objectMap["type"] = sp.Type
175886	}
175887	return json.Marshal(objectMap)
175888}
175889
175890// AsSsisEnvironment is the BasicSsisObjectMetadata implementation for SsisProject.
175891func (sp SsisProject) AsSsisEnvironment() (*SsisEnvironment, bool) {
175892	return nil, false
175893}
175894
175895// AsSsisPackage is the BasicSsisObjectMetadata implementation for SsisProject.
175896func (sp SsisProject) AsSsisPackage() (*SsisPackage, bool) {
175897	return nil, false
175898}
175899
175900// AsSsisProject is the BasicSsisObjectMetadata implementation for SsisProject.
175901func (sp SsisProject) AsSsisProject() (*SsisProject, bool) {
175902	return &sp, true
175903}
175904
175905// AsSsisFolder is the BasicSsisObjectMetadata implementation for SsisProject.
175906func (sp SsisProject) AsSsisFolder() (*SsisFolder, bool) {
175907	return nil, false
175908}
175909
175910// AsSsisObjectMetadata is the BasicSsisObjectMetadata implementation for SsisProject.
175911func (sp SsisProject) AsSsisObjectMetadata() (*SsisObjectMetadata, bool) {
175912	return nil, false
175913}
175914
175915// AsBasicSsisObjectMetadata is the BasicSsisObjectMetadata implementation for SsisProject.
175916func (sp SsisProject) AsBasicSsisObjectMetadata() (BasicSsisObjectMetadata, bool) {
175917	return &sp, true
175918}
175919
175920// SSISPropertyOverride SSIS property override.
175921type SSISPropertyOverride struct {
175922	// Value - SSIS package property override value. Type: string (or Expression with resultType string).
175923	Value interface{} `json:"value,omitempty"`
175924	// IsSensitive - Whether SSIS package property override value is sensitive data. Value will be encrypted in SSISDB if it is true
175925	IsSensitive *bool `json:"isSensitive,omitempty"`
175926}
175927
175928// SsisVariable ssis variable.
175929type SsisVariable struct {
175930	// ID - Variable id.
175931	ID *int64 `json:"id,omitempty"`
175932	// Name - Variable name.
175933	Name *string `json:"name,omitempty"`
175934	// Description - Variable description.
175935	Description *string `json:"description,omitempty"`
175936	// DataType - Variable type.
175937	DataType *string `json:"dataType,omitempty"`
175938	// Sensitive - Whether variable is sensitive.
175939	Sensitive *bool `json:"sensitive,omitempty"`
175940	// Value - Variable value.
175941	Value *string `json:"value,omitempty"`
175942	// SensitiveValue - Variable sensitive value.
175943	SensitiveValue *string `json:"sensitiveValue,omitempty"`
175944}
175945
175946// StagingSettings staging settings.
175947type StagingSettings struct {
175948	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
175949	AdditionalProperties map[string]interface{} `json:""`
175950	// LinkedServiceName - Staging linked service reference.
175951	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
175952	// Path - The path to storage for storing the interim data. Type: string (or Expression with resultType string).
175953	Path interface{} `json:"path,omitempty"`
175954	// EnableCompression - Specifies whether to use compression when copying data via an interim staging. Default value is false. Type: boolean (or Expression with resultType boolean).
175955	EnableCompression interface{} `json:"enableCompression,omitempty"`
175956}
175957
175958// MarshalJSON is the custom marshaler for StagingSettings.
175959func (ss StagingSettings) MarshalJSON() ([]byte, error) {
175960	objectMap := make(map[string]interface{})
175961	if ss.LinkedServiceName != nil {
175962		objectMap["linkedServiceName"] = ss.LinkedServiceName
175963	}
175964	if ss.Path != nil {
175965		objectMap["path"] = ss.Path
175966	}
175967	if ss.EnableCompression != nil {
175968		objectMap["enableCompression"] = ss.EnableCompression
175969	}
175970	for k, v := range ss.AdditionalProperties {
175971		objectMap[k] = v
175972	}
175973	return json.Marshal(objectMap)
175974}
175975
175976// UnmarshalJSON is the custom unmarshaler for StagingSettings struct.
175977func (ss *StagingSettings) UnmarshalJSON(body []byte) error {
175978	var m map[string]*json.RawMessage
175979	err := json.Unmarshal(body, &m)
175980	if err != nil {
175981		return err
175982	}
175983	for k, v := range m {
175984		switch k {
175985		default:
175986			if v != nil {
175987				var additionalProperties interface{}
175988				err = json.Unmarshal(*v, &additionalProperties)
175989				if err != nil {
175990					return err
175991				}
175992				if ss.AdditionalProperties == nil {
175993					ss.AdditionalProperties = make(map[string]interface{})
175994				}
175995				ss.AdditionalProperties[k] = additionalProperties
175996			}
175997		case "linkedServiceName":
175998			if v != nil {
175999				var linkedServiceName LinkedServiceReference
176000				err = json.Unmarshal(*v, &linkedServiceName)
176001				if err != nil {
176002					return err
176003				}
176004				ss.LinkedServiceName = &linkedServiceName
176005			}
176006		case "path":
176007			if v != nil {
176008				var pathVar interface{}
176009				err = json.Unmarshal(*v, &pathVar)
176010				if err != nil {
176011					return err
176012				}
176013				ss.Path = pathVar
176014			}
176015		case "enableCompression":
176016			if v != nil {
176017				var enableCompression interface{}
176018				err = json.Unmarshal(*v, &enableCompression)
176019				if err != nil {
176020					return err
176021				}
176022				ss.EnableCompression = enableCompression
176023			}
176024		}
176025	}
176026
176027	return nil
176028}
176029
176030// StoredProcedureParameter SQL stored procedure parameter.
176031type StoredProcedureParameter struct {
176032	// Value - Stored procedure parameter value. Type: string (or Expression with resultType string).
176033	Value interface{} `json:"value,omitempty"`
176034	// Type - Stored procedure parameter type. Possible values include: 'String', 'Int', 'Int64', 'Decimal', 'GUID', 'Boolean', 'Date'
176035	Type StoredProcedureParameterType `json:"type,omitempty"`
176036}
176037
176038// StoreReadSettings connector read setting.
176039type StoreReadSettings struct {
176040	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
176041	AdditionalProperties map[string]interface{} `json:""`
176042	// Type - The read setting type.
176043	Type *string `json:"type,omitempty"`
176044	// MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer).
176045	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
176046}
176047
176048// MarshalJSON is the custom marshaler for StoreReadSettings.
176049func (srs StoreReadSettings) MarshalJSON() ([]byte, error) {
176050	objectMap := make(map[string]interface{})
176051	if srs.Type != nil {
176052		objectMap["type"] = srs.Type
176053	}
176054	if srs.MaxConcurrentConnections != nil {
176055		objectMap["maxConcurrentConnections"] = srs.MaxConcurrentConnections
176056	}
176057	for k, v := range srs.AdditionalProperties {
176058		objectMap[k] = v
176059	}
176060	return json.Marshal(objectMap)
176061}
176062
176063// UnmarshalJSON is the custom unmarshaler for StoreReadSettings struct.
176064func (srs *StoreReadSettings) UnmarshalJSON(body []byte) error {
176065	var m map[string]*json.RawMessage
176066	err := json.Unmarshal(body, &m)
176067	if err != nil {
176068		return err
176069	}
176070	for k, v := range m {
176071		switch k {
176072		default:
176073			if v != nil {
176074				var additionalProperties interface{}
176075				err = json.Unmarshal(*v, &additionalProperties)
176076				if err != nil {
176077					return err
176078				}
176079				if srs.AdditionalProperties == nil {
176080					srs.AdditionalProperties = make(map[string]interface{})
176081				}
176082				srs.AdditionalProperties[k] = additionalProperties
176083			}
176084		case "type":
176085			if v != nil {
176086				var typeVar string
176087				err = json.Unmarshal(*v, &typeVar)
176088				if err != nil {
176089					return err
176090				}
176091				srs.Type = &typeVar
176092			}
176093		case "maxConcurrentConnections":
176094			if v != nil {
176095				var maxConcurrentConnections interface{}
176096				err = json.Unmarshal(*v, &maxConcurrentConnections)
176097				if err != nil {
176098					return err
176099				}
176100				srs.MaxConcurrentConnections = maxConcurrentConnections
176101			}
176102		}
176103	}
176104
176105	return nil
176106}
176107
176108// StoreWriteSettings connector write settings.
176109type StoreWriteSettings struct {
176110	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
176111	AdditionalProperties map[string]interface{} `json:""`
176112	// Type - The write setting type.
176113	Type *string `json:"type,omitempty"`
176114	// MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer).
176115	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
176116	// CopyBehavior - The type of copy behavior for copy sink.
176117	CopyBehavior interface{} `json:"copyBehavior,omitempty"`
176118}
176119
176120// MarshalJSON is the custom marshaler for StoreWriteSettings.
176121func (sws StoreWriteSettings) MarshalJSON() ([]byte, error) {
176122	objectMap := make(map[string]interface{})
176123	if sws.Type != nil {
176124		objectMap["type"] = sws.Type
176125	}
176126	if sws.MaxConcurrentConnections != nil {
176127		objectMap["maxConcurrentConnections"] = sws.MaxConcurrentConnections
176128	}
176129	if sws.CopyBehavior != nil {
176130		objectMap["copyBehavior"] = sws.CopyBehavior
176131	}
176132	for k, v := range sws.AdditionalProperties {
176133		objectMap[k] = v
176134	}
176135	return json.Marshal(objectMap)
176136}
176137
176138// UnmarshalJSON is the custom unmarshaler for StoreWriteSettings struct.
176139func (sws *StoreWriteSettings) UnmarshalJSON(body []byte) error {
176140	var m map[string]*json.RawMessage
176141	err := json.Unmarshal(body, &m)
176142	if err != nil {
176143		return err
176144	}
176145	for k, v := range m {
176146		switch k {
176147		default:
176148			if v != nil {
176149				var additionalProperties interface{}
176150				err = json.Unmarshal(*v, &additionalProperties)
176151				if err != nil {
176152					return err
176153				}
176154				if sws.AdditionalProperties == nil {
176155					sws.AdditionalProperties = make(map[string]interface{})
176156				}
176157				sws.AdditionalProperties[k] = additionalProperties
176158			}
176159		case "type":
176160			if v != nil {
176161				var typeVar string
176162				err = json.Unmarshal(*v, &typeVar)
176163				if err != nil {
176164					return err
176165				}
176166				sws.Type = &typeVar
176167			}
176168		case "maxConcurrentConnections":
176169			if v != nil {
176170				var maxConcurrentConnections interface{}
176171				err = json.Unmarshal(*v, &maxConcurrentConnections)
176172				if err != nil {
176173					return err
176174				}
176175				sws.MaxConcurrentConnections = maxConcurrentConnections
176176			}
176177		case "copyBehavior":
176178			if v != nil {
176179				var copyBehavior interface{}
176180				err = json.Unmarshal(*v, &copyBehavior)
176181				if err != nil {
176182					return err
176183				}
176184				sws.CopyBehavior = copyBehavior
176185			}
176186		}
176187	}
176188
176189	return nil
176190}
176191
176192// SubResource azure Data Factory nested resource, which belongs to a factory.
176193type SubResource struct {
176194	// ID - READ-ONLY; The resource identifier.
176195	ID *string `json:"id,omitempty"`
176196	// Name - READ-ONLY; The resource name.
176197	Name *string `json:"name,omitempty"`
176198	// Type - READ-ONLY; The resource type.
176199	Type *string `json:"type,omitempty"`
176200	// Etag - READ-ONLY; Etag identifies change in the resource.
176201	Etag *string `json:"etag,omitempty"`
176202}
176203
176204// SybaseLinkedService linked service for Sybase data source.
176205type SybaseLinkedService struct {
176206	// SybaseLinkedServiceTypeProperties - Sybase linked service properties.
176207	*SybaseLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
176208	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
176209	AdditionalProperties map[string]interface{} `json:""`
176210	// ConnectVia - The integration runtime reference.
176211	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
176212	// Description - Linked service description.
176213	Description *string `json:"description,omitempty"`
176214	// Parameters - Parameters for linked service.
176215	Parameters map[string]*ParameterSpecification `json:"parameters"`
176216	// Annotations - List of tags that can be used for describing the linked service.
176217	Annotations *[]interface{} `json:"annotations,omitempty"`
176218	// Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', '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', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage'
176219	Type TypeBasicLinkedService `json:"type,omitempty"`
176220}
176221
176222// MarshalJSON is the custom marshaler for SybaseLinkedService.
176223func (sls SybaseLinkedService) MarshalJSON() ([]byte, error) {
176224	sls.Type = TypeSybase
176225	objectMap := make(map[string]interface{})
176226	if sls.SybaseLinkedServiceTypeProperties != nil {
176227		objectMap["typeProperties"] = sls.SybaseLinkedServiceTypeProperties
176228	}
176229	if sls.ConnectVia != nil {
176230		objectMap["connectVia"] = sls.ConnectVia
176231	}
176232	if sls.Description != nil {
176233		objectMap["description"] = sls.Description
176234	}
176235	if sls.Parameters != nil {
176236		objectMap["parameters"] = sls.Parameters
176237	}
176238	if sls.Annotations != nil {
176239		objectMap["annotations"] = sls.Annotations
176240	}
176241	if sls.Type != "" {
176242		objectMap["type"] = sls.Type
176243	}
176244	for k, v := range sls.AdditionalProperties {
176245		objectMap[k] = v
176246	}
176247	return json.Marshal(objectMap)
176248}
176249
176250// AsAzureFunctionLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
176251func (sls SybaseLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) {
176252	return nil, false
176253}
176254
176255// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
176256func (sls SybaseLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) {
176257	return nil, false
176258}
176259
176260// AsSapTableLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
176261func (sls SybaseLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) {
176262	return nil, false
176263}
176264
176265// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
176266func (sls SybaseLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) {
176267	return nil, false
176268}
176269
176270// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
176271func (sls SybaseLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) {
176272	return nil, false
176273}
176274
176275// AsDynamicsAXLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
176276func (sls SybaseLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) {
176277	return nil, false
176278}
176279
176280// AsResponsysLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
176281func (sls SybaseLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
176282	return nil, false
176283}
176284
176285// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
176286func (sls SybaseLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
176287	return nil, false
176288}
176289
176290// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
176291func (sls SybaseLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
176292	return nil, false
176293}
176294
176295// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
176296func (sls SybaseLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
176297	return nil, false
176298}
176299
176300// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
176301func (sls SybaseLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
176302	return nil, false
176303}
176304
176305// AsNetezzaLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
176306func (sls SybaseLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
176307	return nil, false
176308}
176309
176310// AsVerticaLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
176311func (sls SybaseLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
176312	return nil, false
176313}
176314
176315// AsZohoLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
176316func (sls SybaseLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
176317	return nil, false
176318}
176319
176320// AsXeroLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
176321func (sls SybaseLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
176322	return nil, false
176323}
176324
176325// AsSquareLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
176326func (sls SybaseLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
176327	return nil, false
176328}
176329
176330// AsSparkLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
176331func (sls SybaseLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
176332	return nil, false
176333}
176334
176335// AsShopifyLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
176336func (sls SybaseLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
176337	return nil, false
176338}
176339
176340// AsServiceNowLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
176341func (sls SybaseLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
176342	return nil, false
176343}
176344
176345// AsQuickBooksLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
176346func (sls SybaseLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
176347	return nil, false
176348}
176349
176350// AsPrestoLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
176351func (sls SybaseLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
176352	return nil, false
176353}
176354
176355// AsPhoenixLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
176356func (sls SybaseLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
176357	return nil, false
176358}
176359
176360// AsPaypalLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
176361func (sls SybaseLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
176362	return nil, false
176363}
176364
176365// AsMarketoLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
176366func (sls SybaseLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
176367	return nil, false
176368}
176369
176370// AsMariaDBLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
176371func (sls SybaseLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
176372	return nil, false
176373}
176374
176375// AsMagentoLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
176376func (sls SybaseLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
176377	return nil, false
176378}
176379
176380// AsJiraLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
176381func (sls SybaseLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
176382	return nil, false
176383}
176384
176385// AsImpalaLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
176386func (sls SybaseLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
176387	return nil, false
176388}
176389
176390// AsHubspotLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
176391func (sls SybaseLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
176392	return nil, false
176393}
176394
176395// AsHiveLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
176396func (sls SybaseLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
176397	return nil, false
176398}
176399
176400// AsHBaseLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
176401func (sls SybaseLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
176402	return nil, false
176403}
176404
176405// AsGreenplumLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
176406func (sls SybaseLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
176407	return nil, false
176408}
176409
176410// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
176411func (sls SybaseLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
176412	return nil, false
176413}
176414
176415// AsEloquaLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
176416func (sls SybaseLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
176417	return nil, false
176418}
176419
176420// AsDrillLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
176421func (sls SybaseLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
176422	return nil, false
176423}
176424
176425// AsCouchbaseLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
176426func (sls SybaseLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
176427	return nil, false
176428}
176429
176430// AsConcurLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
176431func (sls SybaseLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
176432	return nil, false
176433}
176434
176435// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
176436func (sls SybaseLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
176437	return nil, false
176438}
176439
176440// AsAmazonMWSLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
176441func (sls SybaseLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
176442	return nil, false
176443}
176444
176445// AsSapHanaLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
176446func (sls SybaseLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
176447	return nil, false
176448}
176449
176450// AsSapBWLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
176451func (sls SybaseLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
176452	return nil, false
176453}
176454
176455// AsSftpServerLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
176456func (sls SybaseLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
176457	return nil, false
176458}
176459
176460// AsFtpServerLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
176461func (sls SybaseLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
176462	return nil, false
176463}
176464
176465// AsHTTPLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
176466func (sls SybaseLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
176467	return nil, false
176468}
176469
176470// AsAzureSearchLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
176471func (sls SybaseLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
176472	return nil, false
176473}
176474
176475// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
176476func (sls SybaseLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
176477	return nil, false
176478}
176479
176480// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
176481func (sls SybaseLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
176482	return nil, false
176483}
176484
176485// AsAmazonS3LinkedService is the BasicLinkedService implementation for SybaseLinkedService.
176486func (sls SybaseLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
176487	return nil, false
176488}
176489
176490// AsRestServiceLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
176491func (sls SybaseLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) {
176492	return nil, false
176493}
176494
176495// AsSapOpenHubLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
176496func (sls SybaseLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) {
176497	return nil, false
176498}
176499
176500// AsSapEccLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
176501func (sls SybaseLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
176502	return nil, false
176503}
176504
176505// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
176506func (sls SybaseLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
176507	return nil, false
176508}
176509
176510// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
176511func (sls SybaseLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) {
176512	return nil, false
176513}
176514
176515// AsSalesforceLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
176516func (sls SybaseLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
176517	return nil, false
176518}
176519
176520// AsOffice365LinkedService is the BasicLinkedService implementation for SybaseLinkedService.
176521func (sls SybaseLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) {
176522	return nil, false
176523}
176524
176525// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
176526func (sls SybaseLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) {
176527	return nil, false
176528}
176529
176530// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
176531func (sls SybaseLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
176532	return nil, false
176533}
176534
176535// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for SybaseLinkedService.
176536func (sls SybaseLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) {
176537	return nil, false
176538}
176539
176540// AsMongoDbV2LinkedService is the BasicLinkedService implementation for SybaseLinkedService.
176541func (sls SybaseLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) {
176542	return nil, false
176543}
176544
176545// AsMongoDbLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
176546func (sls SybaseLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
176547	return nil, false
176548}
176549
176550// AsCassandraLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
176551func (sls SybaseLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
176552	return nil, false
176553}
176554
176555// AsWebLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
176556func (sls SybaseLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
176557	return nil, false
176558}
176559
176560// AsODataLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
176561func (sls SybaseLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
176562	return nil, false
176563}
176564
176565// AsHdfsLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
176566func (sls SybaseLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
176567	return nil, false
176568}
176569
176570// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
176571func (sls SybaseLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) {
176572	return nil, false
176573}
176574
176575// AsInformixLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
176576func (sls SybaseLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) {
176577	return nil, false
176578}
176579
176580// AsOdbcLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
176581func (sls SybaseLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
176582	return nil, false
176583}
176584
176585// AsAzureMLLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
176586func (sls SybaseLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
176587	return nil, false
176588}
176589
176590// AsTeradataLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
176591func (sls SybaseLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
176592	return nil, false
176593}
176594
176595// AsDb2LinkedService is the BasicLinkedService implementation for SybaseLinkedService.
176596func (sls SybaseLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
176597	return nil, false
176598}
176599
176600// AsSybaseLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
176601func (sls SybaseLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
176602	return &sls, true
176603}
176604
176605// AsPostgreSQLLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
176606func (sls SybaseLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
176607	return nil, false
176608}
176609
176610// AsMySQLLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
176611func (sls SybaseLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
176612	return nil, false
176613}
176614
176615// AsAzureMySQLLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
176616func (sls SybaseLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
176617	return nil, false
176618}
176619
176620// AsOracleLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
176621func (sls SybaseLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
176622	return nil, false
176623}
176624
176625// AsFileServerLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
176626func (sls SybaseLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
176627	return nil, false
176628}
176629
176630// AsHDInsightLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
176631func (sls SybaseLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
176632	return nil, false
176633}
176634
176635// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
176636func (sls SybaseLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) {
176637	return nil, false
176638}
176639
176640// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
176641func (sls SybaseLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) {
176642	return nil, false
176643}
176644
176645// AsDynamicsLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
176646func (sls SybaseLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
176647	return nil, false
176648}
176649
176650// AsCosmosDbLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
176651func (sls SybaseLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
176652	return nil, false
176653}
176654
176655// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
176656func (sls SybaseLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
176657	return nil, false
176658}
176659
176660// AsAzureBatchLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
176661func (sls SybaseLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
176662	return nil, false
176663}
176664
176665// AsAzureSQLMILinkedService is the BasicLinkedService implementation for SybaseLinkedService.
176666func (sls SybaseLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) {
176667	return nil, false
176668}
176669
176670// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
176671func (sls SybaseLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
176672	return nil, false
176673}
176674
176675// AsSQLServerLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
176676func (sls SybaseLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
176677	return nil, false
176678}
176679
176680// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
176681func (sls SybaseLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
176682	return nil, false
176683}
176684
176685// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
176686func (sls SybaseLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) {
176687	return nil, false
176688}
176689
176690// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
176691func (sls SybaseLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) {
176692	return nil, false
176693}
176694
176695// AsAzureStorageLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
176696func (sls SybaseLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
176697	return nil, false
176698}
176699
176700// AsLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
176701func (sls SybaseLinkedService) AsLinkedService() (*LinkedService, bool) {
176702	return nil, false
176703}
176704
176705// AsBasicLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
176706func (sls SybaseLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
176707	return &sls, true
176708}
176709
176710// UnmarshalJSON is the custom unmarshaler for SybaseLinkedService struct.
176711func (sls *SybaseLinkedService) UnmarshalJSON(body []byte) error {
176712	var m map[string]*json.RawMessage
176713	err := json.Unmarshal(body, &m)
176714	if err != nil {
176715		return err
176716	}
176717	for k, v := range m {
176718		switch k {
176719		case "typeProperties":
176720			if v != nil {
176721				var sybaseLinkedServiceTypeProperties SybaseLinkedServiceTypeProperties
176722				err = json.Unmarshal(*v, &sybaseLinkedServiceTypeProperties)
176723				if err != nil {
176724					return err
176725				}
176726				sls.SybaseLinkedServiceTypeProperties = &sybaseLinkedServiceTypeProperties
176727			}
176728		default:
176729			if v != nil {
176730				var additionalProperties interface{}
176731				err = json.Unmarshal(*v, &additionalProperties)
176732				if err != nil {
176733					return err
176734				}
176735				if sls.AdditionalProperties == nil {
176736					sls.AdditionalProperties = make(map[string]interface{})
176737				}
176738				sls.AdditionalProperties[k] = additionalProperties
176739			}
176740		case "connectVia":
176741			if v != nil {
176742				var connectVia IntegrationRuntimeReference
176743				err = json.Unmarshal(*v, &connectVia)
176744				if err != nil {
176745					return err
176746				}
176747				sls.ConnectVia = &connectVia
176748			}
176749		case "description":
176750			if v != nil {
176751				var description string
176752				err = json.Unmarshal(*v, &description)
176753				if err != nil {
176754					return err
176755				}
176756				sls.Description = &description
176757			}
176758		case "parameters":
176759			if v != nil {
176760				var parameters map[string]*ParameterSpecification
176761				err = json.Unmarshal(*v, &parameters)
176762				if err != nil {
176763					return err
176764				}
176765				sls.Parameters = parameters
176766			}
176767		case "annotations":
176768			if v != nil {
176769				var annotations []interface{}
176770				err = json.Unmarshal(*v, &annotations)
176771				if err != nil {
176772					return err
176773				}
176774				sls.Annotations = &annotations
176775			}
176776		case "type":
176777			if v != nil {
176778				var typeVar TypeBasicLinkedService
176779				err = json.Unmarshal(*v, &typeVar)
176780				if err != nil {
176781					return err
176782				}
176783				sls.Type = typeVar
176784			}
176785		}
176786	}
176787
176788	return nil
176789}
176790
176791// SybaseLinkedServiceTypeProperties sybase linked service properties.
176792type SybaseLinkedServiceTypeProperties struct {
176793	// Server - Server name for connection. Type: string (or Expression with resultType string).
176794	Server interface{} `json:"server,omitempty"`
176795	// Database - Database name for connection. Type: string (or Expression with resultType string).
176796	Database interface{} `json:"database,omitempty"`
176797	// Schema - Schema name for connection. Type: string (or Expression with resultType string).
176798	Schema interface{} `json:"schema,omitempty"`
176799	// AuthenticationType - AuthenticationType to be used for connection. Possible values include: 'SybaseAuthenticationTypeBasic', 'SybaseAuthenticationTypeWindows'
176800	AuthenticationType SybaseAuthenticationType `json:"authenticationType,omitempty"`
176801	// Username - Username for authentication. Type: string (or Expression with resultType string).
176802	Username interface{} `json:"username,omitempty"`
176803	// Password - Password for authentication.
176804	Password BasicSecretBase `json:"password,omitempty"`
176805	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
176806	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
176807}
176808
176809// UnmarshalJSON is the custom unmarshaler for SybaseLinkedServiceTypeProperties struct.
176810func (slstp *SybaseLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
176811	var m map[string]*json.RawMessage
176812	err := json.Unmarshal(body, &m)
176813	if err != nil {
176814		return err
176815	}
176816	for k, v := range m {
176817		switch k {
176818		case "server":
176819			if v != nil {
176820				var server interface{}
176821				err = json.Unmarshal(*v, &server)
176822				if err != nil {
176823					return err
176824				}
176825				slstp.Server = server
176826			}
176827		case "database":
176828			if v != nil {
176829				var databaseVar interface{}
176830				err = json.Unmarshal(*v, &databaseVar)
176831				if err != nil {
176832					return err
176833				}
176834				slstp.Database = databaseVar
176835			}
176836		case "schema":
176837			if v != nil {
176838				var schema interface{}
176839				err = json.Unmarshal(*v, &schema)
176840				if err != nil {
176841					return err
176842				}
176843				slstp.Schema = schema
176844			}
176845		case "authenticationType":
176846			if v != nil {
176847				var authenticationType SybaseAuthenticationType
176848				err = json.Unmarshal(*v, &authenticationType)
176849				if err != nil {
176850					return err
176851				}
176852				slstp.AuthenticationType = authenticationType
176853			}
176854		case "username":
176855			if v != nil {
176856				var username interface{}
176857				err = json.Unmarshal(*v, &username)
176858				if err != nil {
176859					return err
176860				}
176861				slstp.Username = username
176862			}
176863		case "password":
176864			if v != nil {
176865				password, err := unmarshalBasicSecretBase(*v)
176866				if err != nil {
176867					return err
176868				}
176869				slstp.Password = password
176870			}
176871		case "encryptedCredential":
176872			if v != nil {
176873				var encryptedCredential interface{}
176874				err = json.Unmarshal(*v, &encryptedCredential)
176875				if err != nil {
176876					return err
176877				}
176878				slstp.EncryptedCredential = encryptedCredential
176879			}
176880		}
176881	}
176882
176883	return nil
176884}
176885
176886// SybaseSource a copy activity source for Sybase databases.
176887type SybaseSource struct {
176888	// Query - Database query. Type: string (or Expression with resultType string).
176889	Query interface{} `json:"query,omitempty"`
176890	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
176891	AdditionalProperties map[string]interface{} `json:""`
176892	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
176893	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
176894	// 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])).
176895	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
176896	// MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer).
176897	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
176898	// Type - Possible values include: 'TypeCopySource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', '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', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeCassandraSource', 'TypeWebSource', 'TypeTeradataSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeAzureMySQLSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeRestSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceServiceCloudSource', 'TypeSalesforceSource', 'TypeODataSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeMicrosoftAccessSource', 'TypeInformixSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAzureTableSource', 'TypeBinarySource', 'TypeDelimitedTextSource', 'TypeParquetSource'
176899	Type TypeBasicCopySource `json:"type,omitempty"`
176900}
176901
176902// MarshalJSON is the custom marshaler for SybaseSource.
176903func (ss SybaseSource) MarshalJSON() ([]byte, error) {
176904	ss.Type = TypeSybaseSource
176905	objectMap := make(map[string]interface{})
176906	if ss.Query != nil {
176907		objectMap["query"] = ss.Query
176908	}
176909	if ss.SourceRetryCount != nil {
176910		objectMap["sourceRetryCount"] = ss.SourceRetryCount
176911	}
176912	if ss.SourceRetryWait != nil {
176913		objectMap["sourceRetryWait"] = ss.SourceRetryWait
176914	}
176915	if ss.MaxConcurrentConnections != nil {
176916		objectMap["maxConcurrentConnections"] = ss.MaxConcurrentConnections
176917	}
176918	if ss.Type != "" {
176919		objectMap["type"] = ss.Type
176920	}
176921	for k, v := range ss.AdditionalProperties {
176922		objectMap[k] = v
176923	}
176924	return json.Marshal(objectMap)
176925}
176926
176927// AsAmazonRedshiftSource is the BasicCopySource implementation for SybaseSource.
176928func (ss SybaseSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
176929	return nil, false
176930}
176931
176932// AsGoogleAdWordsSource is the BasicCopySource implementation for SybaseSource.
176933func (ss SybaseSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) {
176934	return nil, false
176935}
176936
176937// AsOracleServiceCloudSource is the BasicCopySource implementation for SybaseSource.
176938func (ss SybaseSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) {
176939	return nil, false
176940}
176941
176942// AsDynamicsAXSource is the BasicCopySource implementation for SybaseSource.
176943func (ss SybaseSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) {
176944	return nil, false
176945}
176946
176947// AsResponsysSource is the BasicCopySource implementation for SybaseSource.
176948func (ss SybaseSource) AsResponsysSource() (*ResponsysSource, bool) {
176949	return nil, false
176950}
176951
176952// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for SybaseSource.
176953func (ss SybaseSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
176954	return nil, false
176955}
176956
176957// AsVerticaSource is the BasicCopySource implementation for SybaseSource.
176958func (ss SybaseSource) AsVerticaSource() (*VerticaSource, bool) {
176959	return nil, false
176960}
176961
176962// AsNetezzaSource is the BasicCopySource implementation for SybaseSource.
176963func (ss SybaseSource) AsNetezzaSource() (*NetezzaSource, bool) {
176964	return nil, false
176965}
176966
176967// AsZohoSource is the BasicCopySource implementation for SybaseSource.
176968func (ss SybaseSource) AsZohoSource() (*ZohoSource, bool) {
176969	return nil, false
176970}
176971
176972// AsXeroSource is the BasicCopySource implementation for SybaseSource.
176973func (ss SybaseSource) AsXeroSource() (*XeroSource, bool) {
176974	return nil, false
176975}
176976
176977// AsSquareSource is the BasicCopySource implementation for SybaseSource.
176978func (ss SybaseSource) AsSquareSource() (*SquareSource, bool) {
176979	return nil, false
176980}
176981
176982// AsSparkSource is the BasicCopySource implementation for SybaseSource.
176983func (ss SybaseSource) AsSparkSource() (*SparkSource, bool) {
176984	return nil, false
176985}
176986
176987// AsShopifySource is the BasicCopySource implementation for SybaseSource.
176988func (ss SybaseSource) AsShopifySource() (*ShopifySource, bool) {
176989	return nil, false
176990}
176991
176992// AsServiceNowSource is the BasicCopySource implementation for SybaseSource.
176993func (ss SybaseSource) AsServiceNowSource() (*ServiceNowSource, bool) {
176994	return nil, false
176995}
176996
176997// AsQuickBooksSource is the BasicCopySource implementation for SybaseSource.
176998func (ss SybaseSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
176999	return nil, false
177000}
177001
177002// AsPrestoSource is the BasicCopySource implementation for SybaseSource.
177003func (ss SybaseSource) AsPrestoSource() (*PrestoSource, bool) {
177004	return nil, false
177005}
177006
177007// AsPhoenixSource is the BasicCopySource implementation for SybaseSource.
177008func (ss SybaseSource) AsPhoenixSource() (*PhoenixSource, bool) {
177009	return nil, false
177010}
177011
177012// AsPaypalSource is the BasicCopySource implementation for SybaseSource.
177013func (ss SybaseSource) AsPaypalSource() (*PaypalSource, bool) {
177014	return nil, false
177015}
177016
177017// AsMarketoSource is the BasicCopySource implementation for SybaseSource.
177018func (ss SybaseSource) AsMarketoSource() (*MarketoSource, bool) {
177019	return nil, false
177020}
177021
177022// AsMariaDBSource is the BasicCopySource implementation for SybaseSource.
177023func (ss SybaseSource) AsMariaDBSource() (*MariaDBSource, bool) {
177024	return nil, false
177025}
177026
177027// AsMagentoSource is the BasicCopySource implementation for SybaseSource.
177028func (ss SybaseSource) AsMagentoSource() (*MagentoSource, bool) {
177029	return nil, false
177030}
177031
177032// AsJiraSource is the BasicCopySource implementation for SybaseSource.
177033func (ss SybaseSource) AsJiraSource() (*JiraSource, bool) {
177034	return nil, false
177035}
177036
177037// AsImpalaSource is the BasicCopySource implementation for SybaseSource.
177038func (ss SybaseSource) AsImpalaSource() (*ImpalaSource, bool) {
177039	return nil, false
177040}
177041
177042// AsHubspotSource is the BasicCopySource implementation for SybaseSource.
177043func (ss SybaseSource) AsHubspotSource() (*HubspotSource, bool) {
177044	return nil, false
177045}
177046
177047// AsHiveSource is the BasicCopySource implementation for SybaseSource.
177048func (ss SybaseSource) AsHiveSource() (*HiveSource, bool) {
177049	return nil, false
177050}
177051
177052// AsHBaseSource is the BasicCopySource implementation for SybaseSource.
177053func (ss SybaseSource) AsHBaseSource() (*HBaseSource, bool) {
177054	return nil, false
177055}
177056
177057// AsGreenplumSource is the BasicCopySource implementation for SybaseSource.
177058func (ss SybaseSource) AsGreenplumSource() (*GreenplumSource, bool) {
177059	return nil, false
177060}
177061
177062// AsGoogleBigQuerySource is the BasicCopySource implementation for SybaseSource.
177063func (ss SybaseSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
177064	return nil, false
177065}
177066
177067// AsEloquaSource is the BasicCopySource implementation for SybaseSource.
177068func (ss SybaseSource) AsEloquaSource() (*EloquaSource, bool) {
177069	return nil, false
177070}
177071
177072// AsDrillSource is the BasicCopySource implementation for SybaseSource.
177073func (ss SybaseSource) AsDrillSource() (*DrillSource, bool) {
177074	return nil, false
177075}
177076
177077// AsCouchbaseSource is the BasicCopySource implementation for SybaseSource.
177078func (ss SybaseSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
177079	return nil, false
177080}
177081
177082// AsConcurSource is the BasicCopySource implementation for SybaseSource.
177083func (ss SybaseSource) AsConcurSource() (*ConcurSource, bool) {
177084	return nil, false
177085}
177086
177087// AsAzurePostgreSQLSource is the BasicCopySource implementation for SybaseSource.
177088func (ss SybaseSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
177089	return nil, false
177090}
177091
177092// AsAmazonMWSSource is the BasicCopySource implementation for SybaseSource.
177093func (ss SybaseSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
177094	return nil, false
177095}
177096
177097// AsHTTPSource is the BasicCopySource implementation for SybaseSource.
177098func (ss SybaseSource) AsHTTPSource() (*HTTPSource, bool) {
177099	return nil, false
177100}
177101
177102// AsAzureBlobFSSource is the BasicCopySource implementation for SybaseSource.
177103func (ss SybaseSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) {
177104	return nil, false
177105}
177106
177107// AsAzureDataLakeStoreSource is the BasicCopySource implementation for SybaseSource.
177108func (ss SybaseSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
177109	return nil, false
177110}
177111
177112// AsOffice365Source is the BasicCopySource implementation for SybaseSource.
177113func (ss SybaseSource) AsOffice365Source() (*Office365Source, bool) {
177114	return nil, false
177115}
177116
177117// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for SybaseSource.
177118func (ss SybaseSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) {
177119	return nil, false
177120}
177121
177122// AsMongoDbV2Source is the BasicCopySource implementation for SybaseSource.
177123func (ss SybaseSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) {
177124	return nil, false
177125}
177126
177127// AsMongoDbSource is the BasicCopySource implementation for SybaseSource.
177128func (ss SybaseSource) AsMongoDbSource() (*MongoDbSource, bool) {
177129	return nil, false
177130}
177131
177132// AsCassandraSource is the BasicCopySource implementation for SybaseSource.
177133func (ss SybaseSource) AsCassandraSource() (*CassandraSource, bool) {
177134	return nil, false
177135}
177136
177137// AsWebSource is the BasicCopySource implementation for SybaseSource.
177138func (ss SybaseSource) AsWebSource() (*WebSource, bool) {
177139	return nil, false
177140}
177141
177142// AsTeradataSource is the BasicCopySource implementation for SybaseSource.
177143func (ss SybaseSource) AsTeradataSource() (*TeradataSource, bool) {
177144	return nil, false
177145}
177146
177147// AsOracleSource is the BasicCopySource implementation for SybaseSource.
177148func (ss SybaseSource) AsOracleSource() (*OracleSource, bool) {
177149	return nil, false
177150}
177151
177152// AsAzureDataExplorerSource is the BasicCopySource implementation for SybaseSource.
177153func (ss SybaseSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) {
177154	return nil, false
177155}
177156
177157// AsAzureMySQLSource is the BasicCopySource implementation for SybaseSource.
177158func (ss SybaseSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
177159	return nil, false
177160}
177161
177162// AsHdfsSource is the BasicCopySource implementation for SybaseSource.
177163func (ss SybaseSource) AsHdfsSource() (*HdfsSource, bool) {
177164	return nil, false
177165}
177166
177167// AsFileSystemSource is the BasicCopySource implementation for SybaseSource.
177168func (ss SybaseSource) AsFileSystemSource() (*FileSystemSource, bool) {
177169	return nil, false
177170}
177171
177172// AsSQLDWSource is the BasicCopySource implementation for SybaseSource.
177173func (ss SybaseSource) AsSQLDWSource() (*SQLDWSource, bool) {
177174	return nil, false
177175}
177176
177177// AsSQLMISource is the BasicCopySource implementation for SybaseSource.
177178func (ss SybaseSource) AsSQLMISource() (*SQLMISource, bool) {
177179	return nil, false
177180}
177181
177182// AsAzureSQLSource is the BasicCopySource implementation for SybaseSource.
177183func (ss SybaseSource) AsAzureSQLSource() (*AzureSQLSource, bool) {
177184	return nil, false
177185}
177186
177187// AsSQLServerSource is the BasicCopySource implementation for SybaseSource.
177188func (ss SybaseSource) AsSQLServerSource() (*SQLServerSource, bool) {
177189	return nil, false
177190}
177191
177192// AsSQLSource is the BasicCopySource implementation for SybaseSource.
177193func (ss SybaseSource) AsSQLSource() (*SQLSource, bool) {
177194	return nil, false
177195}
177196
177197// AsRestSource is the BasicCopySource implementation for SybaseSource.
177198func (ss SybaseSource) AsRestSource() (*RestSource, bool) {
177199	return nil, false
177200}
177201
177202// AsSapTableSource is the BasicCopySource implementation for SybaseSource.
177203func (ss SybaseSource) AsSapTableSource() (*SapTableSource, bool) {
177204	return nil, false
177205}
177206
177207// AsSapOpenHubSource is the BasicCopySource implementation for SybaseSource.
177208func (ss SybaseSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) {
177209	return nil, false
177210}
177211
177212// AsSapHanaSource is the BasicCopySource implementation for SybaseSource.
177213func (ss SybaseSource) AsSapHanaSource() (*SapHanaSource, bool) {
177214	return nil, false
177215}
177216
177217// AsSapEccSource is the BasicCopySource implementation for SybaseSource.
177218func (ss SybaseSource) AsSapEccSource() (*SapEccSource, bool) {
177219	return nil, false
177220}
177221
177222// AsSapCloudForCustomerSource is the BasicCopySource implementation for SybaseSource.
177223func (ss SybaseSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
177224	return nil, false
177225}
177226
177227// AsSalesforceServiceCloudSource is the BasicCopySource implementation for SybaseSource.
177228func (ss SybaseSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) {
177229	return nil, false
177230}
177231
177232// AsSalesforceSource is the BasicCopySource implementation for SybaseSource.
177233func (ss SybaseSource) AsSalesforceSource() (*SalesforceSource, bool) {
177234	return nil, false
177235}
177236
177237// AsODataSource is the BasicCopySource implementation for SybaseSource.
177238func (ss SybaseSource) AsODataSource() (*ODataSource, bool) {
177239	return nil, false
177240}
177241
177242// AsSybaseSource is the BasicCopySource implementation for SybaseSource.
177243func (ss SybaseSource) AsSybaseSource() (*SybaseSource, bool) {
177244	return &ss, true
177245}
177246
177247// AsPostgreSQLSource is the BasicCopySource implementation for SybaseSource.
177248func (ss SybaseSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) {
177249	return nil, false
177250}
177251
177252// AsMySQLSource is the BasicCopySource implementation for SybaseSource.
177253func (ss SybaseSource) AsMySQLSource() (*MySQLSource, bool) {
177254	return nil, false
177255}
177256
177257// AsOdbcSource is the BasicCopySource implementation for SybaseSource.
177258func (ss SybaseSource) AsOdbcSource() (*OdbcSource, bool) {
177259	return nil, false
177260}
177261
177262// AsDb2Source is the BasicCopySource implementation for SybaseSource.
177263func (ss SybaseSource) AsDb2Source() (*Db2Source, bool) {
177264	return nil, false
177265}
177266
177267// AsMicrosoftAccessSource is the BasicCopySource implementation for SybaseSource.
177268func (ss SybaseSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) {
177269	return nil, false
177270}
177271
177272// AsInformixSource is the BasicCopySource implementation for SybaseSource.
177273func (ss SybaseSource) AsInformixSource() (*InformixSource, bool) {
177274	return nil, false
177275}
177276
177277// AsRelationalSource is the BasicCopySource implementation for SybaseSource.
177278func (ss SybaseSource) AsRelationalSource() (*RelationalSource, bool) {
177279	return nil, false
177280}
177281
177282// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for SybaseSource.
177283func (ss SybaseSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) {
177284	return nil, false
177285}
177286
177287// AsDynamicsCrmSource is the BasicCopySource implementation for SybaseSource.
177288func (ss SybaseSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) {
177289	return nil, false
177290}
177291
177292// AsDynamicsSource is the BasicCopySource implementation for SybaseSource.
177293func (ss SybaseSource) AsDynamicsSource() (*DynamicsSource, bool) {
177294	return nil, false
177295}
177296
177297// AsDocumentDbCollectionSource is the BasicCopySource implementation for SybaseSource.
177298func (ss SybaseSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
177299	return nil, false
177300}
177301
177302// AsBlobSource is the BasicCopySource implementation for SybaseSource.
177303func (ss SybaseSource) AsBlobSource() (*BlobSource, bool) {
177304	return nil, false
177305}
177306
177307// AsAzureTableSource is the BasicCopySource implementation for SybaseSource.
177308func (ss SybaseSource) AsAzureTableSource() (*AzureTableSource, bool) {
177309	return nil, false
177310}
177311
177312// AsBinarySource is the BasicCopySource implementation for SybaseSource.
177313func (ss SybaseSource) AsBinarySource() (*BinarySource, bool) {
177314	return nil, false
177315}
177316
177317// AsDelimitedTextSource is the BasicCopySource implementation for SybaseSource.
177318func (ss SybaseSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) {
177319	return nil, false
177320}
177321
177322// AsParquetSource is the BasicCopySource implementation for SybaseSource.
177323func (ss SybaseSource) AsParquetSource() (*ParquetSource, bool) {
177324	return nil, false
177325}
177326
177327// AsCopySource is the BasicCopySource implementation for SybaseSource.
177328func (ss SybaseSource) AsCopySource() (*CopySource, bool) {
177329	return nil, false
177330}
177331
177332// AsBasicCopySource is the BasicCopySource implementation for SybaseSource.
177333func (ss SybaseSource) AsBasicCopySource() (BasicCopySource, bool) {
177334	return &ss, true
177335}
177336
177337// UnmarshalJSON is the custom unmarshaler for SybaseSource struct.
177338func (ss *SybaseSource) UnmarshalJSON(body []byte) error {
177339	var m map[string]*json.RawMessage
177340	err := json.Unmarshal(body, &m)
177341	if err != nil {
177342		return err
177343	}
177344	for k, v := range m {
177345		switch k {
177346		case "query":
177347			if v != nil {
177348				var query interface{}
177349				err = json.Unmarshal(*v, &query)
177350				if err != nil {
177351					return err
177352				}
177353				ss.Query = query
177354			}
177355		default:
177356			if v != nil {
177357				var additionalProperties interface{}
177358				err = json.Unmarshal(*v, &additionalProperties)
177359				if err != nil {
177360					return err
177361				}
177362				if ss.AdditionalProperties == nil {
177363					ss.AdditionalProperties = make(map[string]interface{})
177364				}
177365				ss.AdditionalProperties[k] = additionalProperties
177366			}
177367		case "sourceRetryCount":
177368			if v != nil {
177369				var sourceRetryCount interface{}
177370				err = json.Unmarshal(*v, &sourceRetryCount)
177371				if err != nil {
177372					return err
177373				}
177374				ss.SourceRetryCount = sourceRetryCount
177375			}
177376		case "sourceRetryWait":
177377			if v != nil {
177378				var sourceRetryWait interface{}
177379				err = json.Unmarshal(*v, &sourceRetryWait)
177380				if err != nil {
177381					return err
177382				}
177383				ss.SourceRetryWait = sourceRetryWait
177384			}
177385		case "maxConcurrentConnections":
177386			if v != nil {
177387				var maxConcurrentConnections interface{}
177388				err = json.Unmarshal(*v, &maxConcurrentConnections)
177389				if err != nil {
177390					return err
177391				}
177392				ss.MaxConcurrentConnections = maxConcurrentConnections
177393			}
177394		case "type":
177395			if v != nil {
177396				var typeVar TypeBasicCopySource
177397				err = json.Unmarshal(*v, &typeVar)
177398				if err != nil {
177399					return err
177400				}
177401				ss.Type = typeVar
177402			}
177403		}
177404	}
177405
177406	return nil
177407}
177408
177409// TeradataLinkedService linked service for Teradata data source.
177410type TeradataLinkedService struct {
177411	// TeradataLinkedServiceTypeProperties - Teradata linked service properties.
177412	*TeradataLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
177413	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
177414	AdditionalProperties map[string]interface{} `json:""`
177415	// ConnectVia - The integration runtime reference.
177416	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
177417	// Description - Linked service description.
177418	Description *string `json:"description,omitempty"`
177419	// Parameters - Parameters for linked service.
177420	Parameters map[string]*ParameterSpecification `json:"parameters"`
177421	// Annotations - List of tags that can be used for describing the linked service.
177422	Annotations *[]interface{} `json:"annotations,omitempty"`
177423	// Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', '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', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage'
177424	Type TypeBasicLinkedService `json:"type,omitempty"`
177425}
177426
177427// MarshalJSON is the custom marshaler for TeradataLinkedService.
177428func (TLSVar TeradataLinkedService) MarshalJSON() ([]byte, error) {
177429	TLSVar.Type = TypeTeradata
177430	objectMap := make(map[string]interface{})
177431	if TLSVar.TeradataLinkedServiceTypeProperties != nil {
177432		objectMap["typeProperties"] = TLSVar.TeradataLinkedServiceTypeProperties
177433	}
177434	if TLSVar.ConnectVia != nil {
177435		objectMap["connectVia"] = TLSVar.ConnectVia
177436	}
177437	if TLSVar.Description != nil {
177438		objectMap["description"] = TLSVar.Description
177439	}
177440	if TLSVar.Parameters != nil {
177441		objectMap["parameters"] = TLSVar.Parameters
177442	}
177443	if TLSVar.Annotations != nil {
177444		objectMap["annotations"] = TLSVar.Annotations
177445	}
177446	if TLSVar.Type != "" {
177447		objectMap["type"] = TLSVar.Type
177448	}
177449	for k, v := range TLSVar.AdditionalProperties {
177450		objectMap[k] = v
177451	}
177452	return json.Marshal(objectMap)
177453}
177454
177455// AsAzureFunctionLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
177456func (TLSVar TeradataLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) {
177457	return nil, false
177458}
177459
177460// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
177461func (TLSVar TeradataLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) {
177462	return nil, false
177463}
177464
177465// AsSapTableLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
177466func (TLSVar TeradataLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) {
177467	return nil, false
177468}
177469
177470// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
177471func (TLSVar TeradataLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) {
177472	return nil, false
177473}
177474
177475// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
177476func (TLSVar TeradataLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) {
177477	return nil, false
177478}
177479
177480// AsDynamicsAXLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
177481func (TLSVar TeradataLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) {
177482	return nil, false
177483}
177484
177485// AsResponsysLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
177486func (TLSVar TeradataLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
177487	return nil, false
177488}
177489
177490// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
177491func (TLSVar TeradataLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
177492	return nil, false
177493}
177494
177495// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
177496func (TLSVar TeradataLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
177497	return nil, false
177498}
177499
177500// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
177501func (TLSVar TeradataLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
177502	return nil, false
177503}
177504
177505// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
177506func (TLSVar TeradataLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
177507	return nil, false
177508}
177509
177510// AsNetezzaLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
177511func (TLSVar TeradataLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
177512	return nil, false
177513}
177514
177515// AsVerticaLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
177516func (TLSVar TeradataLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
177517	return nil, false
177518}
177519
177520// AsZohoLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
177521func (TLSVar TeradataLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
177522	return nil, false
177523}
177524
177525// AsXeroLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
177526func (TLSVar TeradataLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
177527	return nil, false
177528}
177529
177530// AsSquareLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
177531func (TLSVar TeradataLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
177532	return nil, false
177533}
177534
177535// AsSparkLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
177536func (TLSVar TeradataLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
177537	return nil, false
177538}
177539
177540// AsShopifyLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
177541func (TLSVar TeradataLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
177542	return nil, false
177543}
177544
177545// AsServiceNowLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
177546func (TLSVar TeradataLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
177547	return nil, false
177548}
177549
177550// AsQuickBooksLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
177551func (TLSVar TeradataLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
177552	return nil, false
177553}
177554
177555// AsPrestoLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
177556func (TLSVar TeradataLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
177557	return nil, false
177558}
177559
177560// AsPhoenixLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
177561func (TLSVar TeradataLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
177562	return nil, false
177563}
177564
177565// AsPaypalLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
177566func (TLSVar TeradataLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
177567	return nil, false
177568}
177569
177570// AsMarketoLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
177571func (TLSVar TeradataLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
177572	return nil, false
177573}
177574
177575// AsMariaDBLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
177576func (TLSVar TeradataLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
177577	return nil, false
177578}
177579
177580// AsMagentoLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
177581func (TLSVar TeradataLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
177582	return nil, false
177583}
177584
177585// AsJiraLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
177586func (TLSVar TeradataLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
177587	return nil, false
177588}
177589
177590// AsImpalaLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
177591func (TLSVar TeradataLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
177592	return nil, false
177593}
177594
177595// AsHubspotLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
177596func (TLSVar TeradataLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
177597	return nil, false
177598}
177599
177600// AsHiveLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
177601func (TLSVar TeradataLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
177602	return nil, false
177603}
177604
177605// AsHBaseLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
177606func (TLSVar TeradataLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
177607	return nil, false
177608}
177609
177610// AsGreenplumLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
177611func (TLSVar TeradataLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
177612	return nil, false
177613}
177614
177615// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
177616func (TLSVar TeradataLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
177617	return nil, false
177618}
177619
177620// AsEloquaLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
177621func (TLSVar TeradataLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
177622	return nil, false
177623}
177624
177625// AsDrillLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
177626func (TLSVar TeradataLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
177627	return nil, false
177628}
177629
177630// AsCouchbaseLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
177631func (TLSVar TeradataLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
177632	return nil, false
177633}
177634
177635// AsConcurLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
177636func (TLSVar TeradataLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
177637	return nil, false
177638}
177639
177640// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
177641func (TLSVar TeradataLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
177642	return nil, false
177643}
177644
177645// AsAmazonMWSLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
177646func (TLSVar TeradataLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
177647	return nil, false
177648}
177649
177650// AsSapHanaLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
177651func (TLSVar TeradataLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
177652	return nil, false
177653}
177654
177655// AsSapBWLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
177656func (TLSVar TeradataLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
177657	return nil, false
177658}
177659
177660// AsSftpServerLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
177661func (TLSVar TeradataLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
177662	return nil, false
177663}
177664
177665// AsFtpServerLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
177666func (TLSVar TeradataLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
177667	return nil, false
177668}
177669
177670// AsHTTPLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
177671func (TLSVar TeradataLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
177672	return nil, false
177673}
177674
177675// AsAzureSearchLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
177676func (TLSVar TeradataLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
177677	return nil, false
177678}
177679
177680// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
177681func (TLSVar TeradataLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
177682	return nil, false
177683}
177684
177685// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
177686func (TLSVar TeradataLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
177687	return nil, false
177688}
177689
177690// AsAmazonS3LinkedService is the BasicLinkedService implementation for TeradataLinkedService.
177691func (TLSVar TeradataLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
177692	return nil, false
177693}
177694
177695// AsRestServiceLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
177696func (TLSVar TeradataLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) {
177697	return nil, false
177698}
177699
177700// AsSapOpenHubLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
177701func (TLSVar TeradataLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) {
177702	return nil, false
177703}
177704
177705// AsSapEccLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
177706func (TLSVar TeradataLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
177707	return nil, false
177708}
177709
177710// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
177711func (TLSVar TeradataLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
177712	return nil, false
177713}
177714
177715// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
177716func (TLSVar TeradataLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) {
177717	return nil, false
177718}
177719
177720// AsSalesforceLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
177721func (TLSVar TeradataLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
177722	return nil, false
177723}
177724
177725// AsOffice365LinkedService is the BasicLinkedService implementation for TeradataLinkedService.
177726func (TLSVar TeradataLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) {
177727	return nil, false
177728}
177729
177730// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
177731func (TLSVar TeradataLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) {
177732	return nil, false
177733}
177734
177735// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
177736func (TLSVar TeradataLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
177737	return nil, false
177738}
177739
177740// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for TeradataLinkedService.
177741func (TLSVar TeradataLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) {
177742	return nil, false
177743}
177744
177745// AsMongoDbV2LinkedService is the BasicLinkedService implementation for TeradataLinkedService.
177746func (TLSVar TeradataLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) {
177747	return nil, false
177748}
177749
177750// AsMongoDbLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
177751func (TLSVar TeradataLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
177752	return nil, false
177753}
177754
177755// AsCassandraLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
177756func (TLSVar TeradataLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
177757	return nil, false
177758}
177759
177760// AsWebLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
177761func (TLSVar TeradataLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
177762	return nil, false
177763}
177764
177765// AsODataLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
177766func (TLSVar TeradataLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
177767	return nil, false
177768}
177769
177770// AsHdfsLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
177771func (TLSVar TeradataLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
177772	return nil, false
177773}
177774
177775// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
177776func (TLSVar TeradataLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) {
177777	return nil, false
177778}
177779
177780// AsInformixLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
177781func (TLSVar TeradataLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) {
177782	return nil, false
177783}
177784
177785// AsOdbcLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
177786func (TLSVar TeradataLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
177787	return nil, false
177788}
177789
177790// AsAzureMLLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
177791func (TLSVar TeradataLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
177792	return nil, false
177793}
177794
177795// AsTeradataLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
177796func (TLSVar TeradataLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
177797	return &TLSVar, true
177798}
177799
177800// AsDb2LinkedService is the BasicLinkedService implementation for TeradataLinkedService.
177801func (TLSVar TeradataLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
177802	return nil, false
177803}
177804
177805// AsSybaseLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
177806func (TLSVar TeradataLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
177807	return nil, false
177808}
177809
177810// AsPostgreSQLLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
177811func (TLSVar TeradataLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
177812	return nil, false
177813}
177814
177815// AsMySQLLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
177816func (TLSVar TeradataLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
177817	return nil, false
177818}
177819
177820// AsAzureMySQLLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
177821func (TLSVar TeradataLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
177822	return nil, false
177823}
177824
177825// AsOracleLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
177826func (TLSVar TeradataLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
177827	return nil, false
177828}
177829
177830// AsFileServerLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
177831func (TLSVar TeradataLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
177832	return nil, false
177833}
177834
177835// AsHDInsightLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
177836func (TLSVar TeradataLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
177837	return nil, false
177838}
177839
177840// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
177841func (TLSVar TeradataLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) {
177842	return nil, false
177843}
177844
177845// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
177846func (TLSVar TeradataLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) {
177847	return nil, false
177848}
177849
177850// AsDynamicsLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
177851func (TLSVar TeradataLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
177852	return nil, false
177853}
177854
177855// AsCosmosDbLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
177856func (TLSVar TeradataLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
177857	return nil, false
177858}
177859
177860// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
177861func (TLSVar TeradataLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
177862	return nil, false
177863}
177864
177865// AsAzureBatchLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
177866func (TLSVar TeradataLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
177867	return nil, false
177868}
177869
177870// AsAzureSQLMILinkedService is the BasicLinkedService implementation for TeradataLinkedService.
177871func (TLSVar TeradataLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) {
177872	return nil, false
177873}
177874
177875// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
177876func (TLSVar TeradataLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
177877	return nil, false
177878}
177879
177880// AsSQLServerLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
177881func (TLSVar TeradataLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
177882	return nil, false
177883}
177884
177885// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
177886func (TLSVar TeradataLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
177887	return nil, false
177888}
177889
177890// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
177891func (TLSVar TeradataLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) {
177892	return nil, false
177893}
177894
177895// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
177896func (TLSVar TeradataLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) {
177897	return nil, false
177898}
177899
177900// AsAzureStorageLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
177901func (TLSVar TeradataLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
177902	return nil, false
177903}
177904
177905// AsLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
177906func (TLSVar TeradataLinkedService) AsLinkedService() (*LinkedService, bool) {
177907	return nil, false
177908}
177909
177910// AsBasicLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
177911func (TLSVar TeradataLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
177912	return &TLSVar, true
177913}
177914
177915// UnmarshalJSON is the custom unmarshaler for TeradataLinkedService struct.
177916func (TLSVar *TeradataLinkedService) UnmarshalJSON(body []byte) error {
177917	var m map[string]*json.RawMessage
177918	err := json.Unmarshal(body, &m)
177919	if err != nil {
177920		return err
177921	}
177922	for k, v := range m {
177923		switch k {
177924		case "typeProperties":
177925			if v != nil {
177926				var teradataLinkedServiceTypeProperties TeradataLinkedServiceTypeProperties
177927				err = json.Unmarshal(*v, &teradataLinkedServiceTypeProperties)
177928				if err != nil {
177929					return err
177930				}
177931				TLSVar.TeradataLinkedServiceTypeProperties = &teradataLinkedServiceTypeProperties
177932			}
177933		default:
177934			if v != nil {
177935				var additionalProperties interface{}
177936				err = json.Unmarshal(*v, &additionalProperties)
177937				if err != nil {
177938					return err
177939				}
177940				if TLSVar.AdditionalProperties == nil {
177941					TLSVar.AdditionalProperties = make(map[string]interface{})
177942				}
177943				TLSVar.AdditionalProperties[k] = additionalProperties
177944			}
177945		case "connectVia":
177946			if v != nil {
177947				var connectVia IntegrationRuntimeReference
177948				err = json.Unmarshal(*v, &connectVia)
177949				if err != nil {
177950					return err
177951				}
177952				TLSVar.ConnectVia = &connectVia
177953			}
177954		case "description":
177955			if v != nil {
177956				var description string
177957				err = json.Unmarshal(*v, &description)
177958				if err != nil {
177959					return err
177960				}
177961				TLSVar.Description = &description
177962			}
177963		case "parameters":
177964			if v != nil {
177965				var parameters map[string]*ParameterSpecification
177966				err = json.Unmarshal(*v, &parameters)
177967				if err != nil {
177968					return err
177969				}
177970				TLSVar.Parameters = parameters
177971			}
177972		case "annotations":
177973			if v != nil {
177974				var annotations []interface{}
177975				err = json.Unmarshal(*v, &annotations)
177976				if err != nil {
177977					return err
177978				}
177979				TLSVar.Annotations = &annotations
177980			}
177981		case "type":
177982			if v != nil {
177983				var typeVar TypeBasicLinkedService
177984				err = json.Unmarshal(*v, &typeVar)
177985				if err != nil {
177986					return err
177987				}
177988				TLSVar.Type = typeVar
177989			}
177990		}
177991	}
177992
177993	return nil
177994}
177995
177996// TeradataLinkedServiceTypeProperties teradata linked service properties.
177997type TeradataLinkedServiceTypeProperties struct {
177998	// ConnectionString - Teradata ODBC connection string. Type: string, SecureString or AzureKeyVaultSecretReference.
177999	ConnectionString interface{} `json:"connectionString,omitempty"`
178000	// Server - Server name for connection. Type: string (or Expression with resultType string).
178001	Server interface{} `json:"server,omitempty"`
178002	// AuthenticationType - AuthenticationType to be used for connection. Possible values include: 'TeradataAuthenticationTypeBasic', 'TeradataAuthenticationTypeWindows'
178003	AuthenticationType TeradataAuthenticationType `json:"authenticationType,omitempty"`
178004	// Username - Username for authentication. Type: string (or Expression with resultType string).
178005	Username interface{} `json:"username,omitempty"`
178006	// Password - Password for authentication.
178007	Password BasicSecretBase `json:"password,omitempty"`
178008	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
178009	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
178010}
178011
178012// UnmarshalJSON is the custom unmarshaler for TeradataLinkedServiceTypeProperties struct.
178013func (tlstp *TeradataLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
178014	var m map[string]*json.RawMessage
178015	err := json.Unmarshal(body, &m)
178016	if err != nil {
178017		return err
178018	}
178019	for k, v := range m {
178020		switch k {
178021		case "connectionString":
178022			if v != nil {
178023				var connectionString interface{}
178024				err = json.Unmarshal(*v, &connectionString)
178025				if err != nil {
178026					return err
178027				}
178028				tlstp.ConnectionString = connectionString
178029			}
178030		case "server":
178031			if v != nil {
178032				var server interface{}
178033				err = json.Unmarshal(*v, &server)
178034				if err != nil {
178035					return err
178036				}
178037				tlstp.Server = server
178038			}
178039		case "authenticationType":
178040			if v != nil {
178041				var authenticationType TeradataAuthenticationType
178042				err = json.Unmarshal(*v, &authenticationType)
178043				if err != nil {
178044					return err
178045				}
178046				tlstp.AuthenticationType = authenticationType
178047			}
178048		case "username":
178049			if v != nil {
178050				var username interface{}
178051				err = json.Unmarshal(*v, &username)
178052				if err != nil {
178053					return err
178054				}
178055				tlstp.Username = username
178056			}
178057		case "password":
178058			if v != nil {
178059				password, err := unmarshalBasicSecretBase(*v)
178060				if err != nil {
178061					return err
178062				}
178063				tlstp.Password = password
178064			}
178065		case "encryptedCredential":
178066			if v != nil {
178067				var encryptedCredential interface{}
178068				err = json.Unmarshal(*v, &encryptedCredential)
178069				if err != nil {
178070					return err
178071				}
178072				tlstp.EncryptedCredential = encryptedCredential
178073			}
178074		}
178075	}
178076
178077	return nil
178078}
178079
178080// TeradataPartitionSettings the settings that will be leveraged for teradata source partitioning.
178081type TeradataPartitionSettings struct {
178082	// PartitionColumnName - The name of the column that will be used for proceeding range or hash partitioning. Type: string (or Expression with resultType string).
178083	PartitionColumnName interface{} `json:"partitionColumnName,omitempty"`
178084	// PartitionUpperBound - The maximum value of column specified in partitionColumnName that will be used for proceeding range partitioning. Type: string (or Expression with resultType string).
178085	PartitionUpperBound interface{} `json:"partitionUpperBound,omitempty"`
178086	// PartitionLowerBound - The minimum value of column specified in partitionColumnName that will be used for proceeding range partitioning. Type: string (or Expression with resultType string).
178087	PartitionLowerBound interface{} `json:"partitionLowerBound,omitempty"`
178088}
178089
178090// TeradataSource a copy activity Teradata source.
178091type TeradataSource struct {
178092	// Query - Teradata query. Type: string (or Expression with resultType string).
178093	Query interface{} `json:"query,omitempty"`
178094	// PartitionOption - The partition mechanism that will be used for teradata read in parallel. Possible values include: 'TeradataPartitionOptionNone', 'TeradataPartitionOptionHash', 'TeradataPartitionOptionDynamicRange'
178095	PartitionOption TeradataPartitionOption `json:"partitionOption,omitempty"`
178096	// PartitionSettings - The settings that will be leveraged for teradata source partitioning.
178097	PartitionSettings *TeradataPartitionSettings `json:"partitionSettings,omitempty"`
178098	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
178099	AdditionalProperties map[string]interface{} `json:""`
178100	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
178101	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
178102	// 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])).
178103	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
178104	// MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer).
178105	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
178106	// Type - Possible values include: 'TypeCopySource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', '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', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeCassandraSource', 'TypeWebSource', 'TypeTeradataSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeAzureMySQLSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeRestSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceServiceCloudSource', 'TypeSalesforceSource', 'TypeODataSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeMicrosoftAccessSource', 'TypeInformixSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAzureTableSource', 'TypeBinarySource', 'TypeDelimitedTextSource', 'TypeParquetSource'
178107	Type TypeBasicCopySource `json:"type,omitempty"`
178108}
178109
178110// MarshalJSON is the custom marshaler for TeradataSource.
178111func (ts TeradataSource) MarshalJSON() ([]byte, error) {
178112	ts.Type = TypeTeradataSource
178113	objectMap := make(map[string]interface{})
178114	if ts.Query != nil {
178115		objectMap["query"] = ts.Query
178116	}
178117	if ts.PartitionOption != "" {
178118		objectMap["partitionOption"] = ts.PartitionOption
178119	}
178120	if ts.PartitionSettings != nil {
178121		objectMap["partitionSettings"] = ts.PartitionSettings
178122	}
178123	if ts.SourceRetryCount != nil {
178124		objectMap["sourceRetryCount"] = ts.SourceRetryCount
178125	}
178126	if ts.SourceRetryWait != nil {
178127		objectMap["sourceRetryWait"] = ts.SourceRetryWait
178128	}
178129	if ts.MaxConcurrentConnections != nil {
178130		objectMap["maxConcurrentConnections"] = ts.MaxConcurrentConnections
178131	}
178132	if ts.Type != "" {
178133		objectMap["type"] = ts.Type
178134	}
178135	for k, v := range ts.AdditionalProperties {
178136		objectMap[k] = v
178137	}
178138	return json.Marshal(objectMap)
178139}
178140
178141// AsAmazonRedshiftSource is the BasicCopySource implementation for TeradataSource.
178142func (ts TeradataSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
178143	return nil, false
178144}
178145
178146// AsGoogleAdWordsSource is the BasicCopySource implementation for TeradataSource.
178147func (ts TeradataSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) {
178148	return nil, false
178149}
178150
178151// AsOracleServiceCloudSource is the BasicCopySource implementation for TeradataSource.
178152func (ts TeradataSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) {
178153	return nil, false
178154}
178155
178156// AsDynamicsAXSource is the BasicCopySource implementation for TeradataSource.
178157func (ts TeradataSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) {
178158	return nil, false
178159}
178160
178161// AsResponsysSource is the BasicCopySource implementation for TeradataSource.
178162func (ts TeradataSource) AsResponsysSource() (*ResponsysSource, bool) {
178163	return nil, false
178164}
178165
178166// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for TeradataSource.
178167func (ts TeradataSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
178168	return nil, false
178169}
178170
178171// AsVerticaSource is the BasicCopySource implementation for TeradataSource.
178172func (ts TeradataSource) AsVerticaSource() (*VerticaSource, bool) {
178173	return nil, false
178174}
178175
178176// AsNetezzaSource is the BasicCopySource implementation for TeradataSource.
178177func (ts TeradataSource) AsNetezzaSource() (*NetezzaSource, bool) {
178178	return nil, false
178179}
178180
178181// AsZohoSource is the BasicCopySource implementation for TeradataSource.
178182func (ts TeradataSource) AsZohoSource() (*ZohoSource, bool) {
178183	return nil, false
178184}
178185
178186// AsXeroSource is the BasicCopySource implementation for TeradataSource.
178187func (ts TeradataSource) AsXeroSource() (*XeroSource, bool) {
178188	return nil, false
178189}
178190
178191// AsSquareSource is the BasicCopySource implementation for TeradataSource.
178192func (ts TeradataSource) AsSquareSource() (*SquareSource, bool) {
178193	return nil, false
178194}
178195
178196// AsSparkSource is the BasicCopySource implementation for TeradataSource.
178197func (ts TeradataSource) AsSparkSource() (*SparkSource, bool) {
178198	return nil, false
178199}
178200
178201// AsShopifySource is the BasicCopySource implementation for TeradataSource.
178202func (ts TeradataSource) AsShopifySource() (*ShopifySource, bool) {
178203	return nil, false
178204}
178205
178206// AsServiceNowSource is the BasicCopySource implementation for TeradataSource.
178207func (ts TeradataSource) AsServiceNowSource() (*ServiceNowSource, bool) {
178208	return nil, false
178209}
178210
178211// AsQuickBooksSource is the BasicCopySource implementation for TeradataSource.
178212func (ts TeradataSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
178213	return nil, false
178214}
178215
178216// AsPrestoSource is the BasicCopySource implementation for TeradataSource.
178217func (ts TeradataSource) AsPrestoSource() (*PrestoSource, bool) {
178218	return nil, false
178219}
178220
178221// AsPhoenixSource is the BasicCopySource implementation for TeradataSource.
178222func (ts TeradataSource) AsPhoenixSource() (*PhoenixSource, bool) {
178223	return nil, false
178224}
178225
178226// AsPaypalSource is the BasicCopySource implementation for TeradataSource.
178227func (ts TeradataSource) AsPaypalSource() (*PaypalSource, bool) {
178228	return nil, false
178229}
178230
178231// AsMarketoSource is the BasicCopySource implementation for TeradataSource.
178232func (ts TeradataSource) AsMarketoSource() (*MarketoSource, bool) {
178233	return nil, false
178234}
178235
178236// AsMariaDBSource is the BasicCopySource implementation for TeradataSource.
178237func (ts TeradataSource) AsMariaDBSource() (*MariaDBSource, bool) {
178238	return nil, false
178239}
178240
178241// AsMagentoSource is the BasicCopySource implementation for TeradataSource.
178242func (ts TeradataSource) AsMagentoSource() (*MagentoSource, bool) {
178243	return nil, false
178244}
178245
178246// AsJiraSource is the BasicCopySource implementation for TeradataSource.
178247func (ts TeradataSource) AsJiraSource() (*JiraSource, bool) {
178248	return nil, false
178249}
178250
178251// AsImpalaSource is the BasicCopySource implementation for TeradataSource.
178252func (ts TeradataSource) AsImpalaSource() (*ImpalaSource, bool) {
178253	return nil, false
178254}
178255
178256// AsHubspotSource is the BasicCopySource implementation for TeradataSource.
178257func (ts TeradataSource) AsHubspotSource() (*HubspotSource, bool) {
178258	return nil, false
178259}
178260
178261// AsHiveSource is the BasicCopySource implementation for TeradataSource.
178262func (ts TeradataSource) AsHiveSource() (*HiveSource, bool) {
178263	return nil, false
178264}
178265
178266// AsHBaseSource is the BasicCopySource implementation for TeradataSource.
178267func (ts TeradataSource) AsHBaseSource() (*HBaseSource, bool) {
178268	return nil, false
178269}
178270
178271// AsGreenplumSource is the BasicCopySource implementation for TeradataSource.
178272func (ts TeradataSource) AsGreenplumSource() (*GreenplumSource, bool) {
178273	return nil, false
178274}
178275
178276// AsGoogleBigQuerySource is the BasicCopySource implementation for TeradataSource.
178277func (ts TeradataSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
178278	return nil, false
178279}
178280
178281// AsEloquaSource is the BasicCopySource implementation for TeradataSource.
178282func (ts TeradataSource) AsEloquaSource() (*EloquaSource, bool) {
178283	return nil, false
178284}
178285
178286// AsDrillSource is the BasicCopySource implementation for TeradataSource.
178287func (ts TeradataSource) AsDrillSource() (*DrillSource, bool) {
178288	return nil, false
178289}
178290
178291// AsCouchbaseSource is the BasicCopySource implementation for TeradataSource.
178292func (ts TeradataSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
178293	return nil, false
178294}
178295
178296// AsConcurSource is the BasicCopySource implementation for TeradataSource.
178297func (ts TeradataSource) AsConcurSource() (*ConcurSource, bool) {
178298	return nil, false
178299}
178300
178301// AsAzurePostgreSQLSource is the BasicCopySource implementation for TeradataSource.
178302func (ts TeradataSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
178303	return nil, false
178304}
178305
178306// AsAmazonMWSSource is the BasicCopySource implementation for TeradataSource.
178307func (ts TeradataSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
178308	return nil, false
178309}
178310
178311// AsHTTPSource is the BasicCopySource implementation for TeradataSource.
178312func (ts TeradataSource) AsHTTPSource() (*HTTPSource, bool) {
178313	return nil, false
178314}
178315
178316// AsAzureBlobFSSource is the BasicCopySource implementation for TeradataSource.
178317func (ts TeradataSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) {
178318	return nil, false
178319}
178320
178321// AsAzureDataLakeStoreSource is the BasicCopySource implementation for TeradataSource.
178322func (ts TeradataSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
178323	return nil, false
178324}
178325
178326// AsOffice365Source is the BasicCopySource implementation for TeradataSource.
178327func (ts TeradataSource) AsOffice365Source() (*Office365Source, bool) {
178328	return nil, false
178329}
178330
178331// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for TeradataSource.
178332func (ts TeradataSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) {
178333	return nil, false
178334}
178335
178336// AsMongoDbV2Source is the BasicCopySource implementation for TeradataSource.
178337func (ts TeradataSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) {
178338	return nil, false
178339}
178340
178341// AsMongoDbSource is the BasicCopySource implementation for TeradataSource.
178342func (ts TeradataSource) AsMongoDbSource() (*MongoDbSource, bool) {
178343	return nil, false
178344}
178345
178346// AsCassandraSource is the BasicCopySource implementation for TeradataSource.
178347func (ts TeradataSource) AsCassandraSource() (*CassandraSource, bool) {
178348	return nil, false
178349}
178350
178351// AsWebSource is the BasicCopySource implementation for TeradataSource.
178352func (ts TeradataSource) AsWebSource() (*WebSource, bool) {
178353	return nil, false
178354}
178355
178356// AsTeradataSource is the BasicCopySource implementation for TeradataSource.
178357func (ts TeradataSource) AsTeradataSource() (*TeradataSource, bool) {
178358	return &ts, true
178359}
178360
178361// AsOracleSource is the BasicCopySource implementation for TeradataSource.
178362func (ts TeradataSource) AsOracleSource() (*OracleSource, bool) {
178363	return nil, false
178364}
178365
178366// AsAzureDataExplorerSource is the BasicCopySource implementation for TeradataSource.
178367func (ts TeradataSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) {
178368	return nil, false
178369}
178370
178371// AsAzureMySQLSource is the BasicCopySource implementation for TeradataSource.
178372func (ts TeradataSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
178373	return nil, false
178374}
178375
178376// AsHdfsSource is the BasicCopySource implementation for TeradataSource.
178377func (ts TeradataSource) AsHdfsSource() (*HdfsSource, bool) {
178378	return nil, false
178379}
178380
178381// AsFileSystemSource is the BasicCopySource implementation for TeradataSource.
178382func (ts TeradataSource) AsFileSystemSource() (*FileSystemSource, bool) {
178383	return nil, false
178384}
178385
178386// AsSQLDWSource is the BasicCopySource implementation for TeradataSource.
178387func (ts TeradataSource) AsSQLDWSource() (*SQLDWSource, bool) {
178388	return nil, false
178389}
178390
178391// AsSQLMISource is the BasicCopySource implementation for TeradataSource.
178392func (ts TeradataSource) AsSQLMISource() (*SQLMISource, bool) {
178393	return nil, false
178394}
178395
178396// AsAzureSQLSource is the BasicCopySource implementation for TeradataSource.
178397func (ts TeradataSource) AsAzureSQLSource() (*AzureSQLSource, bool) {
178398	return nil, false
178399}
178400
178401// AsSQLServerSource is the BasicCopySource implementation for TeradataSource.
178402func (ts TeradataSource) AsSQLServerSource() (*SQLServerSource, bool) {
178403	return nil, false
178404}
178405
178406// AsSQLSource is the BasicCopySource implementation for TeradataSource.
178407func (ts TeradataSource) AsSQLSource() (*SQLSource, bool) {
178408	return nil, false
178409}
178410
178411// AsRestSource is the BasicCopySource implementation for TeradataSource.
178412func (ts TeradataSource) AsRestSource() (*RestSource, bool) {
178413	return nil, false
178414}
178415
178416// AsSapTableSource is the BasicCopySource implementation for TeradataSource.
178417func (ts TeradataSource) AsSapTableSource() (*SapTableSource, bool) {
178418	return nil, false
178419}
178420
178421// AsSapOpenHubSource is the BasicCopySource implementation for TeradataSource.
178422func (ts TeradataSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) {
178423	return nil, false
178424}
178425
178426// AsSapHanaSource is the BasicCopySource implementation for TeradataSource.
178427func (ts TeradataSource) AsSapHanaSource() (*SapHanaSource, bool) {
178428	return nil, false
178429}
178430
178431// AsSapEccSource is the BasicCopySource implementation for TeradataSource.
178432func (ts TeradataSource) AsSapEccSource() (*SapEccSource, bool) {
178433	return nil, false
178434}
178435
178436// AsSapCloudForCustomerSource is the BasicCopySource implementation for TeradataSource.
178437func (ts TeradataSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
178438	return nil, false
178439}
178440
178441// AsSalesforceServiceCloudSource is the BasicCopySource implementation for TeradataSource.
178442func (ts TeradataSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) {
178443	return nil, false
178444}
178445
178446// AsSalesforceSource is the BasicCopySource implementation for TeradataSource.
178447func (ts TeradataSource) AsSalesforceSource() (*SalesforceSource, bool) {
178448	return nil, false
178449}
178450
178451// AsODataSource is the BasicCopySource implementation for TeradataSource.
178452func (ts TeradataSource) AsODataSource() (*ODataSource, bool) {
178453	return nil, false
178454}
178455
178456// AsSybaseSource is the BasicCopySource implementation for TeradataSource.
178457func (ts TeradataSource) AsSybaseSource() (*SybaseSource, bool) {
178458	return nil, false
178459}
178460
178461// AsPostgreSQLSource is the BasicCopySource implementation for TeradataSource.
178462func (ts TeradataSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) {
178463	return nil, false
178464}
178465
178466// AsMySQLSource is the BasicCopySource implementation for TeradataSource.
178467func (ts TeradataSource) AsMySQLSource() (*MySQLSource, bool) {
178468	return nil, false
178469}
178470
178471// AsOdbcSource is the BasicCopySource implementation for TeradataSource.
178472func (ts TeradataSource) AsOdbcSource() (*OdbcSource, bool) {
178473	return nil, false
178474}
178475
178476// AsDb2Source is the BasicCopySource implementation for TeradataSource.
178477func (ts TeradataSource) AsDb2Source() (*Db2Source, bool) {
178478	return nil, false
178479}
178480
178481// AsMicrosoftAccessSource is the BasicCopySource implementation for TeradataSource.
178482func (ts TeradataSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) {
178483	return nil, false
178484}
178485
178486// AsInformixSource is the BasicCopySource implementation for TeradataSource.
178487func (ts TeradataSource) AsInformixSource() (*InformixSource, bool) {
178488	return nil, false
178489}
178490
178491// AsRelationalSource is the BasicCopySource implementation for TeradataSource.
178492func (ts TeradataSource) AsRelationalSource() (*RelationalSource, bool) {
178493	return nil, false
178494}
178495
178496// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for TeradataSource.
178497func (ts TeradataSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) {
178498	return nil, false
178499}
178500
178501// AsDynamicsCrmSource is the BasicCopySource implementation for TeradataSource.
178502func (ts TeradataSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) {
178503	return nil, false
178504}
178505
178506// AsDynamicsSource is the BasicCopySource implementation for TeradataSource.
178507func (ts TeradataSource) AsDynamicsSource() (*DynamicsSource, bool) {
178508	return nil, false
178509}
178510
178511// AsDocumentDbCollectionSource is the BasicCopySource implementation for TeradataSource.
178512func (ts TeradataSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
178513	return nil, false
178514}
178515
178516// AsBlobSource is the BasicCopySource implementation for TeradataSource.
178517func (ts TeradataSource) AsBlobSource() (*BlobSource, bool) {
178518	return nil, false
178519}
178520
178521// AsAzureTableSource is the BasicCopySource implementation for TeradataSource.
178522func (ts TeradataSource) AsAzureTableSource() (*AzureTableSource, bool) {
178523	return nil, false
178524}
178525
178526// AsBinarySource is the BasicCopySource implementation for TeradataSource.
178527func (ts TeradataSource) AsBinarySource() (*BinarySource, bool) {
178528	return nil, false
178529}
178530
178531// AsDelimitedTextSource is the BasicCopySource implementation for TeradataSource.
178532func (ts TeradataSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) {
178533	return nil, false
178534}
178535
178536// AsParquetSource is the BasicCopySource implementation for TeradataSource.
178537func (ts TeradataSource) AsParquetSource() (*ParquetSource, bool) {
178538	return nil, false
178539}
178540
178541// AsCopySource is the BasicCopySource implementation for TeradataSource.
178542func (ts TeradataSource) AsCopySource() (*CopySource, bool) {
178543	return nil, false
178544}
178545
178546// AsBasicCopySource is the BasicCopySource implementation for TeradataSource.
178547func (ts TeradataSource) AsBasicCopySource() (BasicCopySource, bool) {
178548	return &ts, true
178549}
178550
178551// UnmarshalJSON is the custom unmarshaler for TeradataSource struct.
178552func (ts *TeradataSource) UnmarshalJSON(body []byte) error {
178553	var m map[string]*json.RawMessage
178554	err := json.Unmarshal(body, &m)
178555	if err != nil {
178556		return err
178557	}
178558	for k, v := range m {
178559		switch k {
178560		case "query":
178561			if v != nil {
178562				var query interface{}
178563				err = json.Unmarshal(*v, &query)
178564				if err != nil {
178565					return err
178566				}
178567				ts.Query = query
178568			}
178569		case "partitionOption":
178570			if v != nil {
178571				var partitionOption TeradataPartitionOption
178572				err = json.Unmarshal(*v, &partitionOption)
178573				if err != nil {
178574					return err
178575				}
178576				ts.PartitionOption = partitionOption
178577			}
178578		case "partitionSettings":
178579			if v != nil {
178580				var partitionSettings TeradataPartitionSettings
178581				err = json.Unmarshal(*v, &partitionSettings)
178582				if err != nil {
178583					return err
178584				}
178585				ts.PartitionSettings = &partitionSettings
178586			}
178587		default:
178588			if v != nil {
178589				var additionalProperties interface{}
178590				err = json.Unmarshal(*v, &additionalProperties)
178591				if err != nil {
178592					return err
178593				}
178594				if ts.AdditionalProperties == nil {
178595					ts.AdditionalProperties = make(map[string]interface{})
178596				}
178597				ts.AdditionalProperties[k] = additionalProperties
178598			}
178599		case "sourceRetryCount":
178600			if v != nil {
178601				var sourceRetryCount interface{}
178602				err = json.Unmarshal(*v, &sourceRetryCount)
178603				if err != nil {
178604					return err
178605				}
178606				ts.SourceRetryCount = sourceRetryCount
178607			}
178608		case "sourceRetryWait":
178609			if v != nil {
178610				var sourceRetryWait interface{}
178611				err = json.Unmarshal(*v, &sourceRetryWait)
178612				if err != nil {
178613					return err
178614				}
178615				ts.SourceRetryWait = sourceRetryWait
178616			}
178617		case "maxConcurrentConnections":
178618			if v != nil {
178619				var maxConcurrentConnections interface{}
178620				err = json.Unmarshal(*v, &maxConcurrentConnections)
178621				if err != nil {
178622					return err
178623				}
178624				ts.MaxConcurrentConnections = maxConcurrentConnections
178625			}
178626		case "type":
178627			if v != nil {
178628				var typeVar TypeBasicCopySource
178629				err = json.Unmarshal(*v, &typeVar)
178630				if err != nil {
178631					return err
178632				}
178633				ts.Type = typeVar
178634			}
178635		}
178636	}
178637
178638	return nil
178639}
178640
178641// TeradataTableDataset the Teradata database dataset.
178642type TeradataTableDataset struct {
178643	// TeradataTableDatasetTypeProperties - Teradata dataset properties.
178644	*TeradataTableDatasetTypeProperties `json:"typeProperties,omitempty"`
178645	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
178646	AdditionalProperties map[string]interface{} `json:""`
178647	// Description - Dataset description.
178648	Description *string `json:"description,omitempty"`
178649	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
178650	Structure interface{} `json:"structure,omitempty"`
178651	// Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement.
178652	Schema interface{} `json:"schema,omitempty"`
178653	// LinkedServiceName - Linked service reference.
178654	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
178655	// Parameters - Parameters for dataset.
178656	Parameters map[string]*ParameterSpecification `json:"parameters"`
178657	// Annotations - List of tags that can be used for describing the Dataset.
178658	Annotations *[]interface{} `json:"annotations,omitempty"`
178659	// Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level.
178660	Folder *DatasetFolder `json:"folder,omitempty"`
178661	// Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', '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', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeDelimitedText', 'TypeParquet', 'TypeAmazonS3Object'
178662	Type TypeBasicDataset `json:"type,omitempty"`
178663}
178664
178665// MarshalJSON is the custom marshaler for TeradataTableDataset.
178666func (ttd TeradataTableDataset) MarshalJSON() ([]byte, error) {
178667	ttd.Type = TypeTeradataTable
178668	objectMap := make(map[string]interface{})
178669	if ttd.TeradataTableDatasetTypeProperties != nil {
178670		objectMap["typeProperties"] = ttd.TeradataTableDatasetTypeProperties
178671	}
178672	if ttd.Description != nil {
178673		objectMap["description"] = ttd.Description
178674	}
178675	if ttd.Structure != nil {
178676		objectMap["structure"] = ttd.Structure
178677	}
178678	if ttd.Schema != nil {
178679		objectMap["schema"] = ttd.Schema
178680	}
178681	if ttd.LinkedServiceName != nil {
178682		objectMap["linkedServiceName"] = ttd.LinkedServiceName
178683	}
178684	if ttd.Parameters != nil {
178685		objectMap["parameters"] = ttd.Parameters
178686	}
178687	if ttd.Annotations != nil {
178688		objectMap["annotations"] = ttd.Annotations
178689	}
178690	if ttd.Folder != nil {
178691		objectMap["folder"] = ttd.Folder
178692	}
178693	if ttd.Type != "" {
178694		objectMap["type"] = ttd.Type
178695	}
178696	for k, v := range ttd.AdditionalProperties {
178697		objectMap[k] = v
178698	}
178699	return json.Marshal(objectMap)
178700}
178701
178702// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for TeradataTableDataset.
178703func (ttd TeradataTableDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) {
178704	return nil, false
178705}
178706
178707// AsAzureDataExplorerTableDataset is the BasicDataset implementation for TeradataTableDataset.
178708func (ttd TeradataTableDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) {
178709	return nil, false
178710}
178711
178712// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for TeradataTableDataset.
178713func (ttd TeradataTableDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) {
178714	return nil, false
178715}
178716
178717// AsDynamicsAXResourceDataset is the BasicDataset implementation for TeradataTableDataset.
178718func (ttd TeradataTableDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) {
178719	return nil, false
178720}
178721
178722// AsResponsysObjectDataset is the BasicDataset implementation for TeradataTableDataset.
178723func (ttd TeradataTableDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
178724	return nil, false
178725}
178726
178727// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for TeradataTableDataset.
178728func (ttd TeradataTableDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
178729	return nil, false
178730}
178731
178732// AsVerticaTableDataset is the BasicDataset implementation for TeradataTableDataset.
178733func (ttd TeradataTableDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
178734	return nil, false
178735}
178736
178737// AsNetezzaTableDataset is the BasicDataset implementation for TeradataTableDataset.
178738func (ttd TeradataTableDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
178739	return nil, false
178740}
178741
178742// AsZohoObjectDataset is the BasicDataset implementation for TeradataTableDataset.
178743func (ttd TeradataTableDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
178744	return nil, false
178745}
178746
178747// AsXeroObjectDataset is the BasicDataset implementation for TeradataTableDataset.
178748func (ttd TeradataTableDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
178749	return nil, false
178750}
178751
178752// AsSquareObjectDataset is the BasicDataset implementation for TeradataTableDataset.
178753func (ttd TeradataTableDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
178754	return nil, false
178755}
178756
178757// AsSparkObjectDataset is the BasicDataset implementation for TeradataTableDataset.
178758func (ttd TeradataTableDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
178759	return nil, false
178760}
178761
178762// AsShopifyObjectDataset is the BasicDataset implementation for TeradataTableDataset.
178763func (ttd TeradataTableDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
178764	return nil, false
178765}
178766
178767// AsServiceNowObjectDataset is the BasicDataset implementation for TeradataTableDataset.
178768func (ttd TeradataTableDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
178769	return nil, false
178770}
178771
178772// AsQuickBooksObjectDataset is the BasicDataset implementation for TeradataTableDataset.
178773func (ttd TeradataTableDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
178774	return nil, false
178775}
178776
178777// AsPrestoObjectDataset is the BasicDataset implementation for TeradataTableDataset.
178778func (ttd TeradataTableDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
178779	return nil, false
178780}
178781
178782// AsPhoenixObjectDataset is the BasicDataset implementation for TeradataTableDataset.
178783func (ttd TeradataTableDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
178784	return nil, false
178785}
178786
178787// AsPaypalObjectDataset is the BasicDataset implementation for TeradataTableDataset.
178788func (ttd TeradataTableDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
178789	return nil, false
178790}
178791
178792// AsMarketoObjectDataset is the BasicDataset implementation for TeradataTableDataset.
178793func (ttd TeradataTableDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
178794	return nil, false
178795}
178796
178797// AsMariaDBTableDataset is the BasicDataset implementation for TeradataTableDataset.
178798func (ttd TeradataTableDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
178799	return nil, false
178800}
178801
178802// AsMagentoObjectDataset is the BasicDataset implementation for TeradataTableDataset.
178803func (ttd TeradataTableDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
178804	return nil, false
178805}
178806
178807// AsJiraObjectDataset is the BasicDataset implementation for TeradataTableDataset.
178808func (ttd TeradataTableDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
178809	return nil, false
178810}
178811
178812// AsImpalaObjectDataset is the BasicDataset implementation for TeradataTableDataset.
178813func (ttd TeradataTableDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
178814	return nil, false
178815}
178816
178817// AsHubspotObjectDataset is the BasicDataset implementation for TeradataTableDataset.
178818func (ttd TeradataTableDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
178819	return nil, false
178820}
178821
178822// AsHiveObjectDataset is the BasicDataset implementation for TeradataTableDataset.
178823func (ttd TeradataTableDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
178824	return nil, false
178825}
178826
178827// AsHBaseObjectDataset is the BasicDataset implementation for TeradataTableDataset.
178828func (ttd TeradataTableDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
178829	return nil, false
178830}
178831
178832// AsGreenplumTableDataset is the BasicDataset implementation for TeradataTableDataset.
178833func (ttd TeradataTableDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
178834	return nil, false
178835}
178836
178837// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for TeradataTableDataset.
178838func (ttd TeradataTableDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
178839	return nil, false
178840}
178841
178842// AsEloquaObjectDataset is the BasicDataset implementation for TeradataTableDataset.
178843func (ttd TeradataTableDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
178844	return nil, false
178845}
178846
178847// AsDrillTableDataset is the BasicDataset implementation for TeradataTableDataset.
178848func (ttd TeradataTableDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
178849	return nil, false
178850}
178851
178852// AsCouchbaseTableDataset is the BasicDataset implementation for TeradataTableDataset.
178853func (ttd TeradataTableDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
178854	return nil, false
178855}
178856
178857// AsConcurObjectDataset is the BasicDataset implementation for TeradataTableDataset.
178858func (ttd TeradataTableDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
178859	return nil, false
178860}
178861
178862// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for TeradataTableDataset.
178863func (ttd TeradataTableDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
178864	return nil, false
178865}
178866
178867// AsAmazonMWSObjectDataset is the BasicDataset implementation for TeradataTableDataset.
178868func (ttd TeradataTableDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
178869	return nil, false
178870}
178871
178872// AsHTTPDataset is the BasicDataset implementation for TeradataTableDataset.
178873func (ttd TeradataTableDataset) AsHTTPDataset() (*HTTPDataset, bool) {
178874	return nil, false
178875}
178876
178877// AsAzureSearchIndexDataset is the BasicDataset implementation for TeradataTableDataset.
178878func (ttd TeradataTableDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
178879	return nil, false
178880}
178881
178882// AsWebTableDataset is the BasicDataset implementation for TeradataTableDataset.
178883func (ttd TeradataTableDataset) AsWebTableDataset() (*WebTableDataset, bool) {
178884	return nil, false
178885}
178886
178887// AsSapTableResourceDataset is the BasicDataset implementation for TeradataTableDataset.
178888func (ttd TeradataTableDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) {
178889	return nil, false
178890}
178891
178892// AsRestResourceDataset is the BasicDataset implementation for TeradataTableDataset.
178893func (ttd TeradataTableDataset) AsRestResourceDataset() (*RestResourceDataset, bool) {
178894	return nil, false
178895}
178896
178897// AsSQLServerTableDataset is the BasicDataset implementation for TeradataTableDataset.
178898func (ttd TeradataTableDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
178899	return nil, false
178900}
178901
178902// AsSapOpenHubTableDataset is the BasicDataset implementation for TeradataTableDataset.
178903func (ttd TeradataTableDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) {
178904	return nil, false
178905}
178906
178907// AsSapHanaTableDataset is the BasicDataset implementation for TeradataTableDataset.
178908func (ttd TeradataTableDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) {
178909	return nil, false
178910}
178911
178912// AsSapEccResourceDataset is the BasicDataset implementation for TeradataTableDataset.
178913func (ttd TeradataTableDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
178914	return nil, false
178915}
178916
178917// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for TeradataTableDataset.
178918func (ttd TeradataTableDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
178919	return nil, false
178920}
178921
178922// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for TeradataTableDataset.
178923func (ttd TeradataTableDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) {
178924	return nil, false
178925}
178926
178927// AsSalesforceObjectDataset is the BasicDataset implementation for TeradataTableDataset.
178928func (ttd TeradataTableDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
178929	return nil, false
178930}
178931
178932// AsMicrosoftAccessTableDataset is the BasicDataset implementation for TeradataTableDataset.
178933func (ttd TeradataTableDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) {
178934	return nil, false
178935}
178936
178937// AsPostgreSQLTableDataset is the BasicDataset implementation for TeradataTableDataset.
178938func (ttd TeradataTableDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) {
178939	return nil, false
178940}
178941
178942// AsMySQLTableDataset is the BasicDataset implementation for TeradataTableDataset.
178943func (ttd TeradataTableDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) {
178944	return nil, false
178945}
178946
178947// AsOdbcTableDataset is the BasicDataset implementation for TeradataTableDataset.
178948func (ttd TeradataTableDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) {
178949	return nil, false
178950}
178951
178952// AsInformixTableDataset is the BasicDataset implementation for TeradataTableDataset.
178953func (ttd TeradataTableDataset) AsInformixTableDataset() (*InformixTableDataset, bool) {
178954	return nil, false
178955}
178956
178957// AsRelationalTableDataset is the BasicDataset implementation for TeradataTableDataset.
178958func (ttd TeradataTableDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
178959	return nil, false
178960}
178961
178962// AsAzureMySQLTableDataset is the BasicDataset implementation for TeradataTableDataset.
178963func (ttd TeradataTableDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
178964	return nil, false
178965}
178966
178967// AsTeradataTableDataset is the BasicDataset implementation for TeradataTableDataset.
178968func (ttd TeradataTableDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) {
178969	return &ttd, true
178970}
178971
178972// AsOracleTableDataset is the BasicDataset implementation for TeradataTableDataset.
178973func (ttd TeradataTableDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
178974	return nil, false
178975}
178976
178977// AsODataResourceDataset is the BasicDataset implementation for TeradataTableDataset.
178978func (ttd TeradataTableDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
178979	return nil, false
178980}
178981
178982// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for TeradataTableDataset.
178983func (ttd TeradataTableDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) {
178984	return nil, false
178985}
178986
178987// AsMongoDbV2CollectionDataset is the BasicDataset implementation for TeradataTableDataset.
178988func (ttd TeradataTableDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) {
178989	return nil, false
178990}
178991
178992// AsMongoDbCollectionDataset is the BasicDataset implementation for TeradataTableDataset.
178993func (ttd TeradataTableDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
178994	return nil, false
178995}
178996
178997// AsFileShareDataset is the BasicDataset implementation for TeradataTableDataset.
178998func (ttd TeradataTableDataset) AsFileShareDataset() (*FileShareDataset, bool) {
178999	return nil, false
179000}
179001
179002// AsOffice365Dataset is the BasicDataset implementation for TeradataTableDataset.
179003func (ttd TeradataTableDataset) AsOffice365Dataset() (*Office365Dataset, bool) {
179004	return nil, false
179005}
179006
179007// AsAzureBlobFSDataset is the BasicDataset implementation for TeradataTableDataset.
179008func (ttd TeradataTableDataset) AsAzureBlobFSDataset() (*AzureBlobFSDataset, bool) {
179009	return nil, false
179010}
179011
179012// AsAzureDataLakeStoreDataset is the BasicDataset implementation for TeradataTableDataset.
179013func (ttd TeradataTableDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) {
179014	return nil, false
179015}
179016
179017// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for TeradataTableDataset.
179018func (ttd TeradataTableDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) {
179019	return nil, false
179020}
179021
179022// AsDynamicsCrmEntityDataset is the BasicDataset implementation for TeradataTableDataset.
179023func (ttd TeradataTableDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) {
179024	return nil, false
179025}
179026
179027// AsDynamicsEntityDataset is the BasicDataset implementation for TeradataTableDataset.
179028func (ttd TeradataTableDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
179029	return nil, false
179030}
179031
179032// AsDocumentDbCollectionDataset is the BasicDataset implementation for TeradataTableDataset.
179033func (ttd TeradataTableDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
179034	return nil, false
179035}
179036
179037// AsCustomDataset is the BasicDataset implementation for TeradataTableDataset.
179038func (ttd TeradataTableDataset) AsCustomDataset() (*CustomDataset, bool) {
179039	return nil, false
179040}
179041
179042// AsCassandraTableDataset is the BasicDataset implementation for TeradataTableDataset.
179043func (ttd TeradataTableDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
179044	return nil, false
179045}
179046
179047// AsAzureSQLDWTableDataset is the BasicDataset implementation for TeradataTableDataset.
179048func (ttd TeradataTableDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
179049	return nil, false
179050}
179051
179052// AsAzureSQLMITableDataset is the BasicDataset implementation for TeradataTableDataset.
179053func (ttd TeradataTableDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) {
179054	return nil, false
179055}
179056
179057// AsAzureSQLTableDataset is the BasicDataset implementation for TeradataTableDataset.
179058func (ttd TeradataTableDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
179059	return nil, false
179060}
179061
179062// AsAzureTableDataset is the BasicDataset implementation for TeradataTableDataset.
179063func (ttd TeradataTableDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
179064	return nil, false
179065}
179066
179067// AsAzureBlobDataset is the BasicDataset implementation for TeradataTableDataset.
179068func (ttd TeradataTableDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) {
179069	return nil, false
179070}
179071
179072// AsBinaryDataset is the BasicDataset implementation for TeradataTableDataset.
179073func (ttd TeradataTableDataset) AsBinaryDataset() (*BinaryDataset, bool) {
179074	return nil, false
179075}
179076
179077// AsDelimitedTextDataset is the BasicDataset implementation for TeradataTableDataset.
179078func (ttd TeradataTableDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) {
179079	return nil, false
179080}
179081
179082// AsParquetDataset is the BasicDataset implementation for TeradataTableDataset.
179083func (ttd TeradataTableDataset) AsParquetDataset() (*ParquetDataset, bool) {
179084	return nil, false
179085}
179086
179087// AsAmazonS3Dataset is the BasicDataset implementation for TeradataTableDataset.
179088func (ttd TeradataTableDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) {
179089	return nil, false
179090}
179091
179092// AsDataset is the BasicDataset implementation for TeradataTableDataset.
179093func (ttd TeradataTableDataset) AsDataset() (*Dataset, bool) {
179094	return nil, false
179095}
179096
179097// AsBasicDataset is the BasicDataset implementation for TeradataTableDataset.
179098func (ttd TeradataTableDataset) AsBasicDataset() (BasicDataset, bool) {
179099	return &ttd, true
179100}
179101
179102// UnmarshalJSON is the custom unmarshaler for TeradataTableDataset struct.
179103func (ttd *TeradataTableDataset) UnmarshalJSON(body []byte) error {
179104	var m map[string]*json.RawMessage
179105	err := json.Unmarshal(body, &m)
179106	if err != nil {
179107		return err
179108	}
179109	for k, v := range m {
179110		switch k {
179111		case "typeProperties":
179112			if v != nil {
179113				var teradataTableDatasetTypeProperties TeradataTableDatasetTypeProperties
179114				err = json.Unmarshal(*v, &teradataTableDatasetTypeProperties)
179115				if err != nil {
179116					return err
179117				}
179118				ttd.TeradataTableDatasetTypeProperties = &teradataTableDatasetTypeProperties
179119			}
179120		default:
179121			if v != nil {
179122				var additionalProperties interface{}
179123				err = json.Unmarshal(*v, &additionalProperties)
179124				if err != nil {
179125					return err
179126				}
179127				if ttd.AdditionalProperties == nil {
179128					ttd.AdditionalProperties = make(map[string]interface{})
179129				}
179130				ttd.AdditionalProperties[k] = additionalProperties
179131			}
179132		case "description":
179133			if v != nil {
179134				var description string
179135				err = json.Unmarshal(*v, &description)
179136				if err != nil {
179137					return err
179138				}
179139				ttd.Description = &description
179140			}
179141		case "structure":
179142			if v != nil {
179143				var structure interface{}
179144				err = json.Unmarshal(*v, &structure)
179145				if err != nil {
179146					return err
179147				}
179148				ttd.Structure = structure
179149			}
179150		case "schema":
179151			if v != nil {
179152				var schema interface{}
179153				err = json.Unmarshal(*v, &schema)
179154				if err != nil {
179155					return err
179156				}
179157				ttd.Schema = schema
179158			}
179159		case "linkedServiceName":
179160			if v != nil {
179161				var linkedServiceName LinkedServiceReference
179162				err = json.Unmarshal(*v, &linkedServiceName)
179163				if err != nil {
179164					return err
179165				}
179166				ttd.LinkedServiceName = &linkedServiceName
179167			}
179168		case "parameters":
179169			if v != nil {
179170				var parameters map[string]*ParameterSpecification
179171				err = json.Unmarshal(*v, &parameters)
179172				if err != nil {
179173					return err
179174				}
179175				ttd.Parameters = parameters
179176			}
179177		case "annotations":
179178			if v != nil {
179179				var annotations []interface{}
179180				err = json.Unmarshal(*v, &annotations)
179181				if err != nil {
179182					return err
179183				}
179184				ttd.Annotations = &annotations
179185			}
179186		case "folder":
179187			if v != nil {
179188				var folder DatasetFolder
179189				err = json.Unmarshal(*v, &folder)
179190				if err != nil {
179191					return err
179192				}
179193				ttd.Folder = &folder
179194			}
179195		case "type":
179196			if v != nil {
179197				var typeVar TypeBasicDataset
179198				err = json.Unmarshal(*v, &typeVar)
179199				if err != nil {
179200					return err
179201				}
179202				ttd.Type = typeVar
179203			}
179204		}
179205	}
179206
179207	return nil
179208}
179209
179210// TeradataTableDatasetTypeProperties teradata dataset properties.
179211type TeradataTableDatasetTypeProperties struct {
179212	// Database - The database name of Teradata. Type: string (or Expression with resultType string).
179213	Database interface{} `json:"database,omitempty"`
179214	// Table - The table name of Teradata. Type: string (or Expression with resultType string).
179215	Table interface{} `json:"table,omitempty"`
179216}
179217
179218// TextFormat the data stored in text format.
179219type TextFormat struct {
179220	// ColumnDelimiter - The column delimiter. Type: string (or Expression with resultType string).
179221	ColumnDelimiter interface{} `json:"columnDelimiter,omitempty"`
179222	// RowDelimiter - The row delimiter. Type: string (or Expression with resultType string).
179223	RowDelimiter interface{} `json:"rowDelimiter,omitempty"`
179224	// EscapeChar - The escape character. Type: string (or Expression with resultType string).
179225	EscapeChar interface{} `json:"escapeChar,omitempty"`
179226	// QuoteChar - The quote character. Type: string (or Expression with resultType string).
179227	QuoteChar interface{} `json:"quoteChar,omitempty"`
179228	// NullValue - The null value string. Type: string (or Expression with resultType string).
179229	NullValue interface{} `json:"nullValue,omitempty"`
179230	// 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).
179231	EncodingName interface{} `json:"encodingName,omitempty"`
179232	// TreatEmptyAsNull - Treat empty column values in the text file as null. The default value is true. Type: boolean (or Expression with resultType boolean).
179233	TreatEmptyAsNull interface{} `json:"treatEmptyAsNull,omitempty"`
179234	// 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).
179235	SkipLineCount interface{} `json:"skipLineCount,omitempty"`
179236	// 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).
179237	FirstRowAsHeader interface{} `json:"firstRowAsHeader,omitempty"`
179238	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
179239	AdditionalProperties map[string]interface{} `json:""`
179240	// Serializer - Serializer. Type: string (or Expression with resultType string).
179241	Serializer interface{} `json:"serializer,omitempty"`
179242	// Deserializer - Deserializer. Type: string (or Expression with resultType string).
179243	Deserializer interface{} `json:"deserializer,omitempty"`
179244	// Type - Possible values include: 'TypeDatasetStorageFormat', 'TypeParquetFormat', 'TypeOrcFormat', 'TypeAvroFormat', 'TypeJSONFormat', 'TypeTextFormat'
179245	Type TypeBasicDatasetStorageFormat `json:"type,omitempty"`
179246}
179247
179248// MarshalJSON is the custom marshaler for TextFormat.
179249func (tf TextFormat) MarshalJSON() ([]byte, error) {
179250	tf.Type = TypeTextFormat
179251	objectMap := make(map[string]interface{})
179252	if tf.ColumnDelimiter != nil {
179253		objectMap["columnDelimiter"] = tf.ColumnDelimiter
179254	}
179255	if tf.RowDelimiter != nil {
179256		objectMap["rowDelimiter"] = tf.RowDelimiter
179257	}
179258	if tf.EscapeChar != nil {
179259		objectMap["escapeChar"] = tf.EscapeChar
179260	}
179261	if tf.QuoteChar != nil {
179262		objectMap["quoteChar"] = tf.QuoteChar
179263	}
179264	if tf.NullValue != nil {
179265		objectMap["nullValue"] = tf.NullValue
179266	}
179267	if tf.EncodingName != nil {
179268		objectMap["encodingName"] = tf.EncodingName
179269	}
179270	if tf.TreatEmptyAsNull != nil {
179271		objectMap["treatEmptyAsNull"] = tf.TreatEmptyAsNull
179272	}
179273	if tf.SkipLineCount != nil {
179274		objectMap["skipLineCount"] = tf.SkipLineCount
179275	}
179276	if tf.FirstRowAsHeader != nil {
179277		objectMap["firstRowAsHeader"] = tf.FirstRowAsHeader
179278	}
179279	if tf.Serializer != nil {
179280		objectMap["serializer"] = tf.Serializer
179281	}
179282	if tf.Deserializer != nil {
179283		objectMap["deserializer"] = tf.Deserializer
179284	}
179285	if tf.Type != "" {
179286		objectMap["type"] = tf.Type
179287	}
179288	for k, v := range tf.AdditionalProperties {
179289		objectMap[k] = v
179290	}
179291	return json.Marshal(objectMap)
179292}
179293
179294// AsParquetFormat is the BasicDatasetStorageFormat implementation for TextFormat.
179295func (tf TextFormat) AsParquetFormat() (*ParquetFormat, bool) {
179296	return nil, false
179297}
179298
179299// AsOrcFormat is the BasicDatasetStorageFormat implementation for TextFormat.
179300func (tf TextFormat) AsOrcFormat() (*OrcFormat, bool) {
179301	return nil, false
179302}
179303
179304// AsAvroFormat is the BasicDatasetStorageFormat implementation for TextFormat.
179305func (tf TextFormat) AsAvroFormat() (*AvroFormat, bool) {
179306	return nil, false
179307}
179308
179309// AsJSONFormat is the BasicDatasetStorageFormat implementation for TextFormat.
179310func (tf TextFormat) AsJSONFormat() (*JSONFormat, bool) {
179311	return nil, false
179312}
179313
179314// AsTextFormat is the BasicDatasetStorageFormat implementation for TextFormat.
179315func (tf TextFormat) AsTextFormat() (*TextFormat, bool) {
179316	return &tf, true
179317}
179318
179319// AsDatasetStorageFormat is the BasicDatasetStorageFormat implementation for TextFormat.
179320func (tf TextFormat) AsDatasetStorageFormat() (*DatasetStorageFormat, bool) {
179321	return nil, false
179322}
179323
179324// AsBasicDatasetStorageFormat is the BasicDatasetStorageFormat implementation for TextFormat.
179325func (tf TextFormat) AsBasicDatasetStorageFormat() (BasicDatasetStorageFormat, bool) {
179326	return &tf, true
179327}
179328
179329// UnmarshalJSON is the custom unmarshaler for TextFormat struct.
179330func (tf *TextFormat) UnmarshalJSON(body []byte) error {
179331	var m map[string]*json.RawMessage
179332	err := json.Unmarshal(body, &m)
179333	if err != nil {
179334		return err
179335	}
179336	for k, v := range m {
179337		switch k {
179338		case "columnDelimiter":
179339			if v != nil {
179340				var columnDelimiter interface{}
179341				err = json.Unmarshal(*v, &columnDelimiter)
179342				if err != nil {
179343					return err
179344				}
179345				tf.ColumnDelimiter = columnDelimiter
179346			}
179347		case "rowDelimiter":
179348			if v != nil {
179349				var rowDelimiter interface{}
179350				err = json.Unmarshal(*v, &rowDelimiter)
179351				if err != nil {
179352					return err
179353				}
179354				tf.RowDelimiter = rowDelimiter
179355			}
179356		case "escapeChar":
179357			if v != nil {
179358				var escapeChar interface{}
179359				err = json.Unmarshal(*v, &escapeChar)
179360				if err != nil {
179361					return err
179362				}
179363				tf.EscapeChar = escapeChar
179364			}
179365		case "quoteChar":
179366			if v != nil {
179367				var quoteChar interface{}
179368				err = json.Unmarshal(*v, &quoteChar)
179369				if err != nil {
179370					return err
179371				}
179372				tf.QuoteChar = quoteChar
179373			}
179374		case "nullValue":
179375			if v != nil {
179376				var nullValue interface{}
179377				err = json.Unmarshal(*v, &nullValue)
179378				if err != nil {
179379					return err
179380				}
179381				tf.NullValue = nullValue
179382			}
179383		case "encodingName":
179384			if v != nil {
179385				var encodingName interface{}
179386				err = json.Unmarshal(*v, &encodingName)
179387				if err != nil {
179388					return err
179389				}
179390				tf.EncodingName = encodingName
179391			}
179392		case "treatEmptyAsNull":
179393			if v != nil {
179394				var treatEmptyAsNull interface{}
179395				err = json.Unmarshal(*v, &treatEmptyAsNull)
179396				if err != nil {
179397					return err
179398				}
179399				tf.TreatEmptyAsNull = treatEmptyAsNull
179400			}
179401		case "skipLineCount":
179402			if v != nil {
179403				var skipLineCount interface{}
179404				err = json.Unmarshal(*v, &skipLineCount)
179405				if err != nil {
179406					return err
179407				}
179408				tf.SkipLineCount = skipLineCount
179409			}
179410		case "firstRowAsHeader":
179411			if v != nil {
179412				var firstRowAsHeader interface{}
179413				err = json.Unmarshal(*v, &firstRowAsHeader)
179414				if err != nil {
179415					return err
179416				}
179417				tf.FirstRowAsHeader = firstRowAsHeader
179418			}
179419		default:
179420			if v != nil {
179421				var additionalProperties interface{}
179422				err = json.Unmarshal(*v, &additionalProperties)
179423				if err != nil {
179424					return err
179425				}
179426				if tf.AdditionalProperties == nil {
179427					tf.AdditionalProperties = make(map[string]interface{})
179428				}
179429				tf.AdditionalProperties[k] = additionalProperties
179430			}
179431		case "serializer":
179432			if v != nil {
179433				var serializer interface{}
179434				err = json.Unmarshal(*v, &serializer)
179435				if err != nil {
179436					return err
179437				}
179438				tf.Serializer = serializer
179439			}
179440		case "deserializer":
179441			if v != nil {
179442				var deserializer interface{}
179443				err = json.Unmarshal(*v, &deserializer)
179444				if err != nil {
179445					return err
179446				}
179447				tf.Deserializer = deserializer
179448			}
179449		case "type":
179450			if v != nil {
179451				var typeVar TypeBasicDatasetStorageFormat
179452				err = json.Unmarshal(*v, &typeVar)
179453				if err != nil {
179454					return err
179455				}
179456				tf.Type = typeVar
179457			}
179458		}
179459	}
179460
179461	return nil
179462}
179463
179464// BasicTrigger azure data factory nested object which contains information about creating pipeline run
179465type BasicTrigger interface {
179466	AsRerunTumblingWindowTrigger() (*RerunTumblingWindowTrigger, bool)
179467	AsTumblingWindowTrigger() (*TumblingWindowTrigger, bool)
179468	AsBlobEventsTrigger() (*BlobEventsTrigger, bool)
179469	AsBlobTrigger() (*BlobTrigger, bool)
179470	AsScheduleTrigger() (*ScheduleTrigger, bool)
179471	AsMultiplePipelineTrigger() (*MultiplePipelineTrigger, bool)
179472	AsBasicMultiplePipelineTrigger() (BasicMultiplePipelineTrigger, bool)
179473	AsTrigger() (*Trigger, bool)
179474}
179475
179476// Trigger azure data factory nested object which contains information about creating pipeline run
179477type Trigger struct {
179478	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
179479	AdditionalProperties map[string]interface{} `json:""`
179480	// Description - Trigger description.
179481	Description *string `json:"description,omitempty"`
179482	// RuntimeState - READ-ONLY; Indicates if trigger is running or not. Updated when Start/Stop APIs are called on the Trigger. Possible values include: 'Started', 'Stopped', 'Disabled'
179483	RuntimeState TriggerRuntimeState `json:"runtimeState,omitempty"`
179484	// Annotations - List of tags that can be used for describing the trigger.
179485	Annotations *[]interface{} `json:"annotations,omitempty"`
179486	// Type - Possible values include: 'TypeTrigger', 'TypeRerunTumblingWindowTrigger', 'TypeTumblingWindowTrigger', 'TypeBlobEventsTrigger', 'TypeBlobTrigger', 'TypeScheduleTrigger', 'TypeMultiplePipelineTrigger'
179487	Type TypeBasicTrigger `json:"type,omitempty"`
179488}
179489
179490func unmarshalBasicTrigger(body []byte) (BasicTrigger, error) {
179491	var m map[string]interface{}
179492	err := json.Unmarshal(body, &m)
179493	if err != nil {
179494		return nil, err
179495	}
179496
179497	switch m["type"] {
179498	case string(TypeRerunTumblingWindowTrigger):
179499		var rtwt RerunTumblingWindowTrigger
179500		err := json.Unmarshal(body, &rtwt)
179501		return rtwt, err
179502	case string(TypeTumblingWindowTrigger):
179503		var twt TumblingWindowTrigger
179504		err := json.Unmarshal(body, &twt)
179505		return twt, err
179506	case string(TypeBlobEventsTrigger):
179507		var bet BlobEventsTrigger
179508		err := json.Unmarshal(body, &bet)
179509		return bet, err
179510	case string(TypeBlobTrigger):
179511		var bt BlobTrigger
179512		err := json.Unmarshal(body, &bt)
179513		return bt, err
179514	case string(TypeScheduleTrigger):
179515		var st ScheduleTrigger
179516		err := json.Unmarshal(body, &st)
179517		return st, err
179518	case string(TypeMultiplePipelineTrigger):
179519		var mpt MultiplePipelineTrigger
179520		err := json.Unmarshal(body, &mpt)
179521		return mpt, err
179522	default:
179523		var t Trigger
179524		err := json.Unmarshal(body, &t)
179525		return t, err
179526	}
179527}
179528func unmarshalBasicTriggerArray(body []byte) ([]BasicTrigger, error) {
179529	var rawMessages []*json.RawMessage
179530	err := json.Unmarshal(body, &rawMessages)
179531	if err != nil {
179532		return nil, err
179533	}
179534
179535	tArray := make([]BasicTrigger, len(rawMessages))
179536
179537	for index, rawMessage := range rawMessages {
179538		t, err := unmarshalBasicTrigger(*rawMessage)
179539		if err != nil {
179540			return nil, err
179541		}
179542		tArray[index] = t
179543	}
179544	return tArray, nil
179545}
179546
179547// MarshalJSON is the custom marshaler for Trigger.
179548func (t Trigger) MarshalJSON() ([]byte, error) {
179549	t.Type = TypeTrigger
179550	objectMap := make(map[string]interface{})
179551	if t.Description != nil {
179552		objectMap["description"] = t.Description
179553	}
179554	if t.Annotations != nil {
179555		objectMap["annotations"] = t.Annotations
179556	}
179557	if t.Type != "" {
179558		objectMap["type"] = t.Type
179559	}
179560	for k, v := range t.AdditionalProperties {
179561		objectMap[k] = v
179562	}
179563	return json.Marshal(objectMap)
179564}
179565
179566// AsRerunTumblingWindowTrigger is the BasicTrigger implementation for Trigger.
179567func (t Trigger) AsRerunTumblingWindowTrigger() (*RerunTumblingWindowTrigger, bool) {
179568	return nil, false
179569}
179570
179571// AsTumblingWindowTrigger is the BasicTrigger implementation for Trigger.
179572func (t Trigger) AsTumblingWindowTrigger() (*TumblingWindowTrigger, bool) {
179573	return nil, false
179574}
179575
179576// AsBlobEventsTrigger is the BasicTrigger implementation for Trigger.
179577func (t Trigger) AsBlobEventsTrigger() (*BlobEventsTrigger, bool) {
179578	return nil, false
179579}
179580
179581// AsBlobTrigger is the BasicTrigger implementation for Trigger.
179582func (t Trigger) AsBlobTrigger() (*BlobTrigger, bool) {
179583	return nil, false
179584}
179585
179586// AsScheduleTrigger is the BasicTrigger implementation for Trigger.
179587func (t Trigger) AsScheduleTrigger() (*ScheduleTrigger, bool) {
179588	return nil, false
179589}
179590
179591// AsMultiplePipelineTrigger is the BasicTrigger implementation for Trigger.
179592func (t Trigger) AsMultiplePipelineTrigger() (*MultiplePipelineTrigger, bool) {
179593	return nil, false
179594}
179595
179596// AsBasicMultiplePipelineTrigger is the BasicTrigger implementation for Trigger.
179597func (t Trigger) AsBasicMultiplePipelineTrigger() (BasicMultiplePipelineTrigger, bool) {
179598	return nil, false
179599}
179600
179601// AsTrigger is the BasicTrigger implementation for Trigger.
179602func (t Trigger) AsTrigger() (*Trigger, bool) {
179603	return &t, true
179604}
179605
179606// AsBasicTrigger is the BasicTrigger implementation for Trigger.
179607func (t Trigger) AsBasicTrigger() (BasicTrigger, bool) {
179608	return &t, true
179609}
179610
179611// UnmarshalJSON is the custom unmarshaler for Trigger struct.
179612func (t *Trigger) UnmarshalJSON(body []byte) error {
179613	var m map[string]*json.RawMessage
179614	err := json.Unmarshal(body, &m)
179615	if err != nil {
179616		return err
179617	}
179618	for k, v := range m {
179619		switch k {
179620		default:
179621			if v != nil {
179622				var additionalProperties interface{}
179623				err = json.Unmarshal(*v, &additionalProperties)
179624				if err != nil {
179625					return err
179626				}
179627				if t.AdditionalProperties == nil {
179628					t.AdditionalProperties = make(map[string]interface{})
179629				}
179630				t.AdditionalProperties[k] = additionalProperties
179631			}
179632		case "description":
179633			if v != nil {
179634				var description string
179635				err = json.Unmarshal(*v, &description)
179636				if err != nil {
179637					return err
179638				}
179639				t.Description = &description
179640			}
179641		case "runtimeState":
179642			if v != nil {
179643				var runtimeState TriggerRuntimeState
179644				err = json.Unmarshal(*v, &runtimeState)
179645				if err != nil {
179646					return err
179647				}
179648				t.RuntimeState = runtimeState
179649			}
179650		case "annotations":
179651			if v != nil {
179652				var annotations []interface{}
179653				err = json.Unmarshal(*v, &annotations)
179654				if err != nil {
179655					return err
179656				}
179657				t.Annotations = &annotations
179658			}
179659		case "type":
179660			if v != nil {
179661				var typeVar TypeBasicTrigger
179662				err = json.Unmarshal(*v, &typeVar)
179663				if err != nil {
179664					return err
179665				}
179666				t.Type = typeVar
179667			}
179668		}
179669	}
179670
179671	return nil
179672}
179673
179674// BasicTriggerDependencyReference trigger referenced dependency.
179675type BasicTriggerDependencyReference interface {
179676	AsTumblingWindowTriggerDependencyReference() (*TumblingWindowTriggerDependencyReference, bool)
179677	AsTriggerDependencyReference() (*TriggerDependencyReference, bool)
179678}
179679
179680// TriggerDependencyReference trigger referenced dependency.
179681type TriggerDependencyReference struct {
179682	// ReferenceTrigger - Referenced trigger.
179683	ReferenceTrigger *TriggerReference `json:"referenceTrigger,omitempty"`
179684	// Type - Possible values include: 'TypeDependencyReference', 'TypeSelfDependencyTumblingWindowTriggerReference', 'TypeTumblingWindowTriggerDependencyReference', 'TypeTriggerDependencyReference'
179685	Type TypeBasicDependencyReference `json:"type,omitempty"`
179686}
179687
179688func unmarshalBasicTriggerDependencyReference(body []byte) (BasicTriggerDependencyReference, error) {
179689	var m map[string]interface{}
179690	err := json.Unmarshal(body, &m)
179691	if err != nil {
179692		return nil, err
179693	}
179694
179695	switch m["type"] {
179696	case string(TypeTumblingWindowTriggerDependencyReference):
179697		var twtdr TumblingWindowTriggerDependencyReference
179698		err := json.Unmarshal(body, &twtdr)
179699		return twtdr, err
179700	default:
179701		var tdr TriggerDependencyReference
179702		err := json.Unmarshal(body, &tdr)
179703		return tdr, err
179704	}
179705}
179706func unmarshalBasicTriggerDependencyReferenceArray(body []byte) ([]BasicTriggerDependencyReference, error) {
179707	var rawMessages []*json.RawMessage
179708	err := json.Unmarshal(body, &rawMessages)
179709	if err != nil {
179710		return nil, err
179711	}
179712
179713	tdrArray := make([]BasicTriggerDependencyReference, len(rawMessages))
179714
179715	for index, rawMessage := range rawMessages {
179716		tdr, err := unmarshalBasicTriggerDependencyReference(*rawMessage)
179717		if err != nil {
179718			return nil, err
179719		}
179720		tdrArray[index] = tdr
179721	}
179722	return tdrArray, nil
179723}
179724
179725// MarshalJSON is the custom marshaler for TriggerDependencyReference.
179726func (tdr TriggerDependencyReference) MarshalJSON() ([]byte, error) {
179727	tdr.Type = TypeTriggerDependencyReference
179728	objectMap := make(map[string]interface{})
179729	if tdr.ReferenceTrigger != nil {
179730		objectMap["referenceTrigger"] = tdr.ReferenceTrigger
179731	}
179732	if tdr.Type != "" {
179733		objectMap["type"] = tdr.Type
179734	}
179735	return json.Marshal(objectMap)
179736}
179737
179738// AsSelfDependencyTumblingWindowTriggerReference is the BasicDependencyReference implementation for TriggerDependencyReference.
179739func (tdr TriggerDependencyReference) AsSelfDependencyTumblingWindowTriggerReference() (*SelfDependencyTumblingWindowTriggerReference, bool) {
179740	return nil, false
179741}
179742
179743// AsTumblingWindowTriggerDependencyReference is the BasicDependencyReference implementation for TriggerDependencyReference.
179744func (tdr TriggerDependencyReference) AsTumblingWindowTriggerDependencyReference() (*TumblingWindowTriggerDependencyReference, bool) {
179745	return nil, false
179746}
179747
179748// AsTriggerDependencyReference is the BasicDependencyReference implementation for TriggerDependencyReference.
179749func (tdr TriggerDependencyReference) AsTriggerDependencyReference() (*TriggerDependencyReference, bool) {
179750	return &tdr, true
179751}
179752
179753// AsBasicTriggerDependencyReference is the BasicDependencyReference implementation for TriggerDependencyReference.
179754func (tdr TriggerDependencyReference) AsBasicTriggerDependencyReference() (BasicTriggerDependencyReference, bool) {
179755	return &tdr, true
179756}
179757
179758// AsDependencyReference is the BasicDependencyReference implementation for TriggerDependencyReference.
179759func (tdr TriggerDependencyReference) AsDependencyReference() (*DependencyReference, bool) {
179760	return nil, false
179761}
179762
179763// AsBasicDependencyReference is the BasicDependencyReference implementation for TriggerDependencyReference.
179764func (tdr TriggerDependencyReference) AsBasicDependencyReference() (BasicDependencyReference, bool) {
179765	return &tdr, true
179766}
179767
179768// TriggerListResponse a list of trigger resources.
179769type TriggerListResponse struct {
179770	autorest.Response `json:"-"`
179771	// Value - List of triggers.
179772	Value *[]TriggerResource `json:"value,omitempty"`
179773	// NextLink - The link to the next page of results, if any remaining results exist.
179774	NextLink *string `json:"nextLink,omitempty"`
179775}
179776
179777// TriggerListResponseIterator provides access to a complete listing of TriggerResource values.
179778type TriggerListResponseIterator struct {
179779	i    int
179780	page TriggerListResponsePage
179781}
179782
179783// NextWithContext advances to the next value.  If there was an error making
179784// the request the iterator does not advance and the error is returned.
179785func (iter *TriggerListResponseIterator) NextWithContext(ctx context.Context) (err error) {
179786	if tracing.IsEnabled() {
179787		ctx = tracing.StartSpan(ctx, fqdn+"/TriggerListResponseIterator.NextWithContext")
179788		defer func() {
179789			sc := -1
179790			if iter.Response().Response.Response != nil {
179791				sc = iter.Response().Response.Response.StatusCode
179792			}
179793			tracing.EndSpan(ctx, sc, err)
179794		}()
179795	}
179796	iter.i++
179797	if iter.i < len(iter.page.Values()) {
179798		return nil
179799	}
179800	err = iter.page.NextWithContext(ctx)
179801	if err != nil {
179802		iter.i--
179803		return err
179804	}
179805	iter.i = 0
179806	return nil
179807}
179808
179809// Next advances to the next value.  If there was an error making
179810// the request the iterator does not advance and the error is returned.
179811// Deprecated: Use NextWithContext() instead.
179812func (iter *TriggerListResponseIterator) Next() error {
179813	return iter.NextWithContext(context.Background())
179814}
179815
179816// NotDone returns true if the enumeration should be started or is not yet complete.
179817func (iter TriggerListResponseIterator) NotDone() bool {
179818	return iter.page.NotDone() && iter.i < len(iter.page.Values())
179819}
179820
179821// Response returns the raw server response from the last page request.
179822func (iter TriggerListResponseIterator) Response() TriggerListResponse {
179823	return iter.page.Response()
179824}
179825
179826// Value returns the current value or a zero-initialized value if the
179827// iterator has advanced beyond the end of the collection.
179828func (iter TriggerListResponseIterator) Value() TriggerResource {
179829	if !iter.page.NotDone() {
179830		return TriggerResource{}
179831	}
179832	return iter.page.Values()[iter.i]
179833}
179834
179835// Creates a new instance of the TriggerListResponseIterator type.
179836func NewTriggerListResponseIterator(page TriggerListResponsePage) TriggerListResponseIterator {
179837	return TriggerListResponseIterator{page: page}
179838}
179839
179840// IsEmpty returns true if the ListResult contains no values.
179841func (tlr TriggerListResponse) IsEmpty() bool {
179842	return tlr.Value == nil || len(*tlr.Value) == 0
179843}
179844
179845// triggerListResponsePreparer prepares a request to retrieve the next set of results.
179846// It returns nil if no more results exist.
179847func (tlr TriggerListResponse) triggerListResponsePreparer(ctx context.Context) (*http.Request, error) {
179848	if tlr.NextLink == nil || len(to.String(tlr.NextLink)) < 1 {
179849		return nil, nil
179850	}
179851	return autorest.Prepare((&http.Request{}).WithContext(ctx),
179852		autorest.AsJSON(),
179853		autorest.AsGet(),
179854		autorest.WithBaseURL(to.String(tlr.NextLink)))
179855}
179856
179857// TriggerListResponsePage contains a page of TriggerResource values.
179858type TriggerListResponsePage struct {
179859	fn  func(context.Context, TriggerListResponse) (TriggerListResponse, error)
179860	tlr TriggerListResponse
179861}
179862
179863// NextWithContext advances to the next page of values.  If there was an error making
179864// the request the page does not advance and the error is returned.
179865func (page *TriggerListResponsePage) NextWithContext(ctx context.Context) (err error) {
179866	if tracing.IsEnabled() {
179867		ctx = tracing.StartSpan(ctx, fqdn+"/TriggerListResponsePage.NextWithContext")
179868		defer func() {
179869			sc := -1
179870			if page.Response().Response.Response != nil {
179871				sc = page.Response().Response.Response.StatusCode
179872			}
179873			tracing.EndSpan(ctx, sc, err)
179874		}()
179875	}
179876	next, err := page.fn(ctx, page.tlr)
179877	if err != nil {
179878		return err
179879	}
179880	page.tlr = next
179881	return nil
179882}
179883
179884// Next advances to the next page of values.  If there was an error making
179885// the request the page does not advance and the error is returned.
179886// Deprecated: Use NextWithContext() instead.
179887func (page *TriggerListResponsePage) Next() error {
179888	return page.NextWithContext(context.Background())
179889}
179890
179891// NotDone returns true if the page enumeration should be started or is not yet complete.
179892func (page TriggerListResponsePage) NotDone() bool {
179893	return !page.tlr.IsEmpty()
179894}
179895
179896// Response returns the raw server response from the last page request.
179897func (page TriggerListResponsePage) Response() TriggerListResponse {
179898	return page.tlr
179899}
179900
179901// Values returns the slice of values for the current page or nil if there are no values.
179902func (page TriggerListResponsePage) Values() []TriggerResource {
179903	if page.tlr.IsEmpty() {
179904		return nil
179905	}
179906	return *page.tlr.Value
179907}
179908
179909// Creates a new instance of the TriggerListResponsePage type.
179910func NewTriggerListResponsePage(getNextPage func(context.Context, TriggerListResponse) (TriggerListResponse, error)) TriggerListResponsePage {
179911	return TriggerListResponsePage{fn: getNextPage}
179912}
179913
179914// TriggerPipelineReference pipeline that needs to be triggered with the given parameters.
179915type TriggerPipelineReference struct {
179916	// PipelineReference - Pipeline reference.
179917	PipelineReference *PipelineReference `json:"pipelineReference,omitempty"`
179918	// Parameters - Pipeline parameters.
179919	Parameters map[string]interface{} `json:"parameters"`
179920}
179921
179922// MarshalJSON is the custom marshaler for TriggerPipelineReference.
179923func (tpr TriggerPipelineReference) MarshalJSON() ([]byte, error) {
179924	objectMap := make(map[string]interface{})
179925	if tpr.PipelineReference != nil {
179926		objectMap["pipelineReference"] = tpr.PipelineReference
179927	}
179928	if tpr.Parameters != nil {
179929		objectMap["parameters"] = tpr.Parameters
179930	}
179931	return json.Marshal(objectMap)
179932}
179933
179934// TriggerReference trigger reference type.
179935type TriggerReference struct {
179936	// Type - Trigger reference type.
179937	Type *string `json:"type,omitempty"`
179938	// ReferenceName - Reference trigger name.
179939	ReferenceName *string `json:"referenceName,omitempty"`
179940}
179941
179942// TriggerResource trigger resource type.
179943type TriggerResource struct {
179944	autorest.Response `json:"-"`
179945	// Properties - Properties of the trigger.
179946	Properties BasicTrigger `json:"properties,omitempty"`
179947	// ID - READ-ONLY; The resource identifier.
179948	ID *string `json:"id,omitempty"`
179949	// Name - READ-ONLY; The resource name.
179950	Name *string `json:"name,omitempty"`
179951	// Type - READ-ONLY; The resource type.
179952	Type *string `json:"type,omitempty"`
179953	// Etag - READ-ONLY; Etag identifies change in the resource.
179954	Etag *string `json:"etag,omitempty"`
179955}
179956
179957// UnmarshalJSON is the custom unmarshaler for TriggerResource struct.
179958func (tr *TriggerResource) UnmarshalJSON(body []byte) error {
179959	var m map[string]*json.RawMessage
179960	err := json.Unmarshal(body, &m)
179961	if err != nil {
179962		return err
179963	}
179964	for k, v := range m {
179965		switch k {
179966		case "properties":
179967			if v != nil {
179968				properties, err := unmarshalBasicTrigger(*v)
179969				if err != nil {
179970					return err
179971				}
179972				tr.Properties = properties
179973			}
179974		case "id":
179975			if v != nil {
179976				var ID string
179977				err = json.Unmarshal(*v, &ID)
179978				if err != nil {
179979					return err
179980				}
179981				tr.ID = &ID
179982			}
179983		case "name":
179984			if v != nil {
179985				var name string
179986				err = json.Unmarshal(*v, &name)
179987				if err != nil {
179988					return err
179989				}
179990				tr.Name = &name
179991			}
179992		case "type":
179993			if v != nil {
179994				var typeVar string
179995				err = json.Unmarshal(*v, &typeVar)
179996				if err != nil {
179997					return err
179998				}
179999				tr.Type = &typeVar
180000			}
180001		case "etag":
180002			if v != nil {
180003				var etag string
180004				err = json.Unmarshal(*v, &etag)
180005				if err != nil {
180006					return err
180007				}
180008				tr.Etag = &etag
180009			}
180010		}
180011	}
180012
180013	return nil
180014}
180015
180016// TriggerRun trigger runs.
180017type TriggerRun struct {
180018	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
180019	AdditionalProperties map[string]interface{} `json:""`
180020	// TriggerRunID - READ-ONLY; Trigger run id.
180021	TriggerRunID *string `json:"triggerRunId,omitempty"`
180022	// TriggerName - READ-ONLY; Trigger name.
180023	TriggerName *string `json:"triggerName,omitempty"`
180024	// TriggerType - READ-ONLY; Trigger type.
180025	TriggerType *string `json:"triggerType,omitempty"`
180026	// TriggerRunTimestamp - READ-ONLY; Trigger run start time.
180027	TriggerRunTimestamp *date.Time `json:"triggerRunTimestamp,omitempty"`
180028	// Status - READ-ONLY; Trigger run status. Possible values include: 'TriggerRunStatusSucceeded', 'TriggerRunStatusFailed', 'TriggerRunStatusInprogress'
180029	Status TriggerRunStatus `json:"status,omitempty"`
180030	// Message - READ-ONLY; Trigger error message.
180031	Message *string `json:"message,omitempty"`
180032	// Properties - READ-ONLY; List of property name and value related to trigger run. Name, value pair depends on type of trigger.
180033	Properties map[string]*string `json:"properties"`
180034	// TriggeredPipelines - READ-ONLY; List of pipeline name and run Id triggered by the trigger run.
180035	TriggeredPipelines map[string]*string `json:"triggeredPipelines"`
180036}
180037
180038// MarshalJSON is the custom marshaler for TriggerRun.
180039func (tr TriggerRun) MarshalJSON() ([]byte, error) {
180040	objectMap := make(map[string]interface{})
180041	for k, v := range tr.AdditionalProperties {
180042		objectMap[k] = v
180043	}
180044	return json.Marshal(objectMap)
180045}
180046
180047// UnmarshalJSON is the custom unmarshaler for TriggerRun struct.
180048func (tr *TriggerRun) UnmarshalJSON(body []byte) error {
180049	var m map[string]*json.RawMessage
180050	err := json.Unmarshal(body, &m)
180051	if err != nil {
180052		return err
180053	}
180054	for k, v := range m {
180055		switch k {
180056		default:
180057			if v != nil {
180058				var additionalProperties interface{}
180059				err = json.Unmarshal(*v, &additionalProperties)
180060				if err != nil {
180061					return err
180062				}
180063				if tr.AdditionalProperties == nil {
180064					tr.AdditionalProperties = make(map[string]interface{})
180065				}
180066				tr.AdditionalProperties[k] = additionalProperties
180067			}
180068		case "triggerRunId":
180069			if v != nil {
180070				var triggerRunID string
180071				err = json.Unmarshal(*v, &triggerRunID)
180072				if err != nil {
180073					return err
180074				}
180075				tr.TriggerRunID = &triggerRunID
180076			}
180077		case "triggerName":
180078			if v != nil {
180079				var triggerName string
180080				err = json.Unmarshal(*v, &triggerName)
180081				if err != nil {
180082					return err
180083				}
180084				tr.TriggerName = &triggerName
180085			}
180086		case "triggerType":
180087			if v != nil {
180088				var triggerType string
180089				err = json.Unmarshal(*v, &triggerType)
180090				if err != nil {
180091					return err
180092				}
180093				tr.TriggerType = &triggerType
180094			}
180095		case "triggerRunTimestamp":
180096			if v != nil {
180097				var triggerRunTimestamp date.Time
180098				err = json.Unmarshal(*v, &triggerRunTimestamp)
180099				if err != nil {
180100					return err
180101				}
180102				tr.TriggerRunTimestamp = &triggerRunTimestamp
180103			}
180104		case "status":
180105			if v != nil {
180106				var status TriggerRunStatus
180107				err = json.Unmarshal(*v, &status)
180108				if err != nil {
180109					return err
180110				}
180111				tr.Status = status
180112			}
180113		case "message":
180114			if v != nil {
180115				var message string
180116				err = json.Unmarshal(*v, &message)
180117				if err != nil {
180118					return err
180119				}
180120				tr.Message = &message
180121			}
180122		case "properties":
180123			if v != nil {
180124				var properties map[string]*string
180125				err = json.Unmarshal(*v, &properties)
180126				if err != nil {
180127					return err
180128				}
180129				tr.Properties = properties
180130			}
180131		case "triggeredPipelines":
180132			if v != nil {
180133				var triggeredPipelines map[string]*string
180134				err = json.Unmarshal(*v, &triggeredPipelines)
180135				if err != nil {
180136					return err
180137				}
180138				tr.TriggeredPipelines = triggeredPipelines
180139			}
180140		}
180141	}
180142
180143	return nil
180144}
180145
180146// TriggerRunsQueryResponse a list of trigger runs.
180147type TriggerRunsQueryResponse struct {
180148	autorest.Response `json:"-"`
180149	// Value - List of trigger runs.
180150	Value *[]TriggerRun `json:"value,omitempty"`
180151	// ContinuationToken - The continuation token for getting the next page of results, if any remaining results exist, null otherwise.
180152	ContinuationToken *string `json:"continuationToken,omitempty"`
180153}
180154
180155// TriggersStartFuture an abstraction for monitoring and retrieving the results of a long-running
180156// operation.
180157type TriggersStartFuture struct {
180158	azure.Future
180159}
180160
180161// Result returns the result of the asynchronous operation.
180162// If the operation has not completed it will return an error.
180163func (future *TriggersStartFuture) Result(client TriggersClient) (ar autorest.Response, err error) {
180164	var done bool
180165	done, err = future.DoneWithContext(context.Background(), client)
180166	if err != nil {
180167		err = autorest.NewErrorWithError(err, "datafactory.TriggersStartFuture", "Result", future.Response(), "Polling failure")
180168		return
180169	}
180170	if !done {
180171		err = azure.NewAsyncOpIncompleteError("datafactory.TriggersStartFuture")
180172		return
180173	}
180174	ar.Response = future.Response()
180175	return
180176}
180177
180178// TriggersStopFuture an abstraction for monitoring and retrieving the results of a long-running operation.
180179type TriggersStopFuture struct {
180180	azure.Future
180181}
180182
180183// Result returns the result of the asynchronous operation.
180184// If the operation has not completed it will return an error.
180185func (future *TriggersStopFuture) Result(client TriggersClient) (ar autorest.Response, err error) {
180186	var done bool
180187	done, err = future.DoneWithContext(context.Background(), client)
180188	if err != nil {
180189		err = autorest.NewErrorWithError(err, "datafactory.TriggersStopFuture", "Result", future.Response(), "Polling failure")
180190		return
180191	}
180192	if !done {
180193		err = azure.NewAsyncOpIncompleteError("datafactory.TriggersStopFuture")
180194		return
180195	}
180196	ar.Response = future.Response()
180197	return
180198}
180199
180200// TumblingWindowTrigger trigger that schedules pipeline runs for all fixed time interval windows from a
180201// start time without gaps and also supports backfill scenarios (when start time is in the past).
180202type TumblingWindowTrigger struct {
180203	// Pipeline - Pipeline for which runs are created when an event is fired for trigger window that is ready.
180204	Pipeline *TriggerPipelineReference `json:"pipeline,omitempty"`
180205	// TumblingWindowTriggerTypeProperties - Tumbling Window Trigger properties.
180206	*TumblingWindowTriggerTypeProperties `json:"typeProperties,omitempty"`
180207	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
180208	AdditionalProperties map[string]interface{} `json:""`
180209	// Description - Trigger description.
180210	Description *string `json:"description,omitempty"`
180211	// RuntimeState - READ-ONLY; Indicates if trigger is running or not. Updated when Start/Stop APIs are called on the Trigger. Possible values include: 'Started', 'Stopped', 'Disabled'
180212	RuntimeState TriggerRuntimeState `json:"runtimeState,omitempty"`
180213	// Annotations - List of tags that can be used for describing the trigger.
180214	Annotations *[]interface{} `json:"annotations,omitempty"`
180215	// Type - Possible values include: 'TypeTrigger', 'TypeRerunTumblingWindowTrigger', 'TypeTumblingWindowTrigger', 'TypeBlobEventsTrigger', 'TypeBlobTrigger', 'TypeScheduleTrigger', 'TypeMultiplePipelineTrigger'
180216	Type TypeBasicTrigger `json:"type,omitempty"`
180217}
180218
180219// MarshalJSON is the custom marshaler for TumblingWindowTrigger.
180220func (twt TumblingWindowTrigger) MarshalJSON() ([]byte, error) {
180221	twt.Type = TypeTumblingWindowTrigger
180222	objectMap := make(map[string]interface{})
180223	if twt.Pipeline != nil {
180224		objectMap["pipeline"] = twt.Pipeline
180225	}
180226	if twt.TumblingWindowTriggerTypeProperties != nil {
180227		objectMap["typeProperties"] = twt.TumblingWindowTriggerTypeProperties
180228	}
180229	if twt.Description != nil {
180230		objectMap["description"] = twt.Description
180231	}
180232	if twt.Annotations != nil {
180233		objectMap["annotations"] = twt.Annotations
180234	}
180235	if twt.Type != "" {
180236		objectMap["type"] = twt.Type
180237	}
180238	for k, v := range twt.AdditionalProperties {
180239		objectMap[k] = v
180240	}
180241	return json.Marshal(objectMap)
180242}
180243
180244// AsRerunTumblingWindowTrigger is the BasicTrigger implementation for TumblingWindowTrigger.
180245func (twt TumblingWindowTrigger) AsRerunTumblingWindowTrigger() (*RerunTumblingWindowTrigger, bool) {
180246	return nil, false
180247}
180248
180249// AsTumblingWindowTrigger is the BasicTrigger implementation for TumblingWindowTrigger.
180250func (twt TumblingWindowTrigger) AsTumblingWindowTrigger() (*TumblingWindowTrigger, bool) {
180251	return &twt, true
180252}
180253
180254// AsBlobEventsTrigger is the BasicTrigger implementation for TumblingWindowTrigger.
180255func (twt TumblingWindowTrigger) AsBlobEventsTrigger() (*BlobEventsTrigger, bool) {
180256	return nil, false
180257}
180258
180259// AsBlobTrigger is the BasicTrigger implementation for TumblingWindowTrigger.
180260func (twt TumblingWindowTrigger) AsBlobTrigger() (*BlobTrigger, bool) {
180261	return nil, false
180262}
180263
180264// AsScheduleTrigger is the BasicTrigger implementation for TumblingWindowTrigger.
180265func (twt TumblingWindowTrigger) AsScheduleTrigger() (*ScheduleTrigger, bool) {
180266	return nil, false
180267}
180268
180269// AsMultiplePipelineTrigger is the BasicTrigger implementation for TumblingWindowTrigger.
180270func (twt TumblingWindowTrigger) AsMultiplePipelineTrigger() (*MultiplePipelineTrigger, bool) {
180271	return nil, false
180272}
180273
180274// AsBasicMultiplePipelineTrigger is the BasicTrigger implementation for TumblingWindowTrigger.
180275func (twt TumblingWindowTrigger) AsBasicMultiplePipelineTrigger() (BasicMultiplePipelineTrigger, bool) {
180276	return nil, false
180277}
180278
180279// AsTrigger is the BasicTrigger implementation for TumblingWindowTrigger.
180280func (twt TumblingWindowTrigger) AsTrigger() (*Trigger, bool) {
180281	return nil, false
180282}
180283
180284// AsBasicTrigger is the BasicTrigger implementation for TumblingWindowTrigger.
180285func (twt TumblingWindowTrigger) AsBasicTrigger() (BasicTrigger, bool) {
180286	return &twt, true
180287}
180288
180289// UnmarshalJSON is the custom unmarshaler for TumblingWindowTrigger struct.
180290func (twt *TumblingWindowTrigger) UnmarshalJSON(body []byte) error {
180291	var m map[string]*json.RawMessage
180292	err := json.Unmarshal(body, &m)
180293	if err != nil {
180294		return err
180295	}
180296	for k, v := range m {
180297		switch k {
180298		case "pipeline":
180299			if v != nil {
180300				var pipeline TriggerPipelineReference
180301				err = json.Unmarshal(*v, &pipeline)
180302				if err != nil {
180303					return err
180304				}
180305				twt.Pipeline = &pipeline
180306			}
180307		case "typeProperties":
180308			if v != nil {
180309				var tumblingWindowTriggerTypeProperties TumblingWindowTriggerTypeProperties
180310				err = json.Unmarshal(*v, &tumblingWindowTriggerTypeProperties)
180311				if err != nil {
180312					return err
180313				}
180314				twt.TumblingWindowTriggerTypeProperties = &tumblingWindowTriggerTypeProperties
180315			}
180316		default:
180317			if v != nil {
180318				var additionalProperties interface{}
180319				err = json.Unmarshal(*v, &additionalProperties)
180320				if err != nil {
180321					return err
180322				}
180323				if twt.AdditionalProperties == nil {
180324					twt.AdditionalProperties = make(map[string]interface{})
180325				}
180326				twt.AdditionalProperties[k] = additionalProperties
180327			}
180328		case "description":
180329			if v != nil {
180330				var description string
180331				err = json.Unmarshal(*v, &description)
180332				if err != nil {
180333					return err
180334				}
180335				twt.Description = &description
180336			}
180337		case "runtimeState":
180338			if v != nil {
180339				var runtimeState TriggerRuntimeState
180340				err = json.Unmarshal(*v, &runtimeState)
180341				if err != nil {
180342					return err
180343				}
180344				twt.RuntimeState = runtimeState
180345			}
180346		case "annotations":
180347			if v != nil {
180348				var annotations []interface{}
180349				err = json.Unmarshal(*v, &annotations)
180350				if err != nil {
180351					return err
180352				}
180353				twt.Annotations = &annotations
180354			}
180355		case "type":
180356			if v != nil {
180357				var typeVar TypeBasicTrigger
180358				err = json.Unmarshal(*v, &typeVar)
180359				if err != nil {
180360					return err
180361				}
180362				twt.Type = typeVar
180363			}
180364		}
180365	}
180366
180367	return nil
180368}
180369
180370// TumblingWindowTriggerDependencyReference referenced tumbling window trigger dependency.
180371type TumblingWindowTriggerDependencyReference struct {
180372	// Offset - Timespan applied to the start time of a tumbling window when evaluating dependency.
180373	Offset *string `json:"offset,omitempty"`
180374	// Size - The size of the window when evaluating the dependency. If undefined the frequency of the tumbling window will be used.
180375	Size *string `json:"size,omitempty"`
180376	// ReferenceTrigger - Referenced trigger.
180377	ReferenceTrigger *TriggerReference `json:"referenceTrigger,omitempty"`
180378	// Type - Possible values include: 'TypeDependencyReference', 'TypeSelfDependencyTumblingWindowTriggerReference', 'TypeTumblingWindowTriggerDependencyReference', 'TypeTriggerDependencyReference'
180379	Type TypeBasicDependencyReference `json:"type,omitempty"`
180380}
180381
180382// MarshalJSON is the custom marshaler for TumblingWindowTriggerDependencyReference.
180383func (twtdr TumblingWindowTriggerDependencyReference) MarshalJSON() ([]byte, error) {
180384	twtdr.Type = TypeTumblingWindowTriggerDependencyReference
180385	objectMap := make(map[string]interface{})
180386	if twtdr.Offset != nil {
180387		objectMap["offset"] = twtdr.Offset
180388	}
180389	if twtdr.Size != nil {
180390		objectMap["size"] = twtdr.Size
180391	}
180392	if twtdr.ReferenceTrigger != nil {
180393		objectMap["referenceTrigger"] = twtdr.ReferenceTrigger
180394	}
180395	if twtdr.Type != "" {
180396		objectMap["type"] = twtdr.Type
180397	}
180398	return json.Marshal(objectMap)
180399}
180400
180401// AsSelfDependencyTumblingWindowTriggerReference is the BasicDependencyReference implementation for TumblingWindowTriggerDependencyReference.
180402func (twtdr TumblingWindowTriggerDependencyReference) AsSelfDependencyTumblingWindowTriggerReference() (*SelfDependencyTumblingWindowTriggerReference, bool) {
180403	return nil, false
180404}
180405
180406// AsTumblingWindowTriggerDependencyReference is the BasicDependencyReference implementation for TumblingWindowTriggerDependencyReference.
180407func (twtdr TumblingWindowTriggerDependencyReference) AsTumblingWindowTriggerDependencyReference() (*TumblingWindowTriggerDependencyReference, bool) {
180408	return &twtdr, true
180409}
180410
180411// AsTriggerDependencyReference is the BasicDependencyReference implementation for TumblingWindowTriggerDependencyReference.
180412func (twtdr TumblingWindowTriggerDependencyReference) AsTriggerDependencyReference() (*TriggerDependencyReference, bool) {
180413	return nil, false
180414}
180415
180416// AsBasicTriggerDependencyReference is the BasicDependencyReference implementation for TumblingWindowTriggerDependencyReference.
180417func (twtdr TumblingWindowTriggerDependencyReference) AsBasicTriggerDependencyReference() (BasicTriggerDependencyReference, bool) {
180418	return &twtdr, true
180419}
180420
180421// AsDependencyReference is the BasicDependencyReference implementation for TumblingWindowTriggerDependencyReference.
180422func (twtdr TumblingWindowTriggerDependencyReference) AsDependencyReference() (*DependencyReference, bool) {
180423	return nil, false
180424}
180425
180426// AsBasicDependencyReference is the BasicDependencyReference implementation for TumblingWindowTriggerDependencyReference.
180427func (twtdr TumblingWindowTriggerDependencyReference) AsBasicDependencyReference() (BasicDependencyReference, bool) {
180428	return &twtdr, true
180429}
180430
180431// TumblingWindowTriggerTypeProperties tumbling Window Trigger properties.
180432type TumblingWindowTriggerTypeProperties struct {
180433	// Frequency - The frequency of the time windows. Possible values include: 'TumblingWindowFrequencyMinute', 'TumblingWindowFrequencyHour'
180434	Frequency TumblingWindowFrequency `json:"frequency,omitempty"`
180435	// Interval - The interval of the time windows. The minimum interval allowed is 15 Minutes.
180436	Interval *int32 `json:"interval,omitempty"`
180437	// 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.
180438	StartTime *date.Time `json:"startTime,omitempty"`
180439	// 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.
180440	EndTime *date.Time `json:"endTime,omitempty"`
180441	// 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])).
180442	Delay interface{} `json:"delay,omitempty"`
180443	// MaxConcurrency - The max number of parallel time windows (ready for execution) for which a new run is triggered.
180444	MaxConcurrency *int32 `json:"maxConcurrency,omitempty"`
180445	// RetryPolicy - Retry policy that will be applied for failed pipeline runs.
180446	RetryPolicy *RetryPolicy `json:"retryPolicy,omitempty"`
180447	// DependsOn - Triggers that this trigger depends on. Only tumbling window triggers are supported.
180448	DependsOn *[]BasicDependencyReference `json:"dependsOn,omitempty"`
180449}
180450
180451// UnmarshalJSON is the custom unmarshaler for TumblingWindowTriggerTypeProperties struct.
180452func (twtP *TumblingWindowTriggerTypeProperties) UnmarshalJSON(body []byte) error {
180453	var m map[string]*json.RawMessage
180454	err := json.Unmarshal(body, &m)
180455	if err != nil {
180456		return err
180457	}
180458	for k, v := range m {
180459		switch k {
180460		case "frequency":
180461			if v != nil {
180462				var frequency TumblingWindowFrequency
180463				err = json.Unmarshal(*v, &frequency)
180464				if err != nil {
180465					return err
180466				}
180467				twtP.Frequency = frequency
180468			}
180469		case "interval":
180470			if v != nil {
180471				var interval int32
180472				err = json.Unmarshal(*v, &interval)
180473				if err != nil {
180474					return err
180475				}
180476				twtP.Interval = &interval
180477			}
180478		case "startTime":
180479			if v != nil {
180480				var startTime date.Time
180481				err = json.Unmarshal(*v, &startTime)
180482				if err != nil {
180483					return err
180484				}
180485				twtP.StartTime = &startTime
180486			}
180487		case "endTime":
180488			if v != nil {
180489				var endTime date.Time
180490				err = json.Unmarshal(*v, &endTime)
180491				if err != nil {
180492					return err
180493				}
180494				twtP.EndTime = &endTime
180495			}
180496		case "delay":
180497			if v != nil {
180498				var delay interface{}
180499				err = json.Unmarshal(*v, &delay)
180500				if err != nil {
180501					return err
180502				}
180503				twtP.Delay = delay
180504			}
180505		case "maxConcurrency":
180506			if v != nil {
180507				var maxConcurrency int32
180508				err = json.Unmarshal(*v, &maxConcurrency)
180509				if err != nil {
180510					return err
180511				}
180512				twtP.MaxConcurrency = &maxConcurrency
180513			}
180514		case "retryPolicy":
180515			if v != nil {
180516				var retryPolicy RetryPolicy
180517				err = json.Unmarshal(*v, &retryPolicy)
180518				if err != nil {
180519					return err
180520				}
180521				twtP.RetryPolicy = &retryPolicy
180522			}
180523		case "dependsOn":
180524			if v != nil {
180525				dependsOn, err := unmarshalBasicDependencyReferenceArray(*v)
180526				if err != nil {
180527					return err
180528				}
180529				twtP.DependsOn = &dependsOn
180530			}
180531		}
180532	}
180533
180534	return nil
180535}
180536
180537// UntilActivity this activity executes inner activities until the specified boolean expression results to
180538// true or timeout is reached, whichever is earlier.
180539type UntilActivity struct {
180540	// UntilActivityTypeProperties - Until activity properties.
180541	*UntilActivityTypeProperties `json:"typeProperties,omitempty"`
180542	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
180543	AdditionalProperties map[string]interface{} `json:""`
180544	// Name - Activity name.
180545	Name *string `json:"name,omitempty"`
180546	// Description - Activity description.
180547	Description *string `json:"description,omitempty"`
180548	// DependsOn - Activity depends on condition.
180549	DependsOn *[]ActivityDependency `json:"dependsOn,omitempty"`
180550	// UserProperties - Activity user properties.
180551	UserProperties *[]UserProperty `json:"userProperties,omitempty"`
180552	// Type - Possible values include: 'TypeActivity', 'TypeAzureFunctionActivity', 'TypeDatabricksSparkPython', 'TypeDatabricksSparkJar', 'TypeDatabricksNotebook', 'TypeDataLakeAnalyticsUSQL', 'TypeAzureMLUpdateResource', 'TypeAzureMLBatchExecution', 'TypeGetMetadata', 'TypeWebActivity', 'TypeLookup', 'TypeAzureDataExplorerCommand', 'TypeDelete', 'TypeSQLServerStoredProcedure', 'TypeCustom', 'TypeExecuteSSISPackage', 'TypeHDInsightSpark', 'TypeHDInsightStreaming', 'TypeHDInsightMapReduce', 'TypeHDInsightPig', 'TypeHDInsightHive', 'TypeCopy', 'TypeExecution', 'TypeWebHook', 'TypeAppendVariable', 'TypeSetVariable', 'TypeFilter', 'TypeValidation', 'TypeUntil', 'TypeWait', 'TypeForEach', 'TypeIfCondition', 'TypeExecutePipeline', 'TypeContainer'
180553	Type TypeBasicActivity `json:"type,omitempty"`
180554}
180555
180556// MarshalJSON is the custom marshaler for UntilActivity.
180557func (ua UntilActivity) MarshalJSON() ([]byte, error) {
180558	ua.Type = TypeUntil
180559	objectMap := make(map[string]interface{})
180560	if ua.UntilActivityTypeProperties != nil {
180561		objectMap["typeProperties"] = ua.UntilActivityTypeProperties
180562	}
180563	if ua.Name != nil {
180564		objectMap["name"] = ua.Name
180565	}
180566	if ua.Description != nil {
180567		objectMap["description"] = ua.Description
180568	}
180569	if ua.DependsOn != nil {
180570		objectMap["dependsOn"] = ua.DependsOn
180571	}
180572	if ua.UserProperties != nil {
180573		objectMap["userProperties"] = ua.UserProperties
180574	}
180575	if ua.Type != "" {
180576		objectMap["type"] = ua.Type
180577	}
180578	for k, v := range ua.AdditionalProperties {
180579		objectMap[k] = v
180580	}
180581	return json.Marshal(objectMap)
180582}
180583
180584// AsAzureFunctionActivity is the BasicActivity implementation for UntilActivity.
180585func (ua UntilActivity) AsAzureFunctionActivity() (*AzureFunctionActivity, bool) {
180586	return nil, false
180587}
180588
180589// AsDatabricksSparkPythonActivity is the BasicActivity implementation for UntilActivity.
180590func (ua UntilActivity) AsDatabricksSparkPythonActivity() (*DatabricksSparkPythonActivity, bool) {
180591	return nil, false
180592}
180593
180594// AsDatabricksSparkJarActivity is the BasicActivity implementation for UntilActivity.
180595func (ua UntilActivity) AsDatabricksSparkJarActivity() (*DatabricksSparkJarActivity, bool) {
180596	return nil, false
180597}
180598
180599// AsDatabricksNotebookActivity is the BasicActivity implementation for UntilActivity.
180600func (ua UntilActivity) AsDatabricksNotebookActivity() (*DatabricksNotebookActivity, bool) {
180601	return nil, false
180602}
180603
180604// AsDataLakeAnalyticsUSQLActivity is the BasicActivity implementation for UntilActivity.
180605func (ua UntilActivity) AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalyticsUSQLActivity, bool) {
180606	return nil, false
180607}
180608
180609// AsAzureMLUpdateResourceActivity is the BasicActivity implementation for UntilActivity.
180610func (ua UntilActivity) AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool) {
180611	return nil, false
180612}
180613
180614// AsAzureMLBatchExecutionActivity is the BasicActivity implementation for UntilActivity.
180615func (ua UntilActivity) AsAzureMLBatchExecutionActivity() (*AzureMLBatchExecutionActivity, bool) {
180616	return nil, false
180617}
180618
180619// AsGetMetadataActivity is the BasicActivity implementation for UntilActivity.
180620func (ua UntilActivity) AsGetMetadataActivity() (*GetMetadataActivity, bool) {
180621	return nil, false
180622}
180623
180624// AsWebActivity is the BasicActivity implementation for UntilActivity.
180625func (ua UntilActivity) AsWebActivity() (*WebActivity, bool) {
180626	return nil, false
180627}
180628
180629// AsLookupActivity is the BasicActivity implementation for UntilActivity.
180630func (ua UntilActivity) AsLookupActivity() (*LookupActivity, bool) {
180631	return nil, false
180632}
180633
180634// AsAzureDataExplorerCommandActivity is the BasicActivity implementation for UntilActivity.
180635func (ua UntilActivity) AsAzureDataExplorerCommandActivity() (*AzureDataExplorerCommandActivity, bool) {
180636	return nil, false
180637}
180638
180639// AsDeleteActivity is the BasicActivity implementation for UntilActivity.
180640func (ua UntilActivity) AsDeleteActivity() (*DeleteActivity, bool) {
180641	return nil, false
180642}
180643
180644// AsSQLServerStoredProcedureActivity is the BasicActivity implementation for UntilActivity.
180645func (ua UntilActivity) AsSQLServerStoredProcedureActivity() (*SQLServerStoredProcedureActivity, bool) {
180646	return nil, false
180647}
180648
180649// AsCustomActivity is the BasicActivity implementation for UntilActivity.
180650func (ua UntilActivity) AsCustomActivity() (*CustomActivity, bool) {
180651	return nil, false
180652}
180653
180654// AsExecuteSSISPackageActivity is the BasicActivity implementation for UntilActivity.
180655func (ua UntilActivity) AsExecuteSSISPackageActivity() (*ExecuteSSISPackageActivity, bool) {
180656	return nil, false
180657}
180658
180659// AsHDInsightSparkActivity is the BasicActivity implementation for UntilActivity.
180660func (ua UntilActivity) AsHDInsightSparkActivity() (*HDInsightSparkActivity, bool) {
180661	return nil, false
180662}
180663
180664// AsHDInsightStreamingActivity is the BasicActivity implementation for UntilActivity.
180665func (ua UntilActivity) AsHDInsightStreamingActivity() (*HDInsightStreamingActivity, bool) {
180666	return nil, false
180667}
180668
180669// AsHDInsightMapReduceActivity is the BasicActivity implementation for UntilActivity.
180670func (ua UntilActivity) AsHDInsightMapReduceActivity() (*HDInsightMapReduceActivity, bool) {
180671	return nil, false
180672}
180673
180674// AsHDInsightPigActivity is the BasicActivity implementation for UntilActivity.
180675func (ua UntilActivity) AsHDInsightPigActivity() (*HDInsightPigActivity, bool) {
180676	return nil, false
180677}
180678
180679// AsHDInsightHiveActivity is the BasicActivity implementation for UntilActivity.
180680func (ua UntilActivity) AsHDInsightHiveActivity() (*HDInsightHiveActivity, bool) {
180681	return nil, false
180682}
180683
180684// AsCopyActivity is the BasicActivity implementation for UntilActivity.
180685func (ua UntilActivity) AsCopyActivity() (*CopyActivity, bool) {
180686	return nil, false
180687}
180688
180689// AsExecutionActivity is the BasicActivity implementation for UntilActivity.
180690func (ua UntilActivity) AsExecutionActivity() (*ExecutionActivity, bool) {
180691	return nil, false
180692}
180693
180694// AsBasicExecutionActivity is the BasicActivity implementation for UntilActivity.
180695func (ua UntilActivity) AsBasicExecutionActivity() (BasicExecutionActivity, bool) {
180696	return nil, false
180697}
180698
180699// AsWebHookActivity is the BasicActivity implementation for UntilActivity.
180700func (ua UntilActivity) AsWebHookActivity() (*WebHookActivity, bool) {
180701	return nil, false
180702}
180703
180704// AsAppendVariableActivity is the BasicActivity implementation for UntilActivity.
180705func (ua UntilActivity) AsAppendVariableActivity() (*AppendVariableActivity, bool) {
180706	return nil, false
180707}
180708
180709// AsSetVariableActivity is the BasicActivity implementation for UntilActivity.
180710func (ua UntilActivity) AsSetVariableActivity() (*SetVariableActivity, bool) {
180711	return nil, false
180712}
180713
180714// AsFilterActivity is the BasicActivity implementation for UntilActivity.
180715func (ua UntilActivity) AsFilterActivity() (*FilterActivity, bool) {
180716	return nil, false
180717}
180718
180719// AsValidationActivity is the BasicActivity implementation for UntilActivity.
180720func (ua UntilActivity) AsValidationActivity() (*ValidationActivity, bool) {
180721	return nil, false
180722}
180723
180724// AsUntilActivity is the BasicActivity implementation for UntilActivity.
180725func (ua UntilActivity) AsUntilActivity() (*UntilActivity, bool) {
180726	return &ua, true
180727}
180728
180729// AsWaitActivity is the BasicActivity implementation for UntilActivity.
180730func (ua UntilActivity) AsWaitActivity() (*WaitActivity, bool) {
180731	return nil, false
180732}
180733
180734// AsForEachActivity is the BasicActivity implementation for UntilActivity.
180735func (ua UntilActivity) AsForEachActivity() (*ForEachActivity, bool) {
180736	return nil, false
180737}
180738
180739// AsIfConditionActivity is the BasicActivity implementation for UntilActivity.
180740func (ua UntilActivity) AsIfConditionActivity() (*IfConditionActivity, bool) {
180741	return nil, false
180742}
180743
180744// AsExecutePipelineActivity is the BasicActivity implementation for UntilActivity.
180745func (ua UntilActivity) AsExecutePipelineActivity() (*ExecutePipelineActivity, bool) {
180746	return nil, false
180747}
180748
180749// AsControlActivity is the BasicActivity implementation for UntilActivity.
180750func (ua UntilActivity) AsControlActivity() (*ControlActivity, bool) {
180751	return nil, false
180752}
180753
180754// AsBasicControlActivity is the BasicActivity implementation for UntilActivity.
180755func (ua UntilActivity) AsBasicControlActivity() (BasicControlActivity, bool) {
180756	return &ua, true
180757}
180758
180759// AsActivity is the BasicActivity implementation for UntilActivity.
180760func (ua UntilActivity) AsActivity() (*Activity, bool) {
180761	return nil, false
180762}
180763
180764// AsBasicActivity is the BasicActivity implementation for UntilActivity.
180765func (ua UntilActivity) AsBasicActivity() (BasicActivity, bool) {
180766	return &ua, true
180767}
180768
180769// UnmarshalJSON is the custom unmarshaler for UntilActivity struct.
180770func (ua *UntilActivity) UnmarshalJSON(body []byte) error {
180771	var m map[string]*json.RawMessage
180772	err := json.Unmarshal(body, &m)
180773	if err != nil {
180774		return err
180775	}
180776	for k, v := range m {
180777		switch k {
180778		case "typeProperties":
180779			if v != nil {
180780				var untilActivityTypeProperties UntilActivityTypeProperties
180781				err = json.Unmarshal(*v, &untilActivityTypeProperties)
180782				if err != nil {
180783					return err
180784				}
180785				ua.UntilActivityTypeProperties = &untilActivityTypeProperties
180786			}
180787		default:
180788			if v != nil {
180789				var additionalProperties interface{}
180790				err = json.Unmarshal(*v, &additionalProperties)
180791				if err != nil {
180792					return err
180793				}
180794				if ua.AdditionalProperties == nil {
180795					ua.AdditionalProperties = make(map[string]interface{})
180796				}
180797				ua.AdditionalProperties[k] = additionalProperties
180798			}
180799		case "name":
180800			if v != nil {
180801				var name string
180802				err = json.Unmarshal(*v, &name)
180803				if err != nil {
180804					return err
180805				}
180806				ua.Name = &name
180807			}
180808		case "description":
180809			if v != nil {
180810				var description string
180811				err = json.Unmarshal(*v, &description)
180812				if err != nil {
180813					return err
180814				}
180815				ua.Description = &description
180816			}
180817		case "dependsOn":
180818			if v != nil {
180819				var dependsOn []ActivityDependency
180820				err = json.Unmarshal(*v, &dependsOn)
180821				if err != nil {
180822					return err
180823				}
180824				ua.DependsOn = &dependsOn
180825			}
180826		case "userProperties":
180827			if v != nil {
180828				var userProperties []UserProperty
180829				err = json.Unmarshal(*v, &userProperties)
180830				if err != nil {
180831					return err
180832				}
180833				ua.UserProperties = &userProperties
180834			}
180835		case "type":
180836			if v != nil {
180837				var typeVar TypeBasicActivity
180838				err = json.Unmarshal(*v, &typeVar)
180839				if err != nil {
180840					return err
180841				}
180842				ua.Type = typeVar
180843			}
180844		}
180845	}
180846
180847	return nil
180848}
180849
180850// UntilActivityTypeProperties until activity properties.
180851type UntilActivityTypeProperties struct {
180852	// Expression - An expression that would evaluate to Boolean. The loop will continue until this expression evaluates to true
180853	Expression *Expression `json:"expression,omitempty"`
180854	// 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])).
180855	Timeout interface{} `json:"timeout,omitempty"`
180856	// Activities - List of activities to execute.
180857	Activities *[]BasicActivity `json:"activities,omitempty"`
180858}
180859
180860// UnmarshalJSON is the custom unmarshaler for UntilActivityTypeProperties struct.
180861func (uatp *UntilActivityTypeProperties) UnmarshalJSON(body []byte) error {
180862	var m map[string]*json.RawMessage
180863	err := json.Unmarshal(body, &m)
180864	if err != nil {
180865		return err
180866	}
180867	for k, v := range m {
180868		switch k {
180869		case "expression":
180870			if v != nil {
180871				var expression Expression
180872				err = json.Unmarshal(*v, &expression)
180873				if err != nil {
180874					return err
180875				}
180876				uatp.Expression = &expression
180877			}
180878		case "timeout":
180879			if v != nil {
180880				var timeout interface{}
180881				err = json.Unmarshal(*v, &timeout)
180882				if err != nil {
180883					return err
180884				}
180885				uatp.Timeout = timeout
180886			}
180887		case "activities":
180888			if v != nil {
180889				activities, err := unmarshalBasicActivityArray(*v)
180890				if err != nil {
180891					return err
180892				}
180893				uatp.Activities = &activities
180894			}
180895		}
180896	}
180897
180898	return nil
180899}
180900
180901// UpdateIntegrationRuntimeNodeRequest update integration runtime node request.
180902type UpdateIntegrationRuntimeNodeRequest struct {
180903	// ConcurrentJobsLimit - The number of concurrent jobs permitted to run on the integration runtime node. Values between 1 and maxConcurrentJobs(inclusive) are allowed.
180904	ConcurrentJobsLimit *int32 `json:"concurrentJobsLimit,omitempty"`
180905}
180906
180907// UpdateIntegrationRuntimeRequest update integration runtime request.
180908type UpdateIntegrationRuntimeRequest struct {
180909	// 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'
180910	AutoUpdate IntegrationRuntimeAutoUpdate `json:"autoUpdate,omitempty"`
180911	// 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.
180912	UpdateDelayOffset *string `json:"updateDelayOffset,omitempty"`
180913}
180914
180915// UserAccessPolicy get Data Plane read only token request definition.
180916type UserAccessPolicy struct {
180917	// Permissions - The string with permissions for Data Plane access. Currently only 'r' is supported which grants read only access.
180918	Permissions *string `json:"permissions,omitempty"`
180919	// AccessResourcePath - The resource path to get access relative to factory. Currently only empty string is supported which corresponds to the factory resource.
180920	AccessResourcePath *string `json:"accessResourcePath,omitempty"`
180921	// ProfileName - The name of the profile. Currently only the default is supported. The default value is DefaultProfile.
180922	ProfileName *string `json:"profileName,omitempty"`
180923	// StartTime - Start time for the token. If not specified the current time will be used.
180924	StartTime *string `json:"startTime,omitempty"`
180925	// ExpireTime - Expiration time for the token. Maximum duration for the token is eight hours and by default the token will expire in eight hours.
180926	ExpireTime *string `json:"expireTime,omitempty"`
180927}
180928
180929// UserProperty user property.
180930type UserProperty struct {
180931	// Name - User property name.
180932	Name *string `json:"name,omitempty"`
180933	// Value - User property value. Type: string (or Expression with resultType string).
180934	Value interface{} `json:"value,omitempty"`
180935}
180936
180937// ValidationActivity this activity verifies that an external resource exists.
180938type ValidationActivity struct {
180939	// ValidationActivityTypeProperties - Validation activity properties.
180940	*ValidationActivityTypeProperties `json:"typeProperties,omitempty"`
180941	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
180942	AdditionalProperties map[string]interface{} `json:""`
180943	// Name - Activity name.
180944	Name *string `json:"name,omitempty"`
180945	// Description - Activity description.
180946	Description *string `json:"description,omitempty"`
180947	// DependsOn - Activity depends on condition.
180948	DependsOn *[]ActivityDependency `json:"dependsOn,omitempty"`
180949	// UserProperties - Activity user properties.
180950	UserProperties *[]UserProperty `json:"userProperties,omitempty"`
180951	// Type - Possible values include: 'TypeActivity', 'TypeAzureFunctionActivity', 'TypeDatabricksSparkPython', 'TypeDatabricksSparkJar', 'TypeDatabricksNotebook', 'TypeDataLakeAnalyticsUSQL', 'TypeAzureMLUpdateResource', 'TypeAzureMLBatchExecution', 'TypeGetMetadata', 'TypeWebActivity', 'TypeLookup', 'TypeAzureDataExplorerCommand', 'TypeDelete', 'TypeSQLServerStoredProcedure', 'TypeCustom', 'TypeExecuteSSISPackage', 'TypeHDInsightSpark', 'TypeHDInsightStreaming', 'TypeHDInsightMapReduce', 'TypeHDInsightPig', 'TypeHDInsightHive', 'TypeCopy', 'TypeExecution', 'TypeWebHook', 'TypeAppendVariable', 'TypeSetVariable', 'TypeFilter', 'TypeValidation', 'TypeUntil', 'TypeWait', 'TypeForEach', 'TypeIfCondition', 'TypeExecutePipeline', 'TypeContainer'
180952	Type TypeBasicActivity `json:"type,omitempty"`
180953}
180954
180955// MarshalJSON is the custom marshaler for ValidationActivity.
180956func (va ValidationActivity) MarshalJSON() ([]byte, error) {
180957	va.Type = TypeValidation
180958	objectMap := make(map[string]interface{})
180959	if va.ValidationActivityTypeProperties != nil {
180960		objectMap["typeProperties"] = va.ValidationActivityTypeProperties
180961	}
180962	if va.Name != nil {
180963		objectMap["name"] = va.Name
180964	}
180965	if va.Description != nil {
180966		objectMap["description"] = va.Description
180967	}
180968	if va.DependsOn != nil {
180969		objectMap["dependsOn"] = va.DependsOn
180970	}
180971	if va.UserProperties != nil {
180972		objectMap["userProperties"] = va.UserProperties
180973	}
180974	if va.Type != "" {
180975		objectMap["type"] = va.Type
180976	}
180977	for k, v := range va.AdditionalProperties {
180978		objectMap[k] = v
180979	}
180980	return json.Marshal(objectMap)
180981}
180982
180983// AsAzureFunctionActivity is the BasicActivity implementation for ValidationActivity.
180984func (va ValidationActivity) AsAzureFunctionActivity() (*AzureFunctionActivity, bool) {
180985	return nil, false
180986}
180987
180988// AsDatabricksSparkPythonActivity is the BasicActivity implementation for ValidationActivity.
180989func (va ValidationActivity) AsDatabricksSparkPythonActivity() (*DatabricksSparkPythonActivity, bool) {
180990	return nil, false
180991}
180992
180993// AsDatabricksSparkJarActivity is the BasicActivity implementation for ValidationActivity.
180994func (va ValidationActivity) AsDatabricksSparkJarActivity() (*DatabricksSparkJarActivity, bool) {
180995	return nil, false
180996}
180997
180998// AsDatabricksNotebookActivity is the BasicActivity implementation for ValidationActivity.
180999func (va ValidationActivity) AsDatabricksNotebookActivity() (*DatabricksNotebookActivity, bool) {
181000	return nil, false
181001}
181002
181003// AsDataLakeAnalyticsUSQLActivity is the BasicActivity implementation for ValidationActivity.
181004func (va ValidationActivity) AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalyticsUSQLActivity, bool) {
181005	return nil, false
181006}
181007
181008// AsAzureMLUpdateResourceActivity is the BasicActivity implementation for ValidationActivity.
181009func (va ValidationActivity) AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool) {
181010	return nil, false
181011}
181012
181013// AsAzureMLBatchExecutionActivity is the BasicActivity implementation for ValidationActivity.
181014func (va ValidationActivity) AsAzureMLBatchExecutionActivity() (*AzureMLBatchExecutionActivity, bool) {
181015	return nil, false
181016}
181017
181018// AsGetMetadataActivity is the BasicActivity implementation for ValidationActivity.
181019func (va ValidationActivity) AsGetMetadataActivity() (*GetMetadataActivity, bool) {
181020	return nil, false
181021}
181022
181023// AsWebActivity is the BasicActivity implementation for ValidationActivity.
181024func (va ValidationActivity) AsWebActivity() (*WebActivity, bool) {
181025	return nil, false
181026}
181027
181028// AsLookupActivity is the BasicActivity implementation for ValidationActivity.
181029func (va ValidationActivity) AsLookupActivity() (*LookupActivity, bool) {
181030	return nil, false
181031}
181032
181033// AsAzureDataExplorerCommandActivity is the BasicActivity implementation for ValidationActivity.
181034func (va ValidationActivity) AsAzureDataExplorerCommandActivity() (*AzureDataExplorerCommandActivity, bool) {
181035	return nil, false
181036}
181037
181038// AsDeleteActivity is the BasicActivity implementation for ValidationActivity.
181039func (va ValidationActivity) AsDeleteActivity() (*DeleteActivity, bool) {
181040	return nil, false
181041}
181042
181043// AsSQLServerStoredProcedureActivity is the BasicActivity implementation for ValidationActivity.
181044func (va ValidationActivity) AsSQLServerStoredProcedureActivity() (*SQLServerStoredProcedureActivity, bool) {
181045	return nil, false
181046}
181047
181048// AsCustomActivity is the BasicActivity implementation for ValidationActivity.
181049func (va ValidationActivity) AsCustomActivity() (*CustomActivity, bool) {
181050	return nil, false
181051}
181052
181053// AsExecuteSSISPackageActivity is the BasicActivity implementation for ValidationActivity.
181054func (va ValidationActivity) AsExecuteSSISPackageActivity() (*ExecuteSSISPackageActivity, bool) {
181055	return nil, false
181056}
181057
181058// AsHDInsightSparkActivity is the BasicActivity implementation for ValidationActivity.
181059func (va ValidationActivity) AsHDInsightSparkActivity() (*HDInsightSparkActivity, bool) {
181060	return nil, false
181061}
181062
181063// AsHDInsightStreamingActivity is the BasicActivity implementation for ValidationActivity.
181064func (va ValidationActivity) AsHDInsightStreamingActivity() (*HDInsightStreamingActivity, bool) {
181065	return nil, false
181066}
181067
181068// AsHDInsightMapReduceActivity is the BasicActivity implementation for ValidationActivity.
181069func (va ValidationActivity) AsHDInsightMapReduceActivity() (*HDInsightMapReduceActivity, bool) {
181070	return nil, false
181071}
181072
181073// AsHDInsightPigActivity is the BasicActivity implementation for ValidationActivity.
181074func (va ValidationActivity) AsHDInsightPigActivity() (*HDInsightPigActivity, bool) {
181075	return nil, false
181076}
181077
181078// AsHDInsightHiveActivity is the BasicActivity implementation for ValidationActivity.
181079func (va ValidationActivity) AsHDInsightHiveActivity() (*HDInsightHiveActivity, bool) {
181080	return nil, false
181081}
181082
181083// AsCopyActivity is the BasicActivity implementation for ValidationActivity.
181084func (va ValidationActivity) AsCopyActivity() (*CopyActivity, bool) {
181085	return nil, false
181086}
181087
181088// AsExecutionActivity is the BasicActivity implementation for ValidationActivity.
181089func (va ValidationActivity) AsExecutionActivity() (*ExecutionActivity, bool) {
181090	return nil, false
181091}
181092
181093// AsBasicExecutionActivity is the BasicActivity implementation for ValidationActivity.
181094func (va ValidationActivity) AsBasicExecutionActivity() (BasicExecutionActivity, bool) {
181095	return nil, false
181096}
181097
181098// AsWebHookActivity is the BasicActivity implementation for ValidationActivity.
181099func (va ValidationActivity) AsWebHookActivity() (*WebHookActivity, bool) {
181100	return nil, false
181101}
181102
181103// AsAppendVariableActivity is the BasicActivity implementation for ValidationActivity.
181104func (va ValidationActivity) AsAppendVariableActivity() (*AppendVariableActivity, bool) {
181105	return nil, false
181106}
181107
181108// AsSetVariableActivity is the BasicActivity implementation for ValidationActivity.
181109func (va ValidationActivity) AsSetVariableActivity() (*SetVariableActivity, bool) {
181110	return nil, false
181111}
181112
181113// AsFilterActivity is the BasicActivity implementation for ValidationActivity.
181114func (va ValidationActivity) AsFilterActivity() (*FilterActivity, bool) {
181115	return nil, false
181116}
181117
181118// AsValidationActivity is the BasicActivity implementation for ValidationActivity.
181119func (va ValidationActivity) AsValidationActivity() (*ValidationActivity, bool) {
181120	return &va, true
181121}
181122
181123// AsUntilActivity is the BasicActivity implementation for ValidationActivity.
181124func (va ValidationActivity) AsUntilActivity() (*UntilActivity, bool) {
181125	return nil, false
181126}
181127
181128// AsWaitActivity is the BasicActivity implementation for ValidationActivity.
181129func (va ValidationActivity) AsWaitActivity() (*WaitActivity, bool) {
181130	return nil, false
181131}
181132
181133// AsForEachActivity is the BasicActivity implementation for ValidationActivity.
181134func (va ValidationActivity) AsForEachActivity() (*ForEachActivity, bool) {
181135	return nil, false
181136}
181137
181138// AsIfConditionActivity is the BasicActivity implementation for ValidationActivity.
181139func (va ValidationActivity) AsIfConditionActivity() (*IfConditionActivity, bool) {
181140	return nil, false
181141}
181142
181143// AsExecutePipelineActivity is the BasicActivity implementation for ValidationActivity.
181144func (va ValidationActivity) AsExecutePipelineActivity() (*ExecutePipelineActivity, bool) {
181145	return nil, false
181146}
181147
181148// AsControlActivity is the BasicActivity implementation for ValidationActivity.
181149func (va ValidationActivity) AsControlActivity() (*ControlActivity, bool) {
181150	return nil, false
181151}
181152
181153// AsBasicControlActivity is the BasicActivity implementation for ValidationActivity.
181154func (va ValidationActivity) AsBasicControlActivity() (BasicControlActivity, bool) {
181155	return &va, true
181156}
181157
181158// AsActivity is the BasicActivity implementation for ValidationActivity.
181159func (va ValidationActivity) AsActivity() (*Activity, bool) {
181160	return nil, false
181161}
181162
181163// AsBasicActivity is the BasicActivity implementation for ValidationActivity.
181164func (va ValidationActivity) AsBasicActivity() (BasicActivity, bool) {
181165	return &va, true
181166}
181167
181168// UnmarshalJSON is the custom unmarshaler for ValidationActivity struct.
181169func (va *ValidationActivity) UnmarshalJSON(body []byte) error {
181170	var m map[string]*json.RawMessage
181171	err := json.Unmarshal(body, &m)
181172	if err != nil {
181173		return err
181174	}
181175	for k, v := range m {
181176		switch k {
181177		case "typeProperties":
181178			if v != nil {
181179				var validationActivityTypeProperties ValidationActivityTypeProperties
181180				err = json.Unmarshal(*v, &validationActivityTypeProperties)
181181				if err != nil {
181182					return err
181183				}
181184				va.ValidationActivityTypeProperties = &validationActivityTypeProperties
181185			}
181186		default:
181187			if v != nil {
181188				var additionalProperties interface{}
181189				err = json.Unmarshal(*v, &additionalProperties)
181190				if err != nil {
181191					return err
181192				}
181193				if va.AdditionalProperties == nil {
181194					va.AdditionalProperties = make(map[string]interface{})
181195				}
181196				va.AdditionalProperties[k] = additionalProperties
181197			}
181198		case "name":
181199			if v != nil {
181200				var name string
181201				err = json.Unmarshal(*v, &name)
181202				if err != nil {
181203					return err
181204				}
181205				va.Name = &name
181206			}
181207		case "description":
181208			if v != nil {
181209				var description string
181210				err = json.Unmarshal(*v, &description)
181211				if err != nil {
181212					return err
181213				}
181214				va.Description = &description
181215			}
181216		case "dependsOn":
181217			if v != nil {
181218				var dependsOn []ActivityDependency
181219				err = json.Unmarshal(*v, &dependsOn)
181220				if err != nil {
181221					return err
181222				}
181223				va.DependsOn = &dependsOn
181224			}
181225		case "userProperties":
181226			if v != nil {
181227				var userProperties []UserProperty
181228				err = json.Unmarshal(*v, &userProperties)
181229				if err != nil {
181230					return err
181231				}
181232				va.UserProperties = &userProperties
181233			}
181234		case "type":
181235			if v != nil {
181236				var typeVar TypeBasicActivity
181237				err = json.Unmarshal(*v, &typeVar)
181238				if err != nil {
181239					return err
181240				}
181241				va.Type = typeVar
181242			}
181243		}
181244	}
181245
181246	return nil
181247}
181248
181249// ValidationActivityTypeProperties validation activity properties.
181250type ValidationActivityTypeProperties struct {
181251	// 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])).
181252	Timeout interface{} `json:"timeout,omitempty"`
181253	// Sleep - A delay in seconds between validation attempts. If no value is specified, 10 seconds will be used as the default. Type: integer (or Expression with resultType integer).
181254	Sleep interface{} `json:"sleep,omitempty"`
181255	// MinimumSize - Can be used if dataset points to a file. The file must be greater than or equal in size to the value specified. Type: integer (or Expression with resultType integer).
181256	MinimumSize interface{} `json:"minimumSize,omitempty"`
181257	// ChildItems - Can be used if dataset points to a folder. If set to true, the folder must have at least one file. If set to false, the folder must be empty. Type: boolean (or Expression with resultType boolean).
181258	ChildItems interface{} `json:"childItems,omitempty"`
181259	// Dataset - Validation activity dataset reference.
181260	Dataset *DatasetReference `json:"dataset,omitempty"`
181261}
181262
181263// VariableSpecification definition of a single variable for a Pipeline.
181264type VariableSpecification struct {
181265	// Type - Variable type. Possible values include: 'VariableTypeString', 'VariableTypeBool', 'VariableTypeArray'
181266	Type VariableType `json:"type,omitempty"`
181267	// DefaultValue - Default value of variable.
181268	DefaultValue interface{} `json:"defaultValue,omitempty"`
181269}
181270
181271// VerticaLinkedService vertica linked service.
181272type VerticaLinkedService struct {
181273	// VerticaLinkedServiceTypeProperties - Vertica linked service properties.
181274	*VerticaLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
181275	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
181276	AdditionalProperties map[string]interface{} `json:""`
181277	// ConnectVia - The integration runtime reference.
181278	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
181279	// Description - Linked service description.
181280	Description *string `json:"description,omitempty"`
181281	// Parameters - Parameters for linked service.
181282	Parameters map[string]*ParameterSpecification `json:"parameters"`
181283	// Annotations - List of tags that can be used for describing the linked service.
181284	Annotations *[]interface{} `json:"annotations,omitempty"`
181285	// Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', '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', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage'
181286	Type TypeBasicLinkedService `json:"type,omitempty"`
181287}
181288
181289// MarshalJSON is the custom marshaler for VerticaLinkedService.
181290func (vls VerticaLinkedService) MarshalJSON() ([]byte, error) {
181291	vls.Type = TypeVertica
181292	objectMap := make(map[string]interface{})
181293	if vls.VerticaLinkedServiceTypeProperties != nil {
181294		objectMap["typeProperties"] = vls.VerticaLinkedServiceTypeProperties
181295	}
181296	if vls.ConnectVia != nil {
181297		objectMap["connectVia"] = vls.ConnectVia
181298	}
181299	if vls.Description != nil {
181300		objectMap["description"] = vls.Description
181301	}
181302	if vls.Parameters != nil {
181303		objectMap["parameters"] = vls.Parameters
181304	}
181305	if vls.Annotations != nil {
181306		objectMap["annotations"] = vls.Annotations
181307	}
181308	if vls.Type != "" {
181309		objectMap["type"] = vls.Type
181310	}
181311	for k, v := range vls.AdditionalProperties {
181312		objectMap[k] = v
181313	}
181314	return json.Marshal(objectMap)
181315}
181316
181317// AsAzureFunctionLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
181318func (vls VerticaLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) {
181319	return nil, false
181320}
181321
181322// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
181323func (vls VerticaLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) {
181324	return nil, false
181325}
181326
181327// AsSapTableLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
181328func (vls VerticaLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) {
181329	return nil, false
181330}
181331
181332// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
181333func (vls VerticaLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) {
181334	return nil, false
181335}
181336
181337// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
181338func (vls VerticaLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) {
181339	return nil, false
181340}
181341
181342// AsDynamicsAXLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
181343func (vls VerticaLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) {
181344	return nil, false
181345}
181346
181347// AsResponsysLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
181348func (vls VerticaLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
181349	return nil, false
181350}
181351
181352// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
181353func (vls VerticaLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
181354	return nil, false
181355}
181356
181357// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
181358func (vls VerticaLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
181359	return nil, false
181360}
181361
181362// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
181363func (vls VerticaLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
181364	return nil, false
181365}
181366
181367// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
181368func (vls VerticaLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
181369	return nil, false
181370}
181371
181372// AsNetezzaLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
181373func (vls VerticaLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
181374	return nil, false
181375}
181376
181377// AsVerticaLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
181378func (vls VerticaLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
181379	return &vls, true
181380}
181381
181382// AsZohoLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
181383func (vls VerticaLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
181384	return nil, false
181385}
181386
181387// AsXeroLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
181388func (vls VerticaLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
181389	return nil, false
181390}
181391
181392// AsSquareLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
181393func (vls VerticaLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
181394	return nil, false
181395}
181396
181397// AsSparkLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
181398func (vls VerticaLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
181399	return nil, false
181400}
181401
181402// AsShopifyLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
181403func (vls VerticaLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
181404	return nil, false
181405}
181406
181407// AsServiceNowLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
181408func (vls VerticaLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
181409	return nil, false
181410}
181411
181412// AsQuickBooksLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
181413func (vls VerticaLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
181414	return nil, false
181415}
181416
181417// AsPrestoLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
181418func (vls VerticaLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
181419	return nil, false
181420}
181421
181422// AsPhoenixLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
181423func (vls VerticaLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
181424	return nil, false
181425}
181426
181427// AsPaypalLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
181428func (vls VerticaLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
181429	return nil, false
181430}
181431
181432// AsMarketoLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
181433func (vls VerticaLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
181434	return nil, false
181435}
181436
181437// AsMariaDBLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
181438func (vls VerticaLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
181439	return nil, false
181440}
181441
181442// AsMagentoLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
181443func (vls VerticaLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
181444	return nil, false
181445}
181446
181447// AsJiraLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
181448func (vls VerticaLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
181449	return nil, false
181450}
181451
181452// AsImpalaLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
181453func (vls VerticaLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
181454	return nil, false
181455}
181456
181457// AsHubspotLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
181458func (vls VerticaLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
181459	return nil, false
181460}
181461
181462// AsHiveLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
181463func (vls VerticaLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
181464	return nil, false
181465}
181466
181467// AsHBaseLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
181468func (vls VerticaLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
181469	return nil, false
181470}
181471
181472// AsGreenplumLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
181473func (vls VerticaLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
181474	return nil, false
181475}
181476
181477// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
181478func (vls VerticaLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
181479	return nil, false
181480}
181481
181482// AsEloquaLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
181483func (vls VerticaLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
181484	return nil, false
181485}
181486
181487// AsDrillLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
181488func (vls VerticaLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
181489	return nil, false
181490}
181491
181492// AsCouchbaseLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
181493func (vls VerticaLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
181494	return nil, false
181495}
181496
181497// AsConcurLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
181498func (vls VerticaLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
181499	return nil, false
181500}
181501
181502// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
181503func (vls VerticaLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
181504	return nil, false
181505}
181506
181507// AsAmazonMWSLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
181508func (vls VerticaLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
181509	return nil, false
181510}
181511
181512// AsSapHanaLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
181513func (vls VerticaLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
181514	return nil, false
181515}
181516
181517// AsSapBWLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
181518func (vls VerticaLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
181519	return nil, false
181520}
181521
181522// AsSftpServerLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
181523func (vls VerticaLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
181524	return nil, false
181525}
181526
181527// AsFtpServerLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
181528func (vls VerticaLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
181529	return nil, false
181530}
181531
181532// AsHTTPLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
181533func (vls VerticaLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
181534	return nil, false
181535}
181536
181537// AsAzureSearchLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
181538func (vls VerticaLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
181539	return nil, false
181540}
181541
181542// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
181543func (vls VerticaLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
181544	return nil, false
181545}
181546
181547// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
181548func (vls VerticaLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
181549	return nil, false
181550}
181551
181552// AsAmazonS3LinkedService is the BasicLinkedService implementation for VerticaLinkedService.
181553func (vls VerticaLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
181554	return nil, false
181555}
181556
181557// AsRestServiceLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
181558func (vls VerticaLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) {
181559	return nil, false
181560}
181561
181562// AsSapOpenHubLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
181563func (vls VerticaLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) {
181564	return nil, false
181565}
181566
181567// AsSapEccLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
181568func (vls VerticaLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
181569	return nil, false
181570}
181571
181572// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
181573func (vls VerticaLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
181574	return nil, false
181575}
181576
181577// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
181578func (vls VerticaLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) {
181579	return nil, false
181580}
181581
181582// AsSalesforceLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
181583func (vls VerticaLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
181584	return nil, false
181585}
181586
181587// AsOffice365LinkedService is the BasicLinkedService implementation for VerticaLinkedService.
181588func (vls VerticaLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) {
181589	return nil, false
181590}
181591
181592// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
181593func (vls VerticaLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) {
181594	return nil, false
181595}
181596
181597// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
181598func (vls VerticaLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
181599	return nil, false
181600}
181601
181602// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for VerticaLinkedService.
181603func (vls VerticaLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) {
181604	return nil, false
181605}
181606
181607// AsMongoDbV2LinkedService is the BasicLinkedService implementation for VerticaLinkedService.
181608func (vls VerticaLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) {
181609	return nil, false
181610}
181611
181612// AsMongoDbLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
181613func (vls VerticaLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
181614	return nil, false
181615}
181616
181617// AsCassandraLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
181618func (vls VerticaLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
181619	return nil, false
181620}
181621
181622// AsWebLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
181623func (vls VerticaLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
181624	return nil, false
181625}
181626
181627// AsODataLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
181628func (vls VerticaLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
181629	return nil, false
181630}
181631
181632// AsHdfsLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
181633func (vls VerticaLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
181634	return nil, false
181635}
181636
181637// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
181638func (vls VerticaLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) {
181639	return nil, false
181640}
181641
181642// AsInformixLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
181643func (vls VerticaLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) {
181644	return nil, false
181645}
181646
181647// AsOdbcLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
181648func (vls VerticaLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
181649	return nil, false
181650}
181651
181652// AsAzureMLLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
181653func (vls VerticaLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
181654	return nil, false
181655}
181656
181657// AsTeradataLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
181658func (vls VerticaLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
181659	return nil, false
181660}
181661
181662// AsDb2LinkedService is the BasicLinkedService implementation for VerticaLinkedService.
181663func (vls VerticaLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
181664	return nil, false
181665}
181666
181667// AsSybaseLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
181668func (vls VerticaLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
181669	return nil, false
181670}
181671
181672// AsPostgreSQLLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
181673func (vls VerticaLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
181674	return nil, false
181675}
181676
181677// AsMySQLLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
181678func (vls VerticaLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
181679	return nil, false
181680}
181681
181682// AsAzureMySQLLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
181683func (vls VerticaLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
181684	return nil, false
181685}
181686
181687// AsOracleLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
181688func (vls VerticaLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
181689	return nil, false
181690}
181691
181692// AsFileServerLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
181693func (vls VerticaLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
181694	return nil, false
181695}
181696
181697// AsHDInsightLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
181698func (vls VerticaLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
181699	return nil, false
181700}
181701
181702// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
181703func (vls VerticaLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) {
181704	return nil, false
181705}
181706
181707// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
181708func (vls VerticaLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) {
181709	return nil, false
181710}
181711
181712// AsDynamicsLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
181713func (vls VerticaLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
181714	return nil, false
181715}
181716
181717// AsCosmosDbLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
181718func (vls VerticaLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
181719	return nil, false
181720}
181721
181722// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
181723func (vls VerticaLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
181724	return nil, false
181725}
181726
181727// AsAzureBatchLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
181728func (vls VerticaLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
181729	return nil, false
181730}
181731
181732// AsAzureSQLMILinkedService is the BasicLinkedService implementation for VerticaLinkedService.
181733func (vls VerticaLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) {
181734	return nil, false
181735}
181736
181737// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
181738func (vls VerticaLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
181739	return nil, false
181740}
181741
181742// AsSQLServerLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
181743func (vls VerticaLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
181744	return nil, false
181745}
181746
181747// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
181748func (vls VerticaLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
181749	return nil, false
181750}
181751
181752// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
181753func (vls VerticaLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) {
181754	return nil, false
181755}
181756
181757// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
181758func (vls VerticaLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) {
181759	return nil, false
181760}
181761
181762// AsAzureStorageLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
181763func (vls VerticaLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
181764	return nil, false
181765}
181766
181767// AsLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
181768func (vls VerticaLinkedService) AsLinkedService() (*LinkedService, bool) {
181769	return nil, false
181770}
181771
181772// AsBasicLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
181773func (vls VerticaLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
181774	return &vls, true
181775}
181776
181777// UnmarshalJSON is the custom unmarshaler for VerticaLinkedService struct.
181778func (vls *VerticaLinkedService) UnmarshalJSON(body []byte) error {
181779	var m map[string]*json.RawMessage
181780	err := json.Unmarshal(body, &m)
181781	if err != nil {
181782		return err
181783	}
181784	for k, v := range m {
181785		switch k {
181786		case "typeProperties":
181787			if v != nil {
181788				var verticaLinkedServiceTypeProperties VerticaLinkedServiceTypeProperties
181789				err = json.Unmarshal(*v, &verticaLinkedServiceTypeProperties)
181790				if err != nil {
181791					return err
181792				}
181793				vls.VerticaLinkedServiceTypeProperties = &verticaLinkedServiceTypeProperties
181794			}
181795		default:
181796			if v != nil {
181797				var additionalProperties interface{}
181798				err = json.Unmarshal(*v, &additionalProperties)
181799				if err != nil {
181800					return err
181801				}
181802				if vls.AdditionalProperties == nil {
181803					vls.AdditionalProperties = make(map[string]interface{})
181804				}
181805				vls.AdditionalProperties[k] = additionalProperties
181806			}
181807		case "connectVia":
181808			if v != nil {
181809				var connectVia IntegrationRuntimeReference
181810				err = json.Unmarshal(*v, &connectVia)
181811				if err != nil {
181812					return err
181813				}
181814				vls.ConnectVia = &connectVia
181815			}
181816		case "description":
181817			if v != nil {
181818				var description string
181819				err = json.Unmarshal(*v, &description)
181820				if err != nil {
181821					return err
181822				}
181823				vls.Description = &description
181824			}
181825		case "parameters":
181826			if v != nil {
181827				var parameters map[string]*ParameterSpecification
181828				err = json.Unmarshal(*v, &parameters)
181829				if err != nil {
181830					return err
181831				}
181832				vls.Parameters = parameters
181833			}
181834		case "annotations":
181835			if v != nil {
181836				var annotations []interface{}
181837				err = json.Unmarshal(*v, &annotations)
181838				if err != nil {
181839					return err
181840				}
181841				vls.Annotations = &annotations
181842			}
181843		case "type":
181844			if v != nil {
181845				var typeVar TypeBasicLinkedService
181846				err = json.Unmarshal(*v, &typeVar)
181847				if err != nil {
181848					return err
181849				}
181850				vls.Type = typeVar
181851			}
181852		}
181853	}
181854
181855	return nil
181856}
181857
181858// VerticaLinkedServiceTypeProperties vertica linked service properties.
181859type VerticaLinkedServiceTypeProperties struct {
181860	// ConnectionString - An ODBC connection string. Type: string, SecureString or AzureKeyVaultSecretReference.
181861	ConnectionString interface{} `json:"connectionString,omitempty"`
181862	// Pwd - The Azure key vault secret reference of password in connection string.
181863	Pwd *AzureKeyVaultSecretReference `json:"pwd,omitempty"`
181864	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
181865	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
181866}
181867
181868// VerticaSource a copy activity Vertica source.
181869type VerticaSource struct {
181870	// Query - A query to retrieve data from source. Type: string (or Expression with resultType string).
181871	Query interface{} `json:"query,omitempty"`
181872	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
181873	AdditionalProperties map[string]interface{} `json:""`
181874	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
181875	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
181876	// 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])).
181877	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
181878	// MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer).
181879	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
181880	// Type - Possible values include: 'TypeCopySource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', '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', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeCassandraSource', 'TypeWebSource', 'TypeTeradataSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeAzureMySQLSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeRestSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceServiceCloudSource', 'TypeSalesforceSource', 'TypeODataSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeMicrosoftAccessSource', 'TypeInformixSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAzureTableSource', 'TypeBinarySource', 'TypeDelimitedTextSource', 'TypeParquetSource'
181881	Type TypeBasicCopySource `json:"type,omitempty"`
181882}
181883
181884// MarshalJSON is the custom marshaler for VerticaSource.
181885func (vs VerticaSource) MarshalJSON() ([]byte, error) {
181886	vs.Type = TypeVerticaSource
181887	objectMap := make(map[string]interface{})
181888	if vs.Query != nil {
181889		objectMap["query"] = vs.Query
181890	}
181891	if vs.SourceRetryCount != nil {
181892		objectMap["sourceRetryCount"] = vs.SourceRetryCount
181893	}
181894	if vs.SourceRetryWait != nil {
181895		objectMap["sourceRetryWait"] = vs.SourceRetryWait
181896	}
181897	if vs.MaxConcurrentConnections != nil {
181898		objectMap["maxConcurrentConnections"] = vs.MaxConcurrentConnections
181899	}
181900	if vs.Type != "" {
181901		objectMap["type"] = vs.Type
181902	}
181903	for k, v := range vs.AdditionalProperties {
181904		objectMap[k] = v
181905	}
181906	return json.Marshal(objectMap)
181907}
181908
181909// AsAmazonRedshiftSource is the BasicCopySource implementation for VerticaSource.
181910func (vs VerticaSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
181911	return nil, false
181912}
181913
181914// AsGoogleAdWordsSource is the BasicCopySource implementation for VerticaSource.
181915func (vs VerticaSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) {
181916	return nil, false
181917}
181918
181919// AsOracleServiceCloudSource is the BasicCopySource implementation for VerticaSource.
181920func (vs VerticaSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) {
181921	return nil, false
181922}
181923
181924// AsDynamicsAXSource is the BasicCopySource implementation for VerticaSource.
181925func (vs VerticaSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) {
181926	return nil, false
181927}
181928
181929// AsResponsysSource is the BasicCopySource implementation for VerticaSource.
181930func (vs VerticaSource) AsResponsysSource() (*ResponsysSource, bool) {
181931	return nil, false
181932}
181933
181934// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for VerticaSource.
181935func (vs VerticaSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
181936	return nil, false
181937}
181938
181939// AsVerticaSource is the BasicCopySource implementation for VerticaSource.
181940func (vs VerticaSource) AsVerticaSource() (*VerticaSource, bool) {
181941	return &vs, true
181942}
181943
181944// AsNetezzaSource is the BasicCopySource implementation for VerticaSource.
181945func (vs VerticaSource) AsNetezzaSource() (*NetezzaSource, bool) {
181946	return nil, false
181947}
181948
181949// AsZohoSource is the BasicCopySource implementation for VerticaSource.
181950func (vs VerticaSource) AsZohoSource() (*ZohoSource, bool) {
181951	return nil, false
181952}
181953
181954// AsXeroSource is the BasicCopySource implementation for VerticaSource.
181955func (vs VerticaSource) AsXeroSource() (*XeroSource, bool) {
181956	return nil, false
181957}
181958
181959// AsSquareSource is the BasicCopySource implementation for VerticaSource.
181960func (vs VerticaSource) AsSquareSource() (*SquareSource, bool) {
181961	return nil, false
181962}
181963
181964// AsSparkSource is the BasicCopySource implementation for VerticaSource.
181965func (vs VerticaSource) AsSparkSource() (*SparkSource, bool) {
181966	return nil, false
181967}
181968
181969// AsShopifySource is the BasicCopySource implementation for VerticaSource.
181970func (vs VerticaSource) AsShopifySource() (*ShopifySource, bool) {
181971	return nil, false
181972}
181973
181974// AsServiceNowSource is the BasicCopySource implementation for VerticaSource.
181975func (vs VerticaSource) AsServiceNowSource() (*ServiceNowSource, bool) {
181976	return nil, false
181977}
181978
181979// AsQuickBooksSource is the BasicCopySource implementation for VerticaSource.
181980func (vs VerticaSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
181981	return nil, false
181982}
181983
181984// AsPrestoSource is the BasicCopySource implementation for VerticaSource.
181985func (vs VerticaSource) AsPrestoSource() (*PrestoSource, bool) {
181986	return nil, false
181987}
181988
181989// AsPhoenixSource is the BasicCopySource implementation for VerticaSource.
181990func (vs VerticaSource) AsPhoenixSource() (*PhoenixSource, bool) {
181991	return nil, false
181992}
181993
181994// AsPaypalSource is the BasicCopySource implementation for VerticaSource.
181995func (vs VerticaSource) AsPaypalSource() (*PaypalSource, bool) {
181996	return nil, false
181997}
181998
181999// AsMarketoSource is the BasicCopySource implementation for VerticaSource.
182000func (vs VerticaSource) AsMarketoSource() (*MarketoSource, bool) {
182001	return nil, false
182002}
182003
182004// AsMariaDBSource is the BasicCopySource implementation for VerticaSource.
182005func (vs VerticaSource) AsMariaDBSource() (*MariaDBSource, bool) {
182006	return nil, false
182007}
182008
182009// AsMagentoSource is the BasicCopySource implementation for VerticaSource.
182010func (vs VerticaSource) AsMagentoSource() (*MagentoSource, bool) {
182011	return nil, false
182012}
182013
182014// AsJiraSource is the BasicCopySource implementation for VerticaSource.
182015func (vs VerticaSource) AsJiraSource() (*JiraSource, bool) {
182016	return nil, false
182017}
182018
182019// AsImpalaSource is the BasicCopySource implementation for VerticaSource.
182020func (vs VerticaSource) AsImpalaSource() (*ImpalaSource, bool) {
182021	return nil, false
182022}
182023
182024// AsHubspotSource is the BasicCopySource implementation for VerticaSource.
182025func (vs VerticaSource) AsHubspotSource() (*HubspotSource, bool) {
182026	return nil, false
182027}
182028
182029// AsHiveSource is the BasicCopySource implementation for VerticaSource.
182030func (vs VerticaSource) AsHiveSource() (*HiveSource, bool) {
182031	return nil, false
182032}
182033
182034// AsHBaseSource is the BasicCopySource implementation for VerticaSource.
182035func (vs VerticaSource) AsHBaseSource() (*HBaseSource, bool) {
182036	return nil, false
182037}
182038
182039// AsGreenplumSource is the BasicCopySource implementation for VerticaSource.
182040func (vs VerticaSource) AsGreenplumSource() (*GreenplumSource, bool) {
182041	return nil, false
182042}
182043
182044// AsGoogleBigQuerySource is the BasicCopySource implementation for VerticaSource.
182045func (vs VerticaSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
182046	return nil, false
182047}
182048
182049// AsEloquaSource is the BasicCopySource implementation for VerticaSource.
182050func (vs VerticaSource) AsEloquaSource() (*EloquaSource, bool) {
182051	return nil, false
182052}
182053
182054// AsDrillSource is the BasicCopySource implementation for VerticaSource.
182055func (vs VerticaSource) AsDrillSource() (*DrillSource, bool) {
182056	return nil, false
182057}
182058
182059// AsCouchbaseSource is the BasicCopySource implementation for VerticaSource.
182060func (vs VerticaSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
182061	return nil, false
182062}
182063
182064// AsConcurSource is the BasicCopySource implementation for VerticaSource.
182065func (vs VerticaSource) AsConcurSource() (*ConcurSource, bool) {
182066	return nil, false
182067}
182068
182069// AsAzurePostgreSQLSource is the BasicCopySource implementation for VerticaSource.
182070func (vs VerticaSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
182071	return nil, false
182072}
182073
182074// AsAmazonMWSSource is the BasicCopySource implementation for VerticaSource.
182075func (vs VerticaSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
182076	return nil, false
182077}
182078
182079// AsHTTPSource is the BasicCopySource implementation for VerticaSource.
182080func (vs VerticaSource) AsHTTPSource() (*HTTPSource, bool) {
182081	return nil, false
182082}
182083
182084// AsAzureBlobFSSource is the BasicCopySource implementation for VerticaSource.
182085func (vs VerticaSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) {
182086	return nil, false
182087}
182088
182089// AsAzureDataLakeStoreSource is the BasicCopySource implementation for VerticaSource.
182090func (vs VerticaSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
182091	return nil, false
182092}
182093
182094// AsOffice365Source is the BasicCopySource implementation for VerticaSource.
182095func (vs VerticaSource) AsOffice365Source() (*Office365Source, bool) {
182096	return nil, false
182097}
182098
182099// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for VerticaSource.
182100func (vs VerticaSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) {
182101	return nil, false
182102}
182103
182104// AsMongoDbV2Source is the BasicCopySource implementation for VerticaSource.
182105func (vs VerticaSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) {
182106	return nil, false
182107}
182108
182109// AsMongoDbSource is the BasicCopySource implementation for VerticaSource.
182110func (vs VerticaSource) AsMongoDbSource() (*MongoDbSource, bool) {
182111	return nil, false
182112}
182113
182114// AsCassandraSource is the BasicCopySource implementation for VerticaSource.
182115func (vs VerticaSource) AsCassandraSource() (*CassandraSource, bool) {
182116	return nil, false
182117}
182118
182119// AsWebSource is the BasicCopySource implementation for VerticaSource.
182120func (vs VerticaSource) AsWebSource() (*WebSource, bool) {
182121	return nil, false
182122}
182123
182124// AsTeradataSource is the BasicCopySource implementation for VerticaSource.
182125func (vs VerticaSource) AsTeradataSource() (*TeradataSource, bool) {
182126	return nil, false
182127}
182128
182129// AsOracleSource is the BasicCopySource implementation for VerticaSource.
182130func (vs VerticaSource) AsOracleSource() (*OracleSource, bool) {
182131	return nil, false
182132}
182133
182134// AsAzureDataExplorerSource is the BasicCopySource implementation for VerticaSource.
182135func (vs VerticaSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) {
182136	return nil, false
182137}
182138
182139// AsAzureMySQLSource is the BasicCopySource implementation for VerticaSource.
182140func (vs VerticaSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
182141	return nil, false
182142}
182143
182144// AsHdfsSource is the BasicCopySource implementation for VerticaSource.
182145func (vs VerticaSource) AsHdfsSource() (*HdfsSource, bool) {
182146	return nil, false
182147}
182148
182149// AsFileSystemSource is the BasicCopySource implementation for VerticaSource.
182150func (vs VerticaSource) AsFileSystemSource() (*FileSystemSource, bool) {
182151	return nil, false
182152}
182153
182154// AsSQLDWSource is the BasicCopySource implementation for VerticaSource.
182155func (vs VerticaSource) AsSQLDWSource() (*SQLDWSource, bool) {
182156	return nil, false
182157}
182158
182159// AsSQLMISource is the BasicCopySource implementation for VerticaSource.
182160func (vs VerticaSource) AsSQLMISource() (*SQLMISource, bool) {
182161	return nil, false
182162}
182163
182164// AsAzureSQLSource is the BasicCopySource implementation for VerticaSource.
182165func (vs VerticaSource) AsAzureSQLSource() (*AzureSQLSource, bool) {
182166	return nil, false
182167}
182168
182169// AsSQLServerSource is the BasicCopySource implementation for VerticaSource.
182170func (vs VerticaSource) AsSQLServerSource() (*SQLServerSource, bool) {
182171	return nil, false
182172}
182173
182174// AsSQLSource is the BasicCopySource implementation for VerticaSource.
182175func (vs VerticaSource) AsSQLSource() (*SQLSource, bool) {
182176	return nil, false
182177}
182178
182179// AsRestSource is the BasicCopySource implementation for VerticaSource.
182180func (vs VerticaSource) AsRestSource() (*RestSource, bool) {
182181	return nil, false
182182}
182183
182184// AsSapTableSource is the BasicCopySource implementation for VerticaSource.
182185func (vs VerticaSource) AsSapTableSource() (*SapTableSource, bool) {
182186	return nil, false
182187}
182188
182189// AsSapOpenHubSource is the BasicCopySource implementation for VerticaSource.
182190func (vs VerticaSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) {
182191	return nil, false
182192}
182193
182194// AsSapHanaSource is the BasicCopySource implementation for VerticaSource.
182195func (vs VerticaSource) AsSapHanaSource() (*SapHanaSource, bool) {
182196	return nil, false
182197}
182198
182199// AsSapEccSource is the BasicCopySource implementation for VerticaSource.
182200func (vs VerticaSource) AsSapEccSource() (*SapEccSource, bool) {
182201	return nil, false
182202}
182203
182204// AsSapCloudForCustomerSource is the BasicCopySource implementation for VerticaSource.
182205func (vs VerticaSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
182206	return nil, false
182207}
182208
182209// AsSalesforceServiceCloudSource is the BasicCopySource implementation for VerticaSource.
182210func (vs VerticaSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) {
182211	return nil, false
182212}
182213
182214// AsSalesforceSource is the BasicCopySource implementation for VerticaSource.
182215func (vs VerticaSource) AsSalesforceSource() (*SalesforceSource, bool) {
182216	return nil, false
182217}
182218
182219// AsODataSource is the BasicCopySource implementation for VerticaSource.
182220func (vs VerticaSource) AsODataSource() (*ODataSource, bool) {
182221	return nil, false
182222}
182223
182224// AsSybaseSource is the BasicCopySource implementation for VerticaSource.
182225func (vs VerticaSource) AsSybaseSource() (*SybaseSource, bool) {
182226	return nil, false
182227}
182228
182229// AsPostgreSQLSource is the BasicCopySource implementation for VerticaSource.
182230func (vs VerticaSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) {
182231	return nil, false
182232}
182233
182234// AsMySQLSource is the BasicCopySource implementation for VerticaSource.
182235func (vs VerticaSource) AsMySQLSource() (*MySQLSource, bool) {
182236	return nil, false
182237}
182238
182239// AsOdbcSource is the BasicCopySource implementation for VerticaSource.
182240func (vs VerticaSource) AsOdbcSource() (*OdbcSource, bool) {
182241	return nil, false
182242}
182243
182244// AsDb2Source is the BasicCopySource implementation for VerticaSource.
182245func (vs VerticaSource) AsDb2Source() (*Db2Source, bool) {
182246	return nil, false
182247}
182248
182249// AsMicrosoftAccessSource is the BasicCopySource implementation for VerticaSource.
182250func (vs VerticaSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) {
182251	return nil, false
182252}
182253
182254// AsInformixSource is the BasicCopySource implementation for VerticaSource.
182255func (vs VerticaSource) AsInformixSource() (*InformixSource, bool) {
182256	return nil, false
182257}
182258
182259// AsRelationalSource is the BasicCopySource implementation for VerticaSource.
182260func (vs VerticaSource) AsRelationalSource() (*RelationalSource, bool) {
182261	return nil, false
182262}
182263
182264// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for VerticaSource.
182265func (vs VerticaSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) {
182266	return nil, false
182267}
182268
182269// AsDynamicsCrmSource is the BasicCopySource implementation for VerticaSource.
182270func (vs VerticaSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) {
182271	return nil, false
182272}
182273
182274// AsDynamicsSource is the BasicCopySource implementation for VerticaSource.
182275func (vs VerticaSource) AsDynamicsSource() (*DynamicsSource, bool) {
182276	return nil, false
182277}
182278
182279// AsDocumentDbCollectionSource is the BasicCopySource implementation for VerticaSource.
182280func (vs VerticaSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
182281	return nil, false
182282}
182283
182284// AsBlobSource is the BasicCopySource implementation for VerticaSource.
182285func (vs VerticaSource) AsBlobSource() (*BlobSource, bool) {
182286	return nil, false
182287}
182288
182289// AsAzureTableSource is the BasicCopySource implementation for VerticaSource.
182290func (vs VerticaSource) AsAzureTableSource() (*AzureTableSource, bool) {
182291	return nil, false
182292}
182293
182294// AsBinarySource is the BasicCopySource implementation for VerticaSource.
182295func (vs VerticaSource) AsBinarySource() (*BinarySource, bool) {
182296	return nil, false
182297}
182298
182299// AsDelimitedTextSource is the BasicCopySource implementation for VerticaSource.
182300func (vs VerticaSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) {
182301	return nil, false
182302}
182303
182304// AsParquetSource is the BasicCopySource implementation for VerticaSource.
182305func (vs VerticaSource) AsParquetSource() (*ParquetSource, bool) {
182306	return nil, false
182307}
182308
182309// AsCopySource is the BasicCopySource implementation for VerticaSource.
182310func (vs VerticaSource) AsCopySource() (*CopySource, bool) {
182311	return nil, false
182312}
182313
182314// AsBasicCopySource is the BasicCopySource implementation for VerticaSource.
182315func (vs VerticaSource) AsBasicCopySource() (BasicCopySource, bool) {
182316	return &vs, true
182317}
182318
182319// UnmarshalJSON is the custom unmarshaler for VerticaSource struct.
182320func (vs *VerticaSource) UnmarshalJSON(body []byte) error {
182321	var m map[string]*json.RawMessage
182322	err := json.Unmarshal(body, &m)
182323	if err != nil {
182324		return err
182325	}
182326	for k, v := range m {
182327		switch k {
182328		case "query":
182329			if v != nil {
182330				var query interface{}
182331				err = json.Unmarshal(*v, &query)
182332				if err != nil {
182333					return err
182334				}
182335				vs.Query = query
182336			}
182337		default:
182338			if v != nil {
182339				var additionalProperties interface{}
182340				err = json.Unmarshal(*v, &additionalProperties)
182341				if err != nil {
182342					return err
182343				}
182344				if vs.AdditionalProperties == nil {
182345					vs.AdditionalProperties = make(map[string]interface{})
182346				}
182347				vs.AdditionalProperties[k] = additionalProperties
182348			}
182349		case "sourceRetryCount":
182350			if v != nil {
182351				var sourceRetryCount interface{}
182352				err = json.Unmarshal(*v, &sourceRetryCount)
182353				if err != nil {
182354					return err
182355				}
182356				vs.SourceRetryCount = sourceRetryCount
182357			}
182358		case "sourceRetryWait":
182359			if v != nil {
182360				var sourceRetryWait interface{}
182361				err = json.Unmarshal(*v, &sourceRetryWait)
182362				if err != nil {
182363					return err
182364				}
182365				vs.SourceRetryWait = sourceRetryWait
182366			}
182367		case "maxConcurrentConnections":
182368			if v != nil {
182369				var maxConcurrentConnections interface{}
182370				err = json.Unmarshal(*v, &maxConcurrentConnections)
182371				if err != nil {
182372					return err
182373				}
182374				vs.MaxConcurrentConnections = maxConcurrentConnections
182375			}
182376		case "type":
182377			if v != nil {
182378				var typeVar TypeBasicCopySource
182379				err = json.Unmarshal(*v, &typeVar)
182380				if err != nil {
182381					return err
182382				}
182383				vs.Type = typeVar
182384			}
182385		}
182386	}
182387
182388	return nil
182389}
182390
182391// VerticaTableDataset vertica dataset.
182392type VerticaTableDataset struct {
182393	// GenericDatasetTypeProperties - Properties specific to this dataset type.
182394	*GenericDatasetTypeProperties `json:"typeProperties,omitempty"`
182395	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
182396	AdditionalProperties map[string]interface{} `json:""`
182397	// Description - Dataset description.
182398	Description *string `json:"description,omitempty"`
182399	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
182400	Structure interface{} `json:"structure,omitempty"`
182401	// Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement.
182402	Schema interface{} `json:"schema,omitempty"`
182403	// LinkedServiceName - Linked service reference.
182404	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
182405	// Parameters - Parameters for dataset.
182406	Parameters map[string]*ParameterSpecification `json:"parameters"`
182407	// Annotations - List of tags that can be used for describing the Dataset.
182408	Annotations *[]interface{} `json:"annotations,omitempty"`
182409	// Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level.
182410	Folder *DatasetFolder `json:"folder,omitempty"`
182411	// Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', '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', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeDelimitedText', 'TypeParquet', 'TypeAmazonS3Object'
182412	Type TypeBasicDataset `json:"type,omitempty"`
182413}
182414
182415// MarshalJSON is the custom marshaler for VerticaTableDataset.
182416func (vtd VerticaTableDataset) MarshalJSON() ([]byte, error) {
182417	vtd.Type = TypeVerticaTable
182418	objectMap := make(map[string]interface{})
182419	if vtd.GenericDatasetTypeProperties != nil {
182420		objectMap["typeProperties"] = vtd.GenericDatasetTypeProperties
182421	}
182422	if vtd.Description != nil {
182423		objectMap["description"] = vtd.Description
182424	}
182425	if vtd.Structure != nil {
182426		objectMap["structure"] = vtd.Structure
182427	}
182428	if vtd.Schema != nil {
182429		objectMap["schema"] = vtd.Schema
182430	}
182431	if vtd.LinkedServiceName != nil {
182432		objectMap["linkedServiceName"] = vtd.LinkedServiceName
182433	}
182434	if vtd.Parameters != nil {
182435		objectMap["parameters"] = vtd.Parameters
182436	}
182437	if vtd.Annotations != nil {
182438		objectMap["annotations"] = vtd.Annotations
182439	}
182440	if vtd.Folder != nil {
182441		objectMap["folder"] = vtd.Folder
182442	}
182443	if vtd.Type != "" {
182444		objectMap["type"] = vtd.Type
182445	}
182446	for k, v := range vtd.AdditionalProperties {
182447		objectMap[k] = v
182448	}
182449	return json.Marshal(objectMap)
182450}
182451
182452// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for VerticaTableDataset.
182453func (vtd VerticaTableDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) {
182454	return nil, false
182455}
182456
182457// AsAzureDataExplorerTableDataset is the BasicDataset implementation for VerticaTableDataset.
182458func (vtd VerticaTableDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) {
182459	return nil, false
182460}
182461
182462// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for VerticaTableDataset.
182463func (vtd VerticaTableDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) {
182464	return nil, false
182465}
182466
182467// AsDynamicsAXResourceDataset is the BasicDataset implementation for VerticaTableDataset.
182468func (vtd VerticaTableDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) {
182469	return nil, false
182470}
182471
182472// AsResponsysObjectDataset is the BasicDataset implementation for VerticaTableDataset.
182473func (vtd VerticaTableDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
182474	return nil, false
182475}
182476
182477// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for VerticaTableDataset.
182478func (vtd VerticaTableDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
182479	return nil, false
182480}
182481
182482// AsVerticaTableDataset is the BasicDataset implementation for VerticaTableDataset.
182483func (vtd VerticaTableDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
182484	return &vtd, true
182485}
182486
182487// AsNetezzaTableDataset is the BasicDataset implementation for VerticaTableDataset.
182488func (vtd VerticaTableDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
182489	return nil, false
182490}
182491
182492// AsZohoObjectDataset is the BasicDataset implementation for VerticaTableDataset.
182493func (vtd VerticaTableDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
182494	return nil, false
182495}
182496
182497// AsXeroObjectDataset is the BasicDataset implementation for VerticaTableDataset.
182498func (vtd VerticaTableDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
182499	return nil, false
182500}
182501
182502// AsSquareObjectDataset is the BasicDataset implementation for VerticaTableDataset.
182503func (vtd VerticaTableDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
182504	return nil, false
182505}
182506
182507// AsSparkObjectDataset is the BasicDataset implementation for VerticaTableDataset.
182508func (vtd VerticaTableDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
182509	return nil, false
182510}
182511
182512// AsShopifyObjectDataset is the BasicDataset implementation for VerticaTableDataset.
182513func (vtd VerticaTableDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
182514	return nil, false
182515}
182516
182517// AsServiceNowObjectDataset is the BasicDataset implementation for VerticaTableDataset.
182518func (vtd VerticaTableDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
182519	return nil, false
182520}
182521
182522// AsQuickBooksObjectDataset is the BasicDataset implementation for VerticaTableDataset.
182523func (vtd VerticaTableDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
182524	return nil, false
182525}
182526
182527// AsPrestoObjectDataset is the BasicDataset implementation for VerticaTableDataset.
182528func (vtd VerticaTableDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
182529	return nil, false
182530}
182531
182532// AsPhoenixObjectDataset is the BasicDataset implementation for VerticaTableDataset.
182533func (vtd VerticaTableDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
182534	return nil, false
182535}
182536
182537// AsPaypalObjectDataset is the BasicDataset implementation for VerticaTableDataset.
182538func (vtd VerticaTableDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
182539	return nil, false
182540}
182541
182542// AsMarketoObjectDataset is the BasicDataset implementation for VerticaTableDataset.
182543func (vtd VerticaTableDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
182544	return nil, false
182545}
182546
182547// AsMariaDBTableDataset is the BasicDataset implementation for VerticaTableDataset.
182548func (vtd VerticaTableDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
182549	return nil, false
182550}
182551
182552// AsMagentoObjectDataset is the BasicDataset implementation for VerticaTableDataset.
182553func (vtd VerticaTableDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
182554	return nil, false
182555}
182556
182557// AsJiraObjectDataset is the BasicDataset implementation for VerticaTableDataset.
182558func (vtd VerticaTableDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
182559	return nil, false
182560}
182561
182562// AsImpalaObjectDataset is the BasicDataset implementation for VerticaTableDataset.
182563func (vtd VerticaTableDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
182564	return nil, false
182565}
182566
182567// AsHubspotObjectDataset is the BasicDataset implementation for VerticaTableDataset.
182568func (vtd VerticaTableDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
182569	return nil, false
182570}
182571
182572// AsHiveObjectDataset is the BasicDataset implementation for VerticaTableDataset.
182573func (vtd VerticaTableDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
182574	return nil, false
182575}
182576
182577// AsHBaseObjectDataset is the BasicDataset implementation for VerticaTableDataset.
182578func (vtd VerticaTableDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
182579	return nil, false
182580}
182581
182582// AsGreenplumTableDataset is the BasicDataset implementation for VerticaTableDataset.
182583func (vtd VerticaTableDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
182584	return nil, false
182585}
182586
182587// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for VerticaTableDataset.
182588func (vtd VerticaTableDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
182589	return nil, false
182590}
182591
182592// AsEloquaObjectDataset is the BasicDataset implementation for VerticaTableDataset.
182593func (vtd VerticaTableDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
182594	return nil, false
182595}
182596
182597// AsDrillTableDataset is the BasicDataset implementation for VerticaTableDataset.
182598func (vtd VerticaTableDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
182599	return nil, false
182600}
182601
182602// AsCouchbaseTableDataset is the BasicDataset implementation for VerticaTableDataset.
182603func (vtd VerticaTableDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
182604	return nil, false
182605}
182606
182607// AsConcurObjectDataset is the BasicDataset implementation for VerticaTableDataset.
182608func (vtd VerticaTableDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
182609	return nil, false
182610}
182611
182612// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for VerticaTableDataset.
182613func (vtd VerticaTableDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
182614	return nil, false
182615}
182616
182617// AsAmazonMWSObjectDataset is the BasicDataset implementation for VerticaTableDataset.
182618func (vtd VerticaTableDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
182619	return nil, false
182620}
182621
182622// AsHTTPDataset is the BasicDataset implementation for VerticaTableDataset.
182623func (vtd VerticaTableDataset) AsHTTPDataset() (*HTTPDataset, bool) {
182624	return nil, false
182625}
182626
182627// AsAzureSearchIndexDataset is the BasicDataset implementation for VerticaTableDataset.
182628func (vtd VerticaTableDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
182629	return nil, false
182630}
182631
182632// AsWebTableDataset is the BasicDataset implementation for VerticaTableDataset.
182633func (vtd VerticaTableDataset) AsWebTableDataset() (*WebTableDataset, bool) {
182634	return nil, false
182635}
182636
182637// AsSapTableResourceDataset is the BasicDataset implementation for VerticaTableDataset.
182638func (vtd VerticaTableDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) {
182639	return nil, false
182640}
182641
182642// AsRestResourceDataset is the BasicDataset implementation for VerticaTableDataset.
182643func (vtd VerticaTableDataset) AsRestResourceDataset() (*RestResourceDataset, bool) {
182644	return nil, false
182645}
182646
182647// AsSQLServerTableDataset is the BasicDataset implementation for VerticaTableDataset.
182648func (vtd VerticaTableDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
182649	return nil, false
182650}
182651
182652// AsSapOpenHubTableDataset is the BasicDataset implementation for VerticaTableDataset.
182653func (vtd VerticaTableDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) {
182654	return nil, false
182655}
182656
182657// AsSapHanaTableDataset is the BasicDataset implementation for VerticaTableDataset.
182658func (vtd VerticaTableDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) {
182659	return nil, false
182660}
182661
182662// AsSapEccResourceDataset is the BasicDataset implementation for VerticaTableDataset.
182663func (vtd VerticaTableDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
182664	return nil, false
182665}
182666
182667// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for VerticaTableDataset.
182668func (vtd VerticaTableDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
182669	return nil, false
182670}
182671
182672// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for VerticaTableDataset.
182673func (vtd VerticaTableDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) {
182674	return nil, false
182675}
182676
182677// AsSalesforceObjectDataset is the BasicDataset implementation for VerticaTableDataset.
182678func (vtd VerticaTableDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
182679	return nil, false
182680}
182681
182682// AsMicrosoftAccessTableDataset is the BasicDataset implementation for VerticaTableDataset.
182683func (vtd VerticaTableDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) {
182684	return nil, false
182685}
182686
182687// AsPostgreSQLTableDataset is the BasicDataset implementation for VerticaTableDataset.
182688func (vtd VerticaTableDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) {
182689	return nil, false
182690}
182691
182692// AsMySQLTableDataset is the BasicDataset implementation for VerticaTableDataset.
182693func (vtd VerticaTableDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) {
182694	return nil, false
182695}
182696
182697// AsOdbcTableDataset is the BasicDataset implementation for VerticaTableDataset.
182698func (vtd VerticaTableDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) {
182699	return nil, false
182700}
182701
182702// AsInformixTableDataset is the BasicDataset implementation for VerticaTableDataset.
182703func (vtd VerticaTableDataset) AsInformixTableDataset() (*InformixTableDataset, bool) {
182704	return nil, false
182705}
182706
182707// AsRelationalTableDataset is the BasicDataset implementation for VerticaTableDataset.
182708func (vtd VerticaTableDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
182709	return nil, false
182710}
182711
182712// AsAzureMySQLTableDataset is the BasicDataset implementation for VerticaTableDataset.
182713func (vtd VerticaTableDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
182714	return nil, false
182715}
182716
182717// AsTeradataTableDataset is the BasicDataset implementation for VerticaTableDataset.
182718func (vtd VerticaTableDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) {
182719	return nil, false
182720}
182721
182722// AsOracleTableDataset is the BasicDataset implementation for VerticaTableDataset.
182723func (vtd VerticaTableDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
182724	return nil, false
182725}
182726
182727// AsODataResourceDataset is the BasicDataset implementation for VerticaTableDataset.
182728func (vtd VerticaTableDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
182729	return nil, false
182730}
182731
182732// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for VerticaTableDataset.
182733func (vtd VerticaTableDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) {
182734	return nil, false
182735}
182736
182737// AsMongoDbV2CollectionDataset is the BasicDataset implementation for VerticaTableDataset.
182738func (vtd VerticaTableDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) {
182739	return nil, false
182740}
182741
182742// AsMongoDbCollectionDataset is the BasicDataset implementation for VerticaTableDataset.
182743func (vtd VerticaTableDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
182744	return nil, false
182745}
182746
182747// AsFileShareDataset is the BasicDataset implementation for VerticaTableDataset.
182748func (vtd VerticaTableDataset) AsFileShareDataset() (*FileShareDataset, bool) {
182749	return nil, false
182750}
182751
182752// AsOffice365Dataset is the BasicDataset implementation for VerticaTableDataset.
182753func (vtd VerticaTableDataset) AsOffice365Dataset() (*Office365Dataset, bool) {
182754	return nil, false
182755}
182756
182757// AsAzureBlobFSDataset is the BasicDataset implementation for VerticaTableDataset.
182758func (vtd VerticaTableDataset) AsAzureBlobFSDataset() (*AzureBlobFSDataset, bool) {
182759	return nil, false
182760}
182761
182762// AsAzureDataLakeStoreDataset is the BasicDataset implementation for VerticaTableDataset.
182763func (vtd VerticaTableDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) {
182764	return nil, false
182765}
182766
182767// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for VerticaTableDataset.
182768func (vtd VerticaTableDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) {
182769	return nil, false
182770}
182771
182772// AsDynamicsCrmEntityDataset is the BasicDataset implementation for VerticaTableDataset.
182773func (vtd VerticaTableDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) {
182774	return nil, false
182775}
182776
182777// AsDynamicsEntityDataset is the BasicDataset implementation for VerticaTableDataset.
182778func (vtd VerticaTableDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
182779	return nil, false
182780}
182781
182782// AsDocumentDbCollectionDataset is the BasicDataset implementation for VerticaTableDataset.
182783func (vtd VerticaTableDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
182784	return nil, false
182785}
182786
182787// AsCustomDataset is the BasicDataset implementation for VerticaTableDataset.
182788func (vtd VerticaTableDataset) AsCustomDataset() (*CustomDataset, bool) {
182789	return nil, false
182790}
182791
182792// AsCassandraTableDataset is the BasicDataset implementation for VerticaTableDataset.
182793func (vtd VerticaTableDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
182794	return nil, false
182795}
182796
182797// AsAzureSQLDWTableDataset is the BasicDataset implementation for VerticaTableDataset.
182798func (vtd VerticaTableDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
182799	return nil, false
182800}
182801
182802// AsAzureSQLMITableDataset is the BasicDataset implementation for VerticaTableDataset.
182803func (vtd VerticaTableDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) {
182804	return nil, false
182805}
182806
182807// AsAzureSQLTableDataset is the BasicDataset implementation for VerticaTableDataset.
182808func (vtd VerticaTableDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
182809	return nil, false
182810}
182811
182812// AsAzureTableDataset is the BasicDataset implementation for VerticaTableDataset.
182813func (vtd VerticaTableDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
182814	return nil, false
182815}
182816
182817// AsAzureBlobDataset is the BasicDataset implementation for VerticaTableDataset.
182818func (vtd VerticaTableDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) {
182819	return nil, false
182820}
182821
182822// AsBinaryDataset is the BasicDataset implementation for VerticaTableDataset.
182823func (vtd VerticaTableDataset) AsBinaryDataset() (*BinaryDataset, bool) {
182824	return nil, false
182825}
182826
182827// AsDelimitedTextDataset is the BasicDataset implementation for VerticaTableDataset.
182828func (vtd VerticaTableDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) {
182829	return nil, false
182830}
182831
182832// AsParquetDataset is the BasicDataset implementation for VerticaTableDataset.
182833func (vtd VerticaTableDataset) AsParquetDataset() (*ParquetDataset, bool) {
182834	return nil, false
182835}
182836
182837// AsAmazonS3Dataset is the BasicDataset implementation for VerticaTableDataset.
182838func (vtd VerticaTableDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) {
182839	return nil, false
182840}
182841
182842// AsDataset is the BasicDataset implementation for VerticaTableDataset.
182843func (vtd VerticaTableDataset) AsDataset() (*Dataset, bool) {
182844	return nil, false
182845}
182846
182847// AsBasicDataset is the BasicDataset implementation for VerticaTableDataset.
182848func (vtd VerticaTableDataset) AsBasicDataset() (BasicDataset, bool) {
182849	return &vtd, true
182850}
182851
182852// UnmarshalJSON is the custom unmarshaler for VerticaTableDataset struct.
182853func (vtd *VerticaTableDataset) UnmarshalJSON(body []byte) error {
182854	var m map[string]*json.RawMessage
182855	err := json.Unmarshal(body, &m)
182856	if err != nil {
182857		return err
182858	}
182859	for k, v := range m {
182860		switch k {
182861		case "typeProperties":
182862			if v != nil {
182863				var genericDatasetTypeProperties GenericDatasetTypeProperties
182864				err = json.Unmarshal(*v, &genericDatasetTypeProperties)
182865				if err != nil {
182866					return err
182867				}
182868				vtd.GenericDatasetTypeProperties = &genericDatasetTypeProperties
182869			}
182870		default:
182871			if v != nil {
182872				var additionalProperties interface{}
182873				err = json.Unmarshal(*v, &additionalProperties)
182874				if err != nil {
182875					return err
182876				}
182877				if vtd.AdditionalProperties == nil {
182878					vtd.AdditionalProperties = make(map[string]interface{})
182879				}
182880				vtd.AdditionalProperties[k] = additionalProperties
182881			}
182882		case "description":
182883			if v != nil {
182884				var description string
182885				err = json.Unmarshal(*v, &description)
182886				if err != nil {
182887					return err
182888				}
182889				vtd.Description = &description
182890			}
182891		case "structure":
182892			if v != nil {
182893				var structure interface{}
182894				err = json.Unmarshal(*v, &structure)
182895				if err != nil {
182896					return err
182897				}
182898				vtd.Structure = structure
182899			}
182900		case "schema":
182901			if v != nil {
182902				var schema interface{}
182903				err = json.Unmarshal(*v, &schema)
182904				if err != nil {
182905					return err
182906				}
182907				vtd.Schema = schema
182908			}
182909		case "linkedServiceName":
182910			if v != nil {
182911				var linkedServiceName LinkedServiceReference
182912				err = json.Unmarshal(*v, &linkedServiceName)
182913				if err != nil {
182914					return err
182915				}
182916				vtd.LinkedServiceName = &linkedServiceName
182917			}
182918		case "parameters":
182919			if v != nil {
182920				var parameters map[string]*ParameterSpecification
182921				err = json.Unmarshal(*v, &parameters)
182922				if err != nil {
182923					return err
182924				}
182925				vtd.Parameters = parameters
182926			}
182927		case "annotations":
182928			if v != nil {
182929				var annotations []interface{}
182930				err = json.Unmarshal(*v, &annotations)
182931				if err != nil {
182932					return err
182933				}
182934				vtd.Annotations = &annotations
182935			}
182936		case "folder":
182937			if v != nil {
182938				var folder DatasetFolder
182939				err = json.Unmarshal(*v, &folder)
182940				if err != nil {
182941					return err
182942				}
182943				vtd.Folder = &folder
182944			}
182945		case "type":
182946			if v != nil {
182947				var typeVar TypeBasicDataset
182948				err = json.Unmarshal(*v, &typeVar)
182949				if err != nil {
182950					return err
182951				}
182952				vtd.Type = typeVar
182953			}
182954		}
182955	}
182956
182957	return nil
182958}
182959
182960// WaitActivity this activity suspends pipeline execution for the specified interval.
182961type WaitActivity struct {
182962	// WaitActivityTypeProperties - Wait activity properties.
182963	*WaitActivityTypeProperties `json:"typeProperties,omitempty"`
182964	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
182965	AdditionalProperties map[string]interface{} `json:""`
182966	// Name - Activity name.
182967	Name *string `json:"name,omitempty"`
182968	// Description - Activity description.
182969	Description *string `json:"description,omitempty"`
182970	// DependsOn - Activity depends on condition.
182971	DependsOn *[]ActivityDependency `json:"dependsOn,omitempty"`
182972	// UserProperties - Activity user properties.
182973	UserProperties *[]UserProperty `json:"userProperties,omitempty"`
182974	// Type - Possible values include: 'TypeActivity', 'TypeAzureFunctionActivity', 'TypeDatabricksSparkPython', 'TypeDatabricksSparkJar', 'TypeDatabricksNotebook', 'TypeDataLakeAnalyticsUSQL', 'TypeAzureMLUpdateResource', 'TypeAzureMLBatchExecution', 'TypeGetMetadata', 'TypeWebActivity', 'TypeLookup', 'TypeAzureDataExplorerCommand', 'TypeDelete', 'TypeSQLServerStoredProcedure', 'TypeCustom', 'TypeExecuteSSISPackage', 'TypeHDInsightSpark', 'TypeHDInsightStreaming', 'TypeHDInsightMapReduce', 'TypeHDInsightPig', 'TypeHDInsightHive', 'TypeCopy', 'TypeExecution', 'TypeWebHook', 'TypeAppendVariable', 'TypeSetVariable', 'TypeFilter', 'TypeValidation', 'TypeUntil', 'TypeWait', 'TypeForEach', 'TypeIfCondition', 'TypeExecutePipeline', 'TypeContainer'
182975	Type TypeBasicActivity `json:"type,omitempty"`
182976}
182977
182978// MarshalJSON is the custom marshaler for WaitActivity.
182979func (wa WaitActivity) MarshalJSON() ([]byte, error) {
182980	wa.Type = TypeWait
182981	objectMap := make(map[string]interface{})
182982	if wa.WaitActivityTypeProperties != nil {
182983		objectMap["typeProperties"] = wa.WaitActivityTypeProperties
182984	}
182985	if wa.Name != nil {
182986		objectMap["name"] = wa.Name
182987	}
182988	if wa.Description != nil {
182989		objectMap["description"] = wa.Description
182990	}
182991	if wa.DependsOn != nil {
182992		objectMap["dependsOn"] = wa.DependsOn
182993	}
182994	if wa.UserProperties != nil {
182995		objectMap["userProperties"] = wa.UserProperties
182996	}
182997	if wa.Type != "" {
182998		objectMap["type"] = wa.Type
182999	}
183000	for k, v := range wa.AdditionalProperties {
183001		objectMap[k] = v
183002	}
183003	return json.Marshal(objectMap)
183004}
183005
183006// AsAzureFunctionActivity is the BasicActivity implementation for WaitActivity.
183007func (wa WaitActivity) AsAzureFunctionActivity() (*AzureFunctionActivity, bool) {
183008	return nil, false
183009}
183010
183011// AsDatabricksSparkPythonActivity is the BasicActivity implementation for WaitActivity.
183012func (wa WaitActivity) AsDatabricksSparkPythonActivity() (*DatabricksSparkPythonActivity, bool) {
183013	return nil, false
183014}
183015
183016// AsDatabricksSparkJarActivity is the BasicActivity implementation for WaitActivity.
183017func (wa WaitActivity) AsDatabricksSparkJarActivity() (*DatabricksSparkJarActivity, bool) {
183018	return nil, false
183019}
183020
183021// AsDatabricksNotebookActivity is the BasicActivity implementation for WaitActivity.
183022func (wa WaitActivity) AsDatabricksNotebookActivity() (*DatabricksNotebookActivity, bool) {
183023	return nil, false
183024}
183025
183026// AsDataLakeAnalyticsUSQLActivity is the BasicActivity implementation for WaitActivity.
183027func (wa WaitActivity) AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalyticsUSQLActivity, bool) {
183028	return nil, false
183029}
183030
183031// AsAzureMLUpdateResourceActivity is the BasicActivity implementation for WaitActivity.
183032func (wa WaitActivity) AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool) {
183033	return nil, false
183034}
183035
183036// AsAzureMLBatchExecutionActivity is the BasicActivity implementation for WaitActivity.
183037func (wa WaitActivity) AsAzureMLBatchExecutionActivity() (*AzureMLBatchExecutionActivity, bool) {
183038	return nil, false
183039}
183040
183041// AsGetMetadataActivity is the BasicActivity implementation for WaitActivity.
183042func (wa WaitActivity) AsGetMetadataActivity() (*GetMetadataActivity, bool) {
183043	return nil, false
183044}
183045
183046// AsWebActivity is the BasicActivity implementation for WaitActivity.
183047func (wa WaitActivity) AsWebActivity() (*WebActivity, bool) {
183048	return nil, false
183049}
183050
183051// AsLookupActivity is the BasicActivity implementation for WaitActivity.
183052func (wa WaitActivity) AsLookupActivity() (*LookupActivity, bool) {
183053	return nil, false
183054}
183055
183056// AsAzureDataExplorerCommandActivity is the BasicActivity implementation for WaitActivity.
183057func (wa WaitActivity) AsAzureDataExplorerCommandActivity() (*AzureDataExplorerCommandActivity, bool) {
183058	return nil, false
183059}
183060
183061// AsDeleteActivity is the BasicActivity implementation for WaitActivity.
183062func (wa WaitActivity) AsDeleteActivity() (*DeleteActivity, bool) {
183063	return nil, false
183064}
183065
183066// AsSQLServerStoredProcedureActivity is the BasicActivity implementation for WaitActivity.
183067func (wa WaitActivity) AsSQLServerStoredProcedureActivity() (*SQLServerStoredProcedureActivity, bool) {
183068	return nil, false
183069}
183070
183071// AsCustomActivity is the BasicActivity implementation for WaitActivity.
183072func (wa WaitActivity) AsCustomActivity() (*CustomActivity, bool) {
183073	return nil, false
183074}
183075
183076// AsExecuteSSISPackageActivity is the BasicActivity implementation for WaitActivity.
183077func (wa WaitActivity) AsExecuteSSISPackageActivity() (*ExecuteSSISPackageActivity, bool) {
183078	return nil, false
183079}
183080
183081// AsHDInsightSparkActivity is the BasicActivity implementation for WaitActivity.
183082func (wa WaitActivity) AsHDInsightSparkActivity() (*HDInsightSparkActivity, bool) {
183083	return nil, false
183084}
183085
183086// AsHDInsightStreamingActivity is the BasicActivity implementation for WaitActivity.
183087func (wa WaitActivity) AsHDInsightStreamingActivity() (*HDInsightStreamingActivity, bool) {
183088	return nil, false
183089}
183090
183091// AsHDInsightMapReduceActivity is the BasicActivity implementation for WaitActivity.
183092func (wa WaitActivity) AsHDInsightMapReduceActivity() (*HDInsightMapReduceActivity, bool) {
183093	return nil, false
183094}
183095
183096// AsHDInsightPigActivity is the BasicActivity implementation for WaitActivity.
183097func (wa WaitActivity) AsHDInsightPigActivity() (*HDInsightPigActivity, bool) {
183098	return nil, false
183099}
183100
183101// AsHDInsightHiveActivity is the BasicActivity implementation for WaitActivity.
183102func (wa WaitActivity) AsHDInsightHiveActivity() (*HDInsightHiveActivity, bool) {
183103	return nil, false
183104}
183105
183106// AsCopyActivity is the BasicActivity implementation for WaitActivity.
183107func (wa WaitActivity) AsCopyActivity() (*CopyActivity, bool) {
183108	return nil, false
183109}
183110
183111// AsExecutionActivity is the BasicActivity implementation for WaitActivity.
183112func (wa WaitActivity) AsExecutionActivity() (*ExecutionActivity, bool) {
183113	return nil, false
183114}
183115
183116// AsBasicExecutionActivity is the BasicActivity implementation for WaitActivity.
183117func (wa WaitActivity) AsBasicExecutionActivity() (BasicExecutionActivity, bool) {
183118	return nil, false
183119}
183120
183121// AsWebHookActivity is the BasicActivity implementation for WaitActivity.
183122func (wa WaitActivity) AsWebHookActivity() (*WebHookActivity, bool) {
183123	return nil, false
183124}
183125
183126// AsAppendVariableActivity is the BasicActivity implementation for WaitActivity.
183127func (wa WaitActivity) AsAppendVariableActivity() (*AppendVariableActivity, bool) {
183128	return nil, false
183129}
183130
183131// AsSetVariableActivity is the BasicActivity implementation for WaitActivity.
183132func (wa WaitActivity) AsSetVariableActivity() (*SetVariableActivity, bool) {
183133	return nil, false
183134}
183135
183136// AsFilterActivity is the BasicActivity implementation for WaitActivity.
183137func (wa WaitActivity) AsFilterActivity() (*FilterActivity, bool) {
183138	return nil, false
183139}
183140
183141// AsValidationActivity is the BasicActivity implementation for WaitActivity.
183142func (wa WaitActivity) AsValidationActivity() (*ValidationActivity, bool) {
183143	return nil, false
183144}
183145
183146// AsUntilActivity is the BasicActivity implementation for WaitActivity.
183147func (wa WaitActivity) AsUntilActivity() (*UntilActivity, bool) {
183148	return nil, false
183149}
183150
183151// AsWaitActivity is the BasicActivity implementation for WaitActivity.
183152func (wa WaitActivity) AsWaitActivity() (*WaitActivity, bool) {
183153	return &wa, true
183154}
183155
183156// AsForEachActivity is the BasicActivity implementation for WaitActivity.
183157func (wa WaitActivity) AsForEachActivity() (*ForEachActivity, bool) {
183158	return nil, false
183159}
183160
183161// AsIfConditionActivity is the BasicActivity implementation for WaitActivity.
183162func (wa WaitActivity) AsIfConditionActivity() (*IfConditionActivity, bool) {
183163	return nil, false
183164}
183165
183166// AsExecutePipelineActivity is the BasicActivity implementation for WaitActivity.
183167func (wa WaitActivity) AsExecutePipelineActivity() (*ExecutePipelineActivity, bool) {
183168	return nil, false
183169}
183170
183171// AsControlActivity is the BasicActivity implementation for WaitActivity.
183172func (wa WaitActivity) AsControlActivity() (*ControlActivity, bool) {
183173	return nil, false
183174}
183175
183176// AsBasicControlActivity is the BasicActivity implementation for WaitActivity.
183177func (wa WaitActivity) AsBasicControlActivity() (BasicControlActivity, bool) {
183178	return &wa, true
183179}
183180
183181// AsActivity is the BasicActivity implementation for WaitActivity.
183182func (wa WaitActivity) AsActivity() (*Activity, bool) {
183183	return nil, false
183184}
183185
183186// AsBasicActivity is the BasicActivity implementation for WaitActivity.
183187func (wa WaitActivity) AsBasicActivity() (BasicActivity, bool) {
183188	return &wa, true
183189}
183190
183191// UnmarshalJSON is the custom unmarshaler for WaitActivity struct.
183192func (wa *WaitActivity) UnmarshalJSON(body []byte) error {
183193	var m map[string]*json.RawMessage
183194	err := json.Unmarshal(body, &m)
183195	if err != nil {
183196		return err
183197	}
183198	for k, v := range m {
183199		switch k {
183200		case "typeProperties":
183201			if v != nil {
183202				var waitActivityTypeProperties WaitActivityTypeProperties
183203				err = json.Unmarshal(*v, &waitActivityTypeProperties)
183204				if err != nil {
183205					return err
183206				}
183207				wa.WaitActivityTypeProperties = &waitActivityTypeProperties
183208			}
183209		default:
183210			if v != nil {
183211				var additionalProperties interface{}
183212				err = json.Unmarshal(*v, &additionalProperties)
183213				if err != nil {
183214					return err
183215				}
183216				if wa.AdditionalProperties == nil {
183217					wa.AdditionalProperties = make(map[string]interface{})
183218				}
183219				wa.AdditionalProperties[k] = additionalProperties
183220			}
183221		case "name":
183222			if v != nil {
183223				var name string
183224				err = json.Unmarshal(*v, &name)
183225				if err != nil {
183226					return err
183227				}
183228				wa.Name = &name
183229			}
183230		case "description":
183231			if v != nil {
183232				var description string
183233				err = json.Unmarshal(*v, &description)
183234				if err != nil {
183235					return err
183236				}
183237				wa.Description = &description
183238			}
183239		case "dependsOn":
183240			if v != nil {
183241				var dependsOn []ActivityDependency
183242				err = json.Unmarshal(*v, &dependsOn)
183243				if err != nil {
183244					return err
183245				}
183246				wa.DependsOn = &dependsOn
183247			}
183248		case "userProperties":
183249			if v != nil {
183250				var userProperties []UserProperty
183251				err = json.Unmarshal(*v, &userProperties)
183252				if err != nil {
183253					return err
183254				}
183255				wa.UserProperties = &userProperties
183256			}
183257		case "type":
183258			if v != nil {
183259				var typeVar TypeBasicActivity
183260				err = json.Unmarshal(*v, &typeVar)
183261				if err != nil {
183262					return err
183263				}
183264				wa.Type = typeVar
183265			}
183266		}
183267	}
183268
183269	return nil
183270}
183271
183272// WaitActivityTypeProperties wait activity properties.
183273type WaitActivityTypeProperties struct {
183274	// WaitTimeInSeconds - Duration in seconds.
183275	WaitTimeInSeconds *int32 `json:"waitTimeInSeconds,omitempty"`
183276}
183277
183278// WebActivity web activity.
183279type WebActivity struct {
183280	// WebActivityTypeProperties - Web activity properties.
183281	*WebActivityTypeProperties `json:"typeProperties,omitempty"`
183282	// LinkedServiceName - Linked service reference.
183283	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
183284	// Policy - Activity policy.
183285	Policy *ActivityPolicy `json:"policy,omitempty"`
183286	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
183287	AdditionalProperties map[string]interface{} `json:""`
183288	// Name - Activity name.
183289	Name *string `json:"name,omitempty"`
183290	// Description - Activity description.
183291	Description *string `json:"description,omitempty"`
183292	// DependsOn - Activity depends on condition.
183293	DependsOn *[]ActivityDependency `json:"dependsOn,omitempty"`
183294	// UserProperties - Activity user properties.
183295	UserProperties *[]UserProperty `json:"userProperties,omitempty"`
183296	// Type - Possible values include: 'TypeActivity', 'TypeAzureFunctionActivity', 'TypeDatabricksSparkPython', 'TypeDatabricksSparkJar', 'TypeDatabricksNotebook', 'TypeDataLakeAnalyticsUSQL', 'TypeAzureMLUpdateResource', 'TypeAzureMLBatchExecution', 'TypeGetMetadata', 'TypeWebActivity', 'TypeLookup', 'TypeAzureDataExplorerCommand', 'TypeDelete', 'TypeSQLServerStoredProcedure', 'TypeCustom', 'TypeExecuteSSISPackage', 'TypeHDInsightSpark', 'TypeHDInsightStreaming', 'TypeHDInsightMapReduce', 'TypeHDInsightPig', 'TypeHDInsightHive', 'TypeCopy', 'TypeExecution', 'TypeWebHook', 'TypeAppendVariable', 'TypeSetVariable', 'TypeFilter', 'TypeValidation', 'TypeUntil', 'TypeWait', 'TypeForEach', 'TypeIfCondition', 'TypeExecutePipeline', 'TypeContainer'
183297	Type TypeBasicActivity `json:"type,omitempty"`
183298}
183299
183300// MarshalJSON is the custom marshaler for WebActivity.
183301func (wa WebActivity) MarshalJSON() ([]byte, error) {
183302	wa.Type = TypeWebActivity
183303	objectMap := make(map[string]interface{})
183304	if wa.WebActivityTypeProperties != nil {
183305		objectMap["typeProperties"] = wa.WebActivityTypeProperties
183306	}
183307	if wa.LinkedServiceName != nil {
183308		objectMap["linkedServiceName"] = wa.LinkedServiceName
183309	}
183310	if wa.Policy != nil {
183311		objectMap["policy"] = wa.Policy
183312	}
183313	if wa.Name != nil {
183314		objectMap["name"] = wa.Name
183315	}
183316	if wa.Description != nil {
183317		objectMap["description"] = wa.Description
183318	}
183319	if wa.DependsOn != nil {
183320		objectMap["dependsOn"] = wa.DependsOn
183321	}
183322	if wa.UserProperties != nil {
183323		objectMap["userProperties"] = wa.UserProperties
183324	}
183325	if wa.Type != "" {
183326		objectMap["type"] = wa.Type
183327	}
183328	for k, v := range wa.AdditionalProperties {
183329		objectMap[k] = v
183330	}
183331	return json.Marshal(objectMap)
183332}
183333
183334// AsAzureFunctionActivity is the BasicActivity implementation for WebActivity.
183335func (wa WebActivity) AsAzureFunctionActivity() (*AzureFunctionActivity, bool) {
183336	return nil, false
183337}
183338
183339// AsDatabricksSparkPythonActivity is the BasicActivity implementation for WebActivity.
183340func (wa WebActivity) AsDatabricksSparkPythonActivity() (*DatabricksSparkPythonActivity, bool) {
183341	return nil, false
183342}
183343
183344// AsDatabricksSparkJarActivity is the BasicActivity implementation for WebActivity.
183345func (wa WebActivity) AsDatabricksSparkJarActivity() (*DatabricksSparkJarActivity, bool) {
183346	return nil, false
183347}
183348
183349// AsDatabricksNotebookActivity is the BasicActivity implementation for WebActivity.
183350func (wa WebActivity) AsDatabricksNotebookActivity() (*DatabricksNotebookActivity, bool) {
183351	return nil, false
183352}
183353
183354// AsDataLakeAnalyticsUSQLActivity is the BasicActivity implementation for WebActivity.
183355func (wa WebActivity) AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalyticsUSQLActivity, bool) {
183356	return nil, false
183357}
183358
183359// AsAzureMLUpdateResourceActivity is the BasicActivity implementation for WebActivity.
183360func (wa WebActivity) AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool) {
183361	return nil, false
183362}
183363
183364// AsAzureMLBatchExecutionActivity is the BasicActivity implementation for WebActivity.
183365func (wa WebActivity) AsAzureMLBatchExecutionActivity() (*AzureMLBatchExecutionActivity, bool) {
183366	return nil, false
183367}
183368
183369// AsGetMetadataActivity is the BasicActivity implementation for WebActivity.
183370func (wa WebActivity) AsGetMetadataActivity() (*GetMetadataActivity, bool) {
183371	return nil, false
183372}
183373
183374// AsWebActivity is the BasicActivity implementation for WebActivity.
183375func (wa WebActivity) AsWebActivity() (*WebActivity, bool) {
183376	return &wa, true
183377}
183378
183379// AsLookupActivity is the BasicActivity implementation for WebActivity.
183380func (wa WebActivity) AsLookupActivity() (*LookupActivity, bool) {
183381	return nil, false
183382}
183383
183384// AsAzureDataExplorerCommandActivity is the BasicActivity implementation for WebActivity.
183385func (wa WebActivity) AsAzureDataExplorerCommandActivity() (*AzureDataExplorerCommandActivity, bool) {
183386	return nil, false
183387}
183388
183389// AsDeleteActivity is the BasicActivity implementation for WebActivity.
183390func (wa WebActivity) AsDeleteActivity() (*DeleteActivity, bool) {
183391	return nil, false
183392}
183393
183394// AsSQLServerStoredProcedureActivity is the BasicActivity implementation for WebActivity.
183395func (wa WebActivity) AsSQLServerStoredProcedureActivity() (*SQLServerStoredProcedureActivity, bool) {
183396	return nil, false
183397}
183398
183399// AsCustomActivity is the BasicActivity implementation for WebActivity.
183400func (wa WebActivity) AsCustomActivity() (*CustomActivity, bool) {
183401	return nil, false
183402}
183403
183404// AsExecuteSSISPackageActivity is the BasicActivity implementation for WebActivity.
183405func (wa WebActivity) AsExecuteSSISPackageActivity() (*ExecuteSSISPackageActivity, bool) {
183406	return nil, false
183407}
183408
183409// AsHDInsightSparkActivity is the BasicActivity implementation for WebActivity.
183410func (wa WebActivity) AsHDInsightSparkActivity() (*HDInsightSparkActivity, bool) {
183411	return nil, false
183412}
183413
183414// AsHDInsightStreamingActivity is the BasicActivity implementation for WebActivity.
183415func (wa WebActivity) AsHDInsightStreamingActivity() (*HDInsightStreamingActivity, bool) {
183416	return nil, false
183417}
183418
183419// AsHDInsightMapReduceActivity is the BasicActivity implementation for WebActivity.
183420func (wa WebActivity) AsHDInsightMapReduceActivity() (*HDInsightMapReduceActivity, bool) {
183421	return nil, false
183422}
183423
183424// AsHDInsightPigActivity is the BasicActivity implementation for WebActivity.
183425func (wa WebActivity) AsHDInsightPigActivity() (*HDInsightPigActivity, bool) {
183426	return nil, false
183427}
183428
183429// AsHDInsightHiveActivity is the BasicActivity implementation for WebActivity.
183430func (wa WebActivity) AsHDInsightHiveActivity() (*HDInsightHiveActivity, bool) {
183431	return nil, false
183432}
183433
183434// AsCopyActivity is the BasicActivity implementation for WebActivity.
183435func (wa WebActivity) AsCopyActivity() (*CopyActivity, bool) {
183436	return nil, false
183437}
183438
183439// AsExecutionActivity is the BasicActivity implementation for WebActivity.
183440func (wa WebActivity) AsExecutionActivity() (*ExecutionActivity, bool) {
183441	return nil, false
183442}
183443
183444// AsBasicExecutionActivity is the BasicActivity implementation for WebActivity.
183445func (wa WebActivity) AsBasicExecutionActivity() (BasicExecutionActivity, bool) {
183446	return &wa, true
183447}
183448
183449// AsWebHookActivity is the BasicActivity implementation for WebActivity.
183450func (wa WebActivity) AsWebHookActivity() (*WebHookActivity, bool) {
183451	return nil, false
183452}
183453
183454// AsAppendVariableActivity is the BasicActivity implementation for WebActivity.
183455func (wa WebActivity) AsAppendVariableActivity() (*AppendVariableActivity, bool) {
183456	return nil, false
183457}
183458
183459// AsSetVariableActivity is the BasicActivity implementation for WebActivity.
183460func (wa WebActivity) AsSetVariableActivity() (*SetVariableActivity, bool) {
183461	return nil, false
183462}
183463
183464// AsFilterActivity is the BasicActivity implementation for WebActivity.
183465func (wa WebActivity) AsFilterActivity() (*FilterActivity, bool) {
183466	return nil, false
183467}
183468
183469// AsValidationActivity is the BasicActivity implementation for WebActivity.
183470func (wa WebActivity) AsValidationActivity() (*ValidationActivity, bool) {
183471	return nil, false
183472}
183473
183474// AsUntilActivity is the BasicActivity implementation for WebActivity.
183475func (wa WebActivity) AsUntilActivity() (*UntilActivity, bool) {
183476	return nil, false
183477}
183478
183479// AsWaitActivity is the BasicActivity implementation for WebActivity.
183480func (wa WebActivity) AsWaitActivity() (*WaitActivity, bool) {
183481	return nil, false
183482}
183483
183484// AsForEachActivity is the BasicActivity implementation for WebActivity.
183485func (wa WebActivity) AsForEachActivity() (*ForEachActivity, bool) {
183486	return nil, false
183487}
183488
183489// AsIfConditionActivity is the BasicActivity implementation for WebActivity.
183490func (wa WebActivity) AsIfConditionActivity() (*IfConditionActivity, bool) {
183491	return nil, false
183492}
183493
183494// AsExecutePipelineActivity is the BasicActivity implementation for WebActivity.
183495func (wa WebActivity) AsExecutePipelineActivity() (*ExecutePipelineActivity, bool) {
183496	return nil, false
183497}
183498
183499// AsControlActivity is the BasicActivity implementation for WebActivity.
183500func (wa WebActivity) AsControlActivity() (*ControlActivity, bool) {
183501	return nil, false
183502}
183503
183504// AsBasicControlActivity is the BasicActivity implementation for WebActivity.
183505func (wa WebActivity) AsBasicControlActivity() (BasicControlActivity, bool) {
183506	return nil, false
183507}
183508
183509// AsActivity is the BasicActivity implementation for WebActivity.
183510func (wa WebActivity) AsActivity() (*Activity, bool) {
183511	return nil, false
183512}
183513
183514// AsBasicActivity is the BasicActivity implementation for WebActivity.
183515func (wa WebActivity) AsBasicActivity() (BasicActivity, bool) {
183516	return &wa, true
183517}
183518
183519// UnmarshalJSON is the custom unmarshaler for WebActivity struct.
183520func (wa *WebActivity) UnmarshalJSON(body []byte) error {
183521	var m map[string]*json.RawMessage
183522	err := json.Unmarshal(body, &m)
183523	if err != nil {
183524		return err
183525	}
183526	for k, v := range m {
183527		switch k {
183528		case "typeProperties":
183529			if v != nil {
183530				var webActivityTypeProperties WebActivityTypeProperties
183531				err = json.Unmarshal(*v, &webActivityTypeProperties)
183532				if err != nil {
183533					return err
183534				}
183535				wa.WebActivityTypeProperties = &webActivityTypeProperties
183536			}
183537		case "linkedServiceName":
183538			if v != nil {
183539				var linkedServiceName LinkedServiceReference
183540				err = json.Unmarshal(*v, &linkedServiceName)
183541				if err != nil {
183542					return err
183543				}
183544				wa.LinkedServiceName = &linkedServiceName
183545			}
183546		case "policy":
183547			if v != nil {
183548				var policy ActivityPolicy
183549				err = json.Unmarshal(*v, &policy)
183550				if err != nil {
183551					return err
183552				}
183553				wa.Policy = &policy
183554			}
183555		default:
183556			if v != nil {
183557				var additionalProperties interface{}
183558				err = json.Unmarshal(*v, &additionalProperties)
183559				if err != nil {
183560					return err
183561				}
183562				if wa.AdditionalProperties == nil {
183563					wa.AdditionalProperties = make(map[string]interface{})
183564				}
183565				wa.AdditionalProperties[k] = additionalProperties
183566			}
183567		case "name":
183568			if v != nil {
183569				var name string
183570				err = json.Unmarshal(*v, &name)
183571				if err != nil {
183572					return err
183573				}
183574				wa.Name = &name
183575			}
183576		case "description":
183577			if v != nil {
183578				var description string
183579				err = json.Unmarshal(*v, &description)
183580				if err != nil {
183581					return err
183582				}
183583				wa.Description = &description
183584			}
183585		case "dependsOn":
183586			if v != nil {
183587				var dependsOn []ActivityDependency
183588				err = json.Unmarshal(*v, &dependsOn)
183589				if err != nil {
183590					return err
183591				}
183592				wa.DependsOn = &dependsOn
183593			}
183594		case "userProperties":
183595			if v != nil {
183596				var userProperties []UserProperty
183597				err = json.Unmarshal(*v, &userProperties)
183598				if err != nil {
183599					return err
183600				}
183601				wa.UserProperties = &userProperties
183602			}
183603		case "type":
183604			if v != nil {
183605				var typeVar TypeBasicActivity
183606				err = json.Unmarshal(*v, &typeVar)
183607				if err != nil {
183608					return err
183609				}
183610				wa.Type = typeVar
183611			}
183612		}
183613	}
183614
183615	return nil
183616}
183617
183618// WebActivityAuthentication web activity authentication properties.
183619type WebActivityAuthentication struct {
183620	// Type - Web activity authentication (Basic/ClientCertificate/MSI)
183621	Type *string `json:"type,omitempty"`
183622	// Pfx - Base64-encoded contents of a PFX file.
183623	Pfx *SecureString `json:"pfx,omitempty"`
183624	// Username - Web activity authentication user name for basic authentication.
183625	Username *string `json:"username,omitempty"`
183626	// Password - Password for the PFX file or basic authentication.
183627	Password *SecureString `json:"password,omitempty"`
183628	// Resource - Resource for which Azure Auth token will be requested when using MSI Authentication.
183629	Resource *string `json:"resource,omitempty"`
183630}
183631
183632// WebActivityTypeProperties web activity type properties.
183633type WebActivityTypeProperties struct {
183634	// Method - Rest API method for target endpoint. Possible values include: 'WebActivityMethodGET', 'WebActivityMethodPOST', 'WebActivityMethodPUT', 'WebActivityMethodDELETE'
183635	Method WebActivityMethod `json:"method,omitempty"`
183636	// URL - Web activity target endpoint and path. Type: string (or Expression with resultType string).
183637	URL interface{} `json:"url,omitempty"`
183638	// 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).
183639	Headers interface{} `json:"headers,omitempty"`
183640	// 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).
183641	Body interface{} `json:"body,omitempty"`
183642	// Authentication - Authentication method used for calling the endpoint.
183643	Authentication *WebActivityAuthentication `json:"authentication,omitempty"`
183644	// Datasets - List of datasets passed to web endpoint.
183645	Datasets *[]DatasetReference `json:"datasets,omitempty"`
183646	// LinkedServices - List of linked services passed to web endpoint.
183647	LinkedServices *[]LinkedServiceReference `json:"linkedServices,omitempty"`
183648}
183649
183650// WebAnonymousAuthentication a WebLinkedService that uses anonymous authentication to communicate with an
183651// HTTP endpoint.
183652type WebAnonymousAuthentication struct {
183653	// URL - The URL of the web service endpoint, e.g. http://www.microsoft.com . Type: string (or Expression with resultType string).
183654	URL interface{} `json:"url,omitempty"`
183655	// AuthenticationType - Possible values include: 'AuthenticationTypeWebLinkedServiceTypeProperties', 'AuthenticationTypeClientCertificate', 'AuthenticationTypeBasic', 'AuthenticationTypeAnonymous'
183656	AuthenticationType AuthenticationType `json:"authenticationType,omitempty"`
183657}
183658
183659// MarshalJSON is the custom marshaler for WebAnonymousAuthentication.
183660func (waa WebAnonymousAuthentication) MarshalJSON() ([]byte, error) {
183661	waa.AuthenticationType = AuthenticationTypeAnonymous
183662	objectMap := make(map[string]interface{})
183663	if waa.URL != nil {
183664		objectMap["url"] = waa.URL
183665	}
183666	if waa.AuthenticationType != "" {
183667		objectMap["authenticationType"] = waa.AuthenticationType
183668	}
183669	return json.Marshal(objectMap)
183670}
183671
183672// AsWebClientCertificateAuthentication is the BasicWebLinkedServiceTypeProperties implementation for WebAnonymousAuthentication.
183673func (waa WebAnonymousAuthentication) AsWebClientCertificateAuthentication() (*WebClientCertificateAuthentication, bool) {
183674	return nil, false
183675}
183676
183677// AsWebBasicAuthentication is the BasicWebLinkedServiceTypeProperties implementation for WebAnonymousAuthentication.
183678func (waa WebAnonymousAuthentication) AsWebBasicAuthentication() (*WebBasicAuthentication, bool) {
183679	return nil, false
183680}
183681
183682// AsWebAnonymousAuthentication is the BasicWebLinkedServiceTypeProperties implementation for WebAnonymousAuthentication.
183683func (waa WebAnonymousAuthentication) AsWebAnonymousAuthentication() (*WebAnonymousAuthentication, bool) {
183684	return &waa, true
183685}
183686
183687// AsWebLinkedServiceTypeProperties is the BasicWebLinkedServiceTypeProperties implementation for WebAnonymousAuthentication.
183688func (waa WebAnonymousAuthentication) AsWebLinkedServiceTypeProperties() (*WebLinkedServiceTypeProperties, bool) {
183689	return nil, false
183690}
183691
183692// AsBasicWebLinkedServiceTypeProperties is the BasicWebLinkedServiceTypeProperties implementation for WebAnonymousAuthentication.
183693func (waa WebAnonymousAuthentication) AsBasicWebLinkedServiceTypeProperties() (BasicWebLinkedServiceTypeProperties, bool) {
183694	return &waa, true
183695}
183696
183697// WebBasicAuthentication a WebLinkedService that uses basic authentication to communicate with an HTTP
183698// endpoint.
183699type WebBasicAuthentication struct {
183700	// Username - User name for Basic authentication. Type: string (or Expression with resultType string).
183701	Username interface{} `json:"username,omitempty"`
183702	// Password - The password for Basic authentication.
183703	Password BasicSecretBase `json:"password,omitempty"`
183704	// URL - The URL of the web service endpoint, e.g. http://www.microsoft.com . Type: string (or Expression with resultType string).
183705	URL interface{} `json:"url,omitempty"`
183706	// AuthenticationType - Possible values include: 'AuthenticationTypeWebLinkedServiceTypeProperties', 'AuthenticationTypeClientCertificate', 'AuthenticationTypeBasic', 'AuthenticationTypeAnonymous'
183707	AuthenticationType AuthenticationType `json:"authenticationType,omitempty"`
183708}
183709
183710// MarshalJSON is the custom marshaler for WebBasicAuthentication.
183711func (wba WebBasicAuthentication) MarshalJSON() ([]byte, error) {
183712	wba.AuthenticationType = AuthenticationTypeBasic
183713	objectMap := make(map[string]interface{})
183714	if wba.Username != nil {
183715		objectMap["username"] = wba.Username
183716	}
183717	objectMap["password"] = wba.Password
183718	if wba.URL != nil {
183719		objectMap["url"] = wba.URL
183720	}
183721	if wba.AuthenticationType != "" {
183722		objectMap["authenticationType"] = wba.AuthenticationType
183723	}
183724	return json.Marshal(objectMap)
183725}
183726
183727// AsWebClientCertificateAuthentication is the BasicWebLinkedServiceTypeProperties implementation for WebBasicAuthentication.
183728func (wba WebBasicAuthentication) AsWebClientCertificateAuthentication() (*WebClientCertificateAuthentication, bool) {
183729	return nil, false
183730}
183731
183732// AsWebBasicAuthentication is the BasicWebLinkedServiceTypeProperties implementation for WebBasicAuthentication.
183733func (wba WebBasicAuthentication) AsWebBasicAuthentication() (*WebBasicAuthentication, bool) {
183734	return &wba, true
183735}
183736
183737// AsWebAnonymousAuthentication is the BasicWebLinkedServiceTypeProperties implementation for WebBasicAuthentication.
183738func (wba WebBasicAuthentication) AsWebAnonymousAuthentication() (*WebAnonymousAuthentication, bool) {
183739	return nil, false
183740}
183741
183742// AsWebLinkedServiceTypeProperties is the BasicWebLinkedServiceTypeProperties implementation for WebBasicAuthentication.
183743func (wba WebBasicAuthentication) AsWebLinkedServiceTypeProperties() (*WebLinkedServiceTypeProperties, bool) {
183744	return nil, false
183745}
183746
183747// AsBasicWebLinkedServiceTypeProperties is the BasicWebLinkedServiceTypeProperties implementation for WebBasicAuthentication.
183748func (wba WebBasicAuthentication) AsBasicWebLinkedServiceTypeProperties() (BasicWebLinkedServiceTypeProperties, bool) {
183749	return &wba, true
183750}
183751
183752// UnmarshalJSON is the custom unmarshaler for WebBasicAuthentication struct.
183753func (wba *WebBasicAuthentication) UnmarshalJSON(body []byte) error {
183754	var m map[string]*json.RawMessage
183755	err := json.Unmarshal(body, &m)
183756	if err != nil {
183757		return err
183758	}
183759	for k, v := range m {
183760		switch k {
183761		case "username":
183762			if v != nil {
183763				var username interface{}
183764				err = json.Unmarshal(*v, &username)
183765				if err != nil {
183766					return err
183767				}
183768				wba.Username = username
183769			}
183770		case "password":
183771			if v != nil {
183772				password, err := unmarshalBasicSecretBase(*v)
183773				if err != nil {
183774					return err
183775				}
183776				wba.Password = password
183777			}
183778		case "url":
183779			if v != nil {
183780				var URL interface{}
183781				err = json.Unmarshal(*v, &URL)
183782				if err != nil {
183783					return err
183784				}
183785				wba.URL = URL
183786			}
183787		case "authenticationType":
183788			if v != nil {
183789				var authenticationType AuthenticationType
183790				err = json.Unmarshal(*v, &authenticationType)
183791				if err != nil {
183792					return err
183793				}
183794				wba.AuthenticationType = authenticationType
183795			}
183796		}
183797	}
183798
183799	return nil
183800}
183801
183802// WebClientCertificateAuthentication a WebLinkedService that uses client certificate based authentication
183803// to communicate with an HTTP endpoint. This scheme follows mutual authentication; the server must also
183804// provide valid credentials to the client.
183805type WebClientCertificateAuthentication struct {
183806	// Pfx - Base64-encoded contents of a PFX file.
183807	Pfx BasicSecretBase `json:"pfx,omitempty"`
183808	// Password - Password for the PFX file.
183809	Password BasicSecretBase `json:"password,omitempty"`
183810	// URL - The URL of the web service endpoint, e.g. http://www.microsoft.com . Type: string (or Expression with resultType string).
183811	URL interface{} `json:"url,omitempty"`
183812	// AuthenticationType - Possible values include: 'AuthenticationTypeWebLinkedServiceTypeProperties', 'AuthenticationTypeClientCertificate', 'AuthenticationTypeBasic', 'AuthenticationTypeAnonymous'
183813	AuthenticationType AuthenticationType `json:"authenticationType,omitempty"`
183814}
183815
183816// MarshalJSON is the custom marshaler for WebClientCertificateAuthentication.
183817func (wcca WebClientCertificateAuthentication) MarshalJSON() ([]byte, error) {
183818	wcca.AuthenticationType = AuthenticationTypeClientCertificate
183819	objectMap := make(map[string]interface{})
183820	objectMap["pfx"] = wcca.Pfx
183821	objectMap["password"] = wcca.Password
183822	if wcca.URL != nil {
183823		objectMap["url"] = wcca.URL
183824	}
183825	if wcca.AuthenticationType != "" {
183826		objectMap["authenticationType"] = wcca.AuthenticationType
183827	}
183828	return json.Marshal(objectMap)
183829}
183830
183831// AsWebClientCertificateAuthentication is the BasicWebLinkedServiceTypeProperties implementation for WebClientCertificateAuthentication.
183832func (wcca WebClientCertificateAuthentication) AsWebClientCertificateAuthentication() (*WebClientCertificateAuthentication, bool) {
183833	return &wcca, true
183834}
183835
183836// AsWebBasicAuthentication is the BasicWebLinkedServiceTypeProperties implementation for WebClientCertificateAuthentication.
183837func (wcca WebClientCertificateAuthentication) AsWebBasicAuthentication() (*WebBasicAuthentication, bool) {
183838	return nil, false
183839}
183840
183841// AsWebAnonymousAuthentication is the BasicWebLinkedServiceTypeProperties implementation for WebClientCertificateAuthentication.
183842func (wcca WebClientCertificateAuthentication) AsWebAnonymousAuthentication() (*WebAnonymousAuthentication, bool) {
183843	return nil, false
183844}
183845
183846// AsWebLinkedServiceTypeProperties is the BasicWebLinkedServiceTypeProperties implementation for WebClientCertificateAuthentication.
183847func (wcca WebClientCertificateAuthentication) AsWebLinkedServiceTypeProperties() (*WebLinkedServiceTypeProperties, bool) {
183848	return nil, false
183849}
183850
183851// AsBasicWebLinkedServiceTypeProperties is the BasicWebLinkedServiceTypeProperties implementation for WebClientCertificateAuthentication.
183852func (wcca WebClientCertificateAuthentication) AsBasicWebLinkedServiceTypeProperties() (BasicWebLinkedServiceTypeProperties, bool) {
183853	return &wcca, true
183854}
183855
183856// UnmarshalJSON is the custom unmarshaler for WebClientCertificateAuthentication struct.
183857func (wcca *WebClientCertificateAuthentication) UnmarshalJSON(body []byte) error {
183858	var m map[string]*json.RawMessage
183859	err := json.Unmarshal(body, &m)
183860	if err != nil {
183861		return err
183862	}
183863	for k, v := range m {
183864		switch k {
183865		case "pfx":
183866			if v != nil {
183867				pfx, err := unmarshalBasicSecretBase(*v)
183868				if err != nil {
183869					return err
183870				}
183871				wcca.Pfx = pfx
183872			}
183873		case "password":
183874			if v != nil {
183875				password, err := unmarshalBasicSecretBase(*v)
183876				if err != nil {
183877					return err
183878				}
183879				wcca.Password = password
183880			}
183881		case "url":
183882			if v != nil {
183883				var URL interface{}
183884				err = json.Unmarshal(*v, &URL)
183885				if err != nil {
183886					return err
183887				}
183888				wcca.URL = URL
183889			}
183890		case "authenticationType":
183891			if v != nil {
183892				var authenticationType AuthenticationType
183893				err = json.Unmarshal(*v, &authenticationType)
183894				if err != nil {
183895					return err
183896				}
183897				wcca.AuthenticationType = authenticationType
183898			}
183899		}
183900	}
183901
183902	return nil
183903}
183904
183905// WebHookActivity webHook activity.
183906type WebHookActivity struct {
183907	// WebHookActivityTypeProperties - WebHook activity properties.
183908	*WebHookActivityTypeProperties `json:"typeProperties,omitempty"`
183909	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
183910	AdditionalProperties map[string]interface{} `json:""`
183911	// Name - Activity name.
183912	Name *string `json:"name,omitempty"`
183913	// Description - Activity description.
183914	Description *string `json:"description,omitempty"`
183915	// DependsOn - Activity depends on condition.
183916	DependsOn *[]ActivityDependency `json:"dependsOn,omitempty"`
183917	// UserProperties - Activity user properties.
183918	UserProperties *[]UserProperty `json:"userProperties,omitempty"`
183919	// Type - Possible values include: 'TypeActivity', 'TypeAzureFunctionActivity', 'TypeDatabricksSparkPython', 'TypeDatabricksSparkJar', 'TypeDatabricksNotebook', 'TypeDataLakeAnalyticsUSQL', 'TypeAzureMLUpdateResource', 'TypeAzureMLBatchExecution', 'TypeGetMetadata', 'TypeWebActivity', 'TypeLookup', 'TypeAzureDataExplorerCommand', 'TypeDelete', 'TypeSQLServerStoredProcedure', 'TypeCustom', 'TypeExecuteSSISPackage', 'TypeHDInsightSpark', 'TypeHDInsightStreaming', 'TypeHDInsightMapReduce', 'TypeHDInsightPig', 'TypeHDInsightHive', 'TypeCopy', 'TypeExecution', 'TypeWebHook', 'TypeAppendVariable', 'TypeSetVariable', 'TypeFilter', 'TypeValidation', 'TypeUntil', 'TypeWait', 'TypeForEach', 'TypeIfCondition', 'TypeExecutePipeline', 'TypeContainer'
183920	Type TypeBasicActivity `json:"type,omitempty"`
183921}
183922
183923// MarshalJSON is the custom marshaler for WebHookActivity.
183924func (wha WebHookActivity) MarshalJSON() ([]byte, error) {
183925	wha.Type = TypeWebHook
183926	objectMap := make(map[string]interface{})
183927	if wha.WebHookActivityTypeProperties != nil {
183928		objectMap["typeProperties"] = wha.WebHookActivityTypeProperties
183929	}
183930	if wha.Name != nil {
183931		objectMap["name"] = wha.Name
183932	}
183933	if wha.Description != nil {
183934		objectMap["description"] = wha.Description
183935	}
183936	if wha.DependsOn != nil {
183937		objectMap["dependsOn"] = wha.DependsOn
183938	}
183939	if wha.UserProperties != nil {
183940		objectMap["userProperties"] = wha.UserProperties
183941	}
183942	if wha.Type != "" {
183943		objectMap["type"] = wha.Type
183944	}
183945	for k, v := range wha.AdditionalProperties {
183946		objectMap[k] = v
183947	}
183948	return json.Marshal(objectMap)
183949}
183950
183951// AsAzureFunctionActivity is the BasicActivity implementation for WebHookActivity.
183952func (wha WebHookActivity) AsAzureFunctionActivity() (*AzureFunctionActivity, bool) {
183953	return nil, false
183954}
183955
183956// AsDatabricksSparkPythonActivity is the BasicActivity implementation for WebHookActivity.
183957func (wha WebHookActivity) AsDatabricksSparkPythonActivity() (*DatabricksSparkPythonActivity, bool) {
183958	return nil, false
183959}
183960
183961// AsDatabricksSparkJarActivity is the BasicActivity implementation for WebHookActivity.
183962func (wha WebHookActivity) AsDatabricksSparkJarActivity() (*DatabricksSparkJarActivity, bool) {
183963	return nil, false
183964}
183965
183966// AsDatabricksNotebookActivity is the BasicActivity implementation for WebHookActivity.
183967func (wha WebHookActivity) AsDatabricksNotebookActivity() (*DatabricksNotebookActivity, bool) {
183968	return nil, false
183969}
183970
183971// AsDataLakeAnalyticsUSQLActivity is the BasicActivity implementation for WebHookActivity.
183972func (wha WebHookActivity) AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalyticsUSQLActivity, bool) {
183973	return nil, false
183974}
183975
183976// AsAzureMLUpdateResourceActivity is the BasicActivity implementation for WebHookActivity.
183977func (wha WebHookActivity) AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool) {
183978	return nil, false
183979}
183980
183981// AsAzureMLBatchExecutionActivity is the BasicActivity implementation for WebHookActivity.
183982func (wha WebHookActivity) AsAzureMLBatchExecutionActivity() (*AzureMLBatchExecutionActivity, bool) {
183983	return nil, false
183984}
183985
183986// AsGetMetadataActivity is the BasicActivity implementation for WebHookActivity.
183987func (wha WebHookActivity) AsGetMetadataActivity() (*GetMetadataActivity, bool) {
183988	return nil, false
183989}
183990
183991// AsWebActivity is the BasicActivity implementation for WebHookActivity.
183992func (wha WebHookActivity) AsWebActivity() (*WebActivity, bool) {
183993	return nil, false
183994}
183995
183996// AsLookupActivity is the BasicActivity implementation for WebHookActivity.
183997func (wha WebHookActivity) AsLookupActivity() (*LookupActivity, bool) {
183998	return nil, false
183999}
184000
184001// AsAzureDataExplorerCommandActivity is the BasicActivity implementation for WebHookActivity.
184002func (wha WebHookActivity) AsAzureDataExplorerCommandActivity() (*AzureDataExplorerCommandActivity, bool) {
184003	return nil, false
184004}
184005
184006// AsDeleteActivity is the BasicActivity implementation for WebHookActivity.
184007func (wha WebHookActivity) AsDeleteActivity() (*DeleteActivity, bool) {
184008	return nil, false
184009}
184010
184011// AsSQLServerStoredProcedureActivity is the BasicActivity implementation for WebHookActivity.
184012func (wha WebHookActivity) AsSQLServerStoredProcedureActivity() (*SQLServerStoredProcedureActivity, bool) {
184013	return nil, false
184014}
184015
184016// AsCustomActivity is the BasicActivity implementation for WebHookActivity.
184017func (wha WebHookActivity) AsCustomActivity() (*CustomActivity, bool) {
184018	return nil, false
184019}
184020
184021// AsExecuteSSISPackageActivity is the BasicActivity implementation for WebHookActivity.
184022func (wha WebHookActivity) AsExecuteSSISPackageActivity() (*ExecuteSSISPackageActivity, bool) {
184023	return nil, false
184024}
184025
184026// AsHDInsightSparkActivity is the BasicActivity implementation for WebHookActivity.
184027func (wha WebHookActivity) AsHDInsightSparkActivity() (*HDInsightSparkActivity, bool) {
184028	return nil, false
184029}
184030
184031// AsHDInsightStreamingActivity is the BasicActivity implementation for WebHookActivity.
184032func (wha WebHookActivity) AsHDInsightStreamingActivity() (*HDInsightStreamingActivity, bool) {
184033	return nil, false
184034}
184035
184036// AsHDInsightMapReduceActivity is the BasicActivity implementation for WebHookActivity.
184037func (wha WebHookActivity) AsHDInsightMapReduceActivity() (*HDInsightMapReduceActivity, bool) {
184038	return nil, false
184039}
184040
184041// AsHDInsightPigActivity is the BasicActivity implementation for WebHookActivity.
184042func (wha WebHookActivity) AsHDInsightPigActivity() (*HDInsightPigActivity, bool) {
184043	return nil, false
184044}
184045
184046// AsHDInsightHiveActivity is the BasicActivity implementation for WebHookActivity.
184047func (wha WebHookActivity) AsHDInsightHiveActivity() (*HDInsightHiveActivity, bool) {
184048	return nil, false
184049}
184050
184051// AsCopyActivity is the BasicActivity implementation for WebHookActivity.
184052func (wha WebHookActivity) AsCopyActivity() (*CopyActivity, bool) {
184053	return nil, false
184054}
184055
184056// AsExecutionActivity is the BasicActivity implementation for WebHookActivity.
184057func (wha WebHookActivity) AsExecutionActivity() (*ExecutionActivity, bool) {
184058	return nil, false
184059}
184060
184061// AsBasicExecutionActivity is the BasicActivity implementation for WebHookActivity.
184062func (wha WebHookActivity) AsBasicExecutionActivity() (BasicExecutionActivity, bool) {
184063	return nil, false
184064}
184065
184066// AsWebHookActivity is the BasicActivity implementation for WebHookActivity.
184067func (wha WebHookActivity) AsWebHookActivity() (*WebHookActivity, bool) {
184068	return &wha, true
184069}
184070
184071// AsAppendVariableActivity is the BasicActivity implementation for WebHookActivity.
184072func (wha WebHookActivity) AsAppendVariableActivity() (*AppendVariableActivity, bool) {
184073	return nil, false
184074}
184075
184076// AsSetVariableActivity is the BasicActivity implementation for WebHookActivity.
184077func (wha WebHookActivity) AsSetVariableActivity() (*SetVariableActivity, bool) {
184078	return nil, false
184079}
184080
184081// AsFilterActivity is the BasicActivity implementation for WebHookActivity.
184082func (wha WebHookActivity) AsFilterActivity() (*FilterActivity, bool) {
184083	return nil, false
184084}
184085
184086// AsValidationActivity is the BasicActivity implementation for WebHookActivity.
184087func (wha WebHookActivity) AsValidationActivity() (*ValidationActivity, bool) {
184088	return nil, false
184089}
184090
184091// AsUntilActivity is the BasicActivity implementation for WebHookActivity.
184092func (wha WebHookActivity) AsUntilActivity() (*UntilActivity, bool) {
184093	return nil, false
184094}
184095
184096// AsWaitActivity is the BasicActivity implementation for WebHookActivity.
184097func (wha WebHookActivity) AsWaitActivity() (*WaitActivity, bool) {
184098	return nil, false
184099}
184100
184101// AsForEachActivity is the BasicActivity implementation for WebHookActivity.
184102func (wha WebHookActivity) AsForEachActivity() (*ForEachActivity, bool) {
184103	return nil, false
184104}
184105
184106// AsIfConditionActivity is the BasicActivity implementation for WebHookActivity.
184107func (wha WebHookActivity) AsIfConditionActivity() (*IfConditionActivity, bool) {
184108	return nil, false
184109}
184110
184111// AsExecutePipelineActivity is the BasicActivity implementation for WebHookActivity.
184112func (wha WebHookActivity) AsExecutePipelineActivity() (*ExecutePipelineActivity, bool) {
184113	return nil, false
184114}
184115
184116// AsControlActivity is the BasicActivity implementation for WebHookActivity.
184117func (wha WebHookActivity) AsControlActivity() (*ControlActivity, bool) {
184118	return nil, false
184119}
184120
184121// AsBasicControlActivity is the BasicActivity implementation for WebHookActivity.
184122func (wha WebHookActivity) AsBasicControlActivity() (BasicControlActivity, bool) {
184123	return &wha, true
184124}
184125
184126// AsActivity is the BasicActivity implementation for WebHookActivity.
184127func (wha WebHookActivity) AsActivity() (*Activity, bool) {
184128	return nil, false
184129}
184130
184131// AsBasicActivity is the BasicActivity implementation for WebHookActivity.
184132func (wha WebHookActivity) AsBasicActivity() (BasicActivity, bool) {
184133	return &wha, true
184134}
184135
184136// UnmarshalJSON is the custom unmarshaler for WebHookActivity struct.
184137func (wha *WebHookActivity) UnmarshalJSON(body []byte) error {
184138	var m map[string]*json.RawMessage
184139	err := json.Unmarshal(body, &m)
184140	if err != nil {
184141		return err
184142	}
184143	for k, v := range m {
184144		switch k {
184145		case "typeProperties":
184146			if v != nil {
184147				var webHookActivityTypeProperties WebHookActivityTypeProperties
184148				err = json.Unmarshal(*v, &webHookActivityTypeProperties)
184149				if err != nil {
184150					return err
184151				}
184152				wha.WebHookActivityTypeProperties = &webHookActivityTypeProperties
184153			}
184154		default:
184155			if v != nil {
184156				var additionalProperties interface{}
184157				err = json.Unmarshal(*v, &additionalProperties)
184158				if err != nil {
184159					return err
184160				}
184161				if wha.AdditionalProperties == nil {
184162					wha.AdditionalProperties = make(map[string]interface{})
184163				}
184164				wha.AdditionalProperties[k] = additionalProperties
184165			}
184166		case "name":
184167			if v != nil {
184168				var name string
184169				err = json.Unmarshal(*v, &name)
184170				if err != nil {
184171					return err
184172				}
184173				wha.Name = &name
184174			}
184175		case "description":
184176			if v != nil {
184177				var description string
184178				err = json.Unmarshal(*v, &description)
184179				if err != nil {
184180					return err
184181				}
184182				wha.Description = &description
184183			}
184184		case "dependsOn":
184185			if v != nil {
184186				var dependsOn []ActivityDependency
184187				err = json.Unmarshal(*v, &dependsOn)
184188				if err != nil {
184189					return err
184190				}
184191				wha.DependsOn = &dependsOn
184192			}
184193		case "userProperties":
184194			if v != nil {
184195				var userProperties []UserProperty
184196				err = json.Unmarshal(*v, &userProperties)
184197				if err != nil {
184198					return err
184199				}
184200				wha.UserProperties = &userProperties
184201			}
184202		case "type":
184203			if v != nil {
184204				var typeVar TypeBasicActivity
184205				err = json.Unmarshal(*v, &typeVar)
184206				if err != nil {
184207					return err
184208				}
184209				wha.Type = typeVar
184210			}
184211		}
184212	}
184213
184214	return nil
184215}
184216
184217// WebHookActivityTypeProperties webHook activity type properties.
184218type WebHookActivityTypeProperties struct {
184219	// Method - Rest API method for target endpoint.
184220	Method *string `json:"method,omitempty"`
184221	// URL - WebHook activity target endpoint and path. Type: string (or Expression with resultType string).
184222	URL interface{} `json:"url,omitempty"`
184223	// Timeout - The timeout within which the webhook should be called back. If there is no value specified, it defaults to 10 minutes. Type: string. Pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
184224	Timeout *string `json:"timeout,omitempty"`
184225	// 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).
184226	Headers interface{} `json:"headers,omitempty"`
184227	// 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).
184228	Body interface{} `json:"body,omitempty"`
184229	// Authentication - Authentication method used for calling the endpoint.
184230	Authentication *WebActivityAuthentication `json:"authentication,omitempty"`
184231}
184232
184233// WebLinkedService web linked service.
184234type WebLinkedService struct {
184235	// TypeProperties - Web linked service properties.
184236	TypeProperties BasicWebLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
184237	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
184238	AdditionalProperties map[string]interface{} `json:""`
184239	// ConnectVia - The integration runtime reference.
184240	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
184241	// Description - Linked service description.
184242	Description *string `json:"description,omitempty"`
184243	// Parameters - Parameters for linked service.
184244	Parameters map[string]*ParameterSpecification `json:"parameters"`
184245	// Annotations - List of tags that can be used for describing the linked service.
184246	Annotations *[]interface{} `json:"annotations,omitempty"`
184247	// Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', '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', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage'
184248	Type TypeBasicLinkedService `json:"type,omitempty"`
184249}
184250
184251// MarshalJSON is the custom marshaler for WebLinkedService.
184252func (wls WebLinkedService) MarshalJSON() ([]byte, error) {
184253	wls.Type = TypeWeb
184254	objectMap := make(map[string]interface{})
184255	objectMap["typeProperties"] = wls.TypeProperties
184256	if wls.ConnectVia != nil {
184257		objectMap["connectVia"] = wls.ConnectVia
184258	}
184259	if wls.Description != nil {
184260		objectMap["description"] = wls.Description
184261	}
184262	if wls.Parameters != nil {
184263		objectMap["parameters"] = wls.Parameters
184264	}
184265	if wls.Annotations != nil {
184266		objectMap["annotations"] = wls.Annotations
184267	}
184268	if wls.Type != "" {
184269		objectMap["type"] = wls.Type
184270	}
184271	for k, v := range wls.AdditionalProperties {
184272		objectMap[k] = v
184273	}
184274	return json.Marshal(objectMap)
184275}
184276
184277// AsAzureFunctionLinkedService is the BasicLinkedService implementation for WebLinkedService.
184278func (wls WebLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) {
184279	return nil, false
184280}
184281
184282// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for WebLinkedService.
184283func (wls WebLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) {
184284	return nil, false
184285}
184286
184287// AsSapTableLinkedService is the BasicLinkedService implementation for WebLinkedService.
184288func (wls WebLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) {
184289	return nil, false
184290}
184291
184292// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for WebLinkedService.
184293func (wls WebLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) {
184294	return nil, false
184295}
184296
184297// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for WebLinkedService.
184298func (wls WebLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) {
184299	return nil, false
184300}
184301
184302// AsDynamicsAXLinkedService is the BasicLinkedService implementation for WebLinkedService.
184303func (wls WebLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) {
184304	return nil, false
184305}
184306
184307// AsResponsysLinkedService is the BasicLinkedService implementation for WebLinkedService.
184308func (wls WebLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
184309	return nil, false
184310}
184311
184312// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for WebLinkedService.
184313func (wls WebLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
184314	return nil, false
184315}
184316
184317// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for WebLinkedService.
184318func (wls WebLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
184319	return nil, false
184320}
184321
184322// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for WebLinkedService.
184323func (wls WebLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
184324	return nil, false
184325}
184326
184327// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for WebLinkedService.
184328func (wls WebLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
184329	return nil, false
184330}
184331
184332// AsNetezzaLinkedService is the BasicLinkedService implementation for WebLinkedService.
184333func (wls WebLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
184334	return nil, false
184335}
184336
184337// AsVerticaLinkedService is the BasicLinkedService implementation for WebLinkedService.
184338func (wls WebLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
184339	return nil, false
184340}
184341
184342// AsZohoLinkedService is the BasicLinkedService implementation for WebLinkedService.
184343func (wls WebLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
184344	return nil, false
184345}
184346
184347// AsXeroLinkedService is the BasicLinkedService implementation for WebLinkedService.
184348func (wls WebLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
184349	return nil, false
184350}
184351
184352// AsSquareLinkedService is the BasicLinkedService implementation for WebLinkedService.
184353func (wls WebLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
184354	return nil, false
184355}
184356
184357// AsSparkLinkedService is the BasicLinkedService implementation for WebLinkedService.
184358func (wls WebLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
184359	return nil, false
184360}
184361
184362// AsShopifyLinkedService is the BasicLinkedService implementation for WebLinkedService.
184363func (wls WebLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
184364	return nil, false
184365}
184366
184367// AsServiceNowLinkedService is the BasicLinkedService implementation for WebLinkedService.
184368func (wls WebLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
184369	return nil, false
184370}
184371
184372// AsQuickBooksLinkedService is the BasicLinkedService implementation for WebLinkedService.
184373func (wls WebLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
184374	return nil, false
184375}
184376
184377// AsPrestoLinkedService is the BasicLinkedService implementation for WebLinkedService.
184378func (wls WebLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
184379	return nil, false
184380}
184381
184382// AsPhoenixLinkedService is the BasicLinkedService implementation for WebLinkedService.
184383func (wls WebLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
184384	return nil, false
184385}
184386
184387// AsPaypalLinkedService is the BasicLinkedService implementation for WebLinkedService.
184388func (wls WebLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
184389	return nil, false
184390}
184391
184392// AsMarketoLinkedService is the BasicLinkedService implementation for WebLinkedService.
184393func (wls WebLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
184394	return nil, false
184395}
184396
184397// AsMariaDBLinkedService is the BasicLinkedService implementation for WebLinkedService.
184398func (wls WebLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
184399	return nil, false
184400}
184401
184402// AsMagentoLinkedService is the BasicLinkedService implementation for WebLinkedService.
184403func (wls WebLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
184404	return nil, false
184405}
184406
184407// AsJiraLinkedService is the BasicLinkedService implementation for WebLinkedService.
184408func (wls WebLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
184409	return nil, false
184410}
184411
184412// AsImpalaLinkedService is the BasicLinkedService implementation for WebLinkedService.
184413func (wls WebLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
184414	return nil, false
184415}
184416
184417// AsHubspotLinkedService is the BasicLinkedService implementation for WebLinkedService.
184418func (wls WebLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
184419	return nil, false
184420}
184421
184422// AsHiveLinkedService is the BasicLinkedService implementation for WebLinkedService.
184423func (wls WebLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
184424	return nil, false
184425}
184426
184427// AsHBaseLinkedService is the BasicLinkedService implementation for WebLinkedService.
184428func (wls WebLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
184429	return nil, false
184430}
184431
184432// AsGreenplumLinkedService is the BasicLinkedService implementation for WebLinkedService.
184433func (wls WebLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
184434	return nil, false
184435}
184436
184437// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for WebLinkedService.
184438func (wls WebLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
184439	return nil, false
184440}
184441
184442// AsEloquaLinkedService is the BasicLinkedService implementation for WebLinkedService.
184443func (wls WebLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
184444	return nil, false
184445}
184446
184447// AsDrillLinkedService is the BasicLinkedService implementation for WebLinkedService.
184448func (wls WebLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
184449	return nil, false
184450}
184451
184452// AsCouchbaseLinkedService is the BasicLinkedService implementation for WebLinkedService.
184453func (wls WebLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
184454	return nil, false
184455}
184456
184457// AsConcurLinkedService is the BasicLinkedService implementation for WebLinkedService.
184458func (wls WebLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
184459	return nil, false
184460}
184461
184462// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for WebLinkedService.
184463func (wls WebLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
184464	return nil, false
184465}
184466
184467// AsAmazonMWSLinkedService is the BasicLinkedService implementation for WebLinkedService.
184468func (wls WebLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
184469	return nil, false
184470}
184471
184472// AsSapHanaLinkedService is the BasicLinkedService implementation for WebLinkedService.
184473func (wls WebLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
184474	return nil, false
184475}
184476
184477// AsSapBWLinkedService is the BasicLinkedService implementation for WebLinkedService.
184478func (wls WebLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
184479	return nil, false
184480}
184481
184482// AsSftpServerLinkedService is the BasicLinkedService implementation for WebLinkedService.
184483func (wls WebLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
184484	return nil, false
184485}
184486
184487// AsFtpServerLinkedService is the BasicLinkedService implementation for WebLinkedService.
184488func (wls WebLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
184489	return nil, false
184490}
184491
184492// AsHTTPLinkedService is the BasicLinkedService implementation for WebLinkedService.
184493func (wls WebLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
184494	return nil, false
184495}
184496
184497// AsAzureSearchLinkedService is the BasicLinkedService implementation for WebLinkedService.
184498func (wls WebLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
184499	return nil, false
184500}
184501
184502// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for WebLinkedService.
184503func (wls WebLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
184504	return nil, false
184505}
184506
184507// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for WebLinkedService.
184508func (wls WebLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
184509	return nil, false
184510}
184511
184512// AsAmazonS3LinkedService is the BasicLinkedService implementation for WebLinkedService.
184513func (wls WebLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
184514	return nil, false
184515}
184516
184517// AsRestServiceLinkedService is the BasicLinkedService implementation for WebLinkedService.
184518func (wls WebLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) {
184519	return nil, false
184520}
184521
184522// AsSapOpenHubLinkedService is the BasicLinkedService implementation for WebLinkedService.
184523func (wls WebLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) {
184524	return nil, false
184525}
184526
184527// AsSapEccLinkedService is the BasicLinkedService implementation for WebLinkedService.
184528func (wls WebLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
184529	return nil, false
184530}
184531
184532// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for WebLinkedService.
184533func (wls WebLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
184534	return nil, false
184535}
184536
184537// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for WebLinkedService.
184538func (wls WebLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) {
184539	return nil, false
184540}
184541
184542// AsSalesforceLinkedService is the BasicLinkedService implementation for WebLinkedService.
184543func (wls WebLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
184544	return nil, false
184545}
184546
184547// AsOffice365LinkedService is the BasicLinkedService implementation for WebLinkedService.
184548func (wls WebLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) {
184549	return nil, false
184550}
184551
184552// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for WebLinkedService.
184553func (wls WebLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) {
184554	return nil, false
184555}
184556
184557// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for WebLinkedService.
184558func (wls WebLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
184559	return nil, false
184560}
184561
184562// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for WebLinkedService.
184563func (wls WebLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) {
184564	return nil, false
184565}
184566
184567// AsMongoDbV2LinkedService is the BasicLinkedService implementation for WebLinkedService.
184568func (wls WebLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) {
184569	return nil, false
184570}
184571
184572// AsMongoDbLinkedService is the BasicLinkedService implementation for WebLinkedService.
184573func (wls WebLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
184574	return nil, false
184575}
184576
184577// AsCassandraLinkedService is the BasicLinkedService implementation for WebLinkedService.
184578func (wls WebLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
184579	return nil, false
184580}
184581
184582// AsWebLinkedService is the BasicLinkedService implementation for WebLinkedService.
184583func (wls WebLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
184584	return &wls, true
184585}
184586
184587// AsODataLinkedService is the BasicLinkedService implementation for WebLinkedService.
184588func (wls WebLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
184589	return nil, false
184590}
184591
184592// AsHdfsLinkedService is the BasicLinkedService implementation for WebLinkedService.
184593func (wls WebLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
184594	return nil, false
184595}
184596
184597// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for WebLinkedService.
184598func (wls WebLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) {
184599	return nil, false
184600}
184601
184602// AsInformixLinkedService is the BasicLinkedService implementation for WebLinkedService.
184603func (wls WebLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) {
184604	return nil, false
184605}
184606
184607// AsOdbcLinkedService is the BasicLinkedService implementation for WebLinkedService.
184608func (wls WebLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
184609	return nil, false
184610}
184611
184612// AsAzureMLLinkedService is the BasicLinkedService implementation for WebLinkedService.
184613func (wls WebLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
184614	return nil, false
184615}
184616
184617// AsTeradataLinkedService is the BasicLinkedService implementation for WebLinkedService.
184618func (wls WebLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
184619	return nil, false
184620}
184621
184622// AsDb2LinkedService is the BasicLinkedService implementation for WebLinkedService.
184623func (wls WebLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
184624	return nil, false
184625}
184626
184627// AsSybaseLinkedService is the BasicLinkedService implementation for WebLinkedService.
184628func (wls WebLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
184629	return nil, false
184630}
184631
184632// AsPostgreSQLLinkedService is the BasicLinkedService implementation for WebLinkedService.
184633func (wls WebLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
184634	return nil, false
184635}
184636
184637// AsMySQLLinkedService is the BasicLinkedService implementation for WebLinkedService.
184638func (wls WebLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
184639	return nil, false
184640}
184641
184642// AsAzureMySQLLinkedService is the BasicLinkedService implementation for WebLinkedService.
184643func (wls WebLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
184644	return nil, false
184645}
184646
184647// AsOracleLinkedService is the BasicLinkedService implementation for WebLinkedService.
184648func (wls WebLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
184649	return nil, false
184650}
184651
184652// AsFileServerLinkedService is the BasicLinkedService implementation for WebLinkedService.
184653func (wls WebLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
184654	return nil, false
184655}
184656
184657// AsHDInsightLinkedService is the BasicLinkedService implementation for WebLinkedService.
184658func (wls WebLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
184659	return nil, false
184660}
184661
184662// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for WebLinkedService.
184663func (wls WebLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) {
184664	return nil, false
184665}
184666
184667// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for WebLinkedService.
184668func (wls WebLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) {
184669	return nil, false
184670}
184671
184672// AsDynamicsLinkedService is the BasicLinkedService implementation for WebLinkedService.
184673func (wls WebLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
184674	return nil, false
184675}
184676
184677// AsCosmosDbLinkedService is the BasicLinkedService implementation for WebLinkedService.
184678func (wls WebLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
184679	return nil, false
184680}
184681
184682// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for WebLinkedService.
184683func (wls WebLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
184684	return nil, false
184685}
184686
184687// AsAzureBatchLinkedService is the BasicLinkedService implementation for WebLinkedService.
184688func (wls WebLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
184689	return nil, false
184690}
184691
184692// AsAzureSQLMILinkedService is the BasicLinkedService implementation for WebLinkedService.
184693func (wls WebLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) {
184694	return nil, false
184695}
184696
184697// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for WebLinkedService.
184698func (wls WebLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
184699	return nil, false
184700}
184701
184702// AsSQLServerLinkedService is the BasicLinkedService implementation for WebLinkedService.
184703func (wls WebLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
184704	return nil, false
184705}
184706
184707// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for WebLinkedService.
184708func (wls WebLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
184709	return nil, false
184710}
184711
184712// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for WebLinkedService.
184713func (wls WebLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) {
184714	return nil, false
184715}
184716
184717// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for WebLinkedService.
184718func (wls WebLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) {
184719	return nil, false
184720}
184721
184722// AsAzureStorageLinkedService is the BasicLinkedService implementation for WebLinkedService.
184723func (wls WebLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
184724	return nil, false
184725}
184726
184727// AsLinkedService is the BasicLinkedService implementation for WebLinkedService.
184728func (wls WebLinkedService) AsLinkedService() (*LinkedService, bool) {
184729	return nil, false
184730}
184731
184732// AsBasicLinkedService is the BasicLinkedService implementation for WebLinkedService.
184733func (wls WebLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
184734	return &wls, true
184735}
184736
184737// UnmarshalJSON is the custom unmarshaler for WebLinkedService struct.
184738func (wls *WebLinkedService) UnmarshalJSON(body []byte) error {
184739	var m map[string]*json.RawMessage
184740	err := json.Unmarshal(body, &m)
184741	if err != nil {
184742		return err
184743	}
184744	for k, v := range m {
184745		switch k {
184746		case "typeProperties":
184747			if v != nil {
184748				typeProperties, err := unmarshalBasicWebLinkedServiceTypeProperties(*v)
184749				if err != nil {
184750					return err
184751				}
184752				wls.TypeProperties = typeProperties
184753			}
184754		default:
184755			if v != nil {
184756				var additionalProperties interface{}
184757				err = json.Unmarshal(*v, &additionalProperties)
184758				if err != nil {
184759					return err
184760				}
184761				if wls.AdditionalProperties == nil {
184762					wls.AdditionalProperties = make(map[string]interface{})
184763				}
184764				wls.AdditionalProperties[k] = additionalProperties
184765			}
184766		case "connectVia":
184767			if v != nil {
184768				var connectVia IntegrationRuntimeReference
184769				err = json.Unmarshal(*v, &connectVia)
184770				if err != nil {
184771					return err
184772				}
184773				wls.ConnectVia = &connectVia
184774			}
184775		case "description":
184776			if v != nil {
184777				var description string
184778				err = json.Unmarshal(*v, &description)
184779				if err != nil {
184780					return err
184781				}
184782				wls.Description = &description
184783			}
184784		case "parameters":
184785			if v != nil {
184786				var parameters map[string]*ParameterSpecification
184787				err = json.Unmarshal(*v, &parameters)
184788				if err != nil {
184789					return err
184790				}
184791				wls.Parameters = parameters
184792			}
184793		case "annotations":
184794			if v != nil {
184795				var annotations []interface{}
184796				err = json.Unmarshal(*v, &annotations)
184797				if err != nil {
184798					return err
184799				}
184800				wls.Annotations = &annotations
184801			}
184802		case "type":
184803			if v != nil {
184804				var typeVar TypeBasicLinkedService
184805				err = json.Unmarshal(*v, &typeVar)
184806				if err != nil {
184807					return err
184808				}
184809				wls.Type = typeVar
184810			}
184811		}
184812	}
184813
184814	return nil
184815}
184816
184817// BasicWebLinkedServiceTypeProperties base definition of WebLinkedServiceTypeProperties, this typeProperties is
184818// polymorphic based on authenticationType, so not flattened in SDK models.
184819type BasicWebLinkedServiceTypeProperties interface {
184820	AsWebClientCertificateAuthentication() (*WebClientCertificateAuthentication, bool)
184821	AsWebBasicAuthentication() (*WebBasicAuthentication, bool)
184822	AsWebAnonymousAuthentication() (*WebAnonymousAuthentication, bool)
184823	AsWebLinkedServiceTypeProperties() (*WebLinkedServiceTypeProperties, bool)
184824}
184825
184826// WebLinkedServiceTypeProperties base definition of WebLinkedServiceTypeProperties, this typeProperties is
184827// polymorphic based on authenticationType, so not flattened in SDK models.
184828type WebLinkedServiceTypeProperties struct {
184829	// URL - The URL of the web service endpoint, e.g. http://www.microsoft.com . Type: string (or Expression with resultType string).
184830	URL interface{} `json:"url,omitempty"`
184831	// AuthenticationType - Possible values include: 'AuthenticationTypeWebLinkedServiceTypeProperties', 'AuthenticationTypeClientCertificate', 'AuthenticationTypeBasic', 'AuthenticationTypeAnonymous'
184832	AuthenticationType AuthenticationType `json:"authenticationType,omitempty"`
184833}
184834
184835func unmarshalBasicWebLinkedServiceTypeProperties(body []byte) (BasicWebLinkedServiceTypeProperties, error) {
184836	var m map[string]interface{}
184837	err := json.Unmarshal(body, &m)
184838	if err != nil {
184839		return nil, err
184840	}
184841
184842	switch m["authenticationType"] {
184843	case string(AuthenticationTypeClientCertificate):
184844		var wcca WebClientCertificateAuthentication
184845		err := json.Unmarshal(body, &wcca)
184846		return wcca, err
184847	case string(AuthenticationTypeBasic):
184848		var wba WebBasicAuthentication
184849		err := json.Unmarshal(body, &wba)
184850		return wba, err
184851	case string(AuthenticationTypeAnonymous):
184852		var waa WebAnonymousAuthentication
184853		err := json.Unmarshal(body, &waa)
184854		return waa, err
184855	default:
184856		var wlstp WebLinkedServiceTypeProperties
184857		err := json.Unmarshal(body, &wlstp)
184858		return wlstp, err
184859	}
184860}
184861func unmarshalBasicWebLinkedServiceTypePropertiesArray(body []byte) ([]BasicWebLinkedServiceTypeProperties, error) {
184862	var rawMessages []*json.RawMessage
184863	err := json.Unmarshal(body, &rawMessages)
184864	if err != nil {
184865		return nil, err
184866	}
184867
184868	wlstpArray := make([]BasicWebLinkedServiceTypeProperties, len(rawMessages))
184869
184870	for index, rawMessage := range rawMessages {
184871		wlstp, err := unmarshalBasicWebLinkedServiceTypeProperties(*rawMessage)
184872		if err != nil {
184873			return nil, err
184874		}
184875		wlstpArray[index] = wlstp
184876	}
184877	return wlstpArray, nil
184878}
184879
184880// MarshalJSON is the custom marshaler for WebLinkedServiceTypeProperties.
184881func (wlstp WebLinkedServiceTypeProperties) MarshalJSON() ([]byte, error) {
184882	wlstp.AuthenticationType = AuthenticationTypeWebLinkedServiceTypeProperties
184883	objectMap := make(map[string]interface{})
184884	if wlstp.URL != nil {
184885		objectMap["url"] = wlstp.URL
184886	}
184887	if wlstp.AuthenticationType != "" {
184888		objectMap["authenticationType"] = wlstp.AuthenticationType
184889	}
184890	return json.Marshal(objectMap)
184891}
184892
184893// AsWebClientCertificateAuthentication is the BasicWebLinkedServiceTypeProperties implementation for WebLinkedServiceTypeProperties.
184894func (wlstp WebLinkedServiceTypeProperties) AsWebClientCertificateAuthentication() (*WebClientCertificateAuthentication, bool) {
184895	return nil, false
184896}
184897
184898// AsWebBasicAuthentication is the BasicWebLinkedServiceTypeProperties implementation for WebLinkedServiceTypeProperties.
184899func (wlstp WebLinkedServiceTypeProperties) AsWebBasicAuthentication() (*WebBasicAuthentication, bool) {
184900	return nil, false
184901}
184902
184903// AsWebAnonymousAuthentication is the BasicWebLinkedServiceTypeProperties implementation for WebLinkedServiceTypeProperties.
184904func (wlstp WebLinkedServiceTypeProperties) AsWebAnonymousAuthentication() (*WebAnonymousAuthentication, bool) {
184905	return nil, false
184906}
184907
184908// AsWebLinkedServiceTypeProperties is the BasicWebLinkedServiceTypeProperties implementation for WebLinkedServiceTypeProperties.
184909func (wlstp WebLinkedServiceTypeProperties) AsWebLinkedServiceTypeProperties() (*WebLinkedServiceTypeProperties, bool) {
184910	return &wlstp, true
184911}
184912
184913// AsBasicWebLinkedServiceTypeProperties is the BasicWebLinkedServiceTypeProperties implementation for WebLinkedServiceTypeProperties.
184914func (wlstp WebLinkedServiceTypeProperties) AsBasicWebLinkedServiceTypeProperties() (BasicWebLinkedServiceTypeProperties, bool) {
184915	return &wlstp, true
184916}
184917
184918// WebSource a copy activity source for web page table.
184919type WebSource struct {
184920	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
184921	AdditionalProperties map[string]interface{} `json:""`
184922	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
184923	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
184924	// 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])).
184925	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
184926	// MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer).
184927	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
184928	// Type - Possible values include: 'TypeCopySource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', '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', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeCassandraSource', 'TypeWebSource', 'TypeTeradataSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeAzureMySQLSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeRestSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceServiceCloudSource', 'TypeSalesforceSource', 'TypeODataSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeMicrosoftAccessSource', 'TypeInformixSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAzureTableSource', 'TypeBinarySource', 'TypeDelimitedTextSource', 'TypeParquetSource'
184929	Type TypeBasicCopySource `json:"type,omitempty"`
184930}
184931
184932// MarshalJSON is the custom marshaler for WebSource.
184933func (ws WebSource) MarshalJSON() ([]byte, error) {
184934	ws.Type = TypeWebSource
184935	objectMap := make(map[string]interface{})
184936	if ws.SourceRetryCount != nil {
184937		objectMap["sourceRetryCount"] = ws.SourceRetryCount
184938	}
184939	if ws.SourceRetryWait != nil {
184940		objectMap["sourceRetryWait"] = ws.SourceRetryWait
184941	}
184942	if ws.MaxConcurrentConnections != nil {
184943		objectMap["maxConcurrentConnections"] = ws.MaxConcurrentConnections
184944	}
184945	if ws.Type != "" {
184946		objectMap["type"] = ws.Type
184947	}
184948	for k, v := range ws.AdditionalProperties {
184949		objectMap[k] = v
184950	}
184951	return json.Marshal(objectMap)
184952}
184953
184954// AsAmazonRedshiftSource is the BasicCopySource implementation for WebSource.
184955func (ws WebSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
184956	return nil, false
184957}
184958
184959// AsGoogleAdWordsSource is the BasicCopySource implementation for WebSource.
184960func (ws WebSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) {
184961	return nil, false
184962}
184963
184964// AsOracleServiceCloudSource is the BasicCopySource implementation for WebSource.
184965func (ws WebSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) {
184966	return nil, false
184967}
184968
184969// AsDynamicsAXSource is the BasicCopySource implementation for WebSource.
184970func (ws WebSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) {
184971	return nil, false
184972}
184973
184974// AsResponsysSource is the BasicCopySource implementation for WebSource.
184975func (ws WebSource) AsResponsysSource() (*ResponsysSource, bool) {
184976	return nil, false
184977}
184978
184979// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for WebSource.
184980func (ws WebSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
184981	return nil, false
184982}
184983
184984// AsVerticaSource is the BasicCopySource implementation for WebSource.
184985func (ws WebSource) AsVerticaSource() (*VerticaSource, bool) {
184986	return nil, false
184987}
184988
184989// AsNetezzaSource is the BasicCopySource implementation for WebSource.
184990func (ws WebSource) AsNetezzaSource() (*NetezzaSource, bool) {
184991	return nil, false
184992}
184993
184994// AsZohoSource is the BasicCopySource implementation for WebSource.
184995func (ws WebSource) AsZohoSource() (*ZohoSource, bool) {
184996	return nil, false
184997}
184998
184999// AsXeroSource is the BasicCopySource implementation for WebSource.
185000func (ws WebSource) AsXeroSource() (*XeroSource, bool) {
185001	return nil, false
185002}
185003
185004// AsSquareSource is the BasicCopySource implementation for WebSource.
185005func (ws WebSource) AsSquareSource() (*SquareSource, bool) {
185006	return nil, false
185007}
185008
185009// AsSparkSource is the BasicCopySource implementation for WebSource.
185010func (ws WebSource) AsSparkSource() (*SparkSource, bool) {
185011	return nil, false
185012}
185013
185014// AsShopifySource is the BasicCopySource implementation for WebSource.
185015func (ws WebSource) AsShopifySource() (*ShopifySource, bool) {
185016	return nil, false
185017}
185018
185019// AsServiceNowSource is the BasicCopySource implementation for WebSource.
185020func (ws WebSource) AsServiceNowSource() (*ServiceNowSource, bool) {
185021	return nil, false
185022}
185023
185024// AsQuickBooksSource is the BasicCopySource implementation for WebSource.
185025func (ws WebSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
185026	return nil, false
185027}
185028
185029// AsPrestoSource is the BasicCopySource implementation for WebSource.
185030func (ws WebSource) AsPrestoSource() (*PrestoSource, bool) {
185031	return nil, false
185032}
185033
185034// AsPhoenixSource is the BasicCopySource implementation for WebSource.
185035func (ws WebSource) AsPhoenixSource() (*PhoenixSource, bool) {
185036	return nil, false
185037}
185038
185039// AsPaypalSource is the BasicCopySource implementation for WebSource.
185040func (ws WebSource) AsPaypalSource() (*PaypalSource, bool) {
185041	return nil, false
185042}
185043
185044// AsMarketoSource is the BasicCopySource implementation for WebSource.
185045func (ws WebSource) AsMarketoSource() (*MarketoSource, bool) {
185046	return nil, false
185047}
185048
185049// AsMariaDBSource is the BasicCopySource implementation for WebSource.
185050func (ws WebSource) AsMariaDBSource() (*MariaDBSource, bool) {
185051	return nil, false
185052}
185053
185054// AsMagentoSource is the BasicCopySource implementation for WebSource.
185055func (ws WebSource) AsMagentoSource() (*MagentoSource, bool) {
185056	return nil, false
185057}
185058
185059// AsJiraSource is the BasicCopySource implementation for WebSource.
185060func (ws WebSource) AsJiraSource() (*JiraSource, bool) {
185061	return nil, false
185062}
185063
185064// AsImpalaSource is the BasicCopySource implementation for WebSource.
185065func (ws WebSource) AsImpalaSource() (*ImpalaSource, bool) {
185066	return nil, false
185067}
185068
185069// AsHubspotSource is the BasicCopySource implementation for WebSource.
185070func (ws WebSource) AsHubspotSource() (*HubspotSource, bool) {
185071	return nil, false
185072}
185073
185074// AsHiveSource is the BasicCopySource implementation for WebSource.
185075func (ws WebSource) AsHiveSource() (*HiveSource, bool) {
185076	return nil, false
185077}
185078
185079// AsHBaseSource is the BasicCopySource implementation for WebSource.
185080func (ws WebSource) AsHBaseSource() (*HBaseSource, bool) {
185081	return nil, false
185082}
185083
185084// AsGreenplumSource is the BasicCopySource implementation for WebSource.
185085func (ws WebSource) AsGreenplumSource() (*GreenplumSource, bool) {
185086	return nil, false
185087}
185088
185089// AsGoogleBigQuerySource is the BasicCopySource implementation for WebSource.
185090func (ws WebSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
185091	return nil, false
185092}
185093
185094// AsEloquaSource is the BasicCopySource implementation for WebSource.
185095func (ws WebSource) AsEloquaSource() (*EloquaSource, bool) {
185096	return nil, false
185097}
185098
185099// AsDrillSource is the BasicCopySource implementation for WebSource.
185100func (ws WebSource) AsDrillSource() (*DrillSource, bool) {
185101	return nil, false
185102}
185103
185104// AsCouchbaseSource is the BasicCopySource implementation for WebSource.
185105func (ws WebSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
185106	return nil, false
185107}
185108
185109// AsConcurSource is the BasicCopySource implementation for WebSource.
185110func (ws WebSource) AsConcurSource() (*ConcurSource, bool) {
185111	return nil, false
185112}
185113
185114// AsAzurePostgreSQLSource is the BasicCopySource implementation for WebSource.
185115func (ws WebSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
185116	return nil, false
185117}
185118
185119// AsAmazonMWSSource is the BasicCopySource implementation for WebSource.
185120func (ws WebSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
185121	return nil, false
185122}
185123
185124// AsHTTPSource is the BasicCopySource implementation for WebSource.
185125func (ws WebSource) AsHTTPSource() (*HTTPSource, bool) {
185126	return nil, false
185127}
185128
185129// AsAzureBlobFSSource is the BasicCopySource implementation for WebSource.
185130func (ws WebSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) {
185131	return nil, false
185132}
185133
185134// AsAzureDataLakeStoreSource is the BasicCopySource implementation for WebSource.
185135func (ws WebSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
185136	return nil, false
185137}
185138
185139// AsOffice365Source is the BasicCopySource implementation for WebSource.
185140func (ws WebSource) AsOffice365Source() (*Office365Source, bool) {
185141	return nil, false
185142}
185143
185144// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for WebSource.
185145func (ws WebSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) {
185146	return nil, false
185147}
185148
185149// AsMongoDbV2Source is the BasicCopySource implementation for WebSource.
185150func (ws WebSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) {
185151	return nil, false
185152}
185153
185154// AsMongoDbSource is the BasicCopySource implementation for WebSource.
185155func (ws WebSource) AsMongoDbSource() (*MongoDbSource, bool) {
185156	return nil, false
185157}
185158
185159// AsCassandraSource is the BasicCopySource implementation for WebSource.
185160func (ws WebSource) AsCassandraSource() (*CassandraSource, bool) {
185161	return nil, false
185162}
185163
185164// AsWebSource is the BasicCopySource implementation for WebSource.
185165func (ws WebSource) AsWebSource() (*WebSource, bool) {
185166	return &ws, true
185167}
185168
185169// AsTeradataSource is the BasicCopySource implementation for WebSource.
185170func (ws WebSource) AsTeradataSource() (*TeradataSource, bool) {
185171	return nil, false
185172}
185173
185174// AsOracleSource is the BasicCopySource implementation for WebSource.
185175func (ws WebSource) AsOracleSource() (*OracleSource, bool) {
185176	return nil, false
185177}
185178
185179// AsAzureDataExplorerSource is the BasicCopySource implementation for WebSource.
185180func (ws WebSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) {
185181	return nil, false
185182}
185183
185184// AsAzureMySQLSource is the BasicCopySource implementation for WebSource.
185185func (ws WebSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
185186	return nil, false
185187}
185188
185189// AsHdfsSource is the BasicCopySource implementation for WebSource.
185190func (ws WebSource) AsHdfsSource() (*HdfsSource, bool) {
185191	return nil, false
185192}
185193
185194// AsFileSystemSource is the BasicCopySource implementation for WebSource.
185195func (ws WebSource) AsFileSystemSource() (*FileSystemSource, bool) {
185196	return nil, false
185197}
185198
185199// AsSQLDWSource is the BasicCopySource implementation for WebSource.
185200func (ws WebSource) AsSQLDWSource() (*SQLDWSource, bool) {
185201	return nil, false
185202}
185203
185204// AsSQLMISource is the BasicCopySource implementation for WebSource.
185205func (ws WebSource) AsSQLMISource() (*SQLMISource, bool) {
185206	return nil, false
185207}
185208
185209// AsAzureSQLSource is the BasicCopySource implementation for WebSource.
185210func (ws WebSource) AsAzureSQLSource() (*AzureSQLSource, bool) {
185211	return nil, false
185212}
185213
185214// AsSQLServerSource is the BasicCopySource implementation for WebSource.
185215func (ws WebSource) AsSQLServerSource() (*SQLServerSource, bool) {
185216	return nil, false
185217}
185218
185219// AsSQLSource is the BasicCopySource implementation for WebSource.
185220func (ws WebSource) AsSQLSource() (*SQLSource, bool) {
185221	return nil, false
185222}
185223
185224// AsRestSource is the BasicCopySource implementation for WebSource.
185225func (ws WebSource) AsRestSource() (*RestSource, bool) {
185226	return nil, false
185227}
185228
185229// AsSapTableSource is the BasicCopySource implementation for WebSource.
185230func (ws WebSource) AsSapTableSource() (*SapTableSource, bool) {
185231	return nil, false
185232}
185233
185234// AsSapOpenHubSource is the BasicCopySource implementation for WebSource.
185235func (ws WebSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) {
185236	return nil, false
185237}
185238
185239// AsSapHanaSource is the BasicCopySource implementation for WebSource.
185240func (ws WebSource) AsSapHanaSource() (*SapHanaSource, bool) {
185241	return nil, false
185242}
185243
185244// AsSapEccSource is the BasicCopySource implementation for WebSource.
185245func (ws WebSource) AsSapEccSource() (*SapEccSource, bool) {
185246	return nil, false
185247}
185248
185249// AsSapCloudForCustomerSource is the BasicCopySource implementation for WebSource.
185250func (ws WebSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
185251	return nil, false
185252}
185253
185254// AsSalesforceServiceCloudSource is the BasicCopySource implementation for WebSource.
185255func (ws WebSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) {
185256	return nil, false
185257}
185258
185259// AsSalesforceSource is the BasicCopySource implementation for WebSource.
185260func (ws WebSource) AsSalesforceSource() (*SalesforceSource, bool) {
185261	return nil, false
185262}
185263
185264// AsODataSource is the BasicCopySource implementation for WebSource.
185265func (ws WebSource) AsODataSource() (*ODataSource, bool) {
185266	return nil, false
185267}
185268
185269// AsSybaseSource is the BasicCopySource implementation for WebSource.
185270func (ws WebSource) AsSybaseSource() (*SybaseSource, bool) {
185271	return nil, false
185272}
185273
185274// AsPostgreSQLSource is the BasicCopySource implementation for WebSource.
185275func (ws WebSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) {
185276	return nil, false
185277}
185278
185279// AsMySQLSource is the BasicCopySource implementation for WebSource.
185280func (ws WebSource) AsMySQLSource() (*MySQLSource, bool) {
185281	return nil, false
185282}
185283
185284// AsOdbcSource is the BasicCopySource implementation for WebSource.
185285func (ws WebSource) AsOdbcSource() (*OdbcSource, bool) {
185286	return nil, false
185287}
185288
185289// AsDb2Source is the BasicCopySource implementation for WebSource.
185290func (ws WebSource) AsDb2Source() (*Db2Source, bool) {
185291	return nil, false
185292}
185293
185294// AsMicrosoftAccessSource is the BasicCopySource implementation for WebSource.
185295func (ws WebSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) {
185296	return nil, false
185297}
185298
185299// AsInformixSource is the BasicCopySource implementation for WebSource.
185300func (ws WebSource) AsInformixSource() (*InformixSource, bool) {
185301	return nil, false
185302}
185303
185304// AsRelationalSource is the BasicCopySource implementation for WebSource.
185305func (ws WebSource) AsRelationalSource() (*RelationalSource, bool) {
185306	return nil, false
185307}
185308
185309// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for WebSource.
185310func (ws WebSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) {
185311	return nil, false
185312}
185313
185314// AsDynamicsCrmSource is the BasicCopySource implementation for WebSource.
185315func (ws WebSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) {
185316	return nil, false
185317}
185318
185319// AsDynamicsSource is the BasicCopySource implementation for WebSource.
185320func (ws WebSource) AsDynamicsSource() (*DynamicsSource, bool) {
185321	return nil, false
185322}
185323
185324// AsDocumentDbCollectionSource is the BasicCopySource implementation for WebSource.
185325func (ws WebSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
185326	return nil, false
185327}
185328
185329// AsBlobSource is the BasicCopySource implementation for WebSource.
185330func (ws WebSource) AsBlobSource() (*BlobSource, bool) {
185331	return nil, false
185332}
185333
185334// AsAzureTableSource is the BasicCopySource implementation for WebSource.
185335func (ws WebSource) AsAzureTableSource() (*AzureTableSource, bool) {
185336	return nil, false
185337}
185338
185339// AsBinarySource is the BasicCopySource implementation for WebSource.
185340func (ws WebSource) AsBinarySource() (*BinarySource, bool) {
185341	return nil, false
185342}
185343
185344// AsDelimitedTextSource is the BasicCopySource implementation for WebSource.
185345func (ws WebSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) {
185346	return nil, false
185347}
185348
185349// AsParquetSource is the BasicCopySource implementation for WebSource.
185350func (ws WebSource) AsParquetSource() (*ParquetSource, bool) {
185351	return nil, false
185352}
185353
185354// AsCopySource is the BasicCopySource implementation for WebSource.
185355func (ws WebSource) AsCopySource() (*CopySource, bool) {
185356	return nil, false
185357}
185358
185359// AsBasicCopySource is the BasicCopySource implementation for WebSource.
185360func (ws WebSource) AsBasicCopySource() (BasicCopySource, bool) {
185361	return &ws, true
185362}
185363
185364// UnmarshalJSON is the custom unmarshaler for WebSource struct.
185365func (ws *WebSource) UnmarshalJSON(body []byte) error {
185366	var m map[string]*json.RawMessage
185367	err := json.Unmarshal(body, &m)
185368	if err != nil {
185369		return err
185370	}
185371	for k, v := range m {
185372		switch k {
185373		default:
185374			if v != nil {
185375				var additionalProperties interface{}
185376				err = json.Unmarshal(*v, &additionalProperties)
185377				if err != nil {
185378					return err
185379				}
185380				if ws.AdditionalProperties == nil {
185381					ws.AdditionalProperties = make(map[string]interface{})
185382				}
185383				ws.AdditionalProperties[k] = additionalProperties
185384			}
185385		case "sourceRetryCount":
185386			if v != nil {
185387				var sourceRetryCount interface{}
185388				err = json.Unmarshal(*v, &sourceRetryCount)
185389				if err != nil {
185390					return err
185391				}
185392				ws.SourceRetryCount = sourceRetryCount
185393			}
185394		case "sourceRetryWait":
185395			if v != nil {
185396				var sourceRetryWait interface{}
185397				err = json.Unmarshal(*v, &sourceRetryWait)
185398				if err != nil {
185399					return err
185400				}
185401				ws.SourceRetryWait = sourceRetryWait
185402			}
185403		case "maxConcurrentConnections":
185404			if v != nil {
185405				var maxConcurrentConnections interface{}
185406				err = json.Unmarshal(*v, &maxConcurrentConnections)
185407				if err != nil {
185408					return err
185409				}
185410				ws.MaxConcurrentConnections = maxConcurrentConnections
185411			}
185412		case "type":
185413			if v != nil {
185414				var typeVar TypeBasicCopySource
185415				err = json.Unmarshal(*v, &typeVar)
185416				if err != nil {
185417					return err
185418				}
185419				ws.Type = typeVar
185420			}
185421		}
185422	}
185423
185424	return nil
185425}
185426
185427// WebTableDataset the dataset points to a HTML table in the web page.
185428type WebTableDataset struct {
185429	// WebTableDatasetTypeProperties - Web table dataset properties.
185430	*WebTableDatasetTypeProperties `json:"typeProperties,omitempty"`
185431	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
185432	AdditionalProperties map[string]interface{} `json:""`
185433	// Description - Dataset description.
185434	Description *string `json:"description,omitempty"`
185435	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
185436	Structure interface{} `json:"structure,omitempty"`
185437	// Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement.
185438	Schema interface{} `json:"schema,omitempty"`
185439	// LinkedServiceName - Linked service reference.
185440	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
185441	// Parameters - Parameters for dataset.
185442	Parameters map[string]*ParameterSpecification `json:"parameters"`
185443	// Annotations - List of tags that can be used for describing the Dataset.
185444	Annotations *[]interface{} `json:"annotations,omitempty"`
185445	// Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level.
185446	Folder *DatasetFolder `json:"folder,omitempty"`
185447	// Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', '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', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeDelimitedText', 'TypeParquet', 'TypeAmazonS3Object'
185448	Type TypeBasicDataset `json:"type,omitempty"`
185449}
185450
185451// MarshalJSON is the custom marshaler for WebTableDataset.
185452func (wtd WebTableDataset) MarshalJSON() ([]byte, error) {
185453	wtd.Type = TypeWebTable
185454	objectMap := make(map[string]interface{})
185455	if wtd.WebTableDatasetTypeProperties != nil {
185456		objectMap["typeProperties"] = wtd.WebTableDatasetTypeProperties
185457	}
185458	if wtd.Description != nil {
185459		objectMap["description"] = wtd.Description
185460	}
185461	if wtd.Structure != nil {
185462		objectMap["structure"] = wtd.Structure
185463	}
185464	if wtd.Schema != nil {
185465		objectMap["schema"] = wtd.Schema
185466	}
185467	if wtd.LinkedServiceName != nil {
185468		objectMap["linkedServiceName"] = wtd.LinkedServiceName
185469	}
185470	if wtd.Parameters != nil {
185471		objectMap["parameters"] = wtd.Parameters
185472	}
185473	if wtd.Annotations != nil {
185474		objectMap["annotations"] = wtd.Annotations
185475	}
185476	if wtd.Folder != nil {
185477		objectMap["folder"] = wtd.Folder
185478	}
185479	if wtd.Type != "" {
185480		objectMap["type"] = wtd.Type
185481	}
185482	for k, v := range wtd.AdditionalProperties {
185483		objectMap[k] = v
185484	}
185485	return json.Marshal(objectMap)
185486}
185487
185488// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for WebTableDataset.
185489func (wtd WebTableDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) {
185490	return nil, false
185491}
185492
185493// AsAzureDataExplorerTableDataset is the BasicDataset implementation for WebTableDataset.
185494func (wtd WebTableDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) {
185495	return nil, false
185496}
185497
185498// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for WebTableDataset.
185499func (wtd WebTableDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) {
185500	return nil, false
185501}
185502
185503// AsDynamicsAXResourceDataset is the BasicDataset implementation for WebTableDataset.
185504func (wtd WebTableDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) {
185505	return nil, false
185506}
185507
185508// AsResponsysObjectDataset is the BasicDataset implementation for WebTableDataset.
185509func (wtd WebTableDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
185510	return nil, false
185511}
185512
185513// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for WebTableDataset.
185514func (wtd WebTableDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
185515	return nil, false
185516}
185517
185518// AsVerticaTableDataset is the BasicDataset implementation for WebTableDataset.
185519func (wtd WebTableDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
185520	return nil, false
185521}
185522
185523// AsNetezzaTableDataset is the BasicDataset implementation for WebTableDataset.
185524func (wtd WebTableDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
185525	return nil, false
185526}
185527
185528// AsZohoObjectDataset is the BasicDataset implementation for WebTableDataset.
185529func (wtd WebTableDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
185530	return nil, false
185531}
185532
185533// AsXeroObjectDataset is the BasicDataset implementation for WebTableDataset.
185534func (wtd WebTableDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
185535	return nil, false
185536}
185537
185538// AsSquareObjectDataset is the BasicDataset implementation for WebTableDataset.
185539func (wtd WebTableDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
185540	return nil, false
185541}
185542
185543// AsSparkObjectDataset is the BasicDataset implementation for WebTableDataset.
185544func (wtd WebTableDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
185545	return nil, false
185546}
185547
185548// AsShopifyObjectDataset is the BasicDataset implementation for WebTableDataset.
185549func (wtd WebTableDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
185550	return nil, false
185551}
185552
185553// AsServiceNowObjectDataset is the BasicDataset implementation for WebTableDataset.
185554func (wtd WebTableDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
185555	return nil, false
185556}
185557
185558// AsQuickBooksObjectDataset is the BasicDataset implementation for WebTableDataset.
185559func (wtd WebTableDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
185560	return nil, false
185561}
185562
185563// AsPrestoObjectDataset is the BasicDataset implementation for WebTableDataset.
185564func (wtd WebTableDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
185565	return nil, false
185566}
185567
185568// AsPhoenixObjectDataset is the BasicDataset implementation for WebTableDataset.
185569func (wtd WebTableDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
185570	return nil, false
185571}
185572
185573// AsPaypalObjectDataset is the BasicDataset implementation for WebTableDataset.
185574func (wtd WebTableDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
185575	return nil, false
185576}
185577
185578// AsMarketoObjectDataset is the BasicDataset implementation for WebTableDataset.
185579func (wtd WebTableDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
185580	return nil, false
185581}
185582
185583// AsMariaDBTableDataset is the BasicDataset implementation for WebTableDataset.
185584func (wtd WebTableDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
185585	return nil, false
185586}
185587
185588// AsMagentoObjectDataset is the BasicDataset implementation for WebTableDataset.
185589func (wtd WebTableDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
185590	return nil, false
185591}
185592
185593// AsJiraObjectDataset is the BasicDataset implementation for WebTableDataset.
185594func (wtd WebTableDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
185595	return nil, false
185596}
185597
185598// AsImpalaObjectDataset is the BasicDataset implementation for WebTableDataset.
185599func (wtd WebTableDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
185600	return nil, false
185601}
185602
185603// AsHubspotObjectDataset is the BasicDataset implementation for WebTableDataset.
185604func (wtd WebTableDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
185605	return nil, false
185606}
185607
185608// AsHiveObjectDataset is the BasicDataset implementation for WebTableDataset.
185609func (wtd WebTableDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
185610	return nil, false
185611}
185612
185613// AsHBaseObjectDataset is the BasicDataset implementation for WebTableDataset.
185614func (wtd WebTableDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
185615	return nil, false
185616}
185617
185618// AsGreenplumTableDataset is the BasicDataset implementation for WebTableDataset.
185619func (wtd WebTableDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
185620	return nil, false
185621}
185622
185623// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for WebTableDataset.
185624func (wtd WebTableDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
185625	return nil, false
185626}
185627
185628// AsEloquaObjectDataset is the BasicDataset implementation for WebTableDataset.
185629func (wtd WebTableDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
185630	return nil, false
185631}
185632
185633// AsDrillTableDataset is the BasicDataset implementation for WebTableDataset.
185634func (wtd WebTableDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
185635	return nil, false
185636}
185637
185638// AsCouchbaseTableDataset is the BasicDataset implementation for WebTableDataset.
185639func (wtd WebTableDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
185640	return nil, false
185641}
185642
185643// AsConcurObjectDataset is the BasicDataset implementation for WebTableDataset.
185644func (wtd WebTableDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
185645	return nil, false
185646}
185647
185648// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for WebTableDataset.
185649func (wtd WebTableDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
185650	return nil, false
185651}
185652
185653// AsAmazonMWSObjectDataset is the BasicDataset implementation for WebTableDataset.
185654func (wtd WebTableDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
185655	return nil, false
185656}
185657
185658// AsHTTPDataset is the BasicDataset implementation for WebTableDataset.
185659func (wtd WebTableDataset) AsHTTPDataset() (*HTTPDataset, bool) {
185660	return nil, false
185661}
185662
185663// AsAzureSearchIndexDataset is the BasicDataset implementation for WebTableDataset.
185664func (wtd WebTableDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
185665	return nil, false
185666}
185667
185668// AsWebTableDataset is the BasicDataset implementation for WebTableDataset.
185669func (wtd WebTableDataset) AsWebTableDataset() (*WebTableDataset, bool) {
185670	return &wtd, true
185671}
185672
185673// AsSapTableResourceDataset is the BasicDataset implementation for WebTableDataset.
185674func (wtd WebTableDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) {
185675	return nil, false
185676}
185677
185678// AsRestResourceDataset is the BasicDataset implementation for WebTableDataset.
185679func (wtd WebTableDataset) AsRestResourceDataset() (*RestResourceDataset, bool) {
185680	return nil, false
185681}
185682
185683// AsSQLServerTableDataset is the BasicDataset implementation for WebTableDataset.
185684func (wtd WebTableDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
185685	return nil, false
185686}
185687
185688// AsSapOpenHubTableDataset is the BasicDataset implementation for WebTableDataset.
185689func (wtd WebTableDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) {
185690	return nil, false
185691}
185692
185693// AsSapHanaTableDataset is the BasicDataset implementation for WebTableDataset.
185694func (wtd WebTableDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) {
185695	return nil, false
185696}
185697
185698// AsSapEccResourceDataset is the BasicDataset implementation for WebTableDataset.
185699func (wtd WebTableDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
185700	return nil, false
185701}
185702
185703// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for WebTableDataset.
185704func (wtd WebTableDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
185705	return nil, false
185706}
185707
185708// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for WebTableDataset.
185709func (wtd WebTableDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) {
185710	return nil, false
185711}
185712
185713// AsSalesforceObjectDataset is the BasicDataset implementation for WebTableDataset.
185714func (wtd WebTableDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
185715	return nil, false
185716}
185717
185718// AsMicrosoftAccessTableDataset is the BasicDataset implementation for WebTableDataset.
185719func (wtd WebTableDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) {
185720	return nil, false
185721}
185722
185723// AsPostgreSQLTableDataset is the BasicDataset implementation for WebTableDataset.
185724func (wtd WebTableDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) {
185725	return nil, false
185726}
185727
185728// AsMySQLTableDataset is the BasicDataset implementation for WebTableDataset.
185729func (wtd WebTableDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) {
185730	return nil, false
185731}
185732
185733// AsOdbcTableDataset is the BasicDataset implementation for WebTableDataset.
185734func (wtd WebTableDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) {
185735	return nil, false
185736}
185737
185738// AsInformixTableDataset is the BasicDataset implementation for WebTableDataset.
185739func (wtd WebTableDataset) AsInformixTableDataset() (*InformixTableDataset, bool) {
185740	return nil, false
185741}
185742
185743// AsRelationalTableDataset is the BasicDataset implementation for WebTableDataset.
185744func (wtd WebTableDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
185745	return nil, false
185746}
185747
185748// AsAzureMySQLTableDataset is the BasicDataset implementation for WebTableDataset.
185749func (wtd WebTableDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
185750	return nil, false
185751}
185752
185753// AsTeradataTableDataset is the BasicDataset implementation for WebTableDataset.
185754func (wtd WebTableDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) {
185755	return nil, false
185756}
185757
185758// AsOracleTableDataset is the BasicDataset implementation for WebTableDataset.
185759func (wtd WebTableDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
185760	return nil, false
185761}
185762
185763// AsODataResourceDataset is the BasicDataset implementation for WebTableDataset.
185764func (wtd WebTableDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
185765	return nil, false
185766}
185767
185768// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for WebTableDataset.
185769func (wtd WebTableDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) {
185770	return nil, false
185771}
185772
185773// AsMongoDbV2CollectionDataset is the BasicDataset implementation for WebTableDataset.
185774func (wtd WebTableDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) {
185775	return nil, false
185776}
185777
185778// AsMongoDbCollectionDataset is the BasicDataset implementation for WebTableDataset.
185779func (wtd WebTableDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
185780	return nil, false
185781}
185782
185783// AsFileShareDataset is the BasicDataset implementation for WebTableDataset.
185784func (wtd WebTableDataset) AsFileShareDataset() (*FileShareDataset, bool) {
185785	return nil, false
185786}
185787
185788// AsOffice365Dataset is the BasicDataset implementation for WebTableDataset.
185789func (wtd WebTableDataset) AsOffice365Dataset() (*Office365Dataset, bool) {
185790	return nil, false
185791}
185792
185793// AsAzureBlobFSDataset is the BasicDataset implementation for WebTableDataset.
185794func (wtd WebTableDataset) AsAzureBlobFSDataset() (*AzureBlobFSDataset, bool) {
185795	return nil, false
185796}
185797
185798// AsAzureDataLakeStoreDataset is the BasicDataset implementation for WebTableDataset.
185799func (wtd WebTableDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) {
185800	return nil, false
185801}
185802
185803// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for WebTableDataset.
185804func (wtd WebTableDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) {
185805	return nil, false
185806}
185807
185808// AsDynamicsCrmEntityDataset is the BasicDataset implementation for WebTableDataset.
185809func (wtd WebTableDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) {
185810	return nil, false
185811}
185812
185813// AsDynamicsEntityDataset is the BasicDataset implementation for WebTableDataset.
185814func (wtd WebTableDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
185815	return nil, false
185816}
185817
185818// AsDocumentDbCollectionDataset is the BasicDataset implementation for WebTableDataset.
185819func (wtd WebTableDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
185820	return nil, false
185821}
185822
185823// AsCustomDataset is the BasicDataset implementation for WebTableDataset.
185824func (wtd WebTableDataset) AsCustomDataset() (*CustomDataset, bool) {
185825	return nil, false
185826}
185827
185828// AsCassandraTableDataset is the BasicDataset implementation for WebTableDataset.
185829func (wtd WebTableDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
185830	return nil, false
185831}
185832
185833// AsAzureSQLDWTableDataset is the BasicDataset implementation for WebTableDataset.
185834func (wtd WebTableDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
185835	return nil, false
185836}
185837
185838// AsAzureSQLMITableDataset is the BasicDataset implementation for WebTableDataset.
185839func (wtd WebTableDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) {
185840	return nil, false
185841}
185842
185843// AsAzureSQLTableDataset is the BasicDataset implementation for WebTableDataset.
185844func (wtd WebTableDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
185845	return nil, false
185846}
185847
185848// AsAzureTableDataset is the BasicDataset implementation for WebTableDataset.
185849func (wtd WebTableDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
185850	return nil, false
185851}
185852
185853// AsAzureBlobDataset is the BasicDataset implementation for WebTableDataset.
185854func (wtd WebTableDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) {
185855	return nil, false
185856}
185857
185858// AsBinaryDataset is the BasicDataset implementation for WebTableDataset.
185859func (wtd WebTableDataset) AsBinaryDataset() (*BinaryDataset, bool) {
185860	return nil, false
185861}
185862
185863// AsDelimitedTextDataset is the BasicDataset implementation for WebTableDataset.
185864func (wtd WebTableDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) {
185865	return nil, false
185866}
185867
185868// AsParquetDataset is the BasicDataset implementation for WebTableDataset.
185869func (wtd WebTableDataset) AsParquetDataset() (*ParquetDataset, bool) {
185870	return nil, false
185871}
185872
185873// AsAmazonS3Dataset is the BasicDataset implementation for WebTableDataset.
185874func (wtd WebTableDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) {
185875	return nil, false
185876}
185877
185878// AsDataset is the BasicDataset implementation for WebTableDataset.
185879func (wtd WebTableDataset) AsDataset() (*Dataset, bool) {
185880	return nil, false
185881}
185882
185883// AsBasicDataset is the BasicDataset implementation for WebTableDataset.
185884func (wtd WebTableDataset) AsBasicDataset() (BasicDataset, bool) {
185885	return &wtd, true
185886}
185887
185888// UnmarshalJSON is the custom unmarshaler for WebTableDataset struct.
185889func (wtd *WebTableDataset) UnmarshalJSON(body []byte) error {
185890	var m map[string]*json.RawMessage
185891	err := json.Unmarshal(body, &m)
185892	if err != nil {
185893		return err
185894	}
185895	for k, v := range m {
185896		switch k {
185897		case "typeProperties":
185898			if v != nil {
185899				var webTableDatasetTypeProperties WebTableDatasetTypeProperties
185900				err = json.Unmarshal(*v, &webTableDatasetTypeProperties)
185901				if err != nil {
185902					return err
185903				}
185904				wtd.WebTableDatasetTypeProperties = &webTableDatasetTypeProperties
185905			}
185906		default:
185907			if v != nil {
185908				var additionalProperties interface{}
185909				err = json.Unmarshal(*v, &additionalProperties)
185910				if err != nil {
185911					return err
185912				}
185913				if wtd.AdditionalProperties == nil {
185914					wtd.AdditionalProperties = make(map[string]interface{})
185915				}
185916				wtd.AdditionalProperties[k] = additionalProperties
185917			}
185918		case "description":
185919			if v != nil {
185920				var description string
185921				err = json.Unmarshal(*v, &description)
185922				if err != nil {
185923					return err
185924				}
185925				wtd.Description = &description
185926			}
185927		case "structure":
185928			if v != nil {
185929				var structure interface{}
185930				err = json.Unmarshal(*v, &structure)
185931				if err != nil {
185932					return err
185933				}
185934				wtd.Structure = structure
185935			}
185936		case "schema":
185937			if v != nil {
185938				var schema interface{}
185939				err = json.Unmarshal(*v, &schema)
185940				if err != nil {
185941					return err
185942				}
185943				wtd.Schema = schema
185944			}
185945		case "linkedServiceName":
185946			if v != nil {
185947				var linkedServiceName LinkedServiceReference
185948				err = json.Unmarshal(*v, &linkedServiceName)
185949				if err != nil {
185950					return err
185951				}
185952				wtd.LinkedServiceName = &linkedServiceName
185953			}
185954		case "parameters":
185955			if v != nil {
185956				var parameters map[string]*ParameterSpecification
185957				err = json.Unmarshal(*v, &parameters)
185958				if err != nil {
185959					return err
185960				}
185961				wtd.Parameters = parameters
185962			}
185963		case "annotations":
185964			if v != nil {
185965				var annotations []interface{}
185966				err = json.Unmarshal(*v, &annotations)
185967				if err != nil {
185968					return err
185969				}
185970				wtd.Annotations = &annotations
185971			}
185972		case "folder":
185973			if v != nil {
185974				var folder DatasetFolder
185975				err = json.Unmarshal(*v, &folder)
185976				if err != nil {
185977					return err
185978				}
185979				wtd.Folder = &folder
185980			}
185981		case "type":
185982			if v != nil {
185983				var typeVar TypeBasicDataset
185984				err = json.Unmarshal(*v, &typeVar)
185985				if err != nil {
185986					return err
185987				}
185988				wtd.Type = typeVar
185989			}
185990		}
185991	}
185992
185993	return nil
185994}
185995
185996// WebTableDatasetTypeProperties web table dataset properties.
185997type WebTableDatasetTypeProperties struct {
185998	// Index - The zero-based index of the table in the web page. Type: integer (or Expression with resultType integer), minimum: 0.
185999	Index interface{} `json:"index,omitempty"`
186000	// Path - The relative URL to the web page from the linked service URL. Type: string (or Expression with resultType string).
186001	Path interface{} `json:"path,omitempty"`
186002}
186003
186004// XeroLinkedService xero Service linked service.
186005type XeroLinkedService struct {
186006	// XeroLinkedServiceTypeProperties - Xero Service linked service properties.
186007	*XeroLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
186008	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
186009	AdditionalProperties map[string]interface{} `json:""`
186010	// ConnectVia - The integration runtime reference.
186011	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
186012	// Description - Linked service description.
186013	Description *string `json:"description,omitempty"`
186014	// Parameters - Parameters for linked service.
186015	Parameters map[string]*ParameterSpecification `json:"parameters"`
186016	// Annotations - List of tags that can be used for describing the linked service.
186017	Annotations *[]interface{} `json:"annotations,omitempty"`
186018	// Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', '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', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage'
186019	Type TypeBasicLinkedService `json:"type,omitempty"`
186020}
186021
186022// MarshalJSON is the custom marshaler for XeroLinkedService.
186023func (xls XeroLinkedService) MarshalJSON() ([]byte, error) {
186024	xls.Type = TypeXero
186025	objectMap := make(map[string]interface{})
186026	if xls.XeroLinkedServiceTypeProperties != nil {
186027		objectMap["typeProperties"] = xls.XeroLinkedServiceTypeProperties
186028	}
186029	if xls.ConnectVia != nil {
186030		objectMap["connectVia"] = xls.ConnectVia
186031	}
186032	if xls.Description != nil {
186033		objectMap["description"] = xls.Description
186034	}
186035	if xls.Parameters != nil {
186036		objectMap["parameters"] = xls.Parameters
186037	}
186038	if xls.Annotations != nil {
186039		objectMap["annotations"] = xls.Annotations
186040	}
186041	if xls.Type != "" {
186042		objectMap["type"] = xls.Type
186043	}
186044	for k, v := range xls.AdditionalProperties {
186045		objectMap[k] = v
186046	}
186047	return json.Marshal(objectMap)
186048}
186049
186050// AsAzureFunctionLinkedService is the BasicLinkedService implementation for XeroLinkedService.
186051func (xls XeroLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) {
186052	return nil, false
186053}
186054
186055// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for XeroLinkedService.
186056func (xls XeroLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) {
186057	return nil, false
186058}
186059
186060// AsSapTableLinkedService is the BasicLinkedService implementation for XeroLinkedService.
186061func (xls XeroLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) {
186062	return nil, false
186063}
186064
186065// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for XeroLinkedService.
186066func (xls XeroLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) {
186067	return nil, false
186068}
186069
186070// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for XeroLinkedService.
186071func (xls XeroLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) {
186072	return nil, false
186073}
186074
186075// AsDynamicsAXLinkedService is the BasicLinkedService implementation for XeroLinkedService.
186076func (xls XeroLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) {
186077	return nil, false
186078}
186079
186080// AsResponsysLinkedService is the BasicLinkedService implementation for XeroLinkedService.
186081func (xls XeroLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
186082	return nil, false
186083}
186084
186085// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for XeroLinkedService.
186086func (xls XeroLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
186087	return nil, false
186088}
186089
186090// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for XeroLinkedService.
186091func (xls XeroLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
186092	return nil, false
186093}
186094
186095// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for XeroLinkedService.
186096func (xls XeroLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
186097	return nil, false
186098}
186099
186100// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for XeroLinkedService.
186101func (xls XeroLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
186102	return nil, false
186103}
186104
186105// AsNetezzaLinkedService is the BasicLinkedService implementation for XeroLinkedService.
186106func (xls XeroLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
186107	return nil, false
186108}
186109
186110// AsVerticaLinkedService is the BasicLinkedService implementation for XeroLinkedService.
186111func (xls XeroLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
186112	return nil, false
186113}
186114
186115// AsZohoLinkedService is the BasicLinkedService implementation for XeroLinkedService.
186116func (xls XeroLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
186117	return nil, false
186118}
186119
186120// AsXeroLinkedService is the BasicLinkedService implementation for XeroLinkedService.
186121func (xls XeroLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
186122	return &xls, true
186123}
186124
186125// AsSquareLinkedService is the BasicLinkedService implementation for XeroLinkedService.
186126func (xls XeroLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
186127	return nil, false
186128}
186129
186130// AsSparkLinkedService is the BasicLinkedService implementation for XeroLinkedService.
186131func (xls XeroLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
186132	return nil, false
186133}
186134
186135// AsShopifyLinkedService is the BasicLinkedService implementation for XeroLinkedService.
186136func (xls XeroLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
186137	return nil, false
186138}
186139
186140// AsServiceNowLinkedService is the BasicLinkedService implementation for XeroLinkedService.
186141func (xls XeroLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
186142	return nil, false
186143}
186144
186145// AsQuickBooksLinkedService is the BasicLinkedService implementation for XeroLinkedService.
186146func (xls XeroLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
186147	return nil, false
186148}
186149
186150// AsPrestoLinkedService is the BasicLinkedService implementation for XeroLinkedService.
186151func (xls XeroLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
186152	return nil, false
186153}
186154
186155// AsPhoenixLinkedService is the BasicLinkedService implementation for XeroLinkedService.
186156func (xls XeroLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
186157	return nil, false
186158}
186159
186160// AsPaypalLinkedService is the BasicLinkedService implementation for XeroLinkedService.
186161func (xls XeroLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
186162	return nil, false
186163}
186164
186165// AsMarketoLinkedService is the BasicLinkedService implementation for XeroLinkedService.
186166func (xls XeroLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
186167	return nil, false
186168}
186169
186170// AsMariaDBLinkedService is the BasicLinkedService implementation for XeroLinkedService.
186171func (xls XeroLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
186172	return nil, false
186173}
186174
186175// AsMagentoLinkedService is the BasicLinkedService implementation for XeroLinkedService.
186176func (xls XeroLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
186177	return nil, false
186178}
186179
186180// AsJiraLinkedService is the BasicLinkedService implementation for XeroLinkedService.
186181func (xls XeroLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
186182	return nil, false
186183}
186184
186185// AsImpalaLinkedService is the BasicLinkedService implementation for XeroLinkedService.
186186func (xls XeroLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
186187	return nil, false
186188}
186189
186190// AsHubspotLinkedService is the BasicLinkedService implementation for XeroLinkedService.
186191func (xls XeroLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
186192	return nil, false
186193}
186194
186195// AsHiveLinkedService is the BasicLinkedService implementation for XeroLinkedService.
186196func (xls XeroLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
186197	return nil, false
186198}
186199
186200// AsHBaseLinkedService is the BasicLinkedService implementation for XeroLinkedService.
186201func (xls XeroLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
186202	return nil, false
186203}
186204
186205// AsGreenplumLinkedService is the BasicLinkedService implementation for XeroLinkedService.
186206func (xls XeroLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
186207	return nil, false
186208}
186209
186210// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for XeroLinkedService.
186211func (xls XeroLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
186212	return nil, false
186213}
186214
186215// AsEloquaLinkedService is the BasicLinkedService implementation for XeroLinkedService.
186216func (xls XeroLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
186217	return nil, false
186218}
186219
186220// AsDrillLinkedService is the BasicLinkedService implementation for XeroLinkedService.
186221func (xls XeroLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
186222	return nil, false
186223}
186224
186225// AsCouchbaseLinkedService is the BasicLinkedService implementation for XeroLinkedService.
186226func (xls XeroLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
186227	return nil, false
186228}
186229
186230// AsConcurLinkedService is the BasicLinkedService implementation for XeroLinkedService.
186231func (xls XeroLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
186232	return nil, false
186233}
186234
186235// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for XeroLinkedService.
186236func (xls XeroLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
186237	return nil, false
186238}
186239
186240// AsAmazonMWSLinkedService is the BasicLinkedService implementation for XeroLinkedService.
186241func (xls XeroLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
186242	return nil, false
186243}
186244
186245// AsSapHanaLinkedService is the BasicLinkedService implementation for XeroLinkedService.
186246func (xls XeroLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
186247	return nil, false
186248}
186249
186250// AsSapBWLinkedService is the BasicLinkedService implementation for XeroLinkedService.
186251func (xls XeroLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
186252	return nil, false
186253}
186254
186255// AsSftpServerLinkedService is the BasicLinkedService implementation for XeroLinkedService.
186256func (xls XeroLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
186257	return nil, false
186258}
186259
186260// AsFtpServerLinkedService is the BasicLinkedService implementation for XeroLinkedService.
186261func (xls XeroLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
186262	return nil, false
186263}
186264
186265// AsHTTPLinkedService is the BasicLinkedService implementation for XeroLinkedService.
186266func (xls XeroLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
186267	return nil, false
186268}
186269
186270// AsAzureSearchLinkedService is the BasicLinkedService implementation for XeroLinkedService.
186271func (xls XeroLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
186272	return nil, false
186273}
186274
186275// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for XeroLinkedService.
186276func (xls XeroLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
186277	return nil, false
186278}
186279
186280// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for XeroLinkedService.
186281func (xls XeroLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
186282	return nil, false
186283}
186284
186285// AsAmazonS3LinkedService is the BasicLinkedService implementation for XeroLinkedService.
186286func (xls XeroLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
186287	return nil, false
186288}
186289
186290// AsRestServiceLinkedService is the BasicLinkedService implementation for XeroLinkedService.
186291func (xls XeroLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) {
186292	return nil, false
186293}
186294
186295// AsSapOpenHubLinkedService is the BasicLinkedService implementation for XeroLinkedService.
186296func (xls XeroLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) {
186297	return nil, false
186298}
186299
186300// AsSapEccLinkedService is the BasicLinkedService implementation for XeroLinkedService.
186301func (xls XeroLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
186302	return nil, false
186303}
186304
186305// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for XeroLinkedService.
186306func (xls XeroLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
186307	return nil, false
186308}
186309
186310// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for XeroLinkedService.
186311func (xls XeroLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) {
186312	return nil, false
186313}
186314
186315// AsSalesforceLinkedService is the BasicLinkedService implementation for XeroLinkedService.
186316func (xls XeroLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
186317	return nil, false
186318}
186319
186320// AsOffice365LinkedService is the BasicLinkedService implementation for XeroLinkedService.
186321func (xls XeroLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) {
186322	return nil, false
186323}
186324
186325// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for XeroLinkedService.
186326func (xls XeroLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) {
186327	return nil, false
186328}
186329
186330// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for XeroLinkedService.
186331func (xls XeroLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
186332	return nil, false
186333}
186334
186335// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for XeroLinkedService.
186336func (xls XeroLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) {
186337	return nil, false
186338}
186339
186340// AsMongoDbV2LinkedService is the BasicLinkedService implementation for XeroLinkedService.
186341func (xls XeroLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) {
186342	return nil, false
186343}
186344
186345// AsMongoDbLinkedService is the BasicLinkedService implementation for XeroLinkedService.
186346func (xls XeroLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
186347	return nil, false
186348}
186349
186350// AsCassandraLinkedService is the BasicLinkedService implementation for XeroLinkedService.
186351func (xls XeroLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
186352	return nil, false
186353}
186354
186355// AsWebLinkedService is the BasicLinkedService implementation for XeroLinkedService.
186356func (xls XeroLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
186357	return nil, false
186358}
186359
186360// AsODataLinkedService is the BasicLinkedService implementation for XeroLinkedService.
186361func (xls XeroLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
186362	return nil, false
186363}
186364
186365// AsHdfsLinkedService is the BasicLinkedService implementation for XeroLinkedService.
186366func (xls XeroLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
186367	return nil, false
186368}
186369
186370// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for XeroLinkedService.
186371func (xls XeroLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) {
186372	return nil, false
186373}
186374
186375// AsInformixLinkedService is the BasicLinkedService implementation for XeroLinkedService.
186376func (xls XeroLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) {
186377	return nil, false
186378}
186379
186380// AsOdbcLinkedService is the BasicLinkedService implementation for XeroLinkedService.
186381func (xls XeroLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
186382	return nil, false
186383}
186384
186385// AsAzureMLLinkedService is the BasicLinkedService implementation for XeroLinkedService.
186386func (xls XeroLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
186387	return nil, false
186388}
186389
186390// AsTeradataLinkedService is the BasicLinkedService implementation for XeroLinkedService.
186391func (xls XeroLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
186392	return nil, false
186393}
186394
186395// AsDb2LinkedService is the BasicLinkedService implementation for XeroLinkedService.
186396func (xls XeroLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
186397	return nil, false
186398}
186399
186400// AsSybaseLinkedService is the BasicLinkedService implementation for XeroLinkedService.
186401func (xls XeroLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
186402	return nil, false
186403}
186404
186405// AsPostgreSQLLinkedService is the BasicLinkedService implementation for XeroLinkedService.
186406func (xls XeroLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
186407	return nil, false
186408}
186409
186410// AsMySQLLinkedService is the BasicLinkedService implementation for XeroLinkedService.
186411func (xls XeroLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
186412	return nil, false
186413}
186414
186415// AsAzureMySQLLinkedService is the BasicLinkedService implementation for XeroLinkedService.
186416func (xls XeroLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
186417	return nil, false
186418}
186419
186420// AsOracleLinkedService is the BasicLinkedService implementation for XeroLinkedService.
186421func (xls XeroLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
186422	return nil, false
186423}
186424
186425// AsFileServerLinkedService is the BasicLinkedService implementation for XeroLinkedService.
186426func (xls XeroLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
186427	return nil, false
186428}
186429
186430// AsHDInsightLinkedService is the BasicLinkedService implementation for XeroLinkedService.
186431func (xls XeroLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
186432	return nil, false
186433}
186434
186435// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for XeroLinkedService.
186436func (xls XeroLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) {
186437	return nil, false
186438}
186439
186440// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for XeroLinkedService.
186441func (xls XeroLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) {
186442	return nil, false
186443}
186444
186445// AsDynamicsLinkedService is the BasicLinkedService implementation for XeroLinkedService.
186446func (xls XeroLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
186447	return nil, false
186448}
186449
186450// AsCosmosDbLinkedService is the BasicLinkedService implementation for XeroLinkedService.
186451func (xls XeroLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
186452	return nil, false
186453}
186454
186455// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for XeroLinkedService.
186456func (xls XeroLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
186457	return nil, false
186458}
186459
186460// AsAzureBatchLinkedService is the BasicLinkedService implementation for XeroLinkedService.
186461func (xls XeroLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
186462	return nil, false
186463}
186464
186465// AsAzureSQLMILinkedService is the BasicLinkedService implementation for XeroLinkedService.
186466func (xls XeroLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) {
186467	return nil, false
186468}
186469
186470// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for XeroLinkedService.
186471func (xls XeroLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
186472	return nil, false
186473}
186474
186475// AsSQLServerLinkedService is the BasicLinkedService implementation for XeroLinkedService.
186476func (xls XeroLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
186477	return nil, false
186478}
186479
186480// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for XeroLinkedService.
186481func (xls XeroLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
186482	return nil, false
186483}
186484
186485// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for XeroLinkedService.
186486func (xls XeroLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) {
186487	return nil, false
186488}
186489
186490// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for XeroLinkedService.
186491func (xls XeroLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) {
186492	return nil, false
186493}
186494
186495// AsAzureStorageLinkedService is the BasicLinkedService implementation for XeroLinkedService.
186496func (xls XeroLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
186497	return nil, false
186498}
186499
186500// AsLinkedService is the BasicLinkedService implementation for XeroLinkedService.
186501func (xls XeroLinkedService) AsLinkedService() (*LinkedService, bool) {
186502	return nil, false
186503}
186504
186505// AsBasicLinkedService is the BasicLinkedService implementation for XeroLinkedService.
186506func (xls XeroLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
186507	return &xls, true
186508}
186509
186510// UnmarshalJSON is the custom unmarshaler for XeroLinkedService struct.
186511func (xls *XeroLinkedService) UnmarshalJSON(body []byte) error {
186512	var m map[string]*json.RawMessage
186513	err := json.Unmarshal(body, &m)
186514	if err != nil {
186515		return err
186516	}
186517	for k, v := range m {
186518		switch k {
186519		case "typeProperties":
186520			if v != nil {
186521				var xeroLinkedServiceTypeProperties XeroLinkedServiceTypeProperties
186522				err = json.Unmarshal(*v, &xeroLinkedServiceTypeProperties)
186523				if err != nil {
186524					return err
186525				}
186526				xls.XeroLinkedServiceTypeProperties = &xeroLinkedServiceTypeProperties
186527			}
186528		default:
186529			if v != nil {
186530				var additionalProperties interface{}
186531				err = json.Unmarshal(*v, &additionalProperties)
186532				if err != nil {
186533					return err
186534				}
186535				if xls.AdditionalProperties == nil {
186536					xls.AdditionalProperties = make(map[string]interface{})
186537				}
186538				xls.AdditionalProperties[k] = additionalProperties
186539			}
186540		case "connectVia":
186541			if v != nil {
186542				var connectVia IntegrationRuntimeReference
186543				err = json.Unmarshal(*v, &connectVia)
186544				if err != nil {
186545					return err
186546				}
186547				xls.ConnectVia = &connectVia
186548			}
186549		case "description":
186550			if v != nil {
186551				var description string
186552				err = json.Unmarshal(*v, &description)
186553				if err != nil {
186554					return err
186555				}
186556				xls.Description = &description
186557			}
186558		case "parameters":
186559			if v != nil {
186560				var parameters map[string]*ParameterSpecification
186561				err = json.Unmarshal(*v, &parameters)
186562				if err != nil {
186563					return err
186564				}
186565				xls.Parameters = parameters
186566			}
186567		case "annotations":
186568			if v != nil {
186569				var annotations []interface{}
186570				err = json.Unmarshal(*v, &annotations)
186571				if err != nil {
186572					return err
186573				}
186574				xls.Annotations = &annotations
186575			}
186576		case "type":
186577			if v != nil {
186578				var typeVar TypeBasicLinkedService
186579				err = json.Unmarshal(*v, &typeVar)
186580				if err != nil {
186581					return err
186582				}
186583				xls.Type = typeVar
186584			}
186585		}
186586	}
186587
186588	return nil
186589}
186590
186591// XeroLinkedServiceTypeProperties xero Service linked service properties.
186592type XeroLinkedServiceTypeProperties struct {
186593	// Host - The endpoint of the Xero server. (i.e. api.xero.com)
186594	Host interface{} `json:"host,omitempty"`
186595	// ConsumerKey - The consumer key associated with the Xero application.
186596	ConsumerKey BasicSecretBase `json:"consumerKey,omitempty"`
186597	// 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(
186598	// ).
186599	PrivateKey BasicSecretBase `json:"privateKey,omitempty"`
186600	// UseEncryptedEndpoints - Specifies whether the data source endpoints are encrypted using HTTPS. The default value is true.
186601	UseEncryptedEndpoints interface{} `json:"useEncryptedEndpoints,omitempty"`
186602	// 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.
186603	UseHostVerification interface{} `json:"useHostVerification,omitempty"`
186604	// UsePeerVerification - Specifies whether to verify the identity of the server when connecting over SSL. The default value is true.
186605	UsePeerVerification interface{} `json:"usePeerVerification,omitempty"`
186606	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
186607	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
186608}
186609
186610// UnmarshalJSON is the custom unmarshaler for XeroLinkedServiceTypeProperties struct.
186611func (xlstp *XeroLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
186612	var m map[string]*json.RawMessage
186613	err := json.Unmarshal(body, &m)
186614	if err != nil {
186615		return err
186616	}
186617	for k, v := range m {
186618		switch k {
186619		case "host":
186620			if v != nil {
186621				var host interface{}
186622				err = json.Unmarshal(*v, &host)
186623				if err != nil {
186624					return err
186625				}
186626				xlstp.Host = host
186627			}
186628		case "consumerKey":
186629			if v != nil {
186630				consumerKey, err := unmarshalBasicSecretBase(*v)
186631				if err != nil {
186632					return err
186633				}
186634				xlstp.ConsumerKey = consumerKey
186635			}
186636		case "privateKey":
186637			if v != nil {
186638				privateKey, err := unmarshalBasicSecretBase(*v)
186639				if err != nil {
186640					return err
186641				}
186642				xlstp.PrivateKey = privateKey
186643			}
186644		case "useEncryptedEndpoints":
186645			if v != nil {
186646				var useEncryptedEndpoints interface{}
186647				err = json.Unmarshal(*v, &useEncryptedEndpoints)
186648				if err != nil {
186649					return err
186650				}
186651				xlstp.UseEncryptedEndpoints = useEncryptedEndpoints
186652			}
186653		case "useHostVerification":
186654			if v != nil {
186655				var useHostVerification interface{}
186656				err = json.Unmarshal(*v, &useHostVerification)
186657				if err != nil {
186658					return err
186659				}
186660				xlstp.UseHostVerification = useHostVerification
186661			}
186662		case "usePeerVerification":
186663			if v != nil {
186664				var usePeerVerification interface{}
186665				err = json.Unmarshal(*v, &usePeerVerification)
186666				if err != nil {
186667					return err
186668				}
186669				xlstp.UsePeerVerification = usePeerVerification
186670			}
186671		case "encryptedCredential":
186672			if v != nil {
186673				var encryptedCredential interface{}
186674				err = json.Unmarshal(*v, &encryptedCredential)
186675				if err != nil {
186676					return err
186677				}
186678				xlstp.EncryptedCredential = encryptedCredential
186679			}
186680		}
186681	}
186682
186683	return nil
186684}
186685
186686// XeroObjectDataset xero Service dataset.
186687type XeroObjectDataset struct {
186688	// GenericDatasetTypeProperties - Properties specific to this dataset type.
186689	*GenericDatasetTypeProperties `json:"typeProperties,omitempty"`
186690	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
186691	AdditionalProperties map[string]interface{} `json:""`
186692	// Description - Dataset description.
186693	Description *string `json:"description,omitempty"`
186694	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
186695	Structure interface{} `json:"structure,omitempty"`
186696	// Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement.
186697	Schema interface{} `json:"schema,omitempty"`
186698	// LinkedServiceName - Linked service reference.
186699	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
186700	// Parameters - Parameters for dataset.
186701	Parameters map[string]*ParameterSpecification `json:"parameters"`
186702	// Annotations - List of tags that can be used for describing the Dataset.
186703	Annotations *[]interface{} `json:"annotations,omitempty"`
186704	// Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level.
186705	Folder *DatasetFolder `json:"folder,omitempty"`
186706	// Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', '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', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeDelimitedText', 'TypeParquet', 'TypeAmazonS3Object'
186707	Type TypeBasicDataset `json:"type,omitempty"`
186708}
186709
186710// MarshalJSON is the custom marshaler for XeroObjectDataset.
186711func (xod XeroObjectDataset) MarshalJSON() ([]byte, error) {
186712	xod.Type = TypeXeroObject
186713	objectMap := make(map[string]interface{})
186714	if xod.GenericDatasetTypeProperties != nil {
186715		objectMap["typeProperties"] = xod.GenericDatasetTypeProperties
186716	}
186717	if xod.Description != nil {
186718		objectMap["description"] = xod.Description
186719	}
186720	if xod.Structure != nil {
186721		objectMap["structure"] = xod.Structure
186722	}
186723	if xod.Schema != nil {
186724		objectMap["schema"] = xod.Schema
186725	}
186726	if xod.LinkedServiceName != nil {
186727		objectMap["linkedServiceName"] = xod.LinkedServiceName
186728	}
186729	if xod.Parameters != nil {
186730		objectMap["parameters"] = xod.Parameters
186731	}
186732	if xod.Annotations != nil {
186733		objectMap["annotations"] = xod.Annotations
186734	}
186735	if xod.Folder != nil {
186736		objectMap["folder"] = xod.Folder
186737	}
186738	if xod.Type != "" {
186739		objectMap["type"] = xod.Type
186740	}
186741	for k, v := range xod.AdditionalProperties {
186742		objectMap[k] = v
186743	}
186744	return json.Marshal(objectMap)
186745}
186746
186747// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for XeroObjectDataset.
186748func (xod XeroObjectDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) {
186749	return nil, false
186750}
186751
186752// AsAzureDataExplorerTableDataset is the BasicDataset implementation for XeroObjectDataset.
186753func (xod XeroObjectDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) {
186754	return nil, false
186755}
186756
186757// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for XeroObjectDataset.
186758func (xod XeroObjectDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) {
186759	return nil, false
186760}
186761
186762// AsDynamicsAXResourceDataset is the BasicDataset implementation for XeroObjectDataset.
186763func (xod XeroObjectDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) {
186764	return nil, false
186765}
186766
186767// AsResponsysObjectDataset is the BasicDataset implementation for XeroObjectDataset.
186768func (xod XeroObjectDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
186769	return nil, false
186770}
186771
186772// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for XeroObjectDataset.
186773func (xod XeroObjectDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
186774	return nil, false
186775}
186776
186777// AsVerticaTableDataset is the BasicDataset implementation for XeroObjectDataset.
186778func (xod XeroObjectDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
186779	return nil, false
186780}
186781
186782// AsNetezzaTableDataset is the BasicDataset implementation for XeroObjectDataset.
186783func (xod XeroObjectDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
186784	return nil, false
186785}
186786
186787// AsZohoObjectDataset is the BasicDataset implementation for XeroObjectDataset.
186788func (xod XeroObjectDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
186789	return nil, false
186790}
186791
186792// AsXeroObjectDataset is the BasicDataset implementation for XeroObjectDataset.
186793func (xod XeroObjectDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
186794	return &xod, true
186795}
186796
186797// AsSquareObjectDataset is the BasicDataset implementation for XeroObjectDataset.
186798func (xod XeroObjectDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
186799	return nil, false
186800}
186801
186802// AsSparkObjectDataset is the BasicDataset implementation for XeroObjectDataset.
186803func (xod XeroObjectDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
186804	return nil, false
186805}
186806
186807// AsShopifyObjectDataset is the BasicDataset implementation for XeroObjectDataset.
186808func (xod XeroObjectDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
186809	return nil, false
186810}
186811
186812// AsServiceNowObjectDataset is the BasicDataset implementation for XeroObjectDataset.
186813func (xod XeroObjectDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
186814	return nil, false
186815}
186816
186817// AsQuickBooksObjectDataset is the BasicDataset implementation for XeroObjectDataset.
186818func (xod XeroObjectDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
186819	return nil, false
186820}
186821
186822// AsPrestoObjectDataset is the BasicDataset implementation for XeroObjectDataset.
186823func (xod XeroObjectDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
186824	return nil, false
186825}
186826
186827// AsPhoenixObjectDataset is the BasicDataset implementation for XeroObjectDataset.
186828func (xod XeroObjectDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
186829	return nil, false
186830}
186831
186832// AsPaypalObjectDataset is the BasicDataset implementation for XeroObjectDataset.
186833func (xod XeroObjectDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
186834	return nil, false
186835}
186836
186837// AsMarketoObjectDataset is the BasicDataset implementation for XeroObjectDataset.
186838func (xod XeroObjectDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
186839	return nil, false
186840}
186841
186842// AsMariaDBTableDataset is the BasicDataset implementation for XeroObjectDataset.
186843func (xod XeroObjectDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
186844	return nil, false
186845}
186846
186847// AsMagentoObjectDataset is the BasicDataset implementation for XeroObjectDataset.
186848func (xod XeroObjectDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
186849	return nil, false
186850}
186851
186852// AsJiraObjectDataset is the BasicDataset implementation for XeroObjectDataset.
186853func (xod XeroObjectDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
186854	return nil, false
186855}
186856
186857// AsImpalaObjectDataset is the BasicDataset implementation for XeroObjectDataset.
186858func (xod XeroObjectDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
186859	return nil, false
186860}
186861
186862// AsHubspotObjectDataset is the BasicDataset implementation for XeroObjectDataset.
186863func (xod XeroObjectDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
186864	return nil, false
186865}
186866
186867// AsHiveObjectDataset is the BasicDataset implementation for XeroObjectDataset.
186868func (xod XeroObjectDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
186869	return nil, false
186870}
186871
186872// AsHBaseObjectDataset is the BasicDataset implementation for XeroObjectDataset.
186873func (xod XeroObjectDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
186874	return nil, false
186875}
186876
186877// AsGreenplumTableDataset is the BasicDataset implementation for XeroObjectDataset.
186878func (xod XeroObjectDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
186879	return nil, false
186880}
186881
186882// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for XeroObjectDataset.
186883func (xod XeroObjectDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
186884	return nil, false
186885}
186886
186887// AsEloquaObjectDataset is the BasicDataset implementation for XeroObjectDataset.
186888func (xod XeroObjectDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
186889	return nil, false
186890}
186891
186892// AsDrillTableDataset is the BasicDataset implementation for XeroObjectDataset.
186893func (xod XeroObjectDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
186894	return nil, false
186895}
186896
186897// AsCouchbaseTableDataset is the BasicDataset implementation for XeroObjectDataset.
186898func (xod XeroObjectDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
186899	return nil, false
186900}
186901
186902// AsConcurObjectDataset is the BasicDataset implementation for XeroObjectDataset.
186903func (xod XeroObjectDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
186904	return nil, false
186905}
186906
186907// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for XeroObjectDataset.
186908func (xod XeroObjectDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
186909	return nil, false
186910}
186911
186912// AsAmazonMWSObjectDataset is the BasicDataset implementation for XeroObjectDataset.
186913func (xod XeroObjectDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
186914	return nil, false
186915}
186916
186917// AsHTTPDataset is the BasicDataset implementation for XeroObjectDataset.
186918func (xod XeroObjectDataset) AsHTTPDataset() (*HTTPDataset, bool) {
186919	return nil, false
186920}
186921
186922// AsAzureSearchIndexDataset is the BasicDataset implementation for XeroObjectDataset.
186923func (xod XeroObjectDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
186924	return nil, false
186925}
186926
186927// AsWebTableDataset is the BasicDataset implementation for XeroObjectDataset.
186928func (xod XeroObjectDataset) AsWebTableDataset() (*WebTableDataset, bool) {
186929	return nil, false
186930}
186931
186932// AsSapTableResourceDataset is the BasicDataset implementation for XeroObjectDataset.
186933func (xod XeroObjectDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) {
186934	return nil, false
186935}
186936
186937// AsRestResourceDataset is the BasicDataset implementation for XeroObjectDataset.
186938func (xod XeroObjectDataset) AsRestResourceDataset() (*RestResourceDataset, bool) {
186939	return nil, false
186940}
186941
186942// AsSQLServerTableDataset is the BasicDataset implementation for XeroObjectDataset.
186943func (xod XeroObjectDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
186944	return nil, false
186945}
186946
186947// AsSapOpenHubTableDataset is the BasicDataset implementation for XeroObjectDataset.
186948func (xod XeroObjectDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) {
186949	return nil, false
186950}
186951
186952// AsSapHanaTableDataset is the BasicDataset implementation for XeroObjectDataset.
186953func (xod XeroObjectDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) {
186954	return nil, false
186955}
186956
186957// AsSapEccResourceDataset is the BasicDataset implementation for XeroObjectDataset.
186958func (xod XeroObjectDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
186959	return nil, false
186960}
186961
186962// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for XeroObjectDataset.
186963func (xod XeroObjectDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
186964	return nil, false
186965}
186966
186967// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for XeroObjectDataset.
186968func (xod XeroObjectDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) {
186969	return nil, false
186970}
186971
186972// AsSalesforceObjectDataset is the BasicDataset implementation for XeroObjectDataset.
186973func (xod XeroObjectDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
186974	return nil, false
186975}
186976
186977// AsMicrosoftAccessTableDataset is the BasicDataset implementation for XeroObjectDataset.
186978func (xod XeroObjectDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) {
186979	return nil, false
186980}
186981
186982// AsPostgreSQLTableDataset is the BasicDataset implementation for XeroObjectDataset.
186983func (xod XeroObjectDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) {
186984	return nil, false
186985}
186986
186987// AsMySQLTableDataset is the BasicDataset implementation for XeroObjectDataset.
186988func (xod XeroObjectDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) {
186989	return nil, false
186990}
186991
186992// AsOdbcTableDataset is the BasicDataset implementation for XeroObjectDataset.
186993func (xod XeroObjectDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) {
186994	return nil, false
186995}
186996
186997// AsInformixTableDataset is the BasicDataset implementation for XeroObjectDataset.
186998func (xod XeroObjectDataset) AsInformixTableDataset() (*InformixTableDataset, bool) {
186999	return nil, false
187000}
187001
187002// AsRelationalTableDataset is the BasicDataset implementation for XeroObjectDataset.
187003func (xod XeroObjectDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
187004	return nil, false
187005}
187006
187007// AsAzureMySQLTableDataset is the BasicDataset implementation for XeroObjectDataset.
187008func (xod XeroObjectDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
187009	return nil, false
187010}
187011
187012// AsTeradataTableDataset is the BasicDataset implementation for XeroObjectDataset.
187013func (xod XeroObjectDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) {
187014	return nil, false
187015}
187016
187017// AsOracleTableDataset is the BasicDataset implementation for XeroObjectDataset.
187018func (xod XeroObjectDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
187019	return nil, false
187020}
187021
187022// AsODataResourceDataset is the BasicDataset implementation for XeroObjectDataset.
187023func (xod XeroObjectDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
187024	return nil, false
187025}
187026
187027// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for XeroObjectDataset.
187028func (xod XeroObjectDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) {
187029	return nil, false
187030}
187031
187032// AsMongoDbV2CollectionDataset is the BasicDataset implementation for XeroObjectDataset.
187033func (xod XeroObjectDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) {
187034	return nil, false
187035}
187036
187037// AsMongoDbCollectionDataset is the BasicDataset implementation for XeroObjectDataset.
187038func (xod XeroObjectDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
187039	return nil, false
187040}
187041
187042// AsFileShareDataset is the BasicDataset implementation for XeroObjectDataset.
187043func (xod XeroObjectDataset) AsFileShareDataset() (*FileShareDataset, bool) {
187044	return nil, false
187045}
187046
187047// AsOffice365Dataset is the BasicDataset implementation for XeroObjectDataset.
187048func (xod XeroObjectDataset) AsOffice365Dataset() (*Office365Dataset, bool) {
187049	return nil, false
187050}
187051
187052// AsAzureBlobFSDataset is the BasicDataset implementation for XeroObjectDataset.
187053func (xod XeroObjectDataset) AsAzureBlobFSDataset() (*AzureBlobFSDataset, bool) {
187054	return nil, false
187055}
187056
187057// AsAzureDataLakeStoreDataset is the BasicDataset implementation for XeroObjectDataset.
187058func (xod XeroObjectDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) {
187059	return nil, false
187060}
187061
187062// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for XeroObjectDataset.
187063func (xod XeroObjectDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) {
187064	return nil, false
187065}
187066
187067// AsDynamicsCrmEntityDataset is the BasicDataset implementation for XeroObjectDataset.
187068func (xod XeroObjectDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) {
187069	return nil, false
187070}
187071
187072// AsDynamicsEntityDataset is the BasicDataset implementation for XeroObjectDataset.
187073func (xod XeroObjectDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
187074	return nil, false
187075}
187076
187077// AsDocumentDbCollectionDataset is the BasicDataset implementation for XeroObjectDataset.
187078func (xod XeroObjectDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
187079	return nil, false
187080}
187081
187082// AsCustomDataset is the BasicDataset implementation for XeroObjectDataset.
187083func (xod XeroObjectDataset) AsCustomDataset() (*CustomDataset, bool) {
187084	return nil, false
187085}
187086
187087// AsCassandraTableDataset is the BasicDataset implementation for XeroObjectDataset.
187088func (xod XeroObjectDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
187089	return nil, false
187090}
187091
187092// AsAzureSQLDWTableDataset is the BasicDataset implementation for XeroObjectDataset.
187093func (xod XeroObjectDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
187094	return nil, false
187095}
187096
187097// AsAzureSQLMITableDataset is the BasicDataset implementation for XeroObjectDataset.
187098func (xod XeroObjectDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) {
187099	return nil, false
187100}
187101
187102// AsAzureSQLTableDataset is the BasicDataset implementation for XeroObjectDataset.
187103func (xod XeroObjectDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
187104	return nil, false
187105}
187106
187107// AsAzureTableDataset is the BasicDataset implementation for XeroObjectDataset.
187108func (xod XeroObjectDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
187109	return nil, false
187110}
187111
187112// AsAzureBlobDataset is the BasicDataset implementation for XeroObjectDataset.
187113func (xod XeroObjectDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) {
187114	return nil, false
187115}
187116
187117// AsBinaryDataset is the BasicDataset implementation for XeroObjectDataset.
187118func (xod XeroObjectDataset) AsBinaryDataset() (*BinaryDataset, bool) {
187119	return nil, false
187120}
187121
187122// AsDelimitedTextDataset is the BasicDataset implementation for XeroObjectDataset.
187123func (xod XeroObjectDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) {
187124	return nil, false
187125}
187126
187127// AsParquetDataset is the BasicDataset implementation for XeroObjectDataset.
187128func (xod XeroObjectDataset) AsParquetDataset() (*ParquetDataset, bool) {
187129	return nil, false
187130}
187131
187132// AsAmazonS3Dataset is the BasicDataset implementation for XeroObjectDataset.
187133func (xod XeroObjectDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) {
187134	return nil, false
187135}
187136
187137// AsDataset is the BasicDataset implementation for XeroObjectDataset.
187138func (xod XeroObjectDataset) AsDataset() (*Dataset, bool) {
187139	return nil, false
187140}
187141
187142// AsBasicDataset is the BasicDataset implementation for XeroObjectDataset.
187143func (xod XeroObjectDataset) AsBasicDataset() (BasicDataset, bool) {
187144	return &xod, true
187145}
187146
187147// UnmarshalJSON is the custom unmarshaler for XeroObjectDataset struct.
187148func (xod *XeroObjectDataset) UnmarshalJSON(body []byte) error {
187149	var m map[string]*json.RawMessage
187150	err := json.Unmarshal(body, &m)
187151	if err != nil {
187152		return err
187153	}
187154	for k, v := range m {
187155		switch k {
187156		case "typeProperties":
187157			if v != nil {
187158				var genericDatasetTypeProperties GenericDatasetTypeProperties
187159				err = json.Unmarshal(*v, &genericDatasetTypeProperties)
187160				if err != nil {
187161					return err
187162				}
187163				xod.GenericDatasetTypeProperties = &genericDatasetTypeProperties
187164			}
187165		default:
187166			if v != nil {
187167				var additionalProperties interface{}
187168				err = json.Unmarshal(*v, &additionalProperties)
187169				if err != nil {
187170					return err
187171				}
187172				if xod.AdditionalProperties == nil {
187173					xod.AdditionalProperties = make(map[string]interface{})
187174				}
187175				xod.AdditionalProperties[k] = additionalProperties
187176			}
187177		case "description":
187178			if v != nil {
187179				var description string
187180				err = json.Unmarshal(*v, &description)
187181				if err != nil {
187182					return err
187183				}
187184				xod.Description = &description
187185			}
187186		case "structure":
187187			if v != nil {
187188				var structure interface{}
187189				err = json.Unmarshal(*v, &structure)
187190				if err != nil {
187191					return err
187192				}
187193				xod.Structure = structure
187194			}
187195		case "schema":
187196			if v != nil {
187197				var schema interface{}
187198				err = json.Unmarshal(*v, &schema)
187199				if err != nil {
187200					return err
187201				}
187202				xod.Schema = schema
187203			}
187204		case "linkedServiceName":
187205			if v != nil {
187206				var linkedServiceName LinkedServiceReference
187207				err = json.Unmarshal(*v, &linkedServiceName)
187208				if err != nil {
187209					return err
187210				}
187211				xod.LinkedServiceName = &linkedServiceName
187212			}
187213		case "parameters":
187214			if v != nil {
187215				var parameters map[string]*ParameterSpecification
187216				err = json.Unmarshal(*v, &parameters)
187217				if err != nil {
187218					return err
187219				}
187220				xod.Parameters = parameters
187221			}
187222		case "annotations":
187223			if v != nil {
187224				var annotations []interface{}
187225				err = json.Unmarshal(*v, &annotations)
187226				if err != nil {
187227					return err
187228				}
187229				xod.Annotations = &annotations
187230			}
187231		case "folder":
187232			if v != nil {
187233				var folder DatasetFolder
187234				err = json.Unmarshal(*v, &folder)
187235				if err != nil {
187236					return err
187237				}
187238				xod.Folder = &folder
187239			}
187240		case "type":
187241			if v != nil {
187242				var typeVar TypeBasicDataset
187243				err = json.Unmarshal(*v, &typeVar)
187244				if err != nil {
187245					return err
187246				}
187247				xod.Type = typeVar
187248			}
187249		}
187250	}
187251
187252	return nil
187253}
187254
187255// XeroSource a copy activity Xero Service source.
187256type XeroSource struct {
187257	// Query - A query to retrieve data from source. Type: string (or Expression with resultType string).
187258	Query interface{} `json:"query,omitempty"`
187259	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
187260	AdditionalProperties map[string]interface{} `json:""`
187261	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
187262	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
187263	// 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])).
187264	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
187265	// MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer).
187266	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
187267	// Type - Possible values include: 'TypeCopySource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', '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', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeCassandraSource', 'TypeWebSource', 'TypeTeradataSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeAzureMySQLSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeRestSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceServiceCloudSource', 'TypeSalesforceSource', 'TypeODataSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeMicrosoftAccessSource', 'TypeInformixSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAzureTableSource', 'TypeBinarySource', 'TypeDelimitedTextSource', 'TypeParquetSource'
187268	Type TypeBasicCopySource `json:"type,omitempty"`
187269}
187270
187271// MarshalJSON is the custom marshaler for XeroSource.
187272func (xs XeroSource) MarshalJSON() ([]byte, error) {
187273	xs.Type = TypeXeroSource
187274	objectMap := make(map[string]interface{})
187275	if xs.Query != nil {
187276		objectMap["query"] = xs.Query
187277	}
187278	if xs.SourceRetryCount != nil {
187279		objectMap["sourceRetryCount"] = xs.SourceRetryCount
187280	}
187281	if xs.SourceRetryWait != nil {
187282		objectMap["sourceRetryWait"] = xs.SourceRetryWait
187283	}
187284	if xs.MaxConcurrentConnections != nil {
187285		objectMap["maxConcurrentConnections"] = xs.MaxConcurrentConnections
187286	}
187287	if xs.Type != "" {
187288		objectMap["type"] = xs.Type
187289	}
187290	for k, v := range xs.AdditionalProperties {
187291		objectMap[k] = v
187292	}
187293	return json.Marshal(objectMap)
187294}
187295
187296// AsAmazonRedshiftSource is the BasicCopySource implementation for XeroSource.
187297func (xs XeroSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
187298	return nil, false
187299}
187300
187301// AsGoogleAdWordsSource is the BasicCopySource implementation for XeroSource.
187302func (xs XeroSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) {
187303	return nil, false
187304}
187305
187306// AsOracleServiceCloudSource is the BasicCopySource implementation for XeroSource.
187307func (xs XeroSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) {
187308	return nil, false
187309}
187310
187311// AsDynamicsAXSource is the BasicCopySource implementation for XeroSource.
187312func (xs XeroSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) {
187313	return nil, false
187314}
187315
187316// AsResponsysSource is the BasicCopySource implementation for XeroSource.
187317func (xs XeroSource) AsResponsysSource() (*ResponsysSource, bool) {
187318	return nil, false
187319}
187320
187321// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for XeroSource.
187322func (xs XeroSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
187323	return nil, false
187324}
187325
187326// AsVerticaSource is the BasicCopySource implementation for XeroSource.
187327func (xs XeroSource) AsVerticaSource() (*VerticaSource, bool) {
187328	return nil, false
187329}
187330
187331// AsNetezzaSource is the BasicCopySource implementation for XeroSource.
187332func (xs XeroSource) AsNetezzaSource() (*NetezzaSource, bool) {
187333	return nil, false
187334}
187335
187336// AsZohoSource is the BasicCopySource implementation for XeroSource.
187337func (xs XeroSource) AsZohoSource() (*ZohoSource, bool) {
187338	return nil, false
187339}
187340
187341// AsXeroSource is the BasicCopySource implementation for XeroSource.
187342func (xs XeroSource) AsXeroSource() (*XeroSource, bool) {
187343	return &xs, true
187344}
187345
187346// AsSquareSource is the BasicCopySource implementation for XeroSource.
187347func (xs XeroSource) AsSquareSource() (*SquareSource, bool) {
187348	return nil, false
187349}
187350
187351// AsSparkSource is the BasicCopySource implementation for XeroSource.
187352func (xs XeroSource) AsSparkSource() (*SparkSource, bool) {
187353	return nil, false
187354}
187355
187356// AsShopifySource is the BasicCopySource implementation for XeroSource.
187357func (xs XeroSource) AsShopifySource() (*ShopifySource, bool) {
187358	return nil, false
187359}
187360
187361// AsServiceNowSource is the BasicCopySource implementation for XeroSource.
187362func (xs XeroSource) AsServiceNowSource() (*ServiceNowSource, bool) {
187363	return nil, false
187364}
187365
187366// AsQuickBooksSource is the BasicCopySource implementation for XeroSource.
187367func (xs XeroSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
187368	return nil, false
187369}
187370
187371// AsPrestoSource is the BasicCopySource implementation for XeroSource.
187372func (xs XeroSource) AsPrestoSource() (*PrestoSource, bool) {
187373	return nil, false
187374}
187375
187376// AsPhoenixSource is the BasicCopySource implementation for XeroSource.
187377func (xs XeroSource) AsPhoenixSource() (*PhoenixSource, bool) {
187378	return nil, false
187379}
187380
187381// AsPaypalSource is the BasicCopySource implementation for XeroSource.
187382func (xs XeroSource) AsPaypalSource() (*PaypalSource, bool) {
187383	return nil, false
187384}
187385
187386// AsMarketoSource is the BasicCopySource implementation for XeroSource.
187387func (xs XeroSource) AsMarketoSource() (*MarketoSource, bool) {
187388	return nil, false
187389}
187390
187391// AsMariaDBSource is the BasicCopySource implementation for XeroSource.
187392func (xs XeroSource) AsMariaDBSource() (*MariaDBSource, bool) {
187393	return nil, false
187394}
187395
187396// AsMagentoSource is the BasicCopySource implementation for XeroSource.
187397func (xs XeroSource) AsMagentoSource() (*MagentoSource, bool) {
187398	return nil, false
187399}
187400
187401// AsJiraSource is the BasicCopySource implementation for XeroSource.
187402func (xs XeroSource) AsJiraSource() (*JiraSource, bool) {
187403	return nil, false
187404}
187405
187406// AsImpalaSource is the BasicCopySource implementation for XeroSource.
187407func (xs XeroSource) AsImpalaSource() (*ImpalaSource, bool) {
187408	return nil, false
187409}
187410
187411// AsHubspotSource is the BasicCopySource implementation for XeroSource.
187412func (xs XeroSource) AsHubspotSource() (*HubspotSource, bool) {
187413	return nil, false
187414}
187415
187416// AsHiveSource is the BasicCopySource implementation for XeroSource.
187417func (xs XeroSource) AsHiveSource() (*HiveSource, bool) {
187418	return nil, false
187419}
187420
187421// AsHBaseSource is the BasicCopySource implementation for XeroSource.
187422func (xs XeroSource) AsHBaseSource() (*HBaseSource, bool) {
187423	return nil, false
187424}
187425
187426// AsGreenplumSource is the BasicCopySource implementation for XeroSource.
187427func (xs XeroSource) AsGreenplumSource() (*GreenplumSource, bool) {
187428	return nil, false
187429}
187430
187431// AsGoogleBigQuerySource is the BasicCopySource implementation for XeroSource.
187432func (xs XeroSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
187433	return nil, false
187434}
187435
187436// AsEloquaSource is the BasicCopySource implementation for XeroSource.
187437func (xs XeroSource) AsEloquaSource() (*EloquaSource, bool) {
187438	return nil, false
187439}
187440
187441// AsDrillSource is the BasicCopySource implementation for XeroSource.
187442func (xs XeroSource) AsDrillSource() (*DrillSource, bool) {
187443	return nil, false
187444}
187445
187446// AsCouchbaseSource is the BasicCopySource implementation for XeroSource.
187447func (xs XeroSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
187448	return nil, false
187449}
187450
187451// AsConcurSource is the BasicCopySource implementation for XeroSource.
187452func (xs XeroSource) AsConcurSource() (*ConcurSource, bool) {
187453	return nil, false
187454}
187455
187456// AsAzurePostgreSQLSource is the BasicCopySource implementation for XeroSource.
187457func (xs XeroSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
187458	return nil, false
187459}
187460
187461// AsAmazonMWSSource is the BasicCopySource implementation for XeroSource.
187462func (xs XeroSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
187463	return nil, false
187464}
187465
187466// AsHTTPSource is the BasicCopySource implementation for XeroSource.
187467func (xs XeroSource) AsHTTPSource() (*HTTPSource, bool) {
187468	return nil, false
187469}
187470
187471// AsAzureBlobFSSource is the BasicCopySource implementation for XeroSource.
187472func (xs XeroSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) {
187473	return nil, false
187474}
187475
187476// AsAzureDataLakeStoreSource is the BasicCopySource implementation for XeroSource.
187477func (xs XeroSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
187478	return nil, false
187479}
187480
187481// AsOffice365Source is the BasicCopySource implementation for XeroSource.
187482func (xs XeroSource) AsOffice365Source() (*Office365Source, bool) {
187483	return nil, false
187484}
187485
187486// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for XeroSource.
187487func (xs XeroSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) {
187488	return nil, false
187489}
187490
187491// AsMongoDbV2Source is the BasicCopySource implementation for XeroSource.
187492func (xs XeroSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) {
187493	return nil, false
187494}
187495
187496// AsMongoDbSource is the BasicCopySource implementation for XeroSource.
187497func (xs XeroSource) AsMongoDbSource() (*MongoDbSource, bool) {
187498	return nil, false
187499}
187500
187501// AsCassandraSource is the BasicCopySource implementation for XeroSource.
187502func (xs XeroSource) AsCassandraSource() (*CassandraSource, bool) {
187503	return nil, false
187504}
187505
187506// AsWebSource is the BasicCopySource implementation for XeroSource.
187507func (xs XeroSource) AsWebSource() (*WebSource, bool) {
187508	return nil, false
187509}
187510
187511// AsTeradataSource is the BasicCopySource implementation for XeroSource.
187512func (xs XeroSource) AsTeradataSource() (*TeradataSource, bool) {
187513	return nil, false
187514}
187515
187516// AsOracleSource is the BasicCopySource implementation for XeroSource.
187517func (xs XeroSource) AsOracleSource() (*OracleSource, bool) {
187518	return nil, false
187519}
187520
187521// AsAzureDataExplorerSource is the BasicCopySource implementation for XeroSource.
187522func (xs XeroSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) {
187523	return nil, false
187524}
187525
187526// AsAzureMySQLSource is the BasicCopySource implementation for XeroSource.
187527func (xs XeroSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
187528	return nil, false
187529}
187530
187531// AsHdfsSource is the BasicCopySource implementation for XeroSource.
187532func (xs XeroSource) AsHdfsSource() (*HdfsSource, bool) {
187533	return nil, false
187534}
187535
187536// AsFileSystemSource is the BasicCopySource implementation for XeroSource.
187537func (xs XeroSource) AsFileSystemSource() (*FileSystemSource, bool) {
187538	return nil, false
187539}
187540
187541// AsSQLDWSource is the BasicCopySource implementation for XeroSource.
187542func (xs XeroSource) AsSQLDWSource() (*SQLDWSource, bool) {
187543	return nil, false
187544}
187545
187546// AsSQLMISource is the BasicCopySource implementation for XeroSource.
187547func (xs XeroSource) AsSQLMISource() (*SQLMISource, bool) {
187548	return nil, false
187549}
187550
187551// AsAzureSQLSource is the BasicCopySource implementation for XeroSource.
187552func (xs XeroSource) AsAzureSQLSource() (*AzureSQLSource, bool) {
187553	return nil, false
187554}
187555
187556// AsSQLServerSource is the BasicCopySource implementation for XeroSource.
187557func (xs XeroSource) AsSQLServerSource() (*SQLServerSource, bool) {
187558	return nil, false
187559}
187560
187561// AsSQLSource is the BasicCopySource implementation for XeroSource.
187562func (xs XeroSource) AsSQLSource() (*SQLSource, bool) {
187563	return nil, false
187564}
187565
187566// AsRestSource is the BasicCopySource implementation for XeroSource.
187567func (xs XeroSource) AsRestSource() (*RestSource, bool) {
187568	return nil, false
187569}
187570
187571// AsSapTableSource is the BasicCopySource implementation for XeroSource.
187572func (xs XeroSource) AsSapTableSource() (*SapTableSource, bool) {
187573	return nil, false
187574}
187575
187576// AsSapOpenHubSource is the BasicCopySource implementation for XeroSource.
187577func (xs XeroSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) {
187578	return nil, false
187579}
187580
187581// AsSapHanaSource is the BasicCopySource implementation for XeroSource.
187582func (xs XeroSource) AsSapHanaSource() (*SapHanaSource, bool) {
187583	return nil, false
187584}
187585
187586// AsSapEccSource is the BasicCopySource implementation for XeroSource.
187587func (xs XeroSource) AsSapEccSource() (*SapEccSource, bool) {
187588	return nil, false
187589}
187590
187591// AsSapCloudForCustomerSource is the BasicCopySource implementation for XeroSource.
187592func (xs XeroSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
187593	return nil, false
187594}
187595
187596// AsSalesforceServiceCloudSource is the BasicCopySource implementation for XeroSource.
187597func (xs XeroSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) {
187598	return nil, false
187599}
187600
187601// AsSalesforceSource is the BasicCopySource implementation for XeroSource.
187602func (xs XeroSource) AsSalesforceSource() (*SalesforceSource, bool) {
187603	return nil, false
187604}
187605
187606// AsODataSource is the BasicCopySource implementation for XeroSource.
187607func (xs XeroSource) AsODataSource() (*ODataSource, bool) {
187608	return nil, false
187609}
187610
187611// AsSybaseSource is the BasicCopySource implementation for XeroSource.
187612func (xs XeroSource) AsSybaseSource() (*SybaseSource, bool) {
187613	return nil, false
187614}
187615
187616// AsPostgreSQLSource is the BasicCopySource implementation for XeroSource.
187617func (xs XeroSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) {
187618	return nil, false
187619}
187620
187621// AsMySQLSource is the BasicCopySource implementation for XeroSource.
187622func (xs XeroSource) AsMySQLSource() (*MySQLSource, bool) {
187623	return nil, false
187624}
187625
187626// AsOdbcSource is the BasicCopySource implementation for XeroSource.
187627func (xs XeroSource) AsOdbcSource() (*OdbcSource, bool) {
187628	return nil, false
187629}
187630
187631// AsDb2Source is the BasicCopySource implementation for XeroSource.
187632func (xs XeroSource) AsDb2Source() (*Db2Source, bool) {
187633	return nil, false
187634}
187635
187636// AsMicrosoftAccessSource is the BasicCopySource implementation for XeroSource.
187637func (xs XeroSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) {
187638	return nil, false
187639}
187640
187641// AsInformixSource is the BasicCopySource implementation for XeroSource.
187642func (xs XeroSource) AsInformixSource() (*InformixSource, bool) {
187643	return nil, false
187644}
187645
187646// AsRelationalSource is the BasicCopySource implementation for XeroSource.
187647func (xs XeroSource) AsRelationalSource() (*RelationalSource, bool) {
187648	return nil, false
187649}
187650
187651// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for XeroSource.
187652func (xs XeroSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) {
187653	return nil, false
187654}
187655
187656// AsDynamicsCrmSource is the BasicCopySource implementation for XeroSource.
187657func (xs XeroSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) {
187658	return nil, false
187659}
187660
187661// AsDynamicsSource is the BasicCopySource implementation for XeroSource.
187662func (xs XeroSource) AsDynamicsSource() (*DynamicsSource, bool) {
187663	return nil, false
187664}
187665
187666// AsDocumentDbCollectionSource is the BasicCopySource implementation for XeroSource.
187667func (xs XeroSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
187668	return nil, false
187669}
187670
187671// AsBlobSource is the BasicCopySource implementation for XeroSource.
187672func (xs XeroSource) AsBlobSource() (*BlobSource, bool) {
187673	return nil, false
187674}
187675
187676// AsAzureTableSource is the BasicCopySource implementation for XeroSource.
187677func (xs XeroSource) AsAzureTableSource() (*AzureTableSource, bool) {
187678	return nil, false
187679}
187680
187681// AsBinarySource is the BasicCopySource implementation for XeroSource.
187682func (xs XeroSource) AsBinarySource() (*BinarySource, bool) {
187683	return nil, false
187684}
187685
187686// AsDelimitedTextSource is the BasicCopySource implementation for XeroSource.
187687func (xs XeroSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) {
187688	return nil, false
187689}
187690
187691// AsParquetSource is the BasicCopySource implementation for XeroSource.
187692func (xs XeroSource) AsParquetSource() (*ParquetSource, bool) {
187693	return nil, false
187694}
187695
187696// AsCopySource is the BasicCopySource implementation for XeroSource.
187697func (xs XeroSource) AsCopySource() (*CopySource, bool) {
187698	return nil, false
187699}
187700
187701// AsBasicCopySource is the BasicCopySource implementation for XeroSource.
187702func (xs XeroSource) AsBasicCopySource() (BasicCopySource, bool) {
187703	return &xs, true
187704}
187705
187706// UnmarshalJSON is the custom unmarshaler for XeroSource struct.
187707func (xs *XeroSource) UnmarshalJSON(body []byte) error {
187708	var m map[string]*json.RawMessage
187709	err := json.Unmarshal(body, &m)
187710	if err != nil {
187711		return err
187712	}
187713	for k, v := range m {
187714		switch k {
187715		case "query":
187716			if v != nil {
187717				var query interface{}
187718				err = json.Unmarshal(*v, &query)
187719				if err != nil {
187720					return err
187721				}
187722				xs.Query = query
187723			}
187724		default:
187725			if v != nil {
187726				var additionalProperties interface{}
187727				err = json.Unmarshal(*v, &additionalProperties)
187728				if err != nil {
187729					return err
187730				}
187731				if xs.AdditionalProperties == nil {
187732					xs.AdditionalProperties = make(map[string]interface{})
187733				}
187734				xs.AdditionalProperties[k] = additionalProperties
187735			}
187736		case "sourceRetryCount":
187737			if v != nil {
187738				var sourceRetryCount interface{}
187739				err = json.Unmarshal(*v, &sourceRetryCount)
187740				if err != nil {
187741					return err
187742				}
187743				xs.SourceRetryCount = sourceRetryCount
187744			}
187745		case "sourceRetryWait":
187746			if v != nil {
187747				var sourceRetryWait interface{}
187748				err = json.Unmarshal(*v, &sourceRetryWait)
187749				if err != nil {
187750					return err
187751				}
187752				xs.SourceRetryWait = sourceRetryWait
187753			}
187754		case "maxConcurrentConnections":
187755			if v != nil {
187756				var maxConcurrentConnections interface{}
187757				err = json.Unmarshal(*v, &maxConcurrentConnections)
187758				if err != nil {
187759					return err
187760				}
187761				xs.MaxConcurrentConnections = maxConcurrentConnections
187762			}
187763		case "type":
187764			if v != nil {
187765				var typeVar TypeBasicCopySource
187766				err = json.Unmarshal(*v, &typeVar)
187767				if err != nil {
187768					return err
187769				}
187770				xs.Type = typeVar
187771			}
187772		}
187773	}
187774
187775	return nil
187776}
187777
187778// ZohoLinkedService zoho server linked service.
187779type ZohoLinkedService struct {
187780	// ZohoLinkedServiceTypeProperties - Zoho server linked service properties.
187781	*ZohoLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
187782	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
187783	AdditionalProperties map[string]interface{} `json:""`
187784	// ConnectVia - The integration runtime reference.
187785	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
187786	// Description - Linked service description.
187787	Description *string `json:"description,omitempty"`
187788	// Parameters - Parameters for linked service.
187789	Parameters map[string]*ParameterSpecification `json:"parameters"`
187790	// Annotations - List of tags that can be used for describing the linked service.
187791	Annotations *[]interface{} `json:"annotations,omitempty"`
187792	// Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', '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', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage'
187793	Type TypeBasicLinkedService `json:"type,omitempty"`
187794}
187795
187796// MarshalJSON is the custom marshaler for ZohoLinkedService.
187797func (zls ZohoLinkedService) MarshalJSON() ([]byte, error) {
187798	zls.Type = TypeZoho
187799	objectMap := make(map[string]interface{})
187800	if zls.ZohoLinkedServiceTypeProperties != nil {
187801		objectMap["typeProperties"] = zls.ZohoLinkedServiceTypeProperties
187802	}
187803	if zls.ConnectVia != nil {
187804		objectMap["connectVia"] = zls.ConnectVia
187805	}
187806	if zls.Description != nil {
187807		objectMap["description"] = zls.Description
187808	}
187809	if zls.Parameters != nil {
187810		objectMap["parameters"] = zls.Parameters
187811	}
187812	if zls.Annotations != nil {
187813		objectMap["annotations"] = zls.Annotations
187814	}
187815	if zls.Type != "" {
187816		objectMap["type"] = zls.Type
187817	}
187818	for k, v := range zls.AdditionalProperties {
187819		objectMap[k] = v
187820	}
187821	return json.Marshal(objectMap)
187822}
187823
187824// AsAzureFunctionLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
187825func (zls ZohoLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) {
187826	return nil, false
187827}
187828
187829// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
187830func (zls ZohoLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) {
187831	return nil, false
187832}
187833
187834// AsSapTableLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
187835func (zls ZohoLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) {
187836	return nil, false
187837}
187838
187839// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
187840func (zls ZohoLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) {
187841	return nil, false
187842}
187843
187844// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
187845func (zls ZohoLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) {
187846	return nil, false
187847}
187848
187849// AsDynamicsAXLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
187850func (zls ZohoLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) {
187851	return nil, false
187852}
187853
187854// AsResponsysLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
187855func (zls ZohoLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
187856	return nil, false
187857}
187858
187859// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
187860func (zls ZohoLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
187861	return nil, false
187862}
187863
187864// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
187865func (zls ZohoLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
187866	return nil, false
187867}
187868
187869// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
187870func (zls ZohoLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
187871	return nil, false
187872}
187873
187874// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
187875func (zls ZohoLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
187876	return nil, false
187877}
187878
187879// AsNetezzaLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
187880func (zls ZohoLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
187881	return nil, false
187882}
187883
187884// AsVerticaLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
187885func (zls ZohoLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
187886	return nil, false
187887}
187888
187889// AsZohoLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
187890func (zls ZohoLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
187891	return &zls, true
187892}
187893
187894// AsXeroLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
187895func (zls ZohoLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
187896	return nil, false
187897}
187898
187899// AsSquareLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
187900func (zls ZohoLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
187901	return nil, false
187902}
187903
187904// AsSparkLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
187905func (zls ZohoLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
187906	return nil, false
187907}
187908
187909// AsShopifyLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
187910func (zls ZohoLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
187911	return nil, false
187912}
187913
187914// AsServiceNowLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
187915func (zls ZohoLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
187916	return nil, false
187917}
187918
187919// AsQuickBooksLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
187920func (zls ZohoLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
187921	return nil, false
187922}
187923
187924// AsPrestoLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
187925func (zls ZohoLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
187926	return nil, false
187927}
187928
187929// AsPhoenixLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
187930func (zls ZohoLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
187931	return nil, false
187932}
187933
187934// AsPaypalLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
187935func (zls ZohoLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
187936	return nil, false
187937}
187938
187939// AsMarketoLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
187940func (zls ZohoLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
187941	return nil, false
187942}
187943
187944// AsMariaDBLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
187945func (zls ZohoLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
187946	return nil, false
187947}
187948
187949// AsMagentoLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
187950func (zls ZohoLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
187951	return nil, false
187952}
187953
187954// AsJiraLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
187955func (zls ZohoLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
187956	return nil, false
187957}
187958
187959// AsImpalaLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
187960func (zls ZohoLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
187961	return nil, false
187962}
187963
187964// AsHubspotLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
187965func (zls ZohoLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
187966	return nil, false
187967}
187968
187969// AsHiveLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
187970func (zls ZohoLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
187971	return nil, false
187972}
187973
187974// AsHBaseLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
187975func (zls ZohoLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
187976	return nil, false
187977}
187978
187979// AsGreenplumLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
187980func (zls ZohoLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
187981	return nil, false
187982}
187983
187984// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
187985func (zls ZohoLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
187986	return nil, false
187987}
187988
187989// AsEloquaLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
187990func (zls ZohoLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
187991	return nil, false
187992}
187993
187994// AsDrillLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
187995func (zls ZohoLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
187996	return nil, false
187997}
187998
187999// AsCouchbaseLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
188000func (zls ZohoLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
188001	return nil, false
188002}
188003
188004// AsConcurLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
188005func (zls ZohoLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
188006	return nil, false
188007}
188008
188009// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
188010func (zls ZohoLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
188011	return nil, false
188012}
188013
188014// AsAmazonMWSLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
188015func (zls ZohoLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
188016	return nil, false
188017}
188018
188019// AsSapHanaLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
188020func (zls ZohoLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
188021	return nil, false
188022}
188023
188024// AsSapBWLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
188025func (zls ZohoLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
188026	return nil, false
188027}
188028
188029// AsSftpServerLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
188030func (zls ZohoLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
188031	return nil, false
188032}
188033
188034// AsFtpServerLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
188035func (zls ZohoLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
188036	return nil, false
188037}
188038
188039// AsHTTPLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
188040func (zls ZohoLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
188041	return nil, false
188042}
188043
188044// AsAzureSearchLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
188045func (zls ZohoLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
188046	return nil, false
188047}
188048
188049// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
188050func (zls ZohoLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
188051	return nil, false
188052}
188053
188054// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
188055func (zls ZohoLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
188056	return nil, false
188057}
188058
188059// AsAmazonS3LinkedService is the BasicLinkedService implementation for ZohoLinkedService.
188060func (zls ZohoLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
188061	return nil, false
188062}
188063
188064// AsRestServiceLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
188065func (zls ZohoLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) {
188066	return nil, false
188067}
188068
188069// AsSapOpenHubLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
188070func (zls ZohoLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) {
188071	return nil, false
188072}
188073
188074// AsSapEccLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
188075func (zls ZohoLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
188076	return nil, false
188077}
188078
188079// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
188080func (zls ZohoLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
188081	return nil, false
188082}
188083
188084// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
188085func (zls ZohoLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) {
188086	return nil, false
188087}
188088
188089// AsSalesforceLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
188090func (zls ZohoLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
188091	return nil, false
188092}
188093
188094// AsOffice365LinkedService is the BasicLinkedService implementation for ZohoLinkedService.
188095func (zls ZohoLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) {
188096	return nil, false
188097}
188098
188099// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
188100func (zls ZohoLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) {
188101	return nil, false
188102}
188103
188104// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
188105func (zls ZohoLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
188106	return nil, false
188107}
188108
188109// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for ZohoLinkedService.
188110func (zls ZohoLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) {
188111	return nil, false
188112}
188113
188114// AsMongoDbV2LinkedService is the BasicLinkedService implementation for ZohoLinkedService.
188115func (zls ZohoLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) {
188116	return nil, false
188117}
188118
188119// AsMongoDbLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
188120func (zls ZohoLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
188121	return nil, false
188122}
188123
188124// AsCassandraLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
188125func (zls ZohoLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
188126	return nil, false
188127}
188128
188129// AsWebLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
188130func (zls ZohoLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
188131	return nil, false
188132}
188133
188134// AsODataLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
188135func (zls ZohoLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
188136	return nil, false
188137}
188138
188139// AsHdfsLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
188140func (zls ZohoLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
188141	return nil, false
188142}
188143
188144// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
188145func (zls ZohoLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) {
188146	return nil, false
188147}
188148
188149// AsInformixLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
188150func (zls ZohoLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) {
188151	return nil, false
188152}
188153
188154// AsOdbcLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
188155func (zls ZohoLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
188156	return nil, false
188157}
188158
188159// AsAzureMLLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
188160func (zls ZohoLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
188161	return nil, false
188162}
188163
188164// AsTeradataLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
188165func (zls ZohoLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
188166	return nil, false
188167}
188168
188169// AsDb2LinkedService is the BasicLinkedService implementation for ZohoLinkedService.
188170func (zls ZohoLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
188171	return nil, false
188172}
188173
188174// AsSybaseLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
188175func (zls ZohoLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
188176	return nil, false
188177}
188178
188179// AsPostgreSQLLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
188180func (zls ZohoLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
188181	return nil, false
188182}
188183
188184// AsMySQLLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
188185func (zls ZohoLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
188186	return nil, false
188187}
188188
188189// AsAzureMySQLLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
188190func (zls ZohoLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
188191	return nil, false
188192}
188193
188194// AsOracleLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
188195func (zls ZohoLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
188196	return nil, false
188197}
188198
188199// AsFileServerLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
188200func (zls ZohoLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
188201	return nil, false
188202}
188203
188204// AsHDInsightLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
188205func (zls ZohoLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
188206	return nil, false
188207}
188208
188209// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
188210func (zls ZohoLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) {
188211	return nil, false
188212}
188213
188214// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
188215func (zls ZohoLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) {
188216	return nil, false
188217}
188218
188219// AsDynamicsLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
188220func (zls ZohoLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
188221	return nil, false
188222}
188223
188224// AsCosmosDbLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
188225func (zls ZohoLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
188226	return nil, false
188227}
188228
188229// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
188230func (zls ZohoLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
188231	return nil, false
188232}
188233
188234// AsAzureBatchLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
188235func (zls ZohoLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
188236	return nil, false
188237}
188238
188239// AsAzureSQLMILinkedService is the BasicLinkedService implementation for ZohoLinkedService.
188240func (zls ZohoLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) {
188241	return nil, false
188242}
188243
188244// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
188245func (zls ZohoLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
188246	return nil, false
188247}
188248
188249// AsSQLServerLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
188250func (zls ZohoLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
188251	return nil, false
188252}
188253
188254// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
188255func (zls ZohoLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
188256	return nil, false
188257}
188258
188259// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
188260func (zls ZohoLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) {
188261	return nil, false
188262}
188263
188264// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
188265func (zls ZohoLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) {
188266	return nil, false
188267}
188268
188269// AsAzureStorageLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
188270func (zls ZohoLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
188271	return nil, false
188272}
188273
188274// AsLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
188275func (zls ZohoLinkedService) AsLinkedService() (*LinkedService, bool) {
188276	return nil, false
188277}
188278
188279// AsBasicLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
188280func (zls ZohoLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
188281	return &zls, true
188282}
188283
188284// UnmarshalJSON is the custom unmarshaler for ZohoLinkedService struct.
188285func (zls *ZohoLinkedService) UnmarshalJSON(body []byte) error {
188286	var m map[string]*json.RawMessage
188287	err := json.Unmarshal(body, &m)
188288	if err != nil {
188289		return err
188290	}
188291	for k, v := range m {
188292		switch k {
188293		case "typeProperties":
188294			if v != nil {
188295				var zohoLinkedServiceTypeProperties ZohoLinkedServiceTypeProperties
188296				err = json.Unmarshal(*v, &zohoLinkedServiceTypeProperties)
188297				if err != nil {
188298					return err
188299				}
188300				zls.ZohoLinkedServiceTypeProperties = &zohoLinkedServiceTypeProperties
188301			}
188302		default:
188303			if v != nil {
188304				var additionalProperties interface{}
188305				err = json.Unmarshal(*v, &additionalProperties)
188306				if err != nil {
188307					return err
188308				}
188309				if zls.AdditionalProperties == nil {
188310					zls.AdditionalProperties = make(map[string]interface{})
188311				}
188312				zls.AdditionalProperties[k] = additionalProperties
188313			}
188314		case "connectVia":
188315			if v != nil {
188316				var connectVia IntegrationRuntimeReference
188317				err = json.Unmarshal(*v, &connectVia)
188318				if err != nil {
188319					return err
188320				}
188321				zls.ConnectVia = &connectVia
188322			}
188323		case "description":
188324			if v != nil {
188325				var description string
188326				err = json.Unmarshal(*v, &description)
188327				if err != nil {
188328					return err
188329				}
188330				zls.Description = &description
188331			}
188332		case "parameters":
188333			if v != nil {
188334				var parameters map[string]*ParameterSpecification
188335				err = json.Unmarshal(*v, &parameters)
188336				if err != nil {
188337					return err
188338				}
188339				zls.Parameters = parameters
188340			}
188341		case "annotations":
188342			if v != nil {
188343				var annotations []interface{}
188344				err = json.Unmarshal(*v, &annotations)
188345				if err != nil {
188346					return err
188347				}
188348				zls.Annotations = &annotations
188349			}
188350		case "type":
188351			if v != nil {
188352				var typeVar TypeBasicLinkedService
188353				err = json.Unmarshal(*v, &typeVar)
188354				if err != nil {
188355					return err
188356				}
188357				zls.Type = typeVar
188358			}
188359		}
188360	}
188361
188362	return nil
188363}
188364
188365// ZohoLinkedServiceTypeProperties zoho server linked service properties.
188366type ZohoLinkedServiceTypeProperties struct {
188367	// Endpoint - The endpoint of the Zoho server. (i.e. crm.zoho.com/crm/private)
188368	Endpoint interface{} `json:"endpoint,omitempty"`
188369	// AccessToken - The access token for Zoho authentication.
188370	AccessToken BasicSecretBase `json:"accessToken,omitempty"`
188371	// UseEncryptedEndpoints - Specifies whether the data source endpoints are encrypted using HTTPS. The default value is true.
188372	UseEncryptedEndpoints interface{} `json:"useEncryptedEndpoints,omitempty"`
188373	// 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.
188374	UseHostVerification interface{} `json:"useHostVerification,omitempty"`
188375	// UsePeerVerification - Specifies whether to verify the identity of the server when connecting over SSL. The default value is true.
188376	UsePeerVerification interface{} `json:"usePeerVerification,omitempty"`
188377	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
188378	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
188379}
188380
188381// UnmarshalJSON is the custom unmarshaler for ZohoLinkedServiceTypeProperties struct.
188382func (zlstp *ZohoLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
188383	var m map[string]*json.RawMessage
188384	err := json.Unmarshal(body, &m)
188385	if err != nil {
188386		return err
188387	}
188388	for k, v := range m {
188389		switch k {
188390		case "endpoint":
188391			if v != nil {
188392				var endpoint interface{}
188393				err = json.Unmarshal(*v, &endpoint)
188394				if err != nil {
188395					return err
188396				}
188397				zlstp.Endpoint = endpoint
188398			}
188399		case "accessToken":
188400			if v != nil {
188401				accessToken, err := unmarshalBasicSecretBase(*v)
188402				if err != nil {
188403					return err
188404				}
188405				zlstp.AccessToken = accessToken
188406			}
188407		case "useEncryptedEndpoints":
188408			if v != nil {
188409				var useEncryptedEndpoints interface{}
188410				err = json.Unmarshal(*v, &useEncryptedEndpoints)
188411				if err != nil {
188412					return err
188413				}
188414				zlstp.UseEncryptedEndpoints = useEncryptedEndpoints
188415			}
188416		case "useHostVerification":
188417			if v != nil {
188418				var useHostVerification interface{}
188419				err = json.Unmarshal(*v, &useHostVerification)
188420				if err != nil {
188421					return err
188422				}
188423				zlstp.UseHostVerification = useHostVerification
188424			}
188425		case "usePeerVerification":
188426			if v != nil {
188427				var usePeerVerification interface{}
188428				err = json.Unmarshal(*v, &usePeerVerification)
188429				if err != nil {
188430					return err
188431				}
188432				zlstp.UsePeerVerification = usePeerVerification
188433			}
188434		case "encryptedCredential":
188435			if v != nil {
188436				var encryptedCredential interface{}
188437				err = json.Unmarshal(*v, &encryptedCredential)
188438				if err != nil {
188439					return err
188440				}
188441				zlstp.EncryptedCredential = encryptedCredential
188442			}
188443		}
188444	}
188445
188446	return nil
188447}
188448
188449// ZohoObjectDataset zoho server dataset.
188450type ZohoObjectDataset struct {
188451	// GenericDatasetTypeProperties - Properties specific to this dataset type.
188452	*GenericDatasetTypeProperties `json:"typeProperties,omitempty"`
188453	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
188454	AdditionalProperties map[string]interface{} `json:""`
188455	// Description - Dataset description.
188456	Description *string `json:"description,omitempty"`
188457	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
188458	Structure interface{} `json:"structure,omitempty"`
188459	// Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement.
188460	Schema interface{} `json:"schema,omitempty"`
188461	// LinkedServiceName - Linked service reference.
188462	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
188463	// Parameters - Parameters for dataset.
188464	Parameters map[string]*ParameterSpecification `json:"parameters"`
188465	// Annotations - List of tags that can be used for describing the Dataset.
188466	Annotations *[]interface{} `json:"annotations,omitempty"`
188467	// Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level.
188468	Folder *DatasetFolder `json:"folder,omitempty"`
188469	// Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', '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', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeDelimitedText', 'TypeParquet', 'TypeAmazonS3Object'
188470	Type TypeBasicDataset `json:"type,omitempty"`
188471}
188472
188473// MarshalJSON is the custom marshaler for ZohoObjectDataset.
188474func (zod ZohoObjectDataset) MarshalJSON() ([]byte, error) {
188475	zod.Type = TypeZohoObject
188476	objectMap := make(map[string]interface{})
188477	if zod.GenericDatasetTypeProperties != nil {
188478		objectMap["typeProperties"] = zod.GenericDatasetTypeProperties
188479	}
188480	if zod.Description != nil {
188481		objectMap["description"] = zod.Description
188482	}
188483	if zod.Structure != nil {
188484		objectMap["structure"] = zod.Structure
188485	}
188486	if zod.Schema != nil {
188487		objectMap["schema"] = zod.Schema
188488	}
188489	if zod.LinkedServiceName != nil {
188490		objectMap["linkedServiceName"] = zod.LinkedServiceName
188491	}
188492	if zod.Parameters != nil {
188493		objectMap["parameters"] = zod.Parameters
188494	}
188495	if zod.Annotations != nil {
188496		objectMap["annotations"] = zod.Annotations
188497	}
188498	if zod.Folder != nil {
188499		objectMap["folder"] = zod.Folder
188500	}
188501	if zod.Type != "" {
188502		objectMap["type"] = zod.Type
188503	}
188504	for k, v := range zod.AdditionalProperties {
188505		objectMap[k] = v
188506	}
188507	return json.Marshal(objectMap)
188508}
188509
188510// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for ZohoObjectDataset.
188511func (zod ZohoObjectDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) {
188512	return nil, false
188513}
188514
188515// AsAzureDataExplorerTableDataset is the BasicDataset implementation for ZohoObjectDataset.
188516func (zod ZohoObjectDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) {
188517	return nil, false
188518}
188519
188520// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for ZohoObjectDataset.
188521func (zod ZohoObjectDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) {
188522	return nil, false
188523}
188524
188525// AsDynamicsAXResourceDataset is the BasicDataset implementation for ZohoObjectDataset.
188526func (zod ZohoObjectDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) {
188527	return nil, false
188528}
188529
188530// AsResponsysObjectDataset is the BasicDataset implementation for ZohoObjectDataset.
188531func (zod ZohoObjectDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
188532	return nil, false
188533}
188534
188535// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for ZohoObjectDataset.
188536func (zod ZohoObjectDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
188537	return nil, false
188538}
188539
188540// AsVerticaTableDataset is the BasicDataset implementation for ZohoObjectDataset.
188541func (zod ZohoObjectDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
188542	return nil, false
188543}
188544
188545// AsNetezzaTableDataset is the BasicDataset implementation for ZohoObjectDataset.
188546func (zod ZohoObjectDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
188547	return nil, false
188548}
188549
188550// AsZohoObjectDataset is the BasicDataset implementation for ZohoObjectDataset.
188551func (zod ZohoObjectDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
188552	return &zod, true
188553}
188554
188555// AsXeroObjectDataset is the BasicDataset implementation for ZohoObjectDataset.
188556func (zod ZohoObjectDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
188557	return nil, false
188558}
188559
188560// AsSquareObjectDataset is the BasicDataset implementation for ZohoObjectDataset.
188561func (zod ZohoObjectDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
188562	return nil, false
188563}
188564
188565// AsSparkObjectDataset is the BasicDataset implementation for ZohoObjectDataset.
188566func (zod ZohoObjectDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
188567	return nil, false
188568}
188569
188570// AsShopifyObjectDataset is the BasicDataset implementation for ZohoObjectDataset.
188571func (zod ZohoObjectDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
188572	return nil, false
188573}
188574
188575// AsServiceNowObjectDataset is the BasicDataset implementation for ZohoObjectDataset.
188576func (zod ZohoObjectDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
188577	return nil, false
188578}
188579
188580// AsQuickBooksObjectDataset is the BasicDataset implementation for ZohoObjectDataset.
188581func (zod ZohoObjectDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
188582	return nil, false
188583}
188584
188585// AsPrestoObjectDataset is the BasicDataset implementation for ZohoObjectDataset.
188586func (zod ZohoObjectDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
188587	return nil, false
188588}
188589
188590// AsPhoenixObjectDataset is the BasicDataset implementation for ZohoObjectDataset.
188591func (zod ZohoObjectDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
188592	return nil, false
188593}
188594
188595// AsPaypalObjectDataset is the BasicDataset implementation for ZohoObjectDataset.
188596func (zod ZohoObjectDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
188597	return nil, false
188598}
188599
188600// AsMarketoObjectDataset is the BasicDataset implementation for ZohoObjectDataset.
188601func (zod ZohoObjectDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
188602	return nil, false
188603}
188604
188605// AsMariaDBTableDataset is the BasicDataset implementation for ZohoObjectDataset.
188606func (zod ZohoObjectDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
188607	return nil, false
188608}
188609
188610// AsMagentoObjectDataset is the BasicDataset implementation for ZohoObjectDataset.
188611func (zod ZohoObjectDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
188612	return nil, false
188613}
188614
188615// AsJiraObjectDataset is the BasicDataset implementation for ZohoObjectDataset.
188616func (zod ZohoObjectDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
188617	return nil, false
188618}
188619
188620// AsImpalaObjectDataset is the BasicDataset implementation for ZohoObjectDataset.
188621func (zod ZohoObjectDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
188622	return nil, false
188623}
188624
188625// AsHubspotObjectDataset is the BasicDataset implementation for ZohoObjectDataset.
188626func (zod ZohoObjectDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
188627	return nil, false
188628}
188629
188630// AsHiveObjectDataset is the BasicDataset implementation for ZohoObjectDataset.
188631func (zod ZohoObjectDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
188632	return nil, false
188633}
188634
188635// AsHBaseObjectDataset is the BasicDataset implementation for ZohoObjectDataset.
188636func (zod ZohoObjectDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
188637	return nil, false
188638}
188639
188640// AsGreenplumTableDataset is the BasicDataset implementation for ZohoObjectDataset.
188641func (zod ZohoObjectDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
188642	return nil, false
188643}
188644
188645// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for ZohoObjectDataset.
188646func (zod ZohoObjectDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
188647	return nil, false
188648}
188649
188650// AsEloquaObjectDataset is the BasicDataset implementation for ZohoObjectDataset.
188651func (zod ZohoObjectDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
188652	return nil, false
188653}
188654
188655// AsDrillTableDataset is the BasicDataset implementation for ZohoObjectDataset.
188656func (zod ZohoObjectDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
188657	return nil, false
188658}
188659
188660// AsCouchbaseTableDataset is the BasicDataset implementation for ZohoObjectDataset.
188661func (zod ZohoObjectDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
188662	return nil, false
188663}
188664
188665// AsConcurObjectDataset is the BasicDataset implementation for ZohoObjectDataset.
188666func (zod ZohoObjectDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
188667	return nil, false
188668}
188669
188670// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for ZohoObjectDataset.
188671func (zod ZohoObjectDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
188672	return nil, false
188673}
188674
188675// AsAmazonMWSObjectDataset is the BasicDataset implementation for ZohoObjectDataset.
188676func (zod ZohoObjectDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
188677	return nil, false
188678}
188679
188680// AsHTTPDataset is the BasicDataset implementation for ZohoObjectDataset.
188681func (zod ZohoObjectDataset) AsHTTPDataset() (*HTTPDataset, bool) {
188682	return nil, false
188683}
188684
188685// AsAzureSearchIndexDataset is the BasicDataset implementation for ZohoObjectDataset.
188686func (zod ZohoObjectDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
188687	return nil, false
188688}
188689
188690// AsWebTableDataset is the BasicDataset implementation for ZohoObjectDataset.
188691func (zod ZohoObjectDataset) AsWebTableDataset() (*WebTableDataset, bool) {
188692	return nil, false
188693}
188694
188695// AsSapTableResourceDataset is the BasicDataset implementation for ZohoObjectDataset.
188696func (zod ZohoObjectDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) {
188697	return nil, false
188698}
188699
188700// AsRestResourceDataset is the BasicDataset implementation for ZohoObjectDataset.
188701func (zod ZohoObjectDataset) AsRestResourceDataset() (*RestResourceDataset, bool) {
188702	return nil, false
188703}
188704
188705// AsSQLServerTableDataset is the BasicDataset implementation for ZohoObjectDataset.
188706func (zod ZohoObjectDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
188707	return nil, false
188708}
188709
188710// AsSapOpenHubTableDataset is the BasicDataset implementation for ZohoObjectDataset.
188711func (zod ZohoObjectDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) {
188712	return nil, false
188713}
188714
188715// AsSapHanaTableDataset is the BasicDataset implementation for ZohoObjectDataset.
188716func (zod ZohoObjectDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) {
188717	return nil, false
188718}
188719
188720// AsSapEccResourceDataset is the BasicDataset implementation for ZohoObjectDataset.
188721func (zod ZohoObjectDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
188722	return nil, false
188723}
188724
188725// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for ZohoObjectDataset.
188726func (zod ZohoObjectDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
188727	return nil, false
188728}
188729
188730// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for ZohoObjectDataset.
188731func (zod ZohoObjectDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) {
188732	return nil, false
188733}
188734
188735// AsSalesforceObjectDataset is the BasicDataset implementation for ZohoObjectDataset.
188736func (zod ZohoObjectDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
188737	return nil, false
188738}
188739
188740// AsMicrosoftAccessTableDataset is the BasicDataset implementation for ZohoObjectDataset.
188741func (zod ZohoObjectDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) {
188742	return nil, false
188743}
188744
188745// AsPostgreSQLTableDataset is the BasicDataset implementation for ZohoObjectDataset.
188746func (zod ZohoObjectDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) {
188747	return nil, false
188748}
188749
188750// AsMySQLTableDataset is the BasicDataset implementation for ZohoObjectDataset.
188751func (zod ZohoObjectDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) {
188752	return nil, false
188753}
188754
188755// AsOdbcTableDataset is the BasicDataset implementation for ZohoObjectDataset.
188756func (zod ZohoObjectDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) {
188757	return nil, false
188758}
188759
188760// AsInformixTableDataset is the BasicDataset implementation for ZohoObjectDataset.
188761func (zod ZohoObjectDataset) AsInformixTableDataset() (*InformixTableDataset, bool) {
188762	return nil, false
188763}
188764
188765// AsRelationalTableDataset is the BasicDataset implementation for ZohoObjectDataset.
188766func (zod ZohoObjectDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
188767	return nil, false
188768}
188769
188770// AsAzureMySQLTableDataset is the BasicDataset implementation for ZohoObjectDataset.
188771func (zod ZohoObjectDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
188772	return nil, false
188773}
188774
188775// AsTeradataTableDataset is the BasicDataset implementation for ZohoObjectDataset.
188776func (zod ZohoObjectDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) {
188777	return nil, false
188778}
188779
188780// AsOracleTableDataset is the BasicDataset implementation for ZohoObjectDataset.
188781func (zod ZohoObjectDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
188782	return nil, false
188783}
188784
188785// AsODataResourceDataset is the BasicDataset implementation for ZohoObjectDataset.
188786func (zod ZohoObjectDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
188787	return nil, false
188788}
188789
188790// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for ZohoObjectDataset.
188791func (zod ZohoObjectDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) {
188792	return nil, false
188793}
188794
188795// AsMongoDbV2CollectionDataset is the BasicDataset implementation for ZohoObjectDataset.
188796func (zod ZohoObjectDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) {
188797	return nil, false
188798}
188799
188800// AsMongoDbCollectionDataset is the BasicDataset implementation for ZohoObjectDataset.
188801func (zod ZohoObjectDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
188802	return nil, false
188803}
188804
188805// AsFileShareDataset is the BasicDataset implementation for ZohoObjectDataset.
188806func (zod ZohoObjectDataset) AsFileShareDataset() (*FileShareDataset, bool) {
188807	return nil, false
188808}
188809
188810// AsOffice365Dataset is the BasicDataset implementation for ZohoObjectDataset.
188811func (zod ZohoObjectDataset) AsOffice365Dataset() (*Office365Dataset, bool) {
188812	return nil, false
188813}
188814
188815// AsAzureBlobFSDataset is the BasicDataset implementation for ZohoObjectDataset.
188816func (zod ZohoObjectDataset) AsAzureBlobFSDataset() (*AzureBlobFSDataset, bool) {
188817	return nil, false
188818}
188819
188820// AsAzureDataLakeStoreDataset is the BasicDataset implementation for ZohoObjectDataset.
188821func (zod ZohoObjectDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) {
188822	return nil, false
188823}
188824
188825// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for ZohoObjectDataset.
188826func (zod ZohoObjectDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) {
188827	return nil, false
188828}
188829
188830// AsDynamicsCrmEntityDataset is the BasicDataset implementation for ZohoObjectDataset.
188831func (zod ZohoObjectDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) {
188832	return nil, false
188833}
188834
188835// AsDynamicsEntityDataset is the BasicDataset implementation for ZohoObjectDataset.
188836func (zod ZohoObjectDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
188837	return nil, false
188838}
188839
188840// AsDocumentDbCollectionDataset is the BasicDataset implementation for ZohoObjectDataset.
188841func (zod ZohoObjectDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
188842	return nil, false
188843}
188844
188845// AsCustomDataset is the BasicDataset implementation for ZohoObjectDataset.
188846func (zod ZohoObjectDataset) AsCustomDataset() (*CustomDataset, bool) {
188847	return nil, false
188848}
188849
188850// AsCassandraTableDataset is the BasicDataset implementation for ZohoObjectDataset.
188851func (zod ZohoObjectDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
188852	return nil, false
188853}
188854
188855// AsAzureSQLDWTableDataset is the BasicDataset implementation for ZohoObjectDataset.
188856func (zod ZohoObjectDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
188857	return nil, false
188858}
188859
188860// AsAzureSQLMITableDataset is the BasicDataset implementation for ZohoObjectDataset.
188861func (zod ZohoObjectDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) {
188862	return nil, false
188863}
188864
188865// AsAzureSQLTableDataset is the BasicDataset implementation for ZohoObjectDataset.
188866func (zod ZohoObjectDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
188867	return nil, false
188868}
188869
188870// AsAzureTableDataset is the BasicDataset implementation for ZohoObjectDataset.
188871func (zod ZohoObjectDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
188872	return nil, false
188873}
188874
188875// AsAzureBlobDataset is the BasicDataset implementation for ZohoObjectDataset.
188876func (zod ZohoObjectDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) {
188877	return nil, false
188878}
188879
188880// AsBinaryDataset is the BasicDataset implementation for ZohoObjectDataset.
188881func (zod ZohoObjectDataset) AsBinaryDataset() (*BinaryDataset, bool) {
188882	return nil, false
188883}
188884
188885// AsDelimitedTextDataset is the BasicDataset implementation for ZohoObjectDataset.
188886func (zod ZohoObjectDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) {
188887	return nil, false
188888}
188889
188890// AsParquetDataset is the BasicDataset implementation for ZohoObjectDataset.
188891func (zod ZohoObjectDataset) AsParquetDataset() (*ParquetDataset, bool) {
188892	return nil, false
188893}
188894
188895// AsAmazonS3Dataset is the BasicDataset implementation for ZohoObjectDataset.
188896func (zod ZohoObjectDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) {
188897	return nil, false
188898}
188899
188900// AsDataset is the BasicDataset implementation for ZohoObjectDataset.
188901func (zod ZohoObjectDataset) AsDataset() (*Dataset, bool) {
188902	return nil, false
188903}
188904
188905// AsBasicDataset is the BasicDataset implementation for ZohoObjectDataset.
188906func (zod ZohoObjectDataset) AsBasicDataset() (BasicDataset, bool) {
188907	return &zod, true
188908}
188909
188910// UnmarshalJSON is the custom unmarshaler for ZohoObjectDataset struct.
188911func (zod *ZohoObjectDataset) UnmarshalJSON(body []byte) error {
188912	var m map[string]*json.RawMessage
188913	err := json.Unmarshal(body, &m)
188914	if err != nil {
188915		return err
188916	}
188917	for k, v := range m {
188918		switch k {
188919		case "typeProperties":
188920			if v != nil {
188921				var genericDatasetTypeProperties GenericDatasetTypeProperties
188922				err = json.Unmarshal(*v, &genericDatasetTypeProperties)
188923				if err != nil {
188924					return err
188925				}
188926				zod.GenericDatasetTypeProperties = &genericDatasetTypeProperties
188927			}
188928		default:
188929			if v != nil {
188930				var additionalProperties interface{}
188931				err = json.Unmarshal(*v, &additionalProperties)
188932				if err != nil {
188933					return err
188934				}
188935				if zod.AdditionalProperties == nil {
188936					zod.AdditionalProperties = make(map[string]interface{})
188937				}
188938				zod.AdditionalProperties[k] = additionalProperties
188939			}
188940		case "description":
188941			if v != nil {
188942				var description string
188943				err = json.Unmarshal(*v, &description)
188944				if err != nil {
188945					return err
188946				}
188947				zod.Description = &description
188948			}
188949		case "structure":
188950			if v != nil {
188951				var structure interface{}
188952				err = json.Unmarshal(*v, &structure)
188953				if err != nil {
188954					return err
188955				}
188956				zod.Structure = structure
188957			}
188958		case "schema":
188959			if v != nil {
188960				var schema interface{}
188961				err = json.Unmarshal(*v, &schema)
188962				if err != nil {
188963					return err
188964				}
188965				zod.Schema = schema
188966			}
188967		case "linkedServiceName":
188968			if v != nil {
188969				var linkedServiceName LinkedServiceReference
188970				err = json.Unmarshal(*v, &linkedServiceName)
188971				if err != nil {
188972					return err
188973				}
188974				zod.LinkedServiceName = &linkedServiceName
188975			}
188976		case "parameters":
188977			if v != nil {
188978				var parameters map[string]*ParameterSpecification
188979				err = json.Unmarshal(*v, &parameters)
188980				if err != nil {
188981					return err
188982				}
188983				zod.Parameters = parameters
188984			}
188985		case "annotations":
188986			if v != nil {
188987				var annotations []interface{}
188988				err = json.Unmarshal(*v, &annotations)
188989				if err != nil {
188990					return err
188991				}
188992				zod.Annotations = &annotations
188993			}
188994		case "folder":
188995			if v != nil {
188996				var folder DatasetFolder
188997				err = json.Unmarshal(*v, &folder)
188998				if err != nil {
188999					return err
189000				}
189001				zod.Folder = &folder
189002			}
189003		case "type":
189004			if v != nil {
189005				var typeVar TypeBasicDataset
189006				err = json.Unmarshal(*v, &typeVar)
189007				if err != nil {
189008					return err
189009				}
189010				zod.Type = typeVar
189011			}
189012		}
189013	}
189014
189015	return nil
189016}
189017
189018// ZohoSource a copy activity Zoho server source.
189019type ZohoSource struct {
189020	// Query - A query to retrieve data from source. Type: string (or Expression with resultType string).
189021	Query interface{} `json:"query,omitempty"`
189022	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
189023	AdditionalProperties map[string]interface{} `json:""`
189024	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
189025	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
189026	// 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])).
189027	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
189028	// MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer).
189029	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
189030	// Type - Possible values include: 'TypeCopySource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', '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', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeCassandraSource', 'TypeWebSource', 'TypeTeradataSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeAzureMySQLSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeRestSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceServiceCloudSource', 'TypeSalesforceSource', 'TypeODataSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeMicrosoftAccessSource', 'TypeInformixSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAzureTableSource', 'TypeBinarySource', 'TypeDelimitedTextSource', 'TypeParquetSource'
189031	Type TypeBasicCopySource `json:"type,omitempty"`
189032}
189033
189034// MarshalJSON is the custom marshaler for ZohoSource.
189035func (zs ZohoSource) MarshalJSON() ([]byte, error) {
189036	zs.Type = TypeZohoSource
189037	objectMap := make(map[string]interface{})
189038	if zs.Query != nil {
189039		objectMap["query"] = zs.Query
189040	}
189041	if zs.SourceRetryCount != nil {
189042		objectMap["sourceRetryCount"] = zs.SourceRetryCount
189043	}
189044	if zs.SourceRetryWait != nil {
189045		objectMap["sourceRetryWait"] = zs.SourceRetryWait
189046	}
189047	if zs.MaxConcurrentConnections != nil {
189048		objectMap["maxConcurrentConnections"] = zs.MaxConcurrentConnections
189049	}
189050	if zs.Type != "" {
189051		objectMap["type"] = zs.Type
189052	}
189053	for k, v := range zs.AdditionalProperties {
189054		objectMap[k] = v
189055	}
189056	return json.Marshal(objectMap)
189057}
189058
189059// AsAmazonRedshiftSource is the BasicCopySource implementation for ZohoSource.
189060func (zs ZohoSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
189061	return nil, false
189062}
189063
189064// AsGoogleAdWordsSource is the BasicCopySource implementation for ZohoSource.
189065func (zs ZohoSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) {
189066	return nil, false
189067}
189068
189069// AsOracleServiceCloudSource is the BasicCopySource implementation for ZohoSource.
189070func (zs ZohoSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) {
189071	return nil, false
189072}
189073
189074// AsDynamicsAXSource is the BasicCopySource implementation for ZohoSource.
189075func (zs ZohoSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) {
189076	return nil, false
189077}
189078
189079// AsResponsysSource is the BasicCopySource implementation for ZohoSource.
189080func (zs ZohoSource) AsResponsysSource() (*ResponsysSource, bool) {
189081	return nil, false
189082}
189083
189084// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for ZohoSource.
189085func (zs ZohoSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
189086	return nil, false
189087}
189088
189089// AsVerticaSource is the BasicCopySource implementation for ZohoSource.
189090func (zs ZohoSource) AsVerticaSource() (*VerticaSource, bool) {
189091	return nil, false
189092}
189093
189094// AsNetezzaSource is the BasicCopySource implementation for ZohoSource.
189095func (zs ZohoSource) AsNetezzaSource() (*NetezzaSource, bool) {
189096	return nil, false
189097}
189098
189099// AsZohoSource is the BasicCopySource implementation for ZohoSource.
189100func (zs ZohoSource) AsZohoSource() (*ZohoSource, bool) {
189101	return &zs, true
189102}
189103
189104// AsXeroSource is the BasicCopySource implementation for ZohoSource.
189105func (zs ZohoSource) AsXeroSource() (*XeroSource, bool) {
189106	return nil, false
189107}
189108
189109// AsSquareSource is the BasicCopySource implementation for ZohoSource.
189110func (zs ZohoSource) AsSquareSource() (*SquareSource, bool) {
189111	return nil, false
189112}
189113
189114// AsSparkSource is the BasicCopySource implementation for ZohoSource.
189115func (zs ZohoSource) AsSparkSource() (*SparkSource, bool) {
189116	return nil, false
189117}
189118
189119// AsShopifySource is the BasicCopySource implementation for ZohoSource.
189120func (zs ZohoSource) AsShopifySource() (*ShopifySource, bool) {
189121	return nil, false
189122}
189123
189124// AsServiceNowSource is the BasicCopySource implementation for ZohoSource.
189125func (zs ZohoSource) AsServiceNowSource() (*ServiceNowSource, bool) {
189126	return nil, false
189127}
189128
189129// AsQuickBooksSource is the BasicCopySource implementation for ZohoSource.
189130func (zs ZohoSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
189131	return nil, false
189132}
189133
189134// AsPrestoSource is the BasicCopySource implementation for ZohoSource.
189135func (zs ZohoSource) AsPrestoSource() (*PrestoSource, bool) {
189136	return nil, false
189137}
189138
189139// AsPhoenixSource is the BasicCopySource implementation for ZohoSource.
189140func (zs ZohoSource) AsPhoenixSource() (*PhoenixSource, bool) {
189141	return nil, false
189142}
189143
189144// AsPaypalSource is the BasicCopySource implementation for ZohoSource.
189145func (zs ZohoSource) AsPaypalSource() (*PaypalSource, bool) {
189146	return nil, false
189147}
189148
189149// AsMarketoSource is the BasicCopySource implementation for ZohoSource.
189150func (zs ZohoSource) AsMarketoSource() (*MarketoSource, bool) {
189151	return nil, false
189152}
189153
189154// AsMariaDBSource is the BasicCopySource implementation for ZohoSource.
189155func (zs ZohoSource) AsMariaDBSource() (*MariaDBSource, bool) {
189156	return nil, false
189157}
189158
189159// AsMagentoSource is the BasicCopySource implementation for ZohoSource.
189160func (zs ZohoSource) AsMagentoSource() (*MagentoSource, bool) {
189161	return nil, false
189162}
189163
189164// AsJiraSource is the BasicCopySource implementation for ZohoSource.
189165func (zs ZohoSource) AsJiraSource() (*JiraSource, bool) {
189166	return nil, false
189167}
189168
189169// AsImpalaSource is the BasicCopySource implementation for ZohoSource.
189170func (zs ZohoSource) AsImpalaSource() (*ImpalaSource, bool) {
189171	return nil, false
189172}
189173
189174// AsHubspotSource is the BasicCopySource implementation for ZohoSource.
189175func (zs ZohoSource) AsHubspotSource() (*HubspotSource, bool) {
189176	return nil, false
189177}
189178
189179// AsHiveSource is the BasicCopySource implementation for ZohoSource.
189180func (zs ZohoSource) AsHiveSource() (*HiveSource, bool) {
189181	return nil, false
189182}
189183
189184// AsHBaseSource is the BasicCopySource implementation for ZohoSource.
189185func (zs ZohoSource) AsHBaseSource() (*HBaseSource, bool) {
189186	return nil, false
189187}
189188
189189// AsGreenplumSource is the BasicCopySource implementation for ZohoSource.
189190func (zs ZohoSource) AsGreenplumSource() (*GreenplumSource, bool) {
189191	return nil, false
189192}
189193
189194// AsGoogleBigQuerySource is the BasicCopySource implementation for ZohoSource.
189195func (zs ZohoSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
189196	return nil, false
189197}
189198
189199// AsEloquaSource is the BasicCopySource implementation for ZohoSource.
189200func (zs ZohoSource) AsEloquaSource() (*EloquaSource, bool) {
189201	return nil, false
189202}
189203
189204// AsDrillSource is the BasicCopySource implementation for ZohoSource.
189205func (zs ZohoSource) AsDrillSource() (*DrillSource, bool) {
189206	return nil, false
189207}
189208
189209// AsCouchbaseSource is the BasicCopySource implementation for ZohoSource.
189210func (zs ZohoSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
189211	return nil, false
189212}
189213
189214// AsConcurSource is the BasicCopySource implementation for ZohoSource.
189215func (zs ZohoSource) AsConcurSource() (*ConcurSource, bool) {
189216	return nil, false
189217}
189218
189219// AsAzurePostgreSQLSource is the BasicCopySource implementation for ZohoSource.
189220func (zs ZohoSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
189221	return nil, false
189222}
189223
189224// AsAmazonMWSSource is the BasicCopySource implementation for ZohoSource.
189225func (zs ZohoSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
189226	return nil, false
189227}
189228
189229// AsHTTPSource is the BasicCopySource implementation for ZohoSource.
189230func (zs ZohoSource) AsHTTPSource() (*HTTPSource, bool) {
189231	return nil, false
189232}
189233
189234// AsAzureBlobFSSource is the BasicCopySource implementation for ZohoSource.
189235func (zs ZohoSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) {
189236	return nil, false
189237}
189238
189239// AsAzureDataLakeStoreSource is the BasicCopySource implementation for ZohoSource.
189240func (zs ZohoSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
189241	return nil, false
189242}
189243
189244// AsOffice365Source is the BasicCopySource implementation for ZohoSource.
189245func (zs ZohoSource) AsOffice365Source() (*Office365Source, bool) {
189246	return nil, false
189247}
189248
189249// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for ZohoSource.
189250func (zs ZohoSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) {
189251	return nil, false
189252}
189253
189254// AsMongoDbV2Source is the BasicCopySource implementation for ZohoSource.
189255func (zs ZohoSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) {
189256	return nil, false
189257}
189258
189259// AsMongoDbSource is the BasicCopySource implementation for ZohoSource.
189260func (zs ZohoSource) AsMongoDbSource() (*MongoDbSource, bool) {
189261	return nil, false
189262}
189263
189264// AsCassandraSource is the BasicCopySource implementation for ZohoSource.
189265func (zs ZohoSource) AsCassandraSource() (*CassandraSource, bool) {
189266	return nil, false
189267}
189268
189269// AsWebSource is the BasicCopySource implementation for ZohoSource.
189270func (zs ZohoSource) AsWebSource() (*WebSource, bool) {
189271	return nil, false
189272}
189273
189274// AsTeradataSource is the BasicCopySource implementation for ZohoSource.
189275func (zs ZohoSource) AsTeradataSource() (*TeradataSource, bool) {
189276	return nil, false
189277}
189278
189279// AsOracleSource is the BasicCopySource implementation for ZohoSource.
189280func (zs ZohoSource) AsOracleSource() (*OracleSource, bool) {
189281	return nil, false
189282}
189283
189284// AsAzureDataExplorerSource is the BasicCopySource implementation for ZohoSource.
189285func (zs ZohoSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) {
189286	return nil, false
189287}
189288
189289// AsAzureMySQLSource is the BasicCopySource implementation for ZohoSource.
189290func (zs ZohoSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
189291	return nil, false
189292}
189293
189294// AsHdfsSource is the BasicCopySource implementation for ZohoSource.
189295func (zs ZohoSource) AsHdfsSource() (*HdfsSource, bool) {
189296	return nil, false
189297}
189298
189299// AsFileSystemSource is the BasicCopySource implementation for ZohoSource.
189300func (zs ZohoSource) AsFileSystemSource() (*FileSystemSource, bool) {
189301	return nil, false
189302}
189303
189304// AsSQLDWSource is the BasicCopySource implementation for ZohoSource.
189305func (zs ZohoSource) AsSQLDWSource() (*SQLDWSource, bool) {
189306	return nil, false
189307}
189308
189309// AsSQLMISource is the BasicCopySource implementation for ZohoSource.
189310func (zs ZohoSource) AsSQLMISource() (*SQLMISource, bool) {
189311	return nil, false
189312}
189313
189314// AsAzureSQLSource is the BasicCopySource implementation for ZohoSource.
189315func (zs ZohoSource) AsAzureSQLSource() (*AzureSQLSource, bool) {
189316	return nil, false
189317}
189318
189319// AsSQLServerSource is the BasicCopySource implementation for ZohoSource.
189320func (zs ZohoSource) AsSQLServerSource() (*SQLServerSource, bool) {
189321	return nil, false
189322}
189323
189324// AsSQLSource is the BasicCopySource implementation for ZohoSource.
189325func (zs ZohoSource) AsSQLSource() (*SQLSource, bool) {
189326	return nil, false
189327}
189328
189329// AsRestSource is the BasicCopySource implementation for ZohoSource.
189330func (zs ZohoSource) AsRestSource() (*RestSource, bool) {
189331	return nil, false
189332}
189333
189334// AsSapTableSource is the BasicCopySource implementation for ZohoSource.
189335func (zs ZohoSource) AsSapTableSource() (*SapTableSource, bool) {
189336	return nil, false
189337}
189338
189339// AsSapOpenHubSource is the BasicCopySource implementation for ZohoSource.
189340func (zs ZohoSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) {
189341	return nil, false
189342}
189343
189344// AsSapHanaSource is the BasicCopySource implementation for ZohoSource.
189345func (zs ZohoSource) AsSapHanaSource() (*SapHanaSource, bool) {
189346	return nil, false
189347}
189348
189349// AsSapEccSource is the BasicCopySource implementation for ZohoSource.
189350func (zs ZohoSource) AsSapEccSource() (*SapEccSource, bool) {
189351	return nil, false
189352}
189353
189354// AsSapCloudForCustomerSource is the BasicCopySource implementation for ZohoSource.
189355func (zs ZohoSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
189356	return nil, false
189357}
189358
189359// AsSalesforceServiceCloudSource is the BasicCopySource implementation for ZohoSource.
189360func (zs ZohoSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) {
189361	return nil, false
189362}
189363
189364// AsSalesforceSource is the BasicCopySource implementation for ZohoSource.
189365func (zs ZohoSource) AsSalesforceSource() (*SalesforceSource, bool) {
189366	return nil, false
189367}
189368
189369// AsODataSource is the BasicCopySource implementation for ZohoSource.
189370func (zs ZohoSource) AsODataSource() (*ODataSource, bool) {
189371	return nil, false
189372}
189373
189374// AsSybaseSource is the BasicCopySource implementation for ZohoSource.
189375func (zs ZohoSource) AsSybaseSource() (*SybaseSource, bool) {
189376	return nil, false
189377}
189378
189379// AsPostgreSQLSource is the BasicCopySource implementation for ZohoSource.
189380func (zs ZohoSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) {
189381	return nil, false
189382}
189383
189384// AsMySQLSource is the BasicCopySource implementation for ZohoSource.
189385func (zs ZohoSource) AsMySQLSource() (*MySQLSource, bool) {
189386	return nil, false
189387}
189388
189389// AsOdbcSource is the BasicCopySource implementation for ZohoSource.
189390func (zs ZohoSource) AsOdbcSource() (*OdbcSource, bool) {
189391	return nil, false
189392}
189393
189394// AsDb2Source is the BasicCopySource implementation for ZohoSource.
189395func (zs ZohoSource) AsDb2Source() (*Db2Source, bool) {
189396	return nil, false
189397}
189398
189399// AsMicrosoftAccessSource is the BasicCopySource implementation for ZohoSource.
189400func (zs ZohoSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) {
189401	return nil, false
189402}
189403
189404// AsInformixSource is the BasicCopySource implementation for ZohoSource.
189405func (zs ZohoSource) AsInformixSource() (*InformixSource, bool) {
189406	return nil, false
189407}
189408
189409// AsRelationalSource is the BasicCopySource implementation for ZohoSource.
189410func (zs ZohoSource) AsRelationalSource() (*RelationalSource, bool) {
189411	return nil, false
189412}
189413
189414// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for ZohoSource.
189415func (zs ZohoSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) {
189416	return nil, false
189417}
189418
189419// AsDynamicsCrmSource is the BasicCopySource implementation for ZohoSource.
189420func (zs ZohoSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) {
189421	return nil, false
189422}
189423
189424// AsDynamicsSource is the BasicCopySource implementation for ZohoSource.
189425func (zs ZohoSource) AsDynamicsSource() (*DynamicsSource, bool) {
189426	return nil, false
189427}
189428
189429// AsDocumentDbCollectionSource is the BasicCopySource implementation for ZohoSource.
189430func (zs ZohoSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
189431	return nil, false
189432}
189433
189434// AsBlobSource is the BasicCopySource implementation for ZohoSource.
189435func (zs ZohoSource) AsBlobSource() (*BlobSource, bool) {
189436	return nil, false
189437}
189438
189439// AsAzureTableSource is the BasicCopySource implementation for ZohoSource.
189440func (zs ZohoSource) AsAzureTableSource() (*AzureTableSource, bool) {
189441	return nil, false
189442}
189443
189444// AsBinarySource is the BasicCopySource implementation for ZohoSource.
189445func (zs ZohoSource) AsBinarySource() (*BinarySource, bool) {
189446	return nil, false
189447}
189448
189449// AsDelimitedTextSource is the BasicCopySource implementation for ZohoSource.
189450func (zs ZohoSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) {
189451	return nil, false
189452}
189453
189454// AsParquetSource is the BasicCopySource implementation for ZohoSource.
189455func (zs ZohoSource) AsParquetSource() (*ParquetSource, bool) {
189456	return nil, false
189457}
189458
189459// AsCopySource is the BasicCopySource implementation for ZohoSource.
189460func (zs ZohoSource) AsCopySource() (*CopySource, bool) {
189461	return nil, false
189462}
189463
189464// AsBasicCopySource is the BasicCopySource implementation for ZohoSource.
189465func (zs ZohoSource) AsBasicCopySource() (BasicCopySource, bool) {
189466	return &zs, true
189467}
189468
189469// UnmarshalJSON is the custom unmarshaler for ZohoSource struct.
189470func (zs *ZohoSource) UnmarshalJSON(body []byte) error {
189471	var m map[string]*json.RawMessage
189472	err := json.Unmarshal(body, &m)
189473	if err != nil {
189474		return err
189475	}
189476	for k, v := range m {
189477		switch k {
189478		case "query":
189479			if v != nil {
189480				var query interface{}
189481				err = json.Unmarshal(*v, &query)
189482				if err != nil {
189483					return err
189484				}
189485				zs.Query = query
189486			}
189487		default:
189488			if v != nil {
189489				var additionalProperties interface{}
189490				err = json.Unmarshal(*v, &additionalProperties)
189491				if err != nil {
189492					return err
189493				}
189494				if zs.AdditionalProperties == nil {
189495					zs.AdditionalProperties = make(map[string]interface{})
189496				}
189497				zs.AdditionalProperties[k] = additionalProperties
189498			}
189499		case "sourceRetryCount":
189500			if v != nil {
189501				var sourceRetryCount interface{}
189502				err = json.Unmarshal(*v, &sourceRetryCount)
189503				if err != nil {
189504					return err
189505				}
189506				zs.SourceRetryCount = sourceRetryCount
189507			}
189508		case "sourceRetryWait":
189509			if v != nil {
189510				var sourceRetryWait interface{}
189511				err = json.Unmarshal(*v, &sourceRetryWait)
189512				if err != nil {
189513					return err
189514				}
189515				zs.SourceRetryWait = sourceRetryWait
189516			}
189517		case "maxConcurrentConnections":
189518			if v != nil {
189519				var maxConcurrentConnections interface{}
189520				err = json.Unmarshal(*v, &maxConcurrentConnections)
189521				if err != nil {
189522					return err
189523				}
189524				zs.MaxConcurrentConnections = maxConcurrentConnections
189525			}
189526		case "type":
189527			if v != nil {
189528				var typeVar TypeBasicCopySource
189529				err = json.Unmarshal(*v, &typeVar)
189530				if err != nil {
189531					return err
189532				}
189533				zs.Type = typeVar
189534			}
189535		}
189536	}
189537
189538	return nil
189539}
189540